@acorex/components 6.0.0 → 6.0.5

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 (161) hide show
  1. package/README.md +24 -24
  2. package/alert/src/alert.component.d.ts +2 -3
  3. package/badge/src/badge.component.d.ts +1 -2
  4. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +4 -6
  5. package/button/src/button-group.component.d.ts +4 -6
  6. package/button/src/button-item.component.d.ts +4 -6
  7. package/calendar/src/calendar.component.d.ts +1 -0
  8. package/color-picker/src/color-picker.component.d.ts +14 -21
  9. package/common/src/styles.class.d.ts +2 -2
  10. package/context-menu/index.d.ts +5 -0
  11. package/context-menu/public-api.d.ts +2 -0
  12. package/context-menu/src/context-menu.component.d.ts +34 -0
  13. package/context-menu/src/context-menu.module.d.ts +13 -0
  14. package/date-picker/src/datepicker.component.d.ts +11 -14
  15. package/decorators/public-api.d.ts +0 -1
  16. package/decorators/src/decorators.module.d.ts +5 -6
  17. package/decorators/src/header.component.d.ts +1 -1
  18. package/esm2020/alert/src/alert.component.mjs +5 -4
  19. package/esm2020/button/src/button.component.mjs +1 -1
  20. package/esm2020/calendar/src/calendar.component.mjs +33 -5
  21. package/esm2020/checkbox/src/checkbox.component.mjs +3 -3
  22. package/esm2020/common/src/styles.class.mjs +13 -2
  23. package/esm2020/context-menu/acorex-components-context-menu.mjs +5 -0
  24. package/esm2020/context-menu/public-api.mjs +3 -0
  25. package/esm2020/context-menu/src/context-menu.component.mjs +257 -0
  26. package/esm2020/context-menu/src/context-menu.module.mjs +36 -0
  27. package/esm2020/decorators/public-api.mjs +1 -2
  28. package/esm2020/decorators/src/decorators.module.mjs +1 -5
  29. package/esm2020/decorators/src/header.component.mjs +3 -3
  30. package/esm2020/dialog/src/dialog.component.mjs +3 -3
  31. package/esm2020/form/public-api.mjs +2 -2
  32. package/esm2020/form/src/form.component.mjs +69 -8
  33. package/esm2020/form/src/form.module.mjs +68 -0
  34. package/esm2020/menu/src/menu.component.mjs +261 -117
  35. package/esm2020/menu/src/menu.module.mjs +16 -8
  36. package/esm2020/mixin/src/base-components.class.mjs +1 -3
  37. package/esm2020/mixin/src/base-menu-mixin.class.mjs +11 -11
  38. package/esm2020/mixin/src/mixin.class.mjs +14 -14
  39. package/esm2020/mixin/src/selection-component.class.mjs +2 -4
  40. package/esm2020/mixin/src/textbox-mixin.class.mjs +1 -1
  41. package/esm2020/mixin/src/value-mixin.class.mjs +6 -6
  42. package/esm2020/number-box/src/number-box.component.mjs +14 -4
  43. package/esm2020/popover/src/popover.component.mjs +3 -3
  44. package/esm2020/popup/src/popup.component.mjs +3 -3
  45. package/esm2020/public-api.mjs +1 -1
  46. package/esm2020/radio/src/radio.component.mjs +3 -3
  47. package/esm2020/result/src/result.component.mjs +3 -3
  48. package/esm2020/search-box/src/search-box.component.mjs +3 -3
  49. package/esm2020/selection-list/src/selection-list.component.mjs +3 -3
  50. package/esm2020/tabs/src/tabs.class.mjs +1 -1
  51. package/esm2020/tabs/src/tabs.component.mjs +35 -16
  52. package/esm2020/toast/src/toast.component.mjs +4 -4
  53. package/esm2020/toast/src/toast.service.mjs +10 -1
  54. package/fesm2015/acorex-components-alert.mjs +4 -3
  55. package/fesm2015/acorex-components-alert.mjs.map +1 -1
  56. package/fesm2015/acorex-components-button.mjs.map +1 -1
  57. package/fesm2015/acorex-components-calendar.mjs +30 -2
  58. package/fesm2015/acorex-components-calendar.mjs.map +1 -1
  59. package/fesm2015/acorex-components-checkbox.mjs +2 -2
  60. package/fesm2015/acorex-components-checkbox.mjs.map +1 -1
  61. package/fesm2015/acorex-components-common.mjs +13 -2
  62. package/fesm2015/acorex-components-common.mjs.map +1 -1
  63. package/fesm2015/acorex-components-context-menu.mjs +297 -0
  64. package/fesm2015/acorex-components-context-menu.mjs.map +1 -0
  65. package/fesm2015/acorex-components-decorators.mjs +4 -25
  66. package/fesm2015/acorex-components-decorators.mjs.map +1 -1
  67. package/fesm2015/acorex-components-dialog.mjs +2 -2
  68. package/fesm2015/acorex-components-dialog.mjs.map +1 -1
  69. package/fesm2015/acorex-components-form.mjs +76 -14
  70. package/fesm2015/acorex-components-form.mjs.map +1 -1
  71. package/fesm2015/acorex-components-menu.mjs +276 -124
  72. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  73. package/fesm2015/acorex-components-mixin.mjs +17 -21
  74. package/fesm2015/acorex-components-mixin.mjs.map +1 -1
  75. package/fesm2015/acorex-components-number-box.mjs +13 -3
  76. package/fesm2015/acorex-components-number-box.mjs.map +1 -1
  77. package/fesm2015/acorex-components-popover.mjs +2 -2
  78. package/fesm2015/acorex-components-popover.mjs.map +1 -1
  79. package/fesm2015/acorex-components-popup.mjs +2 -2
  80. package/fesm2015/acorex-components-popup.mjs.map +1 -1
  81. package/fesm2015/acorex-components-radio.mjs +2 -2
  82. package/fesm2015/acorex-components-radio.mjs.map +1 -1
  83. package/fesm2015/acorex-components-result.mjs +2 -2
  84. package/fesm2015/acorex-components-result.mjs.map +1 -1
  85. package/fesm2015/acorex-components-search-box.mjs +2 -2
  86. package/fesm2015/acorex-components-search-box.mjs.map +1 -1
  87. package/fesm2015/acorex-components-selection-list.mjs +2 -2
  88. package/fesm2015/acorex-components-selection-list.mjs.map +1 -1
  89. package/fesm2015/acorex-components-tabs.mjs +35 -16
  90. package/fesm2015/acorex-components-tabs.mjs.map +1 -1
  91. package/fesm2015/acorex-components-toast.mjs +12 -3
  92. package/fesm2015/acorex-components-toast.mjs.map +1 -1
  93. package/fesm2015/acorex-components.mjs.map +1 -1
  94. package/fesm2020/acorex-components-alert.mjs +4 -3
  95. package/fesm2020/acorex-components-alert.mjs.map +1 -1
  96. package/fesm2020/acorex-components-button.mjs.map +1 -1
  97. package/fesm2020/acorex-components-calendar.mjs +30 -2
  98. package/fesm2020/acorex-components-calendar.mjs.map +1 -1
  99. package/fesm2020/acorex-components-checkbox.mjs +2 -2
  100. package/fesm2020/acorex-components-checkbox.mjs.map +1 -1
  101. package/fesm2020/acorex-components-common.mjs +13 -2
  102. package/fesm2020/acorex-components-common.mjs.map +1 -1
  103. package/fesm2020/acorex-components-context-menu.mjs +297 -0
  104. package/fesm2020/acorex-components-context-menu.mjs.map +1 -0
  105. package/fesm2020/acorex-components-decorators.mjs +4 -25
  106. package/fesm2020/acorex-components-decorators.mjs.map +1 -1
  107. package/fesm2020/acorex-components-dialog.mjs +2 -2
  108. package/fesm2020/acorex-components-dialog.mjs.map +1 -1
  109. package/fesm2020/acorex-components-form.mjs +75 -14
  110. package/fesm2020/acorex-components-form.mjs.map +1 -1
  111. package/fesm2020/acorex-components-menu.mjs +273 -120
  112. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  113. package/fesm2020/acorex-components-mixin.mjs +17 -20
  114. package/fesm2020/acorex-components-mixin.mjs.map +1 -1
  115. package/fesm2020/acorex-components-number-box.mjs +13 -3
  116. package/fesm2020/acorex-components-number-box.mjs.map +1 -1
  117. package/fesm2020/acorex-components-popover.mjs +2 -2
  118. package/fesm2020/acorex-components-popover.mjs.map +1 -1
  119. package/fesm2020/acorex-components-popup.mjs +2 -2
  120. package/fesm2020/acorex-components-popup.mjs.map +1 -1
  121. package/fesm2020/acorex-components-radio.mjs +2 -2
  122. package/fesm2020/acorex-components-radio.mjs.map +1 -1
  123. package/fesm2020/acorex-components-result.mjs +2 -2
  124. package/fesm2020/acorex-components-result.mjs.map +1 -1
  125. package/fesm2020/acorex-components-search-box.mjs +2 -2
  126. package/fesm2020/acorex-components-search-box.mjs.map +1 -1
  127. package/fesm2020/acorex-components-selection-list.mjs +2 -2
  128. package/fesm2020/acorex-components-selection-list.mjs.map +1 -1
  129. package/fesm2020/acorex-components-tabs.mjs +34 -15
  130. package/fesm2020/acorex-components-tabs.mjs.map +1 -1
  131. package/fesm2020/acorex-components-toast.mjs +12 -3
  132. package/fesm2020/acorex-components-toast.mjs.map +1 -1
  133. package/fesm2020/acorex-components.mjs.map +1 -1
  134. package/form/public-api.d.ts +1 -1
  135. package/form/src/form.component.d.ts +18 -2
  136. package/form/src/{form-field.module.d.ts → form.module.d.ts} +0 -0
  137. package/menu/src/menu.component.d.ts +21 -36
  138. package/menu/src/menu.module.d.ts +2 -2
  139. package/mixin/src/base-components.class.d.ts +1 -3
  140. package/mixin/src/base-menu-mixin.class.d.ts +8 -9
  141. package/mixin/src/button-mixin.class.d.ts +1 -2
  142. package/mixin/src/clickable-mixin.class.d.ts +1 -2
  143. package/mixin/src/color-look-mixing.class.d.ts +1 -2
  144. package/mixin/src/datalist-component.class.d.ts +9 -10
  145. package/mixin/src/dropdown-mixin.class.d.ts +1 -2
  146. package/mixin/src/interactive-mixin.class.d.ts +6 -5
  147. package/mixin/src/loading-mixin.class.d.ts +1 -2
  148. package/mixin/src/mixin.class.d.ts +47 -100
  149. package/mixin/src/page-component.class.d.ts +1 -2
  150. package/mixin/src/selection-component.class.d.ts +1 -2
  151. package/mixin/src/sizable-mixin.class.d.ts +1 -2
  152. package/mixin/src/textbox-mixin.class.d.ts +7 -8
  153. package/mixin/src/value-mixin.class.d.ts +7 -8
  154. package/package.json +9 -1
  155. package/tabs/src/tab-item.component.d.ts +1 -2
  156. package/tabs/src/tabs.class.d.ts +1 -0
  157. package/tabs/src/tabs.component.d.ts +9 -4
  158. package/toast/src/toast.service.d.ts +1 -0
  159. package/decorators/src/addon.component.d.ts +0 -8
  160. package/esm2020/decorators/src/addon.component.mjs +0 -21
  161. package/esm2020/form/src/form-field.module.mjs +0 -68
@@ -177,17 +177,29 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
177
177
  return v;
178
178
  }
179
179
  stepUp() {
180
+ if (!this.value) {
181
+ this.value = Math.max(this.minValue, 0);
182
+ }
180
183
  this.value += toNumber(this.step);
181
184
  }
182
185
  stepDown() {
186
+ if (!this.value) {
187
+ this.value = Math.max(this.minValue, 0);
188
+ }
183
189
  this.value -= toNumber(this.step);
184
190
  }
185
191
  decimalStepUp() {
192
+ if (!this.value) {
193
+ this.value = Math.max(this.minValue, 0);
194
+ }
186
195
  this.value += toNumber(this.decimalStep == 'auto'
187
196
  ? 1 / Math.pow(10, this.decimals)
188
197
  : this.decimalStep);
189
198
  }
190
199
  decimalStepDown() {
200
+ if (!this.value) {
201
+ this.value = Math.max(this.minValue, 0);
202
+ }
191
203
  this.value -= toNumber(this.decimalStep == 'auto'
192
204
  ? 1 / Math.pow(10, this.decimals)
193
205
  : this.decimalStep);
@@ -218,9 +230,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
218
230
  'valueChange',
219
231
  'onValueChanged',
220
232
  'onBlur',
221
- 'onFocus',
222
- 'valueChange',
223
- 'onValueChanged',
233
+ 'onFocus'
224
234
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container ax-number-box' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input class=\"ax-input\" type=\"text\" \r\n [attr.placeholder]=\"placeholder\" \r\n [attr.autocomplete]=\"autoComplete\"\r\n [imask]=\"_maskObj\" \r\n [unmask]=\"'typed'\"\r\n [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\" \r\n [class.ax-state-disabled]=\"disabled\" \r\n [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\" \r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\" \r\n [ngModel]=\"value\" (ngModelChange)=\"_handleModleChange($event)\"\r\n (keydown)=\"_handleOnKeydownEvent($event)\" \r\n (keyup)=\"_emitOnKeyupEvent($event)\"\r\n (keypress)=\"_emitOnKeypressEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\"\r\n >\r\n\r\n<div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic-arrow-fill ax-rotate-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic-arrow-fill ax--rotate-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>" }]
225
235
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { thousandsSeparator: [{
226
236
  type: Input
@@ -242,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
242
252
  type: ViewChild,
243
253
  args: [IMaskDirective]
244
254
  }] } });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9udW1iZXItYm94L3NyYy9udW1iZXItYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsa0JBQWtCLEdBRW5CLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFbEM7Ozs7R0FJRztBQWtDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBc0cxRDs7T0FFRztJQUNILFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBekYxRCxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFlMUM7O1dBRUc7UUFFSCxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRVQsY0FBUyxHQUFXLENBQUMsQ0FBQztRQWU5Qjs7V0FFRztRQUVILGdCQUFXLEdBQW9CLE1BQU0sQ0FBQztRQUV0Qzs7V0FFRztRQUVILG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRXhCLGNBQVMsR0FBVyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFlNUMsY0FBUyxHQUFX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d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsbUNBQW1DLEVBQUU7aUlBUXpDLGtCQUFrQjtzQkFENUIsS0FBSztnQkFnQkssZUFBZTtzQkFEekIsS0FBSztnQkFlTixJQUFJO3NCQURILEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFlTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBaUJFLGNBQWM7c0JBRHJCLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJTWFzayBmcm9tICdpbWFzayc7XHJcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyB0b051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7XHJcbiAgQVhCYXNlVGV4dEJveE1peGluLFxyXG4gIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBOdW1iZXJCb3ggaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbnVtYmVyLWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ3NpemUnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICdwbGFjZWhvbGRlcicsXHJcbiAgICAnbWF4TGVuZ3RoJyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ2RlYm91bmNlVGltZScsXHJcbiAgICAndHlwZScsXHJcbiAgICAnYXV0b0NvbXBsZXRlJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAnYWxsb3dOdWxsJyxcclxuICAgICd2YWx1ZScsXHJcbiAgICAnbmFtZScsXHJcbiAgICAnY2hlY2tlZCcsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbXHJcbiAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICAgICdvbkJsdXInLFxyXG4gICAgJ29uRm9jdXMnLFxyXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcclxuICAgICdvblZhbHVlQ2hhbmdlZCcsXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LW51bWJlci1ib3gnIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRCb3hNaXhpbiB7XHJcbiAgcHJpdmF0ZSBfdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB0aG91c2FuZHNTZXBhcmF0b3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90aG91c2FuZHNTZXBhcmF0b3I7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdGhvdXNhbmRzU2VwYXJhdG9yKHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcclxuICAgICAgbmFtZTogJ3Rob3VzYW5kc1NlcGFyYXRvcicsXHJcbiAgICAgIHZhbHVlOiB2ID8/ICcnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wYWREZWNpbWFsWmVyb3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHBhZERlY2ltYWxaZXJvcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9wYWREZWNpbWFsWmVyb3M7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcGFkRGVjaW1hbFplcm9zKHY6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICdwYWREZWNpbWFsWmVyb3MnLFxyXG4gICAgICB2YWx1ZTogdixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzdGVwOiBudW1iZXIgPSAxO1xyXG5cclxuICBwcml2YXRlIF9kZWNpbWFsczogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgZGVjaW1hbHMgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXJcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgZGVjaW1hbHMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWNpbWFscztcclxuICB9XHJcbiAgcHVibGljIHNldCBkZWNpbWFscyh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICdkZWNpbWFscycsXHJcbiAgICAgIHZhbHVlOiB2ID8/IDAsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICBTcGVjaWZpZXMgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IHRoZSAqKkRlY2lhbWwqKiBwYXJ0IG9mIG51bWJlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGVjaW1hbFN0ZXA6IG51bWJlciB8ICdhdXRvJyA9ICdhdXRvJztcclxuXHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVcCBhbmQgRG93biBzcGluIGJ1dHRvbnMgd2lsbCBiZSByZW5kZXJlZCBvciBub3RcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNob3dTcGluQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgX21pblZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBzbWFsbGVzdCB2YWx1ZSB0aGF0IGlzIHZhbGlkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IG1pblZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbWluVmFsdWUodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAnbWluVmFsdWUnLFxyXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21heFZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBncmVhdGVzdCB2YWx1ZSB0aGF0IGlzIHZhbGlkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IG1heFZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWF4VmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbWF4VmFsdWUodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAnbWF4VmFsdWUnLFxyXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICBAaWdub3JlXHJcbiAgICovXHJcbiAgX21hc2tPYmo6IElNYXNrLk1hc2tlZE51bWJlcjtcclxuXHJcbiAgQFZpZXdDaGlsZChJTWFza0RpcmVjdGl2ZSlcclxuICBwcml2YXRlIF9tYXNrRGlyZWN0aXZlOiBJTWFza0RpcmVjdGl2ZTxJTWFzay5NYXNrZWROdW1iZXI+O1xyXG5cclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG4gIG9uVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKTogdm9pZCB7XHJcbiAgICBzdXBlci5fb25PcHRpb25DaGFuZ2VkKG9wdGlvbik7XHJcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVNYXNrKCkge1xyXG4gICAgaWYgKCF0aGlzLl9tYXNrT2JqKSB7XHJcbiAgICAgIHRoaXMuX21hc2tPYmogPSBJTWFzay5jcmVhdGVNYXNrKHtcclxuICAgICAgICBtYXNrOiBOdW1iZXIsXHJcbiAgICAgICAgbWluOiB0aGlzLm1pblZhbHVlLFxyXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcclxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yIHx8ICcnLFxyXG4gICAgICAgIHNjYWxlOiB0aGlzLmRlY2ltYWxzLFxyXG4gICAgICAgIHJhZGl4OiAnLicsXHJcbiAgICAgICAgcGFkRnJhY3Rpb25hbFplcm9zOiB0aGlzLmRlY2ltYWxzID4gMCAmJiB0aGlzLnBhZERlY2ltYWxaZXJvcyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZU9wdGlvbnMoe1xyXG4gICAgICAgIG1pbjogdGhpcy5taW5WYWx1ZSxcclxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXHJcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcclxuICAgICAgICBzY2FsZTogdGhpcy5kZWNpbWFscyxcclxuICAgICAgICByYWRpeDogJy4nLFxyXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcclxuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XHJcbiAgICBjb25zdCBpZ25vcmUgPSAoKSA9PiB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH07XHJcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcclxuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHZhbFN0ciA9IGlucHV0LnZhbHVlO1xyXG4gICAgY29uc3QgZGVjaW1hbFBvaW50SW5kZXggPSB2YWxTdHIuaW5kZXhPZignLicpO1xyXG4gICAgY29uc3QgX2N1cnNvclBvcyA9IGlucHV0LnNlbGVjdGlvblN0YXJ0ITtcclxuXHJcbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGRlY2ltYWxQb2ludEluZGV4ID4gMCAmJlxyXG4gICAgICAgIF9jdXJzb3JQb3MgPiBkZWNpbWFsUG9pbnRJbmRleCAmJlxyXG4gICAgICAgIHRoaXMuZGVjaW1hbHMgPiAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuZGVjaW1hbFN0ZXBEb3duKCkgOiB0aGlzLmRlY2ltYWxTdGVwVXAoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlLmtleSA9PT0gJ0Fycm93RG93bicgPyB0aGlzLnN0ZXBEb3duKCkgOiB0aGlzLnN0ZXBVcCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlnbm9yZSgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShfY3Vyc29yUG9zLCBfY3Vyc29yUG9zKTtcclxuICAgICAgfSwgNSk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5fZW1pdE9uS2V5ZG93bkV2ZW50KGUpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVVwRG93bkNsaWNrKGU6IEFYQ2xpY2tFdmVudCwgdjogLTEgfCAxKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XHJcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcclxuICAgIHYgPT0gMSA/IHRoaXMuc3RlcFVwKCkgOiB0aGlzLnN0ZXBEb3duKCk7XHJcbiAgfVxyXG5cclxuICBfc2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwgJiYgdGhpcy5hbGxvd051bGwpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCB2ID0gdG9OdW1iZXIodmFsdWUpO1xyXG4gICAgaWYgKHYgPCB0aGlzLm1pblZhbHVlKSByZXR1cm4gdGhpcy5taW5WYWx1ZTtcclxuICAgIGlmICh2ID4gdGhpcy5tYXhWYWx1ZSkgcmV0dXJuIHRoaXMubWF4VmFsdWU7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHN0ZXBVcCgpIHtcclxuICAgIHRoaXMudmFsdWUgKz0gdG9OdW1iZXIodGhpcy5zdGVwKTtcclxuICB9XHJcblxyXG4gIHN0ZXBEb3duKCkge1xyXG4gICAgdGhpcy52YWx1ZSAtPSB0b051bWJlcih0aGlzLnN0ZXApO1xyXG4gIH1cclxuXHJcbiAgZGVjaW1hbFN0ZXBVcCgpIHtcclxuICAgIHRoaXMudmFsdWUgKz0gdG9OdW1iZXIoXHJcbiAgICAgIHRoaXMuZGVjaW1hbFN0ZXAgPT0gJ2F1dG8nXHJcbiAgICAgICAgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpXHJcbiAgICAgICAgOiB0aGlzLmRlY2ltYWxTdGVwXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZGVjaW1hbFN0ZXBEb3duKCkge1xyXG4gICAgdGhpcy52YWx1ZSAtPSB0b051bWJlcihcclxuICAgICAgdGhpcy5kZWNpbWFsU3RlcCA9PSAnYXV0bydcclxuICAgICAgICA/IDEgLyBNYXRoLnBvdygxMCwgdGhpcy5kZWNpbWFscylcclxuICAgICAgICA6IHRoaXMuZGVjaW1hbFN0ZXBcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxpbnB1dCBjbGFzcz1cImF4LWlucHV0XCIgdHlwZT1cInRleHRcIiAgXHJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFxyXG4gICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiXHJcbiAgICBbaW1hc2tdPVwiX21hc2tPYmpcIiBcclxuICAgIFt1bm1hc2tdPVwiJ3R5cGVkJ1wiXHJcbiAgICBbYXR0ci5taW5dPVwibWluVmFsdWVcIlxyXG4gICAgW2F0dHIubWF4XT1cIm1heFZhbHVlXCIgXHJcbiAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcclxuICAgIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcclxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIFxyXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCIgXHJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVNb2RsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIChrZXlkb3duKT1cIl9oYW5kbGVPbktleWRvd25FdmVudCgkZXZlbnQpXCIgXHJcbiAgICAoa2V5dXApPVwiX2VtaXRPbktleXVwRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAoa2V5cHJlc3MpPVwiX2VtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIlxyXG4gICAgPlxyXG5cclxuPGRpdiBjbGFzcz1cImF4LW51bWJlci1ib3gtYXJyb3dzXCIgKm5nSWY9XCJzaG93U3BpbkJ1dHRvbnMgJiYgIShkaXNhYmxlZCB8fCByZWFkb25seSlcIj5cclxuICAgIDxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVVcERvd25DbGljaygkZXZlbnQsMSlcIiBbdGFiSW5kZXhdPVwiLTFcIj5cclxuICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljLWFycm93LWZpbGwgYXgtcm90YXRlLTkwXCI+XHJcbiAgICAgICAgICAgIDwvYXgtaWNvbj5cclxuICAgICAgICA8L2F4LXByZWZpeD5cclxuICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgPGF4LWJ1dHRvbiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZVVwRG93bkNsaWNrKCRldmVudCwtMSlcIiBbdGFiSW5kZXhdPVwiLTFcIj5cclxuICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljLWFycm93LWZpbGwgYXgtLXJvdGF0ZS05MFwiPlxyXG4gICAgICAgICAgICA8L2F4LWljb24+XHJcbiAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuPC9kaXY+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPlxyXG48L25nLWNvbnRlbnQ+Il19
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9udW1iZXItYm94L3NyYy9udW1iZXItYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsa0JBQWtCLEdBRW5CLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFbEM7Ozs7R0FJRztBQWdDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBc0cxRDs7T0FFRztJQUNILFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBekYxRCxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFlMUM7O1dBRUc7UUFFSCxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRVQsY0FBUyxHQUFXLENBQUMsQ0FBQztRQWU5Qjs7V0FFRztRQUVILGdCQUFXLEdBQW9CLE1BQU0sQ0FBQztRQUV0Qzs7V0FFRztRQUVILG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRXhCLGNBQVMsR0FBVyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFlNUMsY0FBUyxHQUFX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QUNwQixJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU07WUFDeEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUNyQixDQUFDO0lBQ0osQ0FBQzs7aUhBaE9VLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHV4QkFtR3BCLGNBQWMsdUVDM0ozQix3aURBdUNhOzJGRGlCQSxvQkFBb0I7a0JBL0JoQyxTQUFTOytCQUNFLGVBQWUsVUFFakI7d0JBQ04sVUFBVTt3QkFDVixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsTUFBTTt3QkFDTixPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsTUFBTTt3QkFDTixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLE1BQU07d0JBQ04sU0FBUztxQkFDVixXQUNRO3dCQUNQLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixRQUFRO3dCQUNSLFNBQVM7cUJBQ1YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsbUNBQW1DLEVBQUU7aUlBUXpDLGtCQUFrQjtzQkFENUIsS0FBSztnQkFnQkssZUFBZTtzQkFEekIsS0FBSztnQkFlTixJQUFJO3NCQURILEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFlTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBaUJFLGNBQWM7c0JBRHJCLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJTWFzayBmcm9tICdpbWFzayc7XHJcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyB0b051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7XHJcbiAgQVhCYXNlVGV4dEJveE1peGluLFxyXG4gIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBOdW1iZXJCb3ggaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbnVtYmVyLWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ3NpemUnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICdwbGFjZWhvbGRlcicsXHJcbiAgICAnbWF4TGVuZ3RoJyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ2RlYm91bmNlVGltZScsXHJcbiAgICAndHlwZScsXHJcbiAgICAnYXV0b0NvbXBsZXRlJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAnYWxsb3dOdWxsJyxcclxuICAgICd2YWx1ZScsXHJcbiAgICAnbmFtZScsXHJcbiAgICAnY2hlY2tlZCcsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbXHJcbiAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICAgICdvbkJsdXInLFxyXG4gICAgJ29uRm9jdXMnXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LW51bWJlci1ib3gnIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRCb3hNaXhpbiB7XHJcbiAgcHJpdmF0ZSBfdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB0aG91c2FuZHNTZXBhcmF0b3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90aG91c2FuZHNTZXBhcmF0b3I7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdGhvdXNhbmRzU2VwYXJhdG9yKHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcclxuICAgICAgbmFtZTogJ3Rob3VzYW5kc1NlcGFyYXRvcicsXHJcbiAgICAgIHZhbHVlOiB2ID8/ICcnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wYWREZWNpbWFsWmVyb3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHBhZERlY2ltYWxaZXJvcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9wYWREZWNpbWFsWmVyb3M7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcGFkRGVjaW1hbFplcm9zKHY6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICdwYWREZWNpbWFsWmVyb3MnLFxyXG4gICAgICB2YWx1ZTogdixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzdGVwOiBudW1iZXIgPSAxO1xyXG5cclxuICBwcml2YXRlIF9kZWNpbWFsczogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgZGVjaW1hbHMgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXJcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgZGVjaW1hbHMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWNpbWFscztcclxuICB9XHJcbiAgcHVibGljIHNldCBkZWNpbWFscyh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICdkZWNpbWFscycsXHJcbiAgICAgIHZhbHVlOiB2ID8/IDAsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICBTcGVjaWZpZXMgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IHRoZSAqKkRlY2lhbWwqKiBwYXJ0IG9mIG51bWJlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGVjaW1hbFN0ZXA6IG51bWJlciB8ICdhdXRvJyA9ICdhdXRvJztcclxuXHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVcCBhbmQgRG93biBzcGluIGJ1dHRvbnMgd2lsbCBiZSByZW5kZXJlZCBvciBub3RcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNob3dTcGluQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgX21pblZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBzbWFsbGVzdCB2YWx1ZSB0aGF0IGlzIHZhbGlkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IG1pblZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbWluVmFsdWUodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAnbWluVmFsdWUnLFxyXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21heFZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBncmVhdGVzdCB2YWx1ZSB0aGF0IGlzIHZhbGlkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IG1heFZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWF4VmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbWF4VmFsdWUodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAnbWF4VmFsdWUnLFxyXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICBAaWdub3JlXHJcbiAgICovXHJcbiAgX21hc2tPYmo6IElNYXNrLk1hc2tlZE51bWJlcjtcclxuXHJcbiAgQFZpZXdDaGlsZChJTWFza0RpcmVjdGl2ZSlcclxuICBwcml2YXRlIF9tYXNrRGlyZWN0aXZlOiBJTWFza0RpcmVjdGl2ZTxJTWFzay5NYXNrZWROdW1iZXI+O1xyXG5cclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG4gIG9uVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKTogdm9pZCB7XHJcbiAgICBzdXBlci5fb25PcHRpb25DaGFuZ2VkKG9wdGlvbik7XHJcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVNYXNrKCkge1xyXG4gICAgaWYgKCF0aGlzLl9tYXNrT2JqKSB7XHJcbiAgICAgIHRoaXMuX21hc2tPYmogPSBJTWFzay5jcmVhdGVNYXNrKHtcclxuICAgICAgICBtYXNrOiBOdW1iZXIsXHJcbiAgICAgICAgbWluOiB0aGlzLm1pblZhbHVlLFxyXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcclxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yIHx8ICcnLFxyXG4gICAgICAgIHNjYWxlOiB0aGlzLmRlY2ltYWxzLFxyXG4gICAgICAgIHJhZGl4OiAnLicsXHJcbiAgICAgICAgcGFkRnJhY3Rpb25hbFplcm9zOiB0aGlzLmRlY2ltYWxzID4gMCAmJiB0aGlzLnBhZERlY2ltYWxaZXJvcyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZU9wdGlvbnMoe1xyXG4gICAgICAgIG1pbjogdGhpcy5taW5WYWx1ZSxcclxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXHJcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcclxuICAgICAgICBzY2FsZTogdGhpcy5kZWNpbWFscyxcclxuICAgICAgICByYWRpeDogJy4nLFxyXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcclxuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XHJcbiAgICBjb25zdCBpZ25vcmUgPSAoKSA9PiB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH07XHJcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcclxuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHZhbFN0ciA9IGlucHV0LnZhbHVlO1xyXG4gICAgY29uc3QgZGVjaW1hbFBvaW50SW5kZXggPSB2YWxTdHIuaW5kZXhPZignLicpO1xyXG4gICAgY29uc3QgX2N1cnNvclBvcyA9IGlucHV0LnNlbGVjdGlvblN0YXJ0ITtcclxuXHJcbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGRlY2ltYWxQb2ludEluZGV4ID4gMCAmJlxyXG4gICAgICAgIF9jdXJzb3JQb3MgPiBkZWNpbWFsUG9pbnRJbmRleCAmJlxyXG4gICAgICAgIHRoaXMuZGVjaW1hbHMgPiAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuZGVjaW1hbFN0ZXBEb3duKCkgOiB0aGlzLmRlY2ltYWxTdGVwVXAoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlLmtleSA9PT0gJ0Fycm93RG93bicgPyB0aGlzLnN0ZXBEb3duKCkgOiB0aGlzLnN0ZXBVcCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlnbm9yZSgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShfY3Vyc29yUG9zLCBfY3Vyc29yUG9zKTtcclxuICAgICAgfSwgNSk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5fZW1pdE9uS2V5ZG93bkV2ZW50KGUpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVVwRG93bkNsaWNrKGU6IEFYQ2xpY2tFdmVudCwgdjogLTEgfCAxKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XHJcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcclxuICAgIHYgPT0gMSA/IHRoaXMuc3RlcFVwKCkgOiB0aGlzLnN0ZXBEb3duKCk7XHJcbiAgfVxyXG5cclxuICBfc2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwgJiYgdGhpcy5hbGxvd051bGwpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCB2ID0gdG9OdW1iZXIodmFsdWUpO1xyXG4gICAgaWYgKHYgPCB0aGlzLm1pblZhbHVlKSByZXR1cm4gdGhpcy5taW5WYWx1ZTtcclxuICAgIGlmICh2ID4gdGhpcy5tYXhWYWx1ZSkgcmV0dXJuIHRoaXMubWF4VmFsdWU7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHN0ZXBVcCgpIHtcclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlICs9IHRvTnVtYmVyKHRoaXMuc3RlcCk7XHJcbiAgfVxyXG5cclxuICBzdGVwRG93bigpIHtcclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlIC09IHRvTnVtYmVyKHRoaXMuc3RlcCk7XHJcbiAgfVxyXG5cclxuICBkZWNpbWFsU3RlcFVwKCkge1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgKz0gdG9OdW1iZXIoXHJcbiAgICAgIHRoaXMuZGVjaW1hbFN0ZXAgPT0gJ2F1dG8nXHJcbiAgICAgICAgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpXHJcbiAgICAgICAgOiB0aGlzLmRlY2ltYWxTdGVwXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZGVjaW1hbFN0ZXBEb3duKCkge1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgLT0gdG9OdW1iZXIoXHJcbiAgICAgIHRoaXMuZGVjaW1hbFN0ZXAgPT0gJ2F1dG8nXHJcbiAgICAgICAgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpXHJcbiAgICAgICAgOiB0aGlzLmRlY2ltYWxTdGVwXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48aW5wdXQgY2xhc3M9XCJheC1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgIFxyXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBcclxuICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvQ29tcGxldGVcIlxyXG4gICAgW2ltYXNrXT1cIl9tYXNrT2JqXCIgXHJcbiAgICBbdW5tYXNrXT1cIid0eXBlZCdcIlxyXG4gICAgW2F0dHIubWluXT1cIm1pblZhbHVlXCJcclxuICAgIFthdHRyLm1heF09XCJtYXhWYWx1ZVwiIFxyXG4gICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgXHJcbiAgICBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgXHJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBcclxuICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiIFxyXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlTW9kbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAoa2V5ZG93bik9XCJfaGFuZGxlT25LZXlkb3duRXZlbnQoJGV2ZW50KVwiIFxyXG4gICAgKGtleXVwKT1cIl9lbWl0T25LZXl1cEV2ZW50KCRldmVudClcIlxyXG4gICAgKGtleXByZXNzKT1cIl9lbWl0T25LZXlwcmVzc0V2ZW50KCRldmVudClcIlxyXG4gICAgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxyXG4gICAgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCJcclxuICAgID5cclxuXHJcbjxkaXYgY2xhc3M9XCJheC1udW1iZXItYm94LWFycm93c1wiICpuZ0lmPVwic2hvd1NwaW5CdXR0b25zICYmICEoZGlzYWJsZWQgfHwgcmVhZG9ubHkpXCI+XHJcbiAgICA8YXgtYnV0dG9uIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlVXBEb3duQ2xpY2soJGV2ZW50LDEpXCIgW3RhYkluZGV4XT1cIi0xXCI+XHJcbiAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pYy1hcnJvdy1maWxsIGF4LXJvdGF0ZS05MFwiPlxyXG4gICAgICAgICAgICA8L2F4LWljb24+XHJcbiAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuICAgIDxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVVcERvd25DbGljaygkZXZlbnQsLTEpXCIgW3RhYkluZGV4XT1cIi0xXCI+XHJcbiAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pYy1hcnJvdy1maWxsIGF4LS1yb3RhdGUtOTBcIj5cclxuICAgICAgICAgICAgPC9heC1pY29uPlxyXG4gICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgPC9heC1idXR0b24+XHJcbjwvZGl2PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cclxuPC9uZy1jb250ZW50PiJdfQ==
@@ -224,10 +224,10 @@ export class AXPopoverComponent extends AXInteractiveComponenetMixin {
224
224
  }
225
225
  }
226
226
  AXPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
227
- AXPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" }, classAttribute: "ax-popover" }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
227
+ AXPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" } }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
228
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPopoverComponent, decorators: [{
229
229
  type: Component,
230
- args: [{ selector: 'ax-popover', host: { class: 'ax-popover' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>" }]
230
+ args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>" }]
231
231
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }]; }, propDecorators: { target: [{
232
232
  type: Input
233
233
  }], position: [{
@@ -253,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
253
253
  type: HostListener,
254
254
  args: ['keydown', ['$event']]
255
255
  }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9wb3BvdmVyL3NyYy9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixVQUFVLEVBSVYsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0QsT0FBTyxFQUFXLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVV6RixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsNEJBQTRCO0lBQ2xFLFlBQ1UsV0FBdUIsRUFDeEIsSUFBdUIsRUFDdEIsS0FBYSxFQUNiLFFBQWlCLEVBQ2pCLFNBQXFCLEVBQ3JCLGlCQUFtQztRQUUzQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBUGpCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FB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cEMsTUFBTTtzQkFEaEIsS0FBSztnQkFXTixRQUFRO3NCQURQLEtBQUs7Z0JBaUJOLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxjQUFjO2dCQVF6QixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQU9OLFFBQVE7c0JBRFAsTUFBTTtnQkFHUCxRQUFRO3NCQURQLE1BQU07Z0JBMkVQLHFCQUFxQjtzQkFEcEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE5nWm9uZSxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgc29tZSwgaW5jbHVkZXMgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZyb21FdmVudCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYQ29ubmVjdGVkUG9zaXRpb24sIEFYRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcbmltcG9ydCB7IEFYUG9pbnQsIEFYRHJhd2luZ1V0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBBWEludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluLCBBWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcG9wb3ZlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1wb3BvdmVyJyB9LFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBBWEludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm0sXHJcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgX2Nkcik7XHJcbiAgfVxyXG4gIC8vXHJcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBIVE1MRWxlbWVudDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdGFyZ2V0KCk6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHRhcmdldCh2OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBBWEJhc2VDb21wb25lbnQpIHtcclxuICAgIGlmICh2IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHRoaXMuX3RhcmdldCA9IHY7XHJcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgRWxlbWVudFJlZikgdGhpcy5fdGFyZ2V0ID0gdi5uYXRpdmVFbGVtZW50O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEFYQmFzZUNvbXBvbmVudCkgdGhpcy5fdGFyZ2V0ID0gdi5fZ2V0SW5uZXJFbGVtZW50KCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHBvc2l0aW9uOiBBWENvbm5lY3RlZFBvc2l0aW9uIHwgQVhDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIC8vXHJcbiAgQFZpZXdDaGlsZCgnYmFzZVRlbXBsYXRlJylcclxuICBfYmFzZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgYW55O1xyXG4gIF90ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XHJcblxyXG4gIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBvcGVuVHJpZ2dlcjogJ21hbnVhbCcgfCAnY2xpY2snIHwgJ21vdXNlb3ZlcicgfCAndG9nZ2xlJyA9ICd0b2dnbGUnO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBjbG9zZVRyaWdnZXI6ICdtYW51YWwnIHwgJ2NsaWNrb3V0JyB8ICdtb3VzZW91dCcgPSAnY2xpY2tvdXQnO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJhY2tkcm9wQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBhZGFwdGl2aXR5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vXHJcbiAgcHJpdmF0ZSBfbW91c2VQb3M6IEFYUG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcclxuICBwcml2YXRlIF9pc1Njcm9sbEF0dGFjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy9cclxuICBAT3V0cHV0KClcclxuICBvbk9wZW5lZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xvc2VkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XHJcblxyXG4gIF9lbWl0T25PcGVuZWRFdmVudCgpIHtcclxuICAgIHRoaXMub25PcGVuZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9lbWl0T25DbG9zZWRFdmVudCgpIHtcclxuICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy9cclxuICBvblZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuX3RhcmdldCkge1xyXG4gICAgICBpZiAodGhpcy5vcGVuVHJpZ2dlciA9PT0gJ21vdXNlb3ZlcicpIHtcclxuICAgICAgICBjb25zdCBtb3VzZUVudGVyJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl90YXJnZXQsICdtb3VzZW92ZXInKTtcclxuICAgICAgICB0aGlzLl9hZGRTdWIoXHJcbiAgICAgICAgICBtb3VzZUVudGVyJC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSB7IHg6IGUuY2xpZW50WCwgeTogZS5jbGllbnRZIH07XHJcbiAgICAgICAgICAgIGlmIChBWERyYXdpbmdVdGlsLmlzSW5FbGVtZW50Qm91bmQocG9pbnQsIHRoaXMuX3RhcmdldCkpXHJcbiAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY2xvc2VUcmlnZ2VyID09PSAnbW91c2VvdXQnKSB7XHJcbiAgICAgICAgY29uc3QgbW91c2VNb3ZlJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1YihcclxuICAgICAgICAgIG1vdXNlTW92ZSQucGlwZSh0aHJvdHRsZVRpbWUoNTApKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fbW91c2VQb3MueCA9IGUuY2xpZW50WDtcclxuICAgICAgICAgICAgdGhpcy5fbW91c2VQb3MueSA9IGUuY2xpZW50WTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgIHNvbWUoW3RoaXMuX3RhcmdldCwgdGhpcy5fb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudF0sIChlbCkgPT5cclxuICAgICAgICAgICAgICAgICAgICBpbmNsdWRlcyhcclxuICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb3VzZVBvcy54LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb3VzZVBvcy55XHJcbiAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZWxcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICAvL1xyXG4gICAgICBpZiAodGhpcy5vcGVuVHJpZ2dlciA9PT0gJ2NsaWNrJyB8fCB0aGlzLm9wZW5UcmlnZ2VyID09PSAndG9nZ2xlJykge1xyXG4gICAgICAgIGNvbnN0IGNsaWNrJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl90YXJnZXQsICdjbGljaycpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1YihcclxuICAgICAgICAgIGNsaWNrJC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuVHJpZ2dlciA9PSAndG9nZ2xlJyA/IHRoaXMudG9nZ2xlKCkgOiB0aGlzLm9wZW4oKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvL1xyXG4gIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKChzKSA9PiB7XHJcbiAgICAgIHM/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIF9oYW5kbGVLZXlkb3duSGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAvLyBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgZS50eXBlID09PSAna2V5ZG93bicpIHtcclxuICAgIC8vICAgdGhpcy50b2dnbGUoKTtcclxuICAgIC8vIH1cclxuICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZSgpIHtcclxuICAgIHRoaXMuaXNPcGVuID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XHJcbiAgfVxyXG4gIC8vXHJcbiAgY2xvc2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgdGhpcy5fZW1pdE9uQ2xvc2VkRXZlbnQoKTtcclxuICB9XHJcblxyXG4gIGRpc3Bvc2UoKSB7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gbnVsbCBhcyBhbnk7XHJcbiAgfVxyXG4gIC8vXHJcbiAgb3BlbigpIHtcclxuICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpO1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uYXR0YWNoKHRoaXMuX3RlbXBsYXRlUG9ydGFsKTtcclxuICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpIHtcclxuICAgIGNvbnN0IHRhcmdldFJlZiA9IHRoaXMuX3RhcmdldDtcclxuICAgIGlmICghdGFyZ2V0UmVmKSByZXR1cm47XHJcblxyXG4gICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5pcygnTW9iaWxlJykgJiYgdGhpcy5hZGFwdGl2aXR5RW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuX29wZW5Bc0FjdGlvbnNoZWV0KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fb3BlbkFzUG9wb3Zlcih0YXJnZXRSZWYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5jbG9zZVRyaWdnZXIgPT0gJ2NsaWNrb3V0Jykge1xyXG4gICAgICAgIHRoaXMuX2FkZFN1YihcclxuICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuX291dHNpZGVQb2ludGVyRXZlbnRzLnN1YnNjcmliZSgoYykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBjLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgY29uc3QgY29tRWxlbSA9IHRhcmdldFJlZjtcclxuICAgICAgICAgICAgaWYgKCFjb21FbGVtLmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9hZGRTdWIoXHJcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2htZW50cygpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgICAgICAgIHRoaXMuX3BsYXRmb3JtLnNjcm9sbC5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgIShjLm5hdGl2ZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdChcclxuICAgICAgICAgICAgICAgICAgICAnLmF4LW92ZXJsYXktcGFuZSdcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5faXNTY3JvbGxBdHRhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5fdGVtcGxhdGVQb3J0YWwpIHtcclxuICAgICAgdGhpcy5fdGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXHJcbiAgICAgICAgdGhpcy5fYmFzZVRlbXBsYXRlLFxyXG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWZcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc1BvcG92ZXIodGFyZ2V0UmVmOiBIVE1MRWxlbWVudCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxyXG4gICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0UmVmKVxyXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFxyXG4gICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLnBvc2l0aW9uKSA/IHRoaXMucG9zaXRpb24gOiBbdGhpcy5wb3NpdGlvbl1cclxuICAgICAgICApXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbdGhpcy5iYWNrZHJvcENsYXNzIHx8ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuQXNBY3Rpb25zaGVldCgpIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXlcclxuICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGRvY3VtZW50LmJvZHkpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdKSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLXNsaWRlSW5VcCcsICdheC1hbmltYXRlLWZhc3RlciddLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5UmVmID8gdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRTdWIoc3ViOiBTdWJzY3JpcHRpb24pIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChzdWIpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUG9zaXRpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2Jhc2VUZW1wbGF0ZT5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+Il19
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9wb3BvdmVyL3NyYy9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixVQUFVLEVBSVYsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0QsT0FBTyxFQUFXLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVN6RixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsNEJBQTRCO0lBQ2xFLFlBQ1UsV0FBdUIsRUFDeEIsSUFBdUIsRUFDdEIsS0FBYSxFQUNiLFFBQWlCLEVBQ2pCLFNBQXFCLEVBQ3JCLGlCQUFtQztRQUUzQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBUGpCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FB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c0JBRFAsS0FBSztnQkFpQk4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBUXpCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxNQUFNO2dCQUdQLFFBQVE7c0JBRFAsTUFBTTtnQkEyRVAscUJBQXFCO3NCQURwQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgTmdab25lLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBzb21lLCBpbmNsdWRlcyB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50LCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhDb25uZWN0ZWRQb3NpdGlvbiwgQVhFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcclxuaW1wb3J0IHsgQVhQb2ludCwgQVhEcmF3aW5nVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEFYSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4sIEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1wb3BvdmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEFYSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4ge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybSxcclxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcclxuICB9XHJcbiAgLy9cclxuICBwcml2YXRlIF90YXJnZXQ6IEhUTUxFbGVtZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB0YXJnZXQoKTogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgQVhCYXNlQ29tcG9uZW50IHtcclxuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHY6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IEFYQmFzZUNvbXBvbmVudCkge1xyXG4gICAgaWYgKHYgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgdGhpcy5fdGFyZ2V0ID0gdjtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBFbGVtZW50UmVmKSB0aGlzLl90YXJnZXQgPSB2Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgQVhCYXNlQ29tcG9uZW50KSB0aGlzLl90YXJnZXQgPSB2Ll9nZXRJbm5lckVsZW1lbnQoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcG9zaXRpb246IEFYQ29ubmVjdGVkUG9zaXRpb24gfCBBWENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgLy9cclxuICBAVmlld0NoaWxkKCdiYXNlVGVtcGxhdGUnKVxyXG4gIF9iYXNlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBhbnk7XHJcbiAgX3RlbXBsYXRlUG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcclxuXHJcbiAgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIG9wZW5UcmlnZ2VyOiAnbWFudWFsJyB8ICdjbGljaycgfCAnbW91c2VvdmVyJyB8ICd0b2dnbGUnID0gJ3RvZ2dsZSc7XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIGNsb3NlVHJpZ2dlcjogJ21hbnVhbCcgfCAnY2xpY2tvdXQnIHwgJ21vdXNlb3V0JyA9ICdjbGlja291dCc7XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIGhhc0JhY2tkcm9wOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYmFja2Ryb3BDbGFzczogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFkYXB0aXZpdHlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy9cclxuICBwcml2YXRlIF9tb3VzZVBvczogQVhQb2ludCA9IHsgeDogMCwgeTogMCB9O1xyXG4gIHByaXZhdGUgX2lzU2Nyb2xsQXR0YWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvL1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uT3BlbmVkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcclxuXHJcbiAgX2VtaXRPbk9wZW5lZEV2ZW50KCkge1xyXG4gICAgdGhpcy5vbk9wZW5lZC5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2VtaXRPbkNsb3NlZEV2ZW50KCkge1xyXG4gICAgdGhpcy5vbkNsb3NlZC5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvL1xyXG4gIG9uVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5fdGFyZ2V0KSB7XHJcbiAgICAgIGlmICh0aGlzLm9wZW5UcmlnZ2VyID09PSAnbW91c2VvdmVyJykge1xyXG4gICAgICAgIGNvbnN0IG1vdXNlRW50ZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX3RhcmdldCwgJ21vdXNlb3ZlcicpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1YihcclxuICAgICAgICAgIG1vdXNlRW50ZXIkLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHsgeDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFkgfTtcclxuICAgICAgICAgICAgaWYgKEFYRHJhd2luZ1V0aWwuaXNJbkVsZW1lbnRCb3VuZChwb2ludCwgdGhpcy5fdGFyZ2V0KSlcclxuICAgICAgICAgICAgICB0aGlzLm9wZW4oKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jbG9zZVRyaWdnZXIgPT09ICdtb3VzZW91dCcpIHtcclxuICAgICAgICBjb25zdCBtb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgICAgbW91c2VNb3ZlJC5waXBlKHRocm90dGxlVGltZSg1MCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9tb3VzZVBvcy54ID0gZS5jbGllbnRYO1xyXG4gICAgICAgICAgICB0aGlzLl9tb3VzZVBvcy55ID0gZS5jbGllbnRZO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgc29tZShbdGhpcy5fdGFyZ2V0LCB0aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50XSwgKGVsKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIGluY2x1ZGVzKFxyXG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX21vdXNlUG9zLngsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX21vdXNlUG9zLnlcclxuICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICBlbFxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIC8vXHJcbiAgICAgIGlmICh0aGlzLm9wZW5UcmlnZ2VyID09PSAnY2xpY2snIHx8IHRoaXMub3BlblRyaWdnZXIgPT09ICd0b2dnbGUnKSB7XHJcbiAgICAgICAgY29uc3QgY2xpY2skID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX3RhcmdldCwgJ2NsaWNrJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgICAgY2xpY2skLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5UcmlnZ2VyID09ICd0b2dnbGUnID8gdGhpcy50b2dnbGUoKSA6IHRoaXMub3BlbigpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vXHJcbiAgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goKHMpID0+IHtcclxuICAgICAgcz8udW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgX2hhbmRsZUtleWRvd25IYW5kbGVyKGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIC8vIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiBlLnR5cGUgPT09ICdrZXlkb3duJykge1xyXG4gICAgLy8gICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgLy8gfVxyXG4gICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcclxuICB9XHJcbiAgLy9cclxuICBjbG9zZSgpIHtcclxuICAgIGlmICghdGhpcy5pc09wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9lbWl0T25DbG9zZWRFdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgZGlzcG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsIGFzIGFueTtcclxuICB9XHJcbiAgLy9cclxuICBvcGVuKCkge1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX2Vuc3VyZU92ZXJsYXlDcmVhdGVkKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5hdHRhY2godGhpcy5fdGVtcGxhdGVQb3J0YWwpO1xyXG4gICAgdGhpcy5fZW1pdE9uT3BlbmVkRXZlbnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Vuc3VyZU92ZXJsYXlDcmVhdGVkKCkge1xyXG4gICAgY29uc3QgdGFyZ2V0UmVmID0gdGhpcy5fdGFyZ2V0O1xyXG4gICAgaWYgKCF0YXJnZXRSZWYpIHJldHVybjtcclxuXHJcbiAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKSAmJiB0aGlzLmFkYXB0aXZpdHlFbmFibGVkKSB7XHJcbiAgICAgICAgdGhpcy5fb3BlbkFzQWN0aW9uc2hlZXQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9vcGVuQXNQb3BvdmVyKHRhcmdldFJlZik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLmNsb3NlVHJpZ2dlciA9PSAnY2xpY2tvdXQnKSB7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKChjKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGMudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBjb21FbGVtID0gdGFyZ2V0UmVmO1xyXG4gICAgICAgICAgICBpZiAoIWNvbUVsZW0uY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2FkZFN1YihcclxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIGlmICghdGhpcy5faXNTY3JvbGxBdHRhY2hlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9hZGRTdWIoXHJcbiAgICAgICAgICAgICAgdGhpcy5fcGxhdGZvcm0uc2Nyb2xsLnN1YnNjcmliZSgoYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAhKGMubmF0aXZlRXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KFxyXG4gICAgICAgICAgICAgICAgICAgICcuYXgtb3ZlcmxheS1wYW5lJ1xyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLl9pc1Njcm9sbEF0dGFjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZVBvcnRhbCkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcclxuICAgICAgICB0aGlzLl9iYXNlVGVtcGxhdGUsXHJcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzUG9wb3Zlcih0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoXHJcbiAgICAgICAgICBBcnJheS5pc0FycmF5KHRoaXMucG9zaXRpb24pID8gdGhpcy5wb3NpdGlvbiA6IFt0aGlzLnBvc2l0aW9uXVxyXG4gICAgICAgIClcclxuICAgICAgICAud2l0aFB1c2goZmFsc2UpLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJ10sXHJcbiAgICAgIG1heEhlaWdodDogJ3Vuc2V0JyxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AsXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFt0aGlzLmJhY2tkcm9wQ2xhc3MgfHwgJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc0FjdGlvbnNoZWV0KCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxyXG4gICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZG9jdW1lbnQuYm9keSlcclxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0pLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtc2xpZGVJblVwJywgJ2F4LWFuaW1hdGUtZmFzdGVyJ10sXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXlSZWYgPyB0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FkZFN1YihzdWI6IFN1YnNjcmlwdGlvbikge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKHN1Yik7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQb3NpdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -120,12 +120,12 @@ export class AXPopupComponent extends AXBaseComponentMixin {
120
120
  onFullScreen() { }
121
121
  }
122
122
  AXPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPopupComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: i1.AXLoadingService }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
123
- AXPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXPopupComponent, selector: "ax-popup", host: { listeners: { "keydown.escape": "onKeydownHandler($event)" }, classAttribute: "ax-popup" }, providers: [{ provide: AXClosbaleComponent, useExisting: AXPopupComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" [cdkTrapFocus]=\"true\">\r\n <div class=\"ax-popup ax-popup-{{size}}\" tabindex=\"0\" cdkDrag [cdkDragDisabled]=\"!draggable\">\r\n <div cdkDragHandle class=\"ax-popup-header-container\">\r\n <ax-header *ngIf=\"showHeader\">\r\n <ax-title [text]=\"title\"></ax-title>\r\n <ax-close-button *ngIf=\"showCloseButton\"></ax-close-button>\r\n </ax-header>\r\n </div>\r\n <div class=\"ax-popup-main-container\">\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\r\n </div>\r\n <div class=\"ax-popup-footer-container\"></div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i7.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i7.AXDecoratorTitleComponent, selector: "ax-title", inputs: ["text"] }, { kind: "component", type: i7.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
123
+ AXPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXPopupComponent, selector: "ax-popup", host: { listeners: { "keydown.escape": "onKeydownHandler($event)" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXPopupComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" [cdkTrapFocus]=\"true\">\r\n <div class=\"ax-popup ax-popup-{{size}}\" tabindex=\"0\" cdkDrag [cdkDragDisabled]=\"!draggable\">\r\n <div cdkDragHandle class=\"ax-popup-header-container\">\r\n <ax-header *ngIf=\"showHeader\">\r\n <ax-title [text]=\"title\"></ax-title>\r\n <ax-close-button *ngIf=\"showCloseButton\"></ax-close-button>\r\n </ax-header>\r\n </div>\r\n <div class=\"ax-popup-main-container\">\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\r\n </div>\r\n <div class=\"ax-popup-footer-container\"></div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i7.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i7.AXDecoratorTitleComponent, selector: "ax-title", inputs: ["text"] }, { kind: "component", type: i7.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
124
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPopupComponent, decorators: [{
125
125
  type: Component,
126
- args: [{ selector: 'ax-popup', host: { class: 'ax-popup' }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXPopupComponent }], template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" [cdkTrapFocus]=\"true\">\r\n <div class=\"ax-popup ax-popup-{{size}}\" tabindex=\"0\" cdkDrag [cdkDragDisabled]=\"!draggable\">\r\n <div cdkDragHandle class=\"ax-popup-header-container\">\r\n <ax-header *ngIf=\"showHeader\">\r\n <ax-title [text]=\"title\"></ax-title>\r\n <ax-close-button *ngIf=\"showCloseButton\"></ax-close-button>\r\n </ax-header>\r\n </div>\r\n <div class=\"ax-popup-main-container\">\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\r\n </div>\r\n <div class=\"ax-popup-footer-container\"></div>\r\n </div>\r\n</div>" }]
126
+ args: [{ selector: 'ax-popup', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXPopupComponent }], template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" [cdkTrapFocus]=\"true\">\r\n <div class=\"ax-popup ax-popup-{{size}}\" tabindex=\"0\" cdkDrag [cdkDragDisabled]=\"!draggable\">\r\n <div cdkDragHandle class=\"ax-popup-header-container\">\r\n <ax-header *ngIf=\"showHeader\">\r\n <ax-title [text]=\"title\"></ax-title>\r\n <ax-close-button *ngIf=\"showCloseButton\"></ax-close-button>\r\n </ax-header>\r\n </div>\r\n <div class=\"ax-popup-main-container\">\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\r\n </div>\r\n <div class=\"ax-popup-footer-container\"></div>\r\n </div>\r\n</div>" }]
127
127
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.ViewContainerRef }, { type: i1.AXLoadingService }, { type: i2.AXPlatform }]; }, propDecorators: { onKeydownHandler: [{
128
128
  type: HostListener,
129
129
  args: ['keydown.escape', ['$event']]
130
130
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAvc3JjL3BvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3BvcHVwL3NyYy9wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEdBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGVBQWUsRUFFZixjQUFjLEdBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUc3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQW9CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFFaEU7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBb0I7SUF1QnhEOztPQUVHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixHQUFzQixFQUNkLEtBQWEsRUFDYixpQkFBbUMsRUFDbkMsY0FBZ0MsRUFDaEMsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUxmLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFZO1FBL0IvQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBSzFCLGFBQVEsR0FDTixJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUV2QyxTQUFJLEdB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QUFJLENBQUMsZUFBZSxFQUFFO1NBQ3BDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksS0FBSSxDQUFDOzs2R0ExSU4sZ0JBQWdCO2lHQUFoQixnQkFBZ0Isc0lBRmhCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUMsaURDckM5RSxtdkJBYU07MkZEMEJPLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxVQUFVLFFBRWQsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLG1CQUNWLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLGtCQUFrQixFQUFFLENBQUM7Nk9BZ0g1RSxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBUZW1wbGF0ZVJlZixcclxuICBOZ1pvbmUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYsXHJcbiAgQ29tcG9uZW50UG9ydGFsLFxyXG4gIFBvcnRhbCxcclxuICBUZW1wbGF0ZVBvcnRhbCxcclxufSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcblxyXG5pbXBvcnQgeyBBWENsb3NiYWxlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYUGFnZUNsb3NlRXZlbnQsIFRBQl9NRVRBX0tFWSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcG9wdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4LXBvcHVwJyB9LFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENsb3NiYWxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhQb3B1cENvbXBvbmVudCB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRNaXhpbiB7XHJcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIF9sb2FkaW5nSWQ6IG51bWJlcjtcclxuXHJcbiAgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxBWFBhZ2VDbG9zZUV2ZW50PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYUGFnZUNsb3NlRXZlbnQ+KCk7XHJcblxyXG4gIHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICdmdWxsJyA9ICdzbSc7XHJcbiAgZHJhZ2dhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgZGF0YTogYW55ID0ge307XHJcblxyXG4gIHNob3dDbG9zZUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnRlbnQ6IGFueTtcclxuXHJcbiAgX3NlbGVjdGVkUG9ydGFsOiBQb3J0YWw8YW55PjtcclxuICBfZm9vdGVyUG9ydGFsOiBQb3J0YWw8YW55PjtcclxuICBfaGVhZGVyUG9ydGFsOiBQb3J0YWw8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgbG9hZGluZ1NlcnZpY2U6IEFYTG9hZGluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybVxyXG4gICkge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHN1cGVyLm9uSW5pdCgpO1xyXG4gICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKSkge1xyXG4gICAgICB0aGlzLmRyYWdnYWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2xvYWRpbmdJZCA9IHRoaXMubG9hZGluZ1NlcnZpY2Uuc2hvdyhcclxuICAgICAgLy9UT0RPOiBjaGVjayB0cyBlcnJvclxyXG4gICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtcG9wdXAtYm9keS1jb250YWluZXInKVxyXG4gICAgKTtcclxuICAgIC8vXHJcbiAgICBpZiAodHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgLy8gICB0aGlzLnJlbmRlcmVyU2VydmljZS5maW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZSh0aGlzLmNvbnRlbnQsIDIwKS50aGVuKHJvdXRlID0+IHtcclxuICAgICAgLy8gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyAgICAgICB0aGlzLmxvYWRDb21wb25lbnQocm91dGUuY29tcG9uZW50KTtcclxuICAgICAgLy8gICAgIH0sIDMwMCk7XHJcbiAgICAgIC8vICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICAgIHRoaXMuY29udGVudCxcclxuICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHsgJGltcGxpY2l0OiB0aGlzLmRhdGEsIHJlZjogdGhpcyB9XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLl9zZWxlY3RlZFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5jb250ZW50KTtcclxuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUF0dGNoZWQocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xyXG4gICAgcmVmID0gcmVmIGFzIENvbXBvbmVudFJlZjxhbnk+O1xyXG4gICAgaWYgKHJlZi5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzW1RBQl9NRVRBX0tFWV0uY29tcG9uZW50ID0gcmVmLmluc3RhbmNlO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXNbVEFCX01FVEFfS0VZXS5jb21wb25lbnQsIHRoaXMuZGF0YSk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpc1tUQUJfTUVUQV9LRVldLmNvbXBvbmVudCwgeyBfaXNQb3B1cDogdHJ1ZSB9KTtcclxuICAgICAgaWYgKHJlZi5pbnN0YW5jZS5vbkNsb3NlZCkge1xyXG4gICAgICAgIHJlZi5pbnN0YW5jZS5vbkNsb3NlZC5zdWJzY3JpYmUoKGU6IEFYUGFnZUNsb3NlRXZlbnQpID0+IHtcclxuICAgICAgICAgIHRoaXMub25DbG9zZWQuZW1pdChlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG1haW4gPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFxyXG4gICAgICAgICAgJy5heC1wb3B1cC1tYWluLWNvbnRhaW5lcidcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IHBvcEhlYWRlciA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXHJcbiAgICAgICAgICAnLmF4LXBvcHVwLWhlYWRlci1jb250YWluZXInXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBwb3BGb290ZXIgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFxyXG4gICAgICAgICAgJy5heC1wb3B1cC1mb290ZXItY29udGFpbmVyJ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgZm9vdGVyID0gbWFpbiEucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJ2F4LWZvb3RlcicpO1xyXG4gICAgICAgIGNvbnN0IGhlYWRlciA9IG1haW4hLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCdheC1oZWFkZXInKTtcclxuICAgICAgICBpZiAoZm9vdGVyKSB7XHJcbiAgICAgICAgICBwb3BGb290ZXIhLmFwcGVuZChmb290ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaGVhZGVyKSB7XHJcbiAgICAgICAgICAvL1RPRE86IGNoZWNrIHRzIGVycm9yXHJcbiAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgIHBvcEhlYWRlci5pbm5lckhUTUwgPSAnJztcclxuICAgICAgICAgIHBvcEhlYWRlciEuYXBwZW5kKGhlYWRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sb2FkaW5nU2VydmljZS5oaWRlKHRoaXMuX2xvYWRpbmdJZCk7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0Nsb3NlQnV0dG9uKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9oYW5kbGVDbG9zZUNsaWNrKCkge1xyXG4gICAgdGhpcy5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLmhpZGUodGhpcy5fbG9hZGluZ0lkKTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmZvY3VzKCkpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLm9uQ2xvc2VkLmVtaXQoe1xyXG4gICAgICAvL1RPRE86IGNoZWNrIHRzIGVycm9yXHJcbiAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICBjb21wb25lbnQ6IHRoaXNbVEFCX01FVEFfS0VZXS5jb21wb25lbnQsXHJcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25GdWxsU2NyZWVuKCkge31cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtcG9wdXAtd3JhcHBlclwiIGFyaWEtbW9kYWw9XCJ0cnVlXCIgW2Nka1RyYXBGb2N1c109XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtcG9wdXAgYXgtcG9wdXAte3tzaXplfX1cIiB0YWJpbmRleD1cIjBcIiBjZGtEcmFnIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWRyYWdnYWJsZVwiPlxyXG4gICAgICAgIDxkaXYgY2RrRHJhZ0hhbmRsZSBjbGFzcz1cImF4LXBvcHVwLWhlYWRlci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGF4LWhlYWRlciAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxheC10aXRsZSBbdGV4dF09XCJ0aXRsZVwiPjwvYXgtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICA8YXgtY2xvc2UtYnV0dG9uICpuZ0lmPVwic2hvd0Nsb3NlQnV0dG9uXCI+PC9heC1jbG9zZS1idXR0b24+XHJcbiAgICAgICAgICAgIDwvYXgtaGVhZGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1wb3B1cC1tYWluLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfc2VsZWN0ZWRQb3J0YWxcIiAoYXR0YWNoZWQpPVwiX2hhbmRsZUF0dGNoZWQoJGV2ZW50KVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LXBvcHVwLWZvb3Rlci1jb250YWluZXJcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAvc3JjL3BvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3BvcHVwL3NyYy9wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEdBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGVBQWUsRUFFZixjQUFjLEdBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUc3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQW9CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFFaEU7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBb0I7SUF1QnhEOztPQUVHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixHQUFzQixFQUNkLEtBQWEsRUFDYixpQkFBbUMsRUFDbkMsY0FBZ0MsRUFDaEMsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUxmLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFZO1FBL0IvQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBSzFCLGFBQVEsR0FDTixJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUV2QyxTQUFJLEdB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QUFJLENBQUMsZUFBZSxFQUFFO1NBQ3BDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksS0FBSSxDQUFDOzs2R0ExSU4sZ0JBQWdCO2lHQUFoQixnQkFBZ0IsMEdBRmhCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUMsaURDcEM5RSxtdkJBYU07MkZEeUJPLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxVQUFVLG1CQUVILHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLGtCQUFrQixFQUFFLENBQUM7Nk9BZ0g1RSxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBUZW1wbGF0ZVJlZixcclxuICBOZ1pvbmUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYsXHJcbiAgQ29tcG9uZW50UG9ydGFsLFxyXG4gIFBvcnRhbCxcclxuICBUZW1wbGF0ZVBvcnRhbCxcclxufSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcblxyXG5pbXBvcnQgeyBBWENsb3NiYWxlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYUGFnZUNsb3NlRXZlbnQsIFRBQl9NRVRBX0tFWSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcG9wdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBvcHVwQ29tcG9uZW50IH1dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByaXZhdGUgX2xvYWRpbmdJZDogbnVtYmVyO1xyXG5cclxuICB0aXRsZTogc3RyaW5nO1xyXG5cclxuICBvbkNsb3NlZDogRXZlbnRFbWl0dGVyPEFYUGFnZUNsb3NlRXZlbnQ+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8QVhQYWdlQ2xvc2VFdmVudD4oKTtcclxuXHJcbiAgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ2Z1bGwnID0gJ3NtJztcclxuICBkcmFnZ2FibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBkYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgc2hvd0Nsb3NlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29udGVudDogYW55O1xyXG5cclxuICBfc2VsZWN0ZWRQb3J0YWw6IFBvcnRhbDxhbnk+O1xyXG4gIF9mb290ZXJQb3J0YWw6IFBvcnRhbDxhbnk+O1xyXG4gIF9oZWFkZXJQb3J0YWw6IFBvcnRhbDxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBsb2FkaW5nU2VydmljZTogQVhMb2FkaW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtXHJcbiAgKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCkge1xyXG4gICAgc3VwZXIub25Jbml0KCk7XHJcbiAgICBpZiAodGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpKSB7XHJcbiAgICAgIHRoaXMuZHJhZ2dhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fbG9hZGluZ0lkID0gdGhpcy5sb2FkaW5nU2VydmljZS5zaG93KFxyXG4gICAgICAvL1RPRE86IGNoZWNrIHRzIGVycm9yXHJcbiAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1wb3B1cC1ib2R5LWNvbnRhaW5lcicpXHJcbiAgICApO1xyXG4gICAgLy9cclxuICAgIGlmICh0eXBlb2YgdGhpcy5jb250ZW50ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAvLyAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHRoaXMuY29udGVudCwgMjApLnRoZW4ocm91dGUgPT4ge1xyXG4gICAgICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIC8vICAgICAgIHRoaXMubG9hZENvbXBvbmVudChyb3V0ZS5jb21wb25lbnQpO1xyXG4gICAgICAvLyAgICAgfSwgMzAwKTtcclxuICAgICAgLy8gICB9KTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXHJcbiAgICAgICAgdGhpcy5jb250ZW50LFxyXG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgeyAkaW1wbGljaXQ6IHRoaXMuZGF0YSwgcmVmOiB0aGlzIH1cclxuICAgICAgKTtcclxuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5jb250ZW50ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLmNvbnRlbnQpO1xyXG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlQXR0Y2hlZChyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XHJcbiAgICByZWYgPSByZWYgYXMgQ29tcG9uZW50UmVmPGFueT47XHJcbiAgICBpZiAocmVmLmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXNbVEFCX01FVEFfS0VZXS5jb21wb25lbnQgPSByZWYuaW5zdGFuY2U7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpc1tUQUJfTUVUQV9LRVldLmNvbXBvbmVudCwgdGhpcy5kYXRhKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzW1RBQl9NRVRBX0tFWV0uY29tcG9uZW50LCB7IF9pc1BvcHVwOiB0cnVlIH0pO1xyXG4gICAgICBpZiAocmVmLmluc3RhbmNlLm9uQ2xvc2VkKSB7XHJcbiAgICAgICAgcmVmLmluc3RhbmNlLm9uQ2xvc2VkLnN1YnNjcmliZSgoZTogQVhQYWdlQ2xvc2VFdmVudCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vbkNsb3NlZC5lbWl0KGUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbWFpbiA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXHJcbiAgICAgICAgICAnLmF4LXBvcHVwLW1haW4tY29udGFpbmVyJ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgcG9wSGVhZGVyID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcclxuICAgICAgICAgICcuYXgtcG9wdXAtaGVhZGVyLWNvbnRhaW5lcidcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IHBvcEZvb3RlciA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXHJcbiAgICAgICAgICAnLmF4LXBvcHVwLWZvb3Rlci1jb250YWluZXInXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBmb290ZXIgPSBtYWluIS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignYXgtZm9vdGVyJyk7XHJcbiAgICAgICAgY29uc3QgaGVhZGVyID0gbWFpbiEucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJ2F4LWhlYWRlcicpO1xyXG4gICAgICAgIGlmIChmb290ZXIpIHtcclxuICAgICAgICAgIHBvcEZvb3RlciEuYXBwZW5kKGZvb3Rlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChoZWFkZXIpIHtcclxuICAgICAgICAgIC8vVE9ETzogY2hlY2sgdHMgZXJyb3JcclxuICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgcG9wSGVhZGVyLmlubmVySFRNTCA9ICcnO1xyXG4gICAgICAgICAgcG9wSGVhZGVyIS5hcHBlbmQoaGVhZGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLmhpZGUodGhpcy5fbG9hZGluZ0lkKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcclxuICBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5zaG93Q2xvc2VCdXR0b24pIHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUNsb3NlQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMubG9hZGluZ1NlcnZpY2UuaGlkZSh0aGlzLl9sb2FkaW5nSWQpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2dldEhvc3RFbGVtZW50KCkuZm9jdXMoKSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XHJcbiAgICAgIC8vVE9ETzogY2hlY2sgdHMgZXJyb3JcclxuICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgIGNvbXBvbmVudDogdGhpc1tUQUJfTUVUQV9LRVldLmNvbXBvbmVudCxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkZ1bGxTY3JlZW4oKSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1wb3B1cC13cmFwcGVyXCIgYXJpYS1tb2RhbD1cInRydWVcIiBbY2RrVHJhcEZvY3VzXT1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1wb3B1cCBheC1wb3B1cC17e3NpemV9fVwiIHRhYmluZGV4PVwiMFwiIGNka0RyYWcgW2Nka0RyYWdEaXNhYmxlZF09XCIhZHJhZ2dhYmxlXCI+XHJcbiAgICAgICAgPGRpdiBjZGtEcmFnSGFuZGxlIGNsYXNzPVwiYXgtcG9wdXAtaGVhZGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8YXgtaGVhZGVyICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXRpdGxlIFt0ZXh0XT1cInRpdGxlXCI+PC9heC10aXRsZT5cclxuICAgICAgICAgICAgICAgIDxheC1jbG9zZS1idXR0b24gKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIj48L2F4LWNsb3NlLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9heC1oZWFkZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LXBvcHVwLW1haW4tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9zZWxlY3RlZFBvcnRhbFwiIChhdHRhY2hlZCk9XCJfaGFuZGxlQXR0Y2hlZCgkZXZlbnQpXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcG9wdXAtZm9vdGVyLWNvbnRhaW5lclwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -2,4 +2,4 @@
2
2
  * Public API Surface of components
3
3
  */
4
4
  export const ACOREX_COMPONENTS = "@acorex/components";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29tcG9uZW50c1xuICovXG5cbmV4cG9ydCBjb25zdCBBQ09SRVhfQ09NUE9ORU5UUyA9IFwiQGFjb3JleC9jb21wb25lbnRzXCI7Il19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb21wb25lbnRzXHJcbiAqL1xyXG5cclxuZXhwb3J0IGNvbnN0IEFDT1JFWF9DT01QT05FTlRTID0gXCJAYWNvcmV4L2NvbXBvbmVudHNcIjsiXX0=
@@ -26,9 +26,9 @@ export class AXRadioComponent extends AXBaseValueComponentMixin {
26
26
  }
27
27
  }
28
28
  AXRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXRadioComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
29
- AXRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXRadioComponent, selector: "ax-radio", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { classAttribute: "ax-radio" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-items-start\">\r\n <div class=\"ax-flex ax-items-center ax-h-5\">\r\n <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [(ngModel)]=\"value\" [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (click)=\"_handleOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n </div>\r\n <div class=\"ax-ms-3 ax-text-sm\">\r\n <ng-content select=\"ax-label\"></ng-content>\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n </div>\r\n</div>\r\n<ng-content select=\"ax-validation-rule\"></ng-content>", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
+ AXRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXRadioComponent, selector: "ax-radio", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { classAttribute: "ax-radio" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-items-start ax-w-fit\">\r\n <div class=\"ax-flex ax-items-center ax-h-5\">\r\n <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [(ngModel)]=\"value\" [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (click)=\"_handleOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n </div>\r\n <div class=\"ax-ms-3 ax-text-sm\">\r\n <ng-content select=\"ax-label\"></ng-content>\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n </div>\r\n</div>\r\n<ng-content select=\"ax-validation-rule\"></ng-content>", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXRadioComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'ax-radio', inputs: ['disabled', 'tabIndex', 'readonly', 'allowNull', 'value', 'name', 'checked'], outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'], host: { class: 'ax-radio' }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-flex ax-items-start\">\r\n <div class=\"ax-flex ax-items-center ax-h-5\">\r\n <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [(ngModel)]=\"value\" [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (click)=\"_handleOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n </div>\r\n <div class=\"ax-ms-3 ax-text-sm\">\r\n <ng-content select=\"ax-label\"></ng-content>\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n </div>\r\n</div>\r\n<ng-content select=\"ax-validation-rule\"></ng-content>" }]
32
+ args: [{ selector: 'ax-radio', inputs: ['disabled', 'tabIndex', 'readonly', 'allowNull', 'value', 'name', 'checked'], outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'], host: { class: 'ax-radio' }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-flex ax-items-start ax-w-fit\">\r\n <div class=\"ax-flex ax-items-center ax-h-5\">\r\n <input [id]=\"id\" class=\"ax-radio\" type=\"radio\" [(ngModel)]=\"value\" [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (click)=\"_handleOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n </div>\r\n <div class=\"ax-ms-3 ax-text-sm\">\r\n <ng-content select=\"ax-label\"></ng-content>\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n </div>\r\n</div>\r\n<ng-content select=\"ax-validation-rule\"></ng-content>" }]
33
33
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvcmFkaW8vc3JjL3JhZGlvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3JhZGlvL3NyYy9yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXNFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekksT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEdBR3hCLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkI7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx5QkFBeUI7SUFDN0Q7O09BRUc7SUFDSCxZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2QixnQkFBZ0I7SUFDbEIsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxtQkFBbUIsQ0FBQyxDQUFhO1FBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFBO0lBRWIsQ0FBQzs7NkdBbEJVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHNYQ3hCN0IsK29CQVVxRDsyRkRjeEMsZ0JBQWdCO2tCQVQ1QixTQUFTOytCQUNFLFVBQVUsVUFFWixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFDLFdBQVcsRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxXQUN6RSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFFBQ3pELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxtQkFDVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgVkFMVUVfSU5QVVRTLCBJTlRFUkFDVElWRV9PVVRQVVQsIFZBTFVFX09VVFBVVCwgQVhCYXNlVmFsdWVDb21wb25lbnRNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1yYWRpbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnLCAncmVhZG9ubHknLCdhbGxvd051bGwnLCd2YWx1ZScsJ25hbWUnLCAnY2hlY2tlZCddLFxyXG4gIG91dHB1dHM6IFsnb25CbHVyJywgJ29uRm9jdXMnLCAndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtcmFkaW8nIH0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUmFkaW9Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VWYWx1ZUNvbXBvbmVudE1peGluIHtcclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICAvL1RPRE86IGF4LXJhZGlvXHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiBOb3QgYWxsIGNvZGUgcGF0aHMgcmV0dXJuIGEgdmFsdWUuXHJcbiAgX2hhbmRsZU9uQ2xpY2tFdmVudChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWVcclxuXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtaC01XCI+XHJcbiAgICAgICAgPGlucHV0IFtpZF09XCJpZFwiIGNsYXNzPVwiYXgtcmFkaW9cIiB0eXBlPVwicmFkaW9cIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2NoZWNrZWRdPVwidmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiAoY2xpY2spPVwiX2hhbmRsZU9uQ2xpY2tFdmVudCgkZXZlbnQpXCIgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxyXG4gICAgICAgIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbXMtMyBheC10ZXh0LXNtXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbGFiZWxcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9ybS1oaW50XCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj48L25nLWNvbnRlbnQ+Il19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvcmFkaW8vc3JjL3JhZGlvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3JhZGlvL3NyYy9yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXNFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekksT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEdBR3hCLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkI7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx5QkFBeUI7SUFDN0Q7O09BRUc7SUFDSCxZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2QixnQkFBZ0I7SUFDbEIsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxtQkFBbUIsQ0FBQyxDQUFhO1FBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFBO0lBRWIsQ0FBQzs7NkdBbEJVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHNYQ3hCN0Isd3BCQVVxRDsyRkRjeEMsZ0JBQWdCO2tCQVQ1QixTQUFTOytCQUNFLFVBQVUsVUFFWixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFDLFdBQVcsRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxXQUN6RSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFFBQ3pELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxtQkFDVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgVkFMVUVfSU5QVVRTLCBJTlRFUkFDVElWRV9PVVRQVVQsIFZBTFVFX09VVFBVVCwgQVhCYXNlVmFsdWVDb21wb25lbnRNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1yYWRpbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnLCAncmVhZG9ubHknLCdhbGxvd051bGwnLCd2YWx1ZScsJ25hbWUnLCAnY2hlY2tlZCddLFxyXG4gIG91dHB1dHM6IFsnb25CbHVyJywgJ29uRm9jdXMnLCAndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtcmFkaW8nIH0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUmFkaW9Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VWYWx1ZUNvbXBvbmVudE1peGluIHtcclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICAvL1RPRE86IGF4LXJhZGlvXHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiBOb3QgYWxsIGNvZGUgcGF0aHMgcmV0dXJuIGEgdmFsdWUuXHJcbiAgX2hhbmRsZU9uQ2xpY2tFdmVudChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWVcclxuXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLXN0YXJ0IGF4LXctZml0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtaC01XCI+XHJcbiAgICAgICAgPGlucHV0IFtpZF09XCJpZFwiIGNsYXNzPVwiYXgtcmFkaW9cIiB0eXBlPVwicmFkaW9cIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2NoZWNrZWRdPVwidmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiAoY2xpY2spPVwiX2hhbmRsZU9uQ2xpY2tFdmVudCgkZXZlbnQpXCIgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxyXG4gICAgICAgIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbXMtMyBheC10ZXh0LXNtXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbGFiZWxcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9ybS1oaW50XCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj48L25nLWNvbnRlbnQ+Il19