myrta-ui 1.0.57 → 1.0.59

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.
@@ -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", "editHTMLDocumentMode", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed"] }], 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", "defaultInlineStyle", "config", "editHTMLDocumentMode", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed"] }], 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: [
@@ -0,0 +1,6 @@
1
+ export const defaultInlineStyleConstant = {
2
+ table: { style: 'border:1px solid #C5C6C8FF;border-collapse:collapse;width: 100%;' },
3
+ tr: { style: ' border: 1px solid #C5C6C8FF;' },
4
+ td: { style: ' border: 1px solid #C5C6C8FF;' }
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbmxpbmUtc3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9lZGl0b3IvY29uZmlnL2RlZmF1bHQtaW5saW5lLXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxrRUFBa0UsRUFBRTtJQUNwRixFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsK0JBQStCLEVBQUU7SUFDOUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLCtCQUErQixFQUFDO0NBQzlDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZGVmYXVsdElubGluZVN0eWxlQ29uc3RhbnQgPSB7XHJcbiAgdGFibGU6IHsgc3R5bGU6ICdib3JkZXI6MXB4IHNvbGlkICNDNUM2QzhGRjtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7d2lkdGg6IDEwMCU7JyB9LFxyXG4gIHRyOiB7IHN0eWxlOiAnIGJvcmRlcjogMXB4IHNvbGlkICNDNUM2QzhGRjsnIH0sXHJcbiAgdGQ6IHsgc3R5bGU6ICcgYm9yZGVyOiAxcHggc29saWQgI0M1QzZDOEZGOyd9XHJcbn1cclxuIl19
@@ -4,6 +4,7 @@ import { defaultToolbar } from './config';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { popupToolbars } from './config/popups-toolbar';
6
6
  import { v4 as uuidv4 } from 'uuid';
7
+ import { defaultInlineStyleConstant } from './config/default-inline-style';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "jodit-angular";
9
10
  import * as i2 from "../../error-message/error-message.component";
@@ -49,6 +50,7 @@ export class EditorComponent {
49
50
  hidePoweredByJodit: true,
50
51
  beautifyHTML: true,
51
52
  addNewLine: true,
53
+ createAttributes: {},
52
54
  events: {
53
55
  getIcon: changeIconsFunction,
54
56
  },
@@ -69,6 +71,7 @@ export class EditorComponent {
69
71
  this.disabled = false;
70
72
  this.readonly = false;
71
73
  this.iframe = false;
74
+ this.defaultInlineStyle = false;
72
75
  this.config = this.defaultConfig;
73
76
  this.editHTMLDocumentMode = false;
74
77
  this.invalid = false;
@@ -99,6 +102,9 @@ export class EditorComponent {
99
102
  if (changes['iframe']) {
100
103
  this.defaultConfig = { ...this.defaultConfig, iframe: changes['iframe'].currentValue };
101
104
  }
105
+ if (changes['defaultInlineStyle']) {
106
+ this.defaultConfig = { ...this.defaultConfig, createAttributes: { ...this.defaultConfig.createAttributes, ...defaultInlineStyleConstant } };
107
+ }
102
108
  if (changes['editHTMLDocumentMode']) {
103
109
  this.defaultConfig = {
104
110
  ...this.defaultConfig,
@@ -179,7 +185,7 @@ export class EditorComponent {
179
185
  }
180
186
  }
181
187
  EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
182
- 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", editHTMLDocumentMode: "editHTMLDocumentMode", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed" }, providers: [
188
+ 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", defaultInlineStyle: "defaultInlineStyle", config: "config", editHTMLDocumentMode: "editHTMLDocumentMode", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed" }, providers: [
183
189
  {
184
190
  provide: NG_VALUE_ACCESSOR,
185
191
  useExisting: forwardRef(() => EditorComponent),
@@ -213,6 +219,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
213
219
  type: Input
214
220
  }], iframe: [{
215
221
  type: Input
222
+ }], defaultInlineStyle: [{
223
+ type: Input
216
224
  }], config: [{
217
225
  type: Input
218
226
  }], editHTMLDocumentMode: [{
@@ -229,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
229
237
  }], changed: [{
230
238
  type: Output
231
239
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2VkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZWRpdG9yL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFnQnBDLE1BQU0sT0FBTyxlQUFlO0lBd0UxQixZQUFvQixlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUF2RTlDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGNBQVMsR0FBbUIsS0FBSyxDQUFDO1FBRWxDLGtCQUFhLEdBQVE7WUFDMUIsR0FBRyxjQUFjO1lBQ2pCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFFBQVEsRUFBRSxJQUFJO1lBQ2QsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IsSUFBSSxFQUFFO2dCQUNKLGdCQUFnQixFQUFFLEtBQUs7YUFDeEI7WUFDRCxTQUFTLEVBQUUsR0FBRztZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsaUJBQWlCLEVBQUUsR0FBRztZQUN0QixvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLFNBQVMsRUFBRTtnQkFDVCxrQkFBa0IsRUFBRSxJQUFJO2FBQ3pCO1lBQ0QsV0FBVyxFQUFFLEVBQUU7WUFDZixlQUFlLEVBQUUsS0FBSztZQUN0QixhQUFhLEVBQUUsSUFBSTtZQUNuQix5QkFBeUIsRUFBRSxLQUFLO1lBQ2hDLHVCQUF1QixFQUFFLEVBQUU7WUFDM0IsNEJBQTRCLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDeEMsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsS0FBSztZQUNmLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsb0JBQW9CLEVBQUUsa0JBQWtCO1lBQ3hDLHNCQUFzQixFQUFFLEtBQUs7WUFDN0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixZQUFZLEVBQUUsSUFBSTtZQUNsQixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUU7Z0JBQ04sT0FBTyxFQUFFLG1CQUFtQjthQUM3QjtZQUNELGNBQWM7WUFDZCxpQ0FBaUM7WUFDakMsS0FBSztZQUNMLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsOEZBQThGO1NBQy9GLENBQUM7UUFFRixhQUFhO1FBQ04sU0FBSSxHQUFXLE1BQU0sRUFBRSxDQUFDO1FBQ2YsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUdyQixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNoQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFdBQU0sR0FBUSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRWpDLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUU3QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLG1CQUFjLEdBQXNCLEVBQUUsQ0FBQztRQUN2QyxpQkFBWSxHQUF3QixJQUFJLENBQUM7UUFJeEMsWUFBTyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBOEVwRSxhQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUNsQyxDQUFDLENBQUM7UUFDTSxjQUFTLEdBQUcsR0FBRyxFQUFFO1FBQ3pCLENBQUMsQ0FBQztJQTlFRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDcEY7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDL0Y7UUFDRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDbEc7UUFDRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDNUY7UUFDRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDNUY7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEY7UUFDRCxJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUc7Z0JBQ25CLEdBQUcsSUFBSSxDQUFDLGFBQWE7Z0JBQ3JCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLFlBQVk7YUFDbkUsQ0FBQztTQUNIO1FBQ0QsSUFBSSxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ2hIO1FBQ0QsSUFBSSxPQUFPLENBQUMsd0JBQXdCLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHO2dCQUNuQixHQUFHLElBQUksQ0FBQyxhQUFhO2dCQUNyQixzQkFBc0IsRUFBRSxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxZQUFZO2FBQ3ZFLENBQUM7U0FDSDtRQUNELElBQUksT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRztnQkFDbkIsR0FBRyxJQUFJLENBQUMsYUFBYTtnQkFDckIsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUMsWUFBWTthQUNuRSxDQUFDO1NBQ0g7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDOUY7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ25GO0lBQ0gsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pJLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQVk7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFPTSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFZO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxVQUFVLENBQUMsWUFBaUI7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtZQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLFdBQW1CO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsS0FBYTtRQUNsQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxREFBcUQsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsRixDQUFDOzs0R0E3TFUsZUFBZTtnR0FBZixlQUFlLHNiQVJmO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQzlDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixxS0MvQkgsOHdCQXdCQTsyRkRTYSxlQUFlO2tCQWIzQixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0dBb0RlLE1BQU07c0JBQXJCLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBRVUsb0JBQW9CO3NCQUFuQyxLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUV5QixnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVaLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNoYW5nZUljb25zRnVuY3Rpb24gfSBmcm9tICcuL21vZHVsZXMvY2hhbmdlLWljb24tbW9kdWxlJztcclxuaW1wb3J0IHsgZGVmYXVsdFRvb2xiYXIgfSBmcm9tICcuL2NvbmZpZyc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgcG9wdXBUb29sYmFycyB9IGZyb20gJy4vY29uZmlnL3BvcHVwcy10b29sYmFyJztcclxuaW1wb3J0IHsgVG9vbGJhckNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL3Rvb2xiYXIubW9kZWwnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tcngtYXV0b3NhdmUvbXJ4LWF1dG9zYXZlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lZGl0b3IuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVkaXRvckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIF9pc0luaXQgPSBmYWxzZTtcclxuICBwdWJsaWMgdmFsdWUgPSAnJztcclxuICBwdWJsaWMgdmFsdWVMZW5ndGggPSAwO1xyXG4gIHB1YmxpYyBpc0ZvY3VzZWQ6IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBkZWZhdWx0Q29uZmlnOiBhbnkgPSB7XHJcbiAgICAuLi5kZWZhdWx0VG9vbGJhcixcclxuICAgIHBvcHVwOiBwb3B1cFRvb2xiYXJzLFxyXG4gICAgbGFuZ3VhZ2U6ICdydScsXHJcbiAgICBzaG93Q2hhcnNDb3VudGVyOiBmYWxzZSxcclxuICAgIHNob3dXb3Jkc0NvdW50ZXI6IGZhbHNlLFxyXG4gICAgc2hvd1hQYXRoSW5TdGF0dXNiYXI6IGZhbHNlLFxyXG4gICAgbGluazoge1xyXG4gICAgICBub0ZvbGxvd0NoZWNrYm94OiBmYWxzZVxyXG4gICAgfSxcclxuICAgIG1pbkhlaWdodDogMTEwLFxyXG4gICAgaWZyYW1lOiBmYWxzZSxcclxuICAgIGltYWdlRGVmYXVsdFdpZHRoOiAyMDAsXHJcbiAgICBlZGl0SFRNTERvY3VtZW50TW9kZTogZmFsc2UsXHJcbiAgICBjbGVhbkhUTUw6IHtcclxuICAgICAgZmlsbEVtcHR5UGFyYWdyYXBoOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgcGxhY2Vob2xkZXI6ICcnLFxyXG4gICAgdG9vbGJhckFkYXB0aXZlOiBmYWxzZSxcclxuICAgIHRvb2xiYXJJbmxpbmU6IHRydWUsXHJcbiAgICB0b29sYmFySW5saW5lRm9yU2VsZWN0aW9uOiBmYWxzZSxcclxuICAgIHRvb2xiYXJJbmxpbmVEaXNhYmxlRm9yOiBbXSxcclxuICAgIHRvb2xiYXJJbmxpbmVEaXNhYmxlZEJ1dHRvbnM6IFsnc291cmNlJ10sXHJcbiAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICByZWFkb25seTogZmFsc2UsXHJcbiAgICBhc2tCZWZvcmVQYXN0ZUhUTUw6IGZhbHNlLFxyXG4gICAgZGVmYXVsdEFjdGlvbk9uUGFzdGU6ICdpbnNlcnRfb25seV90ZXh0JyxcclxuICAgIGFza0JlZm9yZVBhc3RlRnJvbVdvcmQ6IGZhbHNlLFxyXG4gICAgaGlkZVBvd2VyZWRCeUpvZGl0OiB0cnVlLFxyXG4gICAgYmVhdXRpZnlIVE1MOiB0cnVlLFxyXG4gICAgYWRkTmV3TGluZTogdHJ1ZSxcclxuICAgIGV2ZW50czoge1xyXG4gICAgICBnZXRJY29uOiBjaGFuZ2VJY29uc0Z1bmN0aW9uLFxyXG4gICAgfSxcclxuICAgIC8vIHVwbG9hZGVyOiB7XHJcbiAgICAvLyAgIGluc2VydEltYWdlQXNCYXNlNjRVUkk6IHRydWVcclxuICAgIC8vIH0sXHJcbiAgICAvLyBsaW1pdENoYXJzOiAxMCxcclxuICAgIC8vIGxpbWl0SFRNTDogMTcwLFxyXG4gICAgLy8gY29sb3JzOiBbJyNmZjAwMDAnLCAnIzAwZmYwMCcsICcjMDAwMGZmJywgJyMwMDAwZmYnLCAnIzAwMDBmZicsICcjMDAwMGZmJywgJy8nLCAnIzAwMDBmZiddLFxyXG4gIH07XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZHY0KCk7XHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbGJhciE6IFRvb2xiYXJDb25maWc7XHJcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkhlaWdodCA9IDExMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpZnJhbWUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBhbnkgPSB0aGlzLmRlZmF1bHRDb25maWc7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBlZGl0SFRNTERvY3VtZW50TW9kZSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkTWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY2hlY2tJbnZhbGlkOiB0cnVlIHwgZmFsc2UgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZWRpdG9yRWxlbWVudFJlZicpIGVkaXRvckVsZW1lbnRSZWYhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sndG9vbGJhciddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jaGFuZ2VzWyd0b29sYmFyJ10uY3VycmVudFZhbHVlIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snbWF4TGVuZ3RoJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIGxpbWl0Q2hhcnM6IGNoYW5nZXNbJ21heExlbmd0aCddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ3BsYWNlaG9sZGVyJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIHBsYWNlaG9sZGVyOiBjaGFuZ2VzWydwbGFjZWhvbGRlciddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIGRpc2FibGVkOiBjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ3JlYWRvbmx5J10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIHJlYWRvbmx5OiBjaGFuZ2VzWydyZWFkb25seSddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2lmcmFtZSddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBpZnJhbWU6IGNoYW5nZXNbJ2lmcmFtZSddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2VkaXRIVE1MRG9jdW1lbnRNb2RlJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0ge1xyXG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdENvbmZpZyxcclxuICAgICAgICBlZGl0SFRNTERvY3VtZW50TW9kZTogY2hhbmdlc1snZWRpdEhUTUxEb2N1bWVudE1vZGUnXS5jdXJyZW50VmFsdWVcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydhc2tCZWZvcmVQYXN0ZUhUTUwnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgYXNrQmVmb3JlUGFzdGVIVE1MOiBjaGFuZ2VzWydhc2tCZWZvcmVQYXN0ZUhUTUwnXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydhc2tCZWZvcmVQYXN0ZUZyb21Xb3JkJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0ge1xyXG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdENvbmZpZyxcclxuICAgICAgICBhc2tCZWZvcmVQYXN0ZUZyb21Xb3JkOiBjaGFuZ2VzWydhc2tCZWZvcmVQYXN0ZUZyb21Xb3JkJ10uY3VycmVudFZhbHVlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snZGVmYXVsdEFjdGlvbk9uUGFzdGUnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7XHJcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0Q29uZmlnLFxyXG4gICAgICAgIGRlZmF1bHRBY3Rpb25PblBhc3RlOiBjaGFuZ2VzWydkZWZhdWx0QWN0aW9uT25QYXN0ZSddLmN1cnJlbnRWYWx1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ21pbkhlaWdodCddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBtaW5IZWlnaHQ6IGNoYW5nZXNbJ21pbkhlaWdodCddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2NvbmZpZyddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0ludmFsaWRNZXNzYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5pbnZhbGlkTWVzc2FnZSB8fCAhIXRoaXMuaW52YWxpZE1lc3NhZ2UubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjaGVja1ZhbGlkQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tJbnZhbGlkID09PSBmYWxzZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1zdWNjZXNzJyA6IHRoaXMuY2hlY2tJbnZhbGlkID09PSB0cnVlID8gJ21yeC1pbnB1dC1jaGVja2VkLWVycm9yJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzc2VzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbnNlcnRQb3NpdGlvblRleHQodGV4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmVkaXRvckVsZW1lbnRSZWYuZWRpdG9yLnMuaW5zZXJ0SFRNTCh0ZXh0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VGb2N1c2VkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUob3V0c2lkZVZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLl9zYW5pdGl6ZVZhbHVlKG91dHNpZGVWYWx1ZSk7XHJcbiAgICBpZiAob3V0c2lkZVZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGluc2lkZVZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLm1heExlbmd0aCkge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGVDaGFydHNDb3VudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9pc0luaXQpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdChpbnNpZGVWYWx1ZSk7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UoaW5zaWRlVmFsdWUpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2FuaXRpemVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnJlcGxhY2UoLzxzY3JpcHRcXGJbXjxdKig/Oig/ITxcXC9zY3JpcHQ+KTxbXjxdKikqPFxcL3NjcmlwdD4vZ2ksICcnKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2FsY3VsYXRlQ2hhcnRzQ291bnQoKSB7XHJcbiAgICB0aGlzLnZhbHVlTGVuZ3RoID0gdGhpcy5lZGl0b3JFbGVtZW50UmVmLmVkaXRvci50ZXh0LnJlcGxhY2UoL1xccysvZywgJycpLmxlbmd0aDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwibXJ4LWVkaXRvclwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC1mb2N1c2VkXT1cImlzRm9jdXNlZFwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC1lcnJvcl09XCIhaXNWYWxpZCB8fCBpbnZhbGlkXCJcclxuICBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiXHJcbj5cclxuICA8am9kaXQtZWRpdG9yXHJcbiAgICAjZWRpdG9yRWxlbWVudFJlZlxyXG4gICAgW2NvbmZpZ109XCJkZWZhdWx0Q29uZmlnXCJcclxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgKG9uRm9jdXMpPVwiY2hhbmdlRm9jdXNlZCh0cnVlKVwiXHJcbiAgICAob25CbHVyKT1cImNoYW5nZUZvY3VzZWQoZmFsc2UpXCJcclxuICA+PC9qb2RpdC1lZGl0b3I+XHJcblxyXG4gIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgKm5nSWY9XCIoIWlzVmFsaWQgfHwgaW52YWxpZCkgJiYgaXNJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIlxyXG4gID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG5cclxuICA8bXJ4LWNoYXJzLWxlZnQgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBbdmFsdWVMZW5ndGhdPVwidmFsdWVMZW5ndGhcIj48L21yeC1jaGFycy1sZWZ0PlxyXG5cclxuICA8bXJ4LXNhdmUtc3RhdGUgdHlwZT1cImVkaXRvclwiIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIj48L21yeC1zYXZlLXN0YXRlPlxyXG48L2Rpdj5cclxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2VkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZWRpdG9yL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUFlM0UsTUFBTSxPQUFPLGVBQWU7SUEwRTFCLFlBQW9CLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQXpFOUMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNqQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsY0FBUyxHQUFtQixLQUFLLENBQUM7UUFFbEMsa0JBQWEsR0FBUTtZQUMxQixHQUFHLGNBQWM7WUFDakIsS0FBSyxFQUFFLGFBQWE7WUFDcEIsUUFBUSxF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QXJCLEtBQUs7Z0JBRVUsb0JBQW9CO3NCQUFuQyxLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUV5QixnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVaLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNoYW5nZUljb25zRnVuY3Rpb24gfSBmcm9tICcuL21vZHVsZXMvY2hhbmdlLWljb24tbW9kdWxlJztcclxuaW1wb3J0IHsgZGVmYXVsdFRvb2xiYXIgfSBmcm9tICcuL2NvbmZpZyc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgcG9wdXBUb29sYmFycyB9IGZyb20gJy4vY29uZmlnL3BvcHVwcy10b29sYmFyJztcclxuaW1wb3J0IHsgVG9vbGJhckNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL3Rvb2xiYXIubW9kZWwnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tcngtYXV0b3NhdmUvbXJ4LWF1dG9zYXZlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBkZWZhdWx0SW5saW5lU3R5bGVDb25zdGFudCB9IGZyb20gJy4vY29uZmlnL2RlZmF1bHQtaW5saW5lLXN0eWxlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdG9yLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFZGl0b3JDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSBfaXNJbml0ID0gZmFsc2U7XHJcbiAgcHVibGljIHZhbHVlID0gJyc7XHJcbiAgcHVibGljIHZhbHVlTGVuZ3RoID0gMDtcclxuICBwdWJsaWMgaXNGb2N1c2VkOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZGVmYXVsdENvbmZpZzogYW55ID0ge1xyXG4gICAgLi4uZGVmYXVsdFRvb2xiYXIsXHJcbiAgICBwb3B1cDogcG9wdXBUb29sYmFycyxcclxuICAgIGxhbmd1YWdlOiAncnUnLFxyXG4gICAgc2hvd0NoYXJzQ291bnRlcjogZmFsc2UsXHJcbiAgICBzaG93V29yZHNDb3VudGVyOiBmYWxzZSxcclxuICAgIHNob3dYUGF0aEluU3RhdHVzYmFyOiBmYWxzZSxcclxuICAgIGxpbms6IHtcclxuICAgICAgbm9Gb2xsb3dDaGVja2JveDogZmFsc2VcclxuICAgIH0sXHJcbiAgICBtaW5IZWlnaHQ6IDExMCxcclxuICAgIGlmcmFtZTogZmFsc2UsXHJcbiAgICBpbWFnZURlZmF1bHRXaWR0aDogMjAwLFxyXG4gICAgZWRpdEhUTUxEb2N1bWVudE1vZGU6IGZhbHNlLFxyXG4gICAgY2xlYW5IVE1MOiB7XHJcbiAgICAgIGZpbGxFbXB0eVBhcmFncmFwaDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHBsYWNlaG9sZGVyOiAnJyxcclxuICAgIHRvb2xiYXJBZGFwdGl2ZTogZmFsc2UsXHJcbiAgICB0b29sYmFySW5saW5lOiB0cnVlLFxyXG4gICAgdG9vbGJhcklubGluZUZvclNlbGVjdGlvbjogZmFsc2UsXHJcbiAgICB0b29sYmFySW5saW5lRGlzYWJsZUZvcjogW10sXHJcbiAgICB0b29sYmFySW5saW5lRGlzYWJsZWRCdXR0b25zOiBbJ3NvdXJjZSddLFxyXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgcmVhZG9ubHk6IGZhbHNlLFxyXG4gICAgYXNrQmVmb3JlUGFzdGVIVE1MOiBmYWxzZSxcclxuICAgIGRlZmF1bHRBY3Rpb25PblBhc3RlOiAnaW5zZXJ0X29ubHlfdGV4dCcsXHJcbiAgICBhc2tCZWZvcmVQYXN0ZUZyb21Xb3JkOiBmYWxzZSxcclxuICAgIGhpZGVQb3dlcmVkQnlKb2RpdDogdHJ1ZSxcclxuICAgIGJlYXV0aWZ5SFRNTDogdHJ1ZSxcclxuICAgIGFkZE5ld0xpbmU6IHRydWUsXHJcbiAgICBjcmVhdGVBdHRyaWJ1dGVzOiB7fSxcclxuICAgIGV2ZW50czoge1xyXG4gICAgICBnZXRJY29uOiBjaGFuZ2VJY29uc0Z1bmN0aW9uLFxyXG4gICAgfSxcclxuICAgIC8vIHVwbG9hZGVyOiB7XHJcbiAgICAvLyAgIGluc2VydEltYWdlQXNCYXNlNjRVUkk6IHRydWVcclxuICAgIC8vIH0sXHJcbiAgICAvLyBsaW1pdENoYXJzOiAxMCxcclxuICAgIC8vIGxpbWl0SFRNTDogMTcwLFxyXG4gICAgLy8gY29sb3JzOiBbJyNmZjAwMDAnLCAnIzAwZmYwMCcsICcjMDAwMGZmJywgJyMwMDAwZmYnLCAnIzAwMDBmZicsICcjMDAwMGZmJywgJy8nLCAnIzAwMDBmZiddLFxyXG4gIH07XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZHY0KCk7XHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbGJhciE6IFRvb2xiYXJDb25maWc7XHJcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkhlaWdodCA9IDExMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpZnJhbWUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGVmYXVsdElubGluZVN0eWxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZzogYW55ID0gdGhpcy5kZWZhdWx0Q29uZmlnO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgZWRpdEhUTUxEb2N1bWVudE1vZGUgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvckVsZW1lbnRSZWYnKSBlZGl0b3JFbGVtZW50UmVmITogYW55O1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3Rvb2xiYXInXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uY2hhbmdlc1sndG9vbGJhciddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ21heExlbmd0aCddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBsaW1pdENoYXJzOiBjaGFuZ2VzWydtYXhMZW5ndGgnXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydwbGFjZWhvbGRlciddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBwbGFjZWhvbGRlcjogY2hhbmdlc1sncGxhY2Vob2xkZXInXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBkaXNhYmxlZDogY2hhbmdlc1snZGlzYWJsZWQnXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydyZWFkb25seSddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCByZWFkb25seTogY2hhbmdlc1sncmVhZG9ubHknXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydpZnJhbWUnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgaWZyYW1lOiBjaGFuZ2VzWydpZnJhbWUnXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydkZWZhdWx0SW5saW5lU3R5bGUnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgY3JlYXRlQXR0cmlidXRlczogeyAuLi50aGlzLmRlZmF1bHRDb25maWcuY3JlYXRlQXR0cmlidXRlcywgLi4uZGVmYXVsdElubGluZVN0eWxlQ29uc3RhbnQgfSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2VkaXRIVE1MRG9jdW1lbnRNb2RlJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0ge1xyXG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdENvbmZpZyxcclxuICAgICAgICBlZGl0SFRNTERvY3VtZW50TW9kZTogY2hhbmdlc1snZWRpdEhUTUxEb2N1bWVudE1vZGUnXS5jdXJyZW50VmFsdWVcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydhc2tCZWZvcmVQYXN0ZUhUTUwnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgYXNrQmVmb3JlUGFzdGVIVE1MOiBjaGFuZ2VzWydhc2tCZWZvcmVQYXN0ZUhUTUwnXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydhc2tCZWZvcmVQYXN0ZUZyb21Xb3JkJ10pIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0ge1xyXG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdENvbmZpZyxcclxuICAgICAgICBhc2tCZWZvcmVQYXN0ZUZyb21Xb3JkOiBjaGFuZ2VzWydhc2tCZWZvcmVQYXN0ZUZyb21Xb3JkJ10uY3VycmVudFZhbHVlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snZGVmYXVsdEFjdGlvbk9uUGFzdGUnXSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7XHJcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0Q29uZmlnLFxyXG4gICAgICAgIGRlZmF1bHRBY3Rpb25PblBhc3RlOiBjaGFuZ2VzWydkZWZhdWx0QWN0aW9uT25QYXN0ZSddLmN1cnJlbnRWYWx1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ21pbkhlaWdodCddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCBtaW5IZWlnaHQ6IGNoYW5nZXNbJ21pbkhlaWdodCddLmN1cnJlbnRWYWx1ZSB9O1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2NvbmZpZyddKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWUgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0ludmFsaWRNZXNzYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5pbnZhbGlkTWVzc2FnZSB8fCAhIXRoaXMuaW52YWxpZE1lc3NhZ2UubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjaGVja1ZhbGlkQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tJbnZhbGlkID09PSBmYWxzZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1zdWNjZXNzJyA6IHRoaXMuY2hlY2tJbnZhbGlkID09PSB0cnVlID8gJ21yeC1pbnB1dC1jaGVja2VkLWVycm9yJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzc2VzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbnNlcnRQb3NpdGlvblRleHQodGV4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmVkaXRvckVsZW1lbnRSZWYuZWRpdG9yLnMuaW5zZXJ0SFRNTCh0ZXh0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VGb2N1c2VkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUob3V0c2lkZVZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLl9zYW5pdGl6ZVZhbHVlKG91dHNpZGVWYWx1ZSk7XHJcbiAgICBpZiAob3V0c2lkZVZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGluc2lkZVZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLm1heExlbmd0aCkge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGVDaGFydHNDb3VudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9pc0luaXQpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdChpbnNpZGVWYWx1ZSk7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UoaW5zaWRlVmFsdWUpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2FuaXRpemVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnJlcGxhY2UoLzxzY3JpcHRcXGJbXjxdKig/Oig/ITxcXC9zY3JpcHQ+KTxbXjxdKikqPFxcL3NjcmlwdD4vZ2ksICcnKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2FsY3VsYXRlQ2hhcnRzQ291bnQoKSB7XHJcbiAgICB0aGlzLnZhbHVlTGVuZ3RoID0gdGhpcy5lZGl0b3JFbGVtZW50UmVmLmVkaXRvci50ZXh0LnJlcGxhY2UoL1xccysvZywgJycpLmxlbmd0aDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwibXJ4LWVkaXRvclwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC1mb2N1c2VkXT1cImlzRm9jdXNlZFwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC1lcnJvcl09XCIhaXNWYWxpZCB8fCBpbnZhbGlkXCJcclxuICBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiXHJcbj5cclxuICA8am9kaXQtZWRpdG9yXHJcbiAgICAjZWRpdG9yRWxlbWVudFJlZlxyXG4gICAgW2NvbmZpZ109XCJkZWZhdWx0Q29uZmlnXCJcclxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgKG9uRm9jdXMpPVwiY2hhbmdlRm9jdXNlZCh0cnVlKVwiXHJcbiAgICAob25CbHVyKT1cImNoYW5nZUZvY3VzZWQoZmFsc2UpXCJcclxuICA+PC9qb2RpdC1lZGl0b3I+XHJcblxyXG4gIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgKm5nSWY9XCIoIWlzVmFsaWQgfHwgaW52YWxpZCkgJiYgaXNJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIlxyXG4gID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG5cclxuICA8bXJ4LWNoYXJzLWxlZnQgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBbdmFsdWVMZW5ndGhdPVwidmFsdWVMZW5ndGhcIj48L21yeC1jaGFycy1sZWZ0PlxyXG5cclxuICA8bXJ4LXNhdmUtc3RhdGUgdHlwZT1cImVkaXRvclwiIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIj48L21yeC1zYXZlLXN0YXRlPlxyXG48L2Rpdj5cclxuIl19
@@ -24,12 +24,12 @@ export class HintErrorMessageComponent {
24
24
  this.checkInvalid = true;
25
25
  }
26
26
  get replaceMessage() {
27
- if (this.maxValue && this.message.includes('{diff}')) {
27
+ if ((this.maxValue || this.maxValue === 0) && this.message.includes('{diff}')) {
28
28
  return this.message
29
29
  .split('{diff}')
30
30
  .join(String(this.maxValue - this.retypeValue(this.value)));
31
31
  }
32
- if (this.minValue && this.message.includes('{diff}')) {
32
+ if ((this.minValue || this.minValue === 0) && this.message.includes('{diff}')) {
33
33
  return this.message
34
34
  .split('{diff}')
35
35
  .join(String(this.value).length < this.minValue ? String(this.minValue - String(this.value).length) : '0');
@@ -47,7 +47,7 @@ export class HintErrorMessageComponent {
47
47
  return this.message;
48
48
  }
49
49
  get getIsInvalid() {
50
- if (this.maxValue && this.minValue) {
50
+ if ((this.maxValue || this.maxValue === 0) && (this.minValue || this.minValue === 0)) {
51
51
  if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
52
52
  return true;
53
53
  }
@@ -56,7 +56,7 @@ export class HintErrorMessageComponent {
56
56
  }
57
57
  return this.maxValue - this.retypeValue(this.value) < 0 || this.retypeValue(this.value) - this.minValue < 0;
58
58
  }
59
- if (this.maxValue && !this.minValue) {
59
+ if ((this.maxValue || this.maxValue === 0) && !this.minValue) {
60
60
  if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
61
61
  return true;
62
62
  }
@@ -65,7 +65,7 @@ export class HintErrorMessageComponent {
65
65
  }
66
66
  return this.maxValue - this.retypeValue(this.value) < 0;
67
67
  }
68
- if (this.minValue && !this.maxValue) {
68
+ if ((this.minValue || this.minValue === 0) && !this.maxValue) {
69
69
  if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
70
70
  return true;
71
71
  }
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
120
120
  }], checkInvalid: [{
121
121
  type: Input
122
122
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9oaW50LWVycm9yLW1lc3NhZ2UvaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9oaW50LWVycm9yLW1lc3NhZ2UvaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8seUJBQXlCO0lBYnRDO1FBY1UsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUN2Qjs7OztXQUlHO1FBQ2EsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFVBQUssR0FBb0IsQ0FBQyxDQUFDO1FBQzNCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxpQkFBWSxHQUFtQixJQUFJLENBQUM7S0FnR3JEO0lBOUZDLElBQVcsY0FBYztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsT0FBTztpQkFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQztpQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzlEO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sSUFBSSxDQUFDLE9BQU87aUJBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUM7aUJBQ2YsSUFBSSxDQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FDcEcsQ0FBQTtTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JELE9BQU8sSUFBSSxDQUFDLE9BQU87aUJBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUM7aUJBQ2YsSUFBSSxDQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FDdEcsQ0FBQTtTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JELE9BQU8sSUFBSSxDQUFDLE9BQU87aUJBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUM7aUJBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtTQUM1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QU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQ3pCO1NBQ0Y7YUFBTTtZQUNMLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQixPQUFPLENBQUMsQ0FBQTthQUNUO1lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckI7UUFFRCxPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUM7O3NIQTVHVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix3T0NmdEMsNEtBS0E7MkZEVWEseUJBQXlCO2tCQWJyQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTs4QkFnQi9CLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtaGludC1lcnJvci1tZXNzYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaW50LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuLyoqXHJcbiAqIEBwYXJhbSBtZXNzYWdlIHN0cmluZyAodGV4dCDQuNC70LggSFRNTCkgPGJyLz5cclxuICogQHBhcmFtIHZhbHVlIG51bWJlciB8IHN0cmluZyA8YnIvPlxyXG4gKiBAcGFyYW0gbWF4VmFsdWU/IG51bWJlciA8YnIvPlxyXG4gKiBAcGFyYW0gbWluVmFsdWU/IG51bWJlciA8YnIvPlxyXG4gKiDQn9C10YDQtdC00LDQtdGC0YHRjyDQvtC00LjQvSDQuNC3INC/0LDRgNCw0LzQtdGC0YDQvtCyOiBtYXhWYWx1ZSwgbWluVmFsdWUsIG1pbkxlbmd0aCwgbWF4TGVuZ3RoXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSGludEVycm9yTWVzc2FnZUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBfaXNJbml0ID0gZmFsc2VcclxuICAvKipcclxuICAgKiDQn9GA0LjQvNC10YAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8gPGJyLz5cclxuICAgKiBtZXNzYWdlPVwi0J3QtSDQsdC+0LvQtdC1IHtkaWZmfSDQtNC90LXQuVwiIDxici8+XHJcbiAgICogQHBhcmFtIHtkaWZmfSA9IG1heFZhbHVlIC0gdmFsdWVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4VmFsdWUgPSAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5WYWx1ZSA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkxlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogYm9vbGVhbiB8IG51bGwgPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZ2V0IHJlcGxhY2VNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5tYXhWYWx1ZSAmJiB0aGlzLm1lc3NhZ2UuaW5jbHVkZXMoJ3tkaWZmfScpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VcclxuICAgICAgICAuc3BsaXQoJ3tkaWZmfScpXHJcbiAgICAgICAgLmpvaW4oU3RyaW5nKHRoaXMubWF4VmFsdWUgLSB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpKSlcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5taW5WYWx1ZSAmJiB0aGlzLm1lc3NhZ2UuaW5jbHVkZXMoJ3tkaWZmfScpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VcclxuICAgICAgICAuc3BsaXQoJ3tkaWZmfScpXHJcbiAgICAgICAgLmpvaW4oXHJcbiAgICAgICAgICBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoIDwgdGhpcy5taW5WYWx1ZSA/IFN0cmluZyh0aGlzLm1pblZhbHVlIC0gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCkgOiAnMCdcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWluTGVuZ3RoICYmIHRoaXMubWVzc2FnZS5pbmNsdWRlcygne2RpZmZ9JykpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVxyXG4gICAgICAgIC5zcGxpdCgne2RpZmZ9JylcclxuICAgICAgICAuam9pbihcclxuICAgICAgICAgIFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGggPCB0aGlzLm1pbkxlbmd0aCA/IFN0cmluZyh0aGlzLm1pbkxlbmd0aCAtIFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGgpIDogJzAnXHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiB0aGlzLm1lc3NhZ2UuaW5jbHVkZXMoJ3tkaWZmfScpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VcclxuICAgICAgICAuc3BsaXQoJ3tkaWZmfScpXHJcbiAgICAgICAgLmpvaW4oU3RyaW5nKHRoaXMubWF4TGVuZ3RoIC0gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCkpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJc0ludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5tYXhWYWx1ZSAmJiB0aGlzLm1pblZhbHVlKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZSAhPT0gJycgJiYgaXNOYU4ocGFyc2VGbG9hdCh0aGlzLnZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNOYU4odGhpcy52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5tYXhWYWx1ZSAtIHRoaXMucmV0eXBlVmFsdWUodGhpcy52YWx1ZSkgPCAwIHx8IHRoaXMucmV0eXBlVmFsdWUodGhpcy52YWx1ZSkgLSB0aGlzLm1pblZhbHVlIDwgMCA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWF4VmFsdWUgJiYgIXRoaXMubWluVmFsdWUpIHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnc3RyaW5nJyAmJiB0aGlzLnZhbHVlICE9PSAnJyAmJiBpc05hTihwYXJzZUZsb2F0KHRoaXMudmFsdWUpKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLm1heFZhbHVlIC0gdGhpcy5yZXR5cGVWYWx1ZSh0aGlzLnZhbHVlKSA8IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWluVmFsdWUgJiYgIXRoaXMubWF4VmFsdWUpIHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnc3RyaW5nJyAmJiB0aGlzLnZhbHVlICE9PSAnJyAmJiBpc05hTihwYXJzZUZsb2F0KHRoaXMudmFsdWUpKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLm1pblZhbHVlIC0gdGhpcy5yZXR5cGVWYWx1ZSh0aGlzLnZhbHVlKSA+IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWF4TGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1heExlbmd0aCAtIFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGggPCAwXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWluTGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1pbkxlbmd0aCAtIFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGggPiAwXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJldHlwZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKHZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiAwXHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFpc05hTihwYXJzZUZsb2F0KHZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSlcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiAwXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gMFxyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cIm1yeC1oaW50LWVycm9yLW1lc3NhZ2UgbXQtMVwiXHJcbiAgICBbY2xhc3MubXJ4LWludmFsaWQtbWVzc2FnZV09XCJnZXRJc0ludmFsaWQgJiYgY2hlY2tJbnZhbGlkXCJcclxuICAgIFtpbm5lckhUTUxdPVwicmVwbGFjZU1lc3NhZ2VcIlxyXG4+PC9kaXY+XHJcbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9oaW50LWVycm9yLW1lc3NhZ2UvaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9oaW50LWVycm9yLW1lc3NhZ2UvaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8seUJBQXlCO0lBYnRDO1FBY1UsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUN2Qjs7OztXQUlHO1FBQ2EsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFVBQUssR0FBb0IsQ0FBQyxDQUFDO1FBQzNCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxpQkFBWSxHQUFtQixJQUFJLENBQUM7S0FnR3JEO0lBOUZDLElBQVcsY0FBYztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdFLE9BQU8sSUFBSSxDQUFDLE9BQU87aUJBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUM7aUJBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFX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Q0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO1NBQ3REO1FBRUQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQXNCO1FBQ3hDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxDQUFDLENBQUE7YUFDVDtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzdCLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQ3pCO1NBQ0Y7YUFBTTtZQUNMLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQixPQUFPLENBQUMsQ0FBQTthQUNUO1lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckI7UUFFRCxPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUM7O3NIQTVHVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix3T0NmdEMsNEtBS0E7MkZEVWEseUJBQXlCO2tCQWJyQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTs4QkFnQi9CLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtaGludC1lcnJvci1tZXNzYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaW50LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuLyoqXHJcbiAqIEBwYXJhbSBtZXNzYWdlIHN0cmluZyAodGV4dCDQuNC70LggSFRNTCkgPGJyLz5cclxuICogQHBhcmFtIHZhbHVlIG51bWJlciB8IHN0cmluZyA8YnIvPlxyXG4gKiBAcGFyYW0gbWF4VmFsdWU/IG51bWJlciA8YnIvPlxyXG4gKiBAcGFyYW0gbWluVmFsdWU/IG51bWJlciA8YnIvPlxyXG4gKiDQn9C10YDQtdC00LDQtdGC0YHRjyDQvtC00LjQvSDQuNC3INC/0LDRgNCw0LzQtdGC0YDQvtCyOiBtYXhWYWx1ZSwgbWluVmFsdWUsIG1pbkxlbmd0aCwgbWF4TGVuZ3RoXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSGludEVycm9yTWVzc2FnZUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBfaXNJbml0ID0gZmFsc2VcclxuICAvKipcclxuICAgKiDQn9GA0LjQvNC10YAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8gPGJyLz5cclxuICAgKiBtZXNzYWdlPVwi0J3QtSDQsdC+0LvQtdC1IHtkaWZmfSDQtNC90LXQuVwiIDxici8+XHJcbiAgICogQHBhcmFtIHtkaWZmfSA9IG1heFZhbHVlIC0gdmFsdWVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4VmFsdWUgPSAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5WYWx1ZSA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkxlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogYm9vbGVhbiB8IG51bGwgPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZ2V0IHJlcGxhY2VNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoKHRoaXMubWF4VmFsdWUgfHwgdGhpcy5tYXhWYWx1ZSA9PT0gMCkgJiYgdGhpcy5tZXNzYWdlLmluY2x1ZGVzKCd7ZGlmZn0nKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlXHJcbiAgICAgICAgLnNwbGl0KCd7ZGlmZn0nKVxyXG4gICAgICAgIC5qb2luKFN0cmluZyh0aGlzLm1heFZhbHVlIC0gdGhpcy5yZXR5cGVWYWx1ZSh0aGlzLnZhbHVlKSkpXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCh0aGlzLm1pblZhbHVlIHx8IHRoaXMubWluVmFsdWUgPT09IDApICYmIHRoaXMubWVzc2FnZS5pbmNsdWRlcygne2RpZmZ9JykpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVxyXG4gICAgICAgIC5zcGxpdCgne2RpZmZ9JylcclxuICAgICAgICAuam9pbihcclxuICAgICAgICAgIFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGggPCB0aGlzLm1pblZhbHVlID8gU3RyaW5nKHRoaXMubWluVmFsdWUgLSBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoKSA6ICcwJ1xyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5taW5MZW5ndGggJiYgdGhpcy5tZXNzYWdlLmluY2x1ZGVzKCd7ZGlmZn0nKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlXHJcbiAgICAgICAgLnNwbGl0KCd7ZGlmZn0nKVxyXG4gICAgICAgIC5qb2luKFxyXG4gICAgICAgICAgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoID8gU3RyaW5nKHRoaXMubWluTGVuZ3RoIC0gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCkgOiAnMCdcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWF4TGVuZ3RoICYmIHRoaXMubWVzc2FnZS5pbmNsdWRlcygne2RpZmZ9JykpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVxyXG4gICAgICAgIC5zcGxpdCgne2RpZmZ9JylcclxuICAgICAgICAuam9pbihTdHJpbmcodGhpcy5tYXhMZW5ndGggLSBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoKSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldElzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIGlmICgodGhpcy5tYXhWYWx1ZSB8fCB0aGlzLm1heFZhbHVlID09PSAwKSAmJiAodGhpcy5taW5WYWx1ZSB8fCB0aGlzLm1pblZhbHVlID09PSAwKSkge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUgIT09ICcnICYmIGlzTmFOKHBhcnNlRmxvYXQodGhpcy52YWx1ZSkpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdudW1iZXInICYmIGlzTmFOKHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubWF4VmFsdWUgLSB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpIDwgMCB8fCB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpIC0gdGhpcy5taW5WYWx1ZSA8IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCh0aGlzLm1heFZhbHVlIHx8IHRoaXMubWF4VmFsdWUgPT09IDApICYmICF0aGlzLm1pblZhbHVlKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZSAhPT0gJycgJiYgaXNOYU4ocGFyc2VGbG9hdCh0aGlzLnZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNOYU4odGhpcy52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5tYXhWYWx1ZSAtIHRoaXMucmV0eXBlVmFsdWUodGhpcy52YWx1ZSkgPCAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgodGhpcy5taW5WYWx1ZSB8fCB0aGlzLm1pblZhbHVlID09PSAwKSAmJiAhdGhpcy5tYXhWYWx1ZSkge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUgIT09ICcnICYmIGlzTmFOKHBhcnNlRmxvYXQodGhpcy52YWx1ZSkpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdudW1iZXInICYmIGlzTmFOKHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubWluVmFsdWUgLSB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpID4gMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhMZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWF4TGVuZ3RoIC0gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCA8IDBcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5taW5MZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWluTGVuZ3RoIC0gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCA+IDBcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmV0eXBlVmFsdWUodmFsdWU6IG51bWJlciB8IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICBpZiAodmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgcmV0dXJuIDBcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWlzTmFOKHBhcnNlRmxvYXQodmFsdWUpKSkge1xyXG4gICAgICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoaXNOYU4odmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIDBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAwXHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIGNsYXNzPVwibXJ4LWhpbnQtZXJyb3ItbWVzc2FnZSBtdC0xXCJcclxuICAgIFtjbGFzcy5tcngtaW52YWxpZC1tZXNzYWdlXT1cImdldElzSW52YWxpZCAmJiBjaGVja0ludmFsaWRcIlxyXG4gICAgW2lubmVySFRNTF09XCJyZXBsYWNlTWVzc2FnZVwiXHJcbj48L2Rpdj5cclxuIl19
@@ -1602,12 +1602,12 @@ class HintErrorMessageComponent {
1602
1602
  this.checkInvalid = true;
1603
1603
  }
1604
1604
  get replaceMessage() {
1605
- if (this.maxValue && this.message.includes('{diff}')) {
1605
+ if ((this.maxValue || this.maxValue === 0) && this.message.includes('{diff}')) {
1606
1606
  return this.message
1607
1607
  .split('{diff}')
1608
1608
  .join(String(this.maxValue - this.retypeValue(this.value)));
1609
1609
  }
1610
- if (this.minValue && this.message.includes('{diff}')) {
1610
+ if ((this.minValue || this.minValue === 0) && this.message.includes('{diff}')) {
1611
1611
  return this.message
1612
1612
  .split('{diff}')
1613
1613
  .join(String(this.value).length < this.minValue ? String(this.minValue - String(this.value).length) : '0');
@@ -1625,7 +1625,7 @@ class HintErrorMessageComponent {
1625
1625
  return this.message;
1626
1626
  }
1627
1627
  get getIsInvalid() {
1628
- if (this.maxValue && this.minValue) {
1628
+ if ((this.maxValue || this.maxValue === 0) && (this.minValue || this.minValue === 0)) {
1629
1629
  if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
1630
1630
  return true;
1631
1631
  }
@@ -1634,7 +1634,7 @@ class HintErrorMessageComponent {
1634
1634
  }
1635
1635
  return this.maxValue - this.retypeValue(this.value) < 0 || this.retypeValue(this.value) - this.minValue < 0;
1636
1636
  }
1637
- if (this.maxValue && !this.minValue) {
1637
+ if ((this.maxValue || this.maxValue === 0) && !this.minValue) {
1638
1638
  if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
1639
1639
  return true;
1640
1640
  }
@@ -1643,7 +1643,7 @@ class HintErrorMessageComponent {
1643
1643
  }
1644
1644
  return this.maxValue - this.retypeValue(this.value) < 0;
1645
1645
  }
1646
- if (this.minValue && !this.maxValue) {
1646
+ if ((this.minValue || this.minValue === 0) && !this.maxValue) {
1647
1647
  if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
1648
1648
  return true;
1649
1649
  }
@@ -9977,6 +9977,12 @@ const popupToolbars = {
9977
9977
  ]
9978
9978
  };
9979
9979
 
9980
+ const defaultInlineStyleConstant = {
9981
+ table: { style: 'border:1px solid #C5C6C8FF;border-collapse:collapse;width: 100%;' },
9982
+ tr: { style: ' border: 1px solid #C5C6C8FF;' },
9983
+ td: { style: ' border: 1px solid #C5C6C8FF;' }
9984
+ };
9985
+
9980
9986
  class EditorComponent {
9981
9987
  constructor(changeDetection) {
9982
9988
  this.changeDetection = changeDetection;
@@ -9988,7 +9994,7 @@ class EditorComponent {
9988
9994
  noFollowCheckbox: false
9989
9995
  }, minHeight: 110, iframe: false, imageDefaultWidth: 200, editHTMLDocumentMode: false, cleanHTML: {
9990
9996
  fillEmptyParagraph: true
9991
- }, placeholder: '', toolbarAdaptive: false, toolbarInline: true, toolbarInlineForSelection: false, toolbarInlineDisableFor: [], toolbarInlineDisabledButtons: ['source'], disabled: false, readonly: false, askBeforePasteHTML: false, defaultActionOnPaste: 'insert_only_text', askBeforePasteFromWord: false, hidePoweredByJodit: true, beautifyHTML: true, addNewLine: true, events: {
9997
+ }, placeholder: '', toolbarAdaptive: false, toolbarInline: true, toolbarInlineForSelection: false, toolbarInlineDisableFor: [], toolbarInlineDisabledButtons: ['source'], disabled: false, readonly: false, askBeforePasteHTML: false, defaultActionOnPaste: 'insert_only_text', askBeforePasteFromWord: false, hidePoweredByJodit: true, beautifyHTML: true, addNewLine: true, createAttributes: {}, events: {
9992
9998
  getIcon: changeIconsFunction,
9993
9999
  } });
9994
10000
  // SAVE STATE
@@ -10001,6 +10007,7 @@ class EditorComponent {
10001
10007
  this.disabled = false;
10002
10008
  this.readonly = false;
10003
10009
  this.iframe = false;
10010
+ this.defaultInlineStyle = false;
10004
10011
  this.config = this.defaultConfig;
10005
10012
  this.editHTMLDocumentMode = false;
10006
10013
  this.invalid = false;
@@ -10031,6 +10038,9 @@ class EditorComponent {
10031
10038
  if (changes['iframe']) {
10032
10039
  this.defaultConfig = Object.assign(Object.assign({}, this.defaultConfig), { iframe: changes['iframe'].currentValue });
10033
10040
  }
10041
+ if (changes['defaultInlineStyle']) {
10042
+ this.defaultConfig = Object.assign(Object.assign({}, this.defaultConfig), { createAttributes: Object.assign(Object.assign({}, this.defaultConfig.createAttributes), defaultInlineStyleConstant) });
10043
+ }
10034
10044
  if (changes['editHTMLDocumentMode']) {
10035
10045
  this.defaultConfig = Object.assign(Object.assign({}, this.defaultConfig), { editHTMLDocumentMode: changes['editHTMLDocumentMode'].currentValue });
10036
10046
  }
@@ -10102,7 +10112,7 @@ class EditorComponent {
10102
10112
  }
10103
10113
  }
10104
10114
  EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10105
- 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", editHTMLDocumentMode: "editHTMLDocumentMode", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed" }, providers: [
10115
+ 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", defaultInlineStyle: "defaultInlineStyle", config: "config", editHTMLDocumentMode: "editHTMLDocumentMode", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed" }, providers: [
10106
10116
  {
10107
10117
  provide: NG_VALUE_ACCESSOR,
10108
10118
  useExisting: forwardRef(() => EditorComponent),
@@ -10136,6 +10146,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
10136
10146
  type: Input
10137
10147
  }], iframe: [{
10138
10148
  type: Input
10149
+ }], defaultInlineStyle: [{
10150
+ type: Input
10139
10151
  }], config: [{
10140
10152
  type: Input
10141
10153
  }], editHTMLDocumentMode: [{
@@ -10320,7 +10332,7 @@ DocumentEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
10320
10332
  useExisting: forwardRef(() => DocumentEditorComponent),
10321
10333
  multi: true,
10322
10334
  },
10323
- ], 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: ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType"], outputs: ["mrxClick"] }, { type: EditorComponent, selector: "mrx-editor", inputs: ["fields", "toolbar", "maxLength", "minHeight", "customClasses", "placeholder", "disabled", "readonly", "iframe", "config", "editHTMLDocumentMode", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed"] }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.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 });
10335
+ ], 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: ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType"], outputs: ["mrxClick"] }, { type: EditorComponent, selector: "mrx-editor", inputs: ["fields", "toolbar", "maxLength", "minHeight", "customClasses", "placeholder", "disabled", "readonly", "iframe", "defaultInlineStyle", "config", "editHTMLDocumentMode", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed"] }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.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 });
10324
10336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DocumentEditorComponent, decorators: [{
10325
10337
  type: Component,
10326
10338
  args: [{ selector: 'mrx-document-editor', changeDetection: ChangeDetectionStrategy.OnPush, providers: [