@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1318-c → 1.5.1318-e

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 (68) hide show
  1. package/assets/i18n/en.json +33 -1
  2. package/assets/i18n/es.json +34 -2
  3. package/assets/styles/main.min.css +1 -1
  4. package/assets/styles/main.min.css.map +1 -1
  5. package/assets/styles/micro.min.css +1 -0
  6. package/assets/styles/micro.min.css.map +1 -0
  7. package/esm2022/assets/i18n/en.json +33 -1
  8. package/esm2022/assets/i18n/es.json +34 -2
  9. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +2 -2
  10. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +9 -4
  11. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +13 -8
  12. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +3 -3
  13. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +1 -1
  14. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +2 -2
  15. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +2 -2
  16. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +4 -2
  17. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +177 -91
  18. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +2 -2
  19. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +3 -2
  20. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +2 -2
  21. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +2 -2
  22. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +2 -2
  23. package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +2 -2
  24. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +30 -9
  25. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +1 -1
  26. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +1 -1
  27. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +5 -7
  28. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +66 -8
  29. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor-prompt/bmb-text-editor-prompt.component.mjs +51 -0
  30. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +66 -24
  31. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +11 -17
  32. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +33 -15
  33. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +9 -3
  34. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +2 -2
  35. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +6 -3
  36. package/esm2022/lib/services/projection/projection.service.mjs +1 -1
  37. package/esm2022/lib/utils/formControl.mjs +6 -4
  38. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +712 -387
  39. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  40. package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +3 -2
  41. package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +39 -20
  42. package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +3 -2
  43. package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +8 -2
  44. package/lib/components/bmb-tables/bmb-tables.component.d.ts +8 -1
  45. package/lib/components/bmb-text-editor/bmb-text-editor-prompt/bmb-text-editor-prompt.component.d.ts +13 -0
  46. package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +10 -4
  47. package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +1 -2
  48. package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +10 -4
  49. package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +2 -1
  50. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +2 -1
  51. package/lib/utils/formControl.d.ts +2 -2
  52. package/package.json +4 -4
  53. package/esm2022/lib/services/calendar.service.mjs +0 -51
  54. package/esm2022/lib/services/index.mjs +0 -3
  55. package/esm2022/lib/services/native-modal.service.mjs +0 -60
  56. package/esm2022/lib/services/notification.service.mjs +0 -84
  57. package/esm2022/lib/services/projection.service.mjs +0 -49
  58. package/esm2022/lib/services/tabs.service.mjs +0 -30
  59. package/esm2022/lib/services/theme.service.mjs +0 -30
  60. package/esm2022/lib/services/toast.service.mjs +0 -24
  61. package/lib/services/calendar.service.d.ts +0 -15
  62. package/lib/services/index.d.ts +0 -2
  63. package/lib/services/native-modal.service.d.ts +0 -18
  64. package/lib/services/notification.service.d.ts +0 -20
  65. package/lib/services/projection.service.d.ts +0 -31
  66. package/lib/services/tabs.service.d.ts +0 -13
  67. package/lib/services/theme.service.d.ts +0 -11
  68. package/lib/services/toast.service.d.ts +0 -9
@@ -143,7 +143,7 @@ export class BmbFilterCardComponent {
143
143
  this.filterForm.get('search')?.setValue(event);
144
144
  }
145
145
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbFilterCardComponent, deps: [{ token: i1.BmbNativeModalService }], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbFilterCardComponent, isStandalone: true, selector: "bmb-filter-card", inputs: { modalTitle: { classPropertyName: "modalTitle", publicName: "modalTitle", isSignal: true, isRequired: false, transformFunction: null }, primaryBtnLabel: { classPropertyName: "primaryBtnLabel", publicName: "primaryBtnLabel", isSignal: true, isRequired: false, transformFunction: null }, secondaryBtnLabel: { classPropertyName: "secondaryBtnLabel", publicName: "secondaryBtnLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, placeholderSearch: { classPropertyName: "placeholderSearch", publicName: "placeholderSearch", isSignal: true, isRequired: false, transformFunction: null }, controlTypes: { classPropertyName: "controlTypes", publicName: "controlTypes", isSignal: true, isRequired: false, transformFunction: null }, inLine: { classPropertyName: "inLine", publicName: "inLine", isSignal: true, isRequired: false, transformFunction: null }, showDropdown: { classPropertyName: "showDropdown", publicName: "showDropdown", isSignal: true, isRequired: false, transformFunction: null }, dropdownOptions: { classPropertyName: "dropdownOptions", publicName: "dropdownOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { applyFilters: "applyFilters", resetFilters: "resetFilters" }, viewQueries: [{ propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"bmb_filter_card\">\n <ng-template #modalTemplate>\n <div class=\"bmb_filter_card-modal\">\n <form [formGroup]=\"filterForm\">\n @if (showDropdown()) {\n <bmb-dropdown\n [placeholder]=\"placeholderSearch()\"\n [options]=\"dropdownOptions()\"\n [control]=\"getFormControl('search')\"\n (onValueChange)=\"onValueChange($event)\"\n [isFilterable]=\"true\"\n />\n } @else {\n <bmb-input\n [placeholder]=\"placeholderSearch()\"\n [icon]=\"'search'\"\n [appearance]=\"'normal'\"\n [control]=\"getFormControl('search')\"\n [isClearable]=\"true\"\n />\n }\n @for (controlType of controlTypes(); track $index) {\n <h4 class=\"bmb_filter_card-title\">{{ controlType.title }}</h4>\n <div class=\"bmb_filter_card-control\">\n @for (control of controlType.control; track $index) {\n @switch (control.type) {\n @case ('tag') {\n <bmb-tag\n [text]=\"control.label\"\n [dismissible]=\"false\"\n [enableClick]=\"true\"\n [isActive]=\"storedValues[control.name]?.checked ?? false\"\n (clickedTag)=\"onControlChange(control, $event)\"\n />\n }\n @case ('radial') {\n <bmb-radial\n [name]=\"control.name\"\n [inputId]=\"control.id ?? control.name + '-' + $index\"\n [checked]=\"\n filterForm.get(control.name)?.value === control.label\n \"\n [label]=\"control.label\"\n (change)=\"onControlChange(control, $event)\"\n [value]=\"control.value ?? control.name\"\n />\n }\n @case ('checkbox') {\n <bmb-checkbox\n [name]=\"control.name\"\n [checked]=\"filterForm.get(control.name)?.value\"\n [label]=\"control.label\"\n (change)=\"onControlChange(control, $event)\"\n [inputId]=\"control.id ?? control.name + '-' + $index\"\n [value]=\"control.value ?? control.name\"\n />\n }\n @case ('switch') {\n <bmb-switch\n [rightText]=\"control.rightText ?? ''\"\n [isChecked]=\"filterForm.get(control.name)?.value === true\"\n (change)=\"onControlChange(control, $event)\"\n />\n }\n }\n }\n </div>\n }\n @if (inLine()) {\n <footer class=\"bmb_filter_card-footer\">\n <button bmbButton appearance=\"secondary-outlined\" type=\"reset\">\n {{ secondaryBtnLabel() }}\n </button>\n <button bmbButton (click)=\"handleSubmit()\" type=\"submit\">\n {{ primaryBtnLabel() }}\n </button>\n </footer>\n }\n </form>\n </div>\n </ng-template>\n\n @if (inLine()) {\n <ng-container [ngTemplateOutlet]=\"modalTemplate\" />\n } @else {\n <button\n type=\"button\"\n class=\"bmb_filter_card-button\"\n (click)=\"openModalComponent()\"\n type=\"button\"\n >\n <bmb-icon [icon]=\"icon()\" alt=\"Filter icon\" />\n </button>\n }\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_filter_card-button{height:1.75rem;width:1.75rem;font-size:1.75rem;color:RGBA(var(--color-charade-950))}.bmb_filter_card-title{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:1.5rem 0 1rem;color:RGBA(var(--color-charade-700))}.bmb_filter_card-control{border-bottom:.0625rem solid RGBA(var(--color-charade-500));padding-bottom:.625rem}@media (min-width: 48rem){.bmb_filter_card-control{display:flex;flex-wrap:wrap;gap:var(--bmb-spacing-s)}}.bmb_filter_card-footer{padding-top:1rem;display:flex;flex-flow:column;flex-wrap:wrap;justify-content:center;gap:1rem}@media (min-width: 48rem){.bmb_filter_card-footer{flex-flow:row}.bmb_filter_card-footer .bmb_btn-rounded{width:50%}}[data-theme=dark] .bmb_filter_card-button,.storybook-dark-theme .bmb_filter_card-button{color:RGBA(var(--color-charade-50))}[data-theme=dark] .bmb_filter_card-title,.storybook-dark-theme .bmb_filter_card-title{color:RGBA(var(--color-charade-200))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbInputComponent, selector: "bmb-input", inputs: ["label", "type", "placeholder", "icon", "appearance", "errorMessage", "helperMessage", "disabled", "isRequired", "name", "spellcheck", "jsonFormat", "heightTextArea", "maxlength", "minlength", "pattern", "size", "max", "min", "id", "value", "autocomplete", "tooltip", "rows", "showMaxTextLength", "additionalAction", "tooltipPosition", "isClearable", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange", "isFocus", "isBlur", "onChange", "onKeyDown"] }, { kind: "component", type: BmbSwitchComponent, selector: "bmb-switch", inputs: ["leftText", "leftIcon", "rightText", "rightIcon", "isChecked", "ariaLabel", "id", "disabled", "name", "inputId", "control"], outputs: ["isCheckedChange", "inputIdChange", "controlChange", "change"] }, { kind: "component", type: BmbRadialComponent, selector: "bmb-radial", inputs: ["id", "checked", "disabled", "value", "name", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "required", "errorMessage", "helperMessage", "showError", "control", "inputId"], outputs: ["showErrorChange", "controlChange", "inputIdChange", "change", "onKeyDown"] }, { kind: "component", type: BmbCheckboxComponent, selector: "bmb-checkbox", inputs: ["name", "id", "disabled", "required", "value", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "errorMessage", "helperMessage", "customValidation", "control", "checked", "showError", "indeterminate", "inputId"], outputs: ["controlChange", "checkedChange", "showErrorChange", "indeterminateChange", "inputIdChange", "change"] }, { kind: "component", type: BmbDropdownComponent, selector: "bmb-dropdown", inputs: ["required", "showIcon", "placeholder", "icon", "options", "helperText", "errorMessage", "label", "name", "preferredOptions", "isMultiSelect", "tooltip", "tooltipPosition", "disabled", "value", "isFilterable", "inputId", "customValidation", "control", "isModalOpen"], outputs: ["controlChange", "onValueChange", "onFocus", "isModalOpenChange"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbTagComponent, selector: "bmb-tag", inputs: ["appearance", "text", "grouped", "dismissible", "rounded", "activityTag", "isDisabled", "isActive", "enableClick"], outputs: ["closedTag", "clickedTag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbFilterCardComponent, isStandalone: true, selector: "bmb-filter-card", inputs: { modalTitle: { classPropertyName: "modalTitle", publicName: "modalTitle", isSignal: true, isRequired: false, transformFunction: null }, primaryBtnLabel: { classPropertyName: "primaryBtnLabel", publicName: "primaryBtnLabel", isSignal: true, isRequired: false, transformFunction: null }, secondaryBtnLabel: { classPropertyName: "secondaryBtnLabel", publicName: "secondaryBtnLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, placeholderSearch: { classPropertyName: "placeholderSearch", publicName: "placeholderSearch", isSignal: true, isRequired: false, transformFunction: null }, controlTypes: { classPropertyName: "controlTypes", publicName: "controlTypes", isSignal: true, isRequired: false, transformFunction: null }, inLine: { classPropertyName: "inLine", publicName: "inLine", isSignal: true, isRequired: false, transformFunction: null }, showDropdown: { classPropertyName: "showDropdown", publicName: "showDropdown", isSignal: true, isRequired: false, transformFunction: null }, dropdownOptions: { classPropertyName: "dropdownOptions", publicName: "dropdownOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { applyFilters: "applyFilters", resetFilters: "resetFilters" }, viewQueries: [{ propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"bmb_filter_card\">\n <ng-template #modalTemplate>\n <div class=\"bmb_filter_card-modal\">\n <form [formGroup]=\"filterForm\">\n @if (showDropdown()) {\n <bmb-dropdown\n [placeholder]=\"placeholderSearch()\"\n [options]=\"dropdownOptions()\"\n [control]=\"getFormControl('search')\"\n (onValueChange)=\"onValueChange($event)\"\n [isFilterable]=\"true\"\n />\n } @else {\n <bmb-input\n [placeholder]=\"placeholderSearch()\"\n [icon]=\"'search'\"\n [appearance]=\"'normal'\"\n [control]=\"getFormControl('search')\"\n [isClearable]=\"true\"\n />\n }\n @for (controlType of controlTypes(); track $index) {\n <h4 class=\"bmb_filter_card-title\">{{ controlType.title }}</h4>\n <div class=\"bmb_filter_card-control\">\n @for (control of controlType.control; track $index) {\n @switch (control.type) {\n @case ('tag') {\n <bmb-tag\n [text]=\"control.label\"\n [dismissible]=\"false\"\n [enableClick]=\"true\"\n [isActive]=\"storedValues[control.name]?.checked ?? false\"\n (clickedTag)=\"onControlChange(control, $event)\"\n />\n }\n @case ('radial') {\n <bmb-radial\n [name]=\"control.name\"\n [inputId]=\"control.id ?? control.name + '-' + $index\"\n [checked]=\"\n filterForm.get(control.name)?.value === control.label\n \"\n [label]=\"control.label\"\n (change)=\"onControlChange(control, $event)\"\n [value]=\"control.value ?? control.name\"\n />\n }\n @case ('checkbox') {\n <bmb-checkbox\n [name]=\"control.name\"\n [checked]=\"filterForm.get(control.name)?.value\"\n [label]=\"control.label\"\n (change)=\"onControlChange(control, $event)\"\n [inputId]=\"control.id ?? control.name + '-' + $index\"\n [value]=\"control.value ?? control.name\"\n />\n }\n @case ('switch') {\n <bmb-switch\n [rightText]=\"control.rightText ?? ''\"\n [isChecked]=\"filterForm.get(control.name)?.value === true\"\n (change)=\"onControlChange(control, $event)\"\n />\n }\n }\n }\n </div>\n }\n @if (inLine()) {\n <footer class=\"bmb_filter_card-footer\">\n <button bmbButton appearance=\"secondary-outlined\" type=\"reset\">\n {{ secondaryBtnLabel() }}\n </button>\n <button bmbButton (click)=\"handleSubmit()\" type=\"submit\">\n {{ primaryBtnLabel() }}\n </button>\n </footer>\n }\n </form>\n </div>\n </ng-template>\n\n @if (inLine()) {\n <ng-container [ngTemplateOutlet]=\"modalTemplate\" />\n } @else {\n <button\n type=\"button\"\n class=\"bmb_filter_card-button\"\n (click)=\"openModalComponent()\"\n type=\"button\"\n >\n <bmb-icon [icon]=\"icon()\" alt=\"Filter icon\" />\n </button>\n }\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_filter_card-button{height:1.75rem;width:1.75rem;font-size:1.75rem;color:RGBA(var(--color-charade-950))}.bmb_filter_card-title{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:1.5rem 0 1rem;color:RGBA(var(--color-charade-700))}.bmb_filter_card-control{border-bottom:.0625rem solid RGBA(var(--color-charade-500));padding-bottom:.625rem}@media (min-width: 48rem){.bmb_filter_card-control{display:flex;flex-wrap:wrap;gap:var(--bmb-spacing-s)}}.bmb_filter_card-footer{padding-top:1rem;display:flex;flex-flow:column;flex-wrap:wrap;justify-content:center;gap:1rem}@media (min-width: 48rem){.bmb_filter_card-footer{flex-flow:row}.bmb_filter_card-footer .bmb_btn-rounded{width:50%}}[data-theme=dark] .bmb_filter_card-button,.storybook-dark-theme .bmb_filter_card-button{color:RGBA(var(--color-charade-50))}[data-theme=dark] .bmb_filter_card-title,.storybook-dark-theme .bmb_filter_card-title{color:RGBA(var(--color-charade-200))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbInputComponent, selector: "bmb-input", inputs: ["label", "type", "placeholder", "icon", "appearance", "errorMessage", "helperMessage", "disabled", "isRequired", "name", "spellcheck", "jsonFormat", "heightTextArea", "maxlength", "minlength", "pattern", "size", "max", "min", "id", "value", "autocomplete", "tooltip", "rows", "showMaxTextLength", "additionalAction", "tooltipPosition", "isClearable", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange", "isFocus", "isBlur", "onChange", "onKeyDown"] }, { kind: "component", type: BmbSwitchComponent, selector: "bmb-switch", inputs: ["leftText", "leftIcon", "rightText", "rightIcon", "isChecked", "ariaLabel", "id", "disabled", "name", "inputId", "control"], outputs: ["isCheckedChange", "inputIdChange", "controlChange", "change"] }, { kind: "component", type: BmbRadialComponent, selector: "bmb-radial", inputs: ["id", "checked", "disabled", "value", "name", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "required", "errorMessage", "helperMessage", "showError", "control", "inputId"], outputs: ["showErrorChange", "controlChange", "inputIdChange", "change", "onKeyDown"] }, { kind: "component", type: BmbCheckboxComponent, selector: "bmb-checkbox", inputs: ["name", "id", "disabled", "required", "value", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "errorMessage", "helperMessage", "customValidation", "control", "checked", "showError", "indeterminate", "inputId"], outputs: ["controlChange", "checkedChange", "showErrorChange", "indeterminateChange", "inputIdChange", "change"] }, { kind: "component", type: BmbDropdownComponent, selector: "bmb-dropdown", inputs: ["required", "showIcon", "placeholder", "icon", "options", "helperText", "errorMessage", "label", "name", "preferredOptions", "isMultiSelect", "tooltip", "tooltipPosition", "disabled", "value", "isFilterable", "inputId", "customValidation", "customFilterFunction", "control", "isModalOpen"], outputs: ["controlChange", "onValueChange", "onFocus", "isModalOpenChange"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbTagComponent, selector: "bmb-tag", inputs: ["appearance", "text", "grouped", "dismissible", "rounded", "activityTag", "isDisabled", "isActive", "enableClick"], outputs: ["closedTag", "clickedTag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
147
147
  }
148
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbFilterCardComponent, decorators: [{
149
149
  type: Component,
@@ -163,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
163
163
  type: ViewChild,
164
164
  args: ['modalTemplate']
165
165
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItZmlsdGVyLWNhcmQvYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItZmlsdGVyLWNhcmQvYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFFakIsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUF1QmpFLE1BQU0s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LElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNoQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzBGQXdCbkIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIG91dHB1dCxcbiAgZWZmZWN0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlN3aXRjaENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1zd2l0Y2gvYm1iLXN3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iUmFkaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXJhZGlhbC9ibWItcmFkaWFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1jaGVja2JveC9ibWItY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElCbWJOYXRpdmVNb2RhbCxcbiAgTW9kYWxEYXRhQ29uZmlnLFxufSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCbWJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IElCbWJDb250cm9sVHlwZSB9IGZyb20gJy4vYm1iLWZpbHRlci1jYXJkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCbWJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kcm9wZG93bi9ibWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlRhZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JtYi10YWdzL2JtYi10YWdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJOYXRpdmVNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2RhbC9uYXRpdmUtbW9kYWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1maWx0ZXItY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItZmlsdGVyLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEJtYkljb25Db21wb25lbnQsXG4gICAgQm1iSW5wdXRDb21wb25lbnQsXG4gICAgQm1iU3dpdGNoQ29tcG9uZW50LFxuICAgIEJtYlJhZGlhbENvbXBvbmVudCxcbiAgICBCbWJDaGVja2JveENvbXBvbmVudCxcbiAgICBCbWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBCbWJCdXR0b25EaXJlY3RpdmUsXG4gICAgQm1iVGFnQ29tcG9uZW50LFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iRmlsdGVyQ2FyZENvbXBvbmVudCB7XG4gIG1vZGFsVGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHJpbWFyeUJ0bkxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHNlY29uZGFyeUJ0bkxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcGxhY2Vob2xkZXJTZWFyY2ggPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgY29udHJvbFR5cGVzID0gaW5wdXQ8SUJtYkNvbnRyb2xUeXBlW10+KFtdKTtcbiAgc3RvcmVkVmFsdWVzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICBpbkxpbmUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHNob3dEcm9wZG93biA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZHJvcGRvd25PcHRpb25zID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcblxuICBhcHBseUZpbHRlcnMgPSBvdXRwdXQ8YW55PigpO1xuICByZXNldEZpbHRlcnMgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICBmaWx0ZXJGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBzZWFyY2g6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSxcbiAgICBzZWxlY3RlZERyb3Bkb3duOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksXG4gIH0pO1xuXG4gIG1vZGFsSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxUZW1wbGF0ZScpIG1vZGFsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCbWJOYXRpdmVNb2RhbFNlcnZpY2UpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5jb250cm9sVHlwZXMoKS5mb3JFYWNoKChjb250cm9sVHlwZSkgPT4ge1xuICAgICAgICBjb250cm9sVHlwZS5jb250cm9sLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgICAgICBpZiAoY29udHJvbC50eXBlID09PSAncmFkaWFsJykge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbE5hbWUgPSB0aGlzLmZpbHRlckZvcm0uZ2V0KGNvbnRyb2wubmFtZSk7XG4gICAgICAgICAgICBpZiAoY29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgICAgY29udHJvbE5hbWUuc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgY29udHJvbC5jaGVja2VkID8gY29udHJvbC5sYWJlbCA6IGNvbnRyb2xOYW1lLnZhbHVlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woXG4gICAgICAgICAgICAgICAgY29udHJvbC5uYW1lLFxuICAgICAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KGNvbnRyb2wuY2hlY2tlZCA/IGNvbnRyb2wubGFiZWwgOiAnJyksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybS5hZGRDb250cm9sKFxuICAgICAgICAgICAgICBjb250cm9sLm5hbWUsXG4gICAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihjb250cm9sLmNoZWNrZWQpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWxDb21wb25lbnQoKSB7XG4gICAgY29uc3QgZGF0YTogSUJtYk5hdGl2ZU1vZGFsID0ge1xuICAgICAgdGl0bGU6IHRoaXMubW9kYWxUaXRsZSgpLFxuICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgIGNvbnRlbnQ6IHRoaXMubW9kYWxUZW1wbGF0ZSxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLnByaW1hcnlCdG5MYWJlbCgpLFxuICAgICAgICAgIGFjdGlvbjogdGhpcy5oYW5kbGVTdWJtaXQuYmluZCh0aGlzKSxcbiAgICAgICAgICBhcHBlYXJhbmNlOiAncHJpbWFyeScsXG4gICAgICAgICAgYnV0dG9uTmFtZTogdGhpcy5wcmltYXJ5QnRuTGFiZWwoKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLnNlY29uZGFyeUJ0bkxhYmVsKCksXG4gICAgICAgICAgYWN0aW9uOiB0aGlzLm9uUmVzZXQuYmluZCh0aGlzKSxcbiAgICAgICAgICBhcHBlYXJhbmNlOiAnc2Vjb25kYXJ5LW91dGxpbmVkJyxcbiAgICAgICAgICBidXR0b25OYW1lOiB0aGlzLnNlY29uZGFyeUJ0bkxhYmVsKCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5tb2RhbElkLnNldCh0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwoZGF0YSkpO1xuICB9XG5cbiAgb25Db250cm9sQ2hhbmdlKGNvbnRyb2w6IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5maWx0ZXJGb3JtLmdldChjb250cm9sLm5hbWUpO1xuICAgIGlmIChmb3JtQ29udHJvbCkge1xuICAgICAgc3dpdGNoIChjb250cm9sLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnc3dpdGNoJzpcbiAgICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZShldmVudCk7XG4gICAgICAgICAgY29uc3Qgc3dpdGNoVmFsdWUgPSB7XG4gICAgICAgICAgICBuYW1lOiBjb250cm9sLm5hbWUsXG4gICAgICAgICAgICBsYWJlbDogY29udHJvbC5yaWdodFRleHQsXG4gICAgICAgICAgICBjaGVja2VkOiBldmVudCxcbiAgICAgICAgICAgIHR5cGU6IGNvbnRyb2wudHlwZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuc3RvcmVkVmFsdWVzW2NvbnRyb2wubmFtZV0gPSBzd2l0Y2hWYWx1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY2hlY2tib3gnOlxuICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKGV2ZW50LnRhcmdldC5jaGVja2VkKTtcbiAgICAgICAgICBjb25zdCBjaGVja2JveFZhbHVlID0ge1xuICAgICAgICAgICAgbmFtZTogY29udHJvbC5uYW1lLFxuICAgICAgICAgICAgbGFiZWw6IGNvbnRyb2wubGFiZWwsXG4gICAgICAgICAgICBjaGVja2VkOiBldmVudC50YXJnZXQuY2hlY2tlZCxcbiAgICAgICAgICAgIHR5cGU6IGNvbnRyb2wudHlwZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuc3RvcmVkVmFsdWVzW2NvbnRyb2wubmFtZV0gPSBjaGVja2JveFZhbHVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyYWRpYWwnOlxuICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKGNvbnRyb2wubGFiZWwpO1xuICAgICAgICAgIGNvbnN0IHJhZGlhbFZhbHVlID0ge1xuICAgICAgICAgICAgbGFiZWw6IGNvbnRyb2wubGFiZWwsXG4gICAgICAgICAgICBjaGVja2VkOiBldmVudC5jaGVja2VkLFxuICAgICAgICAgICAgbmFtZTogY29udHJvbC5uYW1lLFxuICAgICAgICAgICAgdHlwZTogY29udHJvbC50eXBlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5zdG9yZWRWYWx1ZXNbY29udHJvbC5uYW1lXSA9IHJhZGlhbFZhbHVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OiAvL2ZvciB0aGUgdGFnIG9wdGlvbiBvciBhbnkgb3RoZXIgb3B0aW9uIHRoYXQgZG9lcyBub3QgaGF2ZSBhbiBhY3RpdmF0ZWQgY29udHJvbFxuICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKGNvbnRyb2wubGFiZWwpO1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnRWYWx1ZSA9IHtcbiAgICAgICAgICAgIGxhYmVsOiBjb250cm9sLmxhYmVsLFxuICAgICAgICAgICAgY2hlY2tlZDogIXRoaXMuc3RvcmVkVmFsdWVzW2NvbnRyb2wubmFtZV0/LmNoZWNrZWQsXG4gICAgICAgICAgICBuYW1lOiBjb250cm9sLFxuICAgICAgICAgICAgdHlwZTogY29udHJvbC50eXBlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5zdG9yZWRWYWx1ZXNbY29udHJvbC5uYW1lXSA9IGVsZW1lbnRWYWx1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVTdWJtaXQoKSB7XG4gICAgZGVidWdnZXI7XG4gICAgY29uc3QgZm9ybURhdGE6IGFueSA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHRoaXMuc3RvcmVkVmFsdWVzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGZvcm1EYXRhW2tleV0gPSB0aGlzLnN0b3JlZFZhbHVlc1trZXldO1xuICAgIH0pO1xuICAgIGZvcm1EYXRhLnNlYXJjaCA9IHRoaXMuZmlsdGVyRm9ybS5nZXQoJ3NlYXJjaCcpPy52YWx1ZTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5jbG9zZU1vZGFsKHRoaXMubW9kYWxJZCgpIGFzIHN0cmluZyk7XG4gICAgdGhpcy5hcHBseUZpbHRlcnMuZW1pdChmb3JtRGF0YSk7XG4gIH1cblxuICBvblJlc2V0KCkge1xuICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIHRoaXMucmVzZXRGaWx0ZXJzLmVtaXQoKTtcbiAgfVxuXG4gIGdldEZvcm1Db250cm9sKHNlYXJjaDogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckZvcm0uZ2V0KHNlYXJjaCkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KCdzZWFyY2gnKT8uc2V0VmFsdWUoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm1iX2ZpbHRlcl9jYXJkXCI+XG4gIDxuZy10ZW1wbGF0ZSAjbW9kYWxUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYm1iX2ZpbHRlcl9jYXJkLW1vZGFsXCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIj5cbiAgICAgICAgQGlmIChzaG93RHJvcGRvd24oKSkge1xuICAgICAgICAgIDxibWItZHJvcGRvd25cbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclNlYXJjaCgpXCJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cImRyb3Bkb3duT3B0aW9ucygpXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImdldEZvcm1Db250cm9sKCdzZWFyY2gnKVwiXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2lzRmlsdGVyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8Ym1iLWlucHV0XG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJTZWFyY2goKVwiXG4gICAgICAgICAgICBbaWNvbl09XCInc2VhcmNoJ1wiXG4gICAgICAgICAgICBbYXBwZWFyYW5jZV09XCInbm9ybWFsJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJnZXRGb3JtQ29udHJvbCgnc2VhcmNoJylcIlxuICAgICAgICAgICAgW2lzQ2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAoY29udHJvbFR5cGUgb2YgY29udHJvbFR5cGVzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxoNCBjbGFzcz1cImJtYl9maWx0ZXJfY2FyZC10aXRsZVwiPnt7IGNvbnRyb2xUeXBlLnRpdGxlIH19PC9oND5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2ZpbHRlcl9jYXJkLWNvbnRyb2xcIj5cbiAgICAgICAgICAgIEBmb3IgKGNvbnRyb2wgb2YgY29udHJvbFR5cGUuY29udHJvbDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIEBzd2l0Y2ggKGNvbnRyb2wudHlwZSkge1xuICAgICAgICAgICAgICAgIEBjYXNlICgndGFnJykge1xuICAgICAgICAgICAgICAgICAgPGJtYi10YWdcbiAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiY29udHJvbC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNtaXNzaWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtlbmFibGVDbGlja109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzQWN0aXZlXT1cInN0b3JlZFZhbHVlc1tjb250cm9sLm5hbWVdPy5jaGVja2VkID8/IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWRUYWcpPVwib25Db250cm9sQ2hhbmdlKGNvbnRyb2wsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGNhc2UgKCdyYWRpYWwnKSB7XG4gICAgICAgICAgICAgICAgICA8Ym1iLXJhZGlhbFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjb250cm9sLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCJjb250cm9sLmlkID8/IGNvbnRyb2wubmFtZSArICctJyArICRpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckZvcm0uZ2V0KGNvbnRyb2wubmFtZSk/LnZhbHVlID09PSBjb250cm9sLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250cm9sLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNvbnRyb2xDaGFuZ2UoY29udHJvbCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb250cm9sLnZhbHVlID8/IGNvbnRyb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAY2FzZSAoJ2NoZWNrYm94Jykge1xuICAgICAgICAgICAgICAgICAgPGJtYi1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjb250cm9sLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJmaWx0ZXJGb3JtLmdldChjb250cm9sLm5hbWUpPy52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250cm9sLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNvbnRyb2xDaGFuZ2UoY29udHJvbCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cImNvbnRyb2wuaWQgPz8gY29udHJvbC5uYW1lICsgJy0nICsgJGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbnRyb2wudmFsdWUgPz8gY29udHJvbC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBjYXNlICgnc3dpdGNoJykge1xuICAgICAgICAgICAgICAgICAgPGJtYi1zd2l0Y2hcbiAgICAgICAgICAgICAgICAgICAgW3JpZ2h0VGV4dF09XCJjb250cm9sLnJpZ2h0VGV4dCA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwiZmlsdGVyRm9ybS5nZXQoY29udHJvbC5uYW1lKT8udmFsdWUgPT09IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ29udHJvbENoYW5nZShjb250cm9sLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChpbkxpbmUoKSkge1xuICAgICAgICAgIDxmb290ZXIgY2xhc3M9XCJibWJfZmlsdGVyX2NhcmQtZm9vdGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGJtYkJ1dHRvbiBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5LW91dGxpbmVkXCIgdHlwZT1cInJlc2V0XCI+XG4gICAgICAgICAgICAgIHt7IHNlY29uZGFyeUJ0bkxhYmVsKCkgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBibWJCdXR0b24gKGNsaWNrKT1cImhhbmRsZVN1Ym1pdCgpXCIgdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICB7eyBwcmltYXJ5QnRuTGFiZWwoKSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9mb290ZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICBAaWYgKGluTGluZSgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtb2RhbFRlbXBsYXRlXCIgLz5cbiAgfSBAZWxzZSB7XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJtYl9maWx0ZXJfY2FyZC1idXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm9wZW5Nb2RhbENvbXBvbmVudCgpXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxibWItaWNvbiBbaWNvbl09XCJpY29uKClcIiBhbHQ9XCJGaWx0ZXIgaWNvblwiIC8+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItZmlsdGVyLWNhcmQvYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItZmlsdGVyLWNhcmQvYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFFakIsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUF1QmpFLE1BQU0s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LElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNoQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzBGQXdCbkIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIG91dHB1dCxcbiAgZWZmZWN0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlN3aXRjaENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1zd2l0Y2gvYm1iLXN3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iUmFkaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXJhZGlhbC9ibWItcmFkaWFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1jaGVja2JveC9ibWItY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElCbWJOYXRpdmVNb2RhbCxcbiAgTW9kYWxEYXRhQ29uZmlnLFxufSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCbWJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IElCbWJDb250cm9sVHlwZSB9IGZyb20gJy4vYm1iLWZpbHRlci1jYXJkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCbWJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kcm9wZG93bi9ibWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlRhZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JtYi10YWdzL2JtYi10YWdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJOYXRpdmVNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2RhbC9uYXRpdmUtbW9kYWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1maWx0ZXItY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItZmlsdGVyLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEJtYkljb25Db21wb25lbnQsXG4gICAgQm1iSW5wdXRDb21wb25lbnQsXG4gICAgQm1iU3dpdGNoQ29tcG9uZW50LFxuICAgIEJtYlJhZGlhbENvbXBvbmVudCxcbiAgICBCbWJDaGVja2JveENvbXBvbmVudCxcbiAgICBCbWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBCbWJCdXR0b25EaXJlY3RpdmUsXG4gICAgQm1iVGFnQ29tcG9uZW50LFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iRmlsdGVyQ2FyZENvbXBvbmVudCB7XG4gIG1vZGFsVGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHJpbWFyeUJ0bkxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHNlY29uZGFyeUJ0bkxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcGxhY2Vob2xkZXJTZWFyY2ggPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgY29udHJvbFR5cGVzID0gaW5wdXQ8SUJtYkNvbnRyb2xUeXBlW10+KFtdKTtcbiAgc3RvcmVkVmFsdWVzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICBpbkxpbmUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHNob3dEcm9wZG93biA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZHJvcGRvd25PcHRpb25zID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcblxuICBhcHBseUZpbHRlcnMgPSBvdXRwdXQ8YW55PigpO1xuICByZXNldEZpbHRlcnMgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICBmaWx0ZXJGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBzZWFyY2g6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSxcbiAgICBzZWxlY3RlZERyb3Bkb3duOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksXG4gIH0pO1xuXG4gIG1vZGFsSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxUZW1wbGF0ZScpIG1vZGFsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCbWJOYXRpdmVNb2RhbFNlcnZpY2UpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5jb250cm9sVHlwZXMoKS5mb3JFYWNoKChjb250cm9sVHlwZSkgPT4ge1xuICAgICAgICBjb250cm9sVHlwZS5jb250cm9sLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgICAgICBpZiAoY29udHJvbC50eXBlID09PSAncmFkaWFsJykge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbE5hbWUgPSB0aGlzLmZpbHRlckZvcm0uZ2V0KGNvbnRyb2wubmFtZSk7XG4gICAgICAgICAgICBpZiAoY29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgICAgY29udHJvbE5hbWUuc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgY29udHJvbC5jaGVja2VkID8gY29udHJvbC5sYWJlbCA6IGNvbnRyb2xOYW1lLnZhbHVlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woXG4gICAgICAgICAgICAgICAgY29udHJvbC5uYW1lLFxuICAgICAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KGNvbnRyb2wuY2hlY2tlZCA/IGNvbnRyb2wubGFiZWwgOiAnJyksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRm9ybS5hZGRDb250cm9sKFxuICAgICAgICAgICAgICBjb250cm9sLm5hbWUsXG4gICAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihjb250cm9sLmNoZWNrZWQpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWxDb21wb25lbnQoKSB7XG4gICAgY29uc3QgZGF0YTogSUJtYk5hdGl2ZU1vZGFsID0ge1xuICAgICAgdGl0bGU6IHRoaXMubW9kYWxUaXRsZSgpLFxuICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgIGNvbnRlbnQ6IHRoaXMubW9kYWxUZW1wbGF0ZSxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLnByaW1hcnlCdG5MYWJlbCgpLFxuICAgICAgICAgIGFjdGlvbjogdGhpcy5oYW5kbGVTdWJtaXQuYmluZCh0aGlzKSxcbiAgICAgICAgICBhcHBlYXJhbmNlOiAncHJpbWFyeScsXG4gICAgICAgICAgYnV0dG9uTmFtZTogdGhpcy5wcmltYXJ5QnRuTGFiZWwoKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLnNlY29uZGFyeUJ0bkxhYmVsKCksXG4gICAgICAgICAgYWN0aW9uOiB0aGlzLm9uUmVzZXQuYmluZCh0aGlzKSxcbiAgICAgICAgICBhcHBlYXJhbmNlOiAnc2Vjb25kYXJ5LW91dGxpbmVkJyxcbiAgICAgICAgICBidXR0b25OYW1lOiB0aGlzLnNlY29uZGFyeUJ0bkxhYmVsKCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5tb2RhbElkLnNldCh0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwoZGF0YSkpO1xuICB9XG5cbiAgb25Db250cm9sQ2hhbmdlKGNvbnRyb2w6IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5maWx0ZXJGb3JtLmdldChjb250cm9sLm5hbWUpO1xuICAgIGlmIChmb3JtQ29udHJvbCkge1xuICAgICAgc3dpdGNoIChjb250cm9sLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnc3dpdGNoJzpcbiAgICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZShldmVudCk7XG4gICAgICAgICAgY29uc3Qgc3dpdGNoVmFsdWUgPSB7XG4gICAgICAgICAgICBuYW1lOiBjb250cm9sLm5hbWUsXG4gICAgICAgICAgICBsYWJlbDogY29udHJvbC5yaWdodFRleHQsXG4gICAgICAgICAgICBjaGVja2VkOiBldmVudCxcbiAgICAgICAgICAgIHR5cGU6IGNvbnRyb2wudHlwZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuc3RvcmVkVmFsdWVzW2NvbnRyb2wubmFtZV0gPSBzd2l0Y2hWYWx1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY2hlY2tib3gnOlxuICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKGV2ZW50LnRhcmdldC5jaGVja2VkKTtcbiAgICAgICAgICBjb25zdCBjaGVja2JveFZhbHVlID0ge1xuICAgICAgICAgICAgbmFtZTogY29udHJvbC5uYW1lLFxuICAgICAgICAgICAgbGFiZWw6IGNvbnRyb2wubGFiZWwsXG4gICAgICAgICAgICBjaGVja2VkOiBldmVudC50YXJnZXQuY2hlY2tlZCxcbiAgICAgICAgICAgIHR5cGU6IGNvbnRyb2wudHlwZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuc3RvcmVkVmFsdWVzW2NvbnRyb2wubmFtZV0gPSBjaGVja2JveFZhbHVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyYWRpYWwnOlxuICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKGNvbnRyb2wubGFiZWwpO1xuICAgICAgICAgIGNvbnN0IHJhZGlhbFZhbHVlID0ge1xuICAgICAgICAgICAgbGFiZWw6IGNvbnRyb2wubGFiZWwsXG4gICAgICAgICAgICBjaGVja2VkOiBldmVudC5jaGVja2VkLFxuICAgICAgICAgICAgbmFtZTogY29udHJvbC5uYW1lLFxuICAgICAgICAgICAgdHlwZTogY29udHJvbC50eXBlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5zdG9yZWRWYWx1ZXNbY29udHJvbC5uYW1lXSA9IHJhZGlhbFZhbHVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OiAvL2ZvciB0aGUgdGFnIG9wdGlvbiBvciBhbnkgb3RoZXIgb3B0aW9uIHRoYXQgZG9lcyBub3QgaGF2ZSBhbiBhY3RpdmF0ZWQgY29udHJvbFxuICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKGNvbnRyb2wubGFiZWwpO1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnRWYWx1ZSA9IHtcbiAgICAgICAgICAgIGxhYmVsOiBjb250cm9sLmxhYmVsLFxuICAgICAgICAgICAgY2hlY2tlZDogIXRoaXMuc3RvcmVkVmFsdWVzW2NvbnRyb2wubmFtZV0/LmNoZWNrZWQsXG4gICAgICAgICAgICBuYW1lOiBjb250cm9sLFxuICAgICAgICAgICAgdHlwZTogY29udHJvbC50eXBlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5zdG9yZWRWYWx1ZXNbY29udHJvbC5uYW1lXSA9IGVsZW1lbnRWYWx1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVTdWJtaXQoKSB7XG4gICAgZGVidWdnZXI7XG4gICAgY29uc3QgZm9ybURhdGE6IGFueSA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHRoaXMuc3RvcmVkVmFsdWVzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGZvcm1EYXRhW2tleV0gPSB0aGlzLnN0b3JlZFZhbHVlc1trZXldO1xuICAgIH0pO1xuICAgIGZvcm1EYXRhLnNlYXJjaCA9IHRoaXMuZmlsdGVyRm9ybS5nZXQoJ3NlYXJjaCcpPy52YWx1ZTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5jbG9zZU1vZGFsKHRoaXMubW9kYWxJZCgpIGFzIHN0cmluZyk7XG4gICAgdGhpcy5hcHBseUZpbHRlcnMuZW1pdChmb3JtRGF0YSk7XG4gIH1cblxuICBvblJlc2V0KCkge1xuICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIHRoaXMucmVzZXRGaWx0ZXJzLmVtaXQoKTtcbiAgfVxuXG4gIGdldEZvcm1Db250cm9sKHNlYXJjaDogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckZvcm0uZ2V0KHNlYXJjaCkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KCdzZWFyY2gnKT8uc2V0VmFsdWUoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm1iX2ZpbHRlcl9jYXJkXCI+XG4gIDxuZy10ZW1wbGF0ZSAjbW9kYWxUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYm1iX2ZpbHRlcl9jYXJkLW1vZGFsXCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIj5cbiAgICAgICAgQGlmIChzaG93RHJvcGRvd24oKSkge1xuICAgICAgICAgIDxibWItZHJvcGRvd25cbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclNlYXJjaCgpXCJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cImRyb3Bkb3duT3B0aW9ucygpXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImdldEZvcm1Db250cm9sKCdzZWFyY2gnKVwiXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2lzRmlsdGVyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8Ym1iLWlucHV0XG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJTZWFyY2goKVwiXG4gICAgICAgICAgICBbaWNvbl09XCInc2VhcmNoJ1wiXG4gICAgICAgICAgICBbYXBwZWFyYW5jZV09XCInbm9ybWFsJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJnZXRGb3JtQ29udHJvbCgnc2VhcmNoJylcIlxuICAgICAgICAgICAgW2lzQ2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAoY29udHJvbFR5cGUgb2YgY29udHJvbFR5cGVzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxoNCBjbGFzcz1cImJtYl9maWx0ZXJfY2FyZC10aXRsZVwiPnt7IGNvbnRyb2xUeXBlLnRpdGxlIH19PC9oND5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2ZpbHRlcl9jYXJkLWNvbnRyb2xcIj5cbiAgICAgICAgICAgIEBmb3IgKGNvbnRyb2wgb2YgY29udHJvbFR5cGUuY29udHJvbDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIEBzd2l0Y2ggKGNvbnRyb2wudHlwZSkge1xuICAgICAgICAgICAgICAgIEBjYXNlICgndGFnJykge1xuICAgICAgICAgICAgICAgICAgPGJtYi10YWdcbiAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiY29udHJvbC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNtaXNzaWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtlbmFibGVDbGlja109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzQWN0aXZlXT1cInN0b3JlZFZhbHVlc1tjb250cm9sLm5hbWVdPy5jaGVja2VkID8/IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWRUYWcpPVwib25Db250cm9sQ2hhbmdlKGNvbnRyb2wsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGNhc2UgKCdyYWRpYWwnKSB7XG4gICAgICAgICAgICAgICAgICA8Ym1iLXJhZGlhbFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjb250cm9sLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCJjb250cm9sLmlkID8/IGNvbnRyb2wubmFtZSArICctJyArICRpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckZvcm0uZ2V0KGNvbnRyb2wubmFtZSk/LnZhbHVlID09PSBjb250cm9sLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250cm9sLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNvbnRyb2xDaGFuZ2UoY29udHJvbCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb250cm9sLnZhbHVlID8/IGNvbnRyb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAY2FzZSAoJ2NoZWNrYm94Jykge1xuICAgICAgICAgICAgICAgICAgPGJtYi1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjb250cm9sLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJmaWx0ZXJGb3JtLmdldChjb250cm9sLm5hbWUpPy52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250cm9sLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNvbnRyb2xDaGFuZ2UoY29udHJvbCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cImNvbnRyb2wuaWQgPz8gY29udHJvbC5uYW1lICsgJy0nICsgJGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbnRyb2wudmFsdWUgPz8gY29udHJvbC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBjYXNlICgnc3dpdGNoJykge1xuICAgICAgICAgICAgICAgICAgPGJtYi1zd2l0Y2hcbiAgICAgICAgICAgICAgICAgICAgW3JpZ2h0VGV4dF09XCJjb250cm9sLnJpZ2h0VGV4dCA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwiZmlsdGVyRm9ybS5nZXQoY29udHJvbC5uYW1lKT8udmFsdWUgPT09IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ29udHJvbENoYW5nZShjb250cm9sLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChpbkxpbmUoKSkge1xuICAgICAgICAgIDxmb290ZXIgY2xhc3M9XCJibWJfZmlsdGVyX2NhcmQtZm9vdGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGJtYkJ1dHRvbiBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5LW91dGxpbmVkXCIgdHlwZT1cInJlc2V0XCI+XG4gICAgICAgICAgICAgIHt7IHNlY29uZGFyeUJ0bkxhYmVsKCkgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBibWJCdXR0b24gKGNsaWNrKT1cImhhbmRsZVN1Ym1pdCgpXCIgdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICB7eyBwcmltYXJ5QnRuTGFiZWwoKSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9mb290ZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICBAaWYgKGluTGluZSgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtb2RhbFRlbXBsYXRlXCIgLz5cbiAgfSBAZWxzZSB7XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJtYl9maWx0ZXJfY2FyZC1idXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm9wZW5Nb2RhbENvbXBvbmVudCgpXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgID5cbiAgICAgIDxibWItaWNvbiBbaWNvbl09XCJpY29uKClcIiBhbHQ9XCJGaWx0ZXIgaWNvblwiIC8+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuIl19
@@ -34,6 +34,7 @@ export class BmbInputValidatorComponent {
34
34
  this.helperMessage = input('');
35
35
  this.errorMessage = input('');
36
36
  this.customValidation = input();
37
+ this.isMultipleFile = input(true);
37
38
  this.showError = model(false);
38
39
  this.control = model();
39
40
  }
@@ -169,10 +170,10 @@ export class BmbInputValidatorComponent {
169
170
  return '';
170
171
  }
171
172
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputValidatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
172
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbInputValidatorComponent, isStandalone: true, selector: "bmb-input-validator", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, jsonFormat: { classPropertyName: "jsonFormat", publicName: "jsonFormat", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, showMaxTextLength: { classPropertyName: "showMaxTextLength", publicName: "showMaxTextLength", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { showError: "showErrorChange", control: "controlChange" }, ngImport: i0, template: "<section\n #inputValidation\n class=\"bmb_input-validator\"\n [ngClass]=\"{ disabled: control()?.disabled }\"\n>\n <span\n class=\"bmb_input-validator-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validator')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === 'text-area' && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validator-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validator-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validator-label-tooltip\"\n [text]=\"tooltip()\"\n [align]=\"tooltipPosition().align\"\n [justify]=\"tooltipPosition().justify\"\n [icon]=\"'help'\"\n [size]=\"20\"\n />\n }\n @if (type() === 'text-area' && showMaxTextLength()) {\n <span class=\"bmb_input-validator-label-max\">\n {{ control()?.value?.toString().length }}/{{ maxLength() || '-' }}\n </span>\n }\n </label>\n }\n <ng-content />\n </span>\n @if (!!helperMessage() || showError()) {\n <div class=\"bmb_input-validator-support\">\n @if (showError()) {\n <p class=\"bmb_input-validator-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validator-support-helper-' + appearance()\">\n {{ helperMessage() }}\n </p>\n }\n </div>\n }\n</section>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-validator{-webkit-user-select:none;user-select:none}.bmb_input-validator-wrapper{display:block;position:relative}.bmb_input-validator-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validator-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer;align-items:center}.bmb_input-validator-label{display:flex;position:relative;padding:var(--bmb-spacing-s);gap:var(--bmb-spacing-s);font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100)}.bmb_input-validator-label-required{color:var(--input-error)}.bmb_input-validator-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validator-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validator-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validator-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validator-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validator-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validator.disabled{pointer-events:none;opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: BmbTooltipComponent, selector: "bmb-tooltip", inputs: ["text", "title", "icon", "size", "align", "justify", "isFill"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
173
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbInputValidatorComponent, isStandalone: true, selector: "bmb-input-validator", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, jsonFormat: { classPropertyName: "jsonFormat", publicName: "jsonFormat", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, showMaxTextLength: { classPropertyName: "showMaxTextLength", publicName: "showMaxTextLength", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, isMultipleFile: { classPropertyName: "isMultipleFile", publicName: "isMultipleFile", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { showError: "showErrorChange", control: "controlChange" }, ngImport: i0, template: "<section\n #inputValidation\n class=\"bmb_input-validator\"\n [ngClass]=\"{ disabled: control()?.disabled }\"\n>\n <span\n class=\"bmb_input-validator-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validator')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === 'text-area' && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validator-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validator-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validator-label-tooltip\"\n [text]=\"tooltip()\"\n [align]=\"tooltipPosition().align\"\n [justify]=\"tooltipPosition().justify\"\n [icon]=\"'help'\"\n [size]=\"20\"\n />\n }\n @if (type() === 'text-area' && showMaxTextLength()) {\n <span class=\"bmb_input-validator-label-max\">\n {{ control()?.value?.toString().length }}/{{ maxLength() || '-' }}\n </span>\n }\n </label>\n }\n <ng-content />\n </span>\n @if (!!helperMessage() || showError()) {\n <div class=\"bmb_input-validator-support\">\n @if (showError()) {\n <p class=\"bmb_input-validator-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validator-support-helper-' + appearance()\">\n {{ helperMessage() }}\n </p>\n }\n </div>\n }\n</section>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-validator{-webkit-user-select:none;user-select:none}.bmb_input-validator-wrapper{display:block;position:relative}.bmb_input-validator-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validator-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer;align-items:center}.bmb_input-validator-label{display:flex;position:relative;padding:var(--bmb-spacing-s);gap:var(--bmb-spacing-s);font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100)}.bmb_input-validator-label-required{color:var(--input-error)}.bmb_input-validator-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validator-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validator-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validator-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validator-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validator-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validator.disabled{pointer-events:none;opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: BmbTooltipComponent, selector: "bmb-tooltip", inputs: ["text", "title", "icon", "size", "align", "justify", "isFill"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
173
174
  }
174
175
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputValidatorComponent, decorators: [{
175
176
  type: Component,
176
177
  args: [{ selector: 'bmb-input-validator', standalone: true, imports: [CommonModule, ReactiveFormsModule, BmbTooltipComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n #inputValidation\n class=\"bmb_input-validator\"\n [ngClass]=\"{ disabled: control()?.disabled }\"\n>\n <span\n class=\"bmb_input-validator-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validator')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === 'text-area' && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validator-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validator-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validator-label-tooltip\"\n [text]=\"tooltip()\"\n [align]=\"tooltipPosition().align\"\n [justify]=\"tooltipPosition().justify\"\n [icon]=\"'help'\"\n [size]=\"20\"\n />\n }\n @if (type() === 'text-area' && showMaxTextLength()) {\n <span class=\"bmb_input-validator-label-max\">\n {{ control()?.value?.toString().length }}/{{ maxLength() || '-' }}\n </span>\n }\n </label>\n }\n <ng-content />\n </span>\n @if (!!helperMessage() || showError()) {\n <div class=\"bmb_input-validator-support\">\n @if (showError()) {\n <p class=\"bmb_input-validator-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validator-support-helper-' + appearance()\">\n {{ helperMessage() }}\n </p>\n }\n </div>\n }\n</section>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-validator{-webkit-user-select:none;user-select:none}.bmb_input-validator-wrapper{display:block;position:relative}.bmb_input-validator-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validator-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer;align-items:center}.bmb_input-validator-label{display:flex;position:relative;padding:var(--bmb-spacing-s);gap:var(--bmb-spacing-s);font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100)}.bmb_input-validator-label-required{color:var(--input-error)}.bmb_input-validator-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validator-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validator-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validator-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validator-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validator-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validator.disabled{pointer-events:none;opacity:.5}\n"] }]
177
178
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBR0wsbUJBQW1CLEVBRW5CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBa0J4RCxNQUFNLE9BQU8sMEJBQTBCO0lBK0JyQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTlCMUMsWUFBTyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1QixTQUFJLEdBQUcsS0FBSyxDQUFtQyxNQUFNLENBQUMsQ0FBQztRQUN2RCxlQUFVLEdBQUcsS0FBSyxDQUErQixRQUFRLENBQUMsQ0FBQztRQUMzRCxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxFQUEyQixDQUFDO1FBQ2pELFNBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDekIsVUFBSyxHQUFHLEtBQUssRUFBcUIsQ0FBQztRQUNuQyxZQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxRQUFHLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdEIsUUFBRyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM1QixjQUFTLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDNUIsWUFBTyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzFCLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsWUFBTyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1QixTQUFJLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsS0FBSyxDQUEyQjtZQUNoRCxLQUFLLEVBQUUsT0FBTztZQUNkLE9BQU8sRUFBRSxRQUFRO1NBQ2xCLENBQUMsQ0FBQztRQUNILHNCQUFpQixHQUFHLEtBQUssQ0FBaUIsSUFBSSxDQUFDLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDbEMsaUJBQVksR0FBRyxLQUFLLENBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELHFCQUFnQixHQUFHLEtBQUssRUFBK0IsQ0FBQztRQUV4RCxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLFlBQU8sR0FBRyxLQUFLLEVBQWUsQ0FBQztJQUVjLENBQUM7SUFFOUMsUUFBUTtRQUNOLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFHLEVBQUUsQ0FBQztZQUM5RCxNQUFNLElBQUksS0FBSyxDQUNiO2FBQ0ssSUFBSSxDQUFDLElBQUksRUFBRTs7a0JBRU4sSUFBSSxDQUFDLEdBQUcsRUFBRTtrQkFDVixJQUFJLENBQUMsR0FBRyxFQUFFO1dBQ2pCLENBQ0osQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQ1osSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFDakIsSUFBSSxDQUFDLEdBQUcsRUFBRyxFQUNYLElBQUksQ0FBQyxHQUFHLEVBQUcsRUFDWCxJQUFJLENBQUMsU0FBUyxFQUFHLEVBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUcsRUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRyxDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUNkLElBQVksRUFDWixLQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsVUFBbUIsRUFDbkIsR0FBVyxFQUNYLEdBQVcsRUFDWCxTQUFpQixFQUNqQixPQUFlLEVBQ2YsWUFBcUIsRUFDckIsZ0JBQTZDO1FBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNyRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUVELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDcEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsaUJBQThCLEVBQUUsRUFBRSxDQUMxRCxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUN0RSxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUM7O1lBQzVDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBK0I7UUFDNUMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsT0FBd0IsRUFBaUMsRUFBRTtnQkFDakUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDbkIsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztnQkFFRCxJQUFJLFNBQVMsS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUM7d0JBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzFCLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7b0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzt3QkFDWCxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO29CQUMvQixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUNOLE9BQW9CLEVBQ3BCLElBQVksRUFDWixLQUFjLEVBQ2QsT0FBZ0I7UUFFaEIsSUFBSSxJQUFJLEtBQUssVUFBVSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUM1QyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxDQUFDLEtBQUs7b0JBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7b0JBQ2hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEIsSUFBSSxPQUFPO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsU0FBaUI7UUFDMUIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMxRCxPQUFPLGdCQUFnQixDQUFDLEdBQUcsU0FBUyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRyxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFlBQVksQ0FDVixhQUE2QixFQUM3QixJQUFZLEVBQ1osa0JBQTBCO1FBRTFCLElBQUksQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUUsYUFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDbkQsT0FBUSxhQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLENBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQW9CLENBQUM7UUFFNUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixTQUFTLEVBQ1QsMENBQTBDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUMzRCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixLQUFLLEVBQ0wsZ0RBQWdELElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUM3RCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixLQUFLLEVBQ0wsZ0RBQWdELElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUM3RCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixXQUFXLEVBQ1gsOEJBQThCLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUM1RCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixXQUFXLEVBQ1gsNEJBQTRCLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUMxRCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixVQUFVLEVBQ1YsZ0NBQWdDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUMvQyxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixZQUFZLEVBQ1osdURBQXVELENBQ3hELENBQUM7UUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUM7WUFDOUMsT0FBTyxhQUFhLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBRS9DLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FyUFUsMEJBQTBCO21HQUExQiwwQkFBMEIseTJHQzNDdkMsNmxEQXFEQSx5ck9EaEJZLFlBQVksNEhBQUUsbUJBQW1CLCtCQUFFLG1CQUFtQjs7NEZBTXJELDBCQUEwQjtrQkFUdEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLGlCQUdsRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJQm1iSW5wdXRBcHBlYXJhbmNlLFxuICBJQm1iSW5wdXRFcnJvcixcbiAgSUJtYklucHV0VG9vbHRpcFBvc2l0aW9uLFxuICBJQm1iSW5wdXRUeXBlLFxufSBmcm9tICcuLi9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2wsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQmJtU2lkZVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJtYlRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ibWItdG9vbHRpcC9ibWItdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UG9zaXRpb25DbGFzcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgSUJtYklucHV0VmFsVHlwZSA9XG4gIHwgJ3JhZGlvJ1xuICB8ICdjaGVja2JveCdcbiAgfCAnZW1haWwnXG4gIHwgJ3Bob25lJ1xuICB8ICdzd2l0Y2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItaW5wdXQtdmFsaWRhdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQm1iVG9vbHRpcENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItaW5wdXQtdmFsaWRhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC12YWxpZGF0b3IuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpbnB1dElkID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHR5cGUgPSBpbnB1dDxJQm1iSW5wdXRUeXBlIHwgSUJtYklucHV0VmFsVHlwZT4oJ3RleHQnKTtcbiAgYXBwZWFyYW5jZSA9IGlucHV0PElCbWJJbnB1dEFwcGVhcmFuY2UgfCBzdHJpbmc+KCdub3JtYWwnKTtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgbGFiZWxQb3NpdGlvbiA9IGlucHV0PElCYm1TaWRlUG9zaXRpb24gfCBudWxsPigpO1xuICBuYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHZhbHVlID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XG4gIGNoZWNrZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG1heCA9IGlucHV0PG51bWJlcj4oKTtcbiAgbWluID0gaW5wdXQ8bnVtYmVyPigpO1xuICBtYXhMZW5ndGggPSBpbnB1dDxudW1iZXI+KCk7XG4gIG1pbkxlbmd0aCA9IGlucHV0PG51bWJlcj4oKTtcbiAgcGF0dGVybiA9IGlucHV0PHN0cmluZz4oKTtcbiAganNvbkZvcm1hdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgdG9vbHRpcCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByb3dzID0gaW5wdXQ8bnVtYmVyPigzKTtcbiAgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8SUJtYklucHV0VG9vbHRpcFBvc2l0aW9uPih7XG4gICAgYWxpZ246ICdhYm92ZScsXG4gICAganVzdGlmeTogJ2JlZm9yZScsXG4gIH0pO1xuICBzaG93TWF4VGV4dExlbmd0aCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPih0cnVlKTtcbiAgaGVscGVyTWVzc2FnZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBlcnJvck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmcgfCBJQm1iSW5wdXRFcnJvcj4oJycpO1xuICBjdXN0b21WYWxpZGF0aW9uID0gaW5wdXQ8VmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdPigpO1xuXG4gIHNob3dFcnJvciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLm1pbigpICYmICEhdGhpcy5tYXgoKSAmJiB0aGlzLm1heCgpISA8IHRoaXMubWluKCkhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBcbiAgICAgICAgICBbJHt0aGlzLm5hbWUoKX1dOiBQbGVhc2UgZW50ZXIgYSB2YWx1ZSBncmVhdGVyIG9yIGVxdWFsIHRoYW4gbWluLlxuICAgICAgICAgIFRoZSB2YWx1ZXMg4oCL4oCLZW50ZXJlZCBhcmU6XG4gICAgICAgICAgLW1pbjogJHt0aGlzLm1pbigpfVxuICAgICAgICAgIC1tYXg6ICR7dGhpcy5tYXgoKX1cbiAgICAgICAgICBgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZENvbnRyb2xDb25maWcoXG4gICAgICB0aGlzLnR5cGUoKSxcbiAgICAgIHRoaXMudmFsdWUoKSxcbiAgICAgIHRoaXMuY2hlY2tlZCgpLFxuICAgICAgdGhpcy5pc1JlcXVpcmVkKCksXG4gICAgICB0aGlzLm1pbigpISxcbiAgICAgIHRoaXMubWF4KCkhLFxuICAgICAgdGhpcy5taW5MZW5ndGgoKSEsXG4gICAgICB0aGlzLnBhdHRlcm4oKSEsXG4gICAgICB0aGlzLmpzb25Gb3JtYXQoKSxcbiAgICAgIHRoaXMuY3VzdG9tVmFsaWRhdGlvbigpISxcbiAgICApO1xuICB9XG5cbiAgYWRkQ29udHJvbENvbmZpZyhcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgY2hlY2tlZDogYm9vbGVhbixcbiAgICBpc1JlcXVpcmVkOiBib29sZWFuLFxuICAgIG1pbjogbnVtYmVyLFxuICAgIG1heDogbnVtYmVyLFxuICAgIG1pbkxlbmd0aDogbnVtYmVyLFxuICAgIHBhdHRlcm46IHN0cmluZyxcbiAgICBpc0pzb25Gb3JtYXQ6IGJvb2xlYW4sXG4gICAgY3VzdG9tVmFsaWRhdGlvbjogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpPy52YWx1ZSAmJiAoISF2YWx1ZSB8fCBjaGVja2VkKSkge1xuICAgICAgdGhpcy5hZGRWYWx1ZSh0aGlzLmNvbnRyb2woKSEsIHR5cGUsIHZhbHVlLCBjaGVja2VkKTtcbiAgICB9XG5cbiAgICBpZiAoaXNSZXF1aXJlZCAmJiAhdGhpcy5jb250cm9sKCk/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuXG4gICAgaWYgKG1pbikge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW4obWluKSk7XG4gICAgfVxuXG4gICAgaWYgKG1heCkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5tYXgobWF4KSk7XG4gICAgfVxuXG4gICAgaWYgKG1pbkxlbmd0aCkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW5MZW5ndGgobWluTGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgaWYgKHBhdHRlcm4pIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucGF0dGVybihwYXR0ZXJuKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdlbWFpbCcgJiYgIXRoaXMuY29udHJvbCgpPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5lbWFpbCkpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuZW1haWwpO1xuICAgIH1cblxuICAgIGlmIChpc0pzb25Gb3JtYXQpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yRXJyb3IoJ2pzb25WYWxpZGF0aW9uJykpO1xuICAgIH1cblxuICAgIGlmICghIWN1c3RvbVZhbGlkYXRpb24pIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1c3RvbVZhbGlkYXRpb24pKSB7XG4gICAgICAgIGN1c3RvbVZhbGlkYXRpb24uZm9yRWFjaCgoY3VycmVudFZhbGlkYXRpb246IFZhbGlkYXRvckZuKSA9PlxuICAgICAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yRXJyb3IoY3VycmVudFZhbGlkYXRpb24pKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yRXJyb3IoY3VzdG9tVmFsaWRhdGlvbikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQoKSkgdGhpcy5jb250cm9sKCk/LmRpc2FibGUoKTtcbiAgICBlbHNlIHRoaXMuY29udHJvbCgpPy5lbmFibGUoKTtcblxuICAgIHRoaXMuY29udHJvbCgpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgdmFsaWRhdG9yRXJyb3IoZXJyb3JUeXBlOiBzdHJpbmcgfCBWYWxpZGF0b3JGbik6IFZhbGlkYXRvckZuIHtcbiAgICBpZiAodHlwZW9mIGVycm9yVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvclR5cGUgPT09ICdqc29uVmFsaWRhdGlvbicpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgSlNPTi5wYXJzZShjb250cm9sLnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGludmFsaWRKc29uOiB0cnVlIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVycm9yVHlwZTtcbiAgICB9XG4gIH1cblxuICBhZGRWYWx1ZShcbiAgICBjb250cm9sOiBGb3JtQ29udHJvbCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgY2hlY2tlZDogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHR5cGUgPT09ICdjaGVja2JveCcgfHwgdHlwZSA9PT0gJ3JhZGlvJykge1xuICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgaWYgKCEhdmFsdWUpIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICBlbHNlIGNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdzd2l0Y2gnKSB7XG4gICAgICBpZiAoY2hlY2tlZCkgY29udHJvbC5zZXRWYWx1ZShjaGVja2VkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGdldENsYXNzZXMoY2xhc3NOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnR5cGUoKSA9PT0gJ3JhZGlvJyB8fCB0aGlzLnR5cGUoKSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgcmV0dXJuIGdldFBvc2l0aW9uQ2xhc3MoYCR7Y2xhc3NOYW1lfS1kaXJlY3Rpb25gLCB0aGlzLmxhYmVsUG9zaXRpb24oKSEpO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldEVycm9yVHlwZShcbiAgICBlcnJvck1lc3NhZ2VzOiBJQm1iSW5wdXRFcnJvcixcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgYWx0ZXJuYXRpdmVNZXNzYWdlOiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCEhZXJyb3JNZXNzYWdlcyAmJiAhIShlcnJvck1lc3NhZ2VzIGFzIGFueSlbdHlwZV0pXG4gICAgICByZXR1cm4gKGVycm9yTWVzc2FnZXMgYXMgYW55KVt0eXBlXTtcbiAgICByZXR1cm4gYWx0ZXJuYXRpdmVNZXNzYWdlO1xuICB9XG5cbiAgaXNGaWVsZFJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbnRyb2woKT8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpIHx8IHRoaXMuaXNSZXF1aXJlZCgpXG4gICAgKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdGhpcy5lcnJvck1lc3NhZ2UoKSA9PT0gJ3N0cmluZycgJiYgISF0aGlzLmVycm9yTWVzc2FnZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2UoKS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSB0aGlzLmVycm9yTWVzc2FnZSgpIGFzIElCbWJJbnB1dEVycm9yO1xuXG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcigncGF0dGVybicpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAncGF0dGVybicsXG4gICAgICAgIGBQb3IgZmF2b3IgaW5ncmVzYSBlbCBmb3JtYXRvIHBlcm1pdGlkbyAke3RoaXMucGF0dGVybigpfWAsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ21pbicpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnbWluJyxcbiAgICAgICAgYFBvciBmYXZvciBpbmdyZXNhIHVuIHZhbG9yIG1heW9yIG8gaWd1YWwgcXVlICR7dGhpcy5taW4oKX1gLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdtYXgnKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ21heCcsXG4gICAgICAgIGBQb3IgZmF2b3IgaW5ncmVzYSB1biB2YWxvciBtZW5vciBvIGlndWFsIHF1ZSAke3RoaXMubWF4KCl9YCxcbiAgICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcignbWlubGVuZ3RoJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdtaW5MZW5ndGgnLFxuICAgICAgICBgUG9yIGZhdm9yIGluZ3Jlc2EgYWwgbWVub3MgJHt0aGlzLm1pbkxlbmd0aCgpfSBjYXLDoWN0ZXJlc2AsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ21heGxlbmd0aCcpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnbWF4TGVuZ3RoJyxcbiAgICAgICAgYFBvciBmYXZvciBpbmdyZXNhIG3DoXhpbW8gJHt0aGlzLm1heExlbmd0aCgpfSBjYXLDoWN0ZXJlc2AsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdyZXF1aXJlZCcsXG4gICAgICAgIGBQb3IgZmF2b3IgaW5ncmVzYSBlbCBkYXRvIGRlICR7dGhpcy5sYWJlbCgpfWAsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ2ludmFsaWRKc29uJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdqc29uRm9ybWF0JyxcbiAgICAgICAgJ1BvciBmYXZvciBpbmdyZXNhIGVsIGNvbnRlbmlkbyBlbiBmb3JtYXRvIEpTT04gdsOhbGlkbycsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ2N1c3RvbVZhbGlkYXRpb24nKSlcbiAgICAgIHJldHVybiBlcnJvck1lc3NhZ2VzPy5jdXN0b21WYWxpZGF0aW9uIHx8ICcnO1xuXG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICAjaW5wdXRWYWxpZGF0aW9uXG4gIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvclwiXG4gIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGNvbnRyb2woKT8uZGlzYWJsZWQgfVwiXG4+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdG9yLXdyYXBwZXJcIlxuICAgIFtuZ0NsYXNzXT1cImdldENsYXNzZXMoJ2JtYl9pbnB1dC12YWxpZGF0b3InKVwiXG4gID5cbiAgICBAaWYgKFxuICAgICAgISFsYWJlbCgpIHx8XG4gICAgICBpc1JlcXVpcmVkKCkgfHxcbiAgICAgICEhdG9vbHRpcCgpIHx8XG4gICAgICAodHlwZSgpID09PSAndGV4dC1hcmVhJyAmJiBzaG93TWF4VGV4dExlbmd0aCgpKVxuICAgICkge1xuICAgICAgPGxhYmVsIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1sYWJlbFwiIFtodG1sRm9yXT1cImlucHV0SWQoKVwiPlxuICAgICAgICB7eyBsYWJlbCgpIH19XG4gICAgICAgIEBpZiAoaXNGaWVsZFJlcXVpcmVkKCkpIHtcbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdG9yLWxhYmVsLXJlcXVpcmVkXCI+Kjwvc21hbGw+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghIXRvb2x0aXAoKSkge1xuICAgICAgICAgIDxibWItdG9vbHRpcFxuICAgICAgICAgICAgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdG9yLWxhYmVsLXRvb2x0aXBcIlxuICAgICAgICAgICAgW3RleHRdPVwidG9vbHRpcCgpXCJcbiAgICAgICAgICAgIFthbGlnbl09XCJ0b29sdGlwUG9zaXRpb24oKS5hbGlnblwiXG4gICAgICAgICAgICBbanVzdGlmeV09XCJ0b29sdGlwUG9zaXRpb24oKS5qdXN0aWZ5XCJcbiAgICAgICAgICAgIFtpY29uXT1cIidoZWxwJ1wiXG4gICAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHR5cGUoKSA9PT0gJ3RleHQtYXJlYScgJiYgc2hvd01heFRleHRMZW5ndGgoKSkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1sYWJlbC1tYXhcIj5cbiAgICAgICAgICAgIHt7IGNvbnRyb2woKT8udmFsdWU/LnRvU3RyaW5nKCkubGVuZ3RoIH19L3t7IG1heExlbmd0aCgpIHx8ICctJyB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9sYWJlbD5cbiAgICB9XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC9zcGFuPlxuICBAaWYgKCEhaGVscGVyTWVzc2FnZSgpIHx8IHNob3dFcnJvcigpKSB7XG4gICAgPGRpdiBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0b3Itc3VwcG9ydFwiPlxuICAgICAgQGlmIChzaG93RXJyb3IoKSkge1xuICAgICAgICA8cCBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0b3Itc3VwcG9ydC1lcnJvclwiPlxuICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgpIH19XG4gICAgICAgIDwvcD5cbiAgICAgIH0gQGVsc2UgaWYgKCEhaGVscGVyTWVzc2FnZSgpKSB7XG4gICAgICAgIDxwIFtjbGFzc109XCInYm1iX2lucHV0LXZhbGlkYXRvci1zdXBwb3J0LWhlbHBlci0nICsgYXBwZWFyYW5jZSgpXCI+XG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSgpIH19XG4gICAgICAgIDwvcD5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9zZWN0aW9uPlxuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBR0wsbUJBQW1CLEVBRW5CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBbUJ4RCxNQUFNLE9BQU8sMEJBQTBCO0lBZ0NyQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQS9CMUMsWUFBTyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1QixTQUFJLEdBQUcsS0FBSyxDQUFtQyxNQUFNLENBQUMsQ0FBQztRQUN2RCxlQUFVLEdBQUcsS0FBSyxDQUErQixRQUFRLENBQUMsQ0FBQztRQUMzRCxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxFQUEyQixDQUFDO1FBQ2pE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QUFFLG1CQUFtQixDQUFDLGlCQUdsRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJQm1iSW5wdXRBcHBlYXJhbmNlLFxuICBJQm1iSW5wdXRFcnJvcixcbiAgSUJtYklucHV0VG9vbHRpcFBvc2l0aW9uLFxuICBJQm1iSW5wdXRUeXBlLFxufSBmcm9tICcuLi9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2wsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQmJtU2lkZVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJtYlRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ibWItdG9vbHRpcC9ibWItdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UG9zaXRpb25DbGFzcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgSUJtYklucHV0VmFsVHlwZSA9XG4gIHwgJ3JhZGlvJ1xuICB8ICdjaGVja2JveCdcbiAgfCAnZW1haWwnXG4gIHwgJ3Bob25lJ1xuICB8ICdzd2l0Y2gnXG4gIHwgJ2ZpbGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItaW5wdXQtdmFsaWRhdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQm1iVG9vbHRpcENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItaW5wdXQtdmFsaWRhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC12YWxpZGF0b3IuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpbnB1dElkID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHR5cGUgPSBpbnB1dDxJQm1iSW5wdXRUeXBlIHwgSUJtYklucHV0VmFsVHlwZT4oJ3RleHQnKTtcbiAgYXBwZWFyYW5jZSA9IGlucHV0PElCbWJJbnB1dEFwcGVhcmFuY2UgfCBzdHJpbmc+KCdub3JtYWwnKTtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgbGFiZWxQb3NpdGlvbiA9IGlucHV0PElCYm1TaWRlUG9zaXRpb24gfCBudWxsPigpO1xuICBuYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHZhbHVlID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XG4gIGNoZWNrZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG1heCA9IGlucHV0PG51bWJlcj4oKTtcbiAgbWluID0gaW5wdXQ8bnVtYmVyPigpO1xuICBtYXhMZW5ndGggPSBpbnB1dDxudW1iZXI+KCk7XG4gIG1pbkxlbmd0aCA9IGlucHV0PG51bWJlcj4oKTtcbiAgcGF0dGVybiA9IGlucHV0PHN0cmluZz4oKTtcbiAganNvbkZvcm1hdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgdG9vbHRpcCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByb3dzID0gaW5wdXQ8bnVtYmVyPigzKTtcbiAgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8SUJtYklucHV0VG9vbHRpcFBvc2l0aW9uPih7XG4gICAgYWxpZ246ICdhYm92ZScsXG4gICAganVzdGlmeTogJ2JlZm9yZScsXG4gIH0pO1xuICBzaG93TWF4VGV4dExlbmd0aCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPih0cnVlKTtcbiAgaGVscGVyTWVzc2FnZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBlcnJvck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmcgfCBJQm1iSW5wdXRFcnJvcj4oJycpO1xuICBjdXN0b21WYWxpZGF0aW9uID0gaW5wdXQ8VmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdPigpO1xuICBpc011bHRpcGxlRmlsZSA9IGlucHV0PGJvb2xlYW4gfCBudWxsPih0cnVlKTtcblxuICBzaG93RXJyb3IgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIGNvbnRyb2wgPSBtb2RlbDxGb3JtQ29udHJvbD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCEhdGhpcy5taW4oKSAmJiAhIXRoaXMubWF4KCkgJiYgdGhpcy5tYXgoKSEgPCB0aGlzLm1pbigpISkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgXG4gICAgICAgICAgWyR7dGhpcy5uYW1lKCl9XTogUGxlYXNlIGVudGVyIGEgdmFsdWUgZ3JlYXRlciBvciBlcXVhbCB0aGFuIG1pbi5cbiAgICAgICAgICBUaGUgdmFsdWVzIOKAi+KAi2VudGVyZWQgYXJlOlxuICAgICAgICAgIC1taW46ICR7dGhpcy5taW4oKX1cbiAgICAgICAgICAtbWF4OiAke3RoaXMubWF4KCl9XG4gICAgICAgICAgYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5hZGRDb250cm9sQ29uZmlnKFxuICAgICAgdGhpcy50eXBlKCksXG4gICAgICB0aGlzLnZhbHVlKCksXG4gICAgICB0aGlzLmNoZWNrZWQoKSxcbiAgICAgIHRoaXMuaXNSZXF1aXJlZCgpLFxuICAgICAgdGhpcy5taW4oKSEsXG4gICAgICB0aGlzLm1heCgpISxcbiAgICAgIHRoaXMubWluTGVuZ3RoKCkhLFxuICAgICAgdGhpcy5wYXR0ZXJuKCkhLFxuICAgICAgdGhpcy5qc29uRm9ybWF0KCksXG4gICAgICB0aGlzLmN1c3RvbVZhbGlkYXRpb24oKSEsXG4gICAgKTtcbiAgfVxuXG4gIGFkZENvbnRyb2xDb25maWcoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIGNoZWNrZWQ6IGJvb2xlYW4sXG4gICAgaXNSZXF1aXJlZDogYm9vbGVhbixcbiAgICBtaW46IG51bWJlcixcbiAgICBtYXg6IG51bWJlcixcbiAgICBtaW5MZW5ndGg6IG51bWJlcixcbiAgICBwYXR0ZXJuOiBzdHJpbmcsXG4gICAgaXNKc29uRm9ybWF0OiBib29sZWFuLFxuICAgIGN1c3RvbVZhbGlkYXRpb246IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSxcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2woKT8udmFsdWUgJiYgKCEhdmFsdWUgfHwgY2hlY2tlZCkpIHtcbiAgICAgIHRoaXMuYWRkVmFsdWUodGhpcy5jb250cm9sKCkhLCB0eXBlLCB2YWx1ZSwgY2hlY2tlZCk7XG4gICAgfVxuXG4gICAgaWYgKGlzUmVxdWlyZWQgJiYgIXRoaXMuY29udHJvbCgpPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cblxuICAgIGlmIChtaW4pIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluKG1pbikpO1xuICAgIH1cblxuICAgIGlmIChtYXgpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWF4KG1heCkpO1xuICAgIH1cblxuICAgIGlmIChtaW5MZW5ndGgpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluTGVuZ3RoKG1pbkxlbmd0aCkpO1xuICAgIH1cblxuICAgIGlmIChwYXR0ZXJuKSB7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnBhdHRlcm4ocGF0dGVybikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnZW1haWwnICYmICF0aGlzLmNvbnRyb2woKT8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMuZW1haWwpKSB7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLmVtYWlsKTtcbiAgICB9XG5cbiAgICBpZiAoaXNKc29uRm9ybWF0KSB7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvckVycm9yKCdqc29uVmFsaWRhdGlvbicpKTtcbiAgICB9XG5cbiAgICBpZiAoISFjdXN0b21WYWxpZGF0aW9uKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjdXN0b21WYWxpZGF0aW9uKSkge1xuICAgICAgICBjdXN0b21WYWxpZGF0aW9uLmZvckVhY2goKGN1cnJlbnRWYWxpZGF0aW9uOiBWYWxpZGF0b3JGbikgPT5cbiAgICAgICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvckVycm9yKGN1cnJlbnRWYWxpZGF0aW9uKSksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvckVycm9yKGN1c3RvbVZhbGlkYXRpb24pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKCkpIHRoaXMuY29udHJvbCgpPy5kaXNhYmxlKCk7XG4gICAgZWxzZSB0aGlzLmNvbnRyb2woKT8uZW5hYmxlKCk7XG5cbiAgICB0aGlzLmNvbnRyb2woKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhbGlkYXRvckVycm9yKGVycm9yVHlwZTogc3RyaW5nIHwgVmFsaWRhdG9yRm4pOiBWYWxpZGF0b3JGbiB7XG4gICAgaWYgKHR5cGVvZiBlcnJvclR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcbiAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3JUeXBlID09PSAnanNvblZhbGlkYXRpb24nKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIEpTT04ucGFyc2UoY29udHJvbC52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBpbnZhbGlkSnNvbjogdHJ1ZSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlcnJvclR5cGU7XG4gICAgfVxuICB9XG5cbiAgYWRkVmFsdWUoXG4gICAgY29udHJvbDogRm9ybUNvbnRyb2wsXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIGNoZWNrZWQ6IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGlmICh0eXBlID09PSAnY2hlY2tib3gnIHx8IHR5cGUgPT09ICdyYWRpbycpIHtcbiAgICAgIGlmIChjaGVja2VkKSB7XG4gICAgICAgIGlmICghIXZhbHVlKSBjb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgZWxzZSBjb250cm9sLnNldFZhbHVlKGNoZWNrZWQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnc3dpdGNoJykge1xuICAgICAgaWYgKGNoZWNrZWQpIGNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBnZXRDbGFzc2VzKGNsYXNzTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50eXBlKCkgPT09ICdyYWRpbycgfHwgdGhpcy50eXBlKCkgPT09ICdjaGVja2JveCcpIHtcbiAgICAgIHJldHVybiBnZXRQb3NpdGlvbkNsYXNzKGAke2NsYXNzTmFtZX0tZGlyZWN0aW9uYCwgdGhpcy5sYWJlbFBvc2l0aW9uKCkhKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRFcnJvclR5cGUoXG4gICAgZXJyb3JNZXNzYWdlczogSUJtYklucHV0RXJyb3IsXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGFsdGVybmF0aXZlTWVzc2FnZTogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIGlmICghIWVycm9yTWVzc2FnZXMgJiYgISEoZXJyb3JNZXNzYWdlcyBhcyBhbnkpW3R5cGVdKVxuICAgICAgcmV0dXJuIChlcnJvck1lc3NhZ2VzIGFzIGFueSlbdHlwZV07XG4gICAgcmV0dXJuIGFsdGVybmF0aXZlTWVzc2FnZTtcbiAgfVxuXG4gIGlzRmllbGRSZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jb250cm9sKCk/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSB8fCB0aGlzLmlzUmVxdWlyZWQoKVxuICAgICk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuZXJyb3JNZXNzYWdlKCkgPT09ICdzdHJpbmcnICYmICEhdGhpcy5lcnJvck1lc3NhZ2UoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlKCkudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvck1lc3NhZ2VzID0gdGhpcy5lcnJvck1lc3NhZ2UoKSBhcyBJQm1iSW5wdXRFcnJvcjtcblxuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ3BhdHRlcm4nLFxuICAgICAgICBgUG9yIGZhdm9yIGluZ3Jlc2EgZWwgZm9ybWF0byBwZXJtaXRpZG8gJHt0aGlzLnBhdHRlcm4oKX1gLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdtaW4nKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ21pbicsXG4gICAgICAgIGBQb3IgZmF2b3IgaW5ncmVzYSB1biB2YWxvciBtYXlvciBvIGlndWFsIHF1ZSAke3RoaXMubWluKCl9YCxcbiAgICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcignbWF4JykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdtYXgnLFxuICAgICAgICBgUG9yIGZhdm9yIGluZ3Jlc2EgdW4gdmFsb3IgbWVub3IgbyBpZ3VhbCBxdWUgJHt0aGlzLm1heCgpfWAsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnbWluTGVuZ3RoJyxcbiAgICAgICAgYFBvciBmYXZvciBpbmdyZXNhIGFsIG1lbm9zICR7dGhpcy5taW5MZW5ndGgoKX0gY2Fyw6FjdGVyZXNgLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ21heExlbmd0aCcsXG4gICAgICAgIGBQb3IgZmF2b3IgaW5ncmVzYSBtw6F4aW1vICR7dGhpcy5tYXhMZW5ndGgoKX0gY2Fyw6FjdGVyZXNgLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAncmVxdWlyZWQnLFxuICAgICAgICBgUG9yIGZhdm9yIGluZ3Jlc2EgZWwgZGF0byBkZSAke3RoaXMubGFiZWwoKX1gLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdpbnZhbGlkSnNvbicpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnanNvbkZvcm1hdCcsXG4gICAgICAgICdQb3IgZmF2b3IgaW5ncmVzYSBlbCBjb250ZW5pZG8gZW4gZm9ybWF0byBKU09OIHbDoWxpZG8nLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdjdXN0b21WYWxpZGF0aW9uJykpXG4gICAgICByZXR1cm4gZXJyb3JNZXNzYWdlcz8uY3VzdG9tVmFsaWRhdGlvbiB8fCAnJztcblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiPHNlY3Rpb25cbiAgI2lucHV0VmFsaWRhdGlvblxuICBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0b3JcIlxuICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBjb250cm9sKCk/LmRpc2FibGVkIH1cIlxuPlxuICA8c3BhblxuICAgIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci13cmFwcGVyXCJcbiAgICBbbmdDbGFzc109XCJnZXRDbGFzc2VzKCdibWJfaW5wdXQtdmFsaWRhdG9yJylcIlxuICA+XG4gICAgQGlmIChcbiAgICAgICEhbGFiZWwoKSB8fFxuICAgICAgaXNSZXF1aXJlZCgpIHx8XG4gICAgICAhIXRvb2x0aXAoKSB8fFxuICAgICAgKHR5cGUoKSA9PT0gJ3RleHQtYXJlYScgJiYgc2hvd01heFRleHRMZW5ndGgoKSlcbiAgICApIHtcbiAgICAgIDxsYWJlbCBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0b3ItbGFiZWxcIiBbaHRtbEZvcl09XCJpbnB1dElkKClcIj5cbiAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgICAgICBAaWYgKGlzRmllbGRSZXF1aXJlZCgpKSB7XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1sYWJlbC1yZXF1aXJlZFwiPio8L3NtYWxsPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoISF0b29sdGlwKCkpIHtcbiAgICAgICAgICA8Ym1iLXRvb2x0aXBcbiAgICAgICAgICAgIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1sYWJlbC10b29sdGlwXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cInRvb2x0aXAoKVwiXG4gICAgICAgICAgICBbYWxpZ25dPVwidG9vbHRpcFBvc2l0aW9uKCkuYWxpZ25cIlxuICAgICAgICAgICAgW2p1c3RpZnldPVwidG9vbHRpcFBvc2l0aW9uKCkuanVzdGlmeVwiXG4gICAgICAgICAgICBbaWNvbl09XCInaGVscCdcIlxuICAgICAgICAgICAgW3NpemVdPVwiMjBcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICh0eXBlKCkgPT09ICd0ZXh0LWFyZWEnICYmIHNob3dNYXhUZXh0TGVuZ3RoKCkpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0b3ItbGFiZWwtbWF4XCI+XG4gICAgICAgICAgICB7eyBjb250cm9sKCk/LnZhbHVlPy50b1N0cmluZygpLmxlbmd0aCB9fS97eyBtYXhMZW5ndGgoKSB8fCAnLScgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvbGFiZWw+XG4gICAgfVxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvc3Bhbj5cbiAgQGlmICghIWhlbHBlck1lc3NhZ2UoKSB8fCBzaG93RXJyb3IoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdG9yLXN1cHBvcnRcIj5cbiAgICAgIEBpZiAoc2hvd0Vycm9yKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdG9yLXN1cHBvcnQtZXJyb3JcIj5cbiAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoKSB9fVxuICAgICAgICA8L3A+XG4gICAgICB9IEBlbHNlIGlmICghIWhlbHBlck1lc3NhZ2UoKSkge1xuICAgICAgICA8cCBbY2xhc3NdPVwiJ2JtYl9pbnB1dC12YWxpZGF0b3Itc3VwcG9ydC1oZWxwZXItJyArIGFwcGVhcmFuY2UoKVwiPlxuICAgICAgICAgIHt7IGhlbHBlck1lc3NhZ2UoKSB9fVxuICAgICAgICA8L3A+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -73,7 +73,7 @@ export class BmbInputComponent {
73
73
  this.onChange.emit(value);
74
74
  }
75
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbInputComponent, isStandalone: true, selector: "bmb-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, spellcheck: { classPropertyName: "spellcheck", publicName: "spellcheck", isSignal: true, isRequired: false, transformFunction: null }, jsonFormat: { classPropertyName: "jsonFormat", publicName: "jsonFormat", isSignal: true, isRequired: false, transformFunction: null }, heightTextArea: { classPropertyName: "heightTextArea", publicName: "heightTextArea", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, showMaxTextLength: { classPropertyName: "showMaxTextLength", publicName: "showMaxTextLength", isSignal: true, isRequired: false, transformFunction: null }, additionalAction: { classPropertyName: "additionalAction", publicName: "additionalAction", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, isClearable: { classPropertyName: "isClearable", publicName: "isClearable", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { showError: "showErrorChange", control: "controlChange", isFocus: "isFocus", isBlur: "isBlur", onChange: "onChange", onKeyDown: "onKeyDown" }, queries: [{ propertyName: "customInputContent", first: true, predicate: ["customInputContent"], descendants: true }], ngImport: i0, template: "<bmb-input-validator\n [type]=\"type()\"\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"value()\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [pattern]=\"pattern()\"\n [jsonFormat]=\"jsonFormat()\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [appearance]=\"appearance()\"\n [maxLength]=\"maxlength()\"\n [minLength]=\"minlength()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [showMaxTextLength]=\"showMaxTextLength()\"\n [customValidation]=\"customValidation()\"\n [inputId]=\"id()\"\n>\n <bmb-input-content\n [inputId]=\"id()\"\n [type]=\"type()\"\n [name]=\"name()\"\n [placeholder]=\"placeholder()\"\n [icon]=\"icon()\"\n [appearance]=\"appearance()\"\n [isRequired]=\"isRequired()\"\n [spellcheck]=\"spellcheck()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [maxLength]=\"maxlength()\"\n [minLength]=\"minlength()\"\n [pattern]=\"pattern()\"\n [additionalAction]=\"additionalAction()\"\n [heightTextArea]=\"heightTextArea()\"\n [rows]=\"rows()\"\n [isClearable]=\"isClearable()\"\n [isError]=\"shouldShowError\"\n [control]=\"control()\"\n (onFocus)=\"onFocus($event)\"\n (onBlur)=\"onBlur($event)\"\n (onKeyDown)=\"handleKeyPress($event)\"\n (onChange)=\"handleChange($event)\"\n >\n <ng-template #customContent>\n <ng-container [ngTemplateOutlet]=\"customInputContent\" />\n </ng-template>\n </bmb-input-content>\n</bmb-input-validator>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbInputComponent, isStandalone: true, selector: "bmb-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, spellcheck: { classPropertyName: "spellcheck", publicName: "spellcheck", isSignal: true, isRequired: false, transformFunction: null }, jsonFormat: { classPropertyName: "jsonFormat", publicName: "jsonFormat", isSignal: true, isRequired: false, transformFunction: null }, heightTextArea: { classPropertyName: "heightTextArea", publicName: "heightTextArea", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, showMaxTextLength: { classPropertyName: "showMaxTextLength", publicName: "showMaxTextLength", isSignal: true, isRequired: false, transformFunction: null }, additionalAction: { classPropertyName: "additionalAction", publicName: "additionalAction", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, isClearable: { classPropertyName: "isClearable", publicName: "isClearable", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { showError: "showErrorChange", control: "controlChange", isFocus: "isFocus", isBlur: "isBlur", onChange: "onChange", onKeyDown: "onKeyDown" }, queries: [{ propertyName: "customInputContent", first: true, predicate: ["customInputContent"], descendants: true }], ngImport: i0, template: "<bmb-input-validator\n [type]=\"type()\"\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"value()\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [pattern]=\"pattern()\"\n [jsonFormat]=\"jsonFormat()\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [appearance]=\"appearance()\"\n [maxLength]=\"maxlength()\"\n [minLength]=\"minlength()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [showMaxTextLength]=\"showMaxTextLength()\"\n [customValidation]=\"customValidation()\"\n [inputId]=\"id()\"\n>\n <bmb-input-content\n [inputId]=\"id()\"\n [type]=\"type()\"\n [name]=\"name()\"\n [placeholder]=\"placeholder()\"\n [icon]=\"icon()\"\n [appearance]=\"appearance()\"\n [isRequired]=\"isRequired()\"\n [spellcheck]=\"spellcheck()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [maxLength]=\"maxlength()\"\n [minLength]=\"minlength()\"\n [pattern]=\"pattern()\"\n [additionalAction]=\"additionalAction()\"\n [heightTextArea]=\"heightTextArea()\"\n [rows]=\"rows()\"\n [isClearable]=\"isClearable()\"\n [isError]=\"shouldShowError\"\n [control]=\"control()\"\n (onFocus)=\"onFocus($event)\"\n (onBlur)=\"onBlur($event)\"\n (onKeyDown)=\"handleKeyPress($event)\"\n (onChange)=\"handleChange($event)\"\n >\n <ng-template #customContent>\n <ng-container [ngTemplateOutlet]=\"customInputContent\" />\n </ng-template>\n </bmb-input-content>\n</bmb-input-validator>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "isMultipleFile", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
77
77
  }
78
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputComponent, decorators: [{
79
79
  type: Component,
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
82
82
  type: ContentChild,
83
83
  args: ['customInputContent']
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFFTCxZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBK0JqQyxNQUFNLE9BQU8saUJBQWlCO0lBVDlCO1FBVUUsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixTQUFJLEdBQUcsS0FBSyxDQUFnQixNQUFNLENBQUMsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQStCLFFBQVEsQ0FBQyxDQUFDO1FBQzNELGlCQUFZLEdBQUcsS0FBSyxDQUEwQixFQUFFLENBQUMs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SSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBdUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0EzRVUsaUJBQWlCO21HQUFqQixpQkFBaUIsbzBJQ3ZEOUIsNGxEQXNEQSx5RERIWSxZQUFZLHNNQUFFLDBCQUEwQixxYkFBRSx3QkFBd0I7OzRGQUlqRSxpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsV0FBVyxjQUdULElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsQ0FBQyxtQkFDNUQsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkE0Q0Qsa0JBQWtCO3NCQUFyRCxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBtb2RlbCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJQm1iQWxpZ25Ub29sdGlwLFxuICBJQm1iSnVzdGlmeVRvb2x0aXAsXG59IGZyb20gJy4uL2JtYi10b29sdGlwL2JtYi10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYm1iLWlucHV0LXZhbGlkYXRvci9ibWItaW5wdXQtdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRVVUlEIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHsgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9ibWItaW5wdXQtY29udGVudC9ibWItaW5wdXQtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXG4gIG5ld0Zvcm1Db250cm9sQnlUeXBlLFxuICBzaG93RXJyb3IsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1Db250cm9sJztcblxuZXhwb3J0IHR5cGUgSUJtYklucHV0VHlwZSA9ICd0ZXh0JyB8ICdwYXNzd29yZCcgfCAnbnVtYmVyJyB8ICd0ZXh0LWFyZWEnO1xuZXhwb3J0IHR5cGUgSUJtYklucHV0QXBwZWFyYW5jZSA9ICdtYWluJyB8ICdub3JtYWwnIHwgJ3NpbXBsZSc7XG5leHBvcnQgdHlwZSBJQm1iQWRkaXRpb25hbEFjdGlvbiA9ICdjb3B5JyB8ICdzaG93SGlkZScgfCAnbm9uZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYklucHV0RXJyb3Ige1xuICByZXF1aXJlZD86IHN0cmluZztcbiAgbWluPzogc3RyaW5nO1xuICBtYXg/OiBzdHJpbmc7XG4gIG1pbkxlbmd0aD86IHN0cmluZztcbiAgbWF4TGVuZ3RoPzogc3RyaW5nO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBqc29uRm9ybWF0Pzogc3RyaW5nO1xuICBjdXN0b21WYWxpZGF0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbiB7XG4gIGFsaWduOiBJQm1iQWxpZ25Ub29sdGlwO1xuICBqdXN0aWZ5OiBJQm1iSnVzdGlmeVRvb2x0aXA7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1pbnB1dCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQsIEJtYklucHV0Q29udGVudENvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHR5cGUgPSBpbnB1dDxJQm1iSW5wdXRUeXBlPigndGV4dCcpO1xuICBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oJycpO1xuICBpY29uID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGFwcGVhcmFuY2UgPSBpbnB1dDxJQm1iSW5wdXRBcHBlYXJhbmNlIHwgc3RyaW5nPignbm9ybWFsJyk7XG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IElCbWJJbnB1dEVycm9yPignJyk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KGdldFVVSUQoKSk7XG4gIHNwZWxsY2hlY2sgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGpzb25Gb3JtYXQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGhlaWdodFRleHRBcmVhID0gaW5wdXQ8bnVtYmVyPigpO1xuICBtYXhsZW5ndGggPSBpbnB1dDxudW1iZXI+KCk7XG4gIG1pbmxlbmd0aCA9IGlucHV0PG51bWJlcj4oKTtcbiAgcGF0dGVybiA9IGlucHV0PHN0cmluZz4oKTtcbiAgc2l6ZSA9IGlucHV0PG51bWJlcj4oKTsgLy9EZXByZWNhdGVkXG4gIG1heCA9IGlucHV0PG51bWJlcj4oKTtcbiAgbWluID0gaW5wdXQ8bnVtYmVyPigpO1xuICBpZCA9IGlucHV0PHN0cmluZz4odGhpcy5uYW1lKCkpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgYXV0b2NvbXBsZXRlID0gaW5wdXQ8c3RyaW5nPignb2ZmJyk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcm93cyA9IGlucHV0PG51bWJlcj4oMyk7XG4gIHNob3dNYXhUZXh0TGVuZ3RoID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIGFkZGl0aW9uYWxBY3Rpb24gPSBpbnB1dDxJQm1iQWRkaXRpb25hbEFjdGlvbj4oJ25vbmUnKTtcbiAgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8SUJtYklucHV0VG9vbHRpcFBvc2l0aW9uPih7XG4gICAgYWxpZ246ICdhYm92ZScsXG4gICAganVzdGlmeTogJ2JlZm9yZScsXG4gIH0pO1xuICBpc0NsZWFyYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgY3VzdG9tVmFsaWRhdGlvbiA9IGlucHV0PFZhbGlkYXRvckZuPigpO1xuXG4gIHNob3dFcnJvciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPihuZXdGb3JtQ29udHJvbEJ5VHlwZSh0aGlzLnR5cGUoKSkpO1xuXG4gIGlzRm9jdXMgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcbiAgaXNCbHVyID0gb3V0cHV0PGJvb2xlYW4+KCk7XG4gIG9uQ2hhbmdlID0gb3V0cHV0PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gIG9uS2V5RG93biA9IG91dHB1dDxLZXlib2FyZEV2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2N1c3RvbUlucHV0Q29udGVudCcpIGN1c3RvbUlucHV0Q29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGlzQ29udHJvbE51bGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0KFxuICAgICAgICBhc3NpZ25OZXdGb3JtQ29udHJvbCh0aGlzLm5hbWUoKSwgdGhpcy5jb250cm9sKCksIHRoaXMudHlwZSgpKSEsXG4gICAgICApO1xuICAgICAgdGhpcy5pc0NvbnRyb2xOdWxsID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkZvY3VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0ZvY3VzLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgb25CbHVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0JsdXIuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzaG93RXJyb3IodGhpcy5jb250cm9sKCkpO1xuICB9XG5cbiAgaGFuZGxlS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCB8IG51bGw7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgdGhpcy5vbktleURvd24uZW1pdChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKHZhbHVlOiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPGJtYi1pbnB1dC12YWxpZGF0b3JcbiAgW3R5cGVdPVwidHlwZSgpXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW2xhYmVsXT1cImxhYmVsKClcIlxuICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlKClcIlxuICBbaGVscGVyTWVzc2FnZV09XCJoZWxwZXJNZXNzYWdlKClcIlxuICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgW3Nob3dFcnJvcl09XCJzaG91bGRTaG93RXJyb3JcIlxuICBbcGF0dGVybl09XCJwYXR0ZXJuKClcIlxuICBbanNvbkZvcm1hdF09XCJqc29uRm9ybWF0KClcIlxuICBbdG9vbHRpcF09XCJ0b29sdGlwKClcIlxuICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbigpXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW21heExlbmd0aF09XCJtYXhsZW5ndGgoKVwiXG4gIFttaW5MZW5ndGhdPVwibWlubGVuZ3RoKClcIlxuICBbbWluXT1cIm1pbigpXCJcbiAgW21heF09XCJtYXgoKVwiXG4gIFtzaG93TWF4VGV4dExlbmd0aF09XCJzaG93TWF4VGV4dExlbmd0aCgpXCJcbiAgW2N1c3RvbVZhbGlkYXRpb25dPVwiY3VzdG9tVmFsaWRhdGlvbigpXCJcbiAgW2lucHV0SWRdPVwiaWQoKVwiXG4+XG4gIDxibWItaW5wdXQtY29udGVudFxuICAgIFtpbnB1dElkXT1cImlkKClcIlxuICAgIFt0eXBlXT1cInR5cGUoKVwiXG4gICAgW25hbWVdPVwibmFtZSgpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgW2ljb25dPVwiaWNvbigpXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXG4gICAgW3NwZWxsY2hlY2tdPVwic3BlbGxjaGVjaygpXCJcbiAgICBbbWF4XT1cIm1heCgpXCJcbiAgICBbbWluXT1cIm1pbigpXCJcbiAgICBbbWF4TGVuZ3RoXT1cIm1heGxlbmd0aCgpXCJcbiAgICBbbWluTGVuZ3RoXT1cIm1pbmxlbmd0aCgpXCJcbiAgICBbcGF0dGVybl09XCJwYXR0ZXJuKClcIlxuICAgIFthZGRpdGlvbmFsQWN0aW9uXT1cImFkZGl0aW9uYWxBY3Rpb24oKVwiXG4gICAgW2hlaWdodFRleHRBcmVhXT1cImhlaWdodFRleHRBcmVhKClcIlxuICAgIFtyb3dzXT1cInJvd3MoKVwiXG4gICAgW2lzQ2xlYXJhYmxlXT1cImlzQ2xlYXJhYmxlKClcIlxuICAgIFtpc0Vycm9yXT1cInNob3VsZFNob3dFcnJvclwiXG4gICAgW2NvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgICAob25Gb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgIChvbkJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgIChvbktleURvd24pPVwiaGFuZGxlS2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tQ29udGVudD5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXRDb250ZW50XCIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2JtYi1pbnB1dC1jb250ZW50PlxuPC9ibWItaW5wdXQtdmFsaWRhdG9yPlxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFFTCxZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBK0JqQyxNQUFNLE9BQU8saUJBQWlCO0lBVDlCO1FBVUUsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixTQUFJLEdBQUcsS0FBSyxDQUFnQixNQUFNLENBQUMsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQStCLFFBQVEsQ0FBQyxDQUFDO1FBQzNELGlCQUFZLEdBQUcsS0FBSyxDQUEwQixFQUFFLENBQUMs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SSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBdUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0EzRVUsaUJBQWlCO21HQUFqQixpQkFBaUIsbzBJQ3ZEOUIsNGxEQXNEQSx5RERIWSxZQUFZLHNNQUFFLDBCQUEwQix1Y0FBRSx3QkFBd0I7OzRGQUlqRSxpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsV0FBVyxjQUdULElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsQ0FBQyxtQkFDNUQsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkE0Q0Qsa0JBQWtCO3NCQUFyRCxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBtb2RlbCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJQm1iQWxpZ25Ub29sdGlwLFxuICBJQm1iSnVzdGlmeVRvb2x0aXAsXG59IGZyb20gJy4uL2JtYi10b29sdGlwL2JtYi10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYm1iLWlucHV0LXZhbGlkYXRvci9ibWItaW5wdXQtdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRVVUlEIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHsgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9ibWItaW5wdXQtY29udGVudC9ibWItaW5wdXQtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXG4gIG5ld0Zvcm1Db250cm9sQnlUeXBlLFxuICBzaG93RXJyb3IsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1Db250cm9sJztcblxuZXhwb3J0IHR5cGUgSUJtYklucHV0VHlwZSA9ICd0ZXh0JyB8ICdwYXNzd29yZCcgfCAnbnVtYmVyJyB8ICd0ZXh0LWFyZWEnO1xuZXhwb3J0IHR5cGUgSUJtYklucHV0QXBwZWFyYW5jZSA9ICdtYWluJyB8ICdub3JtYWwnIHwgJ3NpbXBsZSc7XG5leHBvcnQgdHlwZSBJQm1iQWRkaXRpb25hbEFjdGlvbiA9ICdjb3B5JyB8ICdzaG93SGlkZScgfCAnbm9uZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYklucHV0RXJyb3Ige1xuICByZXF1aXJlZD86IHN0cmluZztcbiAgbWluPzogc3RyaW5nO1xuICBtYXg/OiBzdHJpbmc7XG4gIG1pbkxlbmd0aD86IHN0cmluZztcbiAgbWF4TGVuZ3RoPzogc3RyaW5nO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBqc29uRm9ybWF0Pzogc3RyaW5nO1xuICBjdXN0b21WYWxpZGF0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbiB7XG4gIGFsaWduOiBJQm1iQWxpZ25Ub29sdGlwO1xuICBqdXN0aWZ5OiBJQm1iSnVzdGlmeVRvb2x0aXA7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1pbnB1dCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQsIEJtYklucHV0Q29udGVudENvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHR5cGUgPSBpbnB1dDxJQm1iSW5wdXRUeXBlPigndGV4dCcpO1xuICBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oJycpO1xuICBpY29uID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGFwcGVhcmFuY2UgPSBpbnB1dDxJQm1iSW5wdXRBcHBlYXJhbmNlIHwgc3RyaW5nPignbm9ybWFsJyk7XG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IElCbWJJbnB1dEVycm9yPignJyk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KGdldFVVSUQoKSk7XG4gIHNwZWxsY2hlY2sgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGpzb25Gb3JtYXQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGhlaWdodFRleHRBcmVhID0gaW5wdXQ8bnVtYmVyPigpO1xuICBtYXhsZW5ndGggPSBpbnB1dDxudW1iZXI+KCk7XG4gIG1pbmxlbmd0aCA9IGlucHV0PG51bWJlcj4oKTtcbiAgcGF0dGVybiA9IGlucHV0PHN0cmluZz4oKTtcbiAgc2l6ZSA9IGlucHV0PG51bWJlcj4oKTsgLy9EZXByZWNhdGVkXG4gIG1heCA9IGlucHV0PG51bWJlcj4oKTtcbiAgbWluID0gaW5wdXQ8bnVtYmVyPigpO1xuICBpZCA9IGlucHV0PHN0cmluZz4odGhpcy5uYW1lKCkpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgYXV0b2NvbXBsZXRlID0gaW5wdXQ8c3RyaW5nPignb2ZmJyk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcm93cyA9IGlucHV0PG51bWJlcj4oMyk7XG4gIHNob3dNYXhUZXh0TGVuZ3RoID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIGFkZGl0aW9uYWxBY3Rpb24gPSBpbnB1dDxJQm1iQWRkaXRpb25hbEFjdGlvbj4oJ25vbmUnKTtcbiAgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8SUJtYklucHV0VG9vbHRpcFBvc2l0aW9uPih7XG4gICAgYWxpZ246ICdhYm92ZScsXG4gICAganVzdGlmeTogJ2JlZm9yZScsXG4gIH0pO1xuICBpc0NsZWFyYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgY3VzdG9tVmFsaWRhdGlvbiA9IGlucHV0PFZhbGlkYXRvckZuPigpO1xuXG4gIHNob3dFcnJvciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPihuZXdGb3JtQ29udHJvbEJ5VHlwZSh0aGlzLnR5cGUoKSkpO1xuXG4gIGlzRm9jdXMgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcbiAgaXNCbHVyID0gb3V0cHV0PGJvb2xlYW4+KCk7XG4gIG9uQ2hhbmdlID0gb3V0cHV0PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gIG9uS2V5RG93biA9IG91dHB1dDxLZXlib2FyZEV2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2N1c3RvbUlucHV0Q29udGVudCcpIGN1c3RvbUlucHV0Q29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGlzQ29udHJvbE51bGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0KFxuICAgICAgICBhc3NpZ25OZXdGb3JtQ29udHJvbCh0aGlzLm5hbWUoKSwgdGhpcy5jb250cm9sKCksIHRoaXMudHlwZSgpKSEsXG4gICAgICApO1xuICAgICAgdGhpcy5pc0NvbnRyb2xOdWxsID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkZvY3VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0ZvY3VzLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgb25CbHVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0JsdXIuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzaG93RXJyb3IodGhpcy5jb250cm9sKCkpO1xuICB9XG5cbiAgaGFuZGxlS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCB8IG51bGw7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgdGhpcy5vbktleURvd24uZW1pdChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKHZhbHVlOiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPGJtYi1pbnB1dC12YWxpZGF0b3JcbiAgW3R5cGVdPVwidHlwZSgpXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW2xhYmVsXT1cImxhYmVsKClcIlxuICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlKClcIlxuICBbaGVscGVyTWVzc2FnZV09XCJoZWxwZXJNZXNzYWdlKClcIlxuICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgW3Nob3dFcnJvcl09XCJzaG91bGRTaG93RXJyb3JcIlxuICBbcGF0dGVybl09XCJwYXR0ZXJuKClcIlxuICBbanNvbkZvcm1hdF09XCJqc29uRm9ybWF0KClcIlxuICBbdG9vbHRpcF09XCJ0b29sdGlwKClcIlxuICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbigpXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW21heExlbmd0aF09XCJtYXhsZW5ndGgoKVwiXG4gIFttaW5MZW5ndGhdPVwibWlubGVuZ3RoKClcIlxuICBbbWluXT1cIm1pbigpXCJcbiAgW21heF09XCJtYXgoKVwiXG4gIFtzaG93TWF4VGV4dExlbmd0aF09XCJzaG93TWF4VGV4dExlbmd0aCgpXCJcbiAgW2N1c3RvbVZhbGlkYXRpb25dPVwiY3VzdG9tVmFsaWRhdGlvbigpXCJcbiAgW2lucHV0SWRdPVwiaWQoKVwiXG4+XG4gIDxibWItaW5wdXQtY29udGVudFxuICAgIFtpbnB1dElkXT1cImlkKClcIlxuICAgIFt0eXBlXT1cInR5cGUoKVwiXG4gICAgW25hbWVdPVwibmFtZSgpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgW2ljb25dPVwiaWNvbigpXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXG4gICAgW3NwZWxsY2hlY2tdPVwic3BlbGxjaGVjaygpXCJcbiAgICBbbWF4XT1cIm1heCgpXCJcbiAgICBbbWluXT1cIm1pbigpXCJcbiAgICBbbWF4TGVuZ3RoXT1cIm1heGxlbmd0aCgpXCJcbiAgICBbbWluTGVuZ3RoXT1cIm1pbmxlbmd0aCgpXCJcbiAgICBbcGF0dGVybl09XCJwYXR0ZXJuKClcIlxuICAgIFthZGRpdGlvbmFsQWN0aW9uXT1cImFkZGl0aW9uYWxBY3Rpb24oKVwiXG4gICAgW2hlaWdodFRleHRBcmVhXT1cImhlaWdodFRleHRBcmVhKClcIlxuICAgIFtyb3dzXT1cInJvd3MoKVwiXG4gICAgW2lzQ2xlYXJhYmxlXT1cImlzQ2xlYXJhYmxlKClcIlxuICAgIFtpc0Vycm9yXT1cInNob3VsZFNob3dFcnJvclwiXG4gICAgW2NvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgICAob25Gb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgIChvbkJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgIChvbktleURvd24pPVwiaGFuZGxlS2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tQ29udGVudD5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXRDb250ZW50XCIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2JtYi1pbnB1dC1jb250ZW50PlxuPC9ibWItaW5wdXQtdmFsaWRhdG9yPlxuIl19