/*
 * File upload (JS progressive enhancement)
 *
 * Credits technique: http://www.quirksmode.org/dom/inputfile.html
 *
 */
/*
 * Vortex - Base
 *
 */
/* 
 * Mixins 
 *
 * Commonly used patterns (DRY)
 *
 * Don't overdo it, and generally not for single properties;
 * e.g. "@include floatLeft" causes more text than "float: left",
 * take some time to compile and is not a (good) pattern.
 *
 * Exception for long common properties configurations like e.g.
 * "@include bg(url)" (transparent background image no-repeat top left).
 *
 */
/* App dimensions */
/* App colors */
/* color: #0b5a9d; */
/* Forms */
:root, :host {
  --vrtx-link-color: #005aab;
  --vrtx-z-default: 900;
  --vrtx-z-modal: 910;
  --vrtx-z-menu-dropdown: var(--vrtx-z-default);
  --vrtx-z-editor-menu-sticky: var(--vrtx-z-default);
  --vrtx-z-alert-dialog: 12000;
  --vrtx-z-html-editor: 1000;
  --vrtx-z-html-editor-dialog: 1010;
  --ck-z-default: var(--vrtx-z-html-editor);
}

/* Upload form */
#file-upload-container {
  position: relative;
  z-index: 999;
}
#file-upload-container .vrtx-textfield {
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  z-index: 1;
}
#file-upload-container input#fake-file {
  position: absolute;
  top: 0;
  right: 0;
  width: 295px;
  z-index: 1;
}
#file-upload-container a.vrtx-file-upload {
  position: absolute;
  top: 0;
  left: 330px;
  z-index: 1;
}

#autopublish-container {
  margin-top: 10px;
}

.js #file-upload-container input#file {
  z-index: 999;
  position: relative;
  left: 328px;
  background: none;
  width: 87px;
  height: 27px;
  cursor: pointer !important;
  /* Transparent */
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)" !important;
}

/* Upload dialog */
#dialog-uploading-bar {
  background-color: #459CE5;
  margin-top: -13px;
  position: relative;
  z-index: 1;
  width: 0;
  height: 13px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}

#dialog-uploading-percent {
  margin-top: 10px;
  margin-bottom: -15px;
  color: #2b2b2b;
  text-align: center;
  font-size: 1.231em;
  position: relative;
}

#dialog-uploading-bytes {
  margin-top: 15px;
  margin-bottom: 0px;
  color: #777;
  text-align: center;
  font-size: 0.8em;
  position: relative;
}

#dialog-uploading-abort {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #005aab;
  font-weight: bold;
  font-size: 0.813em;
  display: none;
}

.ui-dialog:hover #dialog-uploading-abort,
.ui-dialog #dialog-uploading-abort.tab-visible {
  display: inline;
}

/* The only way (it seems) to set cursor:pointer for file upload button in Webkit
 * http://chipsandtv.com/articles/styling-upload-elements
 * http://stackoverflow.com/questions/7554845/the-cursorpointer-property-doesnt-apply-to-file-upload-buttons-in-webkit-browse
 */
::-webkit-file-upload-button {
  cursor: pointer;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVwbG9hZC5zY3NzIiwiX2Jhc2Uuc2NzcyIsIl9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FET0E7QUFVQTtBQUlxQjtBQW1CckI7QUFvQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDVERjtBQUVBO0VBQ0U7RUFDQTs7QUFFQTtFRThCQTtFQUNBLEtBRmtCO0VBR2xCLE1BSDRCO0VGM0IxQjtFQUNBOztBQUVGO0VFOEJBO0VBQ0EsS0FGdUI7RUFHdkIsT0FIa0M7RUYzQmhDO0VBQ0E7O0FBRUY7RUVvQkE7RUFDQSxLRnBCa0I7RUVxQmxCLE1GckJxQjtFQUNuQjs7O0FBSUo7RUFDSTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFRUNBO0VBQ0EsUUZEa0I7RUFDbEI7QUFFQTtFQUNBO0VBQ0E7OztBQUdGO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFRWRBLE9GZVk7RUVkWixRRmNlO0VFZWYsdUJGZHNCO0VFZXRCLG9CRmZzQjtFRWdCdEIsZUZoQnNCOzs7QUFHeEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFRWpCRTtFQUNBLFFBRmdDO0VBR2hDLE9BSDJDO0VGb0IzQyxPQzFEVTtFRDJEVjtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEZpbGUgdXBsb2FkIChKUyBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudClcbiAqXG4gKiBDcmVkaXRzIHRlY2huaXF1ZTogaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9kb20vaW5wdXRmaWxlLmh0bWxcbiAqXG4gKi9cblxuQGltcG9ydCBcImJhc2VcIjtcblxuLyogVXBsb2FkIGZvcm0gKi9cblxuI2ZpbGUtdXBsb2FkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuXG4gIC52cnR4LXRleHRmaWVsZCB7XG4gICAgQGluY2x1ZGUgcG9zQWJzO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIGlucHV0I2Zha2UtZmlsZSB7XG4gICAgQGluY2x1ZGUgcG9zQWJzUmlnaHQ7XG4gICAgd2lkdGg6IDI5NXB4O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgYS52cnR4LWZpbGUtdXBsb2FkIHtcbiAgICBAaW5jbHVkZSBwb3NBYnMoMCwgMzMwcHgpO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuI2F1dG9wdWJsaXNoLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmpzICNmaWxlLXVwbG9hZC1jb250YWluZXIgaW5wdXQjZmlsZSB7XG4gIHotaW5kZXg6IDk5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMjhweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgQGluY2x1ZGUgd2goODdweCwgMjdweCk7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuXG4gIC8qIFRyYW5zcGFyZW50ICovXG4gIG9wYWNpdHk6IDA7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIiAhaW1wb3J0YW50O1xufVxuXG4vKiBVcGxvYWQgZGlhbG9nICovXG5cbiNkaWFsb2ctdXBsb2FkaW5nLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NTlDRTU7XG4gIG1hcmdpbi10b3A6IC0xM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIEBpbmNsdWRlIHdoKDAsIDEzcHgpO1xuICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMnB4KTtcbn1cblxuI2RpYWxvZy11cGxvYWRpbmctcGVyY2VudCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IC0xNXB4O1xuICBjb2xvcjogIzJiMmIyYjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMjMxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2RpYWxvZy11cGxvYWRpbmctYnl0ZXMge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIGNvbG9yOiAjNzc3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2RpYWxvZy11cGxvYWRpbmctYWJvcnQge1xuICBAaW5jbHVkZSBwb3NBYnNCb3R0b21SaWdodDtcbiAgY29sb3I6ICRsaW5rQ29sb3I7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuODEzZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51aS1kaWFsb2c6aG92ZXIgI2RpYWxvZy11cGxvYWRpbmctYWJvcnQsXG4udWktZGlhbG9nICNkaWFsb2ctdXBsb2FkaW5nLWFib3J0LnRhYi12aXNpYmxlIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4vKiBUaGUgb25seSB3YXkgKGl0IHNlZW1zKSB0byBzZXQgY3Vyc29yOnBvaW50ZXIgZm9yIGZpbGUgdXBsb2FkIGJ1dHRvbiBpbiBXZWJraXRcbiAqIGh0dHA6Ly9jaGlwc2FuZHR2LmNvbS9hcnRpY2xlcy9zdHlsaW5nLXVwbG9hZC1lbGVtZW50c1xuICogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy83NTU0ODQ1L3RoZS1jdXJzb3Jwb2ludGVyLXByb3BlcnR5LWRvZXNudC1hcHBseS10by1maWxlLXVwbG9hZC1idXR0b25zLWluLXdlYmtpdC1icm93c2VcbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8qXG4gKiBWb3J0ZXggLSBCYXNlXG4gKlxuICovXG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLyogQXBwIGRpbWVuc2lvbnMgKi9cblxuJGFwcE1pbldpZHRoOiAxMTUwcHg7XG4kYXBwV2lkdGg6IDk3MHB4O1xuJGZsdWlkTWluV2lkdGg6IDExNTBweDtcbiRmbHVpZE1heFdpZHRoOiAxMjAwcHg7XG4kZmx1aWRQYWRkaW5nOiA1MHB4O1xuJGZsdWlkR2xvYmFsTWVudVJpZ2h0QWRqdXN0OiA1cHg7XG4kZmlsZUJyb3dzZXJNaW5XaWR0aDogNTAwcHg7XG5cbi8qIEFwcCBjb2xvcnMgKi9cblxuJGJhc2VGb250OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuJHRleHRDb2xvcjogIzM2MzUzNDtcbiRsaW5rQ29sb3I6ICMwMDVhYWI7IC8qIGNvbG9yOiAjMGI1YTlkOyAqL1xuJHRpdGxlQ29udGFpbmVyVGV4dENvbG9yOiAjMzYzNTM0O1xuJHRpdGxlVW5wdWJsaXNoZWRDb2xvcjogIzg4ODtcblxuJGJvZHlCYWNrZ3JvdW5kQ29sb3I6ICNmOGY4Zjg7XG4kbGluZVRvcEJhY2tncm91bmRDb2xvcjogIzAwMDtcbiRoZWFkRm9vdGVyQmFja2dyb3VuZENvbG9yOiAjZmZmO1xuXG4kYnJlYWRjcnVtYlRhYkhvdmVyU3lzdGVtVGFiTWVzc2FnZUJhY2tncm91bmRDb2xvcjogIzE5N0JCNztcbiR0YWJNZXNzYWdlTGlua0NvbG9yOiAjODhkZmVkO1xuJHN5c3RlbU1lc3NhZ2VCYWNrZ3JvdW5kQ29sb3I6ICMxOTdiYjc7XG4kdGFic0JvcmRlckNvbG9yOiAjZDhkOGQ4O1xuXG4kY29udGVudEJhY2tncm91bmRDb2xvcjogI2ZmZjtcbiRjb250ZW50VGFibGVzRXZlbkJhY2tncm91bmRDb2xvcjogI2Y5ZjlmOTtcbiRsaXN0aW5nRHJvcGRvd25UaXBGb2N1c0JhY2tncm91bmRDb2xvcjogI2QwZWJmZjtcbiRwdWJsaXNoZWRBbGxvd2VkVGV4dENvbG9yOiAjNTQ5NDAxO1xuJGVycm9yUmVzdHJpY3RlZFRleHRDb2xvcjogI2M1MDAwMDtcblxuLyogRm9ybXMgKi9cblxuJGJ1dHRvblRleHRDb2xvcjogIzAwMDtcbiRidXR0b25CYWNrZ3JvdW5kQ29sb3I6ICNlN2U3ZTc7XG4kYnV0dG9uQm9yZGVyQ29sb3I6ICNjYmNiY2I7XG4kYnV0dG9uRm9jdXNIb3ZlclRleHRDb2xvcjogI2ZmZjtcbiRidXR0b25Gb2N1c0JhY2tncm91bmRDb2xvcjogIzE5N0JCNztcbiRidXR0b25Ib3ZlckJhY2tncm91bmRDb2xvcjogIzE5N0JCNztcblxuJHRleHRhcmVhSW5wdXRCYWNrZ3JvdW5kQ29sb3I6ICNmZmY7XG4kdGV4dGFyZWFJbnB1dEJvcmRlckNvbG9yOiAjOTE5MTkxO1xuXG4kZXhwYW5kZWRGb3JtQmFja2dyb3VuZENvbG9yOiAjZThlOGU4O1xuJGV4cGFuZGVkRm9ybUJvcmRlckNvbG9yOiAjZDlkOWQ5O1xuJGJ1dHRvbkV4cGFuZGVkRm9ybUJhY2tncm91bmRDb2xvcjogI2Y3ZjdmNztcblxuJGRpc2FibGVkVGV4dENvbG9yOiAjODg4O1xuJGRpc2FibGVkQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjZWZlZmVmO1xuJGRpc2FibGVkQm9yZGVyQ29sb3I6ICNjY2M7XG5cbjpyb290LCA6aG9zdCB7XG4gIC0tdnJ0eC1saW5rLWNvbG9yOiAjeyRsaW5rQ29sb3J9O1xuICAtLXZydHgtei1kZWZhdWx0OiA5MDA7XG4gIC0tdnJ0eC16LW1vZGFsOiA5MTA7XG4gIC0tdnJ0eC16LW1lbnUtZHJvcGRvd246IHZhcigtLXZydHgtei1kZWZhdWx0KTtcbiAgLS12cnR4LXotZWRpdG9yLW1lbnUtc3RpY2t5OiB2YXIoLS12cnR4LXotZGVmYXVsdCk7XG4gIC0tdnJ0eC16LWFsZXJ0LWRpYWxvZzogMTIwMDA7XG4gIC0tdnJ0eC16LWh0bWwtZWRpdG9yOiAxMDAwO1xuICAtLXZydHgtei1odG1sLWVkaXRvci1kaWFsb2c6IDEwMTA7XG4gIC0tY2stei1kZWZhdWx0OiB2YXIoLS12cnR4LXotaHRtbC1lZGl0b3IpO1xufVxuIiwiLyogXG4gKiBNaXhpbnMgXG4gKlxuICogQ29tbW9ubHkgdXNlZCBwYXR0ZXJucyAoRFJZKVxuICpcbiAqIERvbid0IG92ZXJkbyBpdCwgYW5kIGdlbmVyYWxseSBub3QgZm9yIHNpbmdsZSBwcm9wZXJ0aWVzO1xuICogZS5nLiBcIkBpbmNsdWRlIGZsb2F0TGVmdFwiIGNhdXNlcyBtb3JlIHRleHQgdGhhbiBcImZsb2F0OiBsZWZ0XCIsXG4gKiB0YWtlIHNvbWUgdGltZSB0byBjb21waWxlIGFuZCBpcyBub3QgYSAoZ29vZCkgcGF0dGVybi5cbiAqXG4gKiBFeGNlcHRpb24gZm9yIGxvbmcgY29tbW9uIHByb3BlcnRpZXMgY29uZmlndXJhdGlvbnMgbGlrZSBlLmcuXG4gKiBcIkBpbmNsdWRlIGJnKHVybClcIiAodHJhbnNwYXJlbnQgYmFja2dyb3VuZCBpbWFnZSBuby1yZXBlYXQgdG9wIGxlZnQpLlxuICpcbiAqL1xuXG5AbWl4aW4gYXBwSGVhZExpbmUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSB3aCgkYXBwV2lkdGgsIDM0cHgpO1xufVxuXG5AbWl4aW4gcmVzZXRGb250IHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDsgXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuQG1peGluIG5vTWFyZ1BhZGQge1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xufVxuQG1peGluIGZsb2F0QmxvY2sge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWl4aW4gZmxvYXRDbGVhckZpeCB7XG4gIGNsZWFyOiBsZWZ0O1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWl4aW4gd2goJHdpZHRoOiAwLCAkaGVpZ2h0OiAwKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuQG1peGluIHBvc0FicygkdG9wOiAwLCAkbGVmdDogMCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHRvcDtcbiAgbGVmdDogJGxlZnQ7XG59XG5AbWl4aW4gcG9zQWJzUmlnaHQoJHRvcDogMCwgJHJpZ2h0OiAwKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkdG9wO1xuICByaWdodDogJHJpZ2h0O1xufVxuQG1peGluIHBvc0Fic0JvdHRvbSgkYm90dG9tOiAwLCAkbGVmdDogMCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogJGJvdHRvbTtcbiAgbGVmdDogJGxlZnQ7XG59XG5AbWl4aW4gcG9zQWJzQm90dG9tUmlnaHQoJGJvdHRvbTogMCwgJHJpZ2h0OiAwKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAkYm90dG9tO1xuICByaWdodDogJHJpZ2h0O1xufVxuXG5AbWl4aW4gYmcoJHVybCwgJGltcDogZmFsc2UpIHtcbiAgQGlmICRpbXAgPT0gZmFsc2UgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJHVybCkgbm8tcmVwZWF0IDAgMDsgfVxuICBAZWxzZSAgICAgICAgICAgICB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgkdXJsKSBuby1yZXBlYXQgMCAwICFpbXBvcnRhbnQ7IH1cbn1cbkBtaXhpbiBib3JkZXJSYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1czsgXG59XG5AbWl4aW4gYm94U2hhZG93KCRvcHRzKSB7XG4gIC1tb3otYm94LXNoYWRvdzogJG9wdHM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJG9wdHM7XG4gIGJveC1zaGFkb3c6ICRvcHRzO1xufVxuQG1peGluIGJvcmRlckJveCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AbWl4aW4gZ3JhZGllbnRUb3BUb0JvdHRvbSgkY29sMSwgJGNvbDIsICRjb2wzLCAkY29sNCwgJHBlcmNlbnQxLCAkcGVyY2VudDIsICRwZXJjZW50MywgJHBlcmNlbnQ0KSB7XG4gIGJhY2tncm91bmQ6ICRjb2wxO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRjb2wxICRwZXJjZW50MSwgJGNvbDIgJHBlcmNlbnQyLCAkY29sMyAkcGVyY2VudDMsICRjb2w0ICRwZXJjZW50NCk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoJHBlcmNlbnQxLCAkY29sMSksIGNvbG9yLXN0b3AoJHBlcmNlbnQyLCAkY29sMiksIGNvbG9yLXN0b3AoJHBlcmNlbnQzLCAkY29sMyksIGNvbG9yLXN0b3AoJHBlcmNlbnQ0LCAkY29sNCkpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRjb2wxICRwZXJjZW50MSwgJGNvbDIgJHBlcmNlbnQyLCAkY29sMyAkcGVyY2VudDMsICRjb2w0ICRwZXJjZW50NCk7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRjb2wxICRwZXJjZW50MSwgJGNvbDIgJHBlcmNlbnQyLCAkY29sMyAkcGVyY2VudDMsICRjb2w0ICRwZXJjZW50NCk7XG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAkY29sMSAkcGVyY2VudDEsICRjb2wyICRwZXJjZW50MiwgJGNvbDMgJHBlcmNlbnQzLCAkY29sNCAkcGVyY2VudDQpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkY29sMSAkcGVyY2VudDEsICRjb2wyICRwZXJjZW50MiwgJGNvbDMgJHBlcmNlbnQzLCAkY29sNCAkcGVyY2VudDQpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbnMoJG9wdHMpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkb3B0cztcbiAgLW1vei10cmFuc2l0aW9uOiAgICAkb3B0cztcbiAgLW1zLXRyYW5zaXRpb246ICAgICAkb3B0cztcbiAgLW8tdHJhbnNpdGlvbjogICAgICAkb3B0cztcbiAgdHJhbnNpdGlvbjogICAgICAgICAkb3B0cztcbn1cbkBtaXhpbiB0cmFuc2Zvcm1zKCRvcHRzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkb3B0cztcbiAgLW1vei10cmFuc2Zvcm06ICAgICRvcHRzO1xuICAtbXMtdHJhbnNmb3JtOiAgICAgJG9wdHM7XG4gIC1vLXRyYW5zZm9ybTogICAgICAkb3B0cztcbiAgdHJhbnNmb3JtOiAgICAgICAgICRvcHRzO1xufVxuQG1peGluIHRyYW5zaXRpb25zVHJhbnNmb3Jtcygkb3B0c0EsICRvcHRzQikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICRvcHRzQSwgLXdlYmtpdC10cmFuc2Zvcm0gJG9wdHNCO1xuICAtbW96LXRyYW5zaXRpb246ICAgICRvcHRzQSwgLW1vei10cmFuc2Zvcm0gICAgJG9wdHNCO1xuICAtbXMtdHJhbnNpdGlvbjogICAgICRvcHRzQSwgLW1zLXRyYW5zZm9ybSAgICAgJG9wdHNCO1xuICAtby10cmFuc2l0aW9uOiAgICAgICRvcHRzQSwgLW8tdHJhbnNmb3JtICAgICAgJG9wdHNCO1xuICB0cmFuc2l0aW9uOiAgICAgICAgICRvcHRzQSwgdHJhbnNmb3JtICAgICAgICAgJG9wdHNCO1xufVxuXG5AbWl4aW4gcmVzb3VyY2VUaXRsZUljb24oJHR5cGUsICRwb3MsICRoMU1hcmdpbkxlZnQ6IG51bGwsICRmaXJzdElzUG5nOiBmYWxzZSwgJGhhc1VucHVibGlzaGVkOiB0cnVlKSB7XG4gICRyZXNvdXJjZVR5cGU6IGZpbGUtI3skdHlwZX07XG4gICRjbGFzczogJHR5cGU7XG4gIEBpZiAkdHlwZSA9PSBmb2xkZXIge1xuICAgICRyZXNvdXJjZVR5cGU6ICN7JHR5cGV9O1xuICAgICRjbGFzczogXCJ0cnVlXCI7XG4gIH0gQGVsc2UgaWYgJHR5cGUgPT0gdGV4dCB7XG4gICAgJHJlc291cmNlVHlwZTogXCJmaWxlLXR4dFwiO1xuICB9IEBlbHNlIGlmICR0eXBlID09IHZpZGVvcmVmXG4gICAgICAgICAgb3IgJHR5cGUgPT0gbGVjdHVyZS12aWRlb3JlZiB7XG4gICAgJHJlc291cmNlVHlwZTogXCJmaWxlLXZpZGVvXCI7XG4gIH1cbiAgJi4jeyRjbGFzc30ge1xuICAgIEBpZiAkZmlyc3RJc1BuZyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCJpbWFnZXMvI3skcmVzb3VyY2VUeXBlfS5wbmdcIikgbm8tcmVwZWF0ICRwb3M7XG4gICAgfSBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCJpbWFnZXMvI3skcmVzb3VyY2VUeXBlfS5naWZcIikgbm8tcmVwZWF0ICRwb3M7XG4gICAgfVxuICAgIEBpZiAkaGFzVW5wdWJsaXNoZWQge1xuICAgICAgJi51bnB1Ymxpc2hlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcImltYWdlcy8jeyRyZXNvdXJjZVR5cGV9LXVucHVibGlzaGVkLnBuZ1wiKSBuby1yZXBlYXQgJHBvcztcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRoMU1hcmdpbkxlZnQgIT0gbnVsbCB7XG4gICAgICBoMSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkaDFNYXJnaW5MZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQG1peGluIGxpc3RpbmdJY29uKCR0eXBlLCAkZmlyc3RJc1BuZzogZmFsc2UsICRoYXNVbnB1Ymxpc2hlZDogdHJ1ZSkge1xuICAkcmVzb3VyY2VUeXBlOiBmaWxlLSN7JHR5cGV9O1xuICAkY2xhc3M6ICR0eXBlO1xuICBAaWYgJHR5cGUgPT0gZm9sZGVyIHtcbiAgICAkcmVzb3VyY2VUeXBlOiAjeyR0eXBlfTtcbiAgICAkY2xhc3M6IFwidHJ1ZVwiO1xuICB9IEBlbHNlIGlmICR0eXBlID09IHRleHQge1xuICAgICRyZXNvdXJjZVR5cGU6IFwiZmlsZS10eHRcIjtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSB2aWRlb3JlZlxuICAgICAgICAgIG9yICR0eXBlID09IGxlY3R1cmUtdmlkZW9yZWYge1xuICAgICRyZXNvdXJjZVR5cGU6IFwiZmlsZS12aWRlb1wiO1xuICB9XG4gICYuI3skY2xhc3N9IHtcbiAgICBAaWYgJGhhc1VucHVibGlzaGVkIHtcbiAgICAgICYudW5wdWJsaXNoZWQge1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgJi5uYW1lIGEsXG4gICAgICAgICAgJi5uYW1lIC51bmF1dGhvcml6ZWRMaXN0ZWRSZXNvdXJjZS13cmFwcGVyLFxuICAgICAgICAgICYubmFtZSBzcGFuLnZydHgtdHJhc2gtY2FuLW5hbWUtdGV4dCxcbiAgICAgICAgICAmLnZydHgtcmVwb3J0LW5hbWUgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCJpbWFnZXMvI3skcmVzb3VyY2VUeXBlfS1zbWFsbC11bnB1Ymxpc2hlZC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0ZCB7XG4gICAgICAmLm5hbWUgYSxcbiAgICAgICYubmFtZSAudW5hdXRob3JpemVkTGlzdGVkUmVzb3VyY2Utd3JhcHBlcixcbiAgICAgICYubmFtZSBzcGFuLnZydHgtdHJhc2gtY2FuLW5hbWUtdGV4dCxcbiAgICAgICYudnJ0eC1yZXBvcnQtbmFtZSBhIHtcbiAgICAgICAgQGlmICRmaXJzdElzUG5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCJpbWFnZXMvI3skcmVzb3VyY2VUeXBlfS1zbWFsbC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCJpbWFnZXMvI3skcmVzb3VyY2VUeXBlfS1zbWFsbC5naWZcIikgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59Il0sImZpbGUiOiJ1cGxvYWQuY3NzIn0= */
