@seniorsistemas/angular-components 19.9.3 → 19.9.4

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 (95) hide show
  1. package/checkbox/lib/checkbox/checkbox.component.d.ts +1 -6
  2. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +8 -0
  3. package/content-generator/lib/content-generator/content-generator.component.d.ts +2 -2
  4. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +2 -0
  5. package/drawer/README.md +9 -2
  6. package/drawer/lib/drawer/drawer.component.d.ts +12 -1
  7. package/editor/lib/editor/editor.component.d.ts +1 -1
  8. package/esm2022/button/lib/button/button.component.mjs +3 -3
  9. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +3 -9
  10. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +17 -5
  11. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +9 -8
  12. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +18 -3
  13. package/esm2022/drawer/lib/drawer/drawer.component.mjs +33 -11
  14. package/esm2022/drawer/lib/drawer/drawer.module.mjs +2 -2
  15. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +3 -3
  16. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +3 -3
  17. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +3 -3
  18. package/esm2022/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +4 -3
  19. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +3 -3
  20. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +3 -3
  21. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +3 -3
  22. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +3 -3
  23. package/esm2022/editor/lib/editor/editor.component.mjs +8 -8
  24. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +4 -4
  25. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +4 -4
  26. package/esm2022/global-search/lib/global-search/global-search.module.mjs +2 -2
  27. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +3 -3
  28. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +2 -3
  29. package/esm2022/paginator/lib/models/paginator.models.mjs +1 -1
  30. package/esm2022/paginator/lib/paginator/paginator.component.mjs +19 -13
  31. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +19 -8
  32. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +3 -4
  33. package/esm2022/select/lib/select/select.component.mjs +3 -3
  34. package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +6 -5
  35. package/esm2022/slider/lib/slider/slider.component.mjs +3 -3
  36. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +54 -8
  37. package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
  38. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +14 -21
  39. package/esm2022/text-area/lib/text-area/text-area.component.mjs +3 -3
  40. package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +3 -2
  41. package/esm2022/utils/lib/utils/utils.mjs +49 -3
  42. package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
  43. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  44. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +16 -4
  45. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  46. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +2 -8
  47. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  48. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +8 -6
  49. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  50. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +17 -2
  51. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  52. package/fesm2022/seniorsistemas-angular-components-drawer.mjs +32 -9
  53. package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
  54. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +16 -16
  55. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  56. package/fesm2022/seniorsistemas-angular-components-editor.mjs +7 -7
  57. package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
  58. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +3 -3
  59. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  60. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +3 -3
  61. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  62. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +3 -4
  63. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  64. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +18 -12
  65. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  66. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +20 -9
  67. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  68. package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
  69. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  70. package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +5 -4
  71. package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -1
  72. package/fesm2022/seniorsistemas-angular-components-slider.mjs +2 -2
  73. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  74. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +53 -7
  75. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  76. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
  77. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  78. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +13 -20
  79. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  80. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +2 -2
  81. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  82. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +2 -1
  83. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  84. package/fesm2022/seniorsistemas-angular-components-utils.mjs +49 -3
  85. package/fesm2022/seniorsistemas-angular-components-utils.mjs.map +1 -1
  86. package/global-search/lib/global-search/global-search.module.d.ts +1 -1
  87. package/package.json +7 -9
  88. package/paginator/lib/models/paginator.models.d.ts +1 -0
  89. package/paginator/lib/paginator/paginator.component.d.ts +3 -1
  90. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +3 -1
  91. package/side-sheet/README.md +4 -4
  92. package/side-sheet/lib/side-sheet/side-sheet.component.d.ts +1 -0
  93. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +2 -1
  94. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -4
  95. package/utils/lib/utils/utils.d.ts +21 -0
@@ -100,7 +100,7 @@ export class BignumberFieldComponent {
100
100
  }
101
101
  }
102
102
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BignumberFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
103
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BignumberFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n@if (_field.mask) {\n @let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autoClear]=\"autoClear\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n} @else {\n <div class=\"bignumber-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n @let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n @let scale = fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale;\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [minDecimalPlaces]=\"scale\"\n [maxDecimalPlaces]=\"scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: [".bignumber-field{display:flex;width:100%}.bignumber-field .input-text{width:auto;flex-grow:1}.bignumber-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.bignumber-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.bignumber-field:has(input:focus) .button-left button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.bignumber-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.bignumber-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.bignumber-field:has(input:focus) .button-right button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: BignumberInputModule }, { kind: "directive", type: i2.BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "minDecimalPlaces", "maxDecimalPlaces", "decimalSeparator", "thousandsSeparator", "thousandSeparator", "alignTo", "allowNegative", "blockDecimalOverflow", "placeholder"], outputs: ["minDecimalPlacesChange", "maxDecimalPlacesChange", "decimalSeparatorChange", "thousandSeparatorChange", "placeholderChange", "pasteRejected"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputTextDirective, selector: "input[sInputText]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
103
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BignumberFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@let isFormDisabled = formControl().disabled;\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n@if (_field.mask) {\n @let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autoClear]=\"autoClear\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n} @else {\n <div class=\"bignumber-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n @let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n @let scale = fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale;\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [minDecimalPlaces]=\"scale\"\n [maxDecimalPlaces]=\"scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button) || isFormDisabled\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: [".bignumber-field{display:flex;width:100%}.bignumber-field .input-text{width:auto;flex-grow:1}.bignumber-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.bignumber-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.bignumber-field:has(input:focus) .button-left button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.bignumber-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.bignumber-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.bignumber-field:has(input:focus) .button-right button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: BignumberInputModule }, { kind: "directive", type: i2.BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "minDecimalPlaces", "maxDecimalPlaces", "decimalSeparator", "thousandsSeparator", "thousandSeparator", "alignTo", "allowNegative", "blockDecimalOverflow", "placeholder"], outputs: ["minDecimalPlacesChange", "maxDecimalPlacesChange", "decimalSeparatorChange", "thousandSeparatorChange", "placeholderChange", "pasteRejected"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputTextDirective, selector: "input[sInputText]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
104
104
  }
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BignumberFieldComponent, decorators: [{
106
106
  type: Component,
@@ -114,7 +114,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
114
114
  BignumberInputModule,
115
115
  InputTextModule,
116
116
  NgTemplateOutlet,
117
- ], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n@if (_field.mask) {\n @let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autoClear]=\"autoClear\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n} @else {\n <div class=\"bignumber-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n @let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n @let scale = fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale;\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [minDecimalPlaces]=\"scale\"\n [maxDecimalPlaces]=\"scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: [".bignumber-field{display:flex;width:100%}.bignumber-field .input-text{width:auto;flex-grow:1}.bignumber-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.bignumber-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.bignumber-field:has(input:focus) .button-left button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.bignumber-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.bignumber-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.bignumber-field:has(input:focus) .button-right button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"] }]
117
+ ], template: "@let _field = field();\n@let isFormDisabled = formControl().disabled;\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n@if (_field.mask) {\n @let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autoClear]=\"autoClear\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n} @else {\n <div class=\"bignumber-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n @let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n @let scale = fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale;\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [minDecimalPlaces]=\"scale\"\n [maxDecimalPlaces]=\"scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button) || isFormDisabled\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: [".bignumber-field{display:flex;width:100%}.bignumber-field .input-text{width:auto;flex-grow:1}.bignumber-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.bignumber-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.bignumber-field:has(input:focus) .button-left button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.bignumber-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.bignumber-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.bignumber-field:has(input:focus) .button-right button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"] }]
118
118
  }], propDecorators: { onInput: [{
119
119
  type: Output
120
120
  }], onFocus: [{
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
125
125
  type: ViewChild,
126
126
  args: ['inputRef']
127
127
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlnbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYmlnbnVtYmVyL2JpZ251bWJlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2JpZ251bWJlci9iaWdudW1iZXItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFB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LG1CQUFtQiwwa0JBQ25CLGVBQWUsb1ZBQ2YsT0FBTyxtRkFDUCxvQkFBb0IsK2RBQ3BCLGVBQWUsa0hBQ2YsZ0JBQWdCOzs0RkFHWCx1QkFBdUI7a0JBakJuQyxTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNMLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixPQUFPO3dCQUNQLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixnQkFBZ0I7cUJBQ25COzhCQWNNLE9BQU87c0JBRmIsTUFBTTtnQkFNQSxPQUFPO3NCQUZiLE1BQU07Z0JBTUEsVUFBVTtzQkFGaEIsTUFBTTtnQkFJZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmlnbnVtYmVySW5wdXRNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2JpZ251bWJlci1pbnB1dCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBJbnB1dE1hc2tEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2lucHV0LW1hc2snO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbnB1dC10ZXh0JztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UsIE51bWJlckxvY2FsZU9wdGlvbnMgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvY2FsZSc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2JpZ251bWJlci1maWVsZCc7XG5pbXBvcnQgeyBOdW1iZXJGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9udW1iZXItZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJ2JpZ251bWJlci1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmlnbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRmllbGRMYWJlbENvbXBvbmVudCxcbiAgICAgICAgSW5wdXRNYXNrRGlyZWN0aXZlLFxuICAgICAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEJpZ251bWJlcklucHV0TW9kdWxlLFxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnbnVtYmVyRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxlU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPEJpZ251bWJlckZpZWxkQ29uZmlnIHwgTnVtYmVyRmllbGRDb25maWc+KCk7XG5cbiAgICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuXG4gICAgZmllbGRVdGlscyA9IGluamVjdChGb3JtRmllbGRVdGlsc1NlcnZpY2UpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcHVibGljIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcHVibGljIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcHVibGljIG9uQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnKSBpbnB1dFJlZjogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkKCk7XG4gICAgICAgIHRoaXMub25TY2FsZSgpO1xuICAgICAgICBmaWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID0gZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA/PyBuZXcgTnVtYmVyTG9jYWxlT3B0aW9ucygpO1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIGZpZWxkLmF1dG9DbGVhciA9IGZpZWxkLmF1dG9DbGVhciA/PyB0cnVlO1xuICAgICAgICAgICAgZmllbGQuYWxsb3dOZWdhdGl2ZSA9IGZpZWxkLmFsbG93TmVnYXRpdmUgPz8gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmaWVsZC5hbGlnblRvID0gZmllbGQuc2NhbGUgPyAncmlnaHQnIDogJ2xlZnQnO1xuXG4gICAgICAgIHRoaXMub25Mb2NhbGVTZXJ2aWNlKCk7XG5cbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkKCkub25Gb2N1cykge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9uSW5wdXQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZCgpLm9uSW5wdXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkKCkub25JbnB1dD8uKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vbkNvbXBsZXRlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQoKS5vbkNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm9uQ29tcGxldGU/LihldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxvY2FsZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZVxuICAgICAgICAgICAgLmdldExvY2FsZSgpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0RGVjaW1hbFNlcGFyYXRvcigpID8/ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKSA/PyAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS50eXBlID09PSAnaW50ZWdlcicgfHwgdGhpcy5maWVsZCgpLnR5cGUgPT09ICdkb3VibGUnID8gJycgOiAnUiQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID8/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogJy4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6IHRoaXMuZmllbGQoKS50eXBlID09PSAnaW50ZWdlcicgfHwgdGhpcy5maWVsZCgpLnR5cGUgPT09ICdkb3VibGUnID8gJycgOiAnUiQnLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25TY2FsZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gQ3VycmVudGx5LCB0aGlzIGNvbXBvbmVudCBpcyB1c2VkIGZvciB0aGUgZm9sbG93aW5nIHR5cGVzXG4gICAgICAgIC8vICdpbnRlZ2VyJywgJ2RlY2ltYWwnLCAnbnVtYmVyJ1xuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5maWVsZCgpLnNjYWxlKSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZCgpLnNjYWxlID0gdGhpcy5maWVsZCgpLnR5cGUgPT09ICdpbnRlZ2VyJyA/IDAgOiAyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG5AaWYgKGlucHV0UmVmKSB7XG4gICAgPHMtZmllbGQtbGFiZWxcbiAgICAgICAgW2ZpZWxkXT1cIl9maWVsZFwiXG4gICAgICAgIFtmaWVsZENvbnRhaW5lclJlZl09XCJpbnB1dFJlZiEubmF0aXZlRWxlbWVudFwiXG4gICAgLz5cbn1cbkBpZiAoX2ZpZWxkLm1hc2spIHtcbiAgICBAbGV0IGF1dG9DbGVhciA9IF9maWVsZC50eXBlID09PSAnbnVtYmVyJyA/IChfZmllbGQuYXV0b0NsZWFyID8/IHRydWUpIDogZmFsc2U7XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICBzSW5wdXRUZXh0XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtdGV4dCBtb3VzZXRyYXBcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFtpZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgIFtzSW5wdXRNYXNrXT1cImZpZWxkVXRpbHMuZ2V0RmllbGRQcm9wZXJ0eU1hc2soX2ZpZWxkLm1hc2spXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIHNsb3RDaGFyPVwiX1wiXG4gICAgICAgIFtzVG9vbHRpcF09XCJfZmllbGQudG9vbHRpcFwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW2F1dG9DbGVhcl09XCJhdXRvQ2xlYXJcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKG1hc2tDb21wbGV0ZSk9XCJvbkNvbXBsZXRlLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgLz5cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJiaWdudW1iZXItZmllbGRcIj5cbiAgICAgICAgQGlmIChfZmllbGQubGVmdEFkZG9uKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkb25SZW5kZXI7IGNvbnRleHQ6IHsgYnV0dG9uOiBfZmllbGQubGVmdEFkZG9uIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBsZXQgYWxsb3dOZWdhdGl2ZSA9IF9maWVsZC50eXBlID09PSAnbnVtYmVyJyA/IChfZmllbGQuYWxsb3dOZWdhdGl2ZSA/PyB0cnVlKSA6IGZhbHNlO1xuICAgICAgICBAbGV0IHNjYWxlID0gZmllbGRVdGlscy5pc0Z1bmN0aW9uKF9maWVsZC5zY2FsZSkgPyBmaWVsZFV0aWxzLnRyaWdnZXIoX2ZpZWxkLnNjYWxlKSA6IF9maWVsZC5zY2FsZTtcbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgICAgIFtpZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW25hbWVdPVwiX2ZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgc0JpZ251bWJlcklucHV0XG4gICAgICAgICAgICBbYWxsb3dOZWdhdGl2ZV09XCJhbGxvd05lZ2F0aXZlXCJcbiAgICAgICAgICAgIFtwcmVjaXNpb25dPVwiXG4gICAgICAgICAgICAgICAgZmllbGRVdGlscy5pc0Z1bmN0aW9uKF9maWVsZC5wcmVjaXNpb24pID8gZmllbGRVdGlscy50cmlnZ2VyKF9maWVsZC5wcmVjaXNpb24pIDogX2ZpZWxkLnByZWNpc2lvblxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFttaW5EZWNpbWFsUGxhY2VzXT1cInNjYWxlXCJcbiAgICAgICAgICAgIFttYXhEZWNpbWFsUGxhY2VzXT1cInNjYWxlXCJcbiAgICAgICAgICAgIFtkZWNpbWFsU2VwYXJhdG9yXT1cIl9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yID8/ICcnXCJcbiAgICAgICAgICAgIFt0aG91c2FuZFNlcGFyYXRvcl09XCJfZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucz8udGhvdXNhbmRzU2VwYXJhdG9yID8/ICcnXCJcbiAgICAgICAgICAgIFtzVG9vbHRpcF09XCJfZmllbGQudG9vbHRpcFwiXG4gICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgICAgICAgICBzSW5wdXRUZXh0XG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIl9maWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIidtb3VzZXRyYXAnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtdGV4dFwiXG4gICAgICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cy5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAvPlxuICAgICAgICBAaWYgKF9maWVsZC5yaWdodEFkZG9uKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZG9uUmVuZGVyOyBjb250ZXh0OiB7IGJ1dHRvbjogX2ZpZWxkLnJpZ2h0QWRkb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn1cblxuPG5nLXRlbXBsYXRlXG4gICAgI2FkZG9uUmVuZGVyXG4gICAgbGV0LWJ1dHRvbj1cImJ1dHRvblwiXG4+XG4gICAgPHMtYnV0dG9uXG4gICAgICAgIFtsYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICBbcHJpb3JpdHldPVwiYnV0dG9uLnByaW9yaXR5ID8/ICdkZWZhdWx0J1wiXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiYnV0dG9uLmljb25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGRVdGlscy5maWVsZFByb3BlcnR5SXNEaXNhYmxlZChidXR0b24ubGVmdEFkZG9uKVwiXG4gICAgICAgIFthdXhpbGlhcnldPVwiZmFsc2VcIlxuICAgICAgICAoY2xpY2tlZCk9XCJidXR0b24uY2FsbGJhY2s/LigpXCJcbiAgICAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlnbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYmlnbnVtYmVyL2JpZ251bWJlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2JpZ251bWJlci9iaWdudW1iZXItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFB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LG1CQUFtQiwwa0JBQ25CLGVBQWUsb1ZBQ2YsT0FBTyxtRkFDUCxvQkFBb0IsK2RBQ3BCLGVBQWUsa0hBQ2YsZ0JBQWdCOzs0RkFHWCx1QkFBdUI7a0JBakJuQyxTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNMLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixPQUFPO3dCQUNQLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixnQkFBZ0I7cUJBQ25COzhCQWNNLE9BQU87c0JBRmIsTUFBTTtnQkFNQSxPQUFPO3NCQUZiLE1BQU07Z0JBTUEsVUFBVTtzQkFGaEIsTUFBTTtnQkFJZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmlnbnVtYmVySW5wdXRNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2JpZ251bWJlci1pbnB1dCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBJbnB1dE1hc2tEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2lucHV0LW1hc2snO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbnB1dC10ZXh0JztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UsIE51bWJlckxvY2FsZU9wdGlvbnMgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvY2FsZSc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2JpZ251bWJlci1maWVsZCc7XG5pbXBvcnQgeyBOdW1iZXJGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9udW1iZXItZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJ2JpZ251bWJlci1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmlnbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRmllbGRMYWJlbENvbXBvbmVudCxcbiAgICAgICAgSW5wdXRNYXNrRGlyZWN0aXZlLFxuICAgICAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEJpZ251bWJlcklucHV0TW9kdWxlLFxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnbnVtYmVyRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxlU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPEJpZ251bWJlckZpZWxkQ29uZmlnIHwgTnVtYmVyRmllbGRDb25maWc+KCk7XG5cbiAgICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuXG4gICAgZmllbGRVdGlscyA9IGluamVjdChGb3JtRmllbGRVdGlsc1NlcnZpY2UpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcHVibGljIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcHVibGljIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcHVibGljIG9uQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnKSBpbnB1dFJlZjogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkKCk7XG4gICAgICAgIHRoaXMub25TY2FsZSgpO1xuICAgICAgICBmaWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID0gZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA/PyBuZXcgTnVtYmVyTG9jYWxlT3B0aW9ucygpO1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIGZpZWxkLmF1dG9DbGVhciA9IGZpZWxkLmF1dG9DbGVhciA/PyB0cnVlO1xuICAgICAgICAgICAgZmllbGQuYWxsb3dOZWdhdGl2ZSA9IGZpZWxkLmFsbG93TmVnYXRpdmUgPz8gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmaWVsZC5hbGlnblRvID0gZmllbGQuc2NhbGUgPyAncmlnaHQnIDogJ2xlZnQnO1xuXG4gICAgICAgIHRoaXMub25Mb2NhbGVTZXJ2aWNlKCk7XG5cbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkKCkub25Gb2N1cykge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9uSW5wdXQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZCgpLm9uSW5wdXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkKCkub25JbnB1dD8uKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vbkNvbXBsZXRlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQoKS5vbkNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm9uQ29tcGxldGU/LihldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxvY2FsZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZVxuICAgICAgICAgICAgLmdldExvY2FsZSgpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0RGVjaW1hbFNlcGFyYXRvcigpID8/ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKSA/PyAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS50eXBlID09PSAnaW50ZWdlcicgfHwgdGhpcy5maWVsZCgpLnR5cGUgPT09ICdkb3VibGUnID8gJycgOiAnUiQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID8/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogJy4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6IHRoaXMuZmllbGQoKS50eXBlID09PSAnaW50ZWdlcicgfHwgdGhpcy5maWVsZCgpLnR5cGUgPT09ICdkb3VibGUnID8gJycgOiAnUiQnLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25TY2FsZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gQ3VycmVudGx5LCB0aGlzIGNvbXBvbmVudCBpcyB1c2VkIGZvciB0aGUgZm9sbG93aW5nIHR5cGVzXG4gICAgICAgIC8vICdpbnRlZ2VyJywgJ2RlY2ltYWwnLCAnbnVtYmVyJ1xuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5maWVsZCgpLnNjYWxlKSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZCgpLnNjYWxlID0gdGhpcy5maWVsZCgpLnR5cGUgPT09ICdpbnRlZ2VyJyA/IDAgOiAyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG5AbGV0IGlzRm9ybURpc2FibGVkID0gZm9ybUNvbnRyb2woKS5kaXNhYmxlZDtcbkBpZiAoaW5wdXRSZWYpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmIS5uYXRpdmVFbGVtZW50XCJcbiAgICAvPlxufVxuQGlmIChfZmllbGQubWFzaykge1xuICAgIEBsZXQgYXV0b0NsZWFyID0gX2ZpZWxkLnR5cGUgPT09ICdudW1iZXInID8gKF9maWVsZC5hdXRvQ2xlYXIgPz8gdHJ1ZSkgOiBmYWxzZTtcbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0UmVmXG4gICAgICAgIHNJbnB1dFRleHRcbiAgICAgICAgY2xhc3M9XCJpbnB1dC10ZXh0IG1vdXNldHJhcFwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3NJbnB1dE1hc2tdPVwiZmllbGRVdGlscy5nZXRGaWVsZFByb3BlcnR5TWFzayhfZmllbGQubWFzaylcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgc2xvdENoYXI9XCJfXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICBbYXV0b0NsZWFyXT1cImF1dG9DbGVhclwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgKGJsdXIpPVwiX2ZpZWxkLm9uQmx1ciA/IF9maWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cy5uZXh0KCRldmVudClcIlxuICAgICAgICAobWFza0NvbXBsZXRlKT1cIm9uQ29tcGxldGUubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQubmV4dCgkZXZlbnQpXCJcbiAgICAvPlxufSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImJpZ251bWJlci1maWVsZFwiPlxuICAgICAgICBAaWYgKF9maWVsZC5sZWZ0QWRkb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tbGVmdFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhZGRvblJlbmRlcjsgY29udGV4dDogeyBidXR0b246IF9maWVsZC5sZWZ0QWRkb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGxldCBhbGxvd05lZ2F0aXZlID0gX2ZpZWxkLnR5cGUgPT09ICdudW1iZXInID8gKF9maWVsZC5hbGxvd05lZ2F0aXZlID8/IHRydWUpIDogZmFsc2U7XG4gICAgICAgIEBsZXQgc2NhbGUgPSBmaWVsZFV0aWxzLmlzRnVuY3Rpb24oX2ZpZWxkLnNjYWxlKSA/IGZpZWxkVXRpbHMudHJpZ2dlcihfZmllbGQuc2NhbGUpIDogX2ZpZWxkLnNjYWxlO1xuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dFJlZlxuICAgICAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgICAgICBzQmlnbnVtYmVySW5wdXRcbiAgICAgICAgICAgIFthbGxvd05lZ2F0aXZlXT1cImFsbG93TmVnYXRpdmVcIlxuICAgICAgICAgICAgW3ByZWNpc2lvbl09XCJcbiAgICAgICAgICAgICAgICBmaWVsZFV0aWxzLmlzRnVuY3Rpb24oX2ZpZWxkLnByZWNpc2lvbikgPyBmaWVsZFV0aWxzLnRyaWdnZXIoX2ZpZWxkLnByZWNpc2lvbikgOiBfZmllbGQucHJlY2lzaW9uXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW21pbkRlY2ltYWxQbGFjZXNdPVwic2NhbGVcIlxuICAgICAgICAgICAgW21heERlY2ltYWxQbGFjZXNdPVwic2NhbGVcIlxuICAgICAgICAgICAgW2RlY2ltYWxTZXBhcmF0b3JdPVwiX2ZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3IgPz8gJydcIlxuICAgICAgICAgICAgW3Rob3VzYW5kU2VwYXJhdG9yXT1cIl9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IgPz8gJydcIlxuICAgICAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAgIHNJbnB1dFRleHRcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiX2ZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ21vdXNldHJhcCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC10ZXh0XCJcbiAgICAgICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgIC8+XG4gICAgICAgIEBpZiAoX2ZpZWxkLnJpZ2h0QWRkb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkb25SZW5kZXI7IGNvbnRleHQ6IHsgYnV0dG9uOiBfZmllbGQucmlnaHRBZGRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuXG48bmctdGVtcGxhdGVcbiAgICAjYWRkb25SZW5kZXJcbiAgICBsZXQtYnV0dG9uPVwiYnV0dG9uXCJcbj5cbiAgICA8cy1idXR0b25cbiAgICAgICAgW2xhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgIFtwcmlvcml0eV09XCJidXR0b24ucHJpb3JpdHkgPz8gJ2RlZmF1bHQnXCJcbiAgICAgICAgW2ljb25DbGFzc109XCJidXR0b24uaWNvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFV0aWxzLmZpZWxkUHJvcGVydHlJc0Rpc2FibGVkKGJ1dHRvbikgfHwgaXNGb3JtRGlzYWJsZWRcIlxuICAgICAgICBbYXV4aWxpYXJ5XT1cImZhbHNlXCJcbiAgICAgICAgKGNsaWNrZWQpPVwiYnV0dG9uLmNhbGxiYWNrPy4oKVwiXG4gICAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
@@ -11,10 +11,10 @@ export class BooleanSwitchFieldComponent {
11
11
  field = input.required();
12
12
  formControl = input.required();
13
13
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanSwitchFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BooleanSwitchFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\r\n<s-field-label [field]=\"_field\"></s-field-label>\r\n\r\n<div class=\"p-fluid\">\r\n <div class=\"flex items-center gap-2\">\r\n <s-switch\r\n [id]=\"_field.id || _field.name\"\r\n [inputName]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n (valueChanged)=\"_field.onChange ? _field.onChange($event) : null\"\r\n >\r\n </s-switch>\r\n @if (_field.optionsLabel) {\r\n <span>\r\n @if (formControl().value) {\r\n {{ _field.optionsLabel.true }}\r\n } @else {\r\n {{ _field.optionsLabel.false }}\r\n }\r\n </span>\r\n }\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: SwitchModule }, { kind: "component", type: i1.SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "label", "inputName", "disabled", "value", "showStatusLabel"], outputs: ["valueChanged"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }] });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BooleanSwitchFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\r\n@let isFormDisabled = formControl().disabled;\r\n<s-field-label [field]=\"_field\"></s-field-label>\r\n\r\n<div class=\"p-fluid\">\r\n <div class=\"flex items-center gap-2\">\r\n <s-switch\r\n [id]=\"_field.id || _field.name\"\r\n [inputName]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n (valueChanged)=\"_field.onChange ? _field.onChange($event) : null\"\r\n >\r\n </s-switch>\r\n @if (_field.optionsLabel) {\r\n <span [class.opacity-50]=\"isFormDisabled\">\r\n @if (formControl().value) {\r\n {{ _field.optionsLabel.true }}\r\n } @else {\r\n {{ _field.optionsLabel.false }}\r\n }\r\n </span>\r\n }\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: SwitchModule }, { kind: "component", type: i1.SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "label", "inputName", "disabled", "value", "showStatusLabel"], outputs: ["valueChanged"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }] });
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanSwitchFieldComponent, decorators: [{
17
17
  type: Component,
18
- args: [{ standalone: true, imports: [FieldLabelComponent, SwitchModule, ReactiveFormsModule, TooltipModule], template: "@let _field = field();\r\n<s-field-label [field]=\"_field\"></s-field-label>\r\n\r\n<div class=\"p-fluid\">\r\n <div class=\"flex items-center gap-2\">\r\n <s-switch\r\n [id]=\"_field.id || _field.name\"\r\n [inputName]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n (valueChanged)=\"_field.onChange ? _field.onChange($event) : null\"\r\n >\r\n </s-switch>\r\n @if (_field.optionsLabel) {\r\n <span>\r\n @if (formControl().value) {\r\n {{ _field.optionsLabel.true }}\r\n } @else {\r\n {{ _field.optionsLabel.false }}\r\n }\r\n </span>\r\n }\r\n </div>\r\n</div>\r\n" }]
18
+ args: [{ standalone: true, imports: [FieldLabelComponent, SwitchModule, ReactiveFormsModule, TooltipModule], template: "@let _field = field();\r\n@let isFormDisabled = formControl().disabled;\r\n<s-field-label [field]=\"_field\"></s-field-label>\r\n\r\n<div class=\"p-fluid\">\r\n <div class=\"flex items-center gap-2\">\r\n <s-switch\r\n [id]=\"_field.id || _field.name\"\r\n [inputName]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n (valueChanged)=\"_field.onChange ? _field.onChange($event) : null\"\r\n >\r\n </s-switch>\r\n @if (_field.optionsLabel) {\r\n <span [class.opacity-50]=\"isFormDisabled\">\r\n @if (formControl().value) {\r\n {{ _field.optionsLabel.true }}\r\n } @else {\r\n {{ _field.optionsLabel.false }}\r\n }\r\n </span>\r\n }\r\n </div>\r\n</div>\r\n" }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1zd2l0Y2gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9ib29sZWFuL2Jvb2xlYW4tc3dpdGNoLWZpZWxkL2Jvb2xlYW4tc3dpdGNoLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXN3aXRjaC1maWVsZC9ib29sZWFuLXN3aXRjaC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQU8zRSxNQUFNLE9BQU8sMkJBQTJCO0lBQ3BDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUE0QixDQUFDO0lBRW5ELFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7d0dBSG5DLDJCQUEyQjs0RkFBM0IsMkJBQTJCLG9WQ2J4QyxrMUJBeUJBLDRDRGZjLG1CQUFtQixpR0FBRSxZQUFZLDBQQUFFLG1CQUFtQix5VEFBRSxhQUFhOzs0RkFHdEUsMkJBQTJCO2tCQUx2QyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJvb2xlYW5Td2l0Y2hGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9ib29sZWFuLXN3aXRjaC1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3dpdGNoTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ZpZWxkTGFiZWxDb21wb25lbnQsIFN3aXRjaE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVG9vbHRpcE1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICdib29sZWFuLXN3aXRjaC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxCb29sZWFuU3dpdGNoRmllbGRDb25maWc+KCk7XG5cbiAgICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XHJcbjxzLWZpZWxkLWxhYmVsIFtmaWVsZF09XCJfZmllbGRcIj48L3MtZmllbGQtbGFiZWw+XHJcblxyXG48ZGl2IGNsYXNzPVwicC1mbHVpZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgPHMtc3dpdGNoXHJcbiAgICAgICAgICAgIFtpZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxyXG4gICAgICAgICAgICBbaW5wdXROYW1lXT1cIl9maWVsZC5uYW1lXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxyXG4gICAgICAgICAgICBbc1Rvb2x0aXBdPVwiX2ZpZWxkLnRvb2x0aXBcIlxyXG4gICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2VkKT1cIl9maWVsZC5vbkNoYW5nZSA/IF9maWVsZC5vbkNoYW5nZSgkZXZlbnQpIDogbnVsbFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvcy1zd2l0Y2g+XHJcbiAgICAgICAgQGlmIChfZmllbGQub3B0aW9uc0xhYmVsKSB7XHJcbiAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgQGlmIChmb3JtQ29udHJvbCgpLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAge3sgX2ZpZWxkLm9wdGlvbnNMYWJlbC50cnVlIH19XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB7eyBfZmllbGQub3B0aW9uc0xhYmVsLmZhbHNlIH19XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB9XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1zd2l0Y2gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9ib29sZWFuL2Jvb2xlYW4tc3dpdGNoLWZpZWxkL2Jvb2xlYW4tc3dpdGNoLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXN3aXRjaC1maWVsZC9ib29sZWFuLXN3aXRjaC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQU8zRSxNQUFNLE9BQU8sMkJBQTJCO0lBQ3BDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUE0QixDQUFDO0lBRW5ELFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7d0dBSG5DLDJCQUEyQjs0RkFBM0IsMkJBQTJCLG9WQ2J4Qyx5NkJBMEJBLDRDRGhCYyxtQkFBbUIsaUdBQUUsWUFBWSwwUEFBRSxtQkFBbUIseVRBQUUsYUFBYTs7NEZBR3RFLDJCQUEyQjtrQkFMdkMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCb29sZWFuU3dpdGNoRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvYm9vbGVhbi1zd2l0Y2gtZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZmllbGQtbGFiZWwvZmllbGQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFN3aXRjaE1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGaWVsZExhYmVsQ29tcG9uZW50LCBTd2l0Y2hNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFRvb2x0aXBNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnYm9vbGVhbi1zd2l0Y2gtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBCb29sZWFuU3dpdGNoRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8Qm9vbGVhblN3aXRjaEZpZWxkQ29uZmlnPigpO1xuXG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcbn1cblxuIiwiQGxldCBfZmllbGQgPSBmaWVsZCgpO1xyXG5AbGV0IGlzRm9ybURpc2FibGVkID0gZm9ybUNvbnRyb2woKS5kaXNhYmxlZDtcclxuPHMtZmllbGQtbGFiZWwgW2ZpZWxkXT1cIl9maWVsZFwiPjwvcy1maWVsZC1sYWJlbD5cclxuXHJcbjxkaXYgY2xhc3M9XCJwLWZsdWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICA8cy1zd2l0Y2hcclxuICAgICAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXHJcbiAgICAgICAgICAgIFtpbnB1dE5hbWVdPVwiX2ZpZWxkLm5hbWVcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXHJcbiAgICAgICAgICAgIFtzVG9vbHRpcF09XCJfZmllbGQudG9vbHRpcFwiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZWQpPVwiX2ZpZWxkLm9uQ2hhbmdlID8gX2ZpZWxkLm9uQ2hhbmdlKCRldmVudCkgOiBudWxsXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9zLXN3aXRjaD5cclxuICAgICAgICBAaWYgKF9maWVsZC5vcHRpb25zTGFiZWwpIHtcclxuICAgICAgICAgICAgPHNwYW4gW2NsYXNzLm9wYWNpdHktNTBdPVwiaXNGb3JtRGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIEBpZiAoZm9ybUNvbnRyb2woKS52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHt7IF9maWVsZC5vcHRpb25zTGFiZWwudHJ1ZSB9fVxyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAge3sgX2ZpZWxkLm9wdGlvbnNMYWJlbC5mYWxzZSB9fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Component, input } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { CheckboxListModule } from '@seniorsistemas/angular-components/checkbox-list';
4
+ import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/forms";
6
7
  import * as i2 from "@seniorsistemas/angular-components/checkbox-list";
@@ -8,10 +9,10 @@ export class CheckboxFieldComponent {
8
9
  field = input.required();
9
10
  formControl = input.required();
10
11
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CheckboxFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<s-checkbox-list\n [data]=\"field().data\"\n [formControl]=\"formControl()\"\n>\n</s-checkbox-list>\n\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CheckboxListModule }, { kind: "component", type: i2.CheckboxListComponent, selector: "s-checkbox-list", inputs: ["data"] }] });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CheckboxFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: " <s-field-label\n [field]=\"field()\"\n ></s-field-label>\n\n<s-checkbox-list\n [data]=\"field().data\"\n [formControl]=\"formControl()\"\n>\n</s-checkbox-list>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CheckboxListModule }, { kind: "component", type: i2.CheckboxListComponent, selector: "s-checkbox-list", inputs: ["data"] }, { kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }] });
12
13
  }
13
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
14
15
  type: Component,
15
- args: [{ standalone: true, imports: [ReactiveFormsModule, CheckboxListModule], template: "<s-checkbox-list\n [data]=\"field().data\"\n [formControl]=\"formControl()\"\n>\n</s-checkbox-list>\n\n" }]
16
+ args: [{ standalone: true, imports: [ReactiveFormsModule, CheckboxListModule, FieldLabelComponent], template: " <s-field-label\n [field]=\"field()\"\n ></s-field-label>\n\n<s-checkbox-list\n [data]=\"field().data\"\n [formControl]=\"formControl()\"\n>\n</s-checkbox-list>\n" }]
16
17
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jaGVja2JveC9jaGVja2JveC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NoZWNrYm94L2NoZWNrYm94LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7O0FBUXRGLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7SUFDOUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQzt3R0FGbkMsc0JBQXNCOzRGQUF0QixzQkFBc0Isb1ZDVm5DLCtHQU1BLDJDRENjLG1CQUFtQix5VEFBRSxrQkFBa0I7OzRGQUd4QyxzQkFBc0I7a0JBTGxDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENoZWNrYm94TGlzdE1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY2hlY2tib3gtbGlzdCc7XG5pbXBvcnQgeyBDaGVja2JveEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2NoZWNrYm94LWZpZWxkJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIENoZWNrYm94TGlzdE1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICdjaGVja2JveC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8Q2hlY2tib3hGaWVsZENvbmZpZz4oKTtcbiAgICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xufVxuXG4iLCI8cy1jaGVja2JveC1saXN0XG4gICAgW2RhdGFdPVwiZmllbGQoKS5kYXRhXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4+XG48L3MtY2hlY2tib3gtbGlzdD5cblxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jaGVja2JveC9jaGVja2JveC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NoZWNrYm94L2NoZWNrYm94LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBR3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7O0FBTTVGLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7SUFDOUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQzt3R0FGbkMsc0JBQXNCOzRGQUF0QixzQkFBc0Isb1ZDWG5DLHVMQVNBLDJDRERjLG1CQUFtQix5VEFBRSxrQkFBa0IscUlBQUUsbUJBQW1COzs0RkFHN0Qsc0JBQXNCO2tCQUxsQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGVja2JveExpc3RNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NoZWNrYm94LWxpc3QnO1xuaW1wb3J0IHsgQ2hlY2tib3hGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9jaGVja2JveC1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgQ2hlY2tib3hMaXN0TW9kdWxlLCBGaWVsZExhYmVsQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoZWNrYm94LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxDaGVja2JveEZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG59XG4iLCIgICAgPHMtZmllbGQtbGFiZWxcbiAgICAgICAgW2ZpZWxkXT1cImZpZWxkKClcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG5cbjxzLWNoZWNrYm94LWxpc3RcbiAgICBbZGF0YV09XCJmaWVsZCgpLmRhdGFcIlxuICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbj5cbjwvcy1jaGVja2JveC1saXN0PlxuIl19
@@ -76,7 +76,7 @@ export class CurrencyFieldComponent {
76
76
  return field.alignTo === 'right' ? NumberAlignmentOption.RIGHT : NumberAlignmentOption.LEFT;
77
77
  }
78
78
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
79
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CurrencyFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefComponent", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <input\n #inputRef\n class=\"input-mask mousetrap !rounded-l-[0px]\"\n sInputText\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [sInputMask]=\"mask\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (maskComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (input)=\"_field.onInput ? _field.onInput($event) : null\"\n />\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i2.NumberInputDirective, selector: "input[sNumberInput]" }, { kind: "directive", type: InputTextDirective, selector: "input[sInputText]" }] });
79
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CurrencyFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefComponent", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let _field = field();\r\n@let isFormDisabled = formControl().disabled;\r\n@if (inputRef()) {\r\n <s-field-label\r\n [field]=\"_field\"\r\n [fieldContainerRef]=\"inputRef()\"\r\n ></s-field-label>\r\n}\r\n@let hasMask = !!_field.mask;\r\n\r\n<div\r\n class=\"flex h-[35px] w-full [&:has(.input-field.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-field.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-field.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-field.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-field.ng-invalid.ng-dirty)>input]:border-criticality-red\"\r\n>\r\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\r\n <div\r\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\r\n [class.bg-grayscale-5]=\"isFormDisabled\"\r\n [class.border-grayscale-20]=\"isFormDisabled\"\r\n >\r\n <span\r\n class=\"text-[#212533]\"\r\n [class.text-grayscale-30]=\"isFormDisabled\"\r\n >\r\n {{\r\n _field.currency\r\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\r\n : _field.numberLocaleOptions?.currencySymbol\r\n }}\r\n </span>\r\n </div>\r\n }\r\n\r\n @if (hasMask) {\r\n <input\r\n #inputRef\r\n class=\"input-field mousetrap !rounded-l-[0px]\"\r\n sInputText\r\n type=\"text\"\r\n [id]=\"_field.id || _field.name\"\r\n [name]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n [sInputMask]=\"mask\"\r\n [placeholder]=\"_field.placeholder ?? ''\"\r\n slotChar=\"_\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [showDelay]=\"500\"\r\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\r\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\r\n (maskComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\r\n (input)=\"_field.onInput ? _field.onInput($event) : null\"\r\n />\r\n } @else if (!hasMask) {\r\n <input\r\n #inputRef\r\n type=\"text\"\r\n [id]=\"_field.id || _field.name\"\r\n class=\"input-field h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30\"\r\n [name]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n sNumberInput\r\n [precision]=\"\r\n _field.precision\r\n ? fieldUtils.isFunction(_field.precision)\r\n ? fieldUtils.trigger(_field.precision)\r\n : _field.precision\r\n : _field.currency && _field.currency()\r\n ? currencies[_field.currency()].precision\r\n : 15\r\n \"\r\n [scale]=\"\r\n _field.scale\r\n ? fieldUtils.isFunction(_field.scale)\r\n ? fieldUtils.trigger(_field.scale)\r\n : _field.scale\r\n : _field.currency && _field.currency()\r\n ? currencies[_field.currency()].scale\r\n : 2\r\n \"\r\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\r\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\r\n [alignTo]=\"parseAlignTo(_field)\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [placeholder]=\"_field.placeholder ?? ''\"\r\n [showDelay]=\"500\"\r\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\r\n [ngClass]=\"'mousetrap'\"\r\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\r\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\r\n />\r\n }\r\n</div>\r\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i2.NumberInputDirective, selector: "input[sNumberInput]" }, { kind: "directive", type: InputTextDirective, selector: "input[sInputText]" }] });
80
80
  }
81
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
82
82
  type: Component,
@@ -88,6 +88,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
88
88
  TooltipDirective,
89
89
  NumberInputModule,
90
90
  InputTextDirective,
91
- ], template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <input\n #inputRef\n class=\"input-mask mousetrap !rounded-l-[0px]\"\n sInputText\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [sInputMask]=\"mask\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (maskComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (input)=\"_field.onInput ? _field.onInput($event) : null\"\n />\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n" }]
91
+ ], template: "@let _field = field();\r\n@let isFormDisabled = formControl().disabled;\r\n@if (inputRef()) {\r\n <s-field-label\r\n [field]=\"_field\"\r\n [fieldContainerRef]=\"inputRef()\"\r\n ></s-field-label>\r\n}\r\n@let hasMask = !!_field.mask;\r\n\r\n<div\r\n class=\"flex h-[35px] w-full [&:has(.input-field.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-field.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-field.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-field.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-field.ng-invalid.ng-dirty)>input]:border-criticality-red\"\r\n>\r\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\r\n <div\r\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\r\n [class.bg-grayscale-5]=\"isFormDisabled\"\r\n [class.border-grayscale-20]=\"isFormDisabled\"\r\n >\r\n <span\r\n class=\"text-[#212533]\"\r\n [class.text-grayscale-30]=\"isFormDisabled\"\r\n >\r\n {{\r\n _field.currency\r\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\r\n : _field.numberLocaleOptions?.currencySymbol\r\n }}\r\n </span>\r\n </div>\r\n }\r\n\r\n @if (hasMask) {\r\n <input\r\n #inputRef\r\n class=\"input-field mousetrap !rounded-l-[0px]\"\r\n sInputText\r\n type=\"text\"\r\n [id]=\"_field.id || _field.name\"\r\n [name]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n [sInputMask]=\"mask\"\r\n [placeholder]=\"_field.placeholder ?? ''\"\r\n slotChar=\"_\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [showDelay]=\"500\"\r\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\r\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\r\n (maskComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\r\n (input)=\"_field.onInput ? _field.onInput($event) : null\"\r\n />\r\n } @else if (!hasMask) {\r\n <input\r\n #inputRef\r\n type=\"text\"\r\n [id]=\"_field.id || _field.name\"\r\n class=\"input-field h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30\"\r\n [name]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n sNumberInput\r\n [precision]=\"\r\n _field.precision\r\n ? fieldUtils.isFunction(_field.precision)\r\n ? fieldUtils.trigger(_field.precision)\r\n : _field.precision\r\n : _field.currency && _field.currency()\r\n ? currencies[_field.currency()].precision\r\n : 15\r\n \"\r\n [scale]=\"\r\n _field.scale\r\n ? fieldUtils.isFunction(_field.scale)\r\n ? fieldUtils.trigger(_field.scale)\r\n : _field.scale\r\n : _field.currency && _field.currency()\r\n ? currencies[_field.currency()].scale\r\n : 2\r\n \"\r\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\r\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\r\n [alignTo]=\"parseAlignTo(_field)\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [placeholder]=\"_field.placeholder ?? ''\"\r\n [showDelay]=\"500\"\r\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\r\n [ngClass]=\"'mousetrap'\"\r\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\r\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\r\n />\r\n }\r\n</div>\r\n" }]
92
92
  }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jdXJyZW5jeS9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUVWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0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bUJBQW1CLEdBQUc7d0JBQy9CLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBb0IsQ0FBQyxnQkFBZ0I7d0JBQ3BFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBb0IsQ0FBQyxrQkFBa0I7d0JBQ3hFLGNBQWMsRUFBRSxJQUFJO3FCQUN2QixDQUFDO2dCQUNOLENBQUM7WUFDTCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUNSLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBbUIsSUFBSTtnQkFDcEUsa0JBQWtCLEVBQUUsR0FBRztnQkFDdkIsZ0JBQWdCLEVBQUUsR0FBRztnQkFDckIsY0FBYyxFQUFFLElBQUk7YUFDdkIsQ0FBQztTQUNULENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBMEI7UUFDbkMsT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDaEcsQ0FBQzt3R0FwRVEsc0JBQXNCOzRGQUF0QixzQkFBc0IsbWRDN0NuQyxneklBMkZBLDRDRHhEUSxtQkFBbUIsa0dBQ25CLE9BQU8sb0ZBQ1Asa0JBQWtCLHVLQUNsQixtQkFBbUIsMGtCQUNuQixnQkFBZ0IsMk5BQ2hCLGlCQUFpQixzSEFDakIsa0JBQWtCOzs0RkFJYixzQkFBc0I7a0JBYmxDLFNBQVM7aUNBQ00sSUFBSSxXQUNQO3dCQUNMLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjtxQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBPbkluaXQsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBjdXJyZW5jaWVzLCBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2N1cnJlbmN5JztcbmltcG9ydCB7IElucHV0TWFza0RpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW5wdXQtbWFzayc7XG5pbXBvcnQgeyBJbnB1dFRleHREaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2lucHV0LXRleHQnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbG9jYWxlJztcbmltcG9ydCB7IE51bWJlckFsaWdubWVudE9wdGlvbiwgTnVtYmVySW5wdXRNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL251bWJlci1pbnB1dCc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IEN1cnJlbmN5RmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvY3VycmVuY3ktZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFNob3VsZCB1c2UgYmlnbnVtYmVyIGluc3RlYWRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIElucHV0TWFza0RpcmVjdGl2ZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICAgICAgTnVtYmVySW5wdXRNb2R1bGUsXG4gICAgICAgIElucHV0VGV4dERpcmVjdGl2ZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnLCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIHJlYWRvbmx5IGN1cnJlbmN5U2VydmljZSA9IGluamVjdChDdXJyZW5jeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZSA9IGluamVjdChMb2NhbGVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFJlZkNvbXBvbmVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignaW5wdXRSZWYnKTtcbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPEN1cnJlbmN5RmllbGRDb25maWc+KCk7XG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIGZpZWxkVXRpbHMgPSBpbmplY3QoRm9ybUZpZWxkVXRpbHNTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBjdXJyZW5jaWVzID0gY3VycmVuY2llcztcbiAgICBwdWJsaWMgbWFzaz86IHN0cmluZztcblxuICAgIHB1YmxpYyBpbnB1dFJlZiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW5wdXRSZWZDb21wb25lbnQoKT8ubmF0aXZlRWxlbWVudCk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkxvY2FsZVNlcnZpY2UoKTtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkKCk7XG4gICAgICAgIHRoaXMubWFzayA9IHR5cGVvZiBmaWVsZC5tYXNrID09PSAnZnVuY3Rpb24nID8gZmllbGQubWFzaygpIDogZmllbGQubWFzaztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTG9jYWxlU2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0TG9jYWxlKClcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5sb2NhbGVTZXJ2aWNlLmdldERlY2ltYWxTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyEuY3VycmVuY3lTeW1ib2wsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMhLmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMhLmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyEudGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiAnUiQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID8/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogJy4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6ICdSJCcsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGFyc2VBbGlnblRvKGZpZWxkOiBDdXJyZW5jeUZpZWxkQ29uZmlnKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC5hbGlnblRvID09PSAncmlnaHQnID8gTnVtYmVyQWxpZ25tZW50T3B0aW9uLlJJR0hUIDogTnVtYmVyQWxpZ25tZW50T3B0aW9uLkxFRlQ7XG4gICAgfVxufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG5AaWYgKGlucHV0UmVmKCkpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmKClcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG59XG5AbGV0IGhhc01hc2sgPSAhIV9maWVsZC5tYXNrO1xuPGRpdlxuICAgIGNsYXNzPVwiW2lucHV0LWlzLWludmFsaWQ+LmJ1dHRvbi1jb250YWluZXI+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj4uYnV0dG9uLWNvbnRhaW5lcl06Ym9yZGVyLXItMCBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj4uYnV0dG9uLWNvbnRhaW5lcl06Ym9yZGVyLWNyaXRpY2FsaXR5LXJlZCBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj5pbnB1dF06Ym9yZGVyLVsxcHhdIFtpbnB1dC1pcy1pbnZhbGlkPi5idXR0b24tY29udGFpbmVyPmlucHV0XTpib3JkZXItY3JpdGljYWxpdHktcmVkIFtpbnB1dC1oYXMtZm9jdXM+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbaW5wdXQtaGFzLWZvY3VzPi5idXR0b24tY29udGFpbmVyXTpib3JkZXItci0wIFtpbnB1dC1oYXMtZm9jdXM+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1wcmltYXJ5IGZsZXggaC1bMzVweF0gdy1mdWxsXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdbJjpoYXMoLmlucHV0LW1hc2submctaW52YWxpZC5uZy1kaXJ0eSk+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbJjpoYXMoLmlucHV0LW1hc2submctaW52YWxpZC5uZy1kaXJ0eSk+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1yLTAgWyY6aGFzKC5pbnB1dC1tYXNrLm5nLWludmFsaWQubmctZGlydHkpPi5idXR0b24tY29udGFpbmVyXTpib3JkZXItY3JpdGljYWxpdHktcmVkIFsmOmhhcyguaW5wdXQtbWFzay5uZy1pbnZhbGlkLm5nLWRpcnR5KT5pbnB1dF06Ym9yZGVyLVsxcHhdIFsmOmhhcyguaW5wdXQtbWFzay5uZy1pbnZhbGlkLm5nLWRpcnR5KT5pbnB1dF06Ym9yZGVyLWNyaXRpY2FsaXR5LXJlZCc6XG4gICAgICAgICAgICBoYXNNYXNrLFxuICAgIH1cIlxuPlxuICAgIEBpZiAoX2ZpZWxkLmN1cnJlbmN5IHx8IF9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1jb250YWluZXIgZmxleCBoLWZ1bGwgbWluLXctMTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbC1bM3B4XSBib3JkZXIgYm9yZGVyLXItMCBib3JkZXItWyNjMWMxY2NdIHB4LVs4cHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LVsjMjEyNTMzXVwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIF9maWVsZC5jdXJyZW5jeVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBjdXJyZW5jeVNlcnZpY2UuZ2V0Q3VycmVuY3lTeW1ib2woeyBjdXJyZW5jeTogX2ZpZWxkLmN1cnJlbmN5KCkgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LmN1cnJlbmN5U3ltYm9sXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChoYXNNYXNrKSB7XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0UmVmXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LW1hc2sgbW91c2V0cmFwICFyb3VuZGVkLWwtWzBweF1cIlxuICAgICAgICAgICAgc0lucHV0VGV4dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgICAgICBbc0lucHV0TWFza109XCJtYXNrXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXIgPz8gJydcIlxuICAgICAgICAgICAgc2xvdENoYXI9XCJfXCJcbiAgICAgICAgICAgIFtzVG9vbHRpcF09XCJfZmllbGQudG9vbHRpcFwiXG4gICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICAgICAgKGJsdXIpPVwiX2ZpZWxkLm9uQmx1ciA/IF9maWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgKGZvY3VzKT1cIl9maWVsZC5vbkZvY3VzID8gX2ZpZWxkLm9uRm9jdXMoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgKG1hc2tDb21wbGV0ZSk9XCJfZmllbGQub25Db21wbGV0ZSA/IF9maWVsZC5vbkNvbXBsZXRlKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJfZmllbGQub25JbnB1dCA/IF9maWVsZC5vbklucHV0KCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgLz5cbiAgICB9IEBlbHNlIGlmICghaGFzTWFzaykge1xuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dFJlZlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImgtZnVsbCB3LWZ1bGwgcm91bmRlZC1yLVszcHhdIGJvcmRlciBib3JkZXItWyNjMWMxY2NdIHAtMiBvdXRsaW5lLW5vbmUgZm9jdXM6Ym9yZGVyLVsxcHhdIGZvY3VzOmJvcmRlci1wcmltYXJ5XCJcbiAgICAgICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgICAgIHNOdW1iZXJJbnB1dFxuICAgICAgICAgICAgW3ByZWNpc2lvbl09XCJcbiAgICAgICAgICAgICAgICBfZmllbGQucHJlY2lzaW9uXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy5pc0Z1bmN0aW9uKF9maWVsZC5wcmVjaXNpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGZpZWxkVXRpbHMudHJpZ2dlcihfZmllbGQucHJlY2lzaW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfZmllbGQucHJlY2lzaW9uXG4gICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLmN1cnJlbmN5ICYmIF9maWVsZC5jdXJyZW5jeSgpXG4gICAgICAgICAgICAgICAgICAgICAgPyBjdXJyZW5jaWVzW19maWVsZC5jdXJyZW5jeSgpXS5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICAgICAgICA6IDE1XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3NjYWxlXT1cIlxuICAgICAgICAgICAgICAgIF9maWVsZC5zY2FsZVxuICAgICAgICAgICAgICAgICAgICA/IGZpZWxkVXRpbHMuaXNGdW5jdGlvbihfZmllbGQuc2NhbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGZpZWxkVXRpbHMudHJpZ2dlcihfZmllbGQuc2NhbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9maWVsZC5zY2FsZVxuICAgICAgICAgICAgICAgICAgICA6IF9maWVsZC5jdXJyZW5jeSAmJiBfZmllbGQuY3VycmVuY3koKVxuICAgICAgICAgICAgICAgICAgICAgID8gY3VycmVuY2llc1tfZmllbGQuY3VycmVuY3koKV0uc2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICA6IDJcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbZGVjaW1hbFNlcGFyYXRvcl09XCJfZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvciA/PyAnJ1wiXG4gICAgICAgICAgICBbdGhvdXNhbmRzU2VwYXJhdG9yXT1cIl9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IgPz8gJydcIlxuICAgICAgICAgICAgW2FsaWduVG9dPVwicGFyc2VBbGlnblRvKF9maWVsZClcIlxuICAgICAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiX2ZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ21vdXNldHJhcCdcIlxuICAgICAgICAgICAgKGJsdXIpPVwiX2ZpZWxkLm9uQmx1ciA/IF9maWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgKGZvY3VzKT1cIl9maWVsZC5vbkZvY3VzID8gX2ZpZWxkLm9uRm9jdXMoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAvPlxuICAgIH1cbjwvZGl2PlxuXG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jdXJyZW5jeS9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUVWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0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bUJBQW1CLEdBQUc7d0JBQy9CLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBb0IsQ0FBQyxnQkFBZ0I7d0JBQ3BFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBb0IsQ0FBQyxrQkFBa0I7d0JBQ3hFLGNBQWMsRUFBRSxJQUFJO3FCQUN2QixDQUFDO2dCQUNOLENBQUM7WUFDTCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUNSLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxtQkFBbUIsSUFBSTtnQkFDcEUsa0JBQWtCLEVBQUUsR0FBRztnQkFDdkIsZ0JBQWdCLEVBQUUsR0FBRztnQkFDckIsY0FBYyxFQUFFLElBQUk7YUFDdkIsQ0FBQztTQUNULENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBMEI7UUFDbkMsT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDaEcsQ0FBQzt3R0FwRVEsc0JBQXNCOzRGQUF0QixzQkFBc0IsbWRDN0NuQyw0eUlBNkZBLDRDRDFEUSxtQkFBbUIsa0dBQ25CLE9BQU8sb0ZBQ1Asa0JBQWtCLHVLQUNsQixtQkFBbUIsMGtCQUNuQixnQkFBZ0IsMk5BQ2hCLGlCQUFpQixzSEFDakIsa0JBQWtCOzs0RkFJYixzQkFBc0I7a0JBYmxDLFNBQVM7aUNBQ00sSUFBSSxXQUNQO3dCQUNMLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjtxQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBPbkluaXQsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBjdXJyZW5jaWVzLCBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2N1cnJlbmN5JztcbmltcG9ydCB7IElucHV0TWFza0RpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW5wdXQtbWFzayc7XG5pbXBvcnQgeyBJbnB1dFRleHREaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2lucHV0LXRleHQnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbG9jYWxlJztcbmltcG9ydCB7IE51bWJlckFsaWdubWVudE9wdGlvbiwgTnVtYmVySW5wdXRNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL251bWJlci1pbnB1dCc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IEN1cnJlbmN5RmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvY3VycmVuY3ktZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFNob3VsZCB1c2UgYmlnbnVtYmVyIGluc3RlYWRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIElucHV0TWFza0RpcmVjdGl2ZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICAgICAgTnVtYmVySW5wdXRNb2R1bGUsXG4gICAgICAgIElucHV0VGV4dERpcmVjdGl2ZSxcbiAgICBdLFxuICB0ZW1wbGF0ZVVybDogJ2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICByZWFkb25seSBjdXJyZW5jeVNlcnZpY2UgPSBpbmplY3QoQ3VycmVuY3lTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxlU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRSZWZDb21wb25lbnQgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2lucHV0UmVmJyk7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxDdXJyZW5jeUZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBmaWVsZFV0aWxzID0gaW5qZWN0KEZvcm1GaWVsZFV0aWxzU2VydmljZSk7XG5cbiAgICBwdWJsaWMgY3VycmVuY2llcyA9IGN1cnJlbmNpZXM7XG4gICAgcHVibGljIG1hc2s/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgaW5wdXRSZWYgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlucHV0UmVmQ29tcG9uZW50KCk/Lm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Mb2NhbGVTZXJ2aWNlKCk7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZCgpO1xuICAgICAgICB0aGlzLm1hc2sgPSB0eXBlb2YgZmllbGQubWFzayA9PT0gJ2Z1bmN0aW9uJyA/IGZpZWxkLm1hc2soKSA6IGZpZWxkLm1hc2s7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxvY2FsZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZVxuICAgICAgICAgICAgLmdldExvY2FsZSgpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucz8uY3VycmVuY3lTeW1ib2wsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucz8udGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IHRoaXMubG9jYWxlU2VydmljZS5nZXREZWNpbWFsU2VwYXJhdG9yKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucz8udGhvdXNhbmRzU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeVN5bWJvbDogdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMhLmN1cnJlbmN5U3ltYm9sLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zIS5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy5sb2NhbGVTZXJ2aWNlLmdldEdyb3VwaW5nU2VwYXJhdG9yKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucz8uY3VycmVuY3lTeW1ib2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zIS5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMhLnRob3VzYW5kc1NlcGFyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeVN5bWJvbDogJ1IkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAodGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA/PyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6ICcuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6ICcsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiAnUiQnLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHBhcnNlQWxpZ25UbyhmaWVsZDogQ3VycmVuY3lGaWVsZENvbmZpZykge1xuICAgICAgICByZXR1cm4gZmllbGQuYWxpZ25UbyA9PT0gJ3JpZ2h0JyA/IE51bWJlckFsaWdubWVudE9wdGlvbi5SSUdIVCA6IE51bWJlckFsaWdubWVudE9wdGlvbi5MRUZUO1xuICAgIH1cbn1cbiIsIkBsZXQgX2ZpZWxkID0gZmllbGQoKTtcclxuQGxldCBpc0Zvcm1EaXNhYmxlZCA9IGZvcm1Db250cm9sKCkuZGlzYWJsZWQ7XHJcbkBpZiAoaW5wdXRSZWYoKSkge1xyXG4gICAgPHMtZmllbGQtbGFiZWxcclxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcclxuICAgICAgICBbZmllbGRDb250YWluZXJSZWZdPVwiaW5wdXRSZWYoKVwiXHJcbiAgICA+PC9zLWZpZWxkLWxhYmVsPlxyXG59XHJcbkBsZXQgaGFzTWFzayA9ICEhX2ZpZWxkLm1hc2s7XHJcblxyXG48ZGl2XHJcbiAgICBjbGFzcz1cImZsZXggaC1bMzVweF0gdy1mdWxsIFsmOmhhcyguaW5wdXQtZmllbGQubmctaW52YWxpZC5uZy1kaXJ0eSk+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbJjpoYXMoLmlucHV0LWZpZWxkLm5nLWludmFsaWQubmctZGlydHkpPi5idXR0b24tY29udGFpbmVyXTpib3JkZXItci0wIFsmOmhhcyguaW5wdXQtZmllbGQubmctaW52YWxpZC5uZy1kaXJ0eSk+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1jcml0aWNhbGl0eS1yZWQgWyY6aGFzKC5pbnB1dC1maWVsZC5uZy1pbnZhbGlkLm5nLWRpcnR5KT5pbnB1dF06Ym9yZGVyLVsxcHhdIFsmOmhhcyguaW5wdXQtZmllbGQubmctaW52YWxpZC5uZy1kaXJ0eSk+aW5wdXRdOmJvcmRlci1jcml0aWNhbGl0eS1yZWRcIlxyXG4+XHJcbiAgICBAaWYgKF9maWVsZC5jdXJyZW5jeSB8fCBfZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucz8uY3VycmVuY3lTeW1ib2wpIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lciBmbGV4IGgtZnVsbCBtaW4tdy0xMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sLVszcHhdIGJvcmRlciBib3JkZXItci0wIGJvcmRlci1bI2MxYzFjY10gcHgtWzhweF1cIlxyXG4gICAgICAgICAgICBbY2xhc3MuYmctZ3JheXNjYWxlLTVdPVwiaXNGb3JtRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbY2xhc3MuYm9yZGVyLWdyYXlzY2FsZS0yMF09XCJpc0Zvcm1EaXNhYmxlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVsjMjEyNTMzXVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1ncmF5c2NhbGUtMzBdPVwiaXNGb3JtRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgIF9maWVsZC5jdXJyZW5jeVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmN5U2VydmljZS5nZXRDdXJyZW5jeVN5bWJvbCh7IGN1cnJlbmN5OiBfZmllbGQuY3VycmVuY3koKSB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoaGFzTWFzaykge1xyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAjaW5wdXRSZWZcclxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZCBtb3VzZXRyYXAgIXJvdW5kZWQtbC1bMHB4XVwiXHJcbiAgICAgICAgICAgIHNJbnB1dFRleHRcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICBbaWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcclxuICAgICAgICAgICAgW25hbWVdPVwiX2ZpZWxkLm5hbWVcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXHJcbiAgICAgICAgICAgIFtzSW5wdXRNYXNrXT1cIm1hc2tcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcclxuICAgICAgICAgICAgc2xvdENoYXI9XCJfXCJcclxuICAgICAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcclxuICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxyXG4gICAgICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJfZmllbGQub25Gb2N1cyA/IF9maWVsZC5vbkZvY3VzKCRldmVudCkgOiBudWxsXCJcclxuICAgICAgICAgICAgKG1hc2tDb21wbGV0ZSk9XCJfZmllbGQub25Db21wbGV0ZSA/IF9maWVsZC5vbkNvbXBsZXRlKCRldmVudCkgOiBudWxsXCJcclxuICAgICAgICAgICAgKGlucHV0KT1cIl9maWVsZC5vbklucHV0ID8gX2ZpZWxkLm9uSW5wdXQoJGV2ZW50KSA6IG51bGxcIlxyXG4gICAgICAgIC8+XHJcbiAgICB9IEBlbHNlIGlmICghaGFzTWFzaykge1xyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAjaW5wdXRSZWZcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICBbaWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZCBoLWZ1bGwgdy1mdWxsIHJvdW5kZWQtci1bM3B4XSBib3JkZXIgYm9yZGVyLVsjYzFjMWNjXSBwLTIgb3V0bGluZS1ub25lIGZvY3VzOmJvcmRlci1bMXB4XSBmb2N1czpib3JkZXItcHJpbWFyeSBkaXNhYmxlZDpib3JkZXItZ3JheXNjYWxlLTIwIGRpc2FibGVkOmJnLWdyYXlzY2FsZS01IGRpc2FibGVkOnRleHQtZ3JheXNjYWxlLTMwXCJcclxuICAgICAgICAgICAgW25hbWVdPVwiX2ZpZWxkLm5hbWVcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXHJcbiAgICAgICAgICAgIHNOdW1iZXJJbnB1dFxyXG4gICAgICAgICAgICBbcHJlY2lzaW9uXT1cIlxyXG4gICAgICAgICAgICAgICAgX2ZpZWxkLnByZWNpc2lvblxyXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy5pc0Z1bmN0aW9uKF9maWVsZC5wcmVjaXNpb24pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy50cmlnZ2VyKF9maWVsZC5wcmVjaXNpb24pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLnByZWNpc2lvblxyXG4gICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLmN1cnJlbmN5ICYmIF9maWVsZC5jdXJyZW5jeSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmNpZXNbX2ZpZWxkLmN1cnJlbmN5KCldLnByZWNpc2lvblxyXG4gICAgICAgICAgICAgICAgICAgICAgOiAxNVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICBbc2NhbGVdPVwiXHJcbiAgICAgICAgICAgICAgICBfZmllbGQuc2NhbGVcclxuICAgICAgICAgICAgICAgICAgICA/IGZpZWxkVXRpbHMuaXNGdW5jdGlvbihfZmllbGQuc2NhbGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy50cmlnZ2VyKF9maWVsZC5zY2FsZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfZmllbGQuc2NhbGVcclxuICAgICAgICAgICAgICAgICAgICA6IF9maWVsZC5jdXJyZW5jeSAmJiBfZmllbGQuY3VycmVuY3koKVxyXG4gICAgICAgICAgICAgICAgICAgICAgPyBjdXJyZW5jaWVzW19maWVsZC5jdXJyZW5jeSgpXS5zY2FsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgOiAyXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtkZWNpbWFsU2VwYXJhdG9yXT1cIl9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yID8/ICcnXCJcclxuICAgICAgICAgICAgW3Rob3VzYW5kc1NlcGFyYXRvcl09XCJfZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucz8udGhvdXNhbmRzU2VwYXJhdG9yID8/ICcnXCJcclxuICAgICAgICAgICAgW2FsaWduVG9dPVwicGFyc2VBbGlnblRvKF9maWVsZClcIlxyXG4gICAgICAgICAgICBbc1Rvb2x0aXBdPVwiX2ZpZWxkLnRvb2x0aXBcIlxyXG4gICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcclxuICAgICAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxyXG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIl9maWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ21vdXNldHJhcCdcIlxyXG4gICAgICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJfZmllbGQub25Gb2N1cyA/IF9maWVsZC5vbkZvY3VzKCRldmVudCkgOiBudWxsXCJcclxuICAgICAgICAvPlxyXG4gICAgfVxyXG48L2Rpdj5cclxuIl19