@acorex/components 7.1.47 → 7.1.49

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.
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
20
20
  providers: [],
21
21
  }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3N3aXRjaC9zcmMvc3dpdGNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUV0RSxNQU1hLGNBQWM7dUdBQWQsY0FBYzt3R0FBZCxjQUFjLGlCQUxWLGlCQUFpQixFQUFDLHdCQUF3QixhQUMvQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsYUFDMUMsaUJBQWlCLEVBQUMsd0JBQXdCO3dHQUd6QyxjQUFjLFlBSmYsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlOztTQUl6QyxjQUFjOzJGQUFkLGNBQWM7a0JBTjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUMsd0JBQXdCLENBQUM7b0JBQzFELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDO29CQUNyRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBQyx3QkFBd0IsQ0FBQztvQkFDckQsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhTd2l0Y2hDb21wb25lbnQgfSBmcm9tICcuL3N3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhTd2l0Y2hDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9zd2l0Y2gtY29udGVudC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBWFN3aXRjaENvbXBvbmVudCxBWFN3aXRjaENvbnRlbnRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhMb2FkaW5nTW9kdWxlXSxcbiAgZXhwb3J0czogW0FYU3dpdGNoQ29tcG9uZW50LEFYU3dpdGNoQ29udGVudENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYU3dpdGNoTW9kdWxlIHt9XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3N3aXRjaC9zcmMvc3dpdGNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUV0RSxNQU1hLGNBQWM7dUdBQWQsY0FBYzt3R0FBZCxjQUFjLGlCQUxWLGlCQUFpQixFQUFFLHdCQUF3QixhQUNoRCxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsYUFDMUMsaUJBQWlCLEVBQUUsd0JBQXdCO3dHQUcxQyxjQUFjLFlBSmYsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlOztTQUl6QyxjQUFjOzJGQUFkLGNBQWM7a0JBTjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUM7b0JBQzNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDO29CQUNyRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQztvQkFDdEQsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhTd2l0Y2hDb21wb25lbnQgfSBmcm9tICcuL3N3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhTd2l0Y2hDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9zd2l0Y2gtY29udGVudC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBWFN3aXRjaENvbXBvbmVudCwgQVhTd2l0Y2hDb250ZW50Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIEFYTG9hZGluZ01vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFN3aXRjaENvbXBvbmVudCwgQVhTd2l0Y2hDb250ZW50Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhTd2l0Y2hNb2R1bGUge31cbiJdfQ==
@@ -10,11 +10,11 @@ export { AXMaskOptionsDirective };
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AXMaskOptionsDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
- selector: 'ax-mask-options'
13
+ selector: 'ax-mask-options',
14
14
  }]
15
15
  }], propDecorators: { mask: [{
16
16
  type: Input
17
17
  }], updateValue: [{
18
18
  type: Input
19
19
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay1vcHRpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3RleHRib3gvc3JjL21hc2stb3B0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV2pELE1BR2Esc0JBQXNCO0lBRy9CLElBQUksQ0FBcUM7SUFHekMsV0FBVyxDQUE4Qzt1R0FOaEQsc0JBQXNCOzJGQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7aUJBQzlCOzhCQUlHLElBQUk7c0JBREgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbnlNYXNrZWRPcHRpb25zIH0gZnJvbSAnaW1hc2snO1xuXG5cbmV4cG9ydCB0eXBlIEFYTWFza09wdGlvbnMgPSBBbnlNYXNrZWRPcHRpb25zO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYTWFza09wdGlvbnNJbnRlcmZhY2Uge1xuICAgIG1hc2s6IEFueU1hc2tlZE9wdGlvbnMgfCBzdHJpbmcgfCBSZWdFeHA7XG4gICAgdXBkYXRlVmFsdWU/OiAobWFza2VkOiBzdHJpbmcsIHVubWFza2VkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYXgtbWFzay1vcHRpb25zJ1xufSlcbmV4cG9ydCBjbGFzcyBBWE1hc2tPcHRpb25zRGlyZWN0aXZlIGltcGxlbWVudHMgQVhNYXNrT3B0aW9uc0ludGVyZmFjZSB7XG5cbiAgICBASW5wdXQoKVxuICAgIG1hc2s6IEFueU1hc2tlZE9wdGlvbnMgfCBzdHJpbmcgfCBSZWdFeHA7XG5cbiAgICBASW5wdXQoKVxuICAgIHVwZGF0ZVZhbHVlPzogKG1hc2tlZDogc3RyaW5nLCB1bm1hc2tlZDogc3RyaW5nKSA9PiB2b2lkO1xufSJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay1vcHRpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3RleHRib3gvc3JjL21hc2stb3B0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWpELE1BR2Esc0JBQXNCO0lBRWpDLElBQUksQ0FBa0M7SUFHdEMsV0FBVyxDQUE4Qzt1R0FMOUMsc0JBQXNCOzJGQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzhCQUdDLElBQUk7c0JBREgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXNrZWRPcHRpb25zIH0gZnJvbSAnaW1hc2snO1xuXG5leHBvcnQgdHlwZSBBWE1hc2tPcHRpb25zID0gTWFza2VkT3B0aW9ucyB8IGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBBWE1hc2tPcHRpb25zSW50ZXJmYWNlIHtcbiAgbWFzazogTWFza2VkT3B0aW9ucyB8IHN0cmluZyB8IFJlZ0V4cDtcbiAgdXBkYXRlVmFsdWU/OiAobWFza2VkOiBzdHJpbmcsIHVubWFza2VkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2F4LW1hc2stb3B0aW9ucycsXG59KVxuZXhwb3J0IGNsYXNzIEFYTWFza09wdGlvbnNEaXJlY3RpdmUgaW1wbGVtZW50cyBBWE1hc2tPcHRpb25zSW50ZXJmYWNlIHtcbiAgQElucHV0KClcbiAgbWFzazogTWFza2VkT3B0aW9ucyB8IHN0cmluZyB8IFJlZ0V4cDtcblxuICBASW5wdXQoKVxuICB1cGRhdGVWYWx1ZT86IChtYXNrZWQ6IHN0cmluZywgdW5tYXNrZWQ6IHN0cmluZykgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -23,8 +23,8 @@ class AXTextBoxComponent extends AXBaseTextBoxMixin {
23
23
  }
24
24
  _maskOptionsContent;
25
25
  /**
26
- * @ignore
27
- */
26
+ * @ignore
27
+ */
28
28
  constructor(elementRef, cdr) {
29
29
  super(elementRef, cdr);
30
30
  }
@@ -40,9 +40,9 @@ class AXTextBoxComponent extends AXBaseTextBoxMixin {
40
40
  //
41
41
  if (this.maskOptions?.mask) {
42
42
  this._maskObj = IMask(this.input.nativeElement, this.maskOptions);
43
- this._updateOn = "submit";
44
- this._maskObj.on("accept", this._onComplete.bind(this));
45
- this._maskObj.on("complete", this._onComplete.bind(this));
43
+ this._updateOn = 'submit';
44
+ this._maskObj.on('accept', this._onComplete.bind(this));
45
+ this._maskObj.on('complete', this._onComplete.bind(this));
46
46
  if (this.value) {
47
47
  this._maskObj.value = `${this.value}`;
48
48
  this._maskObj.updateValue();
@@ -67,19 +67,7 @@ class AXTextBoxComponent extends AXBaseTextBoxMixin {
67
67
  export { AXTextBoxComponent };
68
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AXTextBoxComponent, decorators: [{
69
69
  type: Component,
70
- args: [{ selector: 'ax-text-box', inputs: [
71
- 'disabled',
72
- 'tabIndex',
73
- 'readonly',
74
- 'value',
75
- 'state',
76
- 'name',
77
- 'placeholder',
78
- 'maxLength',
79
- 'allowNull',
80
- 'type',
81
- 'autoComplete'
82
- ], outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged'], host: { class: 'ax-editor-container' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
70
+ args: [{ selector: 'ax-text-box', inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete'], outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged'], host: { class: 'ax-editor-container' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
83
71
  { provide: AXComponent, useExisting: AXTextBoxComponent },
84
72
  { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },
85
73
  ], template: "<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" \n [attr.name]=\"name\" \n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\" \n [attr.maxlength]=\"maxLength\" \n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\" \n [disabled]=\"disabled\" \n [readonly]=\"readonly\" \n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\" \n (ngModelChange)=\"value = $event\"\n [ngModelOptions]=\"{ updateOn:_updateOn }\" \n (keydown)=\"_emitOnKeydownEvent($event)\"\n (keyup)=\"_emitOnKeyupEvent($event)\" \n (keypress)=\"_emitOnKeypressEvent($event)\" \n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\">\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>" }]
@@ -88,9 +76,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
88
76
  args: ['input', { static: true }]
89
77
  }], maskOptions: [{
90
78
  type: Input,
91
- args: ["mask-options"]
79
+ args: ['mask-options']
92
80
  }], _maskOptionsContent: [{
93
81
  type: ContentChild,
94
82
  args: [AXMaskOptionsDirective, { static: true }]
95
83
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy90ZXh0Ym94L3NyYy90ZXh0Ym94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3RleHRib3gvc3JjL3RleHRib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsU0FBUyxFQUNULGlCQUFpQixFQUNqQixZQUFZLEVBQ1osS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQWlCLHNCQUFzQixFQUEwQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pHLE9BQU8sS0FBMkIsTUFBTSxPQUFPLENBQUM7OztBQUVoRDs7OztHQUlHO0FBQ0gsTUF5QmEsa0JBQW1CLFNBQVEsa0JBQWtCO0lBRTlDLFNBQVMsR0FBaUMsUUFBUSxDQUFDO0lBR3JELEtBQUssQ0FBK0I7SUFHcEMsUUFBUSxDQUFtQztJQUczQyxZQUFZLEdBQWtCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JELElBQ1csV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsV0FBVyxDQUFDLEtBQW9CO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFHUyxtQkFBbUIsQ0FBeUI7SUFFdEQ7O01BRUU7SUFDRixZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxH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Q3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsb0JBQW9CLEVBQUU7d0JBQ3pELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsb0JBQW9CLEVBQUU7cUJBQ25FO2lJQU9PLEtBQUs7c0JBRFosU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVN6QixXQUFXO3NCQURyQixLQUFLO3VCQUFDLGNBQWM7Z0JBVVgsbUJBQW1CO3NCQUQ1QixZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDb250ZW50Q2hpbGQsXG4gIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb21wb25lbnQsIEFYRm9jdXNhYmxlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWEJhc2VUZXh0Qm94TWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xuaW1wb3J0IHsgQVhNYXNrT3B0aW9ucywgQVhNYXNrT3B0aW9uc0RpcmVjdGl2ZSwgQVhNYXNrT3B0aW9uc0ludGVyZmFjZSB9IGZyb20gJy4vbWFzay1vcHRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgSU1hc2ssIHsgQW55TWFza2VkT3B0aW9ucyB9IGZyb20gJ2ltYXNrJztcblxuLyoqXG4gKiBUaGUgVGV4dGJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRleHQtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICd0ZXh0Ym94LmNvbXBvbmVudC5odG1sJyxcbiAgaW5wdXRzOiBbXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAndGFiSW5kZXgnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3ZhbHVlJyxcbiAgICAnc3RhdGUnLFxuICAgICduYW1lJyxcbiAgICAncGxhY2Vob2xkZXInLFxuICAgICdtYXhMZW5ndGgnLFxuICAgICdhbGxvd051bGwnLFxuICAgICd0eXBlJyxcbiAgICAnYXV0b0NvbXBsZXRlJ1xuICBdLFxuICBvdXRwdXRzOiBbJ29uQmx1cicsICdvbkZvY3VzJywgJ3ZhbHVlQ2hhbmdlJywgJ3N0YXRlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJ10sXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyJyB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGV4dEJveENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRleHRCb3hDb21wb25lbnQgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUZXh0Qm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVGV4dEJveE1peGluIHtcblxuICBwcm90ZWN0ZWQgX3VwZGF0ZU9uOiAnY2hhbmdlJyB8ICdibHVyJyB8ICdzdWJtaXQnID0gJ2NoYW5nZSc7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG5cbiAgcHJpdmF0ZSBfbWFza09iajogSU1hc2suSW5wdXRNYXNrPEFueU1hc2tlZE9wdGlvbnM+XG5cblxuICBwcml2YXRlIF9tYXNrT3B0aW9uczogQVhNYXNrT3B0aW9ucyA9IHsgbWFzazogbnVsbCB9O1xuICBASW5wdXQoXCJtYXNrLW9wdGlvbnNcIilcbiAgcHVibGljIGdldCBtYXNrT3B0aW9ucygpOiBBWE1hc2tPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5fbWFza09wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgc2V0IG1hc2tPcHRpb25zKHZhbHVlOiBBWE1hc2tPcHRpb25zKSB7XG4gICAgdGhpcy5fbWFza09wdGlvbnMgPSB2YWx1ZTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoQVhNYXNrT3B0aW9uc0RpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIF9tYXNrT3B0aW9uc0NvbnRlbnQ6IEFYTWFza09wdGlvbnNEaXJlY3RpdmU7XG5cbiAgLyoqXG4gICogIEBpZ25vcmVcbiAgKi9cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMuX21hc2tPcHRpb25zQ29udGVudD8ubWFzaykge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQubWFzayA9PSAnc3RyaW5nJyB8fCB0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQubWFzayBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMubWFza09wdGlvbnMsIHsgbWFzazogdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2sgLCAgdW5tYXNrOiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2sgPT0gJ29iamVjdCcpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1hc2tPcHRpb25zLCB0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQubWFzayApO1xuICAgICAgfVxuICAgIH1cbiAgICAvL1xuICAgIGlmICh0aGlzLm1hc2tPcHRpb25zPy5tYXNrKSB7XG4gICAgICB0aGlzLl9tYXNrT2JqID0gSU1hc2sodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LCB0aGlzLm1hc2tPcHRpb25zKTtcbiAgICAgIHRoaXMuX3VwZGF0ZU9uID0gXCJzdWJtaXRcIjtcbiAgICAgIHRoaXMuX21hc2tPYmoub24oXCJhY2NlcHRcIiwgdGhpcy5fb25Db21wbGV0ZS5iaW5kKHRoaXMpKTtcbiAgICAgIHRoaXMuX21hc2tPYmoub24oXCJjb21wbGV0ZVwiLCB0aGlzLl9vbkNvbXBsZXRlLmJpbmQodGhpcykpO1xuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5fbWFza09iai52YWx1ZSA9IGAke3RoaXMudmFsdWV9YDtcbiAgICAgICAgdGhpcy5fbWFza09iai51cGRhdGVWYWx1ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Db21wbGV0ZShlKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuX21hc2tPYmoudmFsdWU7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQ/LnVwZGF0ZVZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQ/LnVwZGF0ZVZhbHVlKHRoaXMuX21hc2tPYmoudmFsdWUsIHRoaXMuX21hc2tPYmoudW5tYXNrZWRWYWx1ZSk7XG4gICAgfVxuICB9XG59IiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XG48L25nLWNvbnRlbnQ+XG48aW5wdXQgI2lucHV0IGNsYXNzPVwiYXgtaW5wdXRcIiBcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIiBcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b0NvbXBsZXRlXCJcbiAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiIFxuICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCIgXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiIFxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlID0gJGV2ZW50XCJcbiAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyB1cGRhdGVPbjpfdXBkYXRlT24gfVwiIFxuICAgIChrZXlkb3duKT1cIl9lbWl0T25LZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cIl9lbWl0T25LZXl1cEV2ZW50KCRldmVudClcIiBcbiAgICAoa2V5cHJlc3MpPVwiX2VtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiIFxuICAgIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxuPC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+XG48L25nLWNvbnRlbnQ+Il19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy90ZXh0Ym94L3NyYy90ZXh0Ym94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3RleHRib3gvc3JjL3RleHRib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckosT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBaUIsc0JBQXNCLEVBQTBCLE1BQU0sMEJBQTBCLENBQUM7QUFDekcsT0FBTyxLQUFtQyxNQUFNLE9BQU8sQ0FBQzs7O0FBRXhEOzs7O0dBSUc7QUFDSCxNQWFhLGtCQUFtQixTQUFRLGtCQUFrQjtJQUM5QyxTQUFTLEdBQWlDLFFBQVEsQ0FBQztJQUdyRCxLQUFLLENBQStCO0lBRXBDLFFBQVEsQ0FBaUI7SUFFekIsWUFBWSxHQUFrQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNyRCxJQUNXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFdBQVcsQ0FBQyxLQUFvQjtRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBR1MsbUJBQW1CLENBQXlCO0lBRXREOztPQUVHO0lBQ0gsWUFBWSxVQUFzQixFQUFFLEdBQXNCO1FBQ3hELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FB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LE1BQU0sYUFDcEM7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsb0JBQW9CLEVBQUU7d0JBQ3pELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsb0JBQW9CLEVBQUU7cUJBQ25FO2lJQU1PLEtBQUs7c0JBRFosU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU96QixXQUFXO3NCQURyQixLQUFLO3VCQUFDLGNBQWM7Z0JBVVgsbUJBQW1CO3NCQUQ1QixZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDb250ZW50Q2hpbGQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbXBvbmVudCwgQVhGb2N1c2FibGVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYQmFzZVRleHRCb3hNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XG5pbXBvcnQgeyBBWE1hc2tPcHRpb25zLCBBWE1hc2tPcHRpb25zRGlyZWN0aXZlLCBBWE1hc2tPcHRpb25zSW50ZXJmYWNlIH0gZnJvbSAnLi9tYXNrLW9wdGlvbnMuZGlyZWN0aXZlJztcbmltcG9ydCBJTWFzaywgeyBJbnB1dE1hc2ssIE1hc2tlZE9wdGlvbnMgfSBmcm9tICdpbWFzayc7XG5cbi8qKlxuICogVGhlIFRleHRib3ggaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10ZXh0LWJveCcsXG4gIHRlbXBsYXRlVXJsOiAndGV4dGJveC5jb21wb25lbnQuaHRtbCcsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICd0YWJJbmRleCcsICdyZWFkb25seScsICd2YWx1ZScsICdzdGF0ZScsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ21heExlbmd0aCcsICdhbGxvd051bGwnLCAndHlwZScsICdhdXRvQ29tcGxldGUnXSxcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICd2YWx1ZUNoYW5nZScsICdzdGF0ZUNoYW5nZScsICdvblZhbHVlQ2hhbmdlZCddLFxuICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lcicgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRleHRCb3hDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVGV4dEJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRCb3hNaXhpbiB7XG4gIHByb3RlY3RlZCBfdXBkYXRlT246ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCcgPSAnY2hhbmdlJztcblxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfbWFza09iajogSW5wdXRNYXNrPGFueT47XG5cbiAgcHJpdmF0ZSBfbWFza09wdGlvbnM6IEFYTWFza09wdGlvbnMgPSB7IG1hc2s6IG51bGwgfTtcbiAgQElucHV0KCdtYXNrLW9wdGlvbnMnKVxuICBwdWJsaWMgZ2V0IG1hc2tPcHRpb25zKCk6IEFYTWFza09wdGlvbnMge1xuICAgIHJldHVybiB0aGlzLl9tYXNrT3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbWFza09wdGlvbnModmFsdWU6IEFYTWFza09wdGlvbnMpIHtcbiAgICB0aGlzLl9tYXNrT3B0aW9ucyA9IHZhbHVlO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZChBWE1hc2tPcHRpb25zRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgX21hc2tPcHRpb25zQ29udGVudDogQVhNYXNrT3B0aW9uc0RpcmVjdGl2ZTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICh0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQ/Lm1hc2spIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2sgPT0gJ3N0cmluZycgfHwgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Lm1hc2sgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1hc2tPcHRpb25zLCB7IG1hc2s6IHRoaXMuX21hc2tPcHRpb25zQ29udGVudC5tYXNrLCB1bm1hc2s6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLl9tYXNrT3B0aW9uc0NvbnRlbnQubWFzayA9PSAnb2JqZWN0Jykge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMubWFza09wdGlvbnMsIHRoaXMuX21hc2tPcHRpb25zQ29udGVudC5tYXNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy9cbiAgICBpZiAodGhpcy5tYXNrT3B0aW9ucz8ubWFzaykge1xuICAgICAgdGhpcy5fbWFza09iaiA9IElNYXNrKHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCwgdGhpcy5tYXNrT3B0aW9ucyk7XG4gICAgICB0aGlzLl91cGRhdGVPbiA9ICdzdWJtaXQnO1xuICAgICAgdGhpcy5fbWFza09iai5vbignYWNjZXB0JywgdGhpcy5fb25Db21wbGV0ZS5iaW5kKHRoaXMpKTtcbiAgICAgIHRoaXMuX21hc2tPYmoub24oJ2NvbXBsZXRlJywgdGhpcy5fb25Db21wbGV0ZS5iaW5kKHRoaXMpKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuX21hc2tPYmoudmFsdWUgPSBgJHt0aGlzLnZhbHVlfWA7XG4gICAgICAgIHRoaXMuX21hc2tPYmoudXBkYXRlVmFsdWUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uQ29tcGxldGUoZSkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLl9tYXNrT2JqLnZhbHVlO1xuICAgIGlmICh0eXBlb2YgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Py51cGRhdGVWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5fbWFza09wdGlvbnNDb250ZW50Py51cGRhdGVWYWx1ZSh0aGlzLl9tYXNrT2JqLnZhbHVlLCB0aGlzLl9tYXNrT2JqLnVubWFza2VkVmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XG48L25nLWNvbnRlbnQ+XG48aW5wdXQgI2lucHV0IGNsYXNzPVwiYXgtaW5wdXRcIiBcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIiBcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b0NvbXBsZXRlXCJcbiAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiIFxuICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCIgXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiIFxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlID0gJGV2ZW50XCJcbiAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyB1cGRhdGVPbjpfdXBkYXRlT24gfVwiIFxuICAgIChrZXlkb3duKT1cIl9lbWl0T25LZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cIl9lbWl0T25LZXl1cEV2ZW50KCRldmVudClcIiBcbiAgICAoa2V5cHJlc3MpPVwiX2VtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiIFxuICAgIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxuPC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+XG48L25nLWNvbnRlbnQ+Il19
@@ -1,7 +1,7 @@
1
1
  import { AXStringUtil } from '@acorex/core/utils';
2
2
  import { AXDateTime } from '@acorex/core/dateTime';
3
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, Output, Input, ViewChild, } from '@angular/core';
4
- import IMask from 'imask';
3
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, Output, Input, ViewChild } from '@angular/core';
4
+ import { MaskedRange, createMask } from 'imask';
5
5
  import { IMaskDirective } from 'angular-imask';
6
6
  import { AXBaseTextBoxMixin } from '@acorex/components/mixin';
7
7
  import * as i0 from "@angular/core";
@@ -82,14 +82,14 @@ class AXTimeBoxComponent extends AXBaseTextBoxMixin {
82
82
  }
83
83
  _updateMask() {
84
84
  if (!this._maskObj) {
85
- this._maskObj = IMask.createMask({
85
+ this._maskObj = createMask({
86
86
  mask: this.format,
87
87
  lazy: false,
88
88
  autofix: true,
89
89
  overwrite: true,
90
90
  blocks: {
91
91
  HH: {
92
- mask: IMask.MaskedRange,
92
+ mask: MaskedRange,
93
93
  from: 0,
94
94
  to: 23,
95
95
  maxLength: 2,
@@ -97,7 +97,7 @@ class AXTimeBoxComponent extends AXBaseTextBoxMixin {
97
97
  autofix: 'pad',
98
98
  },
99
99
  mm: {
100
- mask: IMask.MaskedRange,
100
+ mask: MaskedRange,
101
101
  from: 0,
102
102
  to: 59,
103
103
  maxLength: 2,
@@ -105,7 +105,7 @@ class AXTimeBoxComponent extends AXBaseTextBoxMixin {
105
105
  autofix: 'pad',
106
106
  },
107
107
  ss: {
108
- mask: IMask.MaskedRange,
108
+ mask: MaskedRange,
109
109
  from: 0,
110
110
  to: 59,
111
111
  maxLength: 2,
@@ -259,23 +259,7 @@ class AXTimeBoxComponent extends AXBaseTextBoxMixin {
259
259
  export { AXTimeBoxComponent };
260
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AXTimeBoxComponent, decorators: [{
261
261
  type: Component,
262
- args: [{ selector: 'ax-time-box', inputs: [
263
- 'disabled',
264
- 'readonly',
265
- 'tabIndex',
266
- 'size',
267
- 'value',
268
- 'placeholder',
269
- 'maxLength',
270
- 'allowNull',
271
- 'type',
272
- 'autoComplete',
273
- 'readonly',
274
- 'allowNull',
275
- 'value',
276
- 'name',
277
- 'checked',
278
- ], outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus', 'valueChange', 'onValueChanged'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" \n [imask]=\"_maskObj\" \n [unmask]=\"false\" \n type=\"text\" \n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" \n [class.ax-state-readonly]=\"readonly\" \n [disabled]=\"disabled\"\n [readonly]=\"readonly\" \n [tabindex]=\"tabIndex\" \n [ngModel]=\"displayText\" \n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\"\n (keyup)=\"_handleKeyUpEvent($event)\" \n (keydown)=\"_handleOnKeydownEvent($event)\" \n autocomplete=\"off\">\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>" }]
262
+ args: [{ selector: 'ax-time-box', inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'value', 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly', 'allowNull', 'value', 'name', 'checked'], outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus', 'valueChange', 'onValueChanged'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" \n [imask]=\"_maskObj\" \n [unmask]=\"false\" \n type=\"text\" \n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" \n [class.ax-state-readonly]=\"readonly\" \n [disabled]=\"disabled\"\n [readonly]=\"readonly\" \n [tabindex]=\"tabIndex\" \n [ngModel]=\"displayText\" \n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\"\n (keyup)=\"_handleKeyUpEvent($event)\" \n (keydown)=\"_handleOnKeydownEvent($event)\" \n autocomplete=\"off\">\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>" }]
279
263
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { input: [{
280
264
  type: ViewChild,
281
265
  args: ['input']
@@ -295,4 +279,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
295
279
  type: ViewChild,
296
280
  args: [IMaskDirective]
297
281
  }] } });
298
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvdGltZS1ib3gvc3JjL3RpbWUtYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3RpbWUtYm94L3NyYy90aW1lLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUE0QixNQUFNLDBCQUEwQixDQUFDOzs7O0FBR3hGOzs7O0dBSUc7QUFDSCxNQXlCYSxrQkFBbUIsU0FBUSxrQkFBa0I7SUE4RFo7SUE1RDVDLEtBQUssQ0FBK0I7SUFFNUIsU0FBUyxDQUFPO0lBQ3hCLElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLENBQU87UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVPLFNBQVMsQ0FBTztJQUN4QixJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFPO1FBQ3pCLElBQUksQ0FB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LE9BQU87d0JBQ1AsYUFBYTt3QkFDYixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsTUFBTTt3QkFDTixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLE1BQU07d0JBQ04sU0FBUztxQkFDVixXQUNRLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLG1CQUMvRSx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFO2lJQUluRCxLQUFLO3NCQURKLFNBQVM7dUJBQUMsT0FBTztnQkFLUCxRQUFRO3NCQURsQixLQUFLO2dCQVVLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBU04sWUFBWTtzQkFEWCxNQUFNO2dCQUtJLE1BQU07c0JBRGhCLEtBQUs7Z0JBWUMsaUJBQWlCO3NCQUR2QixNQUFNO2dCQUtJLFdBQVc7c0JBRHJCLEtBQUs7Z0JBZ0JFLGNBQWM7c0JBRHJCLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYU3RyaW5nVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGVUaW1lJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IElNYXNrIGZyb20gJ2ltYXNrJztcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgeyBBWEJhc2VUZXh0Qm94TWl4aW4sIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XG5cbmV4cG9ydCB0eXBlIEFYX1RJTUVfRk9STUFUID0gJ0hIOm1tJyB8ICdISDptbTpzcyc7XG4vKipcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10aW1lLWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIGlucHV0czogW1xuICAgICdkaXNhYmxlZCcsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAndGFiSW5kZXgnLFxuICAgICdzaXplJyxcbiAgICAndmFsdWUnLFxuICAgICdwbGFjZWhvbGRlcicsXG4gICAgJ21heExlbmd0aCcsXG4gICAgJ2FsbG93TnVsbCcsXG4gICAgJ3R5cGUnLFxuICAgICdhdXRvQ29tcGxldGUnLFxuICAgICdyZWFkb25seScsXG4gICAgJ2FsbG93TnVsbCcsXG4gICAgJ3ZhbHVlJyxcbiAgICAnbmFtZScsXG4gICAgJ2NoZWNrZWQnLFxuICBdLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJywgJ29uQmx1cicsICdvbkZvY3VzJywgJ3ZhbHVlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lciBheC1kcm9wLWRvd24nIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVGltZUJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRCb3hNaXhpbiB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcbiAgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfbWluVmFsdWU6IERhdGU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbWluVmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX21pblZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgbWluVmFsdWUodjogRGF0ZSkge1xuICAgIHRoaXMuX21pblZhbHVlID0gdjtcbiAgfVxuXG4gIHByaXZhdGUgX21heFZhbHVlOiBEYXRlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IG1heFZhbHVlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9tYXhWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IERhdGUpIHtcbiAgICB0aGlzLl9tYXhWYWx1ZSA9IHY7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgZm9ybWF0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSBfZm9ybWF0OiBBWF9USU1FX0ZPUk1BVCA9ICdISDptbSc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZm9ybWF0KCk6IEFYX1RJTUVfRk9STUFUIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICB9XG4gIHB1YmxpYyBzZXQgZm9ybWF0KHY6IEFYX1RJTUVfRk9STUFUKSB7XG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdmb3JtYXQnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGRpc3BsYXlUZXh0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBwcml2YXRlIF9kaXNwbGF5VGV4dDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkaXNwbGF5VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5VGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlzcGxheVRleHQodjogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGlzcGxheVRleHQgPSB2O1xuICAgIHRoaXMuZGlzcGxheVRleHRDaGFuZ2UuZW1pdCh2KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9tYXNrT2JqOiBJTWFzay5NYXNrZWRQYXR0ZXJuO1xuXG4gIEBWaWV3Q2hpbGQoSU1hc2tEaXJlY3RpdmUpXG4gIHByaXZhdGUgX21hc2tEaXJlY3RpdmU6IElNYXNrRGlyZWN0aXZlPElNYXNrLk1hc2tlZE51bWJlcj47XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICB9XG5cbiAgb25WaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XG4gICAgdGhpcy5fdXBkYXRlTWFzaygpO1xuICB9XG5cbiAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlPzogYW55LCBuZXdWYWx1ZT86IGFueSkge1xuICAgIHRoaXMuX3VwZGF0ZVRleHQoKTtcbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVWYWx1ZSgpO1xuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKTtcbiAgfVxuXG4gIF91cGRhdGVUZXh0KCkge1xuICAgIHRoaXMuZGlzcGxheVRleHQgPSB0aGlzLnZhbHVlID8gQVhEYXRlVGltZS5jb252ZXJ0KHRoaXMudmFsdWUpLmZvcm1hdCh0aGlzLmZvcm1hdCkgOiAnJztcbiAgfVxuXG4gIF9vbk9wdGlvbkNoYW5nZWQob3B0aW9uOiBBWENvbXBvbmVudE9wdGlvbkNoYW5nZWQpOiB2b2lkIHtcbiAgICBzdXBlci5fb25PcHRpb25DaGFuZ2VkKG9wdGlvbik7XG4gICAgdGhpcy5fdXBkYXRlTWFzaygpO1xuICB9XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVNYXNrKCkge1xuICAgIGlmICghdGhpcy5fbWFza09iaikge1xuICAgICAgdGhpcy5fbWFza09iaiA9IElNYXNrLmNyZWF0ZU1hc2soe1xuICAgICAgICBtYXNrOiB0aGlzLmZvcm1hdCxcbiAgICAgICAgbGF6eTogZmFsc2UsXG4gICAgICAgIGF1dG9maXg6IHRydWUsXG4gICAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICAgICAgYmxvY2tzOiB7XG4gICAgICAgICAgSEg6IHtcbiAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgZnJvbTogMCxcbiAgICAgICAgICAgIHRvOiAyMyxcbiAgICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogJzAnLFxuICAgICAgICAgICAgYXV0b2ZpeDogJ3BhZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtbToge1xuICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgdG86IDU5LFxuICAgICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiAnMCcsXG4gICAgICAgICAgICBhdXRvZml4OiAncGFkJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNzOiB7XG4gICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgIGZyb206IDAsXG4gICAgICAgICAgICB0bzogNTksXG4gICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICcwJyxcbiAgICAgICAgICAgIGF1dG9maXg6ICdwYWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbWFza09iai51cGRhdGVPcHRpb25zKHtcbiAgICAgICAgbWFzazogdGhpcy5mb3JtYXQsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVDb250cm9sKCk7XG4gIH1cblxuICBfaGFuZGxlT25LZXlkb3duRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGlnbm9yZSA9ICgpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcblxuICAgIGNvbnN0IG51bXM6IHN0cmluZ1tdID0gQXJyYXkoMTApXG4gICAgICAuZmlsbCgwKVxuICAgICAgLm1hcCgodiwgaSkgPT4gaS50b1N0cmluZygpKTtcbiAgICBjb25zdCBjaGFyczogc3RyaW5nW10gPSBbJ0JhY2tzcGFjZScsICdBcnJvd0Rvd24nLCAnQXJyb3dVcCcsICdBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdUYWInLCAnRW50ZXInXTtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3Qga2V5ID0gZS5rZXk7XG4gICAgY29uc3QgdmFsU3RyID0gaW5wdXQudmFsdWU7XG4gICAgY29uc3Qgc1N0YXJ0ID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQgfHwgMDtcbiAgICBjb25zdCBzRW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kIHx8IDA7XG4gICAgY29uc3QgZGF0ZVZhbCA9IG5ldyBBWERhdGVUaW1lKHRoaXMudmFsdWUpO1xuICAgIC8vXG4gICAgY29uc3QgcmUgPSAvW2EtekEtWjAtOV0rL2dpO1xuICAgIGNvbnN0IHBhcnRzID0gQXJyYXkuZnJvbSh0aGlzLmZvcm1hdC5tYXRjaEFsbChyZSkpO1xuICAgIGNvbnN0IHdvcmQgPSB2YWxTdHIuc3Vic3RyaW5nKHNTdGFydCwgc0VuZCk7XG4gICAgY29uc3QgcGFydCA9IHBhcnRzLmZpbmQoKGM6IGFueSkgPT4gYy5pbmRleCA+PSBzU3RhcnQpO1xuICAgIGNvbnN0IG5leHQgPSBBcnJheS5mcm9tKHZhbFN0ci5zdWJzdHIoc0VuZCkubWF0Y2hBbGwocmUpKTtcbiAgICBjb25zdCBwcmV2ID0gQXJyYXkuZnJvbSh2YWxTdHIuc3Vic3RyaW5nKDAsIHNTdGFydCkubWF0Y2hBbGwocmUpKTtcbiAgICAvL2NvbnN0IHBhcnQgPSBwYXJ0c1tBcnJheS5mcm9tKHZhbFN0ci5tYXRjaEFsbChyZSkpLmZpbmRJbmRleChjID0+IGNbMF0gPT0gd29yZCldO1xuICAgIC8vXG5cbiAgICBjb25zdCBnb05leHQgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KGlucHV0LCBzRW5kICsgKG5leHRbMF0/LmluZGV4IHx8IDApKTtcbiAgICB9O1xuICAgIGNvbnN0IGdvUHJldiA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQsIHByZXZbcHJldi5sZW5ndGggLSAxXT8uaW5kZXgpO1xuICAgIH07XG5cbiAgICAvL1xuICAgIGlmIChlLmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGUua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgaWdub3JlKCk7XG4gICAgICBlLmtleSA9PT0gJ0Fycm93UmlnaHQnID8gZ29OZXh0KCkgOiBnb1ByZXYoKTtcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAoZS5jdHJsS2V5ICYmIGUua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAvL3RoaXMub3BlbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2lnbiA9IGUua2V5ID09PSAnQXJyb3dVcCcgPyArMSA6IC0xO1xuICAgICAgICBpZiAocGFydCkge1xuICAgICAgICAgIHN3aXRjaCAocGFydFswXSkge1xuICAgICAgICAgICAgY2FzZSAnaGgnOlxuICAgICAgICAgICAgY2FzZSAnaCc6XG4gICAgICAgICAgICBjYXNlICdISCc6XG4gICAgICAgICAgICBjYXNlICdIJzpcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCdob3VyJywgc2lnbikuZGF0ZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtbSc6XG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLmFkZCgnbWludXRlJywgc2lnbikuZGF0ZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzcyc6XG4gICAgICAgICAgICBjYXNlICdTUyc6XG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLmFkZCgnc2Vjb25kJywgc2lnbikuZGF0ZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCwgc1N0YXJ0KTtcbiAgICAgICAgICB9LCAxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlnbm9yZSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgIC8vIGlmICh0aGlzLmFsbG93TnVsbCkge1xuICAgICAgLy8gICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgLy8gfVxuICAgICAgLy8gaWdub3JlKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PSAnVGFiJykge1xuICAgICAgaWYgKHNFbmQgPCB2YWxTdHIubGVuZ3RoICYmICFlLnNoaWZ0S2V5KSB7XG4gICAgICAgIGdvTmV4dCgpO1xuICAgICAgICBpZ25vcmUoKTtcbiAgICAgIH0gZWxzZSBpZiAoc1N0YXJ0ICE9IDAgJiYgZS5zaGlmdEtleSkge1xuICAgICAgICBnb1ByZXYoKTtcbiAgICAgICAgaWdub3JlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNvbnN0IGtleXMgPSB7XG4gICAgICAvLyAgICAgaDoge1xuICAgICAgLy8gICAgICAgICB2OiAvXlswLTldJHxeWzFdWzAtMl0kLyxcbiAgICAgIC8vICAgICAgICAgcDogJzAnXG4gICAgICAvLyAgICAgfSxcbiAgICAgIC8vICAgICBIOiB7XG4gICAgICAvLyAgICAgICAgIHY6IC9eWzAtOV0kfF4xWzAtOV0kfDJbMC0zXSQvLFxuICAgICAgLy8gICAgICAgICBwOiAnMCdcbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIG06IHtcbiAgICAgIC8vICAgICAgICAgdjogL15bMC05XSR8XlsxLTVdWzAtOV0kLyxcbiAgICAgIC8vICAgICAgICAgcDogJzAnXG4gICAgICAvLyAgICAgfVxuICAgICAgLy8gfVxuICAgICAgLy8gLy8gY29uc3QgcmUgPSBuZXcgUmVnRXhwKF8ub3JkZXJCeShPYmplY3Qua2V5cyhrZXlzKSwgYyA9PiBjLmxlbmd0aCwgWydkZXNjJ10pLmpvaW4oXCJ8XCIpLCBcImdpXCIpO1xuICAgICAgLy8gLy8gcmV0dXJuIGZvcm1hdC5yZXBsYWNlKHJlLCBmdW5jdGlvbiAobWF0Y2hlZCkge1xuICAgICAgLy8gLy8gICByZXR1cm4ga2V5c1ttYXRjaGVkXSgpO1xuICAgICAgLy8gLy8gfSk7XG4gICAgICAvLyBjb25zdCB0ID0ga2V5c1twYXJ0WzBdXTtcbiAgICAgIC8vIGlmICghdC52LnRlc3Qoa2V5KSkge1xuICAgICAgLy8gICAgIGlnbm9yZSgpO1xuICAgICAgLy8gfVxuICAgICAgLy8gZWxzZSB7XG4gICAgICAvLyAgICAgdGhpcy5fdXBkYXRlVGV4dCgpXG4gICAgICAvLyB9XG4gICAgfVxuICAgIC8vIHN1cGVyLl9lbWl0T25LZXlkb3duRXZlbnQoZSk7XG4gIH1cblxuICBfaGFuZGxlS2V5VXBFdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLy8gY29uc3QgaW5wdXQgPSAoZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk7XG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgLy8gICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQpO1xuICAgIC8vIH0sIDcwMCk7XG4gIH1cblxuICBfZW1pdE9uRm9jdXNFdmVudChlOiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQpO1xuICAgIHN1cGVyLl9lbWl0T25Gb2N1c0V2ZW50KGUpO1xuICB9XG5cbiAgX2hhbmRsZU9uSW5wdXRDbGlja0V2ZW50KGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRQYXJ0KGlucHV0OiBIVE1MSW5wdXRFbGVtZW50LCBwb3M/OiBudW1iZXIpIHtcbiAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IEFYU3RyaW5nVXRpbC5nZXRXb3JkQm91bmRzQXRQb3NpdGlvbihpbnB1dC52YWx1ZSwgcG9zICE9IG51bGwgPyBwb3MgOiBpbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwKTtcbiAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgZW5kKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XG48L25nLWNvbnRlbnQ+XG48aW5wdXQgI2lucHV0IGNsYXNzPVwiYXgtaW5wdXRcIiBcbiAgICBbaW1hc2tdPVwiX21hc2tPYmpcIiBcbiAgICBbdW5tYXNrXT1cImZhbHNlXCIgIFxuICAgIHR5cGU9XCJ0ZXh0XCIgXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxuICAgIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiIFxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCIgXG4gICAgW25nTW9kZWxdPVwiZGlzcGxheVRleHRcIiBcbiAgICAobW91c2V1cCk9XCJfaGFuZGxlT25JbnB1dENsaWNrRXZlbnQoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxuICAgIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cIl9oYW5kbGVLZXlVcEV2ZW50KCRldmVudClcIiBcbiAgICAoa2V5ZG93bik9XCJfaGFuZGxlT25LZXlkb3duRXZlbnQoJGV2ZW50KVwiIFxuICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+XG48L25nLWNvbnRlbnQ+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cbjwvbmctY29udGVudD4iXX0=
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvdGltZS1ib3gvc3JjL3RpbWUtYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3RpbWUtYm94L3NyYy90aW1lLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQWlDLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SixPQUFPLEVBQStCLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQTRCLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFHeEY7Ozs7R0FJRztBQUNILE1BU2Esa0JBQW1CLFNBQVEsa0JBQWtCO0lBOERaO0lBNUQ1QyxLQUFLLENBQStCO0lBRTVCLFNBQVMsQ0FBTztJQUN4QixJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFPO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxTQUFTLENBQU87SUFDeEIsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMs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QUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxXQUMxSyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFDL0UsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxrQ0FBa0MsRUFBRTtpSUFJbkQsS0FBSztzQkFESixTQUFTO3VCQUFDLE9BQU87Z0JBS1AsUUFBUTtzQkFEbEIsS0FBSztnQkFVSyxRQUFRO3NCQURsQixLQUFLO2dCQVNOLFlBQVk7c0JBRFgsTUFBTTtnQkFLSSxNQUFNO3NCQURoQixLQUFLO2dCQVlDLGlCQUFpQjtzQkFEdkIsTUFBTTtnQkFLSSxXQUFXO3NCQURyQixLQUFLO2dCQWdCRSxjQUFjO3NCQURyQixTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFN0cmluZ1V0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlVGltZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXNrZWRQYXR0ZXJuLCBNYXNrZWROdW1iZXIsIE1hc2tlZFJhbmdlLCBjcmVhdGVNYXNrIH0gZnJvbSAnaW1hc2snO1xuaW1wb3J0IHsgSU1hc2tEaXJlY3RpdmUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCB7IEFYQmFzZVRleHRCb3hNaXhpbiwgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcblxuZXhwb3J0IHR5cGUgQVhfVElNRV9GT1JNQVQgPSAnSEg6bW0nIHwgJ0hIOm1tOnNzJztcbi8qKlxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRpbWUtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3JlYWRvbmx5JywgJ3RhYkluZGV4JywgJ3NpemUnLCAndmFsdWUnLCAncGxhY2Vob2xkZXInLCAnbWF4TGVuZ3RoJywgJ2FsbG93TnVsbCcsICd0eXBlJywgJ2F1dG9Db21wbGV0ZScsICdyZWFkb25seScsICdhbGxvd051bGwnLCAndmFsdWUnLCAnbmFtZScsICdjaGVja2VkJ10sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnLCAnb25CbHVyJywgJ29uRm9jdXMnLCAndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LWRyb3AtZG93bicgfSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUaW1lQm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVGV4dEJveE1peGluIHtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwcml2YXRlIF9taW5WYWx1ZTogRGF0ZTtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XG4gIH1cbiAgcHVibGljIHNldCBtaW5WYWx1ZSh2OiBEYXRlKSB7XG4gICAgdGhpcy5fbWluVmFsdWUgPSB2O1xuICB9XG5cbiAgcHJpdmF0ZSBfbWF4VmFsdWU6IERhdGU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbWF4VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX21heFZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgbWF4VmFsdWUodjogRGF0ZSkge1xuICAgIHRoaXMuX21heFZhbHVlID0gdjtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBmb3JtYXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIF9mb3JtYXQ6IEFYX1RJTUVfRk9STUFUID0gJ0hIOm1tJztcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBmb3JtYXQoKTogQVhfVElNRV9GT1JNQVQge1xuICAgIHJldHVybiB0aGlzLl9mb3JtYXQ7XG4gIH1cbiAgcHVibGljIHNldCBmb3JtYXQodjogQVhfVElNRV9GT1JNQVQpIHtcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2Zvcm1hdCcsXG4gICAgICB2YWx1ZTogdixcbiAgICB9KTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGlzcGxheVRleHRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIHByaXZhdGUgX2Rpc3BsYXlUZXh0OiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUZXh0O1xuICB9XG5cbiAgcHVibGljIHNldCBkaXNwbGF5VGV4dCh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kaXNwbGF5VGV4dCA9IHY7XG4gICAgdGhpcy5kaXNwbGF5VGV4dENoYW5nZS5lbWl0KHYpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX21hc2tPYmo6IE1hc2tlZFBhdHRlcm47XG5cbiAgQFZpZXdDaGlsZChJTWFza0RpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBfbWFza0RpcmVjdGl2ZTogSU1hc2tEaXJlY3RpdmU8TWFza2VkTnVtYmVyPjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gIH1cblxuICBvblZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XG4gICAgdGhpcy5fdXBkYXRlVGV4dCgpO1xuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZVZhbHVlKCk7XG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlQ29udHJvbCgpO1xuICB9XG5cbiAgX3VwZGF0ZVRleHQoKSB7XG4gICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMudmFsdWUgPyBBWERhdGVUaW1lLmNvbnZlcnQodGhpcy52YWx1ZSkuZm9ybWF0KHRoaXMuZm9ybWF0KSA6ICcnO1xuICB9XG5cbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQge1xuICAgIHN1cGVyLl9vbk9wdGlvbkNoYW5nZWQob3B0aW9uKTtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU1hc2soKSB7XG4gICAgaWYgKCF0aGlzLl9tYXNrT2JqKSB7XG4gICAgICB0aGlzLl9tYXNrT2JqID0gY3JlYXRlTWFzayh7XG4gICAgICAgIG1hc2s6IHRoaXMuZm9ybWF0LFxuICAgICAgICBsYXp5OiBmYWxzZSxcbiAgICAgICAgYXV0b2ZpeDogdHJ1ZSxcbiAgICAgICAgb3ZlcndyaXRlOiB0cnVlLFxuICAgICAgICBibG9ja3M6IHtcbiAgICAgICAgICBISDoge1xuICAgICAgICAgICAgbWFzazogTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgdG86IDIzLFxuICAgICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiAnMCcsXG4gICAgICAgICAgICBhdXRvZml4OiAncGFkJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1tOiB7XG4gICAgICAgICAgICBtYXNrOiBNYXNrZWRSYW5nZSxcbiAgICAgICAgICAgIGZyb206IDAsXG4gICAgICAgICAgICB0bzogNTksXG4gICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICcwJyxcbiAgICAgICAgICAgIGF1dG9maXg6ICdwYWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3M6IHtcbiAgICAgICAgICAgIG1hc2s6IE1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgZnJvbTogMCxcbiAgICAgICAgICAgIHRvOiA1OSxcbiAgICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogJzAnLFxuICAgICAgICAgICAgYXV0b2ZpeDogJ3BhZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBtYXNrOiB0aGlzLmZvcm1hdCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVWYWx1ZSgpO1xuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKTtcbiAgfVxuXG4gIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgaWdub3JlID0gKCkgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuXG4gICAgY29uc3QgbnVtczogc3RyaW5nW10gPSBBcnJheSgxMClcbiAgICAgIC5maWxsKDApXG4gICAgICAubWFwKCh2LCBpKSA9PiBpLnRvU3RyaW5nKCkpO1xuICAgIGNvbnN0IGNoYXJzOiBzdHJpbmdbXSA9IFsnQmFja3NwYWNlJywgJ0Fycm93RG93bicsICdBcnJvd1VwJywgJ0Fycm93UmlnaHQnLCAnQXJyb3dMZWZ0JywgJ1RhYicsICdFbnRlciddO1xuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBrZXkgPSBlLmtleTtcbiAgICBjb25zdCB2YWxTdHIgPSBpbnB1dC52YWx1ZTtcbiAgICBjb25zdCBzU3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwO1xuICAgIGNvbnN0IHNFbmQgPSBpbnB1dC5zZWxlY3Rpb25FbmQgfHwgMDtcbiAgICBjb25zdCBkYXRlVmFsID0gbmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSk7XG4gICAgLy9cbiAgICBjb25zdCByZSA9IC9bYS16QS1aMC05XSsvZ2k7XG4gICAgY29uc3QgcGFydHMgPSBBcnJheS5mcm9tKHRoaXMuZm9ybWF0Lm1hdGNoQWxsKHJlKSk7XG4gICAgY29uc3Qgd29yZCA9IHZhbFN0ci5zdWJzdHJpbmcoc1N0YXJ0LCBzRW5kKTtcbiAgICBjb25zdCBwYXJ0ID0gcGFydHMuZmluZCgoYzogYW55KSA9PiBjLmluZGV4ID49IHNTdGFydCk7XG4gICAgY29uc3QgbmV4dCA9IEFycmF5LmZyb20odmFsU3RyLnN1YnN0cihzRW5kKS5tYXRjaEFsbChyZSkpO1xuICAgIGNvbnN0IHByZXYgPSBBcnJheS5mcm9tKHZhbFN0ci5zdWJzdHJpbmcoMCwgc1N0YXJ0KS5tYXRjaEFsbChyZSkpO1xuICAgIC8vY29uc3QgcGFydCA9IHBhcnRzW0FycmF5LmZyb20odmFsU3RyLm1hdGNoQWxsKHJlKSkuZmluZEluZGV4KGMgPT4gY1swXSA9PSB3b3JkKV07XG4gICAgLy9cblxuICAgIGNvbnN0IGdvTmV4dCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQsIHNFbmQgKyAobmV4dFswXT8uaW5kZXggfHwgMCkpO1xuICAgIH07XG4gICAgY29uc3QgZ29QcmV2ID0gKCkgPT4ge1xuICAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCwgcHJldltwcmV2Lmxlbmd0aCAtIDFdPy5pbmRleCk7XG4gICAgfTtcblxuICAgIC8vXG4gICAgaWYgKGUua2V5ID09PSAnQXJyb3dSaWdodCcgfHwgZS5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICBpZ25vcmUoKTtcbiAgICAgIGUua2V5ID09PSAnQXJyb3dSaWdodCcgPyBnb05leHQoKSA6IGdvUHJldigpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIGlmIChlLmN0cmxLZXkgJiYgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgIC8vdGhpcy5vcGVuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzaWduID0gZS5rZXkgPT09ICdBcnJvd1VwJyA/ICsxIDogLTE7XG4gICAgICAgIGlmIChwYXJ0KSB7XG4gICAgICAgICAgc3dpdGNoIChwYXJ0WzBdKSB7XG4gICAgICAgICAgICBjYXNlICdoaCc6XG4gICAgICAgICAgICBjYXNlICdoJzpcbiAgICAgICAgICAgIGNhc2UgJ0hIJzpcbiAgICAgICAgICAgIGNhc2UgJ0gnOlxuICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZVZhbC5hZGQoJ2hvdXInLCBzaWduKS5kYXRlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21tJzpcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCdtaW51dGUnLCBzaWduKS5kYXRlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3NzJzpcbiAgICAgICAgICAgIGNhc2UgJ1NTJzpcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCdzZWNvbmQnLCBzaWduKS5kYXRlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KGlucHV0LCBzU3RhcnQpO1xuICAgICAgICAgIH0sIDEwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWdub3JlKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PSAnQmFja3NwYWNlJykge1xuICAgICAgLy8gaWYgKHRoaXMuYWxsb3dOdWxsKSB7XG4gICAgICAvLyAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAvLyB9XG4gICAgICAvLyBpZ25vcmUoKTtcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09ICdUYWInKSB7XG4gICAgICBpZiAoc0VuZCA8IHZhbFN0ci5sZW5ndGggJiYgIWUuc2hpZnRLZXkpIHtcbiAgICAgICAgZ29OZXh0KCk7XG4gICAgICAgIGlnbm9yZSgpO1xuICAgICAgfSBlbHNlIGlmIChzU3RhcnQgIT0gMCAmJiBlLnNoaWZ0S2V5KSB7XG4gICAgICAgIGdvUHJldigpO1xuICAgICAgICBpZ25vcmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29uc3Qga2V5cyA9IHtcbiAgICAgIC8vICAgICBoOiB7XG4gICAgICAvLyAgICAgICAgIHY6IC9eWzAtOV0kfF5bMV1bMC0yXSQvLFxuICAgICAgLy8gICAgICAgICBwOiAnMCdcbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIEg6IHtcbiAgICAgIC8vICAgICAgICAgdjogL15bMC05XSR8XjFbMC05XSR8MlswLTNdJC8sXG4gICAgICAvLyAgICAgICAgIHA6ICcwJ1xuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgICAgbToge1xuICAgICAgLy8gICAgICAgICB2OiAvXlswLTldJHxeWzEtNV1bMC05XSQvLFxuICAgICAgLy8gICAgICAgICBwOiAnMCdcbiAgICAgIC8vICAgICB9XG4gICAgICAvLyB9XG4gICAgICAvLyAvLyBjb25zdCByZSA9IG5ldyBSZWdFeHAoXy5vcmRlckJ5KE9iamVjdC5rZXlzKGtleXMpLCBjID0+IGMubGVuZ3RoLCBbJ2Rlc2MnXSkuam9pbihcInxcIiksIFwiZ2lcIik7XG4gICAgICAvLyAvLyByZXR1cm4gZm9ybWF0LnJlcGxhY2UocmUsIGZ1bmN0aW9uIChtYXRjaGVkKSB7XG4gICAgICAvLyAvLyAgIHJldHVybiBrZXlzW21hdGNoZWRdKCk7XG4gICAgICAvLyAvLyB9KTtcbiAgICAgIC8vIGNvbnN0IHQgPSBrZXlzW3BhcnRbMF1dO1xuICAgICAgLy8gaWYgKCF0LnYudGVzdChrZXkpKSB7XG4gICAgICAvLyAgICAgaWdub3JlKCk7XG4gICAgICAvLyB9XG4gICAgICAvLyBlbHNlIHtcbiAgICAgIC8vICAgICB0aGlzLl91cGRhdGVUZXh0KClcbiAgICAgIC8vIH1cbiAgICB9XG4gICAgLy8gc3VwZXIuX2VtaXRPbktleWRvd25FdmVudChlKTtcbiAgfVxuXG4gIF9oYW5kbGVLZXlVcEV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvLyBjb25zdCBpbnB1dCA9IChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KTtcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAvLyAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCk7XG4gICAgLy8gfSwgNzAwKTtcbiAgfVxuXG4gIF9lbWl0T25Gb2N1c0V2ZW50KGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCk7XG4gICAgc3VwZXIuX2VtaXRPbkZvY3VzRXZlbnQoZSk7XG4gIH1cblxuICBfaGFuZGxlT25JbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KGlucHV0KTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hpZ2hsaWdodFBhcnQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQsIHBvcz86IG51bWJlcikge1xuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gQVhTdHJpbmdVdGlsLmdldFdvcmRCb3VuZHNBdFBvc2l0aW9uKGlucHV0LnZhbHVlLCBwb3MgIT0gbnVsbCA/IHBvcyA6IGlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDApO1xuICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0LCBlbmQpO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cbjwvbmctY29udGVudD5cbjxpbnB1dCAjaW5wdXQgY2xhc3M9XCJheC1pbnB1dFwiIFxuICAgIFtpbWFza109XCJfbWFza09ialwiIFxuICAgIFt1bm1hc2tdPVwiZmFsc2VcIiAgXG4gICAgdHlwZT1cInRleHRcIiBcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCIgXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBcbiAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiBcbiAgICBbbmdNb2RlbF09XCJkaXNwbGF5VGV4dFwiIFxuICAgIChtb3VzZXVwKT1cIl9oYW5kbGVPbklucHV0Q2xpY2tFdmVudCgkZXZlbnQpXCJcbiAgICAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCJcbiAgICAoa2V5dXApPVwiX2hhbmRsZUtleVVwRXZlbnQoJGV2ZW50KVwiIFxuICAgIChrZXlkb3duKT1cIl9oYW5kbGVPbktleWRvd25FdmVudCgkZXZlbnQpXCIgXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cbjwvbmctY29udGVudD5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPlxuPC9uZy1jb250ZW50PiJdfQ==