cps-ui-kit 17.26.0 → 17.28.0
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/assets/icons.svg +5 -6
- package/esm2022/lib/components/cps-autocomplete/cps-autocomplete.component.mjs +40 -16
- package/esm2022/lib/components/cps-button/cps-button.component.mjs +15 -8
- package/esm2022/lib/components/cps-button-toggle/cps-button-toggle.component.mjs +11 -7
- package/esm2022/lib/components/cps-checkbox/cps-checkbox.component.mjs +10 -6
- package/esm2022/lib/components/cps-divider/cps-divider.component.mjs +29 -15
- package/esm2022/lib/components/cps-expansion-panel/cps-expansion-panel.component.mjs +12 -8
- package/esm2022/lib/components/cps-icon/cps-icon.component.mjs +13 -9
- package/esm2022/lib/components/cps-input/cps-input.component.mjs +3 -3
- package/esm2022/lib/components/cps-loader/cps-loader.component.mjs +12 -7
- package/esm2022/lib/components/cps-menu/cps-menu.component.mjs +39 -19
- package/esm2022/lib/components/cps-paginator/cps-paginator.component.mjs +12 -7
- package/esm2022/lib/components/cps-progress-circular/cps-progress-circular.component.mjs +12 -7
- package/esm2022/lib/components/cps-progress-linear/cps-progress-linear.component.mjs +13 -8
- package/esm2022/lib/components/cps-tab-group/cps-tab-group.component.mjs +12 -8
- package/esm2022/lib/components/cps-table/cps-table.component.mjs +11 -7
- package/esm2022/lib/components/cps-tag/cps-tag.component.mjs +10 -6
- package/esm2022/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.mjs +31 -9
- package/esm2022/lib/components/cps-tree-table/cps-tree-table.component.mjs +17 -12
- package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.mjs +11 -6
- package/esm2022/lib/directives/cps-tooltip/cps-tooltip.directive.mjs +28 -23
- package/esm2022/lib/utils/colors-utils.mjs +10 -8
- package/fesm2022/cps-ui-kit.mjs +295 -146
- package/fesm2022/cps-ui-kit.mjs.map +1 -1
- package/lib/components/cps-autocomplete/cps-autocomplete.component.d.ts +9 -5
- package/lib/components/cps-button/cps-button.component.d.ts +2 -0
- package/lib/components/cps-button-toggle/cps-button-toggle.component.d.ts +3 -2
- package/lib/components/cps-checkbox/cps-checkbox.component.d.ts +3 -2
- package/lib/components/cps-divider/cps-divider.component.d.ts +16 -3
- package/lib/components/cps-expansion-panel/cps-expansion-panel.component.d.ts +2 -1
- package/lib/components/cps-icon/cps-icon.component.d.ts +2 -0
- package/lib/components/cps-loader/cps-loader.component.d.ts +2 -0
- package/lib/components/cps-menu/cps-menu.component.d.ts +21 -3
- package/lib/components/cps-paginator/cps-paginator.component.d.ts +2 -0
- package/lib/components/cps-progress-circular/cps-progress-circular.component.d.ts +2 -0
- package/lib/components/cps-progress-linear/cps-progress-linear.component.d.ts +2 -0
- package/lib/components/cps-tab-group/cps-tab-group.component.d.ts +2 -1
- package/lib/components/cps-table/cps-table.component.d.ts +2 -1
- package/lib/components/cps-tag/cps-tag.component.d.ts +3 -2
- package/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.d.ts +9 -4
- package/lib/components/cps-tree-table/cps-tree-table.component.d.ts +4 -2
- package/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.d.ts +2 -1
- package/lib/directives/cps-tooltip/cps-tooltip.directive.d.ts +3 -1
- package/lib/utils/colors-utils.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Input, Optional } from '@angular/core';
|
|
1
|
+
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Component, Inject, Input, Optional, ViewChild } from '@angular/core';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { CpsIconComponent } from '../cps-icon/cps-icon.component';
|
|
5
5
|
import { CpsChipComponent } from '../cps-chip/cps-chip.component';
|
|
@@ -7,7 +7,7 @@ import { CpsProgressLinearComponent } from '../cps-progress-linear/cps-progress-
|
|
|
7
7
|
import { CpsInfoCircleComponent } from '../cps-info-circle/cps-info-circle.component';
|
|
8
8
|
import { isEqual } from 'lodash-es';
|
|
9
9
|
import { TreeModule } from 'primeng/tree';
|
|
10
|
-
import { CpsMenuComponent } from '../cps-menu/cps-menu.component';
|
|
10
|
+
import { CpsMenuComponent, CpsMenuHideReason } from '../cps-menu/cps-menu.component';
|
|
11
11
|
import { CpsBaseTreeDropdownComponent } from '../internal/cps-base-tree-dropdown/cps-base-tree-dropdown.component';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "@angular/forms";
|
|
@@ -19,9 +19,10 @@ import * as i4 from "primeng/api";
|
|
|
19
19
|
* @group Components
|
|
20
20
|
*/
|
|
21
21
|
export class CpsTreeAutocompleteComponent extends CpsBaseTreeDropdownComponent {
|
|
22
|
-
constructor(control, cdRef) {
|
|
22
|
+
constructor(control, document, cdRef) {
|
|
23
23
|
super(control, cdRef);
|
|
24
24
|
this.control = control;
|
|
25
|
+
this.document = document;
|
|
25
26
|
this.cdRef = cdRef;
|
|
26
27
|
/**
|
|
27
28
|
* Message if array of items is empty.
|
|
@@ -57,7 +58,17 @@ export class CpsTreeAutocompleteComponent extends CpsBaseTreeDropdownComponent {
|
|
|
57
58
|
this._clearInput();
|
|
58
59
|
super.onSelectNode();
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
+
onBlur() {
|
|
62
|
+
if (!this.isOpened) {
|
|
63
|
+
this._closeAndClear();
|
|
64
|
+
}
|
|
65
|
+
super.onBlur();
|
|
66
|
+
}
|
|
67
|
+
onBeforeOptionsHidden(reason) {
|
|
68
|
+
if ([CpsMenuHideReason.SCROLL, CpsMenuHideReason.RESIZE].includes(reason)) {
|
|
69
|
+
this.toggleOptions(false);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
61
72
|
this._closeAndClear();
|
|
62
73
|
}
|
|
63
74
|
onBoxClick() {
|
|
@@ -106,6 +117,10 @@ export class CpsTreeAutocompleteComponent extends CpsBaseTreeDropdownComponent {
|
|
|
106
117
|
this.onBoxClick();
|
|
107
118
|
}
|
|
108
119
|
}
|
|
120
|
+
isActive() {
|
|
121
|
+
return (this.isOpened ||
|
|
122
|
+
this.document.activeElement === this.treeAutocompleteInput?.nativeElement);
|
|
123
|
+
}
|
|
109
124
|
remove(option) {
|
|
110
125
|
super.remove(option);
|
|
111
126
|
this._clearInput();
|
|
@@ -188,6 +203,7 @@ export class CpsTreeAutocompleteComponent extends CpsBaseTreeDropdownComponent {
|
|
|
188
203
|
return;
|
|
189
204
|
this.treeSelection = undefined;
|
|
190
205
|
this.updateValue(undefined);
|
|
206
|
+
this.cdRef.detectChanges();
|
|
191
207
|
this._closeAndClear();
|
|
192
208
|
return;
|
|
193
209
|
}
|
|
@@ -224,8 +240,8 @@ export class CpsTreeAutocompleteComponent extends CpsBaseTreeDropdownComponent {
|
|
|
224
240
|
this.focusInput();
|
|
225
241
|
}, 0);
|
|
226
242
|
}
|
|
227
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTreeAutocompleteComponent, deps: [{ token: i1.NgControl, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
228
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: CpsTreeAutocompleteComponent, isStandalone: true, selector: "cps-tree-autocomplete", inputs: { emptyMessage: "emptyMessage", appearance: "appearance", placeholder: "placeholder" }, usesInheritance: true, ngImport: i0, template: "<div\n [ngStyle]=\"{ width: cvtWidth }\"\n class=\"cps-treeautocomplete\"\n tabindex=\"1\"\n [ngClass]=\"{ disabled: disabled, error: error, active: isOpened }\"\n #componentContainer>\n <div class=\"cps-treeautocomplete-label\" *ngIf=\"label\">\n <label>{{ label }}</label>\n <cps-info-circle\n *ngIf=\"infoTooltip\"\n class=\"cps-treeautocomplete-label-info-circle\"\n size=\"xsmall\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipContentClass]=\"infoTooltipClass\"\n [tooltipMaxWidth]=\"infoTooltipMaxWidth\"\n [tooltipPersistent]=\"infoTooltipPersistent\"\n [tooltipText]=\"infoTooltip\">\n </cps-info-circle>\n </div>\n <div\n (keydown)=\"onContainerKeyDown($event)\"\n class=\"cps-treeautocomplete-container\"\n [class.focused]=\"isOpened\"\n [ngClass]=\"{\n 'persistent-clear': persistentClear,\n borderless: appearance === 'borderless',\n underlined: appearance === 'underlined'\n }\">\n <div class=\"cps-treeautocomplete-box\" #boxEl (mousedown)=\"onBoxClick()\">\n <div class=\"cps-treeautocomplete-box-area\">\n <cps-icon\n *ngIf=\"prefixIcon\"\n [icon]=\"prefixIcon\"\n [style.color]=\"disabled ? '#9a9595' : null\"\n [size]=\"prefixIconSize\"\n class=\"prefix-icon\">\n </cps-icon>\n <div\n class=\"cps-treeautocomplete-box-items\"\n *ngIf=\"\n (treeSelection && !multiple) ||\n (treeSelection?.length > 0 && multiple);\n else treeAutocompleteInput\n \">\n <span *ngIf=\"!multiple\" class=\"single-item\">\n <div class=\"single-item-selection\">\n <span [style.opacity]=\"activeSingle ? 0 : 1\">{{\n treeSelection.label\n }}</span>\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInput;\n context: {\n inputClass: 'single-item-input',\n inputStyle: activeSingle ? 'opacity: 1' : null\n }\n \">\n </ng-container>\n </span>\n\n <div *ngIf=\"multiple && !chips\" class=\"text-group\">\n <div\n *ngFor=\"let val of treeSelection; let last = last\"\n class=\"text-group-item\"\n [ngClass]=\"{ 'about-to-remove': last && backspaceClickedOnce }\">\n {{ val.label }}{{ !last ? ',' : '' }}\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInput;\n context: {\n inputClass: 'multi-item-input'\n }\n \"></ng-container>\n </div>\n\n <div *ngIf=\"multiple && chips\" class=\"chips-group\">\n <cps-chip\n *ngFor=\"let val of treeSelection; let last = last\"\n [disabled]=\"disabled\"\n [closable]=\"closableChips\"\n (closed)=\"remove(val)\"\n [ngClass]=\"{ 'about-to-remove': last && backspaceClickedOnce }\"\n [label]=\"val.label\">\n </cps-chip>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInput;\n context: {\n inputClass: 'multi-chip-input'\n }\n \"></ng-container>\n </div>\n </div>\n <span class=\"cps-treeautocomplete-box-icons\">\n <span\n *ngIf=\"clearable && !disabled\"\n [style.visibility]=\"\n persistentClear ||\n (!persistentClear &&\n ((multiple && treeSelection?.length) ||\n (!multiple && treeSelection)))\n ? 'visible'\n : 'hidden'\n \"\n class=\"cps-treeautocomplete-box-clear-icon\">\n <cps-icon\n icon=\"delete\"\n size=\"small\"\n (click)=\"clear($event)\"></cps-icon>\n </span>\n <span\n *ngIf=\"showChevron\"\n class=\"cps-treeautocomplete-box-chevron\"\n (mousedown)=\"onChevronClick($event)\">\n <cps-icon\n icon=\"chevron-down\"\n size=\"small\"\n [color]=\"disabled ? 'text-light' : 'text-dark'\"></cps-icon>\n </span>\n </span>\n </div>\n </div>\n\n <cps-menu\n #optionsMenu\n [withArrow]=\"false\"\n (beforeMenuHidden)=\"onBeforeOptionsHidden()\"\n hideTransitionOptions=\"0s linear\"\n containerClass=\"cps-treeautocomplete-options-menu\">\n <div\n class=\"cps-treeautocomplete-options\"\n [ngStyle]=\"{\n width: boxWidth + 'px'\n }\">\n <p-tree\n #treeList\n [emptyMessage]=\"emptyMessage\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"{ numToleratedItems: numToleratedItems }\"\n [scrollHeight]=\"virtualListHeight + 'px'\"\n (onNodeSelect)=\"onSelectNode()\"\n (onNodeExpand)=\"onNodeExpand($event)\"\n (onNodeCollapse)=\"onNodeCollapse($event)\"\n (onFilter)=\"onFilterOptions()\"\n [value]=\"innerOptions\"\n [(selection)]=\"treeSelection\"\n (selectionChange)=\"treeSelectionChanged($event)\"\n [metaKeySelection]=\"multiple ? false : true\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\">\n <ng-template let-node pTemplate=\"directory\">\n <span class=\"cps-treeautocomplete-directory-elem\">{{\n node.label\n }}</span>\n </ng-template>\n <ng-template let-node pTemplate=\"default\">\n <span class=\"cps-treeautocomplete-option\">\n <span class=\"cps-treeautocomplete-option-left\">\n <span\n *ngIf=\"multiple\"\n class=\"cps-treeautocomplete-option-check\">\n </span>\n <span\n class=\"cps-treeautocomplete-option-label\"\n [class.virtual-row]=\"virtualScroll\"\n >{{ node.label }}</span\n >\n </span>\n <span\n class=\"cps-treeautocomplete-option-info\"\n [class.virtual-row]=\"virtualScroll\"\n >{{ node.info }}</span\n >\n </span>\n </ng-template>\n </p-tree>\n </div>\n </cps-menu>\n <cps-progress-linear\n *ngIf=\"loading\"\n height=\"3\"\n radius=\"4\"\n opacity=\"0.3\"\n class=\"cps-treeautocomplete-progress-bar\"\n bgColor=\"transparent\">\n </cps-progress-linear>\n </div>\n <div *ngIf=\"!error && !hideDetails\" class=\"cps-treeautocomplete-hint\">\n {{ hint }}\n </div>\n <div *ngIf=\"error && !hideDetails\" class=\"cps-treeautocomplete-error\">\n {{ error }}\n </div>\n</div>\n\n<ng-template\n #treeAutocompleteInput\n let-inputClass=\"inputClass\"\n let-inputStyle=\"inputStyle\">\n <input\n class=\"cps-treeautocomplete-box-input\"\n spellcheck=\"false\"\n [class]=\"inputClass\"\n [style]=\"inputStyle\"\n [placeholder]=\"\n (!treeSelection && !multiple) || (treeSelection?.length < 1 && multiple)\n ? placeholder\n : ''\n \"\n (input)=\"filterOptions($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n [(ngModel)]=\"inputText\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\" />\n</ng-template>\n", styles: [":host{display:flex}:host .cps-treeautocomplete{position:relative;width:100%;outline:none;font-family:Source Sans Pro,sans-serif;font-weight:400;display:grid}:host .cps-treeautocomplete .cps-treeautocomplete-container{position:relative}:host .cps-treeautocomplete .cps-treeautocomplete-container .cps-treeautocomplete-progress-bar{position:absolute;bottom:1px;padding:0 1px}:host .cps-treeautocomplete .cps-treeautocomplete-container.focused .cps-treeautocomplete-box{background:#fff!important}:host .cps-treeautocomplete .cps-treeautocomplete-container.borderless .cps-treeautocomplete-box,:host .cps-treeautocomplete .cps-treeautocomplete-container.underlined .cps-treeautocomplete-box{line-height:1;border:none!important;border-radius:0}:host .cps-treeautocomplete .cps-treeautocomplete-container.underlined .cps-treeautocomplete-box{border-bottom:1px solid var(--cps-color-line-light)!important}:host .cps-treeautocomplete.active .cps-treeautocomplete-box{border:1px solid var(--cps-color-calm)}:host .cps-treeautocomplete.active .cps-treeautocomplete-box .cps-treeautocomplete-box-area .prefix-icon{color:var(--cps-color-calm)}:host .cps-treeautocomplete.active .cps-treeautocomplete-box .cps-treeautocomplete-box-chevron{top:22px;transform:rotate(180deg)}:host .cps-treeautocomplete .cps-treeautocomplete-label{align-items:center;display:inline-flex;margin-bottom:.2rem;color:var(--cps-color-text-dark);font-size:.875rem;font-weight:600}:host .cps-treeautocomplete .cps-treeautocomplete-label .cps-treeautocomplete-label-info-circle{margin-left:8px;pointer-events:all}:host .cps-treeautocomplete .persistent-clear .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon,:host .cps-treeautocomplete .cps-treeautocomplete-container.focused .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon,:host .cps-treeautocomplete .cps-treeautocomplete-container:hover .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon{opacity:.5}:host .cps-treeautocomplete .cps-treeautocomplete-box{overflow:hidden;min-height:38px;width:100%;cursor:text;background:#fff;font-size:1rem;outline:none;padding:0 12px;border-radius:4px;border:1px solid var(--cps-color-line-light);transition-duration:.2s}:host .cps-treeautocomplete .cps-treeautocomplete-box-area{display:flex;min-height:36px;align-items:center}:host .cps-treeautocomplete .cps-treeautocomplete-box-area .prefix-icon{margin-right:.5rem;color:var(--cps-color-text-dark)}:host .cps-treeautocomplete .cps-treeautocomplete-box-input{min-height:36px;padding:0;background-color:transparent;width:0;min-width:30px;flex-grow:1;font-size:1rem;color:var(--cps-color-text-dark);border-style:none;outline:none;font-family:Source Sans Pro,sans-serif}:host .cps-treeautocomplete .cps-treeautocomplete-box-input::placeholder{color:var(--cps-color-text-lightest);font-style:italic;opacity:1}:host .cps-treeautocomplete .cps-treeautocomplete-box-items{display:inline-flex;flex-direction:column;width:100%;padding-top:3px;padding-bottom:3px;min-height:36px;justify-content:center;position:relative}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item{color:var(--cps-color-text-dark);display:inline-flex}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item-selection{display:inline-flex;letter-spacing:inherit;line-height:inherit;max-width:100%}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item-input{opacity:0;min-width:0;align-self:flex-start;flex:1 1;transition:none;position:absolute;top:0;bottom:0;width:100%;padding-inline-start:inherit;padding-inline-end:inherit}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .multi-chip-input{min-height:30px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .multi-item-input{min-height:28px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .chips-group{display:inline-flex;flex-wrap:wrap;align-items:center}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .chips-group cps-chip{padding-bottom:3px;padding-top:3px;padding-right:4px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .text-group{color:var(--cps-color-text-dark);align-items:center;display:inline-flex;flex-wrap:wrap}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .text-group .text-group-item{padding-bottom:3px;padding-top:3px;padding-right:4px}:host .cps-treeautocomplete .cps-treeautocomplete-box:hover{border:1px solid var(--cps-color-calm)}:host .cps-treeautocomplete .cps-treeautocomplete-box:hover .cps-treeautocomplete-box-area .prefix-icon{color:var(--cps-color-calm)}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons{display:flex}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon{cursor:pointer;display:flex;color:var(--cps-color-calm);margin-left:8px}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon{opacity:0;transition-duration:.2s}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon:hover{opacity:1!important}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-chevron{display:flex;margin-left:8px;transition-duration:.2s;cursor:pointer}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-chevron:hover ::ng-deep cps-icon .cps-icon{color:var(--cps-color-calm)!important}:host .cps-treeautocomplete .cps-treeautocomplete-hint{color:var(--cps-color-text-mild);font-size:.75rem;min-height:1.125rem;line-height:1.125rem;cursor:default;margin-top:.2rem}:host .cps-treeautocomplete .cps-treeautocomplete-error{color:var(--cps-color-error);font-weight:700;font-size:.75rem;min-height:1.125rem;line-height:1.125rem;cursor:default;margin-top:.2rem}:host .cps-treeautocomplete.disabled{pointer-events:none}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box{background:#f7f7f7}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items{color:var(--cps-color-text-light)}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items .text-group,:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items .single-item{color:var(--cps-color-text-light)}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-label{color:var(--cps-color-text-mild)}:host .cps-treeautocomplete.error .cps-treeautocomplete-box{border-color:var(--cps-color-error)!important;background:#fef3f2}:host .about-to-remove{color:var(--cps-color-text-light)}:host .about-to-remove ::ng-deep .cps-chip{background-color:var(--cps-color-bg-mid)}.cps-treeautocomplete-options{background:#fff;overflow-x:hidden;max-height:242px;overflow-y:auto}.cps-treeautocomplete-options ::ng-deep .p-tree{background:#fff;color:var(--cps-color-text-dark);padding:0;border:unset;border-radius:unset}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option{margin-right:8px;display:flex;align-items:center;justify-content:space-between}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-left{display:flex;align-items:center;margin-right:8px}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-check{background-color:transparent;border:0;width:16px;height:16px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1);margin-right:8px;opacity:0}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-check:after{color:var(--cps-color-calm);top:4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box;position:absolute;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-info{margin-left:6px;color:var(--cps-color-text-light)}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option .virtual-row{white-space:nowrap}.cps-treeautocomplete-options ::ng-deep .p-component{font-family:Source Sans Pro,sans-serif;font-size:14px;font-weight:400}.cps-treeautocomplete-options ::ng-deep .p-tree-wrapper{overflow:auto}.cps-treeautocomplete-options ::ng-deep .p-tree-container{margin:0;padding:0;list-style-type:none;overflow:auto}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode{padding:unset;outline:0 none;min-width:fit-content}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content{border-radius:0;transition:box-shadow .2s;padding:.25rem}.cps-treeautocomplete-options ::ng-deep .p-treenode-content{display:flex;align-items:center}.cps-treeautocomplete-options ::ng-deep .p-treenode-content .p-treenode-label{width:100%}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler{margin-right:.5rem;width:2rem;height:2rem;color:var(--cps-color-text-light);border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content:not(.p-highlight):hover{background:var(--cps-color-highlight-hover)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content{outline:0 none;outline-offset:0;box-shadow:unset}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content:not(.p-highlight){background-color:var(--cps-color-highlight-hover)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight{background:var(--cps-color-highlight-selected);color:var(--cps-color-calm);font-weight:600}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .cps-treeautocomplete-option-check{opacity:1}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content.p-highlight{background:var(--cps-color-highlight-selected-dark)}.cps-treeautocomplete-options ::ng-deep .p-tree-toggler{outline:0 none;outline-offset:0;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative;flex-shrink:0}.cps-treeautocomplete-options ::ng-deep .p-tree-toggler :hover{color:var(--cps-color-calm)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content .p-tree-toggler{outline:0 none;outline-offset:0;box-shadow:unset}.cps-treeautocomplete-options ::ng-deep .cps-tree-node-fully-expandable>.p-treenode-content:hover .p-tree-toggler{color:var(--cps-color-calm)!important}.cps-treeautocomplete-options ::ng-deep .p-tree .p-treenode-children{padding:0 0 0 1rem}.cps-treeautocomplete-options ::ng-deep .p-treenode-children{margin:0;padding:0;list-style-type:none}.cps-treeautocomplete-options ::ng-deep .p-tree-empty-message{padding:11px;font-size:16px;cursor:default}.cps-treeautocomplete-options ::ng-deep .cps-tree-node-fully-expandable{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-directory-elem{font-weight:700;font-size:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TreeModule }, { kind: "component", type: i3.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }, { kind: "component", type: CpsChipComponent, selector: "cps-chip", inputs: ["label", "icon", "iconColor", "iconPosition", "closable", "disabled"], outputs: ["closed"] }, { kind: "component", type: CpsProgressLinearComponent, selector: "cps-progress-linear", inputs: ["width", "height", "color", "bgColor", "opacity", "radius"] }, { kind: "component", type: CpsInfoCircleComponent, selector: "cps-info-circle", inputs: ["size", "tooltipText", "tooltipPosition", "tooltipContentClass", "tooltipMaxWidth", "tooltipPersistent"] }, { kind: "component", type: CpsMenuComponent, selector: "cps-menu", inputs: ["header", "items", "withArrow", "compressed", "focusOnShow", "persistent", "containerClass", "showTransitionOptions", "hideTransitionOptions"], outputs: ["menuShown", "menuHidden", "beforeMenuHidden", "contentClicked"] }] }); }
|
|
243
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTreeAutocompleteComponent, deps: [{ token: i1.NgControl, optional: true }, { token: DOCUMENT }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
244
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: CpsTreeAutocompleteComponent, isStandalone: true, selector: "cps-tree-autocomplete", inputs: { emptyMessage: "emptyMessage", appearance: "appearance", placeholder: "placeholder" }, viewQueries: [{ propertyName: "treeAutocompleteInput", first: true, predicate: ["treeAutocompleteInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n [ngStyle]=\"{ width: cvtWidth }\"\n class=\"cps-treeautocomplete\"\n tabindex=\"1\"\n [ngClass]=\"{ disabled: disabled, error: error, active: isActive() }\"\n #componentContainer>\n <div class=\"cps-treeautocomplete-label\" *ngIf=\"label\">\n <label>{{ label }}</label>\n <cps-info-circle\n *ngIf=\"infoTooltip\"\n class=\"cps-treeautocomplete-label-info-circle\"\n size=\"xsmall\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipContentClass]=\"infoTooltipClass\"\n [tooltipMaxWidth]=\"infoTooltipMaxWidth\"\n [tooltipPersistent]=\"infoTooltipPersistent\"\n [tooltipText]=\"infoTooltip\">\n </cps-info-circle>\n </div>\n <div\n (keydown)=\"onContainerKeyDown($event)\"\n class=\"cps-treeautocomplete-container\"\n [class.focused]=\"isActive()\"\n [ngClass]=\"{\n 'persistent-clear': persistentClear,\n borderless: appearance === 'borderless',\n underlined: appearance === 'underlined'\n }\">\n <div class=\"cps-treeautocomplete-box\" #boxEl (mousedown)=\"onBoxClick()\">\n <div class=\"cps-treeautocomplete-box-area\">\n <cps-icon\n *ngIf=\"prefixIcon\"\n [icon]=\"prefixIcon\"\n [style.color]=\"disabled ? '#9a9595' : null\"\n [size]=\"prefixIconSize\"\n class=\"prefix-icon\">\n </cps-icon>\n <div\n class=\"cps-treeautocomplete-box-items\"\n *ngIf=\"\n (treeSelection && !multiple) ||\n (treeSelection?.length > 0 && multiple);\n else treeAutocompleteInputTemplate\n \">\n <span *ngIf=\"!multiple\" class=\"single-item\">\n <div class=\"single-item-selection\">\n <span [style.opacity]=\"activeSingle ? 0 : 1\">{{\n treeSelection.label\n }}</span>\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInputTemplate;\n context: {\n inputClass: 'single-item-input',\n inputStyle: activeSingle ? 'opacity: 1' : null\n }\n \">\n </ng-container>\n </span>\n\n <div *ngIf=\"multiple && !chips\" class=\"text-group\">\n <div\n *ngFor=\"let val of treeSelection; let last = last\"\n class=\"text-group-item\"\n [ngClass]=\"{ 'about-to-remove': last && backspaceClickedOnce }\">\n {{ val.label }}{{ !last ? ',' : '' }}\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInputTemplate;\n context: {\n inputClass: 'multi-item-input'\n }\n \"></ng-container>\n </div>\n\n <div *ngIf=\"multiple && chips\" class=\"chips-group\">\n <cps-chip\n *ngFor=\"let val of treeSelection; let last = last\"\n [disabled]=\"disabled\"\n [closable]=\"closableChips\"\n (closed)=\"remove(val)\"\n [ngClass]=\"{ 'about-to-remove': last && backspaceClickedOnce }\"\n [label]=\"val.label\">\n </cps-chip>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInputTemplate;\n context: {\n inputClass: 'multi-chip-input'\n }\n \"></ng-container>\n </div>\n </div>\n <span class=\"cps-treeautocomplete-box-icons\">\n <span\n *ngIf=\"clearable && !disabled\"\n [style.visibility]=\"\n persistentClear ||\n (!persistentClear &&\n ((multiple && treeSelection?.length) ||\n (!multiple && treeSelection)))\n ? 'visible'\n : 'hidden'\n \"\n class=\"cps-treeautocomplete-box-clear-icon\">\n <cps-icon\n icon=\"delete\"\n size=\"small\"\n (click)=\"clear($event)\"></cps-icon>\n </span>\n <span\n *ngIf=\"showChevron\"\n class=\"cps-treeautocomplete-box-chevron\"\n (mousedown)=\"onChevronClick($event)\">\n <cps-icon\n icon=\"chevron-down\"\n size=\"small\"\n [color]=\"disabled ? 'text-light' : 'text-dark'\"></cps-icon>\n </span>\n </span>\n </div>\n </div>\n\n <cps-menu\n #optionsMenu\n [withArrow]=\"false\"\n (beforeMenuHidden)=\"onBeforeOptionsHidden($event)\"\n hideTransitionOptions=\"0s linear\"\n containerClass=\"cps-treeautocomplete-options-menu\">\n <div\n class=\"cps-treeautocomplete-options\"\n [ngStyle]=\"{\n width: boxWidth + 'px'\n }\">\n <p-tree\n #treeList\n [emptyMessage]=\"emptyMessage\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"{ numToleratedItems: numToleratedItems }\"\n [scrollHeight]=\"virtualListHeight + 'px'\"\n (onNodeSelect)=\"onSelectNode()\"\n (onNodeExpand)=\"onNodeExpand($event)\"\n (onNodeCollapse)=\"onNodeCollapse($event)\"\n (onFilter)=\"onFilterOptions()\"\n [value]=\"innerOptions\"\n [(selection)]=\"treeSelection\"\n (selectionChange)=\"treeSelectionChanged($event)\"\n [metaKeySelection]=\"multiple ? false : true\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\">\n <ng-template let-node pTemplate=\"directory\">\n <span class=\"cps-treeautocomplete-directory-elem\">{{\n node.label\n }}</span>\n </ng-template>\n <ng-template let-node pTemplate=\"default\">\n <span class=\"cps-treeautocomplete-option\">\n <span class=\"cps-treeautocomplete-option-left\">\n <span\n *ngIf=\"multiple\"\n class=\"cps-treeautocomplete-option-check\">\n </span>\n <span\n class=\"cps-treeautocomplete-option-label\"\n [class.virtual-row]=\"virtualScroll\"\n >{{ node.label }}</span\n >\n </span>\n <span\n class=\"cps-treeautocomplete-option-info\"\n [class.virtual-row]=\"virtualScroll\"\n >{{ node.info }}</span\n >\n </span>\n </ng-template>\n </p-tree>\n </div>\n </cps-menu>\n <cps-progress-linear\n *ngIf=\"loading\"\n height=\"3\"\n radius=\"4\"\n opacity=\"0.3\"\n class=\"cps-treeautocomplete-progress-bar\"\n bgColor=\"transparent\">\n </cps-progress-linear>\n </div>\n <div *ngIf=\"!error && !hideDetails\" class=\"cps-treeautocomplete-hint\">\n {{ hint }}\n </div>\n <div *ngIf=\"error && !hideDetails\" class=\"cps-treeautocomplete-error\">\n {{ error }}\n </div>\n</div>\n\n<ng-template\n #treeAutocompleteInputTemplate\n let-inputClass=\"inputClass\"\n let-inputStyle=\"inputStyle\">\n <input\n #treeAutocompleteInput\n class=\"cps-treeautocomplete-box-input\"\n spellcheck=\"false\"\n [class]=\"inputClass\"\n [style]=\"inputStyle\"\n [placeholder]=\"\n (!treeSelection && !multiple) || (treeSelection?.length < 1 && multiple)\n ? placeholder\n : ''\n \"\n (input)=\"filterOptions($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n [(ngModel)]=\"inputText\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\" />\n</ng-template>\n", styles: [":host{display:flex}:host .cps-treeautocomplete{position:relative;width:100%;outline:none;font-family:Source Sans Pro,sans-serif;font-weight:400;display:grid}:host .cps-treeautocomplete .cps-treeautocomplete-container{position:relative}:host .cps-treeautocomplete .cps-treeautocomplete-container .cps-treeautocomplete-progress-bar{position:absolute;bottom:1px;padding:0 1px}:host .cps-treeautocomplete .cps-treeautocomplete-container.focused .cps-treeautocomplete-box{background:#fff!important}:host .cps-treeautocomplete .cps-treeautocomplete-container.borderless .cps-treeautocomplete-box,:host .cps-treeautocomplete .cps-treeautocomplete-container.underlined .cps-treeautocomplete-box{line-height:1;border:none!important;border-radius:0}:host .cps-treeautocomplete .cps-treeautocomplete-container.underlined .cps-treeautocomplete-box{border-bottom:1px solid var(--cps-color-line-light)!important}:host .cps-treeautocomplete.active .cps-treeautocomplete-box{border:1px solid var(--cps-color-calm)}:host .cps-treeautocomplete.active .cps-treeautocomplete-box .cps-treeautocomplete-box-area .prefix-icon{color:var(--cps-color-calm)}:host .cps-treeautocomplete.active .cps-treeautocomplete-box .cps-treeautocomplete-box-chevron{top:22px;transform:rotate(180deg)}:host .cps-treeautocomplete .cps-treeautocomplete-label{align-items:center;display:inline-flex;margin-bottom:.2rem;color:var(--cps-color-text-dark);font-size:.875rem;font-weight:600}:host .cps-treeautocomplete .cps-treeautocomplete-label .cps-treeautocomplete-label-info-circle{margin-left:8px;pointer-events:all}:host .cps-treeautocomplete .persistent-clear .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon,:host .cps-treeautocomplete .cps-treeautocomplete-container.focused .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon,:host .cps-treeautocomplete .cps-treeautocomplete-container:hover .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon{opacity:.5}:host .cps-treeautocomplete .cps-treeautocomplete-box{overflow:hidden;min-height:38px;width:100%;cursor:text;background:#fff;font-size:1rem;outline:none;padding:0 12px;border-radius:4px;border:1px solid var(--cps-color-line-light);transition-duration:.2s}:host .cps-treeautocomplete .cps-treeautocomplete-box-area{display:flex;min-height:36px;align-items:center}:host .cps-treeautocomplete .cps-treeautocomplete-box-area .prefix-icon{margin-right:.5rem;color:var(--cps-color-text-dark)}:host .cps-treeautocomplete .cps-treeautocomplete-box-input{min-height:36px;padding:0;background-color:transparent;width:0;min-width:30px;flex-grow:1;font-size:1rem;color:var(--cps-color-text-dark);border-style:none;outline:none;font-family:Source Sans Pro,sans-serif}:host .cps-treeautocomplete .cps-treeautocomplete-box-input::placeholder{color:var(--cps-color-text-lightest);font-style:italic;opacity:1}:host .cps-treeautocomplete .cps-treeautocomplete-box-items{display:inline-flex;flex-direction:column;width:100%;padding-top:3px;padding-bottom:3px;min-height:36px;justify-content:center;position:relative}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item{color:var(--cps-color-text-dark);display:inline-flex}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item-selection{display:inline-flex;letter-spacing:inherit;line-height:inherit;max-width:100%}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item-input{opacity:0;min-width:0;align-self:flex-start;flex:1 1;transition:none;position:absolute;top:0;bottom:0;width:100%;padding-inline-start:inherit;padding-inline-end:inherit}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .multi-chip-input{min-height:30px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .multi-item-input{min-height:28px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .chips-group{display:inline-flex;flex-wrap:wrap;align-items:center}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .chips-group cps-chip{padding-bottom:3px;padding-top:3px;padding-right:4px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .text-group{color:var(--cps-color-text-dark);align-items:center;display:inline-flex;flex-wrap:wrap}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .text-group .text-group-item{padding-bottom:3px;padding-top:3px;padding-right:4px}:host .cps-treeautocomplete .cps-treeautocomplete-box:hover{border:1px solid var(--cps-color-calm)}:host .cps-treeautocomplete .cps-treeautocomplete-box:hover .cps-treeautocomplete-box-area .prefix-icon{color:var(--cps-color-calm)}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons{display:flex}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon{cursor:pointer;display:flex;color:var(--cps-color-calm);margin-left:8px}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon{opacity:0;transition-duration:.2s}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon:hover{opacity:1!important}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-chevron{display:flex;margin-left:8px;transition-duration:.2s;cursor:pointer}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-chevron:hover ::ng-deep cps-icon .cps-icon{color:var(--cps-color-calm)!important}:host .cps-treeautocomplete .cps-treeautocomplete-hint{color:var(--cps-color-text-mild);font-size:.75rem;min-height:1.125rem;line-height:1.125rem;cursor:default;margin-top:.2rem}:host .cps-treeautocomplete .cps-treeautocomplete-error{color:var(--cps-color-error);font-weight:700;font-size:.75rem;min-height:1.125rem;line-height:1.125rem;cursor:default;margin-top:.2rem}:host .cps-treeautocomplete.disabled{pointer-events:none}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box{background:#f7f7f7}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items{color:var(--cps-color-text-light)}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items .text-group,:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items .single-item{color:var(--cps-color-text-light)}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-label{color:var(--cps-color-text-mild)}:host .cps-treeautocomplete.error .cps-treeautocomplete-box{border-color:var(--cps-color-error)!important;background:#fef3f2}:host .about-to-remove{color:var(--cps-color-text-light)}:host .about-to-remove ::ng-deep .cps-chip{background-color:var(--cps-color-bg-mid)}.cps-treeautocomplete-options{background:#fff;overflow-x:hidden;max-height:242px;overflow-y:auto}.cps-treeautocomplete-options ::ng-deep .p-tree{background:#fff;color:var(--cps-color-text-dark);padding:0;border:unset;border-radius:unset}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option{margin-right:8px;display:flex;align-items:center;justify-content:space-between}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-left{display:flex;align-items:center;margin-right:8px}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-check{background-color:transparent;border:0;width:16px;height:16px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1);margin-right:8px;opacity:0}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-check:after{color:var(--cps-color-calm);top:4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box;position:absolute;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-info{margin-left:6px;color:var(--cps-color-text-light)}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option .virtual-row{white-space:nowrap}.cps-treeautocomplete-options ::ng-deep .p-component{font-family:Source Sans Pro,sans-serif;font-size:14px;font-weight:400}.cps-treeautocomplete-options ::ng-deep .p-tree-wrapper{overflow:auto}.cps-treeautocomplete-options ::ng-deep .p-tree-container{margin:0;padding:0;list-style-type:none;overflow:auto}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode{padding:unset;outline:0 none;min-width:fit-content}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content{border-radius:0;transition:box-shadow .2s;padding:.25rem}.cps-treeautocomplete-options ::ng-deep .p-treenode-content{display:flex;align-items:center}.cps-treeautocomplete-options ::ng-deep .p-treenode-content .p-treenode-label{width:100%}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler{margin-right:.5rem;width:2rem;height:2rem;color:var(--cps-color-text-light);border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content:not(.p-highlight):hover{background:var(--cps-color-highlight-hover)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content{outline:0 none;outline-offset:0;box-shadow:unset}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content:not(.p-highlight){background-color:var(--cps-color-highlight-hover)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight{background:var(--cps-color-highlight-selected);color:var(--cps-color-calm);font-weight:600}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .cps-treeautocomplete-option-check{opacity:1}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content.p-highlight{background:var(--cps-color-highlight-selected-dark)}.cps-treeautocomplete-options ::ng-deep .p-tree-toggler{outline:0 none;outline-offset:0;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative;flex-shrink:0}.cps-treeautocomplete-options ::ng-deep .p-tree-toggler :hover{color:var(--cps-color-calm)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content .p-tree-toggler{outline:0 none;outline-offset:0;box-shadow:unset}.cps-treeautocomplete-options ::ng-deep .cps-tree-node-fully-expandable>.p-treenode-content:hover .p-tree-toggler{color:var(--cps-color-calm)!important}.cps-treeautocomplete-options ::ng-deep .p-tree .p-treenode-children{padding:0 0 0 1rem}.cps-treeautocomplete-options ::ng-deep .p-treenode-children{margin:0;padding:0;list-style-type:none}.cps-treeautocomplete-options ::ng-deep .p-tree-empty-message{padding:11px;font-size:16px;cursor:default}.cps-treeautocomplete-options ::ng-deep .cps-tree-node-fully-expandable{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-directory-elem{font-weight:700;font-size:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TreeModule }, { kind: "component", type: i3.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }, { kind: "component", type: CpsChipComponent, selector: "cps-chip", inputs: ["label", "icon", "iconColor", "iconPosition", "closable", "disabled"], outputs: ["closed"] }, { kind: "component", type: CpsProgressLinearComponent, selector: "cps-progress-linear", inputs: ["width", "height", "color", "bgColor", "opacity", "radius"] }, { kind: "component", type: CpsInfoCircleComponent, selector: "cps-info-circle", inputs: ["size", "tooltipText", "tooltipPosition", "tooltipContentClass", "tooltipMaxWidth", "tooltipPersistent"] }, { kind: "component", type: CpsMenuComponent, selector: "cps-menu", inputs: ["header", "items", "withArrow", "compressed", "focusOnShow", "persistent", "containerClass", "showTransitionOptions", "hideTransitionOptions"], outputs: ["menuShown", "menuHidden", "beforeMenuHidden", "contentClicked"] }] }); }
|
|
229
245
|
}
|
|
230
246
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTreeAutocompleteComponent, decorators: [{
|
|
231
247
|
type: Component,
|
|
@@ -238,14 +254,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
238
254
|
CpsProgressLinearComponent,
|
|
239
255
|
CpsInfoCircleComponent,
|
|
240
256
|
CpsMenuComponent
|
|
241
|
-
], selector: 'cps-tree-autocomplete', template: "<div\n [ngStyle]=\"{ width: cvtWidth }\"\n class=\"cps-treeautocomplete\"\n tabindex=\"1\"\n [ngClass]=\"{ disabled: disabled, error: error, active: isOpened }\"\n #componentContainer>\n <div class=\"cps-treeautocomplete-label\" *ngIf=\"label\">\n <label>{{ label }}</label>\n <cps-info-circle\n *ngIf=\"infoTooltip\"\n class=\"cps-treeautocomplete-label-info-circle\"\n size=\"xsmall\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipContentClass]=\"infoTooltipClass\"\n [tooltipMaxWidth]=\"infoTooltipMaxWidth\"\n [tooltipPersistent]=\"infoTooltipPersistent\"\n [tooltipText]=\"infoTooltip\">\n </cps-info-circle>\n </div>\n <div\n (keydown)=\"onContainerKeyDown($event)\"\n class=\"cps-treeautocomplete-container\"\n [class.focused]=\"isOpened\"\n [ngClass]=\"{\n 'persistent-clear': persistentClear,\n borderless: appearance === 'borderless',\n underlined: appearance === 'underlined'\n }\">\n <div class=\"cps-treeautocomplete-box\" #boxEl (mousedown)=\"onBoxClick()\">\n <div class=\"cps-treeautocomplete-box-area\">\n <cps-icon\n *ngIf=\"prefixIcon\"\n [icon]=\"prefixIcon\"\n [style.color]=\"disabled ? '#9a9595' : null\"\n [size]=\"prefixIconSize\"\n class=\"prefix-icon\">\n </cps-icon>\n <div\n class=\"cps-treeautocomplete-box-items\"\n *ngIf=\"\n (treeSelection && !multiple) ||\n (treeSelection?.length > 0 && multiple);\n else treeAutocompleteInput\n \">\n <span *ngIf=\"!multiple\" class=\"single-item\">\n <div class=\"single-item-selection\">\n <span [style.opacity]=\"activeSingle ? 0 : 1\">{{\n treeSelection.label\n }}</span>\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInput;\n context: {\n inputClass: 'single-item-input',\n inputStyle: activeSingle ? 'opacity: 1' : null\n }\n \">\n </ng-container>\n </span>\n\n <div *ngIf=\"multiple && !chips\" class=\"text-group\">\n <div\n *ngFor=\"let val of treeSelection; let last = last\"\n class=\"text-group-item\"\n [ngClass]=\"{ 'about-to-remove': last && backspaceClickedOnce }\">\n {{ val.label }}{{ !last ? ',' : '' }}\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInput;\n context: {\n inputClass: 'multi-item-input'\n }\n \"></ng-container>\n </div>\n\n <div *ngIf=\"multiple && chips\" class=\"chips-group\">\n <cps-chip\n *ngFor=\"let val of treeSelection; let last = last\"\n [disabled]=\"disabled\"\n [closable]=\"closableChips\"\n (closed)=\"remove(val)\"\n [ngClass]=\"{ 'about-to-remove': last && backspaceClickedOnce }\"\n [label]=\"val.label\">\n </cps-chip>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInput;\n context: {\n inputClass: 'multi-chip-input'\n }\n \"></ng-container>\n </div>\n </div>\n <span class=\"cps-treeautocomplete-box-icons\">\n <span\n *ngIf=\"clearable && !disabled\"\n [style.visibility]=\"\n persistentClear ||\n (!persistentClear &&\n ((multiple && treeSelection?.length) ||\n (!multiple && treeSelection)))\n ? 'visible'\n : 'hidden'\n \"\n class=\"cps-treeautocomplete-box-clear-icon\">\n <cps-icon\n icon=\"delete\"\n size=\"small\"\n (click)=\"clear($event)\"></cps-icon>\n </span>\n <span\n *ngIf=\"showChevron\"\n class=\"cps-treeautocomplete-box-chevron\"\n (mousedown)=\"onChevronClick($event)\">\n <cps-icon\n icon=\"chevron-down\"\n size=\"small\"\n [color]=\"disabled ? 'text-light' : 'text-dark'\"></cps-icon>\n </span>\n </span>\n </div>\n </div>\n\n <cps-menu\n #optionsMenu\n [withArrow]=\"false\"\n (beforeMenuHidden)=\"onBeforeOptionsHidden()\"\n hideTransitionOptions=\"0s linear\"\n containerClass=\"cps-treeautocomplete-options-menu\">\n <div\n class=\"cps-treeautocomplete-options\"\n [ngStyle]=\"{\n width: boxWidth + 'px'\n }\">\n <p-tree\n #treeList\n [emptyMessage]=\"emptyMessage\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"{ numToleratedItems: numToleratedItems }\"\n [scrollHeight]=\"virtualListHeight + 'px'\"\n (onNodeSelect)=\"onSelectNode()\"\n (onNodeExpand)=\"onNodeExpand($event)\"\n (onNodeCollapse)=\"onNodeCollapse($event)\"\n (onFilter)=\"onFilterOptions()\"\n [value]=\"innerOptions\"\n [(selection)]=\"treeSelection\"\n (selectionChange)=\"treeSelectionChanged($event)\"\n [metaKeySelection]=\"multiple ? false : true\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\">\n <ng-template let-node pTemplate=\"directory\">\n <span class=\"cps-treeautocomplete-directory-elem\">{{\n node.label\n }}</span>\n </ng-template>\n <ng-template let-node pTemplate=\"default\">\n <span class=\"cps-treeautocomplete-option\">\n <span class=\"cps-treeautocomplete-option-left\">\n <span\n *ngIf=\"multiple\"\n class=\"cps-treeautocomplete-option-check\">\n </span>\n <span\n class=\"cps-treeautocomplete-option-label\"\n [class.virtual-row]=\"virtualScroll\"\n >{{ node.label }}</span\n >\n </span>\n <span\n class=\"cps-treeautocomplete-option-info\"\n [class.virtual-row]=\"virtualScroll\"\n >{{ node.info }}</span\n >\n </span>\n </ng-template>\n </p-tree>\n </div>\n </cps-menu>\n <cps-progress-linear\n *ngIf=\"loading\"\n height=\"3\"\n radius=\"4\"\n opacity=\"0.3\"\n class=\"cps-treeautocomplete-progress-bar\"\n bgColor=\"transparent\">\n </cps-progress-linear>\n </div>\n <div *ngIf=\"!error && !hideDetails\" class=\"cps-treeautocomplete-hint\">\n {{ hint }}\n </div>\n <div *ngIf=\"error && !hideDetails\" class=\"cps-treeautocomplete-error\">\n {{ error }}\n </div>\n</div>\n\n<ng-template\n #treeAutocompleteInput\n let-inputClass=\"inputClass\"\n let-inputStyle=\"inputStyle\">\n <input\n class=\"cps-treeautocomplete-box-input\"\n spellcheck=\"false\"\n [class]=\"inputClass\"\n [style]=\"inputStyle\"\n [placeholder]=\"\n (!treeSelection && !multiple) || (treeSelection?.length < 1 && multiple)\n ? placeholder\n : ''\n \"\n (input)=\"filterOptions($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n [(ngModel)]=\"inputText\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\" />\n</ng-template>\n", styles: [":host{display:flex}:host .cps-treeautocomplete{position:relative;width:100%;outline:none;font-family:Source Sans Pro,sans-serif;font-weight:400;display:grid}:host .cps-treeautocomplete .cps-treeautocomplete-container{position:relative}:host .cps-treeautocomplete .cps-treeautocomplete-container .cps-treeautocomplete-progress-bar{position:absolute;bottom:1px;padding:0 1px}:host .cps-treeautocomplete .cps-treeautocomplete-container.focused .cps-treeautocomplete-box{background:#fff!important}:host .cps-treeautocomplete .cps-treeautocomplete-container.borderless .cps-treeautocomplete-box,:host .cps-treeautocomplete .cps-treeautocomplete-container.underlined .cps-treeautocomplete-box{line-height:1;border:none!important;border-radius:0}:host .cps-treeautocomplete .cps-treeautocomplete-container.underlined .cps-treeautocomplete-box{border-bottom:1px solid var(--cps-color-line-light)!important}:host .cps-treeautocomplete.active .cps-treeautocomplete-box{border:1px solid var(--cps-color-calm)}:host .cps-treeautocomplete.active .cps-treeautocomplete-box .cps-treeautocomplete-box-area .prefix-icon{color:var(--cps-color-calm)}:host .cps-treeautocomplete.active .cps-treeautocomplete-box .cps-treeautocomplete-box-chevron{top:22px;transform:rotate(180deg)}:host .cps-treeautocomplete .cps-treeautocomplete-label{align-items:center;display:inline-flex;margin-bottom:.2rem;color:var(--cps-color-text-dark);font-size:.875rem;font-weight:600}:host .cps-treeautocomplete .cps-treeautocomplete-label .cps-treeautocomplete-label-info-circle{margin-left:8px;pointer-events:all}:host .cps-treeautocomplete .persistent-clear .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon,:host .cps-treeautocomplete .cps-treeautocomplete-container.focused .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon,:host .cps-treeautocomplete .cps-treeautocomplete-container:hover .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon{opacity:.5}:host .cps-treeautocomplete .cps-treeautocomplete-box{overflow:hidden;min-height:38px;width:100%;cursor:text;background:#fff;font-size:1rem;outline:none;padding:0 12px;border-radius:4px;border:1px solid var(--cps-color-line-light);transition-duration:.2s}:host .cps-treeautocomplete .cps-treeautocomplete-box-area{display:flex;min-height:36px;align-items:center}:host .cps-treeautocomplete .cps-treeautocomplete-box-area .prefix-icon{margin-right:.5rem;color:var(--cps-color-text-dark)}:host .cps-treeautocomplete .cps-treeautocomplete-box-input{min-height:36px;padding:0;background-color:transparent;width:0;min-width:30px;flex-grow:1;font-size:1rem;color:var(--cps-color-text-dark);border-style:none;outline:none;font-family:Source Sans Pro,sans-serif}:host .cps-treeautocomplete .cps-treeautocomplete-box-input::placeholder{color:var(--cps-color-text-lightest);font-style:italic;opacity:1}:host .cps-treeautocomplete .cps-treeautocomplete-box-items{display:inline-flex;flex-direction:column;width:100%;padding-top:3px;padding-bottom:3px;min-height:36px;justify-content:center;position:relative}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item{color:var(--cps-color-text-dark);display:inline-flex}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item-selection{display:inline-flex;letter-spacing:inherit;line-height:inherit;max-width:100%}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item-input{opacity:0;min-width:0;align-self:flex-start;flex:1 1;transition:none;position:absolute;top:0;bottom:0;width:100%;padding-inline-start:inherit;padding-inline-end:inherit}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .multi-chip-input{min-height:30px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .multi-item-input{min-height:28px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .chips-group{display:inline-flex;flex-wrap:wrap;align-items:center}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .chips-group cps-chip{padding-bottom:3px;padding-top:3px;padding-right:4px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .text-group{color:var(--cps-color-text-dark);align-items:center;display:inline-flex;flex-wrap:wrap}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .text-group .text-group-item{padding-bottom:3px;padding-top:3px;padding-right:4px}:host .cps-treeautocomplete .cps-treeautocomplete-box:hover{border:1px solid var(--cps-color-calm)}:host .cps-treeautocomplete .cps-treeautocomplete-box:hover .cps-treeautocomplete-box-area .prefix-icon{color:var(--cps-color-calm)}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons{display:flex}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon{cursor:pointer;display:flex;color:var(--cps-color-calm);margin-left:8px}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon{opacity:0;transition-duration:.2s}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon:hover{opacity:1!important}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-chevron{display:flex;margin-left:8px;transition-duration:.2s;cursor:pointer}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-chevron:hover ::ng-deep cps-icon .cps-icon{color:var(--cps-color-calm)!important}:host .cps-treeautocomplete .cps-treeautocomplete-hint{color:var(--cps-color-text-mild);font-size:.75rem;min-height:1.125rem;line-height:1.125rem;cursor:default;margin-top:.2rem}:host .cps-treeautocomplete .cps-treeautocomplete-error{color:var(--cps-color-error);font-weight:700;font-size:.75rem;min-height:1.125rem;line-height:1.125rem;cursor:default;margin-top:.2rem}:host .cps-treeautocomplete.disabled{pointer-events:none}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box{background:#f7f7f7}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items{color:var(--cps-color-text-light)}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items .text-group,:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items .single-item{color:var(--cps-color-text-light)}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-label{color:var(--cps-color-text-mild)}:host .cps-treeautocomplete.error .cps-treeautocomplete-box{border-color:var(--cps-color-error)!important;background:#fef3f2}:host .about-to-remove{color:var(--cps-color-text-light)}:host .about-to-remove ::ng-deep .cps-chip{background-color:var(--cps-color-bg-mid)}.cps-treeautocomplete-options{background:#fff;overflow-x:hidden;max-height:242px;overflow-y:auto}.cps-treeautocomplete-options ::ng-deep .p-tree{background:#fff;color:var(--cps-color-text-dark);padding:0;border:unset;border-radius:unset}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option{margin-right:8px;display:flex;align-items:center;justify-content:space-between}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-left{display:flex;align-items:center;margin-right:8px}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-check{background-color:transparent;border:0;width:16px;height:16px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1);margin-right:8px;opacity:0}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-check:after{color:var(--cps-color-calm);top:4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box;position:absolute;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-info{margin-left:6px;color:var(--cps-color-text-light)}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option .virtual-row{white-space:nowrap}.cps-treeautocomplete-options ::ng-deep .p-component{font-family:Source Sans Pro,sans-serif;font-size:14px;font-weight:400}.cps-treeautocomplete-options ::ng-deep .p-tree-wrapper{overflow:auto}.cps-treeautocomplete-options ::ng-deep .p-tree-container{margin:0;padding:0;list-style-type:none;overflow:auto}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode{padding:unset;outline:0 none;min-width:fit-content}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content{border-radius:0;transition:box-shadow .2s;padding:.25rem}.cps-treeautocomplete-options ::ng-deep .p-treenode-content{display:flex;align-items:center}.cps-treeautocomplete-options ::ng-deep .p-treenode-content .p-treenode-label{width:100%}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler{margin-right:.5rem;width:2rem;height:2rem;color:var(--cps-color-text-light);border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content:not(.p-highlight):hover{background:var(--cps-color-highlight-hover)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content{outline:0 none;outline-offset:0;box-shadow:unset}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content:not(.p-highlight){background-color:var(--cps-color-highlight-hover)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight{background:var(--cps-color-highlight-selected);color:var(--cps-color-calm);font-weight:600}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .cps-treeautocomplete-option-check{opacity:1}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content.p-highlight{background:var(--cps-color-highlight-selected-dark)}.cps-treeautocomplete-options ::ng-deep .p-tree-toggler{outline:0 none;outline-offset:0;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative;flex-shrink:0}.cps-treeautocomplete-options ::ng-deep .p-tree-toggler :hover{color:var(--cps-color-calm)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content .p-tree-toggler{outline:0 none;outline-offset:0;box-shadow:unset}.cps-treeautocomplete-options ::ng-deep .cps-tree-node-fully-expandable>.p-treenode-content:hover .p-tree-toggler{color:var(--cps-color-calm)!important}.cps-treeautocomplete-options ::ng-deep .p-tree .p-treenode-children{padding:0 0 0 1rem}.cps-treeautocomplete-options ::ng-deep .p-treenode-children{margin:0;padding:0;list-style-type:none}.cps-treeautocomplete-options ::ng-deep .p-tree-empty-message{padding:11px;font-size:16px;cursor:default}.cps-treeautocomplete-options ::ng-deep .cps-tree-node-fully-expandable{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-directory-elem{font-weight:700;font-size:16px}\n"] }]
|
|
257
|
+
], selector: 'cps-tree-autocomplete', template: "<div\n [ngStyle]=\"{ width: cvtWidth }\"\n class=\"cps-treeautocomplete\"\n tabindex=\"1\"\n [ngClass]=\"{ disabled: disabled, error: error, active: isActive() }\"\n #componentContainer>\n <div class=\"cps-treeautocomplete-label\" *ngIf=\"label\">\n <label>{{ label }}</label>\n <cps-info-circle\n *ngIf=\"infoTooltip\"\n class=\"cps-treeautocomplete-label-info-circle\"\n size=\"xsmall\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipContentClass]=\"infoTooltipClass\"\n [tooltipMaxWidth]=\"infoTooltipMaxWidth\"\n [tooltipPersistent]=\"infoTooltipPersistent\"\n [tooltipText]=\"infoTooltip\">\n </cps-info-circle>\n </div>\n <div\n (keydown)=\"onContainerKeyDown($event)\"\n class=\"cps-treeautocomplete-container\"\n [class.focused]=\"isActive()\"\n [ngClass]=\"{\n 'persistent-clear': persistentClear,\n borderless: appearance === 'borderless',\n underlined: appearance === 'underlined'\n }\">\n <div class=\"cps-treeautocomplete-box\" #boxEl (mousedown)=\"onBoxClick()\">\n <div class=\"cps-treeautocomplete-box-area\">\n <cps-icon\n *ngIf=\"prefixIcon\"\n [icon]=\"prefixIcon\"\n [style.color]=\"disabled ? '#9a9595' : null\"\n [size]=\"prefixIconSize\"\n class=\"prefix-icon\">\n </cps-icon>\n <div\n class=\"cps-treeautocomplete-box-items\"\n *ngIf=\"\n (treeSelection && !multiple) ||\n (treeSelection?.length > 0 && multiple);\n else treeAutocompleteInputTemplate\n \">\n <span *ngIf=\"!multiple\" class=\"single-item\">\n <div class=\"single-item-selection\">\n <span [style.opacity]=\"activeSingle ? 0 : 1\">{{\n treeSelection.label\n }}</span>\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInputTemplate;\n context: {\n inputClass: 'single-item-input',\n inputStyle: activeSingle ? 'opacity: 1' : null\n }\n \">\n </ng-container>\n </span>\n\n <div *ngIf=\"multiple && !chips\" class=\"text-group\">\n <div\n *ngFor=\"let val of treeSelection; let last = last\"\n class=\"text-group-item\"\n [ngClass]=\"{ 'about-to-remove': last && backspaceClickedOnce }\">\n {{ val.label }}{{ !last ? ',' : '' }}\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInputTemplate;\n context: {\n inputClass: 'multi-item-input'\n }\n \"></ng-container>\n </div>\n\n <div *ngIf=\"multiple && chips\" class=\"chips-group\">\n <cps-chip\n *ngFor=\"let val of treeSelection; let last = last\"\n [disabled]=\"disabled\"\n [closable]=\"closableChips\"\n (closed)=\"remove(val)\"\n [ngClass]=\"{ 'about-to-remove': last && backspaceClickedOnce }\"\n [label]=\"val.label\">\n </cps-chip>\n <ng-container\n *ngTemplateOutlet=\"\n treeAutocompleteInputTemplate;\n context: {\n inputClass: 'multi-chip-input'\n }\n \"></ng-container>\n </div>\n </div>\n <span class=\"cps-treeautocomplete-box-icons\">\n <span\n *ngIf=\"clearable && !disabled\"\n [style.visibility]=\"\n persistentClear ||\n (!persistentClear &&\n ((multiple && treeSelection?.length) ||\n (!multiple && treeSelection)))\n ? 'visible'\n : 'hidden'\n \"\n class=\"cps-treeautocomplete-box-clear-icon\">\n <cps-icon\n icon=\"delete\"\n size=\"small\"\n (click)=\"clear($event)\"></cps-icon>\n </span>\n <span\n *ngIf=\"showChevron\"\n class=\"cps-treeautocomplete-box-chevron\"\n (mousedown)=\"onChevronClick($event)\">\n <cps-icon\n icon=\"chevron-down\"\n size=\"small\"\n [color]=\"disabled ? 'text-light' : 'text-dark'\"></cps-icon>\n </span>\n </span>\n </div>\n </div>\n\n <cps-menu\n #optionsMenu\n [withArrow]=\"false\"\n (beforeMenuHidden)=\"onBeforeOptionsHidden($event)\"\n hideTransitionOptions=\"0s linear\"\n containerClass=\"cps-treeautocomplete-options-menu\">\n <div\n class=\"cps-treeautocomplete-options\"\n [ngStyle]=\"{\n width: boxWidth + 'px'\n }\">\n <p-tree\n #treeList\n [emptyMessage]=\"emptyMessage\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"{ numToleratedItems: numToleratedItems }\"\n [scrollHeight]=\"virtualListHeight + 'px'\"\n (onNodeSelect)=\"onSelectNode()\"\n (onNodeExpand)=\"onNodeExpand($event)\"\n (onNodeCollapse)=\"onNodeCollapse($event)\"\n (onFilter)=\"onFilterOptions()\"\n [value]=\"innerOptions\"\n [(selection)]=\"treeSelection\"\n (selectionChange)=\"treeSelectionChanged($event)\"\n [metaKeySelection]=\"multiple ? false : true\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\">\n <ng-template let-node pTemplate=\"directory\">\n <span class=\"cps-treeautocomplete-directory-elem\">{{\n node.label\n }}</span>\n </ng-template>\n <ng-template let-node pTemplate=\"default\">\n <span class=\"cps-treeautocomplete-option\">\n <span class=\"cps-treeautocomplete-option-left\">\n <span\n *ngIf=\"multiple\"\n class=\"cps-treeautocomplete-option-check\">\n </span>\n <span\n class=\"cps-treeautocomplete-option-label\"\n [class.virtual-row]=\"virtualScroll\"\n >{{ node.label }}</span\n >\n </span>\n <span\n class=\"cps-treeautocomplete-option-info\"\n [class.virtual-row]=\"virtualScroll\"\n >{{ node.info }}</span\n >\n </span>\n </ng-template>\n </p-tree>\n </div>\n </cps-menu>\n <cps-progress-linear\n *ngIf=\"loading\"\n height=\"3\"\n radius=\"4\"\n opacity=\"0.3\"\n class=\"cps-treeautocomplete-progress-bar\"\n bgColor=\"transparent\">\n </cps-progress-linear>\n </div>\n <div *ngIf=\"!error && !hideDetails\" class=\"cps-treeautocomplete-hint\">\n {{ hint }}\n </div>\n <div *ngIf=\"error && !hideDetails\" class=\"cps-treeautocomplete-error\">\n {{ error }}\n </div>\n</div>\n\n<ng-template\n #treeAutocompleteInputTemplate\n let-inputClass=\"inputClass\"\n let-inputStyle=\"inputStyle\">\n <input\n #treeAutocompleteInput\n class=\"cps-treeautocomplete-box-input\"\n spellcheck=\"false\"\n [class]=\"inputClass\"\n [style]=\"inputStyle\"\n [placeholder]=\"\n (!treeSelection && !multiple) || (treeSelection?.length < 1 && multiple)\n ? placeholder\n : ''\n \"\n (input)=\"filterOptions($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n [(ngModel)]=\"inputText\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\" />\n</ng-template>\n", styles: [":host{display:flex}:host .cps-treeautocomplete{position:relative;width:100%;outline:none;font-family:Source Sans Pro,sans-serif;font-weight:400;display:grid}:host .cps-treeautocomplete .cps-treeautocomplete-container{position:relative}:host .cps-treeautocomplete .cps-treeautocomplete-container .cps-treeautocomplete-progress-bar{position:absolute;bottom:1px;padding:0 1px}:host .cps-treeautocomplete .cps-treeautocomplete-container.focused .cps-treeautocomplete-box{background:#fff!important}:host .cps-treeautocomplete .cps-treeautocomplete-container.borderless .cps-treeautocomplete-box,:host .cps-treeautocomplete .cps-treeautocomplete-container.underlined .cps-treeautocomplete-box{line-height:1;border:none!important;border-radius:0}:host .cps-treeautocomplete .cps-treeautocomplete-container.underlined .cps-treeautocomplete-box{border-bottom:1px solid var(--cps-color-line-light)!important}:host .cps-treeautocomplete.active .cps-treeautocomplete-box{border:1px solid var(--cps-color-calm)}:host .cps-treeautocomplete.active .cps-treeautocomplete-box .cps-treeautocomplete-box-area .prefix-icon{color:var(--cps-color-calm)}:host .cps-treeautocomplete.active .cps-treeautocomplete-box .cps-treeautocomplete-box-chevron{top:22px;transform:rotate(180deg)}:host .cps-treeautocomplete .cps-treeautocomplete-label{align-items:center;display:inline-flex;margin-bottom:.2rem;color:var(--cps-color-text-dark);font-size:.875rem;font-weight:600}:host .cps-treeautocomplete .cps-treeautocomplete-label .cps-treeautocomplete-label-info-circle{margin-left:8px;pointer-events:all}:host .cps-treeautocomplete .persistent-clear .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon,:host .cps-treeautocomplete .cps-treeautocomplete-container.focused .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon,:host .cps-treeautocomplete .cps-treeautocomplete-container:hover .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon{opacity:.5}:host .cps-treeautocomplete .cps-treeautocomplete-box{overflow:hidden;min-height:38px;width:100%;cursor:text;background:#fff;font-size:1rem;outline:none;padding:0 12px;border-radius:4px;border:1px solid var(--cps-color-line-light);transition-duration:.2s}:host .cps-treeautocomplete .cps-treeautocomplete-box-area{display:flex;min-height:36px;align-items:center}:host .cps-treeautocomplete .cps-treeautocomplete-box-area .prefix-icon{margin-right:.5rem;color:var(--cps-color-text-dark)}:host .cps-treeautocomplete .cps-treeautocomplete-box-input{min-height:36px;padding:0;background-color:transparent;width:0;min-width:30px;flex-grow:1;font-size:1rem;color:var(--cps-color-text-dark);border-style:none;outline:none;font-family:Source Sans Pro,sans-serif}:host .cps-treeautocomplete .cps-treeautocomplete-box-input::placeholder{color:var(--cps-color-text-lightest);font-style:italic;opacity:1}:host .cps-treeautocomplete .cps-treeautocomplete-box-items{display:inline-flex;flex-direction:column;width:100%;padding-top:3px;padding-bottom:3px;min-height:36px;justify-content:center;position:relative}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item{color:var(--cps-color-text-dark);display:inline-flex}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item-selection{display:inline-flex;letter-spacing:inherit;line-height:inherit;max-width:100%}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .single-item-input{opacity:0;min-width:0;align-self:flex-start;flex:1 1;transition:none;position:absolute;top:0;bottom:0;width:100%;padding-inline-start:inherit;padding-inline-end:inherit}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .multi-chip-input{min-height:30px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .multi-item-input{min-height:28px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .chips-group{display:inline-flex;flex-wrap:wrap;align-items:center}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .chips-group cps-chip{padding-bottom:3px;padding-top:3px;padding-right:4px}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .text-group{color:var(--cps-color-text-dark);align-items:center;display:inline-flex;flex-wrap:wrap}:host .cps-treeautocomplete .cps-treeautocomplete-box-items .text-group .text-group-item{padding-bottom:3px;padding-top:3px;padding-right:4px}:host .cps-treeautocomplete .cps-treeautocomplete-box:hover{border:1px solid var(--cps-color-calm)}:host .cps-treeautocomplete .cps-treeautocomplete-box:hover .cps-treeautocomplete-box-area .prefix-icon{color:var(--cps-color-calm)}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons{display:flex}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon{cursor:pointer;display:flex;color:var(--cps-color-calm);margin-left:8px}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon{opacity:0;transition-duration:.2s}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-clear-icon cps-icon:hover{opacity:1!important}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-chevron{display:flex;margin-left:8px;transition-duration:.2s;cursor:pointer}:host .cps-treeautocomplete .cps-treeautocomplete-box .cps-treeautocomplete-box-icons .cps-treeautocomplete-box-chevron:hover ::ng-deep cps-icon .cps-icon{color:var(--cps-color-calm)!important}:host .cps-treeautocomplete .cps-treeautocomplete-hint{color:var(--cps-color-text-mild);font-size:.75rem;min-height:1.125rem;line-height:1.125rem;cursor:default;margin-top:.2rem}:host .cps-treeautocomplete .cps-treeautocomplete-error{color:var(--cps-color-error);font-weight:700;font-size:.75rem;min-height:1.125rem;line-height:1.125rem;cursor:default;margin-top:.2rem}:host .cps-treeautocomplete.disabled{pointer-events:none}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box{background:#f7f7f7}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items{color:var(--cps-color-text-light)}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items .text-group,:host .cps-treeautocomplete.disabled .cps-treeautocomplete-box-items .single-item{color:var(--cps-color-text-light)}:host .cps-treeautocomplete.disabled .cps-treeautocomplete-label{color:var(--cps-color-text-mild)}:host .cps-treeautocomplete.error .cps-treeautocomplete-box{border-color:var(--cps-color-error)!important;background:#fef3f2}:host .about-to-remove{color:var(--cps-color-text-light)}:host .about-to-remove ::ng-deep .cps-chip{background-color:var(--cps-color-bg-mid)}.cps-treeautocomplete-options{background:#fff;overflow-x:hidden;max-height:242px;overflow-y:auto}.cps-treeautocomplete-options ::ng-deep .p-tree{background:#fff;color:var(--cps-color-text-dark);padding:0;border:unset;border-radius:unset}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option{margin-right:8px;display:flex;align-items:center;justify-content:space-between}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-left{display:flex;align-items:center;margin-right:8px}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-check{background-color:transparent;border:0;width:16px;height:16px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1);margin-right:8px;opacity:0}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-check:after{color:var(--cps-color-calm);top:4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box;position:absolute;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option-info{margin-left:6px;color:var(--cps-color-text-light)}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-option .virtual-row{white-space:nowrap}.cps-treeautocomplete-options ::ng-deep .p-component{font-family:Source Sans Pro,sans-serif;font-size:14px;font-weight:400}.cps-treeautocomplete-options ::ng-deep .p-tree-wrapper{overflow:auto}.cps-treeautocomplete-options ::ng-deep .p-tree-container{margin:0;padding:0;list-style-type:none;overflow:auto}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode{padding:unset;outline:0 none;min-width:fit-content}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content{border-radius:0;transition:box-shadow .2s;padding:.25rem}.cps-treeautocomplete-options ::ng-deep .p-treenode-content{display:flex;align-items:center}.cps-treeautocomplete-options ::ng-deep .p-treenode-content .p-treenode-label{width:100%}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler{margin-right:.5rem;width:2rem;height:2rem;color:var(--cps-color-text-light);border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content:not(.p-highlight):hover{background:var(--cps-color-highlight-hover)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content{outline:0 none;outline-offset:0;box-shadow:unset}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content:not(.p-highlight){background-color:var(--cps-color-highlight-hover)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight{background:var(--cps-color-highlight-selected);color:var(--cps-color-calm);font-weight:600}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .cps-treeautocomplete-option-check{opacity:1}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content.p-highlight{background:var(--cps-color-highlight-selected-dark)}.cps-treeautocomplete-options ::ng-deep .p-tree-toggler{outline:0 none;outline-offset:0;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative;flex-shrink:0}.cps-treeautocomplete-options ::ng-deep .p-tree-toggler :hover{color:var(--cps-color-calm)}.cps-treeautocomplete-options ::ng-deep .p-tree .p-tree-container .p-treenode:focus>.p-treenode-content .p-tree-toggler{outline:0 none;outline-offset:0;box-shadow:unset}.cps-treeautocomplete-options ::ng-deep .cps-tree-node-fully-expandable>.p-treenode-content:hover .p-tree-toggler{color:var(--cps-color-calm)!important}.cps-treeautocomplete-options ::ng-deep .p-tree .p-treenode-children{padding:0 0 0 1rem}.cps-treeautocomplete-options ::ng-deep .p-treenode-children{margin:0;padding:0;list-style-type:none}.cps-treeautocomplete-options ::ng-deep .p-tree-empty-message{padding:11px;font-size:16px;cursor:default}.cps-treeautocomplete-options ::ng-deep .cps-tree-node-fully-expandable{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cps-treeautocomplete-options ::ng-deep .cps-treeautocomplete-directory-elem{font-weight:700;font-size:16px}\n"] }]
|
|
242
258
|
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
243
259
|
type: Optional
|
|
260
|
+
}] }, { type: Document, decorators: [{
|
|
261
|
+
type: Inject,
|
|
262
|
+
args: [DOCUMENT]
|
|
244
263
|
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { emptyMessage: [{
|
|
245
264
|
type: Input
|
|
246
265
|
}], appearance: [{
|
|
247
266
|
type: Input
|
|
248
267
|
}], placeholder: [{
|
|
249
268
|
type: Input
|
|
269
|
+
}], treeAutocompleteInput: [{
|
|
270
|
+
type: ViewChild,
|
|
271
|
+
args: ['treeAutocompleteInput']
|
|
250
272
|
}] } });
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRyZWUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLWF1dG9jb21wbGV0ZS9jcHMtdHJlZS1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtYXV0b2NvbXBsZXRlL2Nwcy10cmVlLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUdMLFNBQVMsRUFDVCxLQUFLLEVBR0wsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUVBQXFFLENBQUM7Ozs7OztBQVduSDs7O0dBR0c7QUFpQkgsTUFBTSxPQUFPLDRCQUNYLFNBQVEsNEJBQTRCO0lBeUJwQyxZ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LElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzhHQTlPVSw0QkFBNEI7a0dBQTVCLDRCQUE0Qix3TUNsRHpDLG9pUEF5TkEseTZXRHBMSSxZQUFZLHlsQkFDWixXQUFXLDhtQkFDWCxVQUFVLHU5QkFDVixnQkFBZ0Isd0ZBQ2hCLGdCQUFnQiwwSkFDaEIsMEJBQTBCLHNJQUMxQixzQkFBc0IsK0tBQ3RCLGdCQUFnQjs7MkZBTVAsNEJBQTRCO2tCQWhCeEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7cUJBQ2pCLFlBQ1MsdUJBQXVCOzswQkErQjlCLFFBQVE7eUVBbkJGLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3BzSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Nwcy1pY29uL2Nwcy1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vY3BzLWNoaXAvY3BzLWNoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IENwc1Byb2dyZXNzTGluZWFyQ29tcG9uZW50IH0gZnJvbSAnLi4vY3BzLXByb2dyZXNzLWxpbmVhci9jcHMtcHJvZ3Jlc3MtbGluZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNJbmZvQ2lyY2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vY3BzLWluZm8tY2lyY2xlL2Nwcy1pbmZvLWNpcmNsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBUcmVlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90cmVlJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQ3BzTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL2Nwcy1tZW51L2Nwcy1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNCYXNlVHJlZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vaW50ZXJuYWwvY3BzLWJhc2UtdHJlZS1kcm9wZG93bi9jcHMtYmFzZS10cmVlLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ3BzVHJlZUF1dG9jb21wbGV0ZUFwcGVhcmFuY2VUeXBlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBib3JkZXIgb2YgdGhlIHRyZWUgYXV0b2NvbXBsZXRlIGlucHV0IGZpZWxkLlxuICogQGdyb3VwIFR5cGVzXG4gKi9cbmV4cG9ydCB0eXBlIENwc1RyZWVBdXRvY29tcGxldGVBcHBlYXJhbmNlVHlwZSA9XG4gIHwgJ291dGxpbmVkJ1xuICB8ICd1bmRlcmxpbmVkJ1xuICB8ICdib3JkZXJsZXNzJztcblxuLyoqXG4gKiBDcHNUcmVlQXV0b2NvbXBsZXRlQ29tcG9uZW50IGFsbG93cyB0byBjaG9vc2UgaXRlbXMgZnJvbSBoaWVyYXJjaGljYWwgZGF0YSBkcm9wZG93biBhbmQgcHJvdmlkZXMgcmVhbC10aW1lIHN1Z2dlc3Rpb25zIHdoZW4gYmVpbmcgdHlwZWQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUcmVlTW9kdWxlLFxuICAgIENwc0ljb25Db21wb25lbnQsXG4gICAgQ3BzQ2hpcENvbXBvbmVudCxcbiAgICBDcHNQcm9ncmVzc0xpbmVhckNvbXBvbmVudCxcbiAgICBDcHNJbmZvQ2lyY2xlQ29tcG9uZW50LFxuICAgIENwc01lbnVDb21wb25lbnRcbiAgXSxcbiAgc2VsZWN0b3I6ICdjcHMtdHJlZS1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3BzLXRyZWUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3BzLXRyZWUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3BzVHJlZUF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICBleHRlbmRzIENwc0Jhc2VUcmVlRHJvcGRvd25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogTWVzc2FnZSBpZiBhcnJheSBvZiBpdGVtcyBpcyBlbXB0eS5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBlbXB0eU1lc3NhZ2UgPSAnTm8gcmVzdWx0cyBmb3VuZCc7XG5cbiAgLyoqXG4gICAqIFN0eWxpbmcgYXBwZWFyYW5jZSBvZiB0cmVlIGF1dG9jb21wbGV0ZSwgaXQgY2FuIGJlICdvdXRsaW5lZCcsICd1bmRlcmxpbmVkJyBvciAnYm9yZGVybGVzcycuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgYXBwZWFyYW5jZTogQ3BzVHJlZUF1dG9jb21wbGV0ZUFwcGVhcmFuY2VUeXBlID0gJ291dGxpbmVkJztcblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdGV4dC5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdQbGVhc2UgZW50ZXInO1xuXG4gIGlucHV0VGV4dCA9ICcnO1xuICBiYWNrc3BhY2VDbGlja2VkT25jZSA9IGZhbHNlO1xuICBhY3RpdmVTaW5nbGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgb3ZlcnJpZGUgY29udHJvbDogTmdDb250cm9sLFxuICAgIHB1YmxpYyBvdmVycmlkZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoY29udHJvbCwgY2RSZWYpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmlzQXV0b2NvbXBsZXRlID0gdHJ1ZTtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gIH1cblxuICBvdmVycmlkZSBvblNlbGVjdE5vZGUoKSB7XG4gICAgdGhpcy5iYWNrc3BhY2VDbGlja2VkT25jZSA9IGZhbHNlO1xuICAgIHRoaXMuX2NsZWFySW5wdXQoKTtcbiAgICBzdXBlci5vblNlbGVjdE5vZGUoKTtcbiAgfVxuXG4gIG9uQmVmb3JlT3B0aW9uc0hpZGRlbigpIHtcbiAgICB0aGlzLl9jbG9zZUFuZENsZWFyKCk7XG4gIH1cblxuICBvbkJveENsaWNrKCkge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5hY3RpdmVTaW5nbGUgPSB0cnVlO1xuICAgICAgaWYgKCF0aGlzLmlucHV0VGV4dCkgdGhpcy5pbnB1dFRleHQgPSB0aGlzLl9nZXRWYWx1ZUxhYmVsKCk7XG4gICAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHRoaXMudHJlZUxpc3QucmVzZXRGaWx0ZXIoKTtcbiAgICB9XG4gICAgdGhpcy5mb2N1cygpO1xuICAgIHRoaXMub3B0aW9uRm9jdXNlZCA9IGZhbHNlO1xuICB9XG5cbiAgb25Db250YWluZXJLZXlEb3duKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBjb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICAvLyBlc2NhcGVcbiAgICBpZiAoY29kZSA9PT0gMjcpIHtcbiAgICAgIHRoaXMuX2Nsb3NlQW5kQ2xlYXIoKTtcbiAgICB9XG4gICAgLy8gY2xpY2sgZG93biBhcnJvd1xuICAgIGVsc2UgaWYgKGNvZGUgPT09IDQwKSB7XG4gICAgICB0aGlzLmluaXRBcnJvd3NOYXZpZ2F0b24oKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0S2V5RG93bihldmVudDogYW55KSB7XG4gICAgY29uc3QgY29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgLy8gYmFja3NwYWNlXG4gICAgaWYgKGNvZGUgPT09IDgpIHtcbiAgICAgIHRoaXMuX3JlbW92ZUxhc3RWYWx1ZSgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICAgIC8vIGVudGVyXG4gICAgZWxzZSBpZiAoY29kZSA9PT0gMTMpIHtcbiAgICAgIGlmICghdGhpcy5vcHRpb25Gb2N1c2VkKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpcm1JbnB1dChldmVudD8udGFyZ2V0Py52YWx1ZSB8fCAnJyk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2hldnJvbkNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzT3BlbmVkKSB7XG4gICAgICB0aGlzLl9jbG9zZUFuZENsZWFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25Cb3hDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIHJlbW92ZShvcHRpb246IFRyZWVOb2RlKTogdm9pZCB7XG4gICAgc3VwZXIucmVtb3ZlKG9wdGlvbik7XG5cbiAgICB0aGlzLl9jbGVhcklucHV0KCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNsZWFyKGV2ZW50PzogYW55KTogdm9pZCB7XG4gICAgc3VwZXIuY2xlYXIoZXZlbnQpO1xuXG4gICAgdGhpcy5fY2xlYXJJbnB1dCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBmb2N1c0lucHV0KCkge1xuICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpPy5mb2N1cygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9jdXMoKSB7XG4gICAgc3VwZXIuZm9jdXMoKTtcbiAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgfVxuXG4gIG9uRmlsdGVyT3B0aW9ucygpIHtcbiAgICB0aGlzLnJlY2FsY1ZpcnR1YWxMaXN0SGVpZ2h0KCk7XG4gIH1cblxuICBmaWx0ZXJPcHRpb25zKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcbiAgICAgIHRoaXMudG9nZ2xlT3B0aW9ucyh0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5iYWNrc3BhY2VDbGlja2VkT25jZSA9IGZhbHNlO1xuICAgIGNvbnN0IHNlYXJjaFZhbCA9IChldmVudD8udGFyZ2V0Py52YWx1ZSB8fCAnJykudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICghc2VhcmNoVmFsKSB0aGlzLnRyZWVMaXN0LnJlc2V0RmlsdGVyKCk7XG4gICAgZWxzZSB0aGlzLnRyZWVMaXN0Ll9maWx0ZXIoc2VhcmNoVmFsKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChvcHRpb246IFRyZWVOb2RlKTogdm9pZCB7XG4gICAgZnVuY3Rpb24gaW5jbHVkZXMoYXJyYXk6IGFueVtdLCB2YWw6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGFycmF5Py5zb21lKChpdGVtKSA9PiBpc0VxdWFsKGl0ZW0sIHZhbCkpIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuYmFja3NwYWNlQ2xpY2tlZE9uY2UgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBpZiAoaW5jbHVkZXModGhpcy50cmVlU2VsZWN0aW9uLCBvcHRpb24pKSB7XG4gICAgICAgIHRoaXMudHJlZVNlbGVjdGlvbiA9IHRoaXMudHJlZVNlbGVjdGlvbi5maWx0ZXIoXG4gICAgICAgICAgKHY6IFRyZWVOb2RlKSA9PiAhaXNFcXVhbCh2LCBvcHRpb24pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRyZWVTZWxlY3Rpb24ucHVzaChvcHRpb24pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyZWVTZWxlY3Rpb24gPSBvcHRpb247XG4gICAgfVxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy50cmVlU2VsZWN0aW9uVG9WYWx1ZSh0aGlzLnRyZWVTZWxlY3Rpb24pKTtcblxuICAgIHRoaXMuX2NsZWFySW5wdXQoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VmFsdWVMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy50cmVlU2VsZWN0aW9uPy5sYWJlbCB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgX2NsZWFySW5wdXQoKSB7XG4gICAgdGhpcy50cmVlTGlzdC5yZXNldEZpbHRlcigpO1xuICAgIHRoaXMuaW5wdXRUZXh0ID0gJyc7XG4gICAgdGhpcy5hY3RpdmVTaW5nbGUgPSBmYWxzZTtcbiAgICB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVjYWxjVmlydHVhbExpc3RIZWlnaHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlQW5kQ2xlYXIoKSB7XG4gICAgdGhpcy5fY2xlYXJJbnB1dCgpO1xuICAgIHRoaXMudG9nZ2xlT3B0aW9ucyhmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maXJtSW5wdXQoc2VhcmNoVmFsOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHJldHVybjtcbiAgICBzZWFyY2hWYWwgPSBzZWFyY2hWYWwudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIXNlYXJjaFZhbCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHJldHVybjtcbiAgICAgIHRoaXMudHJlZVNlbGVjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUodW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuX2Nsb3NlQW5kQ2xlYXIoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcHJpbWVmYWNlcy9wcmltZW5nL2Jsb2IvdjE2LjQuMy9zcmMvYXBwL2NvbXBvbmVudHMvdHJlZS90cmVlLnRzI0wxMTI1XG4gICAgY29uc3QgZm91bmQ6IGFueSA9IHRoaXMudHJlZUxpc3Q/LnNlcmlhbGl6ZWRWYWx1ZT8uZmluZChcbiAgICAgIChzdjogYW55KSA9PiBzdj8ubm9kZT8ubGFiZWw/LnRvTG93ZXJDYXNlKCkgPT09IHNlYXJjaFZhbFxuICAgICk7XG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICB0aGlzLl9zZWxlY3QoZm91bmQubm9kZSk7XG4gICAgICB0aGlzLnRvZ2dsZU9wdGlvbnModGhpcy5tdWx0aXBsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLmlucHV0VGV4dCA9IHRoaXMuX2dldFZhbHVlTGFiZWwoKTtcbiAgICAgICAgdGhpcy50cmVlTGlzdC5yZXNldEZpbHRlcigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fY2xlYXJJbnB1dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlTGFzdFZhbHVlKCkge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSB8fCB0aGlzLmlucHV0VGV4dCkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMudHJlZVNlbGVjdGlvbj8ubGVuZ3RoKSB7XG4gICAgICBpZiAodGhpcy5iYWNrc3BhY2VDbGlja2VkT25jZSkge1xuICAgICAgICB0aGlzLnRyZWVTZWxlY3Rpb24gPSB0aGlzLnRyZWVTZWxlY3Rpb24uZmlsdGVyKFxuICAgICAgICAgICh2OiBUcmVlTm9kZSwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICAgIGluZGV4ICE9PSB0aGlzLnRyZWVTZWxlY3Rpb24ubGVuZ3RoIC0gMVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudHJlZVNlbGVjdGlvblRvVmFsdWUodGhpcy50cmVlU2VsZWN0aW9uKSk7XG5cbiAgICAgICAgdGhpcy5iYWNrc3BhY2VDbGlja2VkT25jZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHRoaXMuYmFja3NwYWNlQ2xpY2tlZE9uY2UgPSB0cnVlO1xuICAgIH0gZWxzZSB0aGlzLmJhY2tzcGFjZUNsaWNrZWRPbmNlID0gZmFsc2U7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH0sIDApO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGN2dFdpZHRoIH1cIlxuICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlXCJcbiAgdGFiaW5kZXg9XCIxXCJcbiAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQsIGVycm9yOiBlcnJvciwgYWN0aXZlOiBpc09wZW5lZCB9XCJcbiAgI2NvbXBvbmVudENvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWxhYmVsXCIgKm5nSWY9XCJsYWJlbFwiPlxuICAgIDxsYWJlbD57eyBsYWJlbCB9fTwvbGFiZWw+XG4gICAgPGNwcy1pbmZvLWNpcmNsZVxuICAgICAgKm5nSWY9XCJpbmZvVG9vbHRpcFwiXG4gICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWxhYmVsLWluZm8tY2lyY2xlXCJcbiAgICAgIHNpemU9XCJ4c21hbGxcIlxuICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJpbmZvVG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgIFt0b29sdGlwQ29udGVudENsYXNzXT1cImluZm9Ub29sdGlwQ2xhc3NcIlxuICAgICAgW3Rvb2x0aXBNYXhXaWR0aF09XCJpbmZvVG9vbHRpcE1heFdpZHRoXCJcbiAgICAgIFt0b29sdGlwUGVyc2lzdGVudF09XCJpbmZvVG9vbHRpcFBlcnNpc3RlbnRcIlxuICAgICAgW3Rvb2x0aXBUZXh0XT1cImluZm9Ub29sdGlwXCI+XG4gICAgPC9jcHMtaW5mby1jaXJjbGU+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgKGtleWRvd24pPVwib25Db250YWluZXJLZXlEb3duKCRldmVudClcIlxuICAgIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtY29udGFpbmVyXCJcbiAgICBbY2xhc3MuZm9jdXNlZF09XCJpc09wZW5lZFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3BlcnNpc3RlbnQtY2xlYXInOiBwZXJzaXN0ZW50Q2xlYXIsXG4gICAgICBib3JkZXJsZXNzOiBhcHBlYXJhbmNlID09PSAnYm9yZGVybGVzcycsXG4gICAgICB1bmRlcmxpbmVkOiBhcHBlYXJhbmNlID09PSAndW5kZXJsaW5lZCdcbiAgICB9XCI+XG4gICAgPGRpdiBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWJveFwiICNib3hFbCAobW91c2Vkb3duKT1cIm9uQm94Q2xpY2soKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWJveC1hcmVhXCI+XG4gICAgICAgIDxjcHMtaWNvblxuICAgICAgICAgICpuZ0lmPVwicHJlZml4SWNvblwiXG4gICAgICAgICAgW2ljb25dPVwicHJlZml4SWNvblwiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImRpc2FibGVkID8gJyM5YTk1OTUnIDogbnVsbFwiXG4gICAgICAgICAgW3NpemVdPVwicHJlZml4SWNvblNpemVcIlxuICAgICAgICAgIGNsYXNzPVwicHJlZml4LWljb25cIj5cbiAgICAgICAgPC9jcHMtaWNvbj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtYm94LWl0ZW1zXCJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgKHRyZWVTZWxlY3Rpb24gJiYgIW11bHRpcGxlKSB8fFxuICAgICAgICAgICAgICAodHJlZVNlbGVjdGlvbj8ubGVuZ3RoID4gMCAmJiBtdWx0aXBsZSk7XG4gICAgICAgICAgICBlbHNlIHRyZWVBdXRvY29tcGxldGVJbnB1dFxuICAgICAgICAgIFwiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW11bHRpcGxlXCIgY2xhc3M9XCJzaW5nbGUtaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1pdGVtLXNlbGVjdGlvblwiPlxuICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUub3BhY2l0eV09XCJhY3RpdmVTaW5nbGUgPyAwIDogMVwiPnt7XG4gICAgICAgICAgICAgICAgdHJlZVNlbGVjdGlvbi5sYWJlbFxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHRyZWVBdXRvY29tcGxldGVJbnB1dDtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICBpbnB1dENsYXNzOiAnc2luZ2xlLWl0ZW0taW5wdXQnLFxuICAgICAgICAgICAgICAgICAgaW5wdXRTdHlsZTogYWN0aXZlU2luZ2xlID8gJ29wYWNpdHk6IDEnIDogbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGUgJiYgIWNoaXBzXCIgY2xhc3M9XCJ0ZXh0LWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB2YWwgb2YgdHJlZVNlbGVjdGlvbjsgbGV0IGxhc3QgPSBsYXN0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWdyb3VwLWl0ZW1cIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhYm91dC10by1yZW1vdmUnOiBsYXN0ICYmIGJhY2tzcGFjZUNsaWNrZWRPbmNlIH1cIj5cbiAgICAgICAgICAgICAge3sgdmFsLmxhYmVsIH19e3sgIWxhc3QgPyAnLCcgOiAnJyB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgdHJlZUF1dG9jb21wbGV0ZUlucHV0O1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgIGlucHV0Q2xhc3M6ICdtdWx0aS1pdGVtLWlucHV0J1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGUgJiYgY2hpcHNcIiBjbGFzcz1cImNoaXBzLWdyb3VwXCI+XG4gICAgICAgICAgICA8Y3BzLWNoaXBcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZhbCBvZiB0cmVlU2VsZWN0aW9uOyBsZXQgbGFzdCA9IGxhc3RcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbY2xvc2FibGVdPVwiY2xvc2FibGVDaGlwc1wiXG4gICAgICAgICAgICAgIChjbG9zZWQpPVwicmVtb3ZlKHZhbClcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhYm91dC10by1yZW1vdmUnOiBsYXN0ICYmIGJhY2tzcGFjZUNsaWNrZWRPbmNlIH1cIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwidmFsLmxhYmVsXCI+XG4gICAgICAgICAgICA8L2Nwcy1jaGlwPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHRyZWVBdXRvY29tcGxldGVJbnB1dDtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICBpbnB1dENsYXNzOiAnbXVsdGktY2hpcC1pbnB1dCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1ib3gtaWNvbnNcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJjbGVhcmFibGUgJiYgIWRpc2FibGVkXCJcbiAgICAgICAgICAgIFtzdHlsZS52aXNpYmlsaXR5XT1cIlxuICAgICAgICAgICAgICBwZXJzaXN0ZW50Q2xlYXIgfHxcbiAgICAgICAgICAgICAgKCFwZXJzaXN0ZW50Q2xlYXIgJiZcbiAgICAgICAgICAgICAgICAoKG11bHRpcGxlICYmIHRyZWVTZWxlY3Rpb24/Lmxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgICAgICghbXVsdGlwbGUgJiYgdHJlZVNlbGVjdGlvbikpKVxuICAgICAgICAgICAgICAgID8gJ3Zpc2libGUnXG4gICAgICAgICAgICAgICAgOiAnaGlkZGVuJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtYm94LWNsZWFyLWljb25cIj5cbiAgICAgICAgICAgIDxjcHMtaWNvblxuICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKCRldmVudClcIj48L2Nwcy1pY29uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q2hldnJvblwiXG4gICAgICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWJveC1jaGV2cm9uXCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25DaGV2cm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGNwcy1pY29uXG4gICAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWRvd25cIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwiZGlzYWJsZWQgPyAndGV4dC1saWdodCcgOiAndGV4dC1kYXJrJ1wiPjwvY3BzLWljb24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxjcHMtbWVudVxuICAgICAgI29wdGlvbnNNZW51XG4gICAgICBbd2l0aEFycm93XT1cImZhbHNlXCJcbiAgICAgIChiZWZvcmVNZW51SGlkZGVuKT1cIm9uQmVmb3JlT3B0aW9uc0hpZGRlbigpXCJcbiAgICAgIGhpZGVUcmFuc2l0aW9uT3B0aW9ucz1cIjBzIGxpbmVhclwiXG4gICAgICBjb250YWluZXJDbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLW9wdGlvbnMtbWVudVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLW9wdGlvbnNcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgd2lkdGg6IGJveFdpZHRoICsgJ3B4J1xuICAgICAgICB9XCI+XG4gICAgICAgIDxwLXRyZWVcbiAgICAgICAgICAjdHJlZUxpc3RcbiAgICAgICAgICBbZW1wdHlNZXNzYWdlXT1cImVtcHR5TWVzc2FnZVwiXG4gICAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXG4gICAgICAgICAgW3ZpcnR1YWxTY3JvbGxJdGVtU2l6ZV09XCJ2aXJ0dWFsU2Nyb2xsSXRlbVNpemVcIlxuICAgICAgICAgIFt2aXJ0dWFsU2Nyb2xsT3B0aW9uc109XCJ7IG51bVRvbGVyYXRlZEl0ZW1zOiBudW1Ub2xlcmF0ZWRJdGVtcyB9XCJcbiAgICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cInZpcnR1YWxMaXN0SGVpZ2h0ICsgJ3B4J1wiXG4gICAgICAgICAgKG9uTm9kZVNlbGVjdCk9XCJvblNlbGVjdE5vZGUoKVwiXG4gICAgICAgICAgKG9uTm9kZUV4cGFuZCk9XCJvbk5vZGVFeHBhbmQoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uTm9kZUNvbGxhcHNlKT1cIm9uTm9kZUNvbGxhcHNlKCRldmVudClcIlxuICAgICAgICAgIChvbkZpbHRlcik9XCJvbkZpbHRlck9wdGlvbnMoKVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImlubmVyT3B0aW9uc1wiXG4gICAgICAgICAgWyhzZWxlY3Rpb24pXT1cInRyZWVTZWxlY3Rpb25cIlxuICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwidHJlZVNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW21ldGFLZXlTZWxlY3Rpb25dPVwibXVsdGlwbGUgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIm11bHRpcGxlID8gJ211bHRpcGxlJyA6ICdzaW5nbGUnXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1ub2RlIHBUZW1wbGF0ZT1cImRpcmVjdG9yeVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1kaXJlY3RvcnktZWxlbVwiPnt7XG4gICAgICAgICAgICAgIG5vZGUubGFiZWxcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1ub2RlIHBUZW1wbGF0ZT1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtb3B0aW9uXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtb3B0aW9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLW9wdGlvbi1jaGVja1wiPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1vcHRpb24tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnZpcnR1YWwtcm93XT1cInZpcnR1YWxTY3JvbGxcIlxuICAgICAgICAgICAgICAgICAgPnt7IG5vZGUubGFiZWwgfX08L3NwYW5cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLW9wdGlvbi1pbmZvXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudmlydHVhbC1yb3ddPVwidmlydHVhbFNjcm9sbFwiXG4gICAgICAgICAgICAgICAgPnt7IG5vZGUuaW5mbyB9fTwvc3BhblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLXRyZWU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Nwcy1tZW51PlxuICAgIDxjcHMtcHJvZ3Jlc3MtbGluZWFyXG4gICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgaGVpZ2h0PVwiM1wiXG4gICAgICByYWRpdXM9XCI0XCJcbiAgICAgIG9wYWNpdHk9XCIwLjNcIlxuICAgICAgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1wcm9ncmVzcy1iYXJcIlxuICAgICAgYmdDb2xvcj1cInRyYW5zcGFyZW50XCI+XG4gICAgPC9jcHMtcHJvZ3Jlc3MtbGluZWFyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFlcnJvciAmJiAhaGlkZURldGFpbHNcIiBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWhpbnRcIj5cbiAgICB7eyBoaW50IH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZXJyb3IgJiYgIWhpZGVEZXRhaWxzXCIgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1lcnJvclwiPlxuICAgIHt7IGVycm9yIH19XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAjdHJlZUF1dG9jb21wbGV0ZUlucHV0XG4gIGxldC1pbnB1dENsYXNzPVwiaW5wdXRDbGFzc1wiXG4gIGxldC1pbnB1dFN0eWxlPVwiaW5wdXRTdHlsZVwiPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWJveC1pbnB1dFwiXG4gICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgW3N0eWxlXT1cImlucHV0U3R5bGVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICghdHJlZVNlbGVjdGlvbiAmJiAhbXVsdGlwbGUpIHx8ICh0cmVlU2VsZWN0aW9uPy5sZW5ndGggPCAxICYmIG11bHRpcGxlKVxuICAgICAgICA/IHBsYWNlaG9sZGVyXG4gICAgICAgIDogJydcbiAgICBcIlxuICAgIChpbnB1dCk9XCJmaWx0ZXJPcHRpb25zKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uSW5wdXRLZXlEb3duKCRldmVudClcIlxuICAgIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoKVwiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRyZWUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLWF1dG9jb21wbGV0ZS9jcHMtdHJlZS1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtYXV0b2NvbXBsZXRlL2Nwcy10cmVlLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFHTCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQzs7Ozs7O0FBV25IOzs7R0FH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LHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3FCQUNqQixZQUNTLHVCQUF1Qjs7MEJBa0M5QixRQUFROzswQkFDUixNQUFNOzJCQUFDLFFBQVE7eUVBdkJULFlBQVk7c0JBQXBCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENwc0ljb25Db21wb25lbnQgfSBmcm9tICcuLi9jcHMtaWNvbi9jcHMtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzQ2hpcENvbXBvbmVudCB9IGZyb20gJy4uL2Nwcy1jaGlwL2Nwcy1jaGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNQcm9ncmVzc0xpbmVhckNvbXBvbmVudCB9IGZyb20gJy4uL2Nwcy1wcm9ncmVzcy1saW5lYXIvY3BzLXByb2dyZXNzLWxpbmVhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzSW5mb0NpcmNsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Nwcy1pbmZvLWNpcmNsZS9jcHMtaW5mby1jaXJjbGUuY29tcG9uZW50JztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgVHJlZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdHJlZSc7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7XG4gIENwc01lbnVDb21wb25lbnQsXG4gIENwc01lbnVIaWRlUmVhc29uXG59IGZyb20gJy4uL2Nwcy1tZW51L2Nwcy1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNCYXNlVHJlZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vaW50ZXJuYWwvY3BzLWJhc2UtdHJlZS1kcm9wZG93bi9jcHMtYmFzZS10cmVlLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ3BzVHJlZUF1dG9jb21wbGV0ZUFwcGVhcmFuY2VUeXBlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBib3JkZXIgb2YgdGhlIHRyZWUgYXV0b2NvbXBsZXRlIGlucHV0IGZpZWxkLlxuICogQGdyb3VwIFR5cGVzXG4gKi9cbmV4cG9ydCB0eXBlIENwc1RyZWVBdXRvY29tcGxldGVBcHBlYXJhbmNlVHlwZSA9XG4gIHwgJ291dGxpbmVkJ1xuICB8ICd1bmRlcmxpbmVkJ1xuICB8ICdib3JkZXJsZXNzJztcblxuLyoqXG4gKiBDcHNUcmVlQXV0b2NvbXBsZXRlQ29tcG9uZW50IGFsbG93cyB0byBjaG9vc2UgaXRlbXMgZnJvbSBoaWVyYXJjaGljYWwgZGF0YSBkcm9wZG93biBhbmQgcHJvdmlkZXMgcmVhbC10aW1lIHN1Z2dlc3Rpb25zIHdoZW4gYmVpbmcgdHlwZWQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUcmVlTW9kdWxlLFxuICAgIENwc0ljb25Db21wb25lbnQsXG4gICAgQ3BzQ2hpcENvbXBvbmVudCxcbiAgICBDcHNQcm9ncmVzc0xpbmVhckNvbXBvbmVudCxcbiAgICBDcHNJbmZvQ2lyY2xlQ29tcG9uZW50LFxuICAgIENwc01lbnVDb21wb25lbnRcbiAgXSxcbiAgc2VsZWN0b3I6ICdjcHMtdHJlZS1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3BzLXRyZWUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3BzLXRyZWUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3BzVHJlZUF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICBleHRlbmRzIENwc0Jhc2VUcmVlRHJvcGRvd25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogTWVzc2FnZSBpZiBhcnJheSBvZiBpdGVtcyBpcyBlbXB0eS5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBlbXB0eU1lc3NhZ2UgPSAnTm8gcmVzdWx0cyBmb3VuZCc7XG5cbiAgLyoqXG4gICAqIFN0eWxpbmcgYXBwZWFyYW5jZSBvZiB0cmVlIGF1dG9jb21wbGV0ZSwgaXQgY2FuIGJlICdvdXRsaW5lZCcsICd1bmRlcmxpbmVkJyBvciAnYm9yZGVybGVzcycuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgYXBwZWFyYW5jZTogQ3BzVHJlZUF1dG9jb21wbGV0ZUFwcGVhcmFuY2VUeXBlID0gJ291dGxpbmVkJztcblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdGV4dC5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdQbGVhc2UgZW50ZXInO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyZWVBdXRvY29tcGxldGVJbnB1dCcpXG4gIHRyZWVBdXRvY29tcGxldGVJbnB1dCE6IEVsZW1lbnRSZWY7XG5cbiAgaW5wdXRUZXh0ID0gJyc7XG4gIGJhY2tzcGFjZUNsaWNrZWRPbmNlID0gZmFsc2U7XG4gIGFjdGl2ZVNpbmdsZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBvdmVycmlkZSBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHVibGljIG92ZXJyaWRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihjb250cm9sLCBjZFJlZik7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaXNBdXRvY29tcGxldGUgPSB0cnVlO1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uU2VsZWN0Tm9kZSgpIHtcbiAgICB0aGlzLmJhY2tzcGFjZUNsaWNrZWRPbmNlID0gZmFsc2U7XG4gICAgdGhpcy5fY2xlYXJJbnB1dCgpO1xuICAgIHN1cGVyLm9uU2VsZWN0Tm9kZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25CbHVyKCkge1xuICAgIGlmICghdGhpcy5pc09wZW5lZCkge1xuICAgICAgdGhpcy5fY2xvc2VBbmRDbGVhcigpO1xuICAgIH1cbiAgICBzdXBlci5vbkJsdXIoKTtcbiAgfVxuXG4gIG9uQmVmb3JlT3B0aW9uc0hpZGRlbihyZWFzb246IENwc01lbnVIaWRlUmVhc29uKSB7XG4gICAgaWYgKFtDcHNNZW51SGlkZVJlYXNvbi5TQ1JPTEwsIENwc01lbnVIaWRlUmVhc29uLlJFU0laRV0uaW5jbHVkZXMocmVhc29uKSkge1xuICAgICAgdGhpcy50b2dnbGVPcHRpb25zKGZhbHNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2xvc2VBbmRDbGVhcigpO1xuICB9XG5cbiAgb25Cb3hDbGljaygpIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuYWN0aXZlU2luZ2xlID0gdHJ1ZTtcbiAgICAgIGlmICghdGhpcy5pbnB1dFRleHQpIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy5fZ2V0VmFsdWVMYWJlbCgpO1xuICAgICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB0aGlzLnRyZWVMaXN0LnJlc2V0RmlsdGVyKCk7XG4gICAgfVxuICAgIHRoaXMuZm9jdXMoKTtcbiAgICB0aGlzLm9wdGlvbkZvY3VzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uQ29udGFpbmVyS2V5RG93bihldmVudDogYW55KSB7XG4gICAgY29uc3QgY29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgLy8gZXNjYXBlXG4gICAgaWYgKGNvZGUgPT09IDI3KSB7XG4gICAgICB0aGlzLl9jbG9zZUFuZENsZWFyKCk7XG4gICAgfVxuICAgIC8vIGNsaWNrIGRvd24gYXJyb3dcbiAgICBlbHNlIGlmIChjb2RlID09PSA0MCkge1xuICAgICAgdGhpcy5pbml0QXJyb3dzTmF2aWdhdG9uKCk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dEtleURvd24oZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgIC8vIGJhY2tzcGFjZVxuICAgIGlmIChjb2RlID09PSA4KSB7XG4gICAgICB0aGlzLl9yZW1vdmVMYXN0VmFsdWUoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICAvLyBlbnRlclxuICAgIGVsc2UgaWYgKGNvZGUgPT09IDEzKSB7XG4gICAgICBpZiAoIXRoaXMub3B0aW9uRm9jdXNlZCkge1xuICAgICAgICB0aGlzLl9jb25maXJtSW5wdXQoZXZlbnQ/LnRhcmdldD8udmFsdWUgfHwgJycpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNoZXZyb25DbGljayhldmVudDogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5pc09wZW5lZCkge1xuICAgICAgdGhpcy5fY2xvc2VBbmRDbGVhcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQm94Q2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBpc0FjdGl2ZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc09wZW5lZCB8fFxuICAgICAgdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLnRyZWVBdXRvY29tcGxldGVJbnB1dD8ubmF0aXZlRWxlbWVudFxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSByZW1vdmUob3B0aW9uOiBUcmVlTm9kZSk6IHZvaWQge1xuICAgIHN1cGVyLnJlbW92ZShvcHRpb24pO1xuXG4gICAgdGhpcy5fY2xlYXJJbnB1dCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBvdmVycmlkZSBjbGVhcihldmVudD86IGFueSk6IHZvaWQge1xuICAgIHN1cGVyLmNsZWFyKGV2ZW50KTtcblxuICAgIHRoaXMuX2NsZWFySW5wdXQoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgZm9jdXNJbnB1dCgpIHtcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcignaW5wdXQnKT8uZm9jdXMoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvY3VzKCkge1xuICAgIHN1cGVyLmZvY3VzKCk7XG4gICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gIH1cblxuICBvbkZpbHRlck9wdGlvbnMoKSB7XG4gICAgdGhpcy5yZWNhbGNWaXJ0dWFsTGlzdEhlaWdodCgpO1xuICB9XG5cbiAgZmlsdGVyT3B0aW9ucyhldmVudDogYW55KSB7XG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XG4gICAgICB0aGlzLnRvZ2dsZU9wdGlvbnModHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMuYmFja3NwYWNlQ2xpY2tlZE9uY2UgPSBmYWxzZTtcbiAgICBjb25zdCBzZWFyY2hWYWwgPSAoZXZlbnQ/LnRhcmdldD8udmFsdWUgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAoIXNlYXJjaFZhbCkgdGhpcy50cmVlTGlzdC5yZXNldEZpbHRlcigpO1xuICAgIGVsc2UgdGhpcy50cmVlTGlzdC5fZmlsdGVyKHNlYXJjaFZhbCk7XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3Qob3B0aW9uOiBUcmVlTm9kZSk6IHZvaWQge1xuICAgIGZ1bmN0aW9uIGluY2x1ZGVzKGFycmF5OiBhbnlbXSwgdmFsOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBhcnJheT8uc29tZSgoaXRlbSkgPT4gaXNFcXVhbChpdGVtLCB2YWwpKSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmJhY2tzcGFjZUNsaWNrZWRPbmNlID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgaWYgKGluY2x1ZGVzKHRoaXMudHJlZVNlbGVjdGlvbiwgb3B0aW9uKSkge1xuICAgICAgICB0aGlzLnRyZWVTZWxlY3Rpb24gPSB0aGlzLnRyZWVTZWxlY3Rpb24uZmlsdGVyKFxuICAgICAgICAgICh2OiBUcmVlTm9kZSkgPT4gIWlzRXF1YWwodiwgb3B0aW9uKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50cmVlU2VsZWN0aW9uLnB1c2gob3B0aW9uKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50cmVlU2VsZWN0aW9uID0gb3B0aW9uO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudHJlZVNlbGVjdGlvblRvVmFsdWUodGhpcy50cmVlU2VsZWN0aW9uKSk7XG5cbiAgICB0aGlzLl9jbGVhcklucHV0KCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFZhbHVlTGFiZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudHJlZVNlbGVjdGlvbj8ubGFiZWwgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhcklucHV0KCkge1xuICAgIHRoaXMudHJlZUxpc3QucmVzZXRGaWx0ZXIoKTtcbiAgICB0aGlzLmlucHV0VGV4dCA9ICcnO1xuICAgIHRoaXMuYWN0aXZlU2luZ2xlID0gZmFsc2U7XG4gICAgdGhpcy51cGRhdGVPcHRpb25zKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlY2FsY1ZpcnR1YWxMaXN0SGVpZ2h0KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZUFuZENsZWFyKCkge1xuICAgIHRoaXMuX2NsZWFySW5wdXQoKTtcbiAgICB0aGlzLnRvZ2dsZU9wdGlvbnMoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlybUlucHV0KHNlYXJjaFZhbDogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSByZXR1cm47XG4gICAgc2VhcmNoVmFsID0gc2VhcmNoVmFsLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKCFzZWFyY2hWYWwpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSByZXR1cm47XG4gICAgICB0aGlzLnRyZWVTZWxlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHVuZGVmaW5lZCk7XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuX2Nsb3NlQW5kQ2xlYXIoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcHJpbWVmYWNlcy9wcmltZW5nL2Jsb2IvdjE2LjQuMy9zcmMvYXBwL2NvbXBvbmVudHMvdHJlZS90cmVlLnRzI0wxMTI1XG4gICAgY29uc3QgZm91bmQ6IGFueSA9IHRoaXMudHJlZUxpc3Q/LnNlcmlhbGl6ZWRWYWx1ZT8uZmluZChcbiAgICAgIChzdjogYW55KSA9PiBzdj8ubm9kZT8ubGFiZWw/LnRvTG93ZXJDYXNlKCkgPT09IHNlYXJjaFZhbFxuICAgICk7XG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICB0aGlzLl9zZWxlY3QoZm91bmQubm9kZSk7XG4gICAgICB0aGlzLnRvZ2dsZU9wdGlvbnModGhpcy5tdWx0aXBsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLmlucHV0VGV4dCA9IHRoaXMuX2dldFZhbHVlTGFiZWwoKTtcbiAgICAgICAgdGhpcy50cmVlTGlzdC5yZXNldEZpbHRlcigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fY2xlYXJJbnB1dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlTGFzdFZhbHVlKCkge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSB8fCB0aGlzLmlucHV0VGV4dCkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMudHJlZVNlbGVjdGlvbj8ubGVuZ3RoKSB7XG4gICAgICBpZiAodGhpcy5iYWNrc3BhY2VDbGlja2VkT25jZSkge1xuICAgICAgICB0aGlzLnRyZWVTZWxlY3Rpb24gPSB0aGlzLnRyZWVTZWxlY3Rpb24uZmlsdGVyKFxuICAgICAgICAgICh2OiBUcmVlTm9kZSwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICAgIGluZGV4ICE9PSB0aGlzLnRyZWVTZWxlY3Rpb24ubGVuZ3RoIC0gMVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudHJlZVNlbGVjdGlvblRvVmFsdWUodGhpcy50cmVlU2VsZWN0aW9uKSk7XG5cbiAgICAgICAgdGhpcy5iYWNrc3BhY2VDbGlja2VkT25jZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHRoaXMuYmFja3NwYWNlQ2xpY2tlZE9uY2UgPSB0cnVlO1xuICAgIH0gZWxzZSB0aGlzLmJhY2tzcGFjZUNsaWNrZWRPbmNlID0gZmFsc2U7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH0sIDApO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGN2dFdpZHRoIH1cIlxuICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlXCJcbiAgdGFiaW5kZXg9XCIxXCJcbiAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQsIGVycm9yOiBlcnJvciwgYWN0aXZlOiBpc0FjdGl2ZSgpIH1cIlxuICAjY29tcG9uZW50Q29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtbGFiZWxcIiAqbmdJZj1cImxhYmVsXCI+XG4gICAgPGxhYmVsPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgICA8Y3BzLWluZm8tY2lyY2xlXG4gICAgICAqbmdJZj1cImluZm9Ub29sdGlwXCJcbiAgICAgIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtbGFiZWwtaW5mby1jaXJjbGVcIlxuICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImluZm9Ub29sdGlwUG9zaXRpb25cIlxuICAgICAgW3Rvb2x0aXBDb250ZW50Q2xhc3NdPVwiaW5mb1Rvb2x0aXBDbGFzc1wiXG4gICAgICBbdG9vbHRpcE1heFdpZHRoXT1cImluZm9Ub29sdGlwTWF4V2lkdGhcIlxuICAgICAgW3Rvb2x0aXBQZXJzaXN0ZW50XT1cImluZm9Ub29sdGlwUGVyc2lzdGVudFwiXG4gICAgICBbdG9vbHRpcFRleHRdPVwiaW5mb1Rvb2x0aXBcIj5cbiAgICA8L2Nwcy1pbmZvLWNpcmNsZT5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAoa2V5ZG93bik9XCJvbkNvbnRhaW5lcktleURvd24oJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1jb250YWluZXJcIlxuICAgIFtjbGFzcy5mb2N1c2VkXT1cImlzQWN0aXZlKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdwZXJzaXN0ZW50LWNsZWFyJzogcGVyc2lzdGVudENsZWFyLFxuICAgICAgYm9yZGVybGVzczogYXBwZWFyYW5jZSA9PT0gJ2JvcmRlcmxlc3MnLFxuICAgICAgdW5kZXJsaW5lZDogYXBwZWFyYW5jZSA9PT0gJ3VuZGVybGluZWQnXG4gICAgfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1ib3hcIiAjYm94RWwgKG1vdXNlZG93bik9XCJvbkJveENsaWNrKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1ib3gtYXJlYVwiPlxuICAgICAgICA8Y3BzLWljb25cbiAgICAgICAgICAqbmdJZj1cInByZWZpeEljb25cIlxuICAgICAgICAgIFtpY29uXT1cInByZWZpeEljb25cIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJkaXNhYmxlZCA/ICcjOWE5NTk1JyA6IG51bGxcIlxuICAgICAgICAgIFtzaXplXT1cInByZWZpeEljb25TaXplXCJcbiAgICAgICAgICBjbGFzcz1cInByZWZpeC1pY29uXCI+XG4gICAgICAgIDwvY3BzLWljb24+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWJveC1pdGVtc1wiXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICh0cmVlU2VsZWN0aW9uICYmICFtdWx0aXBsZSkgfHxcbiAgICAgICAgICAgICAgKHRyZWVTZWxlY3Rpb24/Lmxlbmd0aCA+IDAgJiYgbXVsdGlwbGUpO1xuICAgICAgICAgICAgZWxzZSB0cmVlQXV0b2NvbXBsZXRlSW5wdXRUZW1wbGF0ZVxuICAgICAgICAgIFwiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW11bHRpcGxlXCIgY2xhc3M9XCJzaW5nbGUtaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1pdGVtLXNlbGVjdGlvblwiPlxuICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUub3BhY2l0eV09XCJhY3RpdmVTaW5nbGUgPyAwIDogMVwiPnt7XG4gICAgICAgICAgICAgICAgdHJlZVNlbGVjdGlvbi5sYWJlbFxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHRyZWVBdXRvY29tcGxldGVJbnB1dFRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgIGlucHV0Q2xhc3M6ICdzaW5nbGUtaXRlbS1pbnB1dCcsXG4gICAgICAgICAgICAgICAgICBpbnB1dFN0eWxlOiBhY3RpdmVTaW5nbGUgPyAnb3BhY2l0eTogMScgOiBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJtdWx0aXBsZSAmJiAhY2hpcHNcIiBjbGFzcz1cInRleHQtZ3JvdXBcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZhbCBvZiB0cmVlU2VsZWN0aW9uOyBsZXQgbGFzdCA9IGxhc3RcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZ3JvdXAtaXRlbVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2Fib3V0LXRvLXJlbW92ZSc6IGxhc3QgJiYgYmFja3NwYWNlQ2xpY2tlZE9uY2UgfVwiPlxuICAgICAgICAgICAgICB7eyB2YWwubGFiZWwgfX17eyAhbGFzdCA/ICcsJyA6ICcnIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB0cmVlQXV0b2NvbXBsZXRlSW5wdXRUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICBpbnB1dENsYXNzOiAnbXVsdGktaXRlbS1pbnB1dCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm11bHRpcGxlICYmIGNoaXBzXCIgY2xhc3M9XCJjaGlwcy1ncm91cFwiPlxuICAgICAgICAgICAgPGNwcy1jaGlwXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB2YWwgb2YgdHJlZVNlbGVjdGlvbjsgbGV0IGxhc3QgPSBsYXN0XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgW2Nsb3NhYmxlXT1cImNsb3NhYmxlQ2hpcHNcIlxuICAgICAgICAgICAgICAoY2xvc2VkKT1cInJlbW92ZSh2YWwpXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWJvdXQtdG8tcmVtb3ZlJzogbGFzdCAmJiBiYWNrc3BhY2VDbGlja2VkT25jZSB9XCJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cInZhbC5sYWJlbFwiPlxuICAgICAgICAgICAgPC9jcHMtY2hpcD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB0cmVlQXV0b2NvbXBsZXRlSW5wdXRUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICBpbnB1dENsYXNzOiAnbXVsdGktY2hpcC1pbnB1dCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1ib3gtaWNvbnNcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJjbGVhcmFibGUgJiYgIWRpc2FibGVkXCJcbiAgICAgICAgICAgIFtzdHlsZS52aXNpYmlsaXR5XT1cIlxuICAgICAgICAgICAgICBwZXJzaXN0ZW50Q2xlYXIgfHxcbiAgICAgICAgICAgICAgKCFwZXJzaXN0ZW50Q2xlYXIgJiZcbiAgICAgICAgICAgICAgICAoKG11bHRpcGxlICYmIHRyZWVTZWxlY3Rpb24/Lmxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgICAgICghbXVsdGlwbGUgJiYgdHJlZVNlbGVjdGlvbikpKVxuICAgICAgICAgICAgICAgID8gJ3Zpc2libGUnXG4gICAgICAgICAgICAgICAgOiAnaGlkZGVuJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtYm94LWNsZWFyLWljb25cIj5cbiAgICAgICAgICAgIDxjcHMtaWNvblxuICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKCRldmVudClcIj48L2Nwcy1pY29uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q2hldnJvblwiXG4gICAgICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWJveC1jaGV2cm9uXCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25DaGV2cm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGNwcy1pY29uXG4gICAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWRvd25cIlxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwiZGlzYWJsZWQgPyAndGV4dC1saWdodCcgOiAndGV4dC1kYXJrJ1wiPjwvY3BzLWljb24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxjcHMtbWVudVxuICAgICAgI29wdGlvbnNNZW51XG4gICAgICBbd2l0aEFycm93XT1cImZhbHNlXCJcbiAgICAgIChiZWZvcmVNZW51SGlkZGVuKT1cIm9uQmVmb3JlT3B0aW9uc0hpZGRlbigkZXZlbnQpXCJcbiAgICAgIGhpZGVUcmFuc2l0aW9uT3B0aW9ucz1cIjBzIGxpbmVhclwiXG4gICAgICBjb250YWluZXJDbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLW9wdGlvbnMtbWVudVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLW9wdGlvbnNcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgd2lkdGg6IGJveFdpZHRoICsgJ3B4J1xuICAgICAgICB9XCI+XG4gICAgICAgIDxwLXRyZWVcbiAgICAgICAgICAjdHJlZUxpc3RcbiAgICAgICAgICBbZW1wdHlNZXNzYWdlXT1cImVtcHR5TWVzc2FnZVwiXG4gICAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXG4gICAgICAgICAgW3ZpcnR1YWxTY3JvbGxJdGVtU2l6ZV09XCJ2aXJ0dWFsU2Nyb2xsSXRlbVNpemVcIlxuICAgICAgICAgIFt2aXJ0dWFsU2Nyb2xsT3B0aW9uc109XCJ7IG51bVRvbGVyYXRlZEl0ZW1zOiBudW1Ub2xlcmF0ZWRJdGVtcyB9XCJcbiAgICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cInZpcnR1YWxMaXN0SGVpZ2h0ICsgJ3B4J1wiXG4gICAgICAgICAgKG9uTm9kZVNlbGVjdCk9XCJvblNlbGVjdE5vZGUoKVwiXG4gICAgICAgICAgKG9uTm9kZUV4cGFuZCk9XCJvbk5vZGVFeHBhbmQoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uTm9kZUNvbGxhcHNlKT1cIm9uTm9kZUNvbGxhcHNlKCRldmVudClcIlxuICAgICAgICAgIChvbkZpbHRlcik9XCJvbkZpbHRlck9wdGlvbnMoKVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImlubmVyT3B0aW9uc1wiXG4gICAgICAgICAgWyhzZWxlY3Rpb24pXT1cInRyZWVTZWxlY3Rpb25cIlxuICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwidHJlZVNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW21ldGFLZXlTZWxlY3Rpb25dPVwibXVsdGlwbGUgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIm11bHRpcGxlID8gJ211bHRpcGxlJyA6ICdzaW5nbGUnXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1ub2RlIHBUZW1wbGF0ZT1cImRpcmVjdG9yeVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1kaXJlY3RvcnktZWxlbVwiPnt7XG4gICAgICAgICAgICAgIG5vZGUubGFiZWxcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1ub2RlIHBUZW1wbGF0ZT1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtb3B0aW9uXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3BzLXRyZWVhdXRvY29tcGxldGUtb3B0aW9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLW9wdGlvbi1jaGVja1wiPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1vcHRpb24tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnZpcnR1YWwtcm93XT1cInZpcnR1YWxTY3JvbGxcIlxuICAgICAgICAgICAgICAgICAgPnt7IG5vZGUubGFiZWwgfX08L3NwYW5cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLW9wdGlvbi1pbmZvXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudmlydHVhbC1yb3ddPVwidmlydHVhbFNjcm9sbFwiXG4gICAgICAgICAgICAgICAgPnt7IG5vZGUuaW5mbyB9fTwvc3BhblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLXRyZWU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Nwcy1tZW51PlxuICAgIDxjcHMtcHJvZ3Jlc3MtbGluZWFyXG4gICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgaGVpZ2h0PVwiM1wiXG4gICAgICByYWRpdXM9XCI0XCJcbiAgICAgIG9wYWNpdHk9XCIwLjNcIlxuICAgICAgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1wcm9ncmVzcy1iYXJcIlxuICAgICAgYmdDb2xvcj1cInRyYW5zcGFyZW50XCI+XG4gICAgPC9jcHMtcHJvZ3Jlc3MtbGluZWFyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFlcnJvciAmJiAhaGlkZURldGFpbHNcIiBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWhpbnRcIj5cbiAgICB7eyBoaW50IH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZXJyb3IgJiYgIWhpZGVEZXRhaWxzXCIgY2xhc3M9XCJjcHMtdHJlZWF1dG9jb21wbGV0ZS1lcnJvclwiPlxuICAgIHt7IGVycm9yIH19XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAjdHJlZUF1dG9jb21wbGV0ZUlucHV0VGVtcGxhdGVcbiAgbGV0LWlucHV0Q2xhc3M9XCJpbnB1dENsYXNzXCJcbiAgbGV0LWlucHV0U3R5bGU9XCJpbnB1dFN0eWxlXCI+XG4gIDxpbnB1dFxuICAgICN0cmVlQXV0b2NvbXBsZXRlSW5wdXRcbiAgICBjbGFzcz1cImNwcy10cmVlYXV0b2NvbXBsZXRlLWJveC1pbnB1dFwiXG4gICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgW3N0eWxlXT1cImlucHV0U3R5bGVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICghdHJlZVNlbGVjdGlvbiAmJiAhbXVsdGlwbGUpIHx8ICh0cmVlU2VsZWN0aW9uPy5sZW5ndGggPCAxICYmIG11bHRpcGxlKVxuICAgICAgICA/IHBsYWNlaG9sZGVyXG4gICAgICAgIDogJydcbiAgICBcIlxuICAgIChpbnB1dCk9XCJmaWx0ZXJPcHRpb25zKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uSW5wdXRLZXlEb3duKCRldmVudClcIlxuICAgIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoKVwiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|