myrta-ui 1.1.9 → 1.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/esm2020/lib/components/chars-left/chars-left.component.mjs +6 -3
  2. package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +1 -1
  3. package/esm2020/lib/components/form/document-editor/document-editor.component.mjs +1 -1
  4. package/esm2020/lib/components/form/editor/editor.component.mjs +16 -9
  5. package/esm2020/lib/components/form/input-date-time/input-date-time.component.mjs +13 -5
  6. package/esm2020/lib/components/form/input-number/input-number.component.mjs +27 -20
  7. package/esm2020/lib/components/form/input-number/input-number.enum.mjs +1 -1
  8. package/esm2020/lib/components/form/input-password/input-password.component.mjs +37 -26
  9. package/esm2020/lib/components/form/input-password/input-password.enum.mjs +1 -1
  10. package/esm2020/lib/components/form/input-password/input-password.module.mjs +12 -4
  11. package/esm2020/lib/components/form/input-search/input-search.component.mjs +44 -39
  12. package/esm2020/lib/components/form/input-search/input-search.enum.mjs +1 -1
  13. package/esm2020/lib/components/form/input-search/input-search.module.mjs +7 -4
  14. package/esm2020/lib/components/form/input-text/input-text.component.mjs +32 -33
  15. package/esm2020/lib/components/form/input-textarea/input-textarea.component.mjs +25 -40
  16. package/esm2020/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +1 -1
  17. package/esm2020/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +1 -1
  18. package/esm2020/lib/services/index.mjs +2 -1
  19. package/esm2020/lib/services/mrx-form-validator/models/index.mjs +4 -0
  20. package/fesm2015/myrta-ui.mjs +206 -172
  21. package/fesm2015/myrta-ui.mjs.map +1 -1
  22. package/fesm2020/myrta-ui.mjs +200 -172
  23. package/fesm2020/myrta-ui.mjs.map +1 -1
  24. package/lib/components/chars-left/chars-left.component.d.ts +1 -0
  25. package/lib/components/form/editor/editor.component.d.ts +4 -2
  26. package/lib/components/form/input-date-time/input-date-time.component.d.ts +3 -1
  27. package/lib/components/form/input-number/input-number.component.d.ts +9 -4
  28. package/lib/components/form/input-number/input-number.enum.d.ts +2 -2
  29. package/lib/components/form/input-password/input-password.component.d.ts +13 -9
  30. package/lib/components/form/input-password/input-password.enum.d.ts +4 -0
  31. package/lib/components/form/input-password/input-password.module.d.ts +3 -1
  32. package/lib/components/form/input-search/input-search.component.d.ts +14 -11
  33. package/lib/components/form/input-search/input-search.enum.d.ts +5 -0
  34. package/lib/components/form/input-search/input-search.module.d.ts +2 -1
  35. package/lib/components/form/input-text/input-text.component.d.ts +11 -10
  36. package/lib/components/form/input-textarea/input-textarea.component.d.ts +10 -13
  37. package/lib/services/index.d.ts +1 -0
  38. package/lib/services/mrx-form-validator/models/index.d.ts +3 -0
  39. package/package.json +1 -1
@@ -10,12 +10,15 @@ export class CharsLeftComponent {
10
10
  get getValueLength() {
11
11
  return this.value ? this.value.length : this.valueLength;
12
12
  }
13
+ get isInvalidValueLength() {
14
+ return this.maxlength < this.value?.length && this.maxlength > 0;
15
+ }
13
16
  }
14
17
  CharsLeftComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CharsLeftComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- CharsLeftComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CharsLeftComponent, selector: "mrx-chars-left", inputs: { maxlength: "maxlength", valueLength: "valueLength", value: "value" }, ngImport: i0, template: "<div *ngIf=\"maxlength\" class=\"input-counter maxlength-feedback mrx-chars\">\r\n {{getValueLength}}/{{ maxlength }}\r\n</div>\r\n", styles: [".mrx-chars.mrx-chars{position:absolute;bottom:var(--spacing-1);right:var(--spacing-1);color:var(--neutral-text-secondary);font-family:var(--body-extra-sm-font-family);font-size:var(--body-extra-sm-font-size);font-weight:var(--body-extra-sm-font-weight);line-height:var(--body-extra-sm-line-height);z-index:1}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ CharsLeftComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CharsLeftComponent, selector: "mrx-chars-left", inputs: { maxlength: "maxlength", valueLength: "valueLength", value: "value" }, ngImport: i0, template: "<div *ngIf=\"maxlength\" class=\"mrx-chars\" [class.-invalid]=\"isInvalidValueLength\">\r\n {{ getValueLength }}/{{ maxlength }}\r\n</div>\r\n", styles: [".mrx-chars.mrx-chars{position:absolute;bottom:var(--spacing-1);right:var(--spacing-1);color:var(--neutral-text-secondary);font-family:var(--body-extra-sm-font-family);font-size:var(--body-extra-sm-font-size);font-weight:var(--body-extra-sm-font-weight);line-height:var(--body-extra-sm-line-height);z-index:1}.mrx-chars.mrx-chars.-invalid{color:var(--system-text-negative, #8E2100)}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CharsLeftComponent, decorators: [{
17
20
  type: Component,
18
- args: [{ selector: 'mrx-chars-left', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"maxlength\" class=\"input-counter maxlength-feedback mrx-chars\">\r\n {{getValueLength}}/{{ maxlength }}\r\n</div>\r\n", styles: [".mrx-chars.mrx-chars{position:absolute;bottom:var(--spacing-1);right:var(--spacing-1);color:var(--neutral-text-secondary);font-family:var(--body-extra-sm-font-family);font-size:var(--body-extra-sm-font-size);font-weight:var(--body-extra-sm-font-weight);line-height:var(--body-extra-sm-line-height);z-index:1}\n"] }]
21
+ args: [{ selector: 'mrx-chars-left', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"maxlength\" class=\"mrx-chars\" [class.-invalid]=\"isInvalidValueLength\">\r\n {{ getValueLength }}/{{ maxlength }}\r\n</div>\r\n", styles: [".mrx-chars.mrx-chars{position:absolute;bottom:var(--spacing-1);right:var(--spacing-1);color:var(--neutral-text-secondary);font-family:var(--body-extra-sm-font-family);font-size:var(--body-extra-sm-font-size);font-weight:var(--body-extra-sm-font-weight);line-height:var(--body-extra-sm-line-height);z-index:1}.mrx-chars.mrx-chars.-invalid{color:var(--system-text-negative, #8E2100)}\n"] }]
19
22
  }], propDecorators: { maxlength: [{
20
23
  type: Input
21
24
  }], valueLength: [{
@@ -23,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
23
26
  }], value: [{
24
27
  type: Input
25
28
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnMtbGVmdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvY2hhcnMtbGVmdC9jaGFycy1sZWZ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9jaGFycy1sZWZ0L2NoYXJzLWxlZnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExRSxNQUFNLE9BQU8sa0JBQWtCO0lBTi9CO1FBT2tCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixVQUFLLEdBQUcsRUFBRSxDQUFDO0tBSzVCO0lBSEMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUE7SUFDMUQsQ0FBQzs7K0dBUFUsa0JBQWtCO21HQUFsQixrQkFBa0Isc0lDUi9CLHNJQUdBOzJGREthLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTs4QkFHL0IsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtY2hhcnMtbGVmdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJzLWxlZnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoYXJzLWxlZnQuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoYXJzTGVmdENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcHVibGljIG1heGxlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIHZhbHVlTGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgdmFsdWUgPSAnJztcclxuXHJcbiAgcHVibGljIGdldCBnZXRWYWx1ZUxlbmd0aCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLmxlbmd0aCA6IHRoaXMudmFsdWVMZW5ndGhcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIm1heGxlbmd0aFwiIGNsYXNzPVwiaW5wdXQtY291bnRlciBtYXhsZW5ndGgtZmVlZGJhY2sgbXJ4LWNoYXJzXCI+XHJcbiAge3tnZXRWYWx1ZUxlbmd0aH19L3t7IG1heGxlbmd0aCB9fVxyXG48L2Rpdj5cclxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnMtbGVmdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvY2hhcnMtbGVmdC9jaGFycy1sZWZ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9jaGFycy1sZWZ0L2NoYXJzLWxlZnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExRSxNQUFNLE9BQU8sa0JBQWtCO0lBTi9CO1FBT2tCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixVQUFLLEdBQUcsRUFBRSxDQUFDO0tBUzVCO0lBUEMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUE7SUFDMUQsQ0FBQztJQUVELElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQTtJQUNsRSxDQUFDOzsrR0FYVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixzSUNSL0IsaUpBR0E7MkZES2Esa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUcvQixTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1jaGFycy1sZWZ0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnMtbGVmdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcnMtbGVmdC5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnNMZWZ0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4bGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgdmFsdWVMZW5ndGggPSAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWx1ZSA9ICcnO1xyXG5cclxuICBwdWJsaWMgZ2V0IGdldFZhbHVlTGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUubGVuZ3RoIDogdGhpcy52YWx1ZUxlbmd0aFxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0ludmFsaWRWYWx1ZUxlbmd0aCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1heGxlbmd0aCA8IHRoaXMudmFsdWU/Lmxlbmd0aCAmJiB0aGlzLm1heGxlbmd0aCA+IDBcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIm1heGxlbmd0aFwiIGNsYXNzPVwibXJ4LWNoYXJzXCIgW2NsYXNzLi1pbnZhbGlkXT1cImlzSW52YWxpZFZhbHVlTGVuZ3RoXCI+XHJcbiAge3sgZ2V0VmFsdWVMZW5ndGggfX0ve3sgbWF4bGVuZ3RoIH19XHJcbjwvZGl2PlxyXG4iXX0=
@@ -25,7 +25,7 @@ export class CheckboxGroupHeaderComponent {
25
25
  }
26
26
  }
27
27
  CheckboxGroupHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- CheckboxGroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters" }, ngImport: i0, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], components: [{ type: i1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeCheckboxValue", "clickedLink"] }, { type: i2.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
28
+ CheckboxGroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters" }, ngImport: i0, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], components: [{ type: i1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeCheckboxValue", "clickedLink"] }, { type: i2.InputSearchComponent, selector: "mrx-input-search", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "customClasses", "mask", "size", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed", "modelChange", "blurred", "cleared", "searched"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupHeaderComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'mrx-checkbox-group-header', template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
@@ -70,7 +70,7 @@ DocumentEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
70
70
  useExisting: forwardRef(() => DocumentEditorComponent),
71
71
  multi: true,
72
72
  },
73
- ], viewQueries: [{ propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-document-editor\">\r\n <div class=\"mrx-document-editor__shortcode-buttons mb-2\">\r\n <ng-container *ngFor=\"let shortCode of sliceShortCodeButtons\">\r\n <mrx-button\r\n size=\"small\"\r\n type=\"secondary\"\r\n (mrxClick)=\"insertShortCode(shortCode)\"\r\n >{{ shortCode.viewName }}</mrx-button>\r\n </ng-container>\r\n <mrx-button\r\n *ngIf=\"isSliced\"\r\n size=\"small\"\r\n (mrxClick)=\"showAllShortCodes()\"\r\n >\u0415\u0449\u0435</mrx-button>\r\n </div>\r\n\r\n <div class=\"mrx-document-editor__editor mb-2\">\r\n <mrx-editor\r\n #editor\r\n [ngModel]=\"transformedValue\"\r\n [toolbar]=\"toolbar\"\r\n [customClasses]=\"customClasses\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [iframe]=\"true\"\r\n [editHTMLDocumentMode]=\"editHTMLDocumentMode\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n ></mrx-editor>\r\n </div>\r\n\r\n <div class=\"mrx-document-editor__preview\">\r\n <mrx-button\r\n size=\"medium\"\r\n type=\"secondary\"\r\n iconClass=\"icon-view\"\r\n [disabled]=\"!transformedValue\"\r\n (mrxClick)=\"openPreviewModal()\"\r\n >\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440</mrx-button>\r\n </div>\r\n</div>\r\n", styles: [".mrx-document-editor__shortcode-buttons{display:flex;flex-wrap:wrap;gap:var(--sizing-2)}\n"], components: [{ type: i2.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType"], outputs: ["mrxClick"] }, { type: i3.EditorComponent, selector: "mrx-editor", inputs: ["fields", "toolbar", "maxLength", "minHeight", "customClasses", "placeholder", "disabled", "readonly", "iframe", "config", "defaultInlineStyle", "defaultActionOnPaste", "askBeforePasteHTML", "editHTMLDocumentMode", "askBeforePasteFromWord", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed", "modelChange"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ ], viewQueries: [{ propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-document-editor\">\r\n <div class=\"mrx-document-editor__shortcode-buttons mb-2\">\r\n <ng-container *ngFor=\"let shortCode of sliceShortCodeButtons\">\r\n <mrx-button\r\n size=\"small\"\r\n type=\"secondary\"\r\n (mrxClick)=\"insertShortCode(shortCode)\"\r\n >{{ shortCode.viewName }}</mrx-button>\r\n </ng-container>\r\n <mrx-button\r\n *ngIf=\"isSliced\"\r\n size=\"small\"\r\n (mrxClick)=\"showAllShortCodes()\"\r\n >\u0415\u0449\u0435</mrx-button>\r\n </div>\r\n\r\n <div class=\"mrx-document-editor__editor mb-2\">\r\n <mrx-editor\r\n #editor\r\n [ngModel]=\"transformedValue\"\r\n [toolbar]=\"toolbar\"\r\n [customClasses]=\"customClasses\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [iframe]=\"true\"\r\n [editHTMLDocumentMode]=\"editHTMLDocumentMode\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n ></mrx-editor>\r\n </div>\r\n\r\n <div class=\"mrx-document-editor__preview\">\r\n <mrx-button\r\n size=\"medium\"\r\n type=\"secondary\"\r\n iconClass=\"icon-view\"\r\n [disabled]=\"!transformedValue\"\r\n (mrxClick)=\"openPreviewModal()\"\r\n >\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440</mrx-button>\r\n </div>\r\n</div>\r\n", styles: [".mrx-document-editor__shortcode-buttons{display:flex;flex-wrap:wrap;gap:var(--sizing-2)}\n"], components: [{ type: i2.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType"], outputs: ["mrxClick"] }, { type: i3.EditorComponent, selector: "mrx-editor", inputs: ["fields", "toolbar", "maxLength", "minHeight", "customClasses", "placeholder", "disabled", "readonly", "iframe", "config", "defaultInlineStyle", "defaultActionOnPaste", "askBeforePasteHTML", "editHTMLDocumentMode", "askBeforePasteFromWord", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed", "modelChange", "blurred"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DocumentEditorComponent, decorators: [{
75
75
  type: Component,
76
76
  args: [{ selector: 'mrx-document-editor', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -82,6 +82,7 @@ export class EditorComponent {
82
82
  this.checkInvalid = null;
83
83
  this.changed = new EventEmitter();
84
84
  this.modelChange = new EventEmitter();
85
+ this.blurred = new EventEmitter();
85
86
  this.onChange = (value) => {
86
87
  };
87
88
  this.onTouched = () => {
@@ -170,6 +171,12 @@ export class EditorComponent {
170
171
  });
171
172
  }
172
173
  }
174
+ _sanitizeValue(value) {
175
+ return value ? value.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '') : value;
176
+ }
177
+ _calculateChartsCount() {
178
+ this.valueLength = this.editorElementRef.editor.text.replace(/\s+/g, '').length;
179
+ }
173
180
  updateValue(insideValue) {
174
181
  if (this.maxLength) {
175
182
  this._calculateChartsCount();
@@ -182,21 +189,19 @@ export class EditorComponent {
182
189
  this.onTouched();
183
190
  }
184
191
  }
185
- _sanitizeValue(value) {
186
- return value ? value.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '') : value;
187
- }
188
- _calculateChartsCount() {
189
- this.valueLength = this.editorElementRef.editor.text.replace(/\s+/g, '').length;
192
+ onBlur(value) {
193
+ this.changeFocused(value);
194
+ this.blurred.emit({ value: this.value, id: this.uuid });
190
195
  }
191
196
  }
192
197
  EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
193
- EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EditorComponent, selector: "mrx-editor", inputs: { fields: "fields", toolbar: "toolbar", maxLength: "maxLength", minHeight: "minHeight", customClasses: "customClasses", placeholder: "placeholder", disabled: "disabled", readonly: "readonly", iframe: "iframe", config: "config", defaultInlineStyle: "defaultInlineStyle", defaultActionOnPaste: "defaultActionOnPaste", askBeforePasteHTML: "askBeforePasteHTML", editHTMLDocumentMode: "editHTMLDocumentMode", askBeforePasteFromWord: "askBeforePasteFromWord", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed", modelChange: "modelChange" }, providers: [
198
+ EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EditorComponent, selector: "mrx-editor", inputs: { fields: "fields", toolbar: "toolbar", maxLength: "maxLength", minHeight: "minHeight", customClasses: "customClasses", placeholder: "placeholder", disabled: "disabled", readonly: "readonly", iframe: "iframe", config: "config", defaultInlineStyle: "defaultInlineStyle", defaultActionOnPaste: "defaultActionOnPaste", askBeforePasteHTML: "askBeforePasteHTML", editHTMLDocumentMode: "editHTMLDocumentMode", askBeforePasteFromWord: "askBeforePasteFromWord", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed", modelChange: "modelChange", blurred: "blurred" }, providers: [
194
199
  {
195
200
  provide: NG_VALUE_ACCESSOR,
196
201
  useExisting: forwardRef(() => EditorComponent),
197
202
  multi: true,
198
203
  },
199
- ], viewQueries: [{ propertyName: "editorElementRef", first: true, predicate: ["editorElementRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"mrx-editor\"\r\n [class.mrx-input-focused]=\"isFocused\"\r\n [class.mrx-input-error]=\"!isValid || invalid\"\r\n [class]=\"getClasses\"\r\n>\r\n <jodit-editor\r\n #editorElementRef\r\n [config]=\"defaultConfig\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (onFocus)=\"changeFocused(true)\"\r\n (onBlur)=\"changeFocused(false)\"\r\n ></jodit-editor>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-chars-left [maxlength]=\"maxLength\" [valueLength]=\"valueLength\"></mrx-chars-left>\r\n\r\n <mrx-save-state type=\"editor\" [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [":host::ng-deep .mrx-editor .jodit-toolbar__box:not(:empty){background-color:#fff;padding:4px}:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:none}:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection:after{display:none}:host::ng-deep .mrx-editor .jodit-ui-group{flex-wrap:wrap;gap:var(--sizing-1)}:host::ng-deep .mrx-editor .jodit-toolbar-button{height:28px;margin:0;border:none}:host::ng-deep .mrx-editor .jodit-toolbar-button.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:transparent;box-shadow:0 1px 4px #3a3a3a4d}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button{height:28px}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-ui-separator{border-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-add-new-line{display:none}:host::ng-deep .mrx-editor{position:relative}:host::ng-deep .mrx-editor .jodit-container .jodit-wysiwyg{padding:var(--spacing-3) var(--spacing-4)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline).jodit_disabled .jodit-toolbar__box{background-color:var(--neutral-bg-island-default)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:1;background-color:var(--neutral-bg-disabled)}:host::ng-deep .mrx-editor.mrx-input-error .jodit-container,:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-container{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}:host::ng-deep .mrx-editor.mrx-input-error .jodit-container .jodit-toolbar__box:not(:empty),:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-container .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}:host::ng-deep .mrx-editor.mrx-input-success .jodit-container,:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-container{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}:host::ng-deep .mrx-editor.mrx-input-success .jodit-container .jodit-toolbar__box:not(:empty),:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-container .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-workplace{background-color:var(--system-bg-negative-secondary)!important}:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-workplace{background-color:var(--system-bg-positive-secondary)!important}:host::ng-deep .mrx-editor .jodit-container{transition:border .2s;border:var(--border-width-default) solid var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline),:host::ng-deep .mrx-editor .jodit-container .jodit-workplace{border-radius:4px}:host::ng-deep .mrx-editor .jodit-container .jodit-toolbar__box:not(:empty){transition:border .2s;border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-container:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-editor .jodit-container:hover .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-editor.mrx-input-focused .jodit-container{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-popup__content:not(:empty){background-color:#fff;padding:4px}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-ui-group{flex-wrap:wrap;gap:var(--sizing-1)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:transparent;box-shadow:0 1px 4px #3a3a3a4d}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button .jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}::ng-deep .jodit.jodit-popup-container .jodit-toolbar-button_nullable{display:none!important}::ng-deep .jodit.jodit-popup-container .jodit-form__table-creator-box .jodit-form__container span.jodit_hovered{background-color:var(--system-diagram-diagram-2);border-color:var(--system-diagram-diagram-2)}::ng-deep .jodit.jodit-popup-container .jodit-popup__content .jodit-ui-checkbox__wrapper .jodit-ui-checkbox__input{-webkit-appearance:checkbox!important;position:static!important;width:auto!important}\n"], components: [{ type: i1.JoditAngularComponent, selector: "jodit-editor", inputs: ["config", "tagName", "id", "defaultValue"] }, { type: i2.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { type: i3.CharsLeftComponent, selector: "mrx-chars-left", inputs: ["maxlength", "valueLength", "value"] }, { type: i4.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
204
+ ], viewQueries: [{ propertyName: "editorElementRef", first: true, predicate: ["editorElementRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"mrx-editor\"\r\n [class.mrx-input-focused]=\"isFocused\"\r\n [class.mrx-input-error]=\"!isValid || invalid\"\r\n [class]=\"getClasses\"\r\n>\r\n <jodit-editor\r\n #editorElementRef\r\n [config]=\"defaultConfig\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (onFocus)=\"changeFocused(true)\"\r\n (onBlur)=\"onBlur(false)\"\r\n ></jodit-editor>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-chars-left [maxlength]=\"maxLength\" [valueLength]=\"valueLength\"></mrx-chars-left>\r\n\r\n <mrx-save-state type=\"editor\" [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [":host::ng-deep .mrx-editor .jodit-toolbar__box:not(:empty){background-color:#fff;padding:4px}:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:none}:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection:after{display:none}:host::ng-deep .mrx-editor .jodit-ui-group{flex-wrap:wrap;gap:var(--sizing-1)}:host::ng-deep .mrx-editor .jodit-toolbar-button{height:28px;margin:0;border:none}:host::ng-deep .mrx-editor .jodit-toolbar-button.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:transparent;box-shadow:0 1px 4px #3a3a3a4d}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button{height:28px}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-ui-separator{border-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-add-new-line{display:none}:host::ng-deep .mrx-editor{position:relative}:host::ng-deep .mrx-editor .jodit-container .jodit-wysiwyg{padding:var(--spacing-3) var(--spacing-4)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline).jodit_disabled .jodit-toolbar__box{background-color:var(--neutral-bg-island-default)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:1;background-color:var(--neutral-bg-disabled)}:host::ng-deep .mrx-editor.mrx-input-error .jodit-container,:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-container{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}:host::ng-deep .mrx-editor.mrx-input-error .jodit-container .jodit-toolbar__box:not(:empty),:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-container .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}:host::ng-deep .mrx-editor.mrx-input-success .jodit-container,:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-container{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}:host::ng-deep .mrx-editor.mrx-input-success .jodit-container .jodit-toolbar__box:not(:empty),:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-container .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-workplace{background-color:var(--system-bg-negative-secondary)!important}:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-workplace{background-color:var(--system-bg-positive-secondary)!important}:host::ng-deep .mrx-editor .jodit-container{transition:border .2s;border:var(--border-width-default) solid var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline),:host::ng-deep .mrx-editor .jodit-container .jodit-workplace{border-radius:4px}:host::ng-deep .mrx-editor .jodit-container .jodit-toolbar__box:not(:empty){transition:border .2s;border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-container:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-editor .jodit-container:hover .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-editor.mrx-input-focused .jodit-container{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-popup__content:not(:empty){background-color:#fff;padding:4px}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-ui-group{flex-wrap:wrap;gap:var(--sizing-1)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:transparent;box-shadow:0 1px 4px #3a3a3a4d}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button .jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}::ng-deep .jodit.jodit-popup-container .jodit-toolbar-button_nullable{display:none!important}::ng-deep .jodit.jodit-popup-container .jodit-form__table-creator-box .jodit-form__container span.jodit_hovered{background-color:var(--system-diagram-diagram-2);border-color:var(--system-diagram-diagram-2)}::ng-deep .jodit.jodit-popup-container .jodit-popup__content .jodit-ui-checkbox__wrapper .jodit-ui-checkbox__input{-webkit-appearance:checkbox!important;position:static!important;width:auto!important}\n"], components: [{ type: i1.JoditAngularComponent, selector: "jodit-editor", inputs: ["config", "tagName", "id", "defaultValue"] }, { type: i2.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { type: i3.CharsLeftComponent, selector: "mrx-chars-left", inputs: ["maxlength", "valueLength", "value"] }, { type: i4.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
200
205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EditorComponent, decorators: [{
201
206
  type: Component,
202
207
  args: [{ selector: 'mrx-editor', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -205,7 +210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
205
210
  useExisting: forwardRef(() => EditorComponent),
206
211
  multi: true,
207
212
  },
208
- ], template: "<div\r\n class=\"mrx-editor\"\r\n [class.mrx-input-focused]=\"isFocused\"\r\n [class.mrx-input-error]=\"!isValid || invalid\"\r\n [class]=\"getClasses\"\r\n>\r\n <jodit-editor\r\n #editorElementRef\r\n [config]=\"defaultConfig\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (onFocus)=\"changeFocused(true)\"\r\n (onBlur)=\"changeFocused(false)\"\r\n ></jodit-editor>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-chars-left [maxlength]=\"maxLength\" [valueLength]=\"valueLength\"></mrx-chars-left>\r\n\r\n <mrx-save-state type=\"editor\" [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [":host::ng-deep .mrx-editor .jodit-toolbar__box:not(:empty){background-color:#fff;padding:4px}:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:none}:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection:after{display:none}:host::ng-deep .mrx-editor .jodit-ui-group{flex-wrap:wrap;gap:var(--sizing-1)}:host::ng-deep .mrx-editor .jodit-toolbar-button{height:28px;margin:0;border:none}:host::ng-deep .mrx-editor .jodit-toolbar-button.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:transparent;box-shadow:0 1px 4px #3a3a3a4d}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button{height:28px}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-ui-separator{border-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-add-new-line{display:none}:host::ng-deep .mrx-editor{position:relative}:host::ng-deep .mrx-editor .jodit-container .jodit-wysiwyg{padding:var(--spacing-3) var(--spacing-4)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline).jodit_disabled .jodit-toolbar__box{background-color:var(--neutral-bg-island-default)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:1;background-color:var(--neutral-bg-disabled)}:host::ng-deep .mrx-editor.mrx-input-error .jodit-container,:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-container{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}:host::ng-deep .mrx-editor.mrx-input-error .jodit-container .jodit-toolbar__box:not(:empty),:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-container .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}:host::ng-deep .mrx-editor.mrx-input-success .jodit-container,:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-container{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}:host::ng-deep .mrx-editor.mrx-input-success .jodit-container .jodit-toolbar__box:not(:empty),:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-container .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-workplace{background-color:var(--system-bg-negative-secondary)!important}:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-workplace{background-color:var(--system-bg-positive-secondary)!important}:host::ng-deep .mrx-editor .jodit-container{transition:border .2s;border:var(--border-width-default) solid var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline),:host::ng-deep .mrx-editor .jodit-container .jodit-workplace{border-radius:4px}:host::ng-deep .mrx-editor .jodit-container .jodit-toolbar__box:not(:empty){transition:border .2s;border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-container:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-editor .jodit-container:hover .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-editor.mrx-input-focused .jodit-container{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-popup__content:not(:empty){background-color:#fff;padding:4px}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-ui-group{flex-wrap:wrap;gap:var(--sizing-1)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:transparent;box-shadow:0 1px 4px #3a3a3a4d}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button .jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}::ng-deep .jodit.jodit-popup-container .jodit-toolbar-button_nullable{display:none!important}::ng-deep .jodit.jodit-popup-container .jodit-form__table-creator-box .jodit-form__container span.jodit_hovered{background-color:var(--system-diagram-diagram-2);border-color:var(--system-diagram-diagram-2)}::ng-deep .jodit.jodit-popup-container .jodit-popup__content .jodit-ui-checkbox__wrapper .jodit-ui-checkbox__input{-webkit-appearance:checkbox!important;position:static!important;width:auto!important}\n"] }]
213
+ ], template: "<div\r\n class=\"mrx-editor\"\r\n [class.mrx-input-focused]=\"isFocused\"\r\n [class.mrx-input-error]=\"!isValid || invalid\"\r\n [class]=\"getClasses\"\r\n>\r\n <jodit-editor\r\n #editorElementRef\r\n [config]=\"defaultConfig\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (onFocus)=\"changeFocused(true)\"\r\n (onBlur)=\"onBlur(false)\"\r\n ></jodit-editor>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-chars-left [maxlength]=\"maxLength\" [valueLength]=\"valueLength\"></mrx-chars-left>\r\n\r\n <mrx-save-state type=\"editor\" [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [":host::ng-deep .mrx-editor .jodit-toolbar__box:not(:empty){background-color:#fff;padding:4px}:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal,:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:none}:host::ng-deep .mrx-editor .jodit-toolbar__box .jodit-toolbar-editor-collection:after{display:none}:host::ng-deep .mrx-editor .jodit-ui-group{flex-wrap:wrap;gap:var(--sizing-1)}:host::ng-deep .mrx-editor .jodit-toolbar-button{height:28px;margin:0;border:none}:host::ng-deep .mrx-editor .jodit-toolbar-button.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:transparent;box-shadow:0 1px 4px #3a3a3a4d}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button{height:28px}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-toolbar-button .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-editor .jodit-ui-separator{border-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-add-new-line{display:none}:host::ng-deep .mrx-editor{position:relative}:host::ng-deep .mrx-editor .jodit-container .jodit-wysiwyg{padding:var(--spacing-3) var(--spacing-4)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline).jodit_disabled .jodit-toolbar__box{background-color:var(--neutral-bg-island-default)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:1;background-color:var(--neutral-bg-disabled)}:host::ng-deep .mrx-editor.mrx-input-error .jodit-container,:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-container{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}:host::ng-deep .mrx-editor.mrx-input-error .jodit-container .jodit-toolbar__box:not(:empty),:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-container .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}:host::ng-deep .mrx-editor.mrx-input-success .jodit-container,:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-container{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}:host::ng-deep .mrx-editor.mrx-input-success .jodit-container .jodit-toolbar__box:not(:empty),:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-container .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}:host::ng-deep .mrx-editor.mrx-input-checked-error .jodit-workplace{background-color:var(--system-bg-negative-secondary)!important}:host::ng-deep .mrx-editor.mrx-input-checked-success .jodit-workplace{background-color:var(--system-bg-positive-secondary)!important}:host::ng-deep .mrx-editor .jodit-container{transition:border .2s;border:var(--border-width-default) solid var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-container:not(.jodit_inline),:host::ng-deep .mrx-editor .jodit-container .jodit-workplace{border-radius:4px}:host::ng-deep .mrx-editor .jodit-container .jodit-toolbar__box:not(:empty){transition:border .2s;border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-editor .jodit-container:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-editor .jodit-container:hover .jodit-toolbar__box:not(:empty){border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-editor.mrx-input-focused .jodit-container{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-popup__content:not(:empty){background-color:#fff;padding:4px}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-ui-group{flex-wrap:wrap;gap:var(--sizing-1)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:transparent;box-shadow:0 1px 4px #3a3a3a4d}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button .jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}::ng-deep .jodit.jodit-popup-container .jodit-popup .jodit-toolbar-button .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--brand-bg-tertiary-hover)}::ng-deep .jodit.jodit-popup-container .jodit-toolbar-button_nullable{display:none!important}::ng-deep .jodit.jodit-popup-container .jodit-form__table-creator-box .jodit-form__container span.jodit_hovered{background-color:var(--system-diagram-diagram-2);border-color:var(--system-diagram-diagram-2)}::ng-deep .jodit.jodit-popup-container .jodit-popup__content .jodit-ui-checkbox__wrapper .jodit-ui-checkbox__input{-webkit-appearance:checkbox!important;position:static!important;width:auto!important}\n"] }]
209
214
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { fields: [{
210
215
  type: Input
211
216
  }], toolbar: [{
@@ -249,5 +254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
249
254
  type: Output
250
255
  }], modelChange: [{
251
256
  type: Output
257
+ }], blurred: [{
258
+ type: Output
252
259
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2VkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZWRpdG9yL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUFnQjNFLE1BQU0sT0FBTyxlQUFlO0lBK0UxQixZQUFvQixlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUE5RTlDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGNBQVMsR0FBbUIsS0FBSyxDQUFDO1FBRWxDLGtCQUFhLEdBQVE7WUFDMUIsR0FBRyxjQUFjO1lBQ2pCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFFBQVEs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S0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBRVUsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBQ1Usb0JBQW9CO3NCQUFuQyxLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxvQkFBb0I7c0JBQW5DLEtBQUs7Z0JBQ1Usc0JBQXNCO3NCQUFyQyxLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUV5QixnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVaLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2hhbmdlSWNvbnNGdW5jdGlvbiB9IGZyb20gJy4vbW9kdWxlcy9jaGFuZ2UtaWNvbi1tb2R1bGUnO1xyXG5pbXBvcnQgeyBkZWZhdWx0VG9vbGJhciB9IGZyb20gJy4vY29uZmlnJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBwb3B1cFRvb2xiYXJzIH0gZnJvbSAnLi9jb25maWcvcG9wdXBzLXRvb2xiYXInO1xyXG5pbXBvcnQgeyBUb29sYmFyQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvdG9vbGJhci5tb2RlbCc7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21yeC1hdXRvc2F2ZS9tcngtYXV0b3NhdmUuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRJbmxpbmVTdHlsZUNvbnN0YW50IH0gZnJvbSAnLi9jb25maWcvZGVmYXVsdC1pbmxpbmUtc3R5bGUnO1xyXG5pbXBvcnQgeyBJbnB1dEVkaXRvclZhbHVlV2l0aElkIH0gZnJvbSAnLi9lZGl0b3IuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VkaXRvci5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWRpdG9yQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgX2lzSW5pdCA9IGZhbHNlO1xyXG4gIHB1YmxpYyB2YWx1ZSA9ICcnO1xyXG4gIHB1YmxpYyB2YWx1ZUxlbmd0aCA9IDA7XHJcbiAgcHVibGljIGlzRm9jdXNlZDogYm9vbGVhbiB8IG51bGwgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGRlZmF1bHRDb25maWc6IGFueSA9IHtcclxuICAgIC4uLmRlZmF1bHRUb29sYmFyLFxyXG4gICAgcG9wdXA6IHBvcHVwVG9vbGJhcnMsXHJcbiAgICBsYW5ndWFnZTogJ3J1JyxcclxuICAgIHNob3dDaGFyc0NvdW50ZXI6IGZhbHNlLFxyXG4gICAgc2hvd1dvcmRzQ291bnRlcjogZmFsc2UsXHJcbiAgICBzaG93WFBhdGhJblN0YXR1c2JhcjogZmFsc2UsXHJcbiAgICBsaW5rOiB7XHJcbiAgICAgIG5vRm9sbG93Q2hlY2tib3g6IGZhbHNlXHJcbiAgICB9LFxyXG4gICAgbWluSGVpZ2h0OiAxMTAsXHJcbiAgICBpZnJhbWU6IGZhbHNlLFxyXG4gICAgaW1hZ2VEZWZhdWx0V2lkdGg6IDIwMCxcclxuICAgIGVkaXRIVE1MRG9jdW1lbnRNb2RlOiBmYWxzZSxcclxuICAgIGNsZWFuSFRNTDoge1xyXG4gICAgICBmaWxsRW1wdHlQYXJhZ3JhcGg6IHRydWVcclxuICAgIH0sXHJcbiAgICBwbGFjZWhvbGRlcjogJycsXHJcbiAgICB0b29sYmFyQWRhcHRpdmU6IGZhbHNlLFxyXG4gICAgdG9vbGJhcklubGluZTogdHJ1ZSxcclxuICAgIHRvb2xiYXJJbmxpbmVGb3JTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgdG9vbGJhcklubGluZURpc2FibGVGb3I6IFtdLFxyXG4gICAgdG9vbGJhcklubGluZURpc2FibGVkQnV0dG9uczogWydzb3VyY2UnXSxcclxuICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgIHJlYWRvbmx5OiBmYWxzZSxcclxuICAgIGFza0JlZm9yZVBhc3RlSFRNTDogZmFsc2UsXHJcbiAgICBkZWZhdWx0QWN0aW9uT25QYXN0ZTogJ2luc2VydF9vbmx5X3RleHQnLFxyXG4gICAgYXNrQmVmb3JlUGFzdGVGcm9tV29yZDogZmFsc2UsXHJcbiAgICBoaWRlUG93ZXJlZEJ5Sm9kaXQ6IHRydWUsXHJcbiAgICBiZWF1dGlmeUhUTUw6IHRydWUsXHJcbiAgICBhZGROZXdMaW5lOiB0cnVlLFxyXG4gICAgY3JlYXRlQXR0cmlidXRlczoge30sXHJcbiAgICBldmVudHM6IHtcclxuICAgICAgZ2V0SWNvbjogY2hhbmdlSWNvbnNGdW5jdGlvbixcclxuICAgIH0sXHJcbiAgICAvLyB1cGxvYWRlcjoge1xyXG4gICAgLy8gICBpbnNlcnRJbWFnZUFzQmFzZTY0VVJJOiB0cnVlXHJcbiAgICAvLyB9LFxyXG4gICAgLy8gbGltaXRDaGFyczogMTAsXHJcbiAgICAvLyBsaW1pdEhUTUw6IDE3MCxcclxuICAgIC8vIGNvbG9yczogWycjZmYwMDAwJywgJyMwMGZmMDAnLCAnIzAwMDBmZicsICcjMDAwMGZmJywgJyMwMDAwZmYnLCAnIzAwMDBmZicsICcvJywgJyMwMDAwZmYnXSxcclxuICB9O1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHRvb2xiYXIhOiBUb29sYmFyQ29uZmlnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhMZW5ndGggPSAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5IZWlnaHQgPSAxMTA7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaWZyYW1lID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc6IGFueSA9IHRoaXMuZGVmYXVsdENvbmZpZztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRlZmF1bHRJbmxpbmVTdHlsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0QWN0aW9uT25QYXN0ZSA9ICdpbnNlcnRfb25seV90ZXh0JztcclxuICBASW5wdXQoKSBwdWJsaWMgYXNrQmVmb3JlUGFzdGVIVE1MID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGVkaXRIVE1MRG9jdW1lbnRNb2RlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGFza0JlZm9yZVBhc3RlRnJvbVdvcmQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvckVsZW1lbnRSZWYnKSBlZGl0b3JFbGVtZW50UmVmITogYW55O1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPElucHV0RWRpdG9yVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJbnB1dEVkaXRvclZhbHVlV2l0aElkPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWyd0b29sYmFyJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLmNoYW5nZXNbJ3Rvb2xiYXInXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydtYXhMZW5ndGgnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgbGltaXRDaGFyczogY2hhbmdlc1snbWF4TGVuZ3RoJ10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1sncGxhY2Vob2xkZXInXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgcGxhY2Vob2xkZXI6IGNoYW5nZXNbJ3BsYWNlaG9sZGVyJ10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgZGlzYWJsZWQ6IGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1sncmVhZG9ubHknXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgcmVhZG9ubHk6IGNoYW5nZXNbJ3JlYWRvbmx5J10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snaWZyYW1lJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIGlmcmFtZTogY2hhbmdlc1snaWZyYW1lJ10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snZGVmYXVsdElubGluZVN0eWxlJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIGNyZWF0ZUF0dHJpYnV0ZXM6IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLmNyZWF0ZUF0dHJpYnV0ZXMsIC4uLmRlZmF1bHRJbmxpbmVTdHlsZUNvbnN0YW50IH0gfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydlZGl0SFRNTERvY3VtZW50TW9kZSddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHtcclxuICAgICAgICAuLi50aGlzLmRlZmF1bHRDb25maWcsXHJcbiAgICAgICAgZWRpdEhUTUxEb2N1bWVudE1vZGU6IGNoYW5nZXNbJ2VkaXRIVE1MRG9jdW1lbnRNb2RlJ10uY3VycmVudFZhbHVlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snYXNrQmVmb3JlUGFzdGVIVE1MJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIGFza0JlZm9yZVBhc3RlSFRNTDogY2hhbmdlc1snYXNrQmVmb3JlUGFzdGVIVE1MJ10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snYXNrQmVmb3JlUGFzdGVGcm9tV29yZCddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHtcclxuICAgICAgICAuLi50aGlzLmRlZmF1bHRDb25maWcsXHJcbiAgICAgICAgYXNrQmVmb3JlUGFzdGVGcm9tV29yZDogY2hhbmdlc1snYXNrQmVmb3JlUGFzdGVGcm9tV29yZCddLmN1cnJlbnRWYWx1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2RlZmF1bHRBY3Rpb25PblBhc3RlJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0ge1xyXG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdENvbmZpZyxcclxuICAgICAgICBkZWZhdWx0QWN0aW9uT25QYXN0ZTogY2hhbmdlc1snZGVmYXVsdEFjdGlvbk9uUGFzdGUnXS5jdXJyZW50VmFsdWVcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydtaW5IZWlnaHQnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgbWluSGVpZ2h0OiBjaGFuZ2VzWydtaW5IZWlnaHQnXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uY2hhbmdlc1snY29uZmlnJ10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNJbnZhbGlkTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuaW52YWxpZE1lc3NhZ2UgfHwgISF0aGlzLmludmFsaWRNZXNzYWdlLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2hlY2tWYWxpZENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrSW52YWxpZCA9PT0gZmFsc2UgPyAnbXJ4LWlucHV0LWNoZWNrZWQtc3VjY2VzcycgOiB0aGlzLmNoZWNrSW52YWxpZCA9PT0gdHJ1ZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1lcnJvcicgOiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc30gJHt0aGlzLmNoZWNrVmFsaWRDbGFzc2VzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5zZXJ0UG9zaXRpb25UZXh0KHRleHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5lZGl0b3JFbGVtZW50UmVmLmVkaXRvci5zLmluc2VydEhUTUwodGV4dCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlRm9jdXNlZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKG91dHNpZGVWYWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5fc2FuaXRpemVWYWx1ZShvdXRzaWRlVmFsdWUpO1xyXG4gICAgaWYgKG91dHNpZGVWYWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLl9pc0luaXQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5tYXhMZW5ndGgpIHtcclxuICAgICAgdGhpcy5fY2FsY3VsYXRlQ2hhcnRzQ291bnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5faXNJbml0KSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBpbnNpZGVWYWx1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQoaW5zaWRlVmFsdWUpO1xyXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiBpbnNpZGVWYWx1ZSwgaWQ6IHRoaXMudXVpZH0pXHJcbiAgICAgIHRoaXMub25DaGFuZ2UoaW5zaWRlVmFsdWUpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2FuaXRpemVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnJlcGxhY2UoLzxzY3JpcHRcXGJbXjxdKig/Oig/ITxcXC9zY3JpcHQ+KTxbXjxdKikqPFxcL3NjcmlwdD4vZ2ksICcnKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2FsY3VsYXRlQ2hhcnRzQ291bnQoKSB7XHJcbiAgICB0aGlzLnZhbHVlTGVuZ3RoID0gdGhpcy5lZGl0b3JFbGVtZW50UmVmLmVkaXRvci50ZXh0LnJlcGxhY2UoL1xccysvZywgJycpLmxlbmd0aDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwibXJ4LWVkaXRvclwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC1mb2N1c2VkXT1cImlzRm9jdXNlZFwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC1lcnJvcl09XCIhaXNWYWxpZCB8fCBpbnZhbGlkXCJcclxuICBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiXHJcbj5cclxuICA8am9kaXQtZWRpdG9yXHJcbiAgICAjZWRpdG9yRWxlbWVudFJlZlxyXG4gICAgW2NvbmZpZ109XCJkZWZhdWx0Q29uZmlnXCJcclxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgKG9uRm9jdXMpPVwiY2hhbmdlRm9jdXNlZCh0cnVlKVwiXHJcbiAgICAob25CbHVyKT1cImNoYW5nZUZvY3VzZWQoZmFsc2UpXCJcclxuICA+PC9qb2RpdC1lZGl0b3I+XHJcblxyXG4gIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgKm5nSWY9XCIoIWlzVmFsaWQgfHwgaW52YWxpZCkgJiYgaXNJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIlxyXG4gID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG5cclxuICA8bXJ4LWNoYXJzLWxlZnQgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBbdmFsdWVMZW5ndGhdPVwidmFsdWVMZW5ndGhcIj48L21yeC1jaGFycy1sZWZ0PlxyXG5cclxuICA8bXJ4LXNhdmUtc3RhdGUgdHlwZT1cImVkaXRvclwiIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIj48L21yeC1zYXZlLXN0YXRlPlxyXG48L2Rpdj5cclxuIl19
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2VkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZWRpdG9yL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUFnQjNFLE1BQU0sT0FBTyxlQUFlO0lBZ0YxQixZQUFvQixlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUEvRTlDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGNBQVMsR0FBbUIsS0FBSyxDQUFDO1FBRWxDLGtCQUFhLEdBQVE7WUFDMUIsR0FBRyxjQUFjO1lBQ2pCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFFBQVEs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STtTQUNaO0tBQ0YscUtDakNILHV3QkF3QkE7MkZEV2EsZUFBZTtrQkFiM0IsU0FBUzsrQkFDRSxZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQXFEZSxNQUFNO3NCQUFyQixLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxNQUFNO3NCQUFyQixLQUFLO2dCQUVVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxvQkFBb0I7c0JBQW5DLEtBQUs7Z0JBQ1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUNVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFDVSxzQkFBc0I7c0JBQXJDLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBRXlCLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRVosT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUNVLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNoYW5nZUljb25zRnVuY3Rpb24gfSBmcm9tICcuL21vZHVsZXMvY2hhbmdlLWljb24tbW9kdWxlJztcclxuaW1wb3J0IHsgZGVmYXVsdFRvb2xiYXIgfSBmcm9tICcuL2NvbmZpZyc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgcG9wdXBUb29sYmFycyB9IGZyb20gJy4vY29uZmlnL3BvcHVwcy10b29sYmFyJztcclxuaW1wb3J0IHsgVG9vbGJhckNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL3Rvb2xiYXIubW9kZWwnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tcngtYXV0b3NhdmUvbXJ4LWF1dG9zYXZlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBkZWZhdWx0SW5saW5lU3R5bGVDb25zdGFudCB9IGZyb20gJy4vY29uZmlnL2RlZmF1bHQtaW5saW5lLXN0eWxlJztcclxuaW1wb3J0IHsgSW5wdXRFZGl0b3JWYWx1ZVdpdGhJZCB9IGZyb20gJy4vZWRpdG9yLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lZGl0b3IuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVkaXRvckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIF9pc0luaXQgPSBmYWxzZTtcclxuICBwdWJsaWMgdmFsdWUgPSAnJztcclxuICBwdWJsaWMgdmFsdWVMZW5ndGggPSAwO1xyXG4gIHB1YmxpYyBpc0ZvY3VzZWQ6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBkZWZhdWx0Q29uZmlnOiBhbnkgPSB7XHJcbiAgICAuLi5kZWZhdWx0VG9vbGJhcixcclxuICAgIHBvcHVwOiBwb3B1cFRvb2xiYXJzLFxyXG4gICAgbGFuZ3VhZ2U6ICdydScsXHJcbiAgICBzaG93Q2hhcnNDb3VudGVyOiBmYWxzZSxcclxuICAgIHNob3dXb3Jkc0NvdW50ZXI6IGZhbHNlLFxyXG4gICAgc2hvd1hQYXRoSW5TdGF0dXNiYXI6IGZhbHNlLFxyXG4gICAgbGluazoge1xyXG4gICAgICBub0ZvbGxvd0NoZWNrYm94OiBmYWxzZVxyXG4gICAgfSxcclxuICAgIG1pbkhlaWdodDogMTEwLFxyXG4gICAgaWZyYW1lOiBmYWxzZSxcclxuICAgIGltYWdlRGVmYXVsdFdpZHRoOiAyMDAsXHJcbiAgICBlZGl0SFRNTERvY3VtZW50TW9kZTogZmFsc2UsXHJcbiAgICBjbGVhbkhUTUw6IHtcclxuICAgICAgZmlsbEVtcHR5UGFyYWdyYXBoOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgcGxhY2Vob2xkZXI6ICcnLFxyXG4gICAgdG9vbGJhckFkYXB0aXZlOiBmYWxzZSxcclxuICAgIHRvb2xiYXJJbmxpbmU6IHRydWUsXHJcbiAgICB0b29sYmFySW5saW5lRm9yU2VsZWN0aW9uOiBmYWxzZSxcclxuICAgIHRvb2xiYXJJbmxpbmVEaXNhYmxlRm9yOiBbXSxcclxuICAgIHRvb2xiYXJJbmxpbmVEaXNhYmxlZEJ1dHRvbnM6IFsnc291cmNlJ10sXHJcbiAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICByZWFkb25seTogZmFsc2UsXHJcbiAgICBhc2tCZWZvcmVQYXN0ZUhUTUw6IGZhbHNlLFxyXG4gICAgZGVmYXVsdEFjdGlvbk9uUGFzdGU6ICdpbnNlcnRfb25seV90ZXh0JyxcclxuICAgIGFza0JlZm9yZVBhc3RlRnJvbVdvcmQ6IGZhbHNlLFxyXG4gICAgaGlkZVBvd2VyZWRCeUpvZGl0OiB0cnVlLFxyXG4gICAgYmVhdXRpZnlIVE1MOiB0cnVlLFxyXG4gICAgYWRkTmV3TGluZTogdHJ1ZSxcclxuICAgIGNyZWF0ZUF0dHJpYnV0ZXM6IHt9LFxyXG4gICAgZXZlbnRzOiB7XHJcbiAgICAgIGdldEljb246IGNoYW5nZUljb25zRnVuY3Rpb24sXHJcbiAgICB9LFxyXG4gICAgLy8gdXBsb2FkZXI6IHtcclxuICAgIC8vICAgaW5zZXJ0SW1hZ2VBc0Jhc2U2NFVSSTogdHJ1ZVxyXG4gICAgLy8gfSxcclxuICAgIC8vIGxpbWl0Q2hhcnM6IDEwLFxyXG4gICAgLy8gbGltaXRIVE1MOiAxNzAsXHJcbiAgICAvLyBjb2xvcnM6IFsnI2ZmMDAwMCcsICcjMDBmZjAwJywgJyMwMDAwZmYnLCAnIzAwMDBmZicsICcjMDAwMGZmJywgJyMwMDAwZmYnLCAnLycsICcjMDAwMGZmJ10sXHJcbiAgfTtcclxuXHJcbiAgLy8gU0FWRSBTVEFURVxyXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkdjQoKTtcclxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sYmFyITogVG9vbGJhckNvbmZpZztcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4TGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWluSGVpZ2h0ID0gMTEwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGlmcmFtZSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBhbnkgPSB0aGlzLmRlZmF1bHRDb25maWc7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0SW5saW5lU3R5bGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGVmYXVsdEFjdGlvbk9uUGFzdGUgPSAnaW5zZXJ0X29ubHlfdGV4dCc7XHJcbiAgQElucHV0KCkgcHVibGljIGFza0JlZm9yZVBhc3RlSFRNTCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlZGl0SFRNTERvY3VtZW50TW9kZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhc2tCZWZvcmVQYXN0ZUZyb21Xb3JkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBAVmlld0NoaWxkKCdlZGl0b3JFbGVtZW50UmVmJykgZWRpdG9yRWxlbWVudFJlZiE6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJbnB1dEVkaXRvclZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRFZGl0b3JWYWx1ZVdpdGhJZD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGJsdXJyZWQ6IEV2ZW50RW1pdHRlcjxJbnB1dEVkaXRvclZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRFZGl0b3JWYWx1ZVdpdGhJZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sndG9vbGJhciddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jaGFuZ2VzWyd0b29sYmFyJ10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snbWF4TGVuZ3RoJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIGxpbWl0Q2hhcnM6IGNoYW5nZXNbJ21heExlbmd0aCddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ3BsYWNlaG9sZGVyJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIHBsYWNlaG9sZGVyOiBjaGFuZ2VzWydwbGFjZWhvbGRlciddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIGRpc2FibGVkOiBjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ3JlYWRvbmx5J10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIHJlYWRvbmx5OiBjaGFuZ2VzWydyZWFkb25seSddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2lmcmFtZSddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBpZnJhbWU6IGNoYW5nZXNbJ2lmcmFtZSddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2RlZmF1bHRJbmxpbmVTdHlsZSddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBjcmVhdGVBdHRyaWJ1dGVzOiB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZy5jcmVhdGVBdHRyaWJ1dGVzLCAuLi5kZWZhdWx0SW5saW5lU3R5bGVDb25zdGFudCB9IH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snZWRpdEhUTUxEb2N1bWVudE1vZGUnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7XHJcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0Q29uZmlnLFxyXG4gICAgICAgIGVkaXRIVE1MRG9jdW1lbnRNb2RlOiBjaGFuZ2VzWydlZGl0SFRNTERvY3VtZW50TW9kZSddLmN1cnJlbnRWYWx1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2Fza0JlZm9yZVBhc3RlSFRNTCddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBhc2tCZWZvcmVQYXN0ZUhUTUw6IGNoYW5nZXNbJ2Fza0JlZm9yZVBhc3RlSFRNTCddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2Fza0JlZm9yZVBhc3RlRnJvbVdvcmQnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7XHJcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0Q29uZmlnLFxyXG4gICAgICAgIGFza0JlZm9yZVBhc3RlRnJvbVdvcmQ6IGNoYW5nZXNbJ2Fza0JlZm9yZVBhc3RlRnJvbVdvcmQnXS5jdXJyZW50VmFsdWVcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydkZWZhdWx0QWN0aW9uT25QYXN0ZSddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHtcclxuICAgICAgICAuLi50aGlzLmRlZmF1bHRDb25maWcsXHJcbiAgICAgICAgZGVmYXVsdEFjdGlvbk9uUGFzdGU6IGNoYW5nZXNbJ2RlZmF1bHRBY3Rpb25PblBhc3RlJ10uY3VycmVudFZhbHVlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snbWluSGVpZ2h0J10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIG1pbkhlaWdodDogY2hhbmdlc1snbWluSGVpZ2h0J10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLmNoYW5nZXNbJ2NvbmZpZyddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZS5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrVmFsaWRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja0ludmFsaWQgPT09IGZhbHNlID8gJ21yeC1pbnB1dC1jaGVja2VkLXN1Y2Nlc3MnIDogdGhpcy5jaGVja0ludmFsaWQgPT09IHRydWUgPyAnbXJ4LWlucHV0LWNoZWNrZWQtZXJyb3InIDogJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmN1c3RvbUNsYXNzZXN9ICR7dGhpcy5jaGVja1ZhbGlkQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydFBvc2l0aW9uVGV4dCh0ZXh0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZWRpdG9yRWxlbWVudFJlZi5lZGl0b3Iucy5pbnNlcnRIVE1MKHRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUZvY3VzZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gdmFsdWU7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICB9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShvdXRzaWRlVmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuX3Nhbml0aXplVmFsdWUob3V0c2lkZVZhbHVlKTtcclxuICAgIGlmIChvdXRzaWRlVmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5faXNJbml0ID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zYW5pdGl6ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHZhbHVlID8gdmFsdWUucmVwbGFjZSgvPHNjcmlwdFxcYltePF0qKD86KD8hPFxcL3NjcmlwdD4pPFtePF0qKSo8XFwvc2NyaXB0Pi9naSwgJycpIDogdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jYWxjdWxhdGVDaGFydHNDb3VudCgpIHtcclxuICAgIHRoaXMudmFsdWVMZW5ndGggPSB0aGlzLmVkaXRvckVsZW1lbnRSZWYuZWRpdG9yLnRleHQucmVwbGFjZSgvXFxzKy9nLCAnJykubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGluc2lkZVZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLm1heExlbmd0aCkge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGVDaGFydHNDb3VudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9pc0luaXQpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdChpbnNpZGVWYWx1ZSk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IGluc2lkZVZhbHVlLCBpZDogdGhpcy51dWlkfSlcclxuICAgICAgdGhpcy5vbkNoYW5nZShpbnNpZGVWYWx1ZSk7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25CbHVyKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmNoYW5nZUZvY3VzZWQodmFsdWUpXHJcbiAgICB0aGlzLmJsdXJyZWQuZW1pdCh7IHZhbHVlOiB0aGlzLnZhbHVlLCBpZDogdGhpcy51dWlkIH0pXHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cIm1yeC1lZGl0b3JcIlxyXG4gIFtjbGFzcy5tcngtaW5wdXQtZm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxyXG4gIFtjbGFzcy5tcngtaW5wdXQtZXJyb3JdPVwiIWlzVmFsaWQgfHwgaW52YWxpZFwiXHJcbiAgW2NsYXNzXT1cImdldENsYXNzZXNcIlxyXG4+XHJcbiAgPGpvZGl0LWVkaXRvclxyXG4gICAgI2VkaXRvckVsZW1lbnRSZWZcclxuICAgIFtjb25maWddPVwiZGVmYXVsdENvbmZpZ1wiXHJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXHJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcclxuICAgIChvbkZvY3VzKT1cImNoYW5nZUZvY3VzZWQodHJ1ZSlcIlxyXG4gICAgKG9uQmx1cik9XCJvbkJsdXIoZmFsc2UpXCJcclxuICA+PC9qb2RpdC1lZGl0b3I+XHJcblxyXG4gIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgKm5nSWY9XCIoIWlzVmFsaWQgfHwgaW52YWxpZCkgJiYgaXNJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIlxyXG4gID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG5cclxuICA8bXJ4LWNoYXJzLWxlZnQgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBbdmFsdWVMZW5ndGhdPVwidmFsdWVMZW5ndGhcIj48L21yeC1jaGFycy1sZWZ0PlxyXG5cclxuICA8bXJ4LXNhdmUtc3RhdGUgdHlwZT1cImVkaXRvclwiIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIj48L21yeC1zYXZlLXN0YXRlPlxyXG48L2Rpdj5cclxuIl19