ecabs-components 1.1.77 → 1.1.79
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.
- package/README.md +3 -1
- package/esm2022/lib/base/directives/digits-only.directive.mjs +131 -19
- package/esm2022/lib/base/models/phone.models.mjs +1 -1
- package/esm2022/lib/base/utils/phone-number.utils.mjs +1 -1
- package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +1 -1
- package/esm2022/lib/ecabs-chip-group/ecabs-chip-group.component.mjs +10 -4
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +1 -1
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +1 -1
- package/esm2022/lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.component.mjs +1 -1
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +1 -1
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +7 -4
- package/esm2022/lib/ecabs-input-range/ecabs-input-range.component.mjs +1 -1
- package/esm2022/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.mjs +1 -1
- package/fesm2022/ecabs-components.mjs +151 -30
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/directives/digits-only.directive.d.ts +13 -2
- package/lib/ecabs-chip-group/ecabs-chip-group.component.d.ts +3 -1
- package/lib/ecabs-input/ecabs-input.component.d.ts +2 -1
- package/package.json +1 -1
- package/src/assets/styles/scss/modules/_chip.scss +64 -64
- package/src/assets/styles/scss/modules/_form.scss +312 -312
- package/src/assets/styles/scss/modules/_statuses.scss +36 -36
- package/src/assets/styles/scss/utilities/_colors.scss +56 -56
- package/src/assets/styles/tailwind/index.scss +1 -1
|
@@ -60,7 +60,7 @@ export class EcabsIncrementComponent extends EcabsElementBaseComponent {
|
|
|
60
60
|
useExisting: EcabsIncrementComponent,
|
|
61
61
|
multi: true,
|
|
62
62
|
},
|
|
63
|
-
], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"form-field__input--wrapper\">\n <input ecabsDigitsOnly [digitsOnly]=\"digitsOnly\" [decimal]=\"allowDecimal\" [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input\"\n [type]=\"type\"\n [id]=\"name\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxLength\"/>\n\n <div class=\"incrementor\">\n <mat-icon (click)=\"increment()\">add</mat-icon>\n <mat-icon (click)=\"decrement()\">remove</mat-icon>\n </div>\n </div>\n</ecabs-element-wrapper>\n", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400);--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #bb032a;--color-error-opacity: #FFF0EE;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-info-messages: #e3e9f3;--color-warning: #845201;--color-warning-opacity: #FDF2DC;--color-success: #166C3B;--color-success--opacity: #EAF6ED;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--mat-option-label-text-size: 13px}:host::ng-deep .incrementor{border-left:1px solid var(--color-gray-300);position:absolute;display:flex;flex-direction:column;top:1px;bottom:1px;right:1px}:host::ng-deep .incrementor .mat-icon{font-size:20px;font-size:1.25rem;margin-right:0;line-height:20px;cursor:pointer;text-align:center;flex:1}:host::ng-deep .incrementor .mat-icon:first-of-type{border-bottom:1px solid var(--color-gray-300)}:host::ng-deep .incrementor .mat-icon:hover{color:var(--color-brand-dark)}:host::ng-deep .form-field>div{line-height:1}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }] });
|
|
63
|
+
], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"form-field__input--wrapper\">\n <input ecabsDigitsOnly [digitsOnly]=\"digitsOnly\" [decimal]=\"allowDecimal\" [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input\"\n [type]=\"type\"\n [id]=\"name\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxLength\"/>\n\n <div class=\"incrementor\">\n <mat-icon (click)=\"increment()\">add</mat-icon>\n <mat-icon (click)=\"decrement()\">remove</mat-icon>\n </div>\n </div>\n</ecabs-element-wrapper>\n", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400);--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #bb032a;--color-error-opacity: #FFF0EE;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-info-messages: #e3e9f3;--color-warning: #845201;--color-warning-opacity: #FDF2DC;--color-success: #166C3B;--color-success--opacity: #EAF6ED;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--mat-option-label-text-size: 13px}:host::ng-deep .incrementor{border-left:1px solid var(--color-gray-300);position:absolute;display:flex;flex-direction:column;top:1px;bottom:1px;right:1px}:host::ng-deep .incrementor .mat-icon{font-size:20px;font-size:1.25rem;margin-right:0;line-height:20px;cursor:pointer;text-align:center;flex:1}:host::ng-deep .incrementor .mat-icon:first-of-type{border-bottom:1px solid var(--color-gray-300)}:host::ng-deep .incrementor .mat-icon:hover{color:var(--color-brand-dark)}:host::ng-deep .form-field>div{line-height:1}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "allowRange", "decimal", "decimalSeparator", "unit"] }] });
|
|
64
64
|
}
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsIncrementComponent, decorators: [{
|
|
66
66
|
type: Component,
|
|
@@ -15,6 +15,7 @@ export class EcabsInputComponent extends EcabsElementBaseComponent {
|
|
|
15
15
|
digitsOnly;
|
|
16
16
|
allowDecimal;
|
|
17
17
|
allowHyphen;
|
|
18
|
+
allowRange;
|
|
18
19
|
max;
|
|
19
20
|
mini;
|
|
20
21
|
maxi;
|
|
@@ -70,13 +71,13 @@ export class EcabsInputComponent extends EcabsElementBaseComponent {
|
|
|
70
71
|
this.onblur.emit(e);
|
|
71
72
|
}
|
|
72
73
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsInputComponent, deps: [{ token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsInputComponent, selector: "ecabs-input", inputs: { digitsOnly: "digitsOnly", allowDecimal: "allowDecimal", allowHyphen: "allowHyphen", max: "max", mini: "mini", maxi: "maxi", step: "step" }, outputs: { onblur: "onblur" }, providers: [
|
|
74
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsInputComponent, selector: "ecabs-input", inputs: { digitsOnly: "digitsOnly", allowDecimal: "allowDecimal", allowHyphen: "allowHyphen", allowRange: "allowRange", max: "max", mini: "mini", maxi: "maxi", step: "step" }, outputs: { onblur: "onblur" }, providers: [
|
|
74
75
|
{
|
|
75
76
|
provide: NG_VALUE_ACCESSOR,
|
|
76
77
|
useExisting: EcabsInputComponent,
|
|
77
78
|
multi: true,
|
|
78
79
|
},
|
|
79
|
-
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input #matCustomInput\r\n ecabsDigitsOnly\r\n [ngClass]=\"disabled ? 'form-field__input--disabled' : null\"\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i5.EcabsMinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: i5.EcabsMaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
|
|
80
|
+
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input #matCustomInput\r\n ecabsDigitsOnly\r\n [ngClass]=\"disabled ? 'form-field__input--disabled' : null\"\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n [allowRange]=\"allowRange\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "allowRange", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i5.EcabsMinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: i5.EcabsMaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
|
|
80
81
|
}
|
|
81
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsInputComponent, decorators: [{
|
|
82
83
|
type: Component,
|
|
@@ -86,7 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
86
87
|
useExisting: EcabsInputComponent,
|
|
87
88
|
multi: true,
|
|
88
89
|
},
|
|
89
|
-
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input #matCustomInput\r\n ecabsDigitsOnly\r\n [ngClass]=\"disabled ? 'form-field__input--disabled' : null\"\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
90
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input #matCustomInput\r\n ecabsDigitsOnly\r\n [ngClass]=\"disabled ? 'form-field__input--disabled' : null\"\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n [allowRange]=\"allowRange\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
90
91
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.DestroyRef }]; }, propDecorators: { matCustomInput: [{
|
|
91
92
|
type: ViewChild,
|
|
92
93
|
args: ['matCustomInput', { static: false }]
|
|
@@ -96,6 +97,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
96
97
|
type: Input
|
|
97
98
|
}], allowHyphen: [{
|
|
98
99
|
type: Input
|
|
100
|
+
}], allowRange: [{
|
|
101
|
+
type: Input
|
|
99
102
|
}], max: [{
|
|
100
103
|
type: Input
|
|
101
104
|
}], mini: [{
|
|
@@ -107,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
107
110
|
}], onblur: [{
|
|
108
111
|
type: Output
|
|
109
112
|
}] } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWlucHV0L2VjYWJzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1pbnB1dC9lY2Ficy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULFlBQVksRUFFWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFhaEUsTUFBTSxPQUFPLG1CQUNYLFNBQVEseUJBQXlCO0lBMEN2QjtJQUNTO0lBdkNuQixjQUFjLENBQWE7SUFHM0IsVUFBVSxDQUFXO0lBR3JCLFlBQVksQ0FBVztJQUd2QixXQUFXLENBQVc7SUFHdEIsVUFBVSxDQUFXO0lBRVosR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFVO0lBRWIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsR0FBRyxDQUFtQjtJQUV0QixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEdBQUc7UUFDWCxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRW5CLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEtBQUssTUFBTSxFQUFFO2dCQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFDVSxRQUFrQixFQUNULFVBQXNCO1FBRXZDLEtBQUssRUFBRSxDQUFDO1FBSEEsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNULGVBQVUsR0FBVixVQUFVLENBQVk7SUFHekMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUE2QixDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtpQkFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFekIsT0FBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUV4QixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVSxDQUFDLENBQU07UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDO3dHQXZGVSxtQkFBbUI7NEZBQW5CLG1CQUFtQixxUEFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsbUtDOUJILHdsQ0E4QkE7OzRGREVhLG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDRSxhQUFhLGFBRVo7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7NEJBQ2hDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dIQU9ELGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSTlDLFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFHRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBEZXN0cm95UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIE5nQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNJbnB1dENvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0lucHV0Q29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFY2Fic0VsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0XHJcbntcclxuICBAVmlld0NoaWxkKCdtYXRDdXN0b21JbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIG1hdEN1c3RvbUlucHV0OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpZ2l0c09ubHkhOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93RGVjaW1hbCE6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dIeXBoZW4hOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93UmFuZ2UhOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBtYXghOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbWluaSE6IG51bWJlcjtcclxuICBASW5wdXQoKSBtYXhpITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHN0ZXAhOiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKSBvbmJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICB2YWwhOiBzdHJpbmcgfCBudW1iZXI7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKHZhbCkge1xyXG4gICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMudmFsICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmdldERhdGEoKT8uY29udHJvbD8udXBkYXRlT24gIT09ICdibHVyJykge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCh2YWwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgdGhpcy5kaWdpdHNPbmx5ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBibHVyQ2hhbmdlKGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbmJsdXIuZW1pdChlKTtcclxuICB9XHJcbn1cclxuIiwiPGVjYWJzLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXdyYXBwZXJcIj5cclxuICAgIDxpbnB1dCAjbWF0Q3VzdG9tSW5wdXRcclxuICAgICAgICAgICBlY2Fic0RpZ2l0c09ubHlcclxuICAgICAgICAgICBbbmdDbGFzc109XCJkaXNhYmxlZCA/ICdmb3JtLWZpZWxkX19pbnB1dC0tZGlzYWJsZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICAgW2RpZ2l0c09ubHldPVwiZGlnaXRzT25seVwiXHJcbiAgICAgICAgICAgW2RlY2ltYWxdPVwiYWxsb3dEZWNpbWFsXCJcclxuICAgICAgICAgICBbYWxsb3dIeXBoZW5dPVwiYWxsb3dIeXBoZW5cIlxyXG4gICAgICAgICAgIFthbGxvd1JhbmdlXT1cImFsbG93UmFuZ2VcIlxyXG4gICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXRcIlxyXG4gICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAgICAgICAgW21pbmldPVwibWluaVwiXHJcbiAgICAgICAgICAgW21heGldPVwibWF4aVwiXHJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXHJcbiAgICAgICAgICAgW21heF09XCJtYXhcIlxyXG4gICAgICAgICAgIFtzdGVwXT1cInN0ZXBcIlxyXG4gICAgICAgICAgIChibHVyKT1cImJsdXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0tc3VmZml4XCIgKm5nSWY9XCJ0eXBlICE9PSAnbnVtYmVyJ1wiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtaWNvblwiPjwvbmctY29udGVudD5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnN1ZmZpeFwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2VjYWJzLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|
|
@@ -145,7 +145,7 @@ export class EcabsInputRangeComponent extends EcabsElementBaseComponent {
|
|
|
145
145
|
useExisting: EcabsInputRangeComponent,
|
|
146
146
|
multi: true,
|
|
147
147
|
},
|
|
148
|
-
], viewQueries: [{ propertyName: "toInput", first: true, predicate: ["toInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"rounded-xl flex flex-col gap-4\">\n <div\n class=\"form-field__range--wrapper\"\n [class.form-field--invalid]=\"hasAnyError\"\n >\n <input\n #fromInput\n ecabsDigitsOnly\n [digitsOnly]=\"digitsOnly\"\n [decimal]=\"allowDecimal\"\n [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input text-center border-0 outline-none bg-transparent\"\n type=\"number\"\n [id]=\"name + '-from'\"\n [mini]=\"min\"\n [maxi]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"fromPlaceholder\"\n [ngModel]=\"value.from\"\n (ngModelChange)=\"updateValue('from', $event)\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false)\"\n (keydown.enter)=\"focusToInput()\"\n />\n <span class=\"text-gray-500 text-base mx-4\">{{separatorText}}</span>\n <input\n #toInput\n ecabsDigitsOnly\n [digitsOnly]=\"digitsOnly\"\n [decimal]=\"allowDecimal\"\n [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input text-center border-0 outline-none bg-transparent\"\n type=\"number\"\n [id]=\"name + '-to'\"\n [mini]=\"value.from !== null ? value.from : min\"\n [maxi]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"toPlaceholder\"\n [ngModel]=\"value.to\"\n (ngModelChange)=\"updateValue('to', $event)\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false)\"\n />\n </div>\n </div>\n</ecabs-element-wrapper>", styles: [""], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i4.EcabsMinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: i4.EcabsMaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
|
|
148
|
+
], viewQueries: [{ propertyName: "toInput", first: true, predicate: ["toInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"rounded-xl flex flex-col gap-4\">\n <div\n class=\"form-field__range--wrapper\"\n [class.form-field--invalid]=\"hasAnyError\"\n >\n <input\n #fromInput\n ecabsDigitsOnly\n [digitsOnly]=\"digitsOnly\"\n [decimal]=\"allowDecimal\"\n [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input text-center border-0 outline-none bg-transparent\"\n type=\"number\"\n [id]=\"name + '-from'\"\n [mini]=\"min\"\n [maxi]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"fromPlaceholder\"\n [ngModel]=\"value.from\"\n (ngModelChange)=\"updateValue('from', $event)\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false)\"\n (keydown.enter)=\"focusToInput()\"\n />\n <span class=\"text-gray-500 text-base mx-4\">{{separatorText}}</span>\n <input\n #toInput\n ecabsDigitsOnly\n [digitsOnly]=\"digitsOnly\"\n [decimal]=\"allowDecimal\"\n [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input text-center border-0 outline-none bg-transparent\"\n type=\"number\"\n [id]=\"name + '-to'\"\n [mini]=\"value.from !== null ? value.from : min\"\n [maxi]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"toPlaceholder\"\n [ngModel]=\"value.to\"\n (ngModelChange)=\"updateValue('to', $event)\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false)\"\n />\n </div>\n </div>\n</ecabs-element-wrapper>", styles: [""], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "allowRange", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i4.EcabsMinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: i4.EcabsMaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
|
|
149
149
|
}
|
|
150
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsInputRangeComponent, decorators: [{
|
|
151
151
|
type: Component,
|
|
@@ -274,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
274
274
|
}], queryChanged: [{
|
|
275
275
|
type: Output
|
|
276
276
|
}] } });
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFPN0QsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsVUFBVSxFQUNWLEVBQUUsRUFDRixTQUFTLEVBQ1QsT0FBTyxFQUNQLEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFlaEUsTUFBTSxPQUFPLGlDQUNYLFNBQVEseUJBQXlCO0lBSWpDLGNBQWMsQ0FBYTtJQUczQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQ0ksZ0JBQWdCLENBQUMsS0FBMkI7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RUE7OzRGRG5CYSxpQ0FBaUM7a0JBWjdDLFNBQVM7K0JBQ0UsNkJBQTZCLGFBRzVCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUNBQW1DOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFPRCxjQUFjO3NCQURiLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUkxRCxjQUFjO3NCQURiLEtBQUs7Z0JBSUYsZ0JBQWdCO3NCQURuQixLQUFLO2dCQU1OLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxVQUFVO3NCQURsQixNQUFNO2dCQUlFLFlBQVk7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIE5nQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7IFdheXBvaW50VHlwZUVudW0gfSBmcm9tICcuLi9iYXNlL2NvbnN0cy93YXlwb2ludC5jb25zdHMnO1xyXG5pbXBvcnQge1xyXG4gIEdvb2dsZVBsYWNlUmVzdWx0LFxyXG4gIFdheXBvaW50UXVlcnlDaGFuZ2UsXHJcbiAgV2F5cG9pbnRTdWdnZXN0aW9uLFxyXG59IGZyb20gJy4uL2Jhc2UvbW9kZWxzL3dheXBvaW50Lm1vZGVscyc7XHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIGNvbWJpbmVMYXRlc3QsXHJcbiAgZGVib3VuY2VUaW1lLFxyXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxyXG4gIG1hcCxcclxuICBPYnNlcnZhYmxlLFxyXG4gIG9mLFxyXG4gIHN0YXJ0V2l0aCxcclxuICBTdWJqZWN0LFxyXG4gIHRhcCxcclxufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCBBdXRvY29tcGxldGVQcmVkaWN0aW9uID0gZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVByZWRpY3Rpb247XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS12MicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS12Mi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNQbGFjZUF1dG9jb21wbGV0ZVYyQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzUGxhY2VBdXRvY29tcGxldGVWMkNvbXBvbmVudFxyXG4gIGV4dGVuZHMgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgQFZpZXdDaGlsZCgnbWF0Q3VzdG9tQXV0b2NvbXBsZXRlSW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBtYXRDdXN0b21JbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93RGVsZXRlSXRlbSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB3YXlwb2ludHNIaXN0b3J5KHZhbHVlOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSkge1xyXG4gICAgdGhpcy53YXlwb2ludHNIaXN0b3J5JC5uZXh0KHZhbHVlID8/IFtdKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1N1ZmZpeCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvdW50cnlDb2RlID0gJ01UJztcclxuXHJcbiAgQElucHV0KClcclxuICBnb29nbGVMb2FkZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgd2F5cG9pbnRUeXBlOiBXYXlwb2ludFR5cGVFbnVtO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlYm91bmNlTXMgPSAyNDA7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJlYWRvbmx5IHBsYWNlUmVzdWx0OiBFdmVudEVtaXR0ZXI8R29vZ2xlUGxhY2VSZXN1bHQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBkZWxldGVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBxdWVyeUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFdheXBvaW50UXVlcnlDaGFuZ2U+KCk7XHJcblxyXG4gIGlzRm9jdXNlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICB3YXlwb2ludFN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxXYXlwb2ludFN1Z2dlc3Rpb25bXT47XHJcbiAgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgc2VsZWN0ZWRJbmRleCA9IC0xO1xyXG4gIGRpc3BsYXllZFN1Z2dlc3Rpb25zOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGlucHV0UXVlcnkkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgd2F5cG9pbnRzSGlzdG9yeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxyXG4gICAgV2F5cG9pbnRTdWdnZXN0aW9uW11cclxuICA+KFtdKTtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWUgPSAnJztcclxuICBwcml2YXRlIGF1dG9jb21wbGV0ZVNlcnZpY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXJ2aWNlO1xyXG4gIHByaXZhdGUgcGxhY2VzU2VydmljZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2U7XHJcbiAgcHJpdmF0ZSBzZXNzaW9uVG9rZW46IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXNzaW9uVG9rZW47XHJcbiAgcHJpdmF0ZSBpc1Jlc29sdmluZ1BsYWNlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgTUFYX1NVR0dFU1RJT05TID0gMTA7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBlbXB0eVN1Z2dlc3Rpb25zOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmFsdWUkLm5leHQodmFsdWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGdvb2dsZUxvYWRlZCB9ID0gY2hhbmdlcyA/PyB7fTtcclxuXHJcbiAgICBpZiAoZ29vZ2xlTG9hZGVkPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgdGhpcy5pbml0R29vZ2xlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG5cclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5wdXRRdWVyeSRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VNcyksXHJcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChxdWVyeSkgPT4ge1xyXG4gICAgICAgIHRoaXMucXVlcnlDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgd2F5cG9pbnRfdHlwZTogdGhpcy53YXlwb2ludFR5cGUsXHJcbiAgICAgICAgICBwbGFjZV9uYW1lOiBxdWVyeSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgY29uc3QgZ29vZ2xlU3VnZ2VzdGlvbnMkOiBPYnNlcnZhYmxlPFdheXBvaW50U3VnZ2VzdGlvbltdPiA9IGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICB0aGlzLmlzRm9jdXNlZCQsXHJcbiAgICAgIHRoaXMudmFsdWUkLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VNcyksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKChbaXNGb2N1c2VkLCB2YWx1ZV0pID0+XHJcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVTZXJ2aWNlICYmIGlzRm9jdXNlZCAmJiB2YWx1ZVxyXG4gICAgICAgICAgPyB0aGlzLmdldFBsYWNlc1Jlc3VsdHModmFsdWUpXHJcbiAgICAgICAgICA6IG9mKHRoaXMuZW1wdHlTdWdnZXN0aW9ucyksXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmVtcHR5U3VnZ2VzdGlvbnMpLFxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLndheXBvaW50U3VnZ2VzdGlvbnMkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIHRoaXMuaXNGb2N1c2VkJCxcclxuICAgICAgdGhpcy53YXlwb2ludHNIaXN0b3J5JCxcclxuICAgICAgZ29vZ2xlU3VnZ2VzdGlvbnMkLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbaXNGb2N1c2VkLCBoaXN0b3J5LCBnb29nbGVdKSA9PiB7XHJcbiAgICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmVtcHR5U3VnZ2VzdGlvbnM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBtZXJnZWQgPSBbLi4uKGhpc3RvcnkgPz8gW10pLCAuLi4oZ29vZ2xlID8/IFtdKV07XHJcblxyXG4gICAgICAgIHJldHVybiBtZXJnZWQuc2xpY2UoMCwgdGhpcy5NQVhfU1VHR0VTVElPTlMpOyAvLyBEcm9wZG93biBzaG93cyBtYXggMTAgaXRlbXMgdG90YWxcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoY2FwcGVkU3VnZ2VzdGlvbnMpID0+IHtcclxuICAgICAgICB0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zID0gY2FwcGVkU3VnZ2VzdGlvbnM7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gY2FwcGVkU3VnZ2VzdGlvbnM/Lmxlbmd0aCA/IDAgOiAtMTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgZ2V0UGxhY2VzUmVzdWx0cyhxdWVyeTogc3RyaW5nKTogT2JzZXJ2YWJsZTxXYXlwb2ludFN1Z2dlc3Rpb25bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZVNlcnZpY2UuZ2V0UGxhY2VQcmVkaWN0aW9ucyhcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpbnB1dDogcXVlcnksXHJcbiAgICAgICAgICBjb21wb25lbnRSZXN0cmljdGlvbnM6IHsgY291bnRyeTogdGhpcy5jb3VudHJ5Q29kZSB9LFxyXG4gICAgICAgICAgc2Vzc2lvblRva2VuOiB0aGlzLnNlc3Npb25Ub2tlbixcclxuICAgICAgICB9LFxyXG4gICAgICAgIChwcmVkaWN0aW9ucykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLnRvV2F5cG9pbnRTdWdnZXN0aW9ucyhwcmVkaWN0aW9ucykpO1xyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b1dheXBvaW50U3VnZ2VzdGlvbnMoXHJcbiAgICBwcmVkaWN0aW9uczogQXV0b2NvbXBsZXRlUHJlZGljdGlvbltdIHwgbnVsbCxcclxuICApOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAocHJlZGljdGlvbnMgPz8gW10pXHJcbiAgICAgICAgLy8gRHJvcHMgcHJlZGljdGlvbnMgd2l0aG91dCBhIHBsYWNlX2lkIGJlY2F1c2Ugc2VsZWN0aW9uIGFuZCBib29raW5nIGJvdGggcmVxdWlyZSBpdFxyXG4gICAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgICAoXHJcbiAgICAgICAgICAgIHByZWRpY3Rpb24sXHJcbiAgICAgICAgICApOiBwcmVkaWN0aW9uIGlzIEF1dG9jb21wbGV0ZVByZWRpY3Rpb24gJiB7IHBsYWNlX2lkOiBzdHJpbmcgfSA9PlxyXG4gICAgICAgICAgICAhIXByZWRpY3Rpb24ucGxhY2VfaWQsXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5tYXAoKHByZWRpY3Rpb24pID0+ICh7XHJcbiAgICAgICAgICBhZGRpdGlvbmFsX2luZm86IHByZWRpY3Rpb24uZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICBwbGFjZV9pZDogcHJlZGljdGlvbi5wbGFjZV9pZCxcclxuICAgICAgICAgIHByZWRpY3Rpb25fdGVybTogcHJlZGljdGlvbi50ZXJtcyxcclxuICAgICAgICB9KSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvblVzZXJJbnB1dChxdWVyeTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0UXVlcnkkLm5leHQocXVlcnkpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeVN1Z2dlc3Rpb24oaW5kZXg6IG51bWJlciwgc3VnZ2VzdGlvbjogV2F5cG9pbnRTdWdnZXN0aW9uKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGlkID1cclxuICAgICAgc3VnZ2VzdGlvbi5zdWdnZXN0aW9uX2lkID8/XHJcbiAgICAgIHN1Z2dlc3Rpb24ucGxhY2VfaWQgPz9cclxuICAgICAgc3VnZ2VzdGlvbi5hZGRpdGlvbmFsX2luZm8gPz9cclxuICAgICAgYCR7aW5kZXh9YDtcclxuXHJcbiAgICByZXR1cm4gc3VnZ2VzdGlvbi5wcmVkaWN0aW9uX3Rlcm0gPyBgZ29vZ2xlOiR7aWR9YCA6IGBoaXN0b3J5OiR7aWR9YDtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0U3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBXYXlwb2ludFN1Z2dlc3Rpb24pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzUmVzb2x2aW5nUGxhY2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgYWRkaXRpb25hbF9pbmZvLCBwbGFjZV9pZCB9ID0gc3VnZ2VzdGlvbiA/PyB7fTtcclxuXHJcbiAgICBpZiAoIXBsYWNlX2lkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzUmVzb2x2aW5nUGxhY2UgPSB0cnVlO1xyXG4gICAgdGhpcy52YWx1ZSA9IGFkZGl0aW9uYWxfaW5mbztcclxuICAgIHRoaXMuaXNGb2N1c2VkJC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICB0aGlzLnJlc29sdmVCeVBsYWNlSWQocGxhY2VfaWQsIGFkZGl0aW9uYWxfaW5mbyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc29sdmVCeVBsYWNlSWQocGxhY2VJZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhY2VzU2VydmljZS5nZXREZXRhaWxzKFxyXG4gICAgICB7XHJcbiAgICAgICAgcGxhY2VJZCxcclxuICAgICAgICBzZXNzaW9uVG9rZW46IHRoaXMuc2Vzc2lvblRva2VuLFxyXG4gICAgICAgIGZpZWxkczogWydhZGRyZXNzX2NvbXBvbmVudHMnLCAnZ2VvbWV0cnkubG9jYXRpb24nLCAncGxhY2VfaWQnXSxcclxuICAgICAgfSxcclxuICAgICAgKHBsYWNlLCBzdGF0dXMpID0+IHtcclxuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2VTdGF0dXMuT0sgJiYgcGxhY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5wbGFjZVJlc3VsdC5lbWl0KHsgcGxhY2UsIHRleHQgfSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BsYWNlIGRldGFpbHMgbG9va3VwIGZhaWxlZCcsIHsgc3RhdHVzLCBwbGFjZUlkIH0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMucmVzZXRTZXNzaW9uVG9rZW4oKTtcclxuICAgICAgICAgIHRoaXMuaXNSZXNvbHZpbmdQbGFjZSA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XHJcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPVxyXG4gICAgICAgICAgKHRoaXMuc2VsZWN0ZWRJbmRleCArIDEpICUgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9ucy5sZW5ndGg7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdBcnJvd1VwJzpcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9XHJcbiAgICAgICAgICAodGhpcy5zZWxlY3RlZEluZGV4IC0gMSArIHRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnMubGVuZ3RoKSAlXHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zLmxlbmd0aDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ0VudGVyJzpcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ID49IDApIHtcclxuICAgICAgICAgIHRoaXMub25TZWxlY3RTdWdnZXN0aW9uKFxyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zW3RoaXMuc2VsZWN0ZWRJbmRleF0sXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XHJcbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IC0xO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlICYmIHRoaXMuYXV0b2NvbXBsZXRlU2VydmljZSkge1xyXG4gICAgICB0aGlzLnJlc2V0U2Vzc2lvblRva2VuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5pc0ZvY3VzZWQkLm5leHQodHJ1ZSkpKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUobmV4dFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJycpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5leHQgPSBuZXh0VmFsdWUgPz8gJyc7XHJcblxyXG4gICAgaWYgKHRoaXMuX3ZhbHVlID09PSBuZXh0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl92YWx1ZSA9IG5leHQ7XHJcbiAgICB0aGlzLnZhbHVlJC5uZXh0KG5leHQpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIGRlbGV0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsZXRlSXRlbS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSAnJztcclxuICAgIHRoaXMuaW5wdXRRdWVyeSQubmV4dCgnJyk7XHJcbiAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgIHRoaXMubWF0Q3VzdG9tSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRHb29nbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVNlcnZpY2UgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlcnZpY2UoKTtcclxuXHJcbiAgICB0aGlzLnBsYWNlc1NlcnZpY2UgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2UoXHJcbiAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLFxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnJlc2V0U2Vzc2lvblRva2VuKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0U2Vzc2lvblRva2VuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXNzaW9uVG9rZW4gPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlc3Npb25Ub2tlbigpO1xyXG4gIH1cclxufVxyXG4iLCI8ZWNhYnMtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxuICA8ZGl2IGNsYXNzPVwiYXV0b2NvbXBsZXRlLXVpIHctZnVsbFwiPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXdyYXBwZXIgdy1mdWxsXCI+XG4gICAgICA8aW5wdXQgI21hdEN1c3RvbUF1dG9jb21wbGV0ZUlucHV0XG4gICAgICAgICAgICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICAgICAgICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICAgIFtpZF09XCJuYW1lXCJcbiAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHctZnVsbFwiXG4gICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcbiAgICAgICAgICAgICBzcGVsbGNoZWNrPVwib2ZmXCJcbiAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Vc2VySW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgLz5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93U3VmZml4XCJcbiAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0tc3VmZml4XCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNob3dEZWxldGVJdGVtXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VmZml4IGN1cnNvci1wb2ludGVyIGRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGVsZXRlKClcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZSgpXCI+XG4gICAgICAgICAgZGVsZXRlXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFzaG93RGVsZXRlSXRlbSAmJiB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInN1ZmZpeCBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbGVhcigpXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpXCI+XG4gICAgICAgICAgY2xvc2VcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgICA8IS0tIEN1c3RvbSBkcm9wZG93biAtLT5cbiAgICA8bmctdGVtcGxhdGUgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVdpZHRoXT1cInRyaWdnZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoXCJcbiAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImlzRm9jdXNlZCQgfCBhc3luY1wiPlxuICAgICAgPHVsIGNsYXNzPVwiYXV0b2NvbXBsZXRlLXVpX19jb250YWluZXJcIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHdheXBvaW50U3VnZ2VzdGlvbnMkIHwgYXN5bmM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlTdWdnZXN0aW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXV0b2NvbXBsZXRlLXVpLS1pdGVtIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBob3ZlcjpiZy1ncmF5LTEwMFwiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IHNlbGVjdGVkSW5kZXhcIlxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvblNlbGVjdFN1Z2dlc3Rpb24oc3VnZ2VzdGlvbilcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybTsgZWxzZSBwdXJlUGxhY2VSZXN1bHRUcGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAge3sgc3VnZ2VzdGlvbj8uYWRkaXRpb25hbF9pbmZvIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwicGgtcmVndWxhcjpjbG9jay1jb3VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctNSBoLTUgdGV4dC14bCB0ZXh0LWdyYXktNDAwIGhvdmVyOiF0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNwdXJlUGxhY2VSZXN1bHRUcGw+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJ3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtMSBsZWFkaW5nLTAgb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwXCI+XG4gICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm0/LlswXT8udmFsdWUgfX1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMV0/LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWdyYXktNjAwIHRydW5jYXRlXCI+XG4gICAgICAgICAgICAgICAge3sgc3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMV0/LnZhbHVlIHwgc2VwYXJhdG9yQXBwZW5kOiBzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm0/LlsyXT8udmFsdWUgfX1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMl0/LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWdyYXktNjAwIGZvbnQtc2VtaWJvbGQgdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm0/LlsyXT8udmFsdWUgfX1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2VjYWJzLWVsZW1lbnQtd3JhcHBlcj5cbiJdfQ==
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFPN0QsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsVUFBVSxFQUNWLEVBQUUsRUFDRixTQUFTLEVBQ1QsT0FBTyxFQUNQLEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFlaEUsTUFBTSxPQUFPLGlDQUNYLFNBQVEseUJBQXlCO0lBSWpDLGNBQWMsQ0FBYTtJQUczQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQ0ksZ0JBQWdCLENBQUMsS0FBMkI7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RUE7OzRGRG5CYSxpQ0FBaUM7a0JBWjdDLFNBQVM7K0JBQ0UsNkJBQTZCLGFBRzVCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUNBQW1DOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFPRCxjQUFjO3NCQURiLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUkxRCxjQUFjO3NCQURiLEtBQUs7Z0JBSUYsZ0JBQWdCO3NCQURuQixLQUFLO2dCQU1OLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxVQUFVO3NCQURsQixNQUFNO2dCQUlFLFlBQVk7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIE5nQ29udHJvbCxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XG5pbXBvcnQgeyBXYXlwb2ludFR5cGVFbnVtIH0gZnJvbSAnLi4vYmFzZS9jb25zdHMvd2F5cG9pbnQuY29uc3RzJztcbmltcG9ydCB7XG4gIEdvb2dsZVBsYWNlUmVzdWx0LFxuICBXYXlwb2ludFF1ZXJ5Q2hhbmdlLFxuICBXYXlwb2ludFN1Z2dlc3Rpb24sXG59IGZyb20gJy4uL2Jhc2UvbW9kZWxzL3dheXBvaW50Lm1vZGVscyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCBBdXRvY29tcGxldGVQcmVkaWN0aW9uID0gZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVByZWRpY3Rpb247XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS12MicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNQbGFjZUF1dG9jb21wbGV0ZVYyQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNhYnNQbGFjZUF1dG9jb21wbGV0ZVYyQ29tcG9uZW50XG4gIGV4dGVuZHMgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgQFZpZXdDaGlsZCgnbWF0Q3VzdG9tQXV0b2NvbXBsZXRlSW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbWF0Q3VzdG9tSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KClcbiAgc2hvd0RlbGV0ZUl0ZW0gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgd2F5cG9pbnRzSGlzdG9yeSh2YWx1ZTogV2F5cG9pbnRTdWdnZXN0aW9uW10pIHtcbiAgICB0aGlzLndheXBvaW50c0hpc3RvcnkkLm5leHQodmFsdWUgPz8gW10pO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2hvd1N1ZmZpeCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvdW50cnlDb2RlID0gJ01UJztcblxuICBASW5wdXQoKVxuICBnb29nbGVMb2FkZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgd2F5cG9pbnRUeXBlOiBXYXlwb2ludFR5cGVFbnVtO1xuXG4gIEBJbnB1dCgpXG4gIGRlYm91bmNlTXMgPSAyNDA7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlUmVzdWx0OiBFdmVudEVtaXR0ZXI8R29vZ2xlUGxhY2VSZXN1bHQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBkZWxldGVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBxdWVyeUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFdheXBvaW50UXVlcnlDaGFuZ2U+KCk7XG5cbiAgaXNGb2N1c2VkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICB3YXlwb2ludFN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxXYXlwb2ludFN1Z2dlc3Rpb25bXT47XG4gIHZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgc2VsZWN0ZWRJbmRleCA9IC0xO1xuICBkaXNwbGF5ZWRTdWdnZXN0aW9uczogV2F5cG9pbnRTdWdnZXN0aW9uW10gPSBbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlucHV0UXVlcnkkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHdheXBvaW50c0hpc3RvcnkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICBXYXlwb2ludFN1Z2dlc3Rpb25bXVxuICA+KFtdKTtcblxuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICBwcml2YXRlIGF1dG9jb21wbGV0ZVNlcnZpY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXJ2aWNlO1xuICBwcml2YXRlIHBsYWNlc1NlcnZpY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlO1xuICBwcml2YXRlIHNlc3Npb25Ub2tlbjogZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlc3Npb25Ub2tlbjtcbiAgcHJpdmF0ZSBpc1Jlc29sdmluZ1BsYWNlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBNQVhfU1VHR0VTVElPTlMgPSAxMDtcbiAgcHJpdmF0ZSByZWFkb25seSBlbXB0eVN1Z2dlc3Rpb25zOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgeyBnb29nbGVMb2FkZWQgfSA9IGNoYW5nZXMgPz8ge307XG5cbiAgICBpZiAoZ29vZ2xlTG9hZGVkPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuaW5pdEdvb2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xuXG4gICAgaWYgKG5nQ29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICAgIH1cblxuICAgIHRoaXMuaW5wdXRRdWVyeSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZU1zKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChxdWVyeSkgPT4ge1xuICAgICAgICB0aGlzLnF1ZXJ5Q2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICB3YXlwb2ludF90eXBlOiB0aGlzLndheXBvaW50VHlwZSxcbiAgICAgICAgICBwbGFjZV9uYW1lOiBxdWVyeSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIGNvbnN0IGdvb2dsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxXYXlwb2ludFN1Z2dlc3Rpb25bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuaXNGb2N1c2VkJCxcbiAgICAgIHRoaXMudmFsdWUkLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VNcyksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgIF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtpc0ZvY3VzZWQsIHZhbHVlXSkgPT5cbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVTZXJ2aWNlICYmIGlzRm9jdXNlZCAmJiB2YWx1ZVxuICAgICAgICAgID8gdGhpcy5nZXRQbGFjZXNSZXN1bHRzKHZhbHVlKVxuICAgICAgICAgIDogb2YodGhpcy5lbXB0eVN1Z2dlc3Rpb25zKSxcbiAgICAgICksXG4gICAgICBzdGFydFdpdGgodGhpcy5lbXB0eVN1Z2dlc3Rpb25zKSxcbiAgICApO1xuXG4gICAgdGhpcy53YXlwb2ludFN1Z2dlc3Rpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5pc0ZvY3VzZWQkLFxuICAgICAgdGhpcy53YXlwb2ludHNIaXN0b3J5JCxcbiAgICAgIGdvb2dsZVN1Z2dlc3Rpb25zJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbaXNGb2N1c2VkLCBoaXN0b3J5LCBnb29nbGVdKSA9PiB7XG4gICAgICAgIGlmICghaXNGb2N1c2VkKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZW1wdHlTdWdnZXN0aW9ucztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lcmdlZCA9IFsuLi4oaGlzdG9yeSA/PyBbXSksIC4uLihnb29nbGUgPz8gW10pXTtcblxuICAgICAgICByZXR1cm4gbWVyZ2VkLnNsaWNlKDAsIHRoaXMuTUFYX1NVR0dFU1RJT05TKTsgLy8gRHJvcGRvd24gc2hvd3MgbWF4IDEwIGl0ZW1zIHRvdGFsXG4gICAgICB9KSxcbiAgICAgIHRhcCgoY2FwcGVkU3VnZ2VzdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9ucyA9IGNhcHBlZFN1Z2dlc3Rpb25zO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBjYXBwZWRTdWdnZXN0aW9ucz8ubGVuZ3RoID8gMCA6IC0xO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgcHJpdmF0ZSBnZXRQbGFjZXNSZXN1bHRzKHF1ZXJ5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFdheXBvaW50U3VnZ2VzdGlvbltdPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVTZXJ2aWNlLmdldFBsYWNlUHJlZGljdGlvbnMoXG4gICAgICAgIHtcbiAgICAgICAgICBpbnB1dDogcXVlcnksXG4gICAgICAgICAgY29tcG9uZW50UmVzdHJpY3Rpb25zOiB7IGNvdW50cnk6IHRoaXMuY291bnRyeUNvZGUgfSxcbiAgICAgICAgICBzZXNzaW9uVG9rZW46IHRoaXMuc2Vzc2lvblRva2VuLFxuICAgICAgICB9LFxuICAgICAgICAocHJlZGljdGlvbnMpID0+IHtcbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLnRvV2F5cG9pbnRTdWdnZXN0aW9ucyhwcmVkaWN0aW9ucykpO1xuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHRvV2F5cG9pbnRTdWdnZXN0aW9ucyhcbiAgICBwcmVkaWN0aW9uczogQXV0b2NvbXBsZXRlUHJlZGljdGlvbltdIHwgbnVsbCxcbiAgKTogV2F5cG9pbnRTdWdnZXN0aW9uW10ge1xuICAgIHJldHVybiAoXG4gICAgICAocHJlZGljdGlvbnMgPz8gW10pXG4gICAgICAgIC8vIERyb3BzIHByZWRpY3Rpb25zIHdpdGhvdXQgYSBwbGFjZV9pZCBiZWNhdXNlIHNlbGVjdGlvbiBhbmQgYm9va2luZyBib3RoIHJlcXVpcmUgaXRcbiAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAoXG4gICAgICAgICAgICBwcmVkaWN0aW9uLFxuICAgICAgICAgICk6IHByZWRpY3Rpb24gaXMgQXV0b2NvbXBsZXRlUHJlZGljdGlvbiAmIHsgcGxhY2VfaWQ6IHN0cmluZyB9ID0+XG4gICAgICAgICAgICAhIXByZWRpY3Rpb24ucGxhY2VfaWQsXG4gICAgICAgIClcbiAgICAgICAgLm1hcCgocHJlZGljdGlvbikgPT4gKHtcbiAgICAgICAgICBhZGRpdGlvbmFsX2luZm86IHByZWRpY3Rpb24uZGVzY3JpcHRpb24sXG4gICAgICAgICAgcGxhY2VfaWQ6IHByZWRpY3Rpb24ucGxhY2VfaWQsXG4gICAgICAgICAgcHJlZGljdGlvbl90ZXJtOiBwcmVkaWN0aW9uLnRlcm1zLFxuICAgICAgICB9KSlcbiAgICApO1xuICB9XG5cbiAgb25Vc2VySW5wdXQocXVlcnk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRRdWVyeSQubmV4dChxdWVyeSk7XG4gIH1cblxuICB0cmFja0J5U3VnZ2VzdGlvbihpbmRleDogbnVtYmVyLCBzdWdnZXN0aW9uOiBXYXlwb2ludFN1Z2dlc3Rpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGlkID1cbiAgICAgIHN1Z2dlc3Rpb24uc3VnZ2VzdGlvbl9pZCA/P1xuICAgICAgc3VnZ2VzdGlvbi5wbGFjZV9pZCA/P1xuICAgICAgc3VnZ2VzdGlvbi5hZGRpdGlvbmFsX2luZm8gPz9cbiAgICAgIGAke2luZGV4fWA7XG5cbiAgICByZXR1cm4gc3VnZ2VzdGlvbi5wcmVkaWN0aW9uX3Rlcm0gPyBgZ29vZ2xlOiR7aWR9YCA6IGBoaXN0b3J5OiR7aWR9YDtcbiAgfVxuXG4gIG9uU2VsZWN0U3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBXYXlwb2ludFN1Z2dlc3Rpb24pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1Jlc29sdmluZ1BsYWNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBhZGRpdGlvbmFsX2luZm8sIHBsYWNlX2lkIH0gPSBzdWdnZXN0aW9uID8/IHt9O1xuXG4gICAgaWYgKCFwbGFjZV9pZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNSZXNvbHZpbmdQbGFjZSA9IHRydWU7XG4gICAgdGhpcy52YWx1ZSA9IGFkZGl0aW9uYWxfaW5mbztcbiAgICB0aGlzLmlzRm9jdXNlZCQubmV4dChmYWxzZSk7XG5cbiAgICB0aGlzLnJlc29sdmVCeVBsYWNlSWQocGxhY2VfaWQsIGFkZGl0aW9uYWxfaW5mbyk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVCeVBsYWNlSWQocGxhY2VJZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBsYWNlc1NlcnZpY2UuZ2V0RGV0YWlscyhcbiAgICAgIHtcbiAgICAgICAgcGxhY2VJZCxcbiAgICAgICAgc2Vzc2lvblRva2VuOiB0aGlzLnNlc3Npb25Ub2tlbixcbiAgICAgICAgZmllbGRzOiBbJ2FkZHJlc3NfY29tcG9uZW50cycsICdnZW9tZXRyeS5sb2NhdGlvbicsICdwbGFjZV9pZCddLFxuICAgICAgfSxcbiAgICAgIChwbGFjZSwgc3RhdHVzKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2VTdGF0dXMuT0sgJiYgcGxhY2UpIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2VSZXN1bHQuZW1pdCh7IHBsYWNlLCB0ZXh0IH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BsYWNlIGRldGFpbHMgbG9va3VwIGZhaWxlZCcsIHsgc3RhdHVzLCBwbGFjZUlkIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucmVzZXRTZXNzaW9uVG9rZW4oKTtcbiAgICAgICAgICB0aGlzLmlzUmVzb2x2aW5nUGxhY2UgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPVxuICAgICAgICAgICh0aGlzLnNlbGVjdGVkSW5kZXggKyAxKSAlIHRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnMubGVuZ3RoO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9XG4gICAgICAgICAgKHRoaXMuc2VsZWN0ZWRJbmRleCAtIDEgKyB0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zLmxlbmd0aCkgJVxuICAgICAgICAgIHRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnMubGVuZ3RoO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggPj0gMCkge1xuICAgICAgICAgIHRoaXMub25TZWxlY3RTdWdnZXN0aW9uKFxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9uc1t0aGlzLnNlbGVjdGVkSW5kZXhdLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gLTE7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5vblRvdWNoKCk7XG4gIH1cblxuICBvbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy52YWx1ZSAmJiB0aGlzLmF1dG9jb21wbGV0ZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMucmVzZXRTZXNzaW9uVG9rZW4oKTtcbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmlzRm9jdXNlZCQubmV4dCh0cnVlKSkpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShuZXh0VmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJyk6IHZvaWQge1xuICAgIGNvbnN0IG5leHQgPSBuZXh0VmFsdWUgPz8gJyc7XG5cbiAgICBpZiAodGhpcy5fdmFsdWUgPT09IG5leHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl92YWx1ZSA9IG5leHQ7XG4gICAgdGhpcy52YWx1ZSQubmV4dChuZXh0KTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIGRlbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZUl0ZW0uZW1pdCgpO1xuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIHRoaXMuaW5wdXRRdWVyeSQubmV4dCgnJyk7XG4gICAgdGhpcy5vblRvdWNoKCk7XG4gICAgdGhpcy5tYXRDdXN0b21JbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEdvb2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVNlcnZpY2UgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlcnZpY2UoKTtcblxuICAgIHRoaXMucGxhY2VzU2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZShcbiAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLFxuICAgICk7XG5cbiAgICB0aGlzLnJlc2V0U2Vzc2lvblRva2VuKCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0U2Vzc2lvblRva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuc2Vzc2lvblRva2VuID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXNzaW9uVG9rZW4oKTtcbiAgfVxufVxuIiwiPGVjYWJzLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cbiAgPGRpdiBjbGFzcz1cImF1dG9jb21wbGV0ZS11aSB3LWZ1bGxcIj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS13cmFwcGVyIHctZnVsbFwiPlxuICAgICAgPGlucHV0ICNtYXRDdXN0b21BdXRvY29tcGxldGVJbnB1dFxuICAgICAgICAgICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAgICAgICAgICAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAgICBbaWRdPVwibmFtZVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB3LWZ1bGxcIlxuICAgICAgICAgICAgIGF1dG9jb3JyZWN0PVwib2ZmXCJcbiAgICAgICAgICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICAgICAgICAgc3BlbGxjaGVjaz1cIm9mZlwiXG4gICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVXNlcklucHV0KCRldmVudClcIlxuICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgIC8+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd1N1ZmZpeFwiXG4gICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXN1ZmZpeFwiPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzaG93RGVsZXRlSXRlbVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInN1ZmZpeCBjdXJzb3ItcG9pbnRlciBkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRlbGV0ZSgpXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGUoKVwiPlxuICAgICAgICAgIGRlbGV0ZVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCIhc2hvd0RlbGV0ZUl0ZW0gJiYgdmFsdWVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWZmaXggY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY2xlYXIoKVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoKVwiPlxuICAgICAgICAgIGNsb3NlXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gICAgPCEtLSBDdXN0b20gZHJvcGRvd24gLS0+XG4gICAgPG5nLXRlbXBsYXRlIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJ0cmlnZ2VyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFwiXG4gICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc0ZvY3VzZWQkIHwgYXN5bmNcIj5cbiAgICAgIDx1bCBjbGFzcz1cImF1dG9jb21wbGV0ZS11aV9fY29udGFpbmVyXCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgc3VnZ2VzdGlvbiBvZiB3YXlwb2ludFN1Z2dlc3Rpb25zJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5U3VnZ2VzdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cImF1dG9jb21wbGV0ZS11aS0taXRlbSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaG92ZXI6YmctZ3JheS0xMDBcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBzZWxlY3RlZEluZGV4XCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25TZWxlY3RTdWdnZXN0aW9uKHN1Z2dlc3Rpb24pXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm07IGVsc2UgcHVyZVBsYWNlUmVzdWx0VHBsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIHRydW5jYXRlXCI+XG4gICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24/LmFkZGl0aW9uYWxfaW5mbyB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInBoLXJlZ3VsYXI6Y2xvY2stY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTUgaC01IHRleHQteGwgdGV4dC1ncmF5LTQwMCBob3ZlcjohdGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcHVyZVBsYWNlUmVzdWx0VHBsPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwidy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgbGVhZGluZy0wIG92ZXJmbG93LWhpZGRlbiB3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAge3sgc3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMF0/LnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cInN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybT8uWzFdPy52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1ncmF5LTYwMCB0cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybT8uWzFdPy52YWx1ZSB8IHNlcGFyYXRvckFwcGVuZDogc3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMl0/LnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cInN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybT8uWzJdPy52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1ncmF5LTYwMCBmb250LXNlbWlib2xkIHRydW5jYXRlXCI+XG4gICAgICAgICAgICAgICAge3sgc3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMl0/LnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9lY2Ficy1lbGVtZW50LXdyYXBwZXI+XG4iXX0=
|