@inspark/inspark-components 14.0.11 → 14.0.12
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.
- package/full/esm2020/components/autocomplete/autocomplete.component.mjs +3 -3
- package/full/esm2020/components/button/button.component.mjs +1 -1
- package/full/esm2020/components/dropdown/dropdown.component.mjs +31 -31
- package/full/esm2020/components/input-text/input-text.component.mjs +3 -3
- package/full/esm2020/components/inspark.module.mjs +1 -1
- package/full/esm2020/components/link/link.component.mjs +1 -1
- package/full/esm2020/components/modal-input-text/modal-input-text.component.mjs +1 -1
- package/full/esm2020/components/pie/pie.component.mjs +1 -1
- package/full/esm2020/components/primeng.module.mjs +1 -1
- package/full/esm2020/components/select-list/select-list.component.mjs +1 -1
- package/full/esm2020/components/svg/svg.component.mjs +1 -1
- package/full/esm2020/components/table/table.component.mjs +1 -1
- package/full/esm2020/components/tree-table/tree-table.component.mjs +1 -1
- package/full/esm2020/interface.mjs +1 -1
- package/full/esm2020/public_api.mjs +1 -1
- package/full/esm2020/services/inspark-dialog.service.mjs +1 -1
- package/full/fesm2015/inspark-inspark-components.mjs +34 -34
- package/full/fesm2015/inspark-inspark-components.mjs.map +1 -1
- package/full/fesm2020/inspark-inspark-components.mjs +34 -34
- package/full/fesm2020/inspark-inspark-components.mjs.map +1 -1
- package/full/index.css +6 -6
- package/full/package.json +1 -1
- package/interface/esm2020/interface.mjs +1 -1
- package/interface/package.json +1 -1
- package/package.json +1 -1
|
@@ -35,39 +35,39 @@ export class DropdownItem {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
DropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
DropdownItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownItem, selector: "p-dropdownItem", inputs: { option: "option", selected: "selected", label: "label", disabled: "disabled", visible: "visible", itemSize: "itemSize", template: "template" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
39
|
-
<li
|
|
40
|
-
(click)="onOptionClick($event)"
|
|
41
|
-
role="option"
|
|
42
|
-
pRipple
|
|
43
|
-
[attr.aria-label]="label"
|
|
44
|
-
[attr.aria-selected]="selected"
|
|
45
|
-
[ngStyle]="{ height: itemSize + 'px' }"
|
|
46
|
-
[id]="selected ? 'p-highlighted-option' : ''"
|
|
47
|
-
[ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
|
|
48
|
-
>
|
|
49
|
-
<span *ngIf="!template">{{ label || 'empty' }}</span>
|
|
50
|
-
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
51
|
-
</li>
|
|
38
|
+
DropdownItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownItem, selector: "p-dropdownItem", inputs: { option: "option", selected: "selected", label: "label", disabled: "disabled", visible: "visible", itemSize: "itemSize", template: "template" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
39
|
+
<li
|
|
40
|
+
(click)="onOptionClick($event)"
|
|
41
|
+
role="option"
|
|
42
|
+
pRipple
|
|
43
|
+
[attr.aria-label]="label"
|
|
44
|
+
[attr.aria-selected]="selected"
|
|
45
|
+
[ngStyle]="{ height: itemSize + 'px' }"
|
|
46
|
+
[id]="selected ? 'p-highlighted-option' : ''"
|
|
47
|
+
[ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
|
|
48
|
+
>
|
|
49
|
+
<span *ngIf="!template">{{ label || 'empty' }}</span>
|
|
50
|
+
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
51
|
+
</li>
|
|
52
52
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }] });
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
55
|
args: [{
|
|
56
56
|
selector: 'p-dropdownItem',
|
|
57
|
-
template: `
|
|
58
|
-
<li
|
|
59
|
-
(click)="onOptionClick($event)"
|
|
60
|
-
role="option"
|
|
61
|
-
pRipple
|
|
62
|
-
[attr.aria-label]="label"
|
|
63
|
-
[attr.aria-selected]="selected"
|
|
64
|
-
[ngStyle]="{ height: itemSize + 'px' }"
|
|
65
|
-
[id]="selected ? 'p-highlighted-option' : ''"
|
|
66
|
-
[ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
|
|
67
|
-
>
|
|
68
|
-
<span *ngIf="!template">{{ label || 'empty' }}</span>
|
|
69
|
-
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
70
|
-
</li>
|
|
57
|
+
template: `
|
|
58
|
+
<li
|
|
59
|
+
(click)="onOptionClick($event)"
|
|
60
|
+
role="option"
|
|
61
|
+
pRipple
|
|
62
|
+
[attr.aria-label]="label"
|
|
63
|
+
[attr.aria-selected]="selected"
|
|
64
|
+
[ngStyle]="{ height: itemSize + 'px' }"
|
|
65
|
+
[id]="selected ? 'p-highlighted-option' : ''"
|
|
66
|
+
[ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
|
|
67
|
+
>
|
|
68
|
+
<span *ngIf="!template">{{ label || 'empty' }}</span>
|
|
69
|
+
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
70
|
+
</li>
|
|
71
71
|
`
|
|
72
72
|
}]
|
|
73
73
|
}], propDecorators: { option: [{
|
|
@@ -175,14 +175,14 @@ export class DropdownComponent extends Dropdown {
|
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
178
|
-
DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownComponent, selector: "in-dropdown", inputs: { title: "title", error: "error", scrollHeight: "scrollHeight", filter: "filter", name: "name", options: "options", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", readonly: "readonly", required: "required", editable: "editable", appendTo: "appendTo", tabindex: "tabindex", placeholder: "placeholder", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", inputId: "inputId", selectId: "selectId", dataKey: "dataKey", filterBy: "filterBy", autofocus: "autofocus", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", autoDisplayFirst: "autoDisplayFirst", group: "group", showClear: "showClear", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", overlayDirection: "overlayDirection", itemSize: "itemSize", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [DROPDOWN_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{title}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<div\n #container\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\n (click)=\"onMouseclick($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n>\n <div class=\"p-hidden-accessible\">\n <input\n #in\n [attr.id]=\"inputId\"\n type=\"text\"\n readonly\n (focus)=\"onInputFocus($event)\"\n aria-haspopup=\"listbox\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-expanded]=\"false\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabindex\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\n role=\"combobox\"\n />\n </div>\n <span\n [attr.id]=\"labelId\"\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\n *ngIf=\"!editable && label != null\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n [positionStyle]=\"tooltipPositionStyle\"\n [tooltipStyleClass]=\"tooltipStyleClass\"\n >\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || 'empty' }}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\n </span>\n <span [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\" *ngIf=\"!editable && label == null\">{{ placeholder || 'empty' }}</span>\n <input\n #editableInput\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n class=\"p-dropdown-label p-inputtext\"\n *ngIf=\"editable\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n (input)=\"onEditableInputChange($event)\"\n (focus)=\"onEditableInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [autoZIndex]=\"autoZIndex\"\n [baseZIndex]=\"baseZIndex\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template pTemplate=\"content\">\n <div [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-dropdown-filter-container\">\n <input\n #filter\n type=\"text\"\n autocomplete=\"off\"\n [value]=\"filterValue || ''\"\n class=\"p-dropdown-filter p-inputtext p-component\"\n [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event, false)\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\n />\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"optionsToDisplay\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-dropdown-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem\n [option]=\"option\"\n [selected]=\"selectedOption == option\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"\n ></p-dropdownItem>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\n {{ emptyFilterMessageLabel }}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </p-overlay>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.Scroller, selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: i7.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: DropdownItem, selector: "p-dropdownItem", inputs: ["option", "selected", "label", "disabled", "visible", "itemSize", "template"], outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
178
|
+
DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownComponent, selector: "in-dropdown", inputs: { title: "title", error: "error", scrollHeight: "scrollHeight", filter: "filter", name: "name", options: "options", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", readonly: "readonly", required: "required", editable: "editable", appendTo: "appendTo", tabindex: "tabindex", placeholder: "placeholder", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", inputId: "inputId", selectId: "selectId", dataKey: "dataKey", filterBy: "filterBy", autofocus: "autofocus", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", autoDisplayFirst: "autoDisplayFirst", group: "group", showClear: "showClear", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", overlayDirection: "overlayDirection", itemSize: "itemSize", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [DROPDOWN_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{title}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n<div\r\n #container\r\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\r\n (click)=\"onMouseclick($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n>\r\n <div class=\"p-hidden-accessible\">\r\n <input\r\n #in\r\n [attr.id]=\"inputId\"\r\n type=\"text\"\r\n readonly\r\n (focus)=\"onInputFocus($event)\"\r\n aria-haspopup=\"listbox\"\r\n [attr.placeholder]=\"placeholder\"\r\n aria-haspopup=\"listbox\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-expanded]=\"false\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onKeydown($event, true)\"\r\n [disabled]=\"disabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\r\n role=\"combobox\"\r\n />\r\n </div>\r\n <span\r\n [attr.id]=\"labelId\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\r\n *ngIf=\"!editable && label != null\"\r\n [pTooltip]=\"tooltip\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\"\r\n >\r\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || 'empty' }}</ng-container>\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\r\n </span>\r\n <span [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\" *ngIf=\"!editable && label == null\">{{ placeholder || 'empty' }}</span>\r\n <input\r\n #editableInput\r\n type=\"text\"\r\n [attr.maxlength]=\"maxlength\"\r\n class=\"p-dropdown-label p-inputtext\"\r\n *ngIf=\"editable\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"placeholder\"\r\n aria-haspopup=\"listbox\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n (input)=\"onEditableInputChange($event)\"\r\n (focus)=\"onEditableInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n />\r\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\"></i>\r\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\r\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\r\n </div>\r\n <p-overlay\r\n #overlay\r\n [(visible)]=\"overlayVisible\"\r\n [options]=\"overlayOptions\"\r\n [target]=\"'@parent'\"\r\n [appendTo]=\"appendTo\"\r\n [autoZIndex]=\"autoZIndex\"\r\n [baseZIndex]=\"baseZIndex\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n >\r\n <ng-template pTemplate=\"content\">\r\n <div [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\r\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\r\n </ng-container>\r\n <ng-template #builtInFilterElement>\r\n <div class=\"p-dropdown-filter-container\">\r\n <input\r\n #filter\r\n type=\"text\"\r\n autocomplete=\"off\"\r\n [value]=\"filterValue || ''\"\r\n class=\"p-dropdown-filter p-inputtext p-component\"\r\n [attr.placeholder]=\"filterPlaceholder\"\r\n (keydown.enter)=\"$event.preventDefault()\"\r\n (keydown)=\"onKeydown($event, false)\"\r\n (input)=\"onFilterInputChange($event)\"\r\n [attr.aria-label]=\"ariaFilterLabel\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\r\n />\r\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\r\n <p-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"optionsToDisplay\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\r\n <li class=\"p-dropdown-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\r\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\r\n <p-dropdownItem\r\n [option]=\"option\"\r\n [selected]=\"selectedOption == option\"\r\n [label]=\"getOptionLabel(option)\"\r\n [disabled]=\"isOptionDisabled(option)\"\r\n (onClick)=\"onItemClick($event)\"\r\n [template]=\"itemTemplate\"\r\n ></p-dropdownItem>\r\n </ng-template>\r\n </ng-template>\r\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\r\n {{ emptyFilterMessageLabel }}\r\n </ng-container>\r\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\r\n </li>\r\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </p-overlay>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.Scroller, selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: i7.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: DropdownItem, selector: "p-dropdownItem", inputs: ["option", "selected", "label", "disabled", "visible", "itemSize", "template"], outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
179
179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
180
180
|
type: Component,
|
|
181
181
|
args: [{ selector: 'in-dropdown', host: {
|
|
182
182
|
class: 'p-element p-inputwrapper',
|
|
183
183
|
'[class.p-inputwrapper-filled]': 'filled',
|
|
184
184
|
'[class.p-inputwrapper-focus]': 'focused || overlayVisible'
|
|
185
|
-
}, providers: [DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{title}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<div\n #container\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\n (click)=\"onMouseclick($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n>\n <div class=\"p-hidden-accessible\">\n <input\n #in\n [attr.id]=\"inputId\"\n type=\"text\"\n readonly\n (focus)=\"onInputFocus($event)\"\n aria-haspopup=\"listbox\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-expanded]=\"false\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabindex\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\n role=\"combobox\"\n />\n </div>\n <span\n [attr.id]=\"labelId\"\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\n *ngIf=\"!editable && label != null\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n [positionStyle]=\"tooltipPositionStyle\"\n [tooltipStyleClass]=\"tooltipStyleClass\"\n >\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || 'empty' }}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\n </span>\n <span [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\" *ngIf=\"!editable && label == null\">{{ placeholder || 'empty' }}</span>\n <input\n #editableInput\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n class=\"p-dropdown-label p-inputtext\"\n *ngIf=\"editable\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n (input)=\"onEditableInputChange($event)\"\n (focus)=\"onEditableInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [autoZIndex]=\"autoZIndex\"\n [baseZIndex]=\"baseZIndex\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template pTemplate=\"content\">\n <div [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-dropdown-filter-container\">\n <input\n #filter\n type=\"text\"\n autocomplete=\"off\"\n [value]=\"filterValue || ''\"\n class=\"p-dropdown-filter p-inputtext p-component\"\n [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event, false)\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\n />\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"optionsToDisplay\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-dropdown-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem\n [option]=\"option\"\n [selected]=\"selectedOption == option\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"\n ></p-dropdownItem>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\n {{ emptyFilterMessageLabel }}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </p-overlay>\n</div>\n" }]
|
|
185
|
+
}, providers: [DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{title}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n<div\r\n #container\r\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\r\n (click)=\"onMouseclick($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n>\r\n <div class=\"p-hidden-accessible\">\r\n <input\r\n #in\r\n [attr.id]=\"inputId\"\r\n type=\"text\"\r\n readonly\r\n (focus)=\"onInputFocus($event)\"\r\n aria-haspopup=\"listbox\"\r\n [attr.placeholder]=\"placeholder\"\r\n aria-haspopup=\"listbox\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-expanded]=\"false\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onKeydown($event, true)\"\r\n [disabled]=\"disabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\r\n role=\"combobox\"\r\n />\r\n </div>\r\n <span\r\n [attr.id]=\"labelId\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\r\n *ngIf=\"!editable && label != null\"\r\n [pTooltip]=\"tooltip\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\"\r\n >\r\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || 'empty' }}</ng-container>\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\r\n </span>\r\n <span [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\" *ngIf=\"!editable && label == null\">{{ placeholder || 'empty' }}</span>\r\n <input\r\n #editableInput\r\n type=\"text\"\r\n [attr.maxlength]=\"maxlength\"\r\n class=\"p-dropdown-label p-inputtext\"\r\n *ngIf=\"editable\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"placeholder\"\r\n aria-haspopup=\"listbox\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n (input)=\"onEditableInputChange($event)\"\r\n (focus)=\"onEditableInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n />\r\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\"></i>\r\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\r\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\r\n </div>\r\n <p-overlay\r\n #overlay\r\n [(visible)]=\"overlayVisible\"\r\n [options]=\"overlayOptions\"\r\n [target]=\"'@parent'\"\r\n [appendTo]=\"appendTo\"\r\n [autoZIndex]=\"autoZIndex\"\r\n [baseZIndex]=\"baseZIndex\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n >\r\n <ng-template pTemplate=\"content\">\r\n <div [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\r\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\r\n </ng-container>\r\n <ng-template #builtInFilterElement>\r\n <div class=\"p-dropdown-filter-container\">\r\n <input\r\n #filter\r\n type=\"text\"\r\n autocomplete=\"off\"\r\n [value]=\"filterValue || ''\"\r\n class=\"p-dropdown-filter p-inputtext p-component\"\r\n [attr.placeholder]=\"filterPlaceholder\"\r\n (keydown.enter)=\"$event.preventDefault()\"\r\n (keydown)=\"onKeydown($event, false)\"\r\n (input)=\"onFilterInputChange($event)\"\r\n [attr.aria-label]=\"ariaFilterLabel\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\r\n />\r\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\r\n <p-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"optionsToDisplay\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\r\n <li class=\"p-dropdown-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\r\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\r\n <p-dropdownItem\r\n [option]=\"option\"\r\n [selected]=\"selectedOption == option\"\r\n [label]=\"getOptionLabel(option)\"\r\n [disabled]=\"isOptionDisabled(option)\"\r\n (onClick)=\"onItemClick($event)\"\r\n [template]=\"itemTemplate\"\r\n ></p-dropdownItem>\r\n </ng-template>\r\n </ng-template>\r\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\r\n {{ emptyFilterMessageLabel }}\r\n </ng-container>\r\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\r\n </li>\r\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </p-overlay>\r\n</div>\r\n" }]
|
|
186
186
|
}], propDecorators: { title: [{
|
|
187
187
|
type: Input
|
|
188
188
|
}], error: [{
|
|
@@ -335,4 +335,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
335
335
|
]
|
|
336
336
|
}]
|
|
337
337
|
}] });
|
|
338
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFdBQVcsRUFDWCxpQkFBaUIsRUFFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBVSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUE0QyxZQUFZLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDcEYsT0FBTyxFQUFXLGNBQWMsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQUUxQyxN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YyxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7b0JBQ25JLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGNBQWM7cUJBQy9EO29CQUNELGVBQWUsRUFBRTt3QkFDZixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgTmdNb2R1bGUsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFZpZXdSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPdmVybGF5LCBPdmVybGF5TW9kdWxlfSBmcm9tICdwcmltZW5nL292ZXJsYXknO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0Ryb3Bkb3dufSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7VG9vbHRpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcbmltcG9ydCB7T3ZlcmxheU9wdGlvbnMsIFByaW1lVGVtcGxhdGUsIFNlbGVjdEl0ZW0sIFNoYXJlZE1vZHVsZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtTY3JvbGxlciwgU2Nyb2xsZXJNb2R1bGUsIFNjcm9sbGVyT3B0aW9uc30gZnJvbSAncHJpbWVuZy9zY3JvbGxlcic7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtBdXRvRm9jdXNNb2R1bGV9IGZyb20gJ3ByaW1lbmcvYXV0b2ZvY3VzJztcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgRFJPUERPV05fVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERyb3Bkb3duQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJvcGRvd25JdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bGlcbiAgICAgIChjbGljayk9XCJvbk9wdGlvbkNsaWNrKCRldmVudClcIlxuICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICBwUmlwcGxlXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGl0ZW1TaXplICsgJ3B4JyB9XCJcbiAgICAgIFtpZF09XCJzZWxlY3RlZCA/ICdwLWhpZ2hsaWdodGVkLW9wdGlvbicgOiAnJ1wiXG4gICAgICBbbmdDbGFzc109XCJ7ICdwLWRyb3Bkb3duLWl0ZW0nOiB0cnVlLCAncC1oaWdobGlnaHQnOiBzZWxlY3RlZCwgJ3AtZGlzYWJsZWQnOiBkaXNhYmxlZCB9XCJcbiAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cIiF0ZW1wbGF0ZVwiPnt7IGxhYmVsIHx8ICdlbXB0eScgfX08L3NwYW4+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbGk+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25JdGVtIHtcbiAgQElucHV0KCkgb3B0aW9uOiBTZWxlY3RJdGVtO1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdmlzaWJsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBpdGVtU2l6ZTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBvbk9wdGlvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KHtcbiAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgb3B0aW9uOiB0aGlzLm9wdGlvblxuICAgIH0pO1xuICB9XG59XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW4tZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdwLWVsZW1lbnQgcC1pbnB1dHdyYXBwZXInLFxuICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQnLFxuICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZm9jdXNdJzogJ2ZvY3VzZWQgfHwgb3ZlcmxheVZpc2libGUnXG4gIH0sXG4gIHByb3ZpZGVyczogW0RST1BET1dOX1ZBTFVFX0FDQ0VTU09SXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIERyb3Bkb3duIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIC8qKlxuICAgKiDQndCw0Ygg0LrQvtC0XG4gICAqL1xuXG5cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoKSBlcnJvciA9IG51bGw7XG5cbiAgZ2V0IGxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24gPyB0aGlzLmdldE9wdGlvbkxhYmVsKHRoaXMuc2VsZWN0ZWRPcHRpb24pIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiDQutC+0LQgUHJpbWVOR1xuICAgKi9cblxuICBASW5wdXQoKSBzY3JvbGxIZWlnaHQ6IHN0cmluZyA9ICcyMDBweCc7XG5cbiAgQElucHV0KCkgZmlsdGVyOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcblxuICBfb3B0aW9uczogYW55W107XG4gIEBJbnB1dCgpIGdldCBvcHRpb25zKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuICBzZXQgb3B0aW9ucyh2YWw6IGFueVtdKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHZhbDtcbiAgICB0aGlzLm9wdGlvbnNUb0Rpc3BsYXkgPSB0aGlzLl9vcHRpb25zO1xuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRPcHRpb24odGhpcy52YWx1ZSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gdGhpcy5maW5kT3B0aW9uKHRoaXMudmFsdWUsIHRoaXMub3B0aW9uc1RvRGlzcGxheSk7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkT3B0aW9uICYmIE9iamVjdFV0aWxzLmlzTm90RW1wdHkodGhpcy52YWx1ZSkgJiYgIXRoaXMuZWRpdGFibGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMub3B0aW9uc0NoYW5nZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLl9maWx0ZXJWYWx1ZSAmJiB0aGlzLl9maWx0ZXJWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVGaWx0ZXIoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzdHlsZTogYW55O1xuXG4gIEBJbnB1dCgpIHBhbmVsU3R5bGU6IGFueTtcblxuICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcGFuZWxTdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgYXBwZW5kVG86IGFueTtcblxuICBASW5wdXQoKSB0YWJpbmRleDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZmlsdGVyUGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKSBmaWx0ZXJMb2NhbGU6IHN0cmluZztcblxuICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2VsZWN0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKSBkYXRhS2V5OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZmlsdGVyQnk6IHN0cmluZztcblxuICBASW5wdXQoKSBhdXRvZm9jdXM6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgcmVzZXRGaWx0ZXJPbkhpZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBkcm9wZG93bkljb246IHN0cmluZyA9ICdwaSBwaS1jaGV2cm9uLWRvd24nO1xuXG4gIEBJbnB1dCgpIG9wdGlvbkxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgb3B0aW9uVmFsdWU6IHN0cmluZztcblxuICBASW5wdXQoKSBvcHRpb25EaXNhYmxlZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIG9wdGlvbkdyb3VwTGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKSBvcHRpb25Hcm91cENoaWxkcmVuOiBzdHJpbmcgPSAnaXRlbXMnO1xuXG4gIEBJbnB1dCgpIGF1dG9EaXNwbGF5Rmlyc3Q6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGdyb3VwOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNob3dDbGVhcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSBlbXB0eUZpbHRlck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIGVtcHR5TWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgbGF6eTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHZpcnR1YWxTY3JvbGw6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbEl0ZW1TaXplOiBudW1iZXI7XG5cbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbE9wdGlvbnM6IFNjcm9sbGVyT3B0aW9ucztcblxuICBASW5wdXQoKSBvdmVybGF5T3B0aW9uczogT3ZlcmxheU9wdGlvbnM7XG5cbiAgQElucHV0KCkgYXJpYUZpbHRlckxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgYXJpYUxhYmVsbGVkQnk6IHN0cmluZztcblxuICBASW5wdXQoKSBmaWx0ZXJNYXRjaE1vZGU6IHN0cmluZyA9ICdjb250YWlucyc7XG5cbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXI7XG5cbiAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uOiBzdHJpbmcgPSAncmlnaHQnO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvblN0eWxlOiBzdHJpbmcgPSAnYWJzb2x1dGUnO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBTdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgYXV0b2ZvY3VzRmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBvdmVybGF5RGlyZWN0aW9uOiBzdHJpbmcgPSAnZW5kJztcblxuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkZpbHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgb25TaG93OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgb25IaWRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgb25DbGVhcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIG9uTGF6eUxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qIEBkZXByZWNhdGVkICovXG4gIF9pdGVtU2l6ZTogbnVtYmVyO1xuICBASW5wdXQoKSBnZXQgaXRlbVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbVNpemU7XG4gIH1cbiAgc2V0IGl0ZW1TaXplKHZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5faXRlbVNpemUgPSB2YWw7XG4gICAgY29uc29sZS53YXJuKCdUaGUgaXRlbVNpemUgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCwgdXNlIHZpcnR1YWxTY3JvbGxJdGVtU2l6ZSBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xuICB9XG5cbiAgLyogQGRlcHJlY2F0ZWQgKi9cbiAgX2F1dG9aSW5kZXg6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGdldCBhdXRvWkluZGV4KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdXRvWkluZGV4O1xuICB9XG4gIHNldCBhdXRvWkluZGV4KHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2F1dG9aSW5kZXggPSB2YWw7XG4gICAgY29uc29sZS53YXJuKCdUaGUgYXV0b1pJbmRleCBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIHNpbmNlIHYxNC4yLjAsIHVzZSBvdmVybGF5T3B0aW9ucyBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xuICB9XG5cbiAgLyogQGRlcHJlY2F0ZWQgKi9cbiAgX2Jhc2VaSW5kZXg6IG51bWJlcjtcbiAgQElucHV0KCkgZ2V0IGJhc2VaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fYmFzZVpJbmRleDtcbiAgfVxuICBzZXQgYmFzZVpJbmRleCh2YWw6IG51bWJlcikge1xuICAgIHRoaXMuX2Jhc2VaSW5kZXggPSB2YWw7XG4gICAgY29uc29sZS53YXJuKCdUaGUgYmFzZVpJbmRleCBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIHNpbmNlIHYxNC4yLjAsIHVzZSBvdmVybGF5T3B0aW9ucyBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xuICB9XG5cbiAgLyogQGRlcHJlY2F0ZWQgKi9cbiAgX3Nob3dUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nO1xuICBASW5wdXQoKSBnZXQgc2hvd1RyYW5zaXRpb25PcHRpb25zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dUcmFuc2l0aW9uT3B0aW9ucztcbiAgfVxuICBzZXQgc2hvd1RyYW5zaXRpb25PcHRpb25zKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2hvd1RyYW5zaXRpb25PcHRpb25zID0gdmFsO1xuICAgIGNvbnNvbGUud2FybignVGhlIHNob3dUcmFuc2l0aW9uT3B0aW9ucyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIHNpbmNlIHYxNC4yLjAsIHVzZSBvdmVybGF5T3B0aW9ucyBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xuICB9XG5cbiAgLyogQGRlcHJlY2F0ZWQgKi9cbiAgX2hpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nO1xuICBASW5wdXQoKSBnZXQgaGlkZVRyYW5zaXRpb25PcHRpb25zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2hpZGVUcmFuc2l0aW9uT3B0aW9ucztcbiAgfVxuICBzZXQgaGlkZVRyYW5zaXRpb25PcHRpb25zKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5faGlkZVRyYW5zaXRpb25PcHRpb25zID0gdmFsO1xuICAgIGNvbnNvbGUud2FybignVGhlIGhpZGVUcmFuc2l0aW9uT3B0aW9ucyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIHNpbmNlIHYxNC4yLjAsIHVzZSBvdmVybGF5T3B0aW9ucyBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xuICB9XG5cbiAgb3ZlcmxheVZpc2libGU6IGJvb2xlYW47XG5cbiAgLy8gZW1wdHlGaWx0ZXIgPSAnJztcbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRHJvcGRvd25Db21wb25lbnQsXG4gICAgRHJvcGRvd25JdGVtLFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBTaGFyZWRNb2R1bGUsIFRvb2x0aXBNb2R1bGUsIFJpcHBsZU1vZHVsZSwgU2Nyb2xsZXJNb2R1bGUsIEF1dG9Gb2N1c01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIERyb3Bkb3duQ29tcG9uZW50LCBPdmVybGF5TW9kdWxlLCBTaGFyZWRNb2R1bGUsIFNjcm9sbGVyTW9kdWxlXG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1xuICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50TW9kdWxlIHtcbn1cbiIsIjxzcGFuICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImMtbGFiZWxfX2NvbnRlbnRcIj5cbiAgICAgICAge3t0aXRsZX19XG4gIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImMtbGFiZWxfX3JlcVwiPio8L3NwYW4+XG48c3BhbiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJjLWxhYmVsX19zdWJfaXMtZXJyb3JcIj57e2Vycm9yfX08L3NwYW4+XG4gICAgPC9zcGFuPlxuPGRpdlxuICAjY29udGFpbmVyXG4gIFtuZ0NsYXNzXT1cInsgJ3AtZHJvcGRvd24gcC1jb21wb25lbnQnOiB0cnVlLCAncC1kaXNhYmxlZCc6IGRpc2FibGVkLCAncC1kcm9wZG93bi1vcGVuJzogb3ZlcmxheVZpc2libGUsICdwLWZvY3VzJzogZm9jdXNlZCwgJ3AtZHJvcGRvd24tY2xlYXJhYmxlJzogc2hvd0NsZWFyICYmICFkaXNhYmxlZCB9XCJcbiAgKGNsaWNrKT1cIm9uTW91c2VjbGljaygkZXZlbnQpXCJcbiAgW25nU3R5bGVdPVwic3R5bGVcIlxuICBbY2xhc3NdPVwic3R5bGVDbGFzc1wiXG4+XG4gIDxkaXYgY2xhc3M9XCJwLWhpZGRlbi1hY2Nlc3NpYmxlXCI+XG4gICAgPGlucHV0XG4gICAgICAjaW5cbiAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgcmVhZG9ubHlcbiAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImZhbHNlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQsIHRydWUpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICBwQXV0b0ZvY3VzXG4gICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwib3ZlcmxheVZpc2libGUgPyBsYWJlbElkIDogbnVsbFwiXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8c3BhblxuICAgIFthdHRyLmlkXT1cImxhYmVsSWRcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3AtZHJvcGRvd24tbGFiZWwgcC1pbnB1dHRleHQnOiB0cnVlLCAncC1kcm9wZG93bi1sYWJlbC1lbXB0eSc6IGxhYmVsID09IG51bGwgfHwgbGFiZWwubGVuZ3RoID09PSAwIH1cIlxuICAgICpuZ0lmPVwiIWVkaXRhYmxlICYmIGxhYmVsICE9IG51bGxcIlxuICAgIFtwVG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiXG4gICAgW3Bvc2l0aW9uU3R5bGVdPVwidG9vbHRpcFBvc2l0aW9uU3R5bGVcIlxuICAgIFt0b29sdGlwU3R5bGVDbGFzc109XCJ0b29sdGlwU3R5bGVDbGFzc1wiXG4gID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGVkSXRlbVRlbXBsYXRlXCI+e3sgbGFiZWwgfHwgJ2VtcHR5JyB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWxlY3RlZEl0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHNlbGVjdGVkT3B0aW9uIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgPHNwYW4gW25nQ2xhc3NdPVwieyAncC1kcm9wZG93bi1sYWJlbCBwLWlucHV0dGV4dCBwLXBsYWNlaG9sZGVyJzogdHJ1ZSwgJ3AtZHJvcGRvd24tbGFiZWwtZW1wdHknOiBwbGFjZWhvbGRlciA9PSBudWxsIHx8IHBsYWNlaG9sZGVyLmxlbmd0aCA9PT0gMCB9XCIgKm5nSWY9XCIhZWRpdGFibGUgJiYgbGFiZWwgPT0gbnVsbFwiPnt7IHBsYWNlaG9sZGVyIHx8ICdlbXB0eScgfX08L3NwYW4+XG4gIDxpbnB1dFxuICAgICNlZGl0YWJsZUlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgIGNsYXNzPVwicC1kcm9wZG93bi1sYWJlbCBwLWlucHV0dGV4dFwiXG4gICAgKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3ZlcmxheVZpc2libGVcIlxuICAgIChpbnB1dCk9XCJvbkVkaXRhYmxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uRWRpdGFibGVJbnB1dEZvY3VzKCRldmVudClcIlxuICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICAvPlxuICA8aSBjbGFzcz1cInAtZHJvcGRvd24tY2xlYXItaWNvbiBwaSBwaS10aW1lc1wiIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCIgKm5nSWY9XCJpc1Zpc2libGVDbGVhckljb25cIj48L2k+XG4gIDxkaXYgY2xhc3M9XCJwLWRyb3Bkb3duLXRyaWdnZXJcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cImRyb3Bkb3duIHRyaWdnZXJcIiBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3ZlcmxheVZpc2libGVcIj5cbiAgICA8c3BhbiBjbGFzcz1cInAtZHJvcGRvd24tdHJpZ2dlci1pY29uXCIgW25nQ2xhc3NdPVwiZHJvcGRvd25JY29uXCI+PC9zcGFuPlxuICA8L2Rpdj5cbiAgPHAtb3ZlcmxheVxuICAgICNvdmVybGF5XG4gICAgWyh2aXNpYmxlKV09XCJvdmVybGF5VmlzaWJsZVwiXG4gICAgW29wdGlvbnNdPVwib3ZlcmxheU9wdGlvbnNcIlxuICAgIFt0YXJnZXRdPVwiJ0BwYXJlbnQnXCJcbiAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxuICAgIFthdXRvWkluZGV4XT1cImF1dG9aSW5kZXhcIlxuICAgIFtiYXNlWkluZGV4XT1cImJhc2VaSW5kZXhcIlxuICAgIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwic2hvd1RyYW5zaXRpb25PcHRpb25zXCJcbiAgICBbaGlkZVRyYW5zaXRpb25PcHRpb25zXT1cImhpZGVUcmFuc2l0aW9uT3B0aW9uc1wiXG4gICAgKG9uQW5pbWF0aW9uU3RhcnQpPVwib25PdmVybGF5QW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gICAgKG9uSGlkZSk9XCJoaWRlKClcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ3AtZHJvcGRvd24tcGFuZWwgcC1jb21wb25lbnQnXCIgW25nU3R5bGVdPVwicGFuZWxTdHlsZVwiIFtjbGFzc109XCJwYW5lbFN0eWxlQ2xhc3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLWRyb3Bkb3duLWhlYWRlclwiICpuZ0lmPVwiZmlsdGVyXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJUZW1wbGF0ZTsgZWxzZSBidWlsdEluRmlsdGVyRWxlbWVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbHRlclRlbXBsYXRlOyBjb250ZXh0OiB7IG9wdGlvbnM6IGZpbHRlck9wdGlvbnMgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYnVpbHRJbkZpbHRlckVsZW1lbnQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kcm9wZG93bi1maWx0ZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICNmaWx0ZXJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmlsdGVyVmFsdWUgfHwgJydcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC1kcm9wZG93bi1maWx0ZXIgcC1pbnB1dHRleHQgcC1jb21wb25lbnRcIlxuICAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImZpbHRlclBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudCwgZmFsc2UpXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25GaWx0ZXJJbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFGaWx0ZXJMYWJlbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIm92ZXJsYXlWaXNpYmxlID8gJ3AtaGlnaGxpZ2h0ZWQtb3B0aW9uJyA6IGxhYmVsSWRcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtZHJvcGRvd24tZmlsdGVyLWljb24gcGkgcGktc2VhcmNoXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLWRyb3Bkb3duLWl0ZW1zLXdyYXBwZXJcIiBbc3R5bGUubWF4LWhlaWdodF09XCJ2aXJ0dWFsU2Nyb2xsID8gJ2F1dG8nIDogc2Nyb2xsSGVpZ2h0IHx8ICdhdXRvJ1wiPlxuICAgICAgICAgIDxwLXNjcm9sbGVyXG4gICAgICAgICAgICAqbmdJZj1cInZpcnR1YWxTY3JvbGxcIlxuICAgICAgICAgICAgI3Njcm9sbGVyXG4gICAgICAgICAgICBbaXRlbXNdPVwib3B0aW9uc1RvRGlzcGxheVwiXG4gICAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbEhlaWdodCB9XCJcbiAgICAgICAgICAgIFtpdGVtU2l6ZV09XCJ2aXJ0dWFsU2Nyb2xsSXRlbVNpemUgfHwgX2l0ZW1TaXplXCJcbiAgICAgICAgICAgIFthdXRvU2l6ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtsYXp5XT1cImxhenlcIlxuICAgICAgICAgICAgKG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgW29wdGlvbnNdPVwidmlydHVhbFNjcm9sbE9wdGlvbnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCIgbGV0LWl0ZW1zIGxldC1zY3JvbGxlck9wdGlvbnM9XCJvcHRpb25zXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidWlsZEluSXRlbXM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcywgb3B0aW9uczogc2Nyb2xsZXJPcHRpb25zIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImxvYWRlclwiIGxldC1zY3JvbGxlck9wdGlvbnM9XCJvcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7IG9wdGlvbnM6IHNjcm9sbGVyT3B0aW9ucyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3Atc2Nyb2xsZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF2aXJ0dWFsU2Nyb2xsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnVpbGRJbkl0ZW1zOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uc1RvRGlzcGxheSwgb3B0aW9uczoge30gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNidWlsZEluSXRlbXMgbGV0LWl0ZW1zIGxldC1zY3JvbGxlck9wdGlvbnM9XCJvcHRpb25zXCI+XG4gICAgICAgICAgICA8dWwgI2l0ZW1zIFthdHRyLmlkXT1cImxpc3RJZFwiIGNsYXNzPVwicC1kcm9wZG93bi1pdGVtc1wiIFtuZ0NsYXNzXT1cInNjcm9sbGVyT3B0aW9ucy5jb250ZW50U3R5bGVDbGFzc1wiIFtzdHlsZV09XCJzY3JvbGxlck9wdGlvbnMuY29udGVudFN0eWxlXCIgcm9sZT1cImxpc3Rib3hcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1vcHRncm91cCBbbmdGb3JPZl09XCJpdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicC1kcm9wZG93bi1pdGVtLWdyb3VwXCIgW25nU3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbGVyT3B0aW9ucy5pdGVtU2l6ZSArICdweCcgfVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFncm91cFRlbXBsYXRlXCI+e3sgZ2V0T3B0aW9uR3JvdXBMYWJlbChvcHRncm91cCkgfHwgJ2VtcHR5JyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdyb3VwVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRncm91cCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1zbGlzdDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGdldE9wdGlvbkdyb3VwQ2hpbGRyZW4ob3B0Z3JvdXApLCBzZWxlY3RlZE9wdGlvbjogc2VsZWN0ZWRPcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1zbGlzdDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW1zLCBzZWxlY3RlZE9wdGlvbjogc2VsZWN0ZWRPcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpdGVtc2xpc3QgbGV0LW9wdGlvbnMgbGV0LXNlbGVjdGVkT3B0aW9uPVwic2VsZWN0ZWRPcHRpb25cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LW9wdGlvbiBsZXQtaT1cImluZGV4XCIgW25nRm9yT2ZdPVwib3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkT3B0aW9uID09IG9wdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJnZXRPcHRpb25MYWJlbChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzT3B0aW9uRGlzYWJsZWQob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgID48L3AtZHJvcGRvd25JdGVtPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cImZpbHRlclZhbHVlICYmIGlzRW1wdHkoKVwiIGNsYXNzPVwicC1kcm9wZG93bi1lbXB0eS1tZXNzYWdlXCIgW25nU3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbGVyT3B0aW9ucy5pdGVtU2l6ZSArICdweCcgfVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZW1wdHlGaWx0ZXJUZW1wbGF0ZSAmJiAhZW1wdHlUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAge3sgZW1wdHlGaWx0ZXJNZXNzYWdlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNlbXB0eUZpbHRlciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5RmlsdGVyVGVtcGxhdGUgfHwgZW1wdHlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8bGkgKm5nSWY9XCIhZmlsdGVyVmFsdWUgJiYgaXNFbXB0eSgpXCIgY2xhc3M9XCJwLWRyb3Bkb3duLWVtcHR5LW1lc3NhZ2VcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogc2Nyb2xsZXJPcHRpb25zLml0ZW1TaXplICsgJ3B4JyB9XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFlbXB0eVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICB7eyBlbXB0eU1lc3NhZ2VMYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgI2VtcHR5ICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3Atb3ZlcmxheT5cbjwvZGl2PlxuIl19
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFdBQVcsRUFDWCxpQkFBaUIsRUFFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBVSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUE0QyxZQUFZLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDcEYsT0FBTyxFQUFXLGNBQWMsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQUUxQyxN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YyxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7b0JBQ25JLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGNBQWM7cUJBQy9EO29CQUNELGVBQWUsRUFBRTt3QkFDZixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBOZ01vZHVsZSxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFZpZXdSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtPdmVybGF5LCBPdmVybGF5TW9kdWxlfSBmcm9tICdwcmltZW5nL292ZXJsYXknO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQge0Ryb3Bkb3dufSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuaW1wb3J0IHtUb29sdGlwTW9kdWxlfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5pbXBvcnQge092ZXJsYXlPcHRpb25zLCBQcmltZVRlbXBsYXRlLCBTZWxlY3RJdGVtLCBTaGFyZWRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHtTY3JvbGxlciwgU2Nyb2xsZXJNb2R1bGUsIFNjcm9sbGVyT3B0aW9uc30gZnJvbSAncHJpbWVuZy9zY3JvbGxlcic7XHJcbmltcG9ydCB7UmlwcGxlTW9kdWxlfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XHJcbmltcG9ydCB7QXV0b0ZvY3VzTW9kdWxlfSBmcm9tICdwcmltZW5nL2F1dG9mb2N1cyc7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IERST1BET1dOX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHJvcGRvd25Db21wb25lbnQpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3AtZHJvcGRvd25JdGVtJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGxpXHJcbiAgICAgIChjbGljayk9XCJvbk9wdGlvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICByb2xlPVwib3B0aW9uXCJcclxuICAgICAgcFJpcHBsZVxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcclxuICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJzZWxlY3RlZFwiXHJcbiAgICAgIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBpdGVtU2l6ZSArICdweCcgfVwiXHJcbiAgICAgIFtpZF09XCJzZWxlY3RlZCA/ICdwLWhpZ2hsaWdodGVkLW9wdGlvbicgOiAnJ1wiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZHJvcGRvd24taXRlbSc6IHRydWUsICdwLWhpZ2hsaWdodCc6IHNlbGVjdGVkLCAncC1kaXNhYmxlZCc6IGRpc2FibGVkIH1cIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIiF0ZW1wbGF0ZVwiPnt7IGxhYmVsIHx8ICdlbXB0eScgfX08L3NwYW4+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2xpPlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duSXRlbSB7XHJcbiAgQElucHV0KCkgb3B0aW9uOiBTZWxlY3RJdGVtO1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RlZDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIHZpc2libGU6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1TaXplOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBAT3V0cHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG9uT3B0aW9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7XHJcbiAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxyXG4gICAgICBvcHRpb246IHRoaXMub3B0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luLWRyb3Bkb3duJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncC1lbGVtZW50IHAtaW5wdXR3cmFwcGVyJyxcclxuICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQnLFxyXG4gICAgJ1tjbGFzcy5wLWlucHV0d3JhcHBlci1mb2N1c10nOiAnZm9jdXNlZCB8fCBvdmVybGF5VmlzaWJsZSdcclxuICB9LFxyXG4gIHByb3ZpZGVyczogW0RST1BET1dOX1ZBTFVFX0FDQ0VTU09SXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBEcm9wZG93biBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGIINC60L7QtFxyXG4gICAqL1xyXG5cclxuXHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgZXJyb3IgPSBudWxsO1xyXG5cclxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9uID8gdGhpcy5nZXRPcHRpb25MYWJlbCh0aGlzLnNlbGVjdGVkT3B0aW9uKSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQutC+0LQgUHJpbWVOR1xyXG4gICAqL1xyXG5cclxuICBASW5wdXQoKSBzY3JvbGxIZWlnaHQ6IHN0cmluZyA9ICcyMDBweCc7XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlcjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG5cclxuICBfb3B0aW9uczogYW55W107XHJcbiAgQElucHV0KCkgZ2V0IG9wdGlvbnMoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XHJcbiAgfVxyXG4gIHNldCBvcHRpb25zKHZhbDogYW55W10pIHtcclxuICAgIHRoaXMuX29wdGlvbnMgPSB2YWw7XHJcbiAgICB0aGlzLm9wdGlvbnNUb0Rpc3BsYXkgPSB0aGlzLl9vcHRpb25zO1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZE9wdGlvbih0aGlzLnZhbHVlKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gdGhpcy5maW5kT3B0aW9uKHRoaXMudmFsdWUsIHRoaXMub3B0aW9uc1RvRGlzcGxheSk7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRPcHRpb24gJiYgT2JqZWN0VXRpbHMuaXNOb3RFbXB0eSh0aGlzLnZhbHVlKSAmJiAhdGhpcy5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub3B0aW9uc0NoYW5nZWQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuX2ZpbHRlclZhbHVlICYmIHRoaXMuX2ZpbHRlclZhbHVlLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlRmlsdGVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzdHlsZTogYW55O1xyXG5cclxuICBASW5wdXQoKSBwYW5lbFN0eWxlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcGFuZWxTdHlsZUNsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIGFwcGVuZFRvOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlclBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlckxvY2FsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdElkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGFLZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgZmlsdGVyQnk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSByZXNldEZpbHRlck9uSGlkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBkcm9wZG93bkljb246IHN0cmluZyA9ICdwaSBwaS1jaGV2cm9uLWRvd24nO1xyXG5cclxuICBASW5wdXQoKSBvcHRpb25MYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBvcHRpb25WYWx1ZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBvcHRpb25EaXNhYmxlZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBvcHRpb25Hcm91cExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIG9wdGlvbkdyb3VwQ2hpbGRyZW46IHN0cmluZyA9ICdpdGVtcyc7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9EaXNwbGF5Rmlyc3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBncm91cDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgc2hvd0NsZWFyOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBlbXB0eUZpbHRlck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBlbXB0eU1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBsYXp5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHZpcnR1YWxTY3JvbGw6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIHZpcnR1YWxTY3JvbGxJdGVtU2l6ZTogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsT3B0aW9uczogU2Nyb2xsZXJPcHRpb25zO1xyXG5cclxuICBASW5wdXQoKSBvdmVybGF5T3B0aW9uczogT3ZlcmxheU9wdGlvbnM7XHJcblxyXG4gIEBJbnB1dCgpIGFyaWFGaWx0ZXJMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgYXJpYUxhYmVsbGVkQnk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgZmlsdGVyTWF0Y2hNb2RlOiBzdHJpbmcgPSAnY29udGFpbnMnO1xyXG5cclxuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nID0gJ3JpZ2h0JztcclxuXHJcbiAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uU3R5bGU6IHN0cmluZyA9ICdhYnNvbHV0ZSc7XHJcblxyXG4gIEBJbnB1dCgpIHRvb2x0aXBTdHlsZUNsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9mb2N1c0ZpbHRlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIG92ZXJsYXlEaXJlY3Rpb246IHN0cmluZyA9ICdlbmQnO1xyXG5cclxuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25GaWx0ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvblNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25IaWRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25MYXp5TG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qIEBkZXByZWNhdGVkICovXHJcbiAgX2l0ZW1TaXplOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZ2V0IGl0ZW1TaXplKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbVNpemU7XHJcbiAgfVxyXG4gIHNldCBpdGVtU2l6ZSh2YWw6IG51bWJlcikge1xyXG4gICAgdGhpcy5faXRlbVNpemUgPSB2YWw7XHJcbiAgICBjb25zb2xlLndhcm4oJ1RoZSBpdGVtU2l6ZSBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLCB1c2UgdmlydHVhbFNjcm9sbEl0ZW1TaXplIHByb3BlcnR5IGluc3RlYWQuJyk7XHJcbiAgfVxyXG5cclxuICAvKiBAZGVwcmVjYXRlZCAqL1xyXG4gIF9hdXRvWkluZGV4OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGdldCBhdXRvWkluZGV4KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1dG9aSW5kZXg7XHJcbiAgfVxyXG4gIHNldCBhdXRvWkluZGV4KHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYXV0b1pJbmRleCA9IHZhbDtcclxuICAgIGNvbnNvbGUud2FybignVGhlIGF1dG9aSW5kZXggcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBzaW5jZSB2MTQuMi4wLCB1c2Ugb3ZlcmxheU9wdGlvbnMgcHJvcGVydHkgaW5zdGVhZC4nKTtcclxuICB9XHJcblxyXG4gIC8qIEBkZXByZWNhdGVkICovXHJcbiAgX2Jhc2VaSW5kZXg6IG51bWJlcjtcclxuICBASW5wdXQoKSBnZXQgYmFzZVpJbmRleCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Jhc2VaSW5kZXg7XHJcbiAgfVxyXG4gIHNldCBiYXNlWkluZGV4KHZhbDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9iYXNlWkluZGV4ID0gdmFsO1xyXG4gICAgY29uc29sZS53YXJuKCdUaGUgYmFzZVpJbmRleCBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIHNpbmNlIHYxNC4yLjAsIHVzZSBvdmVybGF5T3B0aW9ucyBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xyXG4gIH1cclxuXHJcbiAgLyogQGRlcHJlY2F0ZWQgKi9cclxuICBfc2hvd1RyYW5zaXRpb25PcHRpb25zOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZ2V0IHNob3dUcmFuc2l0aW9uT3B0aW9ucygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3dUcmFuc2l0aW9uT3B0aW9ucztcclxuICB9XHJcbiAgc2V0IHNob3dUcmFuc2l0aW9uT3B0aW9ucyh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2hvd1RyYW5zaXRpb25PcHRpb25zID0gdmFsO1xyXG4gICAgY29uc29sZS53YXJuKCdUaGUgc2hvd1RyYW5zaXRpb25PcHRpb25zIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgc2luY2UgdjE0LjIuMCwgdXNlIG92ZXJsYXlPcHRpb25zIHByb3BlcnR5IGluc3RlYWQuJyk7XHJcbiAgfVxyXG5cclxuICAvKiBAZGVwcmVjYXRlZCAqL1xyXG4gIF9oaWRlVHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZztcclxuICBASW5wdXQoKSBnZXQgaGlkZVRyYW5zaXRpb25PcHRpb25zKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faGlkZVRyYW5zaXRpb25PcHRpb25zO1xyXG4gIH1cclxuICBzZXQgaGlkZVRyYW5zaXRpb25PcHRpb25zKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9oaWRlVHJhbnNpdGlvbk9wdGlvbnMgPSB2YWw7XHJcbiAgICBjb25zb2xlLndhcm4oJ1RoZSBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBzaW5jZSB2MTQuMi4wLCB1c2Ugb3ZlcmxheU9wdGlvbnMgcHJvcGVydHkgaW5zdGVhZC4nKTtcclxuICB9XHJcblxyXG4gIG92ZXJsYXlWaXNpYmxlOiBib29sZWFuO1xyXG5cclxuICAvLyBlbXB0eUZpbHRlciA9ICcnO1xyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRHJvcGRvd25Db21wb25lbnQsXHJcbiAgICBEcm9wZG93bkl0ZW0sXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBTaGFyZWRNb2R1bGUsIFRvb2x0aXBNb2R1bGUsIFJpcHBsZU1vZHVsZSwgU2Nyb2xsZXJNb2R1bGUsIEF1dG9Gb2N1c01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCwgT3ZlcmxheU1vZHVsZSwgU2hhcmVkTW9kdWxlLCBTY3JvbGxlck1vZHVsZVxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudE1vZHVsZSB7XHJcbn1cclxuIiwiPHNwYW4gKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwiYy1sYWJlbF9fY29udGVudFwiPlxyXG4gICAgICAgIHt7dGl0bGV9fVxyXG4gIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImMtbGFiZWxfX3JlcVwiPio8L3NwYW4+XHJcbjxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImMtbGFiZWxfX3N1Yl9pcy1lcnJvclwiPnt7ZXJyb3J9fTwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuPGRpdlxyXG4gICNjb250YWluZXJcclxuICBbbmdDbGFzc109XCJ7ICdwLWRyb3Bkb3duIHAtY29tcG9uZW50JzogdHJ1ZSwgJ3AtZGlzYWJsZWQnOiBkaXNhYmxlZCwgJ3AtZHJvcGRvd24tb3Blbic6IG92ZXJsYXlWaXNpYmxlLCAncC1mb2N1cyc6IGZvY3VzZWQsICdwLWRyb3Bkb3duLWNsZWFyYWJsZSc6IHNob3dDbGVhciAmJiAhZGlzYWJsZWQgfVwiXHJcbiAgKGNsaWNrKT1cIm9uTW91c2VjbGljaygkZXZlbnQpXCJcclxuICBbbmdTdHlsZV09XCJzdHlsZVwiXHJcbiAgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cInAtaGlkZGVuLWFjY2Vzc2libGVcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjaW5cclxuICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZFwiXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgcmVhZG9ubHlcclxuICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcclxuICAgICAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxyXG4gICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImZhbHNlXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcclxuICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXHJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQsIHRydWUpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxyXG4gICAgICBwQXV0b0ZvY3VzXHJcbiAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcclxuICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIm92ZXJsYXlWaXNpYmxlID8gbGFiZWxJZCA6IG51bGxcIlxyXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8c3BhblxyXG4gICAgW2F0dHIuaWRdPVwibGFiZWxJZFwiXHJcbiAgICBbbmdDbGFzc109XCJ7ICdwLWRyb3Bkb3duLWxhYmVsIHAtaW5wdXR0ZXh0JzogdHJ1ZSwgJ3AtZHJvcGRvd24tbGFiZWwtZW1wdHknOiBsYWJlbCA9PSBudWxsIHx8IGxhYmVsLmxlbmd0aCA9PT0gMCB9XCJcclxuICAgICpuZ0lmPVwiIWVkaXRhYmxlICYmIGxhYmVsICE9IG51bGxcIlxyXG4gICAgW3BUb29sdGlwXT1cInRvb2x0aXBcIlxyXG4gICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIlxyXG4gICAgW3Bvc2l0aW9uU3R5bGVdPVwidG9vbHRpcFBvc2l0aW9uU3R5bGVcIlxyXG4gICAgW3Rvb2x0aXBTdHlsZUNsYXNzXT1cInRvb2x0aXBTdHlsZUNsYXNzXCJcclxuICA+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGVkSXRlbVRlbXBsYXRlXCI+e3sgbGFiZWwgfHwgJ2VtcHR5JyB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdGVkSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc2VsZWN0ZWRPcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgPHNwYW4gW25nQ2xhc3NdPVwieyAncC1kcm9wZG93bi1sYWJlbCBwLWlucHV0dGV4dCBwLXBsYWNlaG9sZGVyJzogdHJ1ZSwgJ3AtZHJvcGRvd24tbGFiZWwtZW1wdHknOiBwbGFjZWhvbGRlciA9PSBudWxsIHx8IHBsYWNlaG9sZGVyLmxlbmd0aCA9PT0gMCB9XCIgKm5nSWY9XCIhZWRpdGFibGUgJiYgbGFiZWwgPT0gbnVsbFwiPnt7IHBsYWNlaG9sZGVyIHx8ICdlbXB0eScgfX08L3NwYW4+XHJcbiAgPGlucHV0XHJcbiAgICAjZWRpdGFibGVJbnB1dFxyXG4gICAgdHlwZT1cInRleHRcIlxyXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXHJcbiAgICBjbGFzcz1cInAtZHJvcGRvd24tbGFiZWwgcC1pbnB1dHRleHRcIlxyXG4gICAgKm5nSWY9XCJlZGl0YWJsZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxyXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvdmVybGF5VmlzaWJsZVwiXHJcbiAgICAoaW5wdXQpPVwib25FZGl0YWJsZUlucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgKGZvY3VzKT1cIm9uRWRpdGFibGVJbnB1dEZvY3VzKCRldmVudClcIlxyXG4gICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXHJcbiAgLz5cclxuICA8aSBjbGFzcz1cInAtZHJvcGRvd24tY2xlYXItaWNvbiBwaSBwaS10aW1lc1wiIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCIgKm5nSWY9XCJpc1Zpc2libGVDbGVhckljb25cIj48L2k+XHJcbiAgPGRpdiBjbGFzcz1cInAtZHJvcGRvd24tdHJpZ2dlclwiIHJvbGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiZHJvcGRvd24gdHJpZ2dlclwiIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvdmVybGF5VmlzaWJsZVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJwLWRyb3Bkb3duLXRyaWdnZXItaWNvblwiIFtuZ0NsYXNzXT1cImRyb3Bkb3duSWNvblwiPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8cC1vdmVybGF5XHJcbiAgICAjb3ZlcmxheVxyXG4gICAgWyh2aXNpYmxlKV09XCJvdmVybGF5VmlzaWJsZVwiXHJcbiAgICBbb3B0aW9uc109XCJvdmVybGF5T3B0aW9uc1wiXHJcbiAgICBbdGFyZ2V0XT1cIidAcGFyZW50J1wiXHJcbiAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxyXG4gICAgW2F1dG9aSW5kZXhdPVwiYXV0b1pJbmRleFwiXHJcbiAgICBbYmFzZVpJbmRleF09XCJiYXNlWkluZGV4XCJcclxuICAgIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwic2hvd1RyYW5zaXRpb25PcHRpb25zXCJcclxuICAgIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiaGlkZVRyYW5zaXRpb25PcHRpb25zXCJcclxuICAgIChvbkFuaW1hdGlvblN0YXJ0KT1cIm9uT3ZlcmxheUFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxyXG4gICAgKG9uSGlkZSk9XCJoaWRlKClcIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XHJcbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ3AtZHJvcGRvd24tcGFuZWwgcC1jb21wb25lbnQnXCIgW25nU3R5bGVdPVwicGFuZWxTdHlsZVwiIFtjbGFzc109XCJwYW5lbFN0eWxlQ2xhc3NcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicC1kcm9wZG93bi1oZWFkZXJcIiAqbmdJZj1cImZpbHRlclwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJUZW1wbGF0ZTsgZWxzZSBidWlsdEluRmlsdGVyRWxlbWVudFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgb3B0aW9uczogZmlsdGVyT3B0aW9ucyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYnVpbHRJbkZpbHRlckVsZW1lbnQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRyb3Bkb3duLWZpbHRlci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICNmaWx0ZXJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmlsdGVyVmFsdWUgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwLWRyb3Bkb3duLWZpbHRlciBwLWlucHV0dGV4dCBwLWNvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJmaWx0ZXJQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50LCBmYWxzZSlcIlxyXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uRmlsdGVySW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFGaWx0ZXJMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwib3ZlcmxheVZpc2libGUgPyAncC1oaWdobGlnaHRlZC1vcHRpb24nIDogbGFiZWxJZFwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtZHJvcGRvd24tZmlsdGVyLWljb24gcGkgcGktc2VhcmNoXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInAtZHJvcGRvd24taXRlbXMtd3JhcHBlclwiIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInZpcnR1YWxTY3JvbGwgPyAnYXV0bycgOiBzY3JvbGxIZWlnaHQgfHwgJ2F1dG8nXCI+XHJcbiAgICAgICAgICA8cC1zY3JvbGxlclxyXG4gICAgICAgICAgICAqbmdJZj1cInZpcnR1YWxTY3JvbGxcIlxyXG4gICAgICAgICAgICAjc2Nyb2xsZXJcclxuICAgICAgICAgICAgW2l0ZW1zXT1cIm9wdGlvbnNUb0Rpc3BsYXlcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbEhlaWdodCB9XCJcclxuICAgICAgICAgICAgW2l0ZW1TaXplXT1cInZpcnR1YWxTY3JvbGxJdGVtU2l6ZSB8fCBfaXRlbVNpemVcIlxyXG4gICAgICAgICAgICBbYXV0b1NpemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtsYXp5XT1cImxhenlcIlxyXG4gICAgICAgICAgICAob25MYXp5TG9hZCk9XCJvbkxhenlMb2FkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cInZpcnR1YWxTY3JvbGxPcHRpb25zXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtaXRlbXMgbGV0LXNjcm9sbGVyT3B0aW9ucz1cIm9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnVpbGRJbkl0ZW1zOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbXMsIG9wdGlvbnM6IHNjcm9sbGVyT3B0aW9ucyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJsb2FkZXJcIiBsZXQtc2Nyb2xsZXJPcHRpb25zPVwib3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7IG9wdGlvbnM6IHNjcm9sbGVyT3B0aW9ucyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3Atc2Nyb2xsZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXZpcnR1YWxTY3JvbGxcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1aWxkSW5JdGVtczsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbnNUb0Rpc3BsYXksIG9wdGlvbnM6IHt9IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYnVpbGRJbkl0ZW1zIGxldC1pdGVtcyBsZXQtc2Nyb2xsZXJPcHRpb25zPVwib3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8dWwgI2l0ZW1zIFthdHRyLmlkXT1cImxpc3RJZFwiIGNsYXNzPVwicC1kcm9wZG93bi1pdGVtc1wiIFtuZ0NsYXNzXT1cInNjcm9sbGVyT3B0aW9ucy5jb250ZW50U3R5bGVDbGFzc1wiIFtzdHlsZV09XCJzY3JvbGxlck9wdGlvbnMuY29udGVudFN0eWxlXCIgcm9sZT1cImxpc3Rib3hcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtb3B0Z3JvdXAgW25nRm9yT2ZdPVwiaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicC1kcm9wZG93bi1pdGVtLWdyb3VwXCIgW25nU3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbGVyT3B0aW9ucy5pdGVtU2l6ZSArICdweCcgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWdyb3VwVGVtcGxhdGVcIj57eyBnZXRPcHRpb25Hcm91cExhYmVsKG9wdGdyb3VwKSB8fCAnZW1wdHknIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJncm91cFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0Z3JvdXAgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbXNsaXN0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZ2V0T3B0aW9uR3JvdXBDaGlsZHJlbihvcHRncm91cCksIHNlbGVjdGVkT3B0aW9uOiBzZWxlY3RlZE9wdGlvbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtc2xpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcywgc2VsZWN0ZWRPcHRpb246IHNlbGVjdGVkT3B0aW9uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW1zbGlzdCBsZXQtb3B0aW9ucyBsZXQtc2VsZWN0ZWRPcHRpb249XCJzZWxlY3RlZE9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1vcHRpb24gbGV0LWk9XCJpbmRleFwiIFtuZ0Zvck9mXT1cIm9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgW29wdGlvbl09XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZE9wdGlvbiA9PSBvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJnZXRPcHRpb25MYWJlbChvcHRpb24pXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNPcHRpb25EaXNhYmxlZChvcHRpb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJvbkl0ZW1DbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgPjwvcC1kcm9wZG93bkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGxpICpuZ0lmPVwiZmlsdGVyVmFsdWUgJiYgaXNFbXB0eSgpXCIgY2xhc3M9XCJwLWRyb3Bkb3duLWVtcHR5LW1lc3NhZ2VcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogc2Nyb2xsZXJPcHRpb25zLml0ZW1TaXplICsgJ3B4JyB9XCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVtcHR5RmlsdGVyVGVtcGxhdGUgJiYgIWVtcHR5VGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAge3sgZW1wdHlGaWx0ZXJNZXNzYWdlTGFiZWwgfX1cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAjZW1wdHlGaWx0ZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eUZpbHRlclRlbXBsYXRlIHx8IGVtcHR5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cIiFmaWx0ZXJWYWx1ZSAmJiBpc0VtcHR5KClcIiBjbGFzcz1cInAtZHJvcGRvd24tZW1wdHktbWVzc2FnZVwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBzY3JvbGxlck9wdGlvbnMuaXRlbVNpemUgKyAncHgnIH1cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBlbXB0eU1lc3NhZ2VMYWJlbCB9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNlbXB0eSAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC1vdmVybGF5PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -81,7 +81,7 @@ InputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
81
81
|
useExisting: forwardRef(() => InputTextComponent),
|
|
82
82
|
multi: true,
|
|
83
83
|
}
|
|
84
|
-
], ngImport: i0, template: "<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\n <span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n <span\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\n class=\"constraints-message__warning u-text_uppercase\">\n {{'maxlength: ' | translate}} {{maxlength}}</span>\n </span>\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\n <input (blur)=\"this.blur.emit($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"this.focus.emit($event)\"\n (input)=\"onChange($event)\"\n [(ngModel)]=\"value\"\n [autocomplete]=\"autocomplete? 'on':'off'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [maxlength]=\"maxlength\"\n [name]=\"name\"\n [ngClass]=\"{'c-input_opaque' : opacity === false,\n 'c-input_shadowed' : shadow,\n 'c-input_large' : large,\n 'c-input_small' : small,\n 'c-input_margin_padding': widget,\n 'c-input_padding_right': forms}\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [size]=\"size\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n class=\"search-box c-input field_{{id}}\"\n [type]=\"type\">\n <button (click)=\"clear()\"\n class=\"button-reset empty\"\n [ngClass]=\"{empty: display}\"\n type=\"submit\"\n [attr.title]=\"'Reset' | translate\">\n <i class=\"fa fa-close\"></i>\n </button>\n </div>\n</label>\n", styles: ["@charset \"UTF-8\";.label{display:inline-block;margin-bottom:0}.c-input{height:36px;width:100%}.c-input_opaque{background:var(--colorBgLevel3)}.c-input_shadowed{box-shadow:0 2px 6px #0003}.constraints-message__warning{color:red}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--ids-theme-btn-default-color, #FFFFFF)}.empty{display:none}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}.c-input_margin_padding{margin-left:56px;padding-right:10px;max-width:1200px}.c-input_padding_right{padding-right:28px}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
84
|
+
], ngImport: i0, template: "<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n <span\r\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\r\n class=\"constraints-message__warning u-text_uppercase\">\r\n {{'maxlength: ' | translate}} {{maxlength}}</span>\r\n </span>\r\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\r\n <input (blur)=\"this.blur.emit($event)\"\r\n (change)=\"onChange($event)\"\r\n (focus)=\"this.focus.emit($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [maxlength]=\"maxlength\"\r\n [name]=\"name\"\r\n [ngClass]=\"{'c-input_opaque' : opacity === false,\r\n 'c-input_shadowed' : shadow,\r\n 'c-input_large' : large,\r\n 'c-input_small' : small,\r\n 'c-input_margin_padding': widget,\r\n 'c-input_padding_right': forms}\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n class=\"search-box c-input field_{{id}}\"\r\n [type]=\"type\">\r\n <button (click)=\"clear()\"\r\n class=\"button-reset empty\"\r\n [ngClass]=\"{empty: display}\"\r\n type=\"submit\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"fa fa-close\"></i>\r\n </button>\r\n </div>\r\n</label>\r\n", styles: ["@charset \"UTF-8\";.label{display:inline-block;margin-bottom:0}.c-input{height:36px;width:100%}.c-input_opaque{background:var(--colorBgLevel3)}.c-input_shadowed{box-shadow:0 2px 6px #0003}.constraints-message__warning{color:red}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--ids-theme-btn-default-color, #FFFFFF)}.empty{display:none}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}.c-input_margin_padding{margin-left:56px;padding-right:10px;max-width:1200px}.c-input_padding_right{padding-right:28px}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
85
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputTextComponent, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
87
|
args: [{ selector: 'in-input-text', providers: [
|
|
@@ -90,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
90
90
|
useExisting: forwardRef(() => InputTextComponent),
|
|
91
91
|
multi: true,
|
|
92
92
|
}
|
|
93
|
-
], template: "<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\n <span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n <span\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\n class=\"constraints-message__warning u-text_uppercase\">\n {{'maxlength: ' | translate}} {{maxlength}}</span>\n </span>\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\n <input (blur)=\"this.blur.emit($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"this.focus.emit($event)\"\n (input)=\"onChange($event)\"\n [(ngModel)]=\"value\"\n [autocomplete]=\"autocomplete? 'on':'off'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [maxlength]=\"maxlength\"\n [name]=\"name\"\n [ngClass]=\"{'c-input_opaque' : opacity === false,\n 'c-input_shadowed' : shadow,\n 'c-input_large' : large,\n 'c-input_small' : small,\n 'c-input_margin_padding': widget,\n 'c-input_padding_right': forms}\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [size]=\"size\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n class=\"search-box c-input field_{{id}}\"\n [type]=\"type\">\n <button (click)=\"clear()\"\n class=\"button-reset empty\"\n [ngClass]=\"{empty: display}\"\n type=\"submit\"\n [attr.title]=\"'Reset' | translate\">\n <i class=\"fa fa-close\"></i>\n </button>\n </div>\n</label>\n", styles: ["@charset \"UTF-8\";.label{display:inline-block;margin-bottom:0}.c-input{height:36px;width:100%}.c-input_opaque{background:var(--colorBgLevel3)}.c-input_shadowed{box-shadow:0 2px 6px #0003}.constraints-message__warning{color:red}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--ids-theme-btn-default-color, #FFFFFF)}.empty{display:none}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}.c-input_margin_padding{margin-left:56px;padding-right:10px;max-width:1200px}.c-input_padding_right{padding-right:28px}\n"] }]
|
|
93
|
+
], template: "<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n <span\r\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\r\n class=\"constraints-message__warning u-text_uppercase\">\r\n {{'maxlength: ' | translate}} {{maxlength}}</span>\r\n </span>\r\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\r\n <input (blur)=\"this.blur.emit($event)\"\r\n (change)=\"onChange($event)\"\r\n (focus)=\"this.focus.emit($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [maxlength]=\"maxlength\"\r\n [name]=\"name\"\r\n [ngClass]=\"{'c-input_opaque' : opacity === false,\r\n 'c-input_shadowed' : shadow,\r\n 'c-input_large' : large,\r\n 'c-input_small' : small,\r\n 'c-input_margin_padding': widget,\r\n 'c-input_padding_right': forms}\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n class=\"search-box c-input field_{{id}}\"\r\n [type]=\"type\">\r\n <button (click)=\"clear()\"\r\n class=\"button-reset empty\"\r\n [ngClass]=\"{empty: display}\"\r\n type=\"submit\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"fa fa-close\"></i>\r\n </button>\r\n </div>\r\n</label>\r\n", styles: ["@charset \"UTF-8\";.label{display:inline-block;margin-bottom:0}.c-input{height:36px;width:100%}.c-input_opaque{background:var(--colorBgLevel3)}.c-input_shadowed{box-shadow:0 2px 6px #0003}.constraints-message__warning{color:red}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--ids-theme-btn-default-color, #FFFFFF)}.empty{display:none}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}.c-input_margin_padding{margin-left:56px;padding-right:10px;max-width:1200px}.c-input_padding_right{padding-right:28px}\n"] }]
|
|
94
94
|
}], propDecorators: { name: [{
|
|
95
95
|
type: Input
|
|
96
96
|
}], autocomplete: [{
|
|
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
146
146
|
}], onClick: [{
|
|
147
147
|
type: Output
|
|
148
148
|
}] } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWN2RSxNQUFNLE9BQU8sa0JBQWtCO0lBWi9CO1FBY1csU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixTQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2QsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNuQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixPQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ1YsV0FBTSxHQUFHLElBQUksQ0FBQztRQUVkLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcs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QUFkLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2luLWlucHV0LXRleHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRleHQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCkgbmFtZSA9IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZSA9IHRydWU7XG4gIEBJbnB1dCgpIGxhYmVsID0gbnVsbDtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZXJyb3IgPSBudWxsO1xuICBASW5wdXQoKSBzaXplID0gMTAwMDAwO1xuICBASW5wdXQoKSBtYXhsZW5ndGggPSAxMDAwMDA7XG4gIEBJbnB1dCgpIHdpZHRoID0gJyc7XG4gIEBJbnB1dCgpIGRpc3BsYXkgPSB0cnVlO1xuICBASW5wdXQoKSBsYXJnZSA9IHRydWU7XG4gIEBJbnB1dCgpIHNtYWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZGdldCA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JtcyA9IGZhbHNlO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBpZCA9IG51bGw7XG4gIEBJbnB1dCgpIHRlc3RJZCA9IG51bGw7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBvcGFjaXR5ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hhZG93ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJpZ2h0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHR5cGUgPSAndGV4dCc7XG4gIEBJbnB1dCgpIHN0ZXA6IG51bWJlcjtcbiAgQElucHV0KCkgbWluOiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heDogbnVtYmVyO1xuXG5cbiAgQE91dHB1dCgpIGZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdyaXRlIGZvcm0gdmFsdWUgdG8gdGhlIERPTSBlbGVtZW50IChtb2RlbCA9PiB2aWV3KVxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyaXRlIGZvcm0gZGlzYWJsZWQgc3RhdGUgdG8gdGhlIERPTSBlbGVtZW50IChtb2RlbCA9PiB2aWV3KVxuICAgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGZvcm0gd2hlbiBET00gZWxlbWVudCB2YWx1ZSBjaGFuZ2VzICh2aWV3ID0+IG1vZGVsKVxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgLy8gU3RvcmUgdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIGFzIGFuIGludGVybmFsIG1ldGhvZC5cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBmb3JtIHdoZW4gRE9NIGVsZW1lbnQgaXMgYmx1cnJlZCAodmlldyA9PiBtb2RlbClcbiAgICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBTdG9yZSB0aGUgcHJvdmlkZWQgZnVuY3Rpb24gYXMgYW4gaW50ZXJuYWwgbWV0aG9kLlxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSgnJyk7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoJycpO1xuICB9XG5cbiAgb25DaGFuZ2UoXzogYW55KSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKCt0aGlzLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvblRvdWNoZWQoKSB7XG4gIH1cblxufVxuIiwiPGxhYmVsIFtuZ1N0eWxlXT1cInt3aWR0aDogd2lkdGh9XCIgY2xhc3M9XCJsYWJlbCB0eXBlX3ZhcmNoYXJzXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwiYy1sYWJlbF9fY29udGVudFwiPlxuICAgICAgICB7e2xhYmVsfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImMtbGFiZWxfX3JlcVwiPio8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImMtbGFiZWxfX3N1Yl9pcy1lcnJvclwiPnt7ZXJyb3J9fTwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwibWF4bGVuZ3RoICYmIHZhbHVlICYmIHZhbHVlLmxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPj0gbWF4bGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJjb25zdHJhaW50cy1tZXNzYWdlX193YXJuaW5nIHUtdGV4dF91cHBlcmNhc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgIHt7J21heGxlbmd0aDogJyB8IHRyYW5zbGF0ZX19IHt7bWF4bGVuZ3RofX08L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlciB1LW1hcmdpbi1yaWdodC10aW55XCIgW25nQ2xhc3NdPVwieyd1LW1hcmdpbi1yaWdodC10aW55JzogcmlnaHR9XCI+XG4gICAgPGlucHV0IChibHVyKT1cInRoaXMuYmx1ci5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAoZm9jdXMpPVwidGhpcy5mb2N1cy5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZT8gJ29uJzonb2ZmJ1wiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYy1pbnB1dF9vcGFxdWUnIDogb3BhY2l0eSA9PT0gZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgJ2MtaW5wdXRfc2hhZG93ZWQnIDogc2hhZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICdjLWlucHV0X2xhcmdlJyA6IGxhcmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICdjLWlucHV0X3NtYWxsJyA6IHNtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICdjLWlucHV0X21hcmdpbl9wYWRkaW5nJzogd2lkZ2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICdjLWlucHV0X3BhZGRpbmdfcmlnaHQnOiBmb3Jtc31cIlxuICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICBbc3RlcF09XCJzdGVwXCJcbiAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtYm94IGMtaW5wdXQgZmllbGRfe3tpZH19XCJcbiAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tcmVzZXQgZW1wdHlcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie2VtcHR5OiBkaXNwbGF5fVwiXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIidSZXNldCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2xvc2VcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWN2RSxNQUFNLE9BQU8sa0JBQWtCO0lBWi9CO1FBY1csU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixTQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2QsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNuQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixPQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ1YsV0FBTSxHQUFHLElBQUksQ0FBQztRQUVkLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcs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QUFkLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW4taW5wdXQtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRleHQuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGV4dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBJbnB1dCgpIG5hbWUgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZSA9IHRydWU7XHJcbiAgQElucHV0KCkgbGFiZWwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHNpemUgPSAxMDAwMDA7XHJcbiAgQElucHV0KCkgbWF4bGVuZ3RoID0gMTAwMDAwO1xyXG4gIEBJbnB1dCgpIHdpZHRoID0gJyc7XHJcbiAgQElucHV0KCkgZGlzcGxheSA9IHRydWU7XHJcbiAgQElucHV0KCkgbGFyZ2UgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNtYWxsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgd2lkZ2V0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZm9ybXMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIGlkID0gbnVsbDtcclxuICBASW5wdXQoKSB0ZXN0SWQgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG9wYWNpdHkgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNoYWRvdyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJpZ2h0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdHlwZSA9ICd0ZXh0JztcclxuICBASW5wdXQoKSBzdGVwOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbWluOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbWF4OiBudW1iZXI7XHJcblxyXG5cclxuICBAT3V0cHV0KCkgZm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBibHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogV3JpdGUgZm9ybSB2YWx1ZSB0byB0aGUgRE9NIGVsZW1lbnQgKG1vZGVsID0+IHZpZXcpXHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXcml0ZSBmb3JtIGRpc2FibGVkIHN0YXRlIHRvIHRoZSBET00gZWxlbWVudCAobW9kZWwgPT4gdmlldylcclxuICAgKi9cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGZvcm0gd2hlbiBET00gZWxlbWVudCB2YWx1ZSBjaGFuZ2VzICh2aWV3ID0+IG1vZGVsKVxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgLy8gU3RvcmUgdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIGFzIGFuIGludGVybmFsIG1ldGhvZC5cclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgZm9ybSB3aGVuIERPTSBlbGVtZW50IGlzIGJsdXJyZWQgKHZpZXcgPT4gbW9kZWwpXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgLy8gU3RvcmUgdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIGFzIGFuIGludGVybmFsIG1ldGhvZC5cclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcclxuICB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UoJycpO1xyXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoJycpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoXzogYW55KSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykge1xyXG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSgrdGhpcy52YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Ub3VjaGVkKCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGxhYmVsIFtuZ1N0eWxlXT1cInt3aWR0aDogd2lkdGh9XCIgY2xhc3M9XCJsYWJlbCB0eXBlX3ZhcmNoYXJzXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJjLWxhYmVsX19jb250ZW50XCI+XHJcbiAgICAgICAge3tsYWJlbH19XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImMtbGFiZWxfX3JlcVwiPio8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiYy1sYWJlbF9fc3ViX2lzLWVycm9yXCI+e3tlcnJvcn19PC9zcGFuPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgICpuZ0lmPVwibWF4bGVuZ3RoICYmIHZhbHVlICYmIHZhbHVlLmxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPj0gbWF4bGVuZ3RoXCJcclxuICAgICAgICBjbGFzcz1cImNvbnN0cmFpbnRzLW1lc3NhZ2VfX3dhcm5pbmcgdS10ZXh0X3VwcGVyY2FzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICB7eydtYXhsZW5ndGg6ICcgfCB0cmFuc2xhdGV9fSB7e21heGxlbmd0aH19PC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyIHUtbWFyZ2luLXJpZ2h0LXRpbnlcIiBbbmdDbGFzc109XCJ7J3UtbWFyZ2luLXJpZ2h0LXRpbnknOiByaWdodH1cIj5cclxuICAgIDxpbnB1dCAoYmx1cik9XCJ0aGlzLmJsdXIuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgIChmb2N1cyk9XCJ0aGlzLmZvY3VzLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlPyAnb24nOidvZmYnXCJcclxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYy1pbnB1dF9vcGFxdWUnIDogb3BhY2l0eSA9PT0gZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAnYy1pbnB1dF9zaGFkb3dlZCcgOiBzaGFkb3csXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAnYy1pbnB1dF9sYXJnZScgOiBsYXJnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICdjLWlucHV0X3NtYWxsJyA6IHNtYWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgJ2MtaW5wdXRfbWFyZ2luX3BhZGRpbmcnOiB3aWRnZXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAnYy1pbnB1dF9wYWRkaW5nX3JpZ2h0JzogZm9ybXN9XCJcclxuICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcclxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgICAgW21pbl09XCJtaW5cIlxyXG4gICAgICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICAgICBbc3RlcF09XCJzdGVwXCJcclxuICAgICAgICAgICBjbGFzcz1cInNlYXJjaC1ib3ggYy1pbnB1dCBmaWVsZF97e2lkfX1cIlxyXG4gICAgICAgICAgIFt0eXBlXT1cInR5cGVcIj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1yZXNldCBlbXB0eVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntlbXB0eTogZGlzcGxheX1cIlxyXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiJ1Jlc2V0JyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICA8aSBjbGFzcz1cImZhIGZhLWNsb3NlXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvbGFiZWw+XHJcbiJdfQ==
|
|
@@ -236,4 +236,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
236
236
|
schemas: [NO_ERRORS_SCHEMA]
|
|
237
237
|
}]
|
|
238
238
|
}] });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGFyay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvaW5zcGFyay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDaEcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNq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QWE7d0JBQ2IsZUFBZTt3QkFDZixTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLDJCQUEyQjtxQkFDNUI7b0JBQ0QsZUFBZSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUM7b0JBQy9ELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUF9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0J1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0lucHV0VGV4dENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7VGV4dGFyZWFDb21wb25lbnR9IGZyb20gJy4vdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7UGFuZWxDb21wb25lbnR9IGZyb20gJy4vcGFuZWwvcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7Q29tcG9uZW50Q29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudC1jb250YWluZXIvY29tcG9uZW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtDaGVja2JveENvbXBvbmVudH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudE1vZHVsZX0gZnJvbSAnLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJsZUNvbXBvbmVudE1vZHVsZX0gZnJvbSAnLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtFbXB0eUNvbXBvbmVudH0gZnJvbSAnLi9lbXB0eS9lbXB0eS5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtQcmVsb2FkZXJDb21wb25lbnR9IGZyb20gJy4vcHJlbG9hZGVyL3ByZWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtJbnNwYXJrU3RpY2t5Q29tcG9uZW50fSBmcm9tICcuL3N0aWNreS9zdGlja3kuY29tcG9uZW50JztcbmltcG9ydCB7SW5zcGFya0hlYWRlckNvbXBvbmVudH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1Rvb2xiYXJDb21wb25lbnR9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JyZWFkY3J1bWJDb21wb25lbnR9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpbGVDb21wb25lbnR9IGZyb20gJy4vZmlsZS9maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQge0luc3BhcmtUZW1wbGF0ZX0gZnJvbSAnLi9pbnNwYXJrLnNoYXJlZCc7XG5pbXBvcnQge1NlbGVjdEJ1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7U3RhdHVzQ2lyY2xlQ29tcG9uZW50fSBmcm9tICcuL3N0YXR1cy1jaXJjbGUvc3RhdHVzLWNpcmNsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmxpbmVTVkdNb2R1bGV9IGZyb20gJ25nLWlubGluZS1zdmcnO1xuaW1wb3J0IHtTdmdDb21wb25lbnR9IGZyb20gJy4vc3ZnL3N2Zy5jb21wb25lbnQnO1xuaW1wb3J0IHtTd2l0Y2hlckNvbXBvbmVudH0gZnJvbSAnLi9zd2l0Y2hlci9zd2l0Y2hlci5jb21wb25lbnQnO1xuaW1wb3J0IHtNZW51TW9kdWxlfSBmcm9tICdwcmltZW5nL21lbnUnO1xuaW1wb3J0IHtJbmxpbmVNZXNzYWdlQ29tcG9uZW50fSBmcm9tICcuL2lubGluZS1tZXNzYWdlL2lubGluZS1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQge1NsaWRlck1vZHVsZX0gZnJvbSAncHJpbWVuZy9zbGlkZXInO1xuaW1wb3J0IHtMaW5rQ29tcG9uZW50fSBmcm9tICcuL2xpbmsvbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ2JNb2R1bGV9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7VG9vbHRpcENvbXBvbmVudH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7VHJlZVRhYmxlQ29tcG9uZW50TW9kdWxlfSBmcm9tICcuL3RyZWUtdGFibGUvdHJlZS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtSYWRpb2J1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9yYWRpb2J1dHRvbi9yYWRpb2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RMaXN0Q29tcG9uZW50fSBmcm9tICcuL3NlbGVjdC1saXN0L3NlbGVjdC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge09iamVjdFRyZWVDb21wb25lbnR9IGZyb20gJy4vb2JqZWN0LXRyZWUvb2JqZWN0LXRyZWUuY29tcG9uZW50JztcbmltcG9ydCB7TW9kYWxJbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4vbW9kYWwtaW5wdXQtdGV4dC9tb2RhbC1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbnRlbnRUb2dnbGVDb21wb25lbnR9IGZyb20gJy4vY29udGVudC10b2dnbGUvY29udGVudC10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7SW5wdXRHcm91cENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtBdXRvQ29tcGxldGVDb21wb25lbnRNb2R1bGV9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtPYmplY3RQaWVDb21wb25lbnR9IGZyb20gJy4vcGllL3BpZS5jb21wb25lbnQnO1xuaW1wb3J0IHtSYWRpb0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9yYWRpb2J1dHRvbic7XG5pbXBvcnQge0JyZWFkY3J1bWJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvYnJlYWRjcnVtYic7XG5pbXBvcnQge1RyZWVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdHJlZSc7XG5pbXBvcnQge1NoYXJlZE1vZHVsZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3Bkb3duQ29tcG9uZW50TW9kdWxlLFxuICAgIFRhYmxlQ29tcG9uZW50TW9kdWxlLFxuICAgIFRyZWVUYWJsZUNvbXBvbmVudE1vZHVsZSxcbiAgICBSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTWVudU1vZHVsZSxcbiAgICBTbGlkZXJNb2R1bGUsXG4gICAgTmdiTW9kdWxlLFxuICAgIElubGluZVNWR01vZHVsZS5mb3JSb290KHtiYXNlVXJsOiAnYXNzZXRzL2ltYWdlcy8nfSksXG4gICAgQnJlYWRjcnVtYk1vZHVsZSxcbiAgICBUcmVlTW9kdWxlLFxuICAgIFNoYXJlZE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgSW5wdXRUZXh0Q29tcG9uZW50LFxuICAgIFRleHRhcmVhQ29tcG9uZW50LFxuICAgIFBhbmVsQ29tcG9uZW50LFxuICAgIENvbXBvbmVudENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBFbXB0eUNvbXBvbmVudCxcbiAgICBQcmVsb2FkZXJDb21wb25lbnQsXG4gICAgSW5zcGFya1N0aWNreUNvbXBvbmVudCxcbiAgICBJbnNwYXJrSGVhZGVyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBGaWxlQ29tcG9uZW50LFxuICAgIFNlbGVjdEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNb2RhbElucHV0VGV4dENvbXBvbmVudCxcbiAgICBTZWxlY3RMaXN0Q29tcG9uZW50LFxuICAgIFN0YXR1c0NpcmNsZUNvbXBvbmVudCxcbiAgICBTdmdDb21wb25lbnQsXG4gICAgU3dpdGNoZXJDb21wb25lbnQsXG4gICAgSW5saW5lTWVzc2FnZUNvbXBvbmVudCxcbiAgICBMaW5rQ29tcG9uZW50LFxuICAgIEluc3BhcmtUZW1wbGF0ZSxcbiAgICBUb29sdGlwQ29tcG9uZW50LFxuICAgIFJhZGlvYnV0dG9uQ29tcG9uZW50LFxuICAgIE9iamVjdFRyZWVDb21wb25lbnQsXG4gICAgQ29udGVudFRvZ2dsZUNvbXBvbmVudCxcbiAgICBJbnB1dEdyb3VwQ29tcG9uZW50LFxuICAgIE9iamVjdFBpZUNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbnB1dFRleHRDb21wb25lbnQsXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXG4gICAgUGFuZWxDb21wb25lbnQsXG4gICAgQ29tcG9uZW50Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIERyb3Bkb3duQ29tcG9uZW50TW9kdWxlLFxuICAgIFRhYmxlQ29tcG9uZW50TW9kdWxlLFxuICAgIFRyZWVUYWJsZUNvbXBvbmVudE1vZHVsZSxcbiAgICBFbXB0eUNvbXBvbmVudCxcbiAgICBQcmVsb2FkZXJDb21wb25lbnQsXG4gICAgSW5zcGFya1N0aWNreUNvbXBvbmVudCxcbiAgICBJbnNwYXJrSGVhZGVyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBGaWxlQ29tcG9uZW50LFxuICAgIFNlbGVjdEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNb2RhbElucHV0VGV4dENvbXBvbmVudCxcbiAgICBTZWxlY3RMaXN0Q29tcG9uZW50LFxuICAgIFN0YXR1c0NpcmNsZUNvbXBvbmVudCxcbiAgICBTdmdDb21wb25lbnQsXG4gICAgU3dpdGNoZXJDb21wb25lbnQsXG4gICAgTWVudU1vZHVsZSxcbiAgICBTbGlkZXJNb2R1bGUsXG4gICAgSW5saW5lTWVzc2FnZUNvbXBvbmVudCxcbiAgICBMaW5rQ29tcG9uZW50LFxuICAgIEluc3BhcmtUZW1wbGF0ZSxcbiAgICBOZ2JNb2R1bGUsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBSYWRpb2J1dHRvbkNvbXBvbmVudCxcbiAgICBPYmplY3RUcmVlQ29tcG9uZW50LFxuICAgIENvbnRlbnRUb2dnbGVDb21wb25lbnQsXG4gICAgT2JqZWN0UGllQ29tcG9uZW50LFxuICAgIElucHV0R3JvdXBDb21wb25lbnQsXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50TW9kdWxlXG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1NlbGVjdExpc3RDb21wb25lbnQsIE1vZGFsSW5wdXRUZXh0Q29tcG9uZW50XSxcbiAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIEluc3BhcmtDb21wb25lbnRzTW9kdWxlIHtcbn1cbiJdfQ==
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGFyay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvaW5zcGFyay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDaEcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNq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QWE7d0JBQ2IsZUFBZTt3QkFDZixTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLDJCQUEyQjtxQkFDNUI7b0JBQ0QsZUFBZSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUM7b0JBQy9ELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUF9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0J1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SW5wdXRUZXh0Q29tcG9uZW50fSBmcm9tICcuL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RleHRhcmVhQ29tcG9uZW50fSBmcm9tICcuL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGFuZWxDb21wb25lbnR9IGZyb20gJy4vcGFuZWwvcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtDb21wb25lbnRDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50LWNvbnRhaW5lci9jb21wb25lbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q2hlY2tib3hDb21wb25lbnR9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudE1vZHVsZX0gZnJvbSAnLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RhYmxlQ29tcG9uZW50TW9kdWxlfSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RW1wdHlDb21wb25lbnR9IGZyb20gJy4vZW1wdHkvZW1wdHkuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQge1ByZWxvYWRlckNvbXBvbmVudH0gZnJvbSAnLi9wcmVsb2FkZXIvcHJlbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SW5zcGFya1N0aWNreUNvbXBvbmVudH0gZnJvbSAnLi9zdGlja3kvc3RpY2t5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SW5zcGFya0hlYWRlckNvbXBvbmVudH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VG9vbGJhckNvbXBvbmVudH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtCcmVhZGNydW1iQ29tcG9uZW50fSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ZpbGVDb21wb25lbnR9IGZyb20gJy4vZmlsZS9maWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SW5zcGFya1RlbXBsYXRlfSBmcm9tICcuL2luc3Bhcmsuc2hhcmVkJztcclxuaW1wb3J0IHtTZWxlY3RCdXR0b25Db21wb25lbnR9IGZyb20gJy4vc2VsZWN0LWJ1dHRvbi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RhdHVzQ2lyY2xlQ29tcG9uZW50fSBmcm9tICcuL3N0YXR1cy1jaXJjbGUvc3RhdHVzLWNpcmNsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0lubGluZVNWR01vZHVsZX0gZnJvbSAnbmctaW5saW5lLXN2Zyc7XHJcbmltcG9ydCB7U3ZnQ29tcG9uZW50fSBmcm9tICcuL3N2Zy9zdmcuY29tcG9uZW50JztcclxuaW1wb3J0IHtTd2l0Y2hlckNvbXBvbmVudH0gZnJvbSAnLi9zd2l0Y2hlci9zd2l0Y2hlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge01lbnVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvbWVudSc7XHJcbmltcG9ydCB7SW5saW5lTWVzc2FnZUNvbXBvbmVudH0gZnJvbSAnLi9pbmxpbmUtbWVzc2FnZS9pbmxpbmUtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NsaWRlck1vZHVsZX0gZnJvbSAncHJpbWVuZy9zbGlkZXInO1xyXG5pbXBvcnQge0xpbmtDb21wb25lbnR9IGZyb20gJy4vbGluay9saW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmdiTW9kdWxlfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7VG9vbHRpcENvbXBvbmVudH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmVlVGFibGVDb21wb25lbnRNb2R1bGV9IGZyb20gJy4vdHJlZS10YWJsZS90cmVlLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmFkaW9idXR0b25Db21wb25lbnR9IGZyb20gJy4vcmFkaW9idXR0b24vcmFkaW9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtTZWxlY3RMaXN0Q29tcG9uZW50fSBmcm9tICcuL3NlbGVjdC1saXN0L3NlbGVjdC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7T2JqZWN0VHJlZUNvbXBvbmVudH0gZnJvbSAnLi9vYmplY3QtdHJlZS9vYmplY3QtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge01vZGFsSW5wdXRUZXh0Q29tcG9uZW50fSBmcm9tICcuL21vZGFsLWlucHV0LXRleHQvbW9kYWwtaW5wdXQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvbnRlbnRUb2dnbGVDb21wb25lbnR9IGZyb20gJy4vY29udGVudC10b2dnbGUvY29udGVudC10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtJbnB1dEdyb3VwQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QXV0b0NvbXBsZXRlQ29tcG9uZW50TW9kdWxlfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtPYmplY3RQaWVDb21wb25lbnR9IGZyb20gJy4vcGllL3BpZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JhZGlvQnV0dG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL3JhZGlvYnV0dG9uJztcclxuaW1wb3J0IHtCcmVhZGNydW1iTW9kdWxlfSBmcm9tICdwcmltZW5nL2JyZWFkY3J1bWInO1xyXG5pbXBvcnQge1RyZWVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdHJlZSc7XHJcbmltcG9ydCB7U2hhcmVkTW9kdWxlfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEF1dG9Db21wbGV0ZUNvbXBvbmVudE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIERyb3Bkb3duQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgVGFibGVDb21wb25lbnRNb2R1bGUsXHJcbiAgICBUcmVlVGFibGVDb21wb25lbnRNb2R1bGUsXHJcbiAgICBSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1lbnVNb2R1bGUsXHJcbiAgICBTbGlkZXJNb2R1bGUsXHJcbiAgICBOZ2JNb2R1bGUsXHJcbiAgICBJbmxpbmVTVkdNb2R1bGUuZm9yUm9vdCh7YmFzZVVybDogJ2Fzc2V0cy9pbWFnZXMvJ30pLFxyXG4gICAgQnJlYWRjcnVtYk1vZHVsZSxcclxuICAgIFRyZWVNb2R1bGUsXHJcbiAgICBTaGFyZWRNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgSW5wdXRUZXh0Q29tcG9uZW50LFxyXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBQYW5lbENvbXBvbmVudCxcclxuICAgIENvbXBvbmVudENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIENoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgRW1wdHlDb21wb25lbnQsXHJcbiAgICBQcmVsb2FkZXJDb21wb25lbnQsXHJcbiAgICBJbnNwYXJrU3RpY2t5Q29tcG9uZW50LFxyXG4gICAgSW5zcGFya0hlYWRlckNvbXBvbmVudCxcclxuICAgIFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxyXG4gICAgRmlsZUNvbXBvbmVudCxcclxuICAgIFNlbGVjdEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIE1vZGFsSW5wdXRUZXh0Q29tcG9uZW50LFxyXG4gICAgU2VsZWN0TGlzdENvbXBvbmVudCxcclxuICAgIFN0YXR1c0NpcmNsZUNvbXBvbmVudCxcclxuICAgIFN2Z0NvbXBvbmVudCxcclxuICAgIFN3aXRjaGVyQ29tcG9uZW50LFxyXG4gICAgSW5saW5lTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIExpbmtDb21wb25lbnQsXHJcbiAgICBJbnNwYXJrVGVtcGxhdGUsXHJcbiAgICBUb29sdGlwQ29tcG9uZW50LFxyXG4gICAgUmFkaW9idXR0b25Db21wb25lbnQsXHJcbiAgICBPYmplY3RUcmVlQ29tcG9uZW50LFxyXG4gICAgQ29udGVudFRvZ2dsZUNvbXBvbmVudCxcclxuICAgIElucHV0R3JvdXBDb21wb25lbnQsXHJcbiAgICBPYmplY3RQaWVDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBJbnB1dFRleHRDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIFBhbmVsQ29tcG9uZW50LFxyXG4gICAgQ29tcG9uZW50Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudE1vZHVsZSxcclxuICAgIFRhYmxlQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgVHJlZVRhYmxlQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgRW1wdHlDb21wb25lbnQsXHJcbiAgICBQcmVsb2FkZXJDb21wb25lbnQsXHJcbiAgICBJbnNwYXJrU3RpY2t5Q29tcG9uZW50LFxyXG4gICAgSW5zcGFya0hlYWRlckNvbXBvbmVudCxcclxuICAgIFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxyXG4gICAgRmlsZUNvbXBvbmVudCxcclxuICAgIFNlbGVjdEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIE1vZGFsSW5wdXRUZXh0Q29tcG9uZW50LFxyXG4gICAgU2VsZWN0TGlzdENvbXBvbmVudCxcclxuICAgIFN0YXR1c0NpcmNsZUNvbXBvbmVudCxcclxuICAgIFN2Z0NvbXBvbmVudCxcclxuICAgIFN3aXRjaGVyQ29tcG9uZW50LFxyXG4gICAgTWVudU1vZHVsZSxcclxuICAgIFNsaWRlck1vZHVsZSxcclxuICAgIElubGluZU1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBMaW5rQ29tcG9uZW50LFxyXG4gICAgSW5zcGFya1RlbXBsYXRlLFxyXG4gICAgTmdiTW9kdWxlLFxyXG4gICAgVG9vbHRpcENvbXBvbmVudCxcclxuICAgIFJhZGlvYnV0dG9uQ29tcG9uZW50LFxyXG4gICAgT2JqZWN0VHJlZUNvbXBvbmVudCxcclxuICAgIENvbnRlbnRUb2dnbGVDb21wb25lbnQsXHJcbiAgICBPYmplY3RQaWVDb21wb25lbnQsXHJcbiAgICBJbnB1dEdyb3VwQ29tcG9uZW50LFxyXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50TW9kdWxlXHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtTZWxlY3RMaXN0Q29tcG9uZW50LCBNb2RhbElucHV0VGV4dENvbXBvbmVudF0sXHJcbiAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnNwYXJrQ29tcG9uZW50c01vZHVsZSB7XHJcbn1cclxuIl19
|