@acorex/components 5.0.2 → 5.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/bundles/acorex-components.umd.js +1528 -1038
  2. package/bundles/acorex-components.umd.js.map +1 -1
  3. package/esm2015/lib/alert/alert.component.js +17 -17
  4. package/esm2015/lib/badge/badge.component.js +34 -0
  5. package/esm2015/lib/badge/badge.module.js +21 -0
  6. package/esm2015/lib/badge/index.js +3 -0
  7. package/esm2015/lib/base/events.class.js +7 -1
  8. package/esm2015/lib/base/mixin/base-components.class.js +6 -6
  9. package/esm2015/lib/base/mixin/button-mixin.class.js +2 -2
  10. package/esm2015/lib/base/mixin/interactive-mixin.class.js +6 -1
  11. package/esm2015/lib/base/mixin/mixin.class.js +2 -3
  12. package/esm2015/lib/button/button-group.component.js +3 -3
  13. package/esm2015/lib/button/button.component.js +27 -6
  14. package/esm2015/lib/button/button.module.js +1 -5
  15. package/esm2015/lib/button/index.js +1 -2
  16. package/esm2015/lib/calendar/calendar.component.js +266 -38
  17. package/esm2015/lib/calendar/calendar.module.js +4 -3
  18. package/esm2015/lib/checkbox/checkbox.component.js +2 -2
  19. package/esm2015/lib/datepicker/datepicker.component.js +21 -5
  20. package/esm2015/lib/decorators/prefix.component.js +3 -3
  21. package/esm2015/lib/decorators/suffix.component.js +3 -11
  22. package/esm2015/lib/dialog/dialog.component.js +2 -2
  23. package/esm2015/lib/dialog/dialog.service.js +24 -5
  24. package/esm2015/lib/dropdown/dropdown-base.class.js +98 -0
  25. package/esm2015/lib/dropdown/dropdown-panel.component.js +23 -130
  26. package/esm2015/lib/dropdown/dropdown.component.js +16 -123
  27. package/esm2015/lib/dropdown/dropdown.module.js +5 -4
  28. package/esm2015/lib/icon/icon.component.js +4 -4
  29. package/esm2015/lib/number-box/number-box.component.js +4 -4
  30. package/esm2015/lib/password-box/index.js +3 -0
  31. package/esm2015/lib/password-box/password-box.component.js +74 -0
  32. package/esm2015/lib/password-box/password-box.module.js +35 -0
  33. package/esm2015/lib/popover/popover.component.js +183 -82
  34. package/esm2015/lib/range-slider/index.js +3 -0
  35. package/esm2015/lib/range-slider/range-slider.component.js +22 -0
  36. package/esm2015/lib/range-slider/range-slider.module.js +21 -0
  37. package/esm2015/lib/selectbox/selectbox.component.js +11 -3
  38. package/esm2015/lib/selectbox/selectbox.module.js +8 -4
  39. package/esm2015/lib/selection-list/selection-list.component.js +3 -2
  40. package/esm2015/lib/switch/switch.component.js +2 -2
  41. package/esm2015/lib/tabs/index.js +4 -2
  42. package/esm2015/lib/tabs/tab-content.directive.js +27 -0
  43. package/esm2015/lib/tabs/tab-item.component.js +76 -0
  44. package/esm2015/lib/tabs/tab-strip.component.js +15 -7
  45. package/esm2015/lib/tabs/tab-view.component.js +4 -5
  46. package/esm2015/lib/tabs/tab.component.js +2 -3
  47. package/esm2015/lib/tabs/tabs.component.js +74 -0
  48. package/esm2015/lib/tabs/tabs.module.js +9 -7
  49. package/esm2015/lib/textbox/textbox.component.js +8 -6
  50. package/esm2015/lib/textbox/textbox.module.js +6 -2
  51. package/esm2015/lib/time-box/time-box.component.js +1 -1
  52. package/esm2015/lib/toast/toast.component.js +2 -2
  53. package/esm2015/public-api.js +4 -1
  54. package/fesm2015/acorex-components.js +1316 -883
  55. package/fesm2015/acorex-components.js.map +1 -1
  56. package/lib/alert/alert.component.d.ts +4 -4
  57. package/lib/badge/badge.component.d.ts +11 -0
  58. package/lib/badge/badge.module.d.ts +8 -0
  59. package/lib/badge/index.d.ts +2 -0
  60. package/lib/base/events.class.d.ts +7 -0
  61. package/lib/base/mixin/button-mixin.class.d.ts +3 -1
  62. package/lib/base/mixin/interactive-mixin.class.d.ts +2 -3
  63. package/lib/base/mixin/loading-mixin.class.d.ts +1 -3
  64. package/lib/base/mixin/mixin.class.d.ts +1 -224
  65. package/lib/base/mixin/textbox-mixin.class.d.ts +4 -7
  66. package/lib/base/mixin/value-mixin.class.d.ts +4 -5
  67. package/lib/button/button-group.component.d.ts +3 -2
  68. package/lib/button/button.component.d.ts +4 -1
  69. package/lib/button/button.module.d.ts +6 -7
  70. package/lib/button/index.d.ts +0 -1
  71. package/lib/calendar/calendar.component.d.ts +52 -12
  72. package/lib/calendar/calendar.module.d.ts +4 -3
  73. package/lib/datepicker/datepicker.component.d.ts +3 -3
  74. package/lib/decorators/prefix.component.d.ts +1 -1
  75. package/lib/decorators/suffix.component.d.ts +1 -1
  76. package/lib/dialog/dialog.service.d.ts +20 -2
  77. package/lib/dropdown/dropdown-base.class.d.ts +92 -0
  78. package/lib/dropdown/dropdown-panel.component.d.ts +12 -100
  79. package/lib/dropdown/dropdown.component.d.ts +9 -27
  80. package/lib/dropdown/dropdown.module.d.ts +2 -1
  81. package/lib/icon/icon.component.d.ts +1 -1
  82. package/lib/number-box/number-box.component.d.ts +1 -1
  83. package/lib/password-box/index.d.ts +2 -0
  84. package/lib/password-box/password-box.component.d.ts +24 -0
  85. package/lib/password-box/password-box.module.d.ts +12 -0
  86. package/lib/popover/popover.component.d.ts +37 -23
  87. package/lib/range-slider/index.d.ts +2 -0
  88. package/lib/range-slider/range-slider.component.d.ts +8 -0
  89. package/lib/range-slider/range-slider.module.d.ts +8 -0
  90. package/lib/selectbox/selectbox.component.d.ts +1 -0
  91. package/lib/selectbox/selectbox.module.d.ts +5 -1
  92. package/lib/selection-list/selection-list.component.d.ts +1 -1
  93. package/lib/tabs/index.d.ts +3 -1
  94. package/lib/tabs/tab-content.directive.d.ts +11 -0
  95. package/lib/tabs/tab-item.component.d.ts +16 -0
  96. package/lib/tabs/tab-strip.component.d.ts +5 -3
  97. package/lib/tabs/tab-view.component.d.ts +2 -2
  98. package/lib/tabs/tabs.component.d.ts +19 -0
  99. package/lib/tabs/tabs.module.d.ts +6 -4
  100. package/lib/textbox/textbox.module.d.ts +3 -2
  101. package/package.json +1 -1
  102. package/public-api.d.ts +3 -0
  103. package/esm2015/lib/button/dropdown-button.component.js +0 -200
  104. package/lib/button/dropdown-button.component.d.ts +0 -234
@@ -47,7 +47,7 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
47
47
  this._maxValue = Number.MAX_VALUE;
48
48
  this.displayTextChange = new EventEmitter();
49
49
  }
50
- get hostClass() {
50
+ get __hostClass() {
51
51
  return `${this.cssClass} ax-${this.size}`;
52
52
  }
53
53
  /**
@@ -237,7 +237,7 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
237
237
  }
238
238
  }
239
239
  AXNumberBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXNumberBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.MaskApplierService }], target: i0.ɵɵFactoryTarget.Component });
240
- AXNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", debounceTime: "debounceTime", name: "name", separator: "separator", thousandSeparator: "thousandSeparator", step: "step", scale: "scale", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue", displayText: "displayText" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", displayTextChange: "displayTextChange" }, host: { properties: { "class": "this.hostClass" }, classAttribute: "ax-number-box ax-editor-container" }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input class=\"ax-input\" type=\"text\" [attr.pattern]=\"'[\\d\\.]*'\" [attr.placeholder]=\"placeholder\" [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"displayText\"\r\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_handleOnBlurEvent($event)\" (keydown)=\"_handleOnKeydownEvent($event)\"\r\n autocomplete=\"off\">\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\r\n *ngIf=\"value && allowNull && !(disabled || readonly)\">\r\n <i class=\"ax-icon-x icon\"></i>\r\n</ax-button>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>", components: [{ type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "cssClass", "cssStyle", "text", "submitBehavior", "cancelBehavior", "color", "look", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }], directives: [{ 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]" }, { type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
240
+ AXNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", debounceTime: "debounceTime", name: "name", separator: "separator", thousandSeparator: "thousandSeparator", step: "step", scale: "scale", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue", displayText: "displayText" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", displayTextChange: "displayTextChange" }, host: { properties: { "class": "this.__hostClass" }, classAttribute: "ax-number-box ax-editor-container" }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input class=\"ax-input\" type=\"text\" [attr.pattern]=\"'[\\d\\.]*'\" [attr.placeholder]=\"placeholder\" [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"displayText\"\r\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_handleOnBlurEvent($event)\" (keydown)=\"_handleOnKeydownEvent($event)\"\r\n autocomplete=\"off\">\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\r\n *ngIf=\"value && allowNull && !(disabled || readonly)\">\r\n <i class=\"ax-icon-x icon\"></i>\r\n</ax-button>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>", components: [{ type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "text", "submitBehavior", "cancelBehavior", "color", "look", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }], directives: [{ 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]" }, { type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
241
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
242
242
  type: Component,
243
243
  args: [{
@@ -262,7 +262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
262
262
  encapsulation: ViewEncapsulation.None,
263
263
  host: { class: 'ax-number-box ax-editor-container' },
264
264
  }]
265
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.MaskApplierService }]; }, propDecorators: { hostClass: [{
265
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.MaskApplierService }]; }, propDecorators: { __hostClass: [{
266
266
  type: HostBinding,
267
267
  args: ['class']
268
268
  }], separator: [{
@@ -286,4 +286,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
286
286
  }], displayText: [{
287
287
  type: Input
288
288
  }] } });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL251bWJlci1ib3gvbnVtYmVyLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL251bWJlci1ib3gvbnVtYmVyLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFHdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsY0FBYyxFQUNkLGNBQWMsR0FDZixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFFM0M7Ozs7R0FJRztBQXVCSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBdUYxRDs7TUFFRTtJQUNGLFlBQ0UsVUFBc0IsRUFDZCxHQUFzQixFQUN0QixZQUFnQztRQUV4QyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGYsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBdEYxQzs7VUFFRTtRQUVGLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFFdkI7O1NBRUM7UUFFRixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFbEM7O1NBRUM7UUFFRixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRWpCOztVQUVFO1FBRUYsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUVsQjs7VUFFRTtRQUVGLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBRTFCOztVQUVFO1FBRUYsb0JBQWUsR0FBWSxJ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RFosV0FBVzt1QkFBQyxPQUFPO2dCQVNwQixTQUFTO3NCQURSLEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO2dCQU9OLGVBQWU7c0JBRGQsS0FBSztnQkFTSyxRQUFRO3NCQURsQixLQUFLO2dCQWNLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBU0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQVFJLFdBQVc7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hc2tBcHBsaWVyU2VydmljZSB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgQVhCYXNlVGV4dEJveE1peGluIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7XHJcbiAgVEVYVEJPWF9JTlBVVFMsXHJcbiAgVEVYVEJPWF9PVVRQVVQsXHJcbn0gZnJvbSAnLi4vYmFzZS9taXhpbi90ZXh0Ym94LW1peGluLmNsYXNzJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgTnVtYmVyQm94IGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LW51bWJlci1ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFtcclxuICAgICdkaXNhYmxlZCcsXHJcbiAgICAncmVhZG9ubHknLFxyXG4gICAgJ3RhYkluZGV4JyxcclxuICAgICdzaXplJyxcclxuICAgICd2YWx1ZScsXHJcbiAgICAuLi5URVhUQk9YX0lOUFVUUyxcclxuICBdLFxyXG4gIG91dHB1dHM6IFtcclxuICAgICd2YWx1ZUNoYW5nZScsXHJcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxyXG4gICAgJ29uQmx1cicsXHJcbiAgICAnb25Gb2N1cycsXHJcbiAgICAuLi5URVhUQk9YX09VVFBVVCxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4LW51bWJlci1ib3ggYXgtZWRpdG9yLWNvbnRhaW5lcicgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTnVtYmVyQm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVGV4dEJveE1peGluIHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGhvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3NzQ2xhc3N9IGF4LSR7dGhpcy5zaXplfWA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqICBBIGNoYXJhY3RlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgc2VwYXJhdG9yIGNoYXJhY3Rlci5cclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VwYXJhdG9yOiBzdHJpbmcgPSAnLCc7XHJcblxyXG4gICAvKipcclxuICAqICBTcGVjaWZpZXMgd2hldGhlciB0aGUgU2VwYXJhdG9yIGNoYXJhY3RlciB3aWxsIGJlIGRpc3BsYXllZCBvciBub3RcclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdGhvdXNhbmRTZXBhcmF0b3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgIC8qKlxyXG4gICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXHJcbiAgKi9cclxuICBASW5wdXQoKVxyXG4gIHN0ZXA6IG51bWJlciA9IDE7XHJcblxyXG4gIC8qKlxyXG4gICogIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGRlY2ltYWxzIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyXHJcbiAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNjYWxlOiBudW1iZXIgPSAwO1xyXG5cclxuICAvKipcclxuICAqICBTcGVjaWZpZXMgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IHRoZSAqKkRlY2lhbWwqKiBwYXJ0IG9mIG51bWJlclxyXG4gICovXHJcbiAgQElucHV0KClcclxuICBkZWNpbWFsU3RlcDogbnVtYmVyID0gMC4xO1xyXG5cclxuICAvKipcclxuICAqICBTcGVjaWZpZXMgd2hldGhlciB0aGUgVXAgYW5kIERvd24gc3BpbiBidXR0b25zIHdpbGwgYmUgcmVuZGVyZWQgb3Igbm90XHJcbiAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNob3dTcGluQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgX21pblZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUlOX1ZBTFVFO1xyXG5cclxuICAvKipcclxuICAqICBTcGVjaWZpZXMgdGhlIHNtYWxsZXN0IHZhbHVlIHRoYXQgaXMgdmFsaWRcclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pblZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IG1pblZhbHVlKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbWluVmFsdWUgPSB2ID8gTnVtYmVyKHYpIDogTnVtYmVyLk1JTl9WQUxVRTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21heFZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUFYX1ZBTFVFO1xyXG5cclxuICAvKipcclxuICAqICBTcGVjaWZpZXMgdGhlIGdyZWF0ZXN0IHZhbHVlIHRoYXQgaXMgdmFsaWRcclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX21heFZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbWF4VmFsdWUgPSB2ID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9WQUxVRTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkaXNwbGF5VGV4dENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBwcml2YXRlIF9kaXNwbGF5VGV4dDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAqICBUaGUgZm9ybWF0dGVkIHN0cmluZyB3aGljaCBpcyBkaXNwbGF5aW5nIGluIHRoZSBudW1iZXJib3hcclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBkaXNwbGF5VGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBkaXNwbGF5VGV4dCh2OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2Rpc3BsYXlUZXh0ID0gdjtcclxuICAgIHRoaXMuZGlzcGxheVRleHRDaGFuZ2UuZW1pdCh2KTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAqICBAaWdub3JlXHJcbiAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9tYXNrU2VydmljZTogTWFza0FwcGxpZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IGlnbm9yZSA9ICgpID0+IHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IHRvTnVtID0gKHZhbDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiBOdW1iZXIodmFsLnJlcGxhY2UoL1teMC05Li1dKy9nLCAnJykpO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IG51bXM6IHN0cmluZ1tdID0gQXJyYXkoMTApXHJcbiAgICAgIC5maWxsKDApXHJcbiAgICAgIC5tYXAoKHYsIGkpID0+IGkudG9TdHJpbmcoKSk7XHJcbiAgICBjb25zdCBjaGFyczogc3RyaW5nW10gPSBbXHJcbiAgICAgICcuJyxcclxuICAgICAgJy0nLFxyXG4gICAgICAnQmFja3NwYWNlJyxcclxuICAgICAgJ0Fycm93RG93bicsXHJcbiAgICAgICdBcnJvd1VwJyxcclxuICAgICAgJ0Fycm93UmlnaHQnLFxyXG4gICAgICAnQXJyb3dMZWZ0JyxcclxuICAgICAgJ1RhYicsXHJcbiAgICAgICdFbnRlcicsXHJcbiAgICBdO1xyXG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3Qga2V5ID0gZS5rZXk7XHJcbiAgICBjb25zdCB2YWxTdHIgPSBpbnB1dC52YWx1ZTtcclxuICAgIGNvbnN0IHZhbCA9IHRvTnVtKHZhbFN0cik7XHJcbiAgICBjb25zdCBkZWNpbWFsUG9pbnRJbmRleCA9IHZhbFN0ci5pbmRleE9mKCcuJyk7XHJcbiAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IGlucHV0LnNlbGVjdGlvblN0YXJ0O1xyXG4gICAgY29uc3Qgc2VsZWN0aW9uRW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kO1xyXG4gICAgLy9cclxuXHJcbiAgICAvL1xyXG4gICAgaWYgKCFbLi4ubnVtcywgLi4uY2hhcnNdLmluY2x1ZGVzKGtleSkpIHtcclxuICAgICAgaWdub3JlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGUua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgY29uc3Qgc3RlcFZhbCA9XHJcbiAgICAgICAgZGVjaW1hbFBvaW50SW5kZXggPiAtMVxyXG4gICAgICAgICAgPyBzZWxlY3Rpb25TdGFydCA+PSBkZWNpbWFsUG9pbnRJbmRleFxyXG4gICAgICAgICAgICA/IHRoaXMuZGVjaW1hbFN0ZXBcclxuICAgICAgICAgICAgOiB0aGlzLnN0ZXBcclxuICAgICAgICAgIDogdGhpcy5zdGVwO1xyXG4gICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbCAtIHN0ZXBWYWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbCArIHN0ZXBWYWw7XHJcbiAgICAgIH1cclxuICAgICAgaWdub3JlKCk7XHJcbiAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25TdGFydCk7XHJcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09ICdCYWNrc3BhY2UnKSB7XHJcbiAgICAgIGNvbnN0IGNociA9IHZhbFN0ci5zdWJzdHIoc2VsZWN0aW9uU3RhcnQgLSAxLCAxKTtcclxuICAgICAgaWYgKCFudW1zLmluY2x1ZGVzKGNocikpIHtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydCAtIDEsIHNlbGVjdGlvblN0YXJ0IC0gMSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsID0gdG9OdW0oXHJcbiAgICAgICAgICB2YWxTdHIuc3Vic3RyKDAsIHNlbGVjdGlvblN0YXJ0IC0gMSkgKyB2YWxTdHIuc3Vic3RyKHNlbGVjdGlvbkVuZClcclxuICAgICAgICApO1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5fZm9ybWF0KG5ld1ZhbCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbDtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgICBpZiAobmV3VmFsID09IDApIHtcclxuICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKDEsIDEpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydCAtIDEsIHNlbGVjdGlvblN0YXJ0IC0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09ICcuJykge1xyXG4gICAgICBpZiAoIXRoaXMuc2NhbGUpIHtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgfSBlbHNlIGlmIChkZWNpbWFsUG9pbnRJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoZGVjaW1hbFBvaW50SW5kZXggKyAxLCBkZWNpbWFsUG9pbnRJbmRleCArIDEpO1xyXG4gICAgICAgIGlnbm9yZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChpbnB1dC5zZWxlY3Rpb25FbmQgIT0gdmFsU3RyLmxlbmd0aCkge1xyXG4gICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsU3RyLmxlbmd0aCwgdmFsU3RyLmxlbmd0aCk7XHJcbiAgICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT0gJy0nKSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdmFsU3RyLmluZGV4T2YoJy0nKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSkgKiAtMTtcclxuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShpbmRleCArIDEsIGluZGV4ICsgMSk7XHJcbiAgICAgICAgaWdub3JlKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAobnVtcy5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbCA9IHRvTnVtKFxyXG4gICAgICAgIHZhbFN0ci5zdWJzdHIoMCwgc2VsZWN0aW9uU3RhcnQpICsga2V5ICsgdmFsU3RyLnN1YnN0cihzZWxlY3Rpb25FbmQpXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChuZXdWYWwgPCB0aGlzLm1pblZhbHVlKSB7XHJcbiAgICAgICAgLy9UT0RPIDogaGlnaGxpZ2h0IGNvcnJlY3QgbnVtYmVyXHJcbiAgICAgICAgLy9pbnB1dC52YWx1ZSA9IHRoaXMuX2Zvcm1hdCh0aGlzLm1pblZhbHVlKTtcclxuICAgICAgICAvL2NvbnN0IGRpZmYgPSB0aGlzLm1pblZhbHVlIC0gdmFsO1xyXG4gICAgICAgIC8vdGhpcy52YWx1ZSA9IHRoaXMubWluVmFsdWU7XHJcbiAgICAgICAgLy9pZ25vcmUoKTtcclxuICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvLyAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoaW5wdXQuc2VsZWN0aW9uU3RhcnQgKyAxLCB0aGlzLm1pblZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoKTtcclxuICAgICAgICAvLyB9LCA1MCk7XHJcbiAgICAgIH0gZWxzZSBpZiAobmV3VmFsID4gdGhpcy5tYXhWYWx1ZSkge1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5fZm9ybWF0KHRoaXMubWF4VmFsdWUpO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heFZhbHVlO1xyXG4gICAgICAgIGlnbm9yZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5fZm9ybWF0KG5ld1ZhbCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbDtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3VwZXIuX2VtaXRPbktleWRvd25FdmVudChlKTtcclxuICB9XHJcblxyXG4gIF9vblZhbHVlQ2hhbmdpbmcodmFsdWU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpeFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIF9maXhWYWx1ZSh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5hbGxvd051bGwgPyBudWxsIDogdGhpcy5taW5WYWx1ZTtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgPiB0aGlzLm1heFZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1heFZhbHVlO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA8IHRoaXMubWluVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWluVmFsdWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZS50b0ZpeGVkKHRoaXMuc2NhbGUpKTtcclxuICB9XHJcblxyXG4gIF9mb3JtYXQodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy50aG91c2FuZFNlcGFyYXRvcikge1xyXG4gICAgICB0aGlzLl9tYXNrU2VydmljZS50aG91c2FuZFNlcGFyYXRvciA9IHRoaXMuc2VwYXJhdG9yO1xyXG4gICAgICB0aGlzLl9tYXNrU2VydmljZS5hbGxvd05lZ2F0aXZlTnVtYmVycyA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGZvcm1hdCA9IGBzZXBhcmF0b3IuJHt0aGlzLnNjYWxlfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLl9tYXNrU2VydmljZS5hcHBseU1hc2sodmFsdWU/LnRvU3RyaW5nKCksIGZvcm1hdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9tYXNrU2VydmljZS50aG91c2FuZFNlcGFyYXRvciA9ICcnO1xyXG4gICAgICB0aGlzLl9tYXNrU2VydmljZS5hbGxvd05lZ2F0aXZlTnVtYmVycyA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGZvcm1hdCA9IGBzZXBhcmF0b3IuJHt0aGlzLnNjYWxlfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLl9tYXNrU2VydmljZS5hcHBseU1hc2sodmFsdWU/LnRvU3RyaW5nKCksIGZvcm1hdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMuX2Zvcm1hdChuZXdWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlT25CbHVyRXZlbnQoZTogRm9jdXNFdmVudCkge1xyXG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuX2ZpeFZhbHVlKHRoaXMudmFsdWUpO1xyXG4gICAgaW5wdXQudmFsdWUgPSB0aGlzLl9mb3JtYXQodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLl9lbWl0T25Gb2N1c0V2ZW50KGUpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48aW5wdXQgY2xhc3M9XCJheC1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgW2F0dHIucGF0dGVybl09XCInW1xcZFxcLl0qJ1wiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2F0dHIubWluXT1cIm1pblZhbHVlXCJcclxuICAgIFthdHRyLm1heF09XCJtYXhWYWx1ZVwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiBbbmdNb2RlbF09XCJkaXNwbGF5VGV4dFwiXHJcbiAgICAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiIChibHVyKT1cIl9oYW5kbGVPbkJsdXJFdmVudCgkZXZlbnQpXCIgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIlxyXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbjxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cImNsZWFyKClcIiBbdGFiSW5kZXhdPVwiLTFcIlxyXG4gICAgKm5nSWY9XCJ2YWx1ZSAmJiBhbGxvd051bGwgJiYgIShkaXNhYmxlZCB8fCByZWFkb25seSlcIj5cclxuICAgIDxpIGNsYXNzPVwiYXgtaWNvbi14IGljb25cIj48L2k+XHJcbjwvYXgtYnV0dG9uPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cclxuPC9uZy1jb250ZW50PiJdfQ==
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL251bWJlci1ib3gvbnVtYmVyLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL251bWJlci1ib3gvbnVtYmVyLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFHdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsY0FBYyxFQUNkLGNBQWMsR0FDZixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFFM0M7Ozs7R0FJRztBQXVCSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBdUYxRDs7TUFFRTtJQUNGLFlBQ0UsVUFBc0IsRUFDZCxHQUFzQixFQUN0QixZQUFnQztRQUV4QyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGYsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBdEYxQzs7VUFFRTtRQUVGLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFFdkI7O1NBRUM7UUFFRixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFbEM7O1NBRUM7UUFFRixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRWpCOztVQUVFO1FBRUYsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUVsQjs7VUFFRTtRQUVGLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBRTFCOztVQUVFO1FBRUYsb0JBQWUsR0FBWSxJ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QUR0QixXQUFXO3VCQUFDLE9BQU87Z0JBU3BCLFNBQVM7c0JBRFIsS0FBSztnQkFPTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLEtBQUs7c0JBREosS0FBSztnQkFPTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxLQUFLO2dCQVNLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBY0ssUUFBUTtzQkFEbEIsS0FBSztnQkFTQyxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBUUksV0FBVztzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWFza0FwcGxpZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LW1hc2snO1xyXG5pbXBvcnQgeyBBWEJhc2VUZXh0Qm94TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHtcclxuICBURVhUQk9YX0lOUFVUUyxcclxuICBURVhUQk9YX09VVFBVVCxcclxufSBmcm9tICcuLi9iYXNlL21peGluL3RleHRib3gtbWl4aW4uY2xhc3MnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBOdW1iZXJCb3ggaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbnVtYmVyLWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ3NpemUnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgIC4uLlRFWFRCT1hfSU5QVVRTLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogW1xyXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcclxuICAgICdvblZhbHVlQ2hhbmdlZCcsXHJcbiAgICAnb25CbHVyJyxcclxuICAgICdvbkZvY3VzJyxcclxuICAgIC4uLlRFWFRCT1hfT1VUUFVULFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtbnVtYmVyLWJveCBheC1lZGl0b3ItY29udGFpbmVyJyB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhOdW1iZXJCb3hDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VUZXh0Qm94TWl4aW4ge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3NzQ2xhc3N9IGF4LSR7dGhpcy5zaXplfWA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqICBBIGNoYXJhY3RlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgc2VwYXJhdG9yIGNoYXJhY3Rlci5cclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VwYXJhdG9yOiBzdHJpbmcgPSAnLCc7XHJcblxyXG4gICAvKipcclxuICAqICBTcGVjaWZpZXMgd2hldGhlciB0aGUgU2VwYXJhdG9yIGNoYXJhY3RlciB3aWxsIGJlIGRpc3BsYXllZCBvciBub3RcclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdGhvdXNhbmRTZXBhcmF0b3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgIC8qKlxyXG4gICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXHJcbiAgKi9cclxuICBASW5wdXQoKVxyXG4gIHN0ZXA6IG51bWJlciA9IDE7XHJcblxyXG4gIC8qKlxyXG4gICogIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGRlY2ltYWxzIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyXHJcbiAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNjYWxlOiBudW1iZXIgPSAwO1xyXG5cclxuICAvKipcclxuICAqICBTcGVjaWZpZXMgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IHRoZSAqKkRlY2lhbWwqKiBwYXJ0IG9mIG51bWJlclxyXG4gICovXHJcbiAgQElucHV0KClcclxuICBkZWNpbWFsU3RlcDogbnVtYmVyID0gMC4xO1xyXG5cclxuICAvKipcclxuICAqICBTcGVjaWZpZXMgd2hldGhlciB0aGUgVXAgYW5kIERvd24gc3BpbiBidXR0b25zIHdpbGwgYmUgcmVuZGVyZWQgb3Igbm90XHJcbiAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNob3dTcGluQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgX21pblZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUlOX1ZBTFVFO1xyXG5cclxuICAvKipcclxuICAqICBTcGVjaWZpZXMgdGhlIHNtYWxsZXN0IHZhbHVlIHRoYXQgaXMgdmFsaWRcclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pblZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IG1pblZhbHVlKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbWluVmFsdWUgPSB2ID8gTnVtYmVyKHYpIDogTnVtYmVyLk1JTl9WQUxVRTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21heFZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUFYX1ZBTFVFO1xyXG5cclxuICAvKipcclxuICAqICBTcGVjaWZpZXMgdGhlIGdyZWF0ZXN0IHZhbHVlIHRoYXQgaXMgdmFsaWRcclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX21heFZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbWF4VmFsdWUgPSB2ID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9WQUxVRTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkaXNwbGF5VGV4dENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBwcml2YXRlIF9kaXNwbGF5VGV4dDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAqICBUaGUgZm9ybWF0dGVkIHN0cmluZyB3aGljaCBpcyBkaXNwbGF5aW5nIGluIHRoZSBudW1iZXJib3hcclxuICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBkaXNwbGF5VGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBkaXNwbGF5VGV4dCh2OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2Rpc3BsYXlUZXh0ID0gdjtcclxuICAgIHRoaXMuZGlzcGxheVRleHRDaGFuZ2UuZW1pdCh2KTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAqICBAaWdub3JlXHJcbiAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9tYXNrU2VydmljZTogTWFza0FwcGxpZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IGlnbm9yZSA9ICgpID0+IHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IHRvTnVtID0gKHZhbDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiBOdW1iZXIodmFsLnJlcGxhY2UoL1teMC05Li1dKy9nLCAnJykpO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IG51bXM6IHN0cmluZ1tdID0gQXJyYXkoMTApXHJcbiAgICAgIC5maWxsKDApXHJcbiAgICAgIC5tYXAoKHYsIGkpID0+IGkudG9TdHJpbmcoKSk7XHJcbiAgICBjb25zdCBjaGFyczogc3RyaW5nW10gPSBbXHJcbiAgICAgICcuJyxcclxuICAgICAgJy0nLFxyXG4gICAgICAnQmFja3NwYWNlJyxcclxuICAgICAgJ0Fycm93RG93bicsXHJcbiAgICAgICdBcnJvd1VwJyxcclxuICAgICAgJ0Fycm93UmlnaHQnLFxyXG4gICAgICAnQXJyb3dMZWZ0JyxcclxuICAgICAgJ1RhYicsXHJcbiAgICAgICdFbnRlcicsXHJcbiAgICBdO1xyXG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3Qga2V5ID0gZS5rZXk7XHJcbiAgICBjb25zdCB2YWxTdHIgPSBpbnB1dC52YWx1ZTtcclxuICAgIGNvbnN0IHZhbCA9IHRvTnVtKHZhbFN0cik7XHJcbiAgICBjb25zdCBkZWNpbWFsUG9pbnRJbmRleCA9IHZhbFN0ci5pbmRleE9mKCcuJyk7XHJcbiAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IGlucHV0LnNlbGVjdGlvblN0YXJ0O1xyXG4gICAgY29uc3Qgc2VsZWN0aW9uRW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kO1xyXG4gICAgLy9cclxuXHJcbiAgICAvL1xyXG4gICAgaWYgKCFbLi4ubnVtcywgLi4uY2hhcnNdLmluY2x1ZGVzKGtleSkpIHtcclxuICAgICAgaWdub3JlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGUua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgY29uc3Qgc3RlcFZhbCA9XHJcbiAgICAgICAgZGVjaW1hbFBvaW50SW5kZXggPiAtMVxyXG4gICAgICAgICAgPyBzZWxlY3Rpb25TdGFydCA+PSBkZWNpbWFsUG9pbnRJbmRleFxyXG4gICAgICAgICAgICA/IHRoaXMuZGVjaW1hbFN0ZXBcclxuICAgICAgICAgICAgOiB0aGlzLnN0ZXBcclxuICAgICAgICAgIDogdGhpcy5zdGVwO1xyXG4gICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbCAtIHN0ZXBWYWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbCArIHN0ZXBWYWw7XHJcbiAgICAgIH1cclxuICAgICAgaWdub3JlKCk7XHJcbiAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25TdGFydCk7XHJcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09ICdCYWNrc3BhY2UnKSB7XHJcbiAgICAgIGNvbnN0IGNociA9IHZhbFN0ci5zdWJzdHIoc2VsZWN0aW9uU3RhcnQgLSAxLCAxKTtcclxuICAgICAgaWYgKCFudW1zLmluY2x1ZGVzKGNocikpIHtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydCAtIDEsIHNlbGVjdGlvblN0YXJ0IC0gMSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsID0gdG9OdW0oXHJcbiAgICAgICAgICB2YWxTdHIuc3Vic3RyKDAsIHNlbGVjdGlvblN0YXJ0IC0gMSkgKyB2YWxTdHIuc3Vic3RyKHNlbGVjdGlvbkVuZClcclxuICAgICAgICApO1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5fZm9ybWF0KG5ld1ZhbCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbDtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgICBpZiAobmV3VmFsID09IDApIHtcclxuICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKDEsIDEpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydCAtIDEsIHNlbGVjdGlvblN0YXJ0IC0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09ICcuJykge1xyXG4gICAgICBpZiAoIXRoaXMuc2NhbGUpIHtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgfSBlbHNlIGlmIChkZWNpbWFsUG9pbnRJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoZGVjaW1hbFBvaW50SW5kZXggKyAxLCBkZWNpbWFsUG9pbnRJbmRleCArIDEpO1xyXG4gICAgICAgIGlnbm9yZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChpbnB1dC5zZWxlY3Rpb25FbmQgIT0gdmFsU3RyLmxlbmd0aCkge1xyXG4gICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsU3RyLmxlbmd0aCwgdmFsU3RyLmxlbmd0aCk7XHJcbiAgICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT0gJy0nKSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdmFsU3RyLmluZGV4T2YoJy0nKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSkgKiAtMTtcclxuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShpbmRleCArIDEsIGluZGV4ICsgMSk7XHJcbiAgICAgICAgaWdub3JlKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAobnVtcy5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbCA9IHRvTnVtKFxyXG4gICAgICAgIHZhbFN0ci5zdWJzdHIoMCwgc2VsZWN0aW9uU3RhcnQpICsga2V5ICsgdmFsU3RyLnN1YnN0cihzZWxlY3Rpb25FbmQpXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChuZXdWYWwgPCB0aGlzLm1pblZhbHVlKSB7XHJcbiAgICAgICAgLy9UT0RPIDogaGlnaGxpZ2h0IGNvcnJlY3QgbnVtYmVyXHJcbiAgICAgICAgLy9pbnB1dC52YWx1ZSA9IHRoaXMuX2Zvcm1hdCh0aGlzLm1pblZhbHVlKTtcclxuICAgICAgICAvL2NvbnN0IGRpZmYgPSB0aGlzLm1pblZhbHVlIC0gdmFsO1xyXG4gICAgICAgIC8vdGhpcy52YWx1ZSA9IHRoaXMubWluVmFsdWU7XHJcbiAgICAgICAgLy9pZ25vcmUoKTtcclxuICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvLyAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoaW5wdXQuc2VsZWN0aW9uU3RhcnQgKyAxLCB0aGlzLm1pblZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoKTtcclxuICAgICAgICAvLyB9LCA1MCk7XHJcbiAgICAgIH0gZWxzZSBpZiAobmV3VmFsID4gdGhpcy5tYXhWYWx1ZSkge1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5fZm9ybWF0KHRoaXMubWF4VmFsdWUpO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heFZhbHVlO1xyXG4gICAgICAgIGlnbm9yZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5fZm9ybWF0KG5ld1ZhbCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbDtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3VwZXIuX2VtaXRPbktleWRvd25FdmVudChlKTtcclxuICB9XHJcblxyXG4gIF9vblZhbHVlQ2hhbmdpbmcodmFsdWU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpeFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIF9maXhWYWx1ZSh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5hbGxvd051bGwgPyBudWxsIDogdGhpcy5taW5WYWx1ZTtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgPiB0aGlzLm1heFZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1heFZhbHVlO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA8IHRoaXMubWluVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWluVmFsdWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZS50b0ZpeGVkKHRoaXMuc2NhbGUpKTtcclxuICB9XHJcblxyXG4gIF9mb3JtYXQodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy50aG91c2FuZFNlcGFyYXRvcikge1xyXG4gICAgICB0aGlzLl9tYXNrU2VydmljZS50aG91c2FuZFNlcGFyYXRvciA9IHRoaXMuc2VwYXJhdG9yO1xyXG4gICAgICB0aGlzLl9tYXNrU2VydmljZS5hbGxvd05lZ2F0aXZlTnVtYmVycyA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGZvcm1hdCA9IGBzZXBhcmF0b3IuJHt0aGlzLnNjYWxlfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLl9tYXNrU2VydmljZS5hcHBseU1hc2sodmFsdWU/LnRvU3RyaW5nKCksIGZvcm1hdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9tYXNrU2VydmljZS50aG91c2FuZFNlcGFyYXRvciA9ICcnO1xyXG4gICAgICB0aGlzLl9tYXNrU2VydmljZS5hbGxvd05lZ2F0aXZlTnVtYmVycyA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGZvcm1hdCA9IGBzZXBhcmF0b3IuJHt0aGlzLnNjYWxlfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLl9tYXNrU2VydmljZS5hcHBseU1hc2sodmFsdWU/LnRvU3RyaW5nKCksIGZvcm1hdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMuX2Zvcm1hdChuZXdWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlT25CbHVyRXZlbnQoZTogRm9jdXNFdmVudCkge1xyXG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuX2ZpeFZhbHVlKHRoaXMudmFsdWUpO1xyXG4gICAgaW5wdXQudmFsdWUgPSB0aGlzLl9mb3JtYXQodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLl9lbWl0T25Gb2N1c0V2ZW50KGUpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48aW5wdXQgY2xhc3M9XCJheC1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgW2F0dHIucGF0dGVybl09XCInW1xcZFxcLl0qJ1wiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2F0dHIubWluXT1cIm1pblZhbHVlXCJcclxuICAgIFthdHRyLm1heF09XCJtYXhWYWx1ZVwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiBbbmdNb2RlbF09XCJkaXNwbGF5VGV4dFwiXHJcbiAgICAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiIChibHVyKT1cIl9oYW5kbGVPbkJsdXJFdmVudCgkZXZlbnQpXCIgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIlxyXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbjxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cImNsZWFyKClcIiBbdGFiSW5kZXhdPVwiLTFcIlxyXG4gICAgKm5nSWY9XCJ2YWx1ZSAmJiBhbGxvd051bGwgJiYgIShkaXNhYmxlZCB8fCByZWFkb25seSlcIj5cclxuICAgIDxpIGNsYXNzPVwiYXgtaWNvbi14IGljb25cIj48L2k+XHJcbjwvYXgtYnV0dG9uPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cclxuPC9uZy1jb250ZW50PiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './password-box.component';
2
+ export * from './password-box.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3Bhc3N3b3JkLWJveC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkLWJveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkLWJveC5tb2R1bGUnO1xyXG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
2
+ import { AXBaseTextBoxMixin } from '../base/mixin/mixin.class';
3
+ import { TEXTBOX_INPUTS, TEXTBOX_OUTPUT, } from '../base/mixin/textbox-mixin.class';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../button/button.component";
6
+ import * as i2 from "../decorators/prefix.component";
7
+ import * as i3 from "../icon/icon.component";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "@angular/common";
10
+ /**
11
+ * The Textbox is a component which detects user interaction and triggers a corresponding event
12
+ *
13
+ * @category Components
14
+ */
15
+ export class AXPasswordBoxComponent extends AXBaseTextBoxMixin {
16
+ /**
17
+ * @ignore
18
+ */
19
+ constructor(elementRef, cdr) {
20
+ super(elementRef, cdr);
21
+ this._type = 'password';
22
+ this._icon = 'ax-ic-eye';
23
+ /**
24
+ * A flag for showing or hiding password button.
25
+ */
26
+ this.showToggleButton = true;
27
+ }
28
+ get hostClass() {
29
+ return `${this.cssClass} ax-${this.size}`;
30
+ }
31
+ toggleType() {
32
+ if (this._type === 'password') {
33
+ this._type = 'text';
34
+ this._icon = 'ax-ic-eye-off';
35
+ }
36
+ else {
37
+ this._type = 'password';
38
+ this._icon = 'ax-ic-eye';
39
+ }
40
+ }
41
+ }
42
+ AXPasswordBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPasswordBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
+ AXPasswordBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXPasswordBoxComponent, selector: "ax-password-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", cssClass: "cssClass", size: "size", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", debounceTime: "debounceTime", value: "value", name: "name", showToggleButton: "showToggleButton" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { properties: { "class": "this.hostClass" }, classAttribute: "ax-password-box ax-editor-container" }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input class=\"ax-input\" [attr.name]=\"name\" [type]=\"_type\" [attr.placeholder]=\"placeholder\" [attr.maxlength]=\"maxLength\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\r\n [(ngModel)]=\"value\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\" [attr.autocomplete]=\"autoComplete ? 'on': 'off'\">\r\n<ax-button color=\"light\" look=\"blank\" [size]=\"size\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && allowNull && !(disabled || readonly)\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n </ax-prefix>\r\n</ax-button>\r\n<ng-content select=\"ax-suffix\">\r\n\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-input-mask\">\r\n</ng-content>\r\n<ax-button color=\"light\" look=\"blank\" [size]=\"size\" (onClick)=\"toggleType()\" [tabIndex]=\"-1\" *ngIf=\"showToggleButton\">\r\n <ax-icon [icon]=\"_icon\"></ax-icon>\r\n</ax-button>", components: [{ type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "text", "submitBehavior", "cancelBehavior", "color", "look", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i2.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { type: i3.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPasswordBoxComponent, decorators: [{
45
+ type: Component,
46
+ args: [{
47
+ selector: 'ax-password-box',
48
+ templateUrl: 'password-box.component.html',
49
+ inputs: [
50
+ 'disabled',
51
+ 'readonly',
52
+ 'tabIndex',
53
+ 'cssClass',
54
+ 'size',
55
+ ...TEXTBOX_INPUTS,
56
+ ],
57
+ outputs: [
58
+ 'valueChange',
59
+ 'onValueChanged',
60
+ 'onBlur',
61
+ 'onFocus',
62
+ ...TEXTBOX_OUTPUT,
63
+ ],
64
+ encapsulation: ViewEncapsulation.None,
65
+ changeDetection: ChangeDetectionStrategy.OnPush,
66
+ host: { class: 'ax-password-box ax-editor-container' },
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { hostClass: [{
69
+ type: HostBinding,
70
+ args: ['class']
71
+ }], showToggleButton: [{
72
+ type: Input
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcGFzc3dvcmQtYm94L3Bhc3N3b3JkLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3Bhc3N3b3JkLWJveC9wYXNzd29yZC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBR1QsV0FBVyxFQUNYLEtBQUssRUFDTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUNILGNBQWMsRUFDZCxjQUFjLEdBQ2pCLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7QUFFM0M7Ozs7R0FJRztBQXVCSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBZTFEOztNQUVFO0lBQ0YsWUFBWSxVQUFzQixFQUFFLEdBQXNCO1FBQ3RELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFaM0IsVUFBSyxHQUF3QixVQUFVLENBQUM7UUFDeEMsVUFBSyxHQUFrQyxXQUFXLENBQUM7UUFFbkQ7O2NBRU07UUFDRyxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFPMUMsQ0FBQztJQWxCRCxJQUNJLFNBQVM7UUFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQWlCRCxVQUFVO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtZQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztTQUNoQzthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7U0FDNUI7SUFDTCxDQUFDOzttSEE5QlEsc0JBQXNCO3VHQUF0QixzQkFBc0IsMmtCQzNDbkMsK21DQWtCWTsyRkR5QkMsc0JBQXNCO2tCQXRCbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsNkJBQTZCO29CQUMxQyxNQUFNLEVBQUU7d0JBQ0osVUFBVTt3QkFDVixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixNQUFNO3dCQUNOLEdBQUcsY0FBYztxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsR0FBRyxjQUFjO3FCQUNwQjtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxxQ0FBcUMsRUFBRTtpQkFDekQ7aUlBSU8sU0FBUztzQkFEWixXQUFXO3VCQUFDLE9BQU87Z0JBV1gsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VUZXh0Qm94TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL21peGluLmNsYXNzJztcclxuaW1wb3J0IHtcclxuICAgIFRFWFRCT1hfSU5QVVRTLFxyXG4gICAgVEVYVEJPWF9PVVRQVVQsXHJcbn0gZnJvbSAnLi4vYmFzZS9taXhpbi90ZXh0Ym94LW1peGluLmNsYXNzJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgVGV4dGJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LXBhc3N3b3JkLWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ3Bhc3N3b3JkLWJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBpbnB1dHM6IFtcclxuICAgICAgICAnZGlzYWJsZWQnLFxyXG4gICAgICAgICdyZWFkb25seScsXHJcbiAgICAgICAgJ3RhYkluZGV4JyxcclxuICAgICAgICAnY3NzQ2xhc3MnLFxyXG4gICAgICAgICdzaXplJyxcclxuICAgICAgICAuLi5URVhUQk9YX0lOUFVUUyxcclxuICAgIF0sXHJcbiAgICBvdXRwdXRzOiBbXHJcbiAgICAgICAgJ3ZhbHVlQ2hhbmdlJyxcclxuICAgICAgICAnb25WYWx1ZUNoYW5nZWQnLFxyXG4gICAgICAgICdvbkJsdXInLFxyXG4gICAgICAgICdvbkZvY3VzJyxcclxuICAgICAgICAuLi5URVhUQk9YX09VVFBVVCxcclxuICAgIF0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtcGFzc3dvcmQtYm94IGF4LWVkaXRvci1jb250YWluZXInIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBhc3N3b3JkQm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVGV4dEJveE1peGluIHtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICAgIGdldCBob3N0Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5jc3NDbGFzc30gYXgtJHt0aGlzLnNpemV9YDtcclxuICAgIH1cclxuXHJcbiAgICBfdHlwZTogJ3Bhc3N3b3JkJyB8ICd0ZXh0JyA9ICdwYXNzd29yZCc7XHJcbiAgICBfaWNvbjogJ2F4LWljLWV5ZScgfCAnYXgtaWMtZXllLW9mZicgPSAnYXgtaWMtZXllJztcclxuXHJcbiAgICAvKipcclxuICAgICAgICAqICBBIGZsYWcgZm9yIHNob3dpbmcgb3IgaGlkaW5nIHBhc3N3b3JkIGJ1dHRvbi5cclxuICAgICAgICAqL1xyXG4gICAgQElucHV0KCkgc2hvd1RvZ2dsZUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqICBAaWdub3JlXHJcbiAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG4gICAgdG9nZ2xlVHlwZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xyXG4gICAgICAgICAgICB0aGlzLl90eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgICB0aGlzLl9pY29uID0gJ2F4LWljLWV5ZS1vZmYnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3R5cGUgPSAncGFzc3dvcmQnO1xyXG4gICAgICAgICAgICB0aGlzLl9pY29uID0gJ2F4LWljLWV5ZSc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxpbnB1dCBjbGFzcz1cImF4LWlucHV0XCIgW2F0dHIubmFtZV09XCJuYW1lXCIgW3R5cGVdPVwiX3R5cGVcIiBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCIgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCIgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZSA/ICdvbic6ICdvZmYnXCI+XHJcbjxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIFtzaXplXT1cInNpemVcIiAob25DbGljayk9XCJjbGVhcigpXCIgW3RhYkluZGV4XT1cIi0xXCIgKm5nSWY9XCJ2YWx1ZSAmJiBhbGxvd051bGwgJiYgICEoZGlzYWJsZWQgfHwgcmVhZG9ubHkpXCI+XHJcbiAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jbG9zZVwiPjwvYXgtaWNvbj5cclxuICAgIDwvYXgtcHJlZml4PlxyXG48L2F4LWJ1dHRvbj5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+XHJcblxyXG48L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWlucHV0LW1hc2tcIj5cclxuPC9uZy1jb250ZW50PlxyXG48YXgtYnV0dG9uIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiBbc2l6ZV09XCJzaXplXCIgKG9uQ2xpY2spPVwidG9nZ2xlVHlwZSgpXCIgW3RhYkluZGV4XT1cIi0xXCIgKm5nSWY9XCJzaG93VG9nZ2xlQnV0dG9uXCI+XHJcbiAgICA8YXgtaWNvbiBbaWNvbl09XCJfaWNvblwiPjwvYXgtaWNvbj5cclxuPC9heC1idXR0b24+Il19
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXPasswordBoxComponent } from './password-box.component';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { AXButtonModule } from '../button';
6
+ import { AXEditorDecoratorModule } from '../decorators';
7
+ import { AXIconModule } from '../icon';
8
+ import * as i0 from "@angular/core";
9
+ const COMPONENT = [AXPasswordBoxComponent];
10
+ const MODULES = [
11
+ CommonModule,
12
+ FormsModule,
13
+ AXButtonModule,
14
+ AXEditorDecoratorModule,
15
+ AXIconModule
16
+ ];
17
+ export class AXPasswordBoxModule {
18
+ }
19
+ AXPasswordBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPasswordBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ AXPasswordBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPasswordBoxModule, declarations: [AXPasswordBoxComponent], imports: [CommonModule,
21
+ FormsModule,
22
+ AXButtonModule,
23
+ AXEditorDecoratorModule,
24
+ AXIconModule], exports: [AXPasswordBoxComponent] });
25
+ AXPasswordBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPasswordBoxModule, providers: [], imports: [[...MODULES]] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPasswordBoxModule, decorators: [{
27
+ type: NgModule,
28
+ args: [{
29
+ declarations: [...COMPONENT],
30
+ imports: [...MODULES],
31
+ exports: [...COMPONENT],
32
+ providers: [],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtYm94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcGFzc3dvcmQtYm94L3Bhc3N3b3JkLWJveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRXZDLE1BQU0sU0FBUyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUMzQyxNQUFNLE9BQU8sR0FBRztJQUNaLFlBQVk7SUFDWixXQUFXO0lBQ1gsY0FBYztJQUNkLHVCQUF1QjtJQUN2QixZQUFZO0NBQ2YsQ0FBQztBQVFGLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFmYixzQkFBc0IsYUFFckMsWUFBWTtRQUNaLFdBQVc7UUFDWCxjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLFlBQVksYUFORyxzQkFBc0I7aUhBZTVCLG1CQUFtQixhQUZqQixFQUFFLFlBRkosQ0FBQyxHQUFHLE9BQU8sQ0FBQzsyRkFJWixtQkFBbUI7a0JBTi9CLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhQYXNzd29yZEJveENvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbic7XHJcbmltcG9ydCB7IEFYRWRpdG9yRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnLi4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IEFYSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24nO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UID0gW0FYUGFzc3dvcmRCb3hDb21wb25lbnRdO1xyXG5jb25zdCBNT0RVTEVTID0gW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBBWEJ1dHRvbk1vZHVsZSxcclxuICAgIEFYRWRpdG9yRGVjb3JhdG9yTW9kdWxlLFxyXG4gICAgQVhJY29uTW9kdWxlXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcclxuICAgIGltcG9ydHM6IFsuLi5NT0RVTEVTXSxcclxuICAgIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUGFzc3dvcmRCb3hNb2R1bGUgeyB9XHJcbiJdfQ==