@eui/components 18.0.2-snapshot-1718845978268 → 18.0.2-snapshot-1719154888638
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/docs/components/EuiChipListComponent.html +1 -1
- package/docs/components/EuiPageColumnComponent.html +48 -1
- package/docs/components/EuiPageColumnsComponent.html +73 -45
- package/docs/dependencies.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +7 -8
- package/esm2022/eui-input-group/eui-input-group.component.mjs +2 -2
- package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +20 -4
- package/esm2022/eui-page/components/eui-page-columns/eui-page-columns.component.mjs +16 -6
- package/esm2022/eui-page/eui-page.component.mjs +2 -2
- package/esm2022/eui-tabs/eui-tabs.component.mjs +2 -2
- package/eui-page/components/eui-page-column/eui-page-column.component.d.ts +4 -1
- package/eui-page/components/eui-page-column/eui-page-column.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts +4 -2
- package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts.map +1 -1
- package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-chip-list.mjs +7 -8
- package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-group.mjs +2 -2
- package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-page.mjs +36 -9
- package/fesm2022/eui-components-eui-page.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
- package/package.json +9 -9
@@ -11,11 +11,10 @@ import * as i4 from "@angular/common";
|
|
11
11
|
import * as i5 from "@eui/components/eui-chip";
|
12
12
|
import * as i6 from "@eui/components/eui-button";
|
13
13
|
import * as i7 from "@eui/components/eui-icon";
|
14
|
-
import * as i8 from "@
|
15
|
-
import * as i9 from "@
|
16
|
-
import * as i10 from "@
|
17
|
-
import * as i11 from "@
|
18
|
-
import * as i12 from "@eui/components/pipes";
|
14
|
+
import * as i8 from "@angular/cdk/drag-drop";
|
15
|
+
import * as i9 from "@eui/components/directives";
|
16
|
+
import * as i10 from "@ngx-translate/core";
|
17
|
+
import * as i11 from "@eui/components/pipes";
|
19
18
|
export class EuiChipListComponent {
|
20
19
|
get cssClasses() {
|
21
20
|
return this.baseStatesDirective.getCssClasses('eui-chip-list');
|
@@ -225,7 +224,7 @@ export class EuiChipListComponent {
|
|
225
224
|
return tab;
|
226
225
|
}
|
227
226
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: EuiChipListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.EuiChipListDragService }, { token: i2.DomSanitizer }, { token: i3.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
228
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: EuiChipListComponent, selector: "eui-chip-list, div[euiChipList], ul[euiChipList]", inputs: { chips: "chips", toggleLinkMoreLabel: "toggleLinkMoreLabel", toggleLinkLessLabel: "toggleLinkLessLabel", chipsSortOrder: "chipsSortOrder", dragAndDropSourceName: "dragAndDropSourceName", dragAndDropConnectedTo: "dragAndDropConnectedTo", ariaLabel: "ariaLabel", dropListOrientation: "dropListOrientation", isSquared: ["isSquared", "isSquared", booleanAttribute], isChipsRemovable: ["isChipsRemovable", "isChipsRemovable", booleanAttribute], isMaxVisibleChipsOpened: ["isMaxVisibleChipsOpened", "isMaxVisibleChipsOpened", booleanAttribute], isChipsSorted: ["isChipsSorted", "isChipsSorted", booleanAttribute], isChipsDragAndDrop: ["isChipsDragAndDrop", "isChipsDragAndDrop", booleanAttribute], isGrid: ["isGrid", "isGrid", booleanAttribute], maxVisibleChipsCount: ["maxVisibleChipsCount", "maxVisibleChipsCount", numberAttribute], chipsLabelTruncateCount: ["chipsLabelTruncateCount", "chipsLabelTruncateCount", numberAttribute] }, outputs: { chipsInit: "chipsInit", chipRemove: "chipRemove", chipDragStart: "chipDragStart", chipDragRelease: "chipDragRelease", chipDrop: "chipDrop", chiplistFocus: "chiplistFocus" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses" } }, queries: [{ propertyName: "euiChipsContent", predicate: i0.forwardRef(() => EuiChipComponent) }], viewQueries: [{ propertyName: "chipListDropList", first: true, predicate: ["chipListDropList"], descendants: true, read: CdkDropList }, { propertyName: "chipListDragAndDropItems", first: true, predicate: ["chipListDragAndDropItems"], descendants: true, read: CdkDropList }, { propertyName: "euiChipItems", predicate: ["euiChipItem"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i3.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiOutline", "euiOutline", "euiDisabled", "euiDisabled"] }], ngImport: i0, template: "<div *ngIf=\"!isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListOrientation]=\"dropListOrientation\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chips }\"\n [cdkDropListConnectedTo]=\"droppableArea\"\n (cdkDropListDropped)=\"drop($event)\"\n (focus)=\"onFocus()\"\n class=\"eui-chip-list__list\">\n @for ( chip of chips; track chip; let i = $index; ) {\n @if (\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n ) {\n <div\n class=\"eui-chip-list__chip-container\"\n [class.eui-chip--hidden]=\"maxVisibleChipsCount > i\"\n cdkDrag\n [cdkDragData]=\"chip\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\">\n <eui-chip\n #euiChipItem\n [data]=\"chip.data ? chip.data : chip\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"chip.iconClass\" class=\"{{ chip.iconClass }}\"></span>\n <span class=\"eui-chip-list__chip-content\" *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n }\n }\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n </div>\n </div>\n \n</div>\n\n<div *ngIf=\"isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div class=\"eui-chip-list__group\" cdkDropListGroup>\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n *ngFor=\"let chip of chips; let i = index\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chip: chip, index: i }\"\n (focus)=\"onFocus()\"\n (cdkDropListDropped)=\"onDropGrid($event)\"\n class=\"eui-chip-list__custom\">\n @for ( chip of chips; track chip; let i = $index; ) {\n @if (\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n ) {\n <div\n class=\"eui-chip-list__chip-container\"\n cdkDrag\n [cdkDragData]=\"{ chip: chip, index: i }\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\"\n (cdkDragEntered)=\"onDragEnter($event)\">\n <eui-chip\n #euiChipItem\n [data]=\"chip.data ? chip.data : chip\"\n [id]=\"chip.id\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n } \n }\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #euiChipListAppendContent>\n <ng-content select=\"euiChipListAppendContent\"></ng-content>\n</ng-template>\n\n<ng-template #additionalContent>\n <ng-container *ngIf=\"maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount\">\n <div class=\"eui-chip-list__expand-button-wrapper\">\n <button\n euiButton\n euiBasicButton\n euiSecondary\n euiSizeS\n type=\"button\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"isMaxVisibleChipsOpened\">\n <eui-icon-svg icon=\"chevron-back:sharp\" aria-label=\"Collapse icon\"></eui-icon-svg>\n <span euiLabel *ngIf=\"toggleLinkLessLabel\">{{ toggleLinkLessLabel | translate }}</span>\n </button>\n <button\n euiButton\n euiBasicButton\n euiSecondary\n euiSizeS\n type=\"button\"\n aria-haspopup=\"true\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"!isMaxVisibleChipsOpened\">\n <span euiLabel *ngIf=\"toggleLinkMoreLabel\">{{ toggleLinkMoreLabel | translate }}</span>\n <eui-icon-svg icon=\"chevron-forward:sharp\" aria-label=\"Expand icon\"></eui-icon-svg>\n </button>\n </div>\n </ng-container>\n</ng-template>\n", styles: [".eui-chip-list{align-items:center;display:flex;margin:0;padding:0}.eui-chip-list .eui-chip-list-container{align-items:center;display:flex;margin-bottom:var(--eui-s-2xs)}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper{align-items:center;display:flex;width:100%;flex-wrap:wrap}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__list{flex-wrap:wrap;gap:var(--eui-s-xs)}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__chip-container{align-items:center;display:inline-flex}.eui-chip-list[ischipsdraganddrop] .eui-chip-list-container{width:100%}.eui-chip-list__group{display:flex;flex-wrap:wrap}.eui-chip-list__chip-container.cdk-drag:not(.cdk-drag-disabled){cursor:move!important}.eui-chip-list__custom{min-width:auto!important;width:auto!important}.eui-chip-list__chip-content{display:flex;align-items:center;gap:var(--eui-s-xs)}@media screen and (max-width: 767px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared", "isFilled"], outputs: ["remove"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i10.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }, { kind: "pipe", type: i12.EuiTruncatePipe, name: "euiTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
227
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: EuiChipListComponent, selector: "eui-chip-list, div[euiChipList], ul[euiChipList]", inputs: { chips: "chips", toggleLinkMoreLabel: "toggleLinkMoreLabel", toggleLinkLessLabel: "toggleLinkLessLabel", chipsSortOrder: "chipsSortOrder", dragAndDropSourceName: "dragAndDropSourceName", dragAndDropConnectedTo: "dragAndDropConnectedTo", ariaLabel: "ariaLabel", dropListOrientation: "dropListOrientation", isSquared: ["isSquared", "isSquared", booleanAttribute], isChipsRemovable: ["isChipsRemovable", "isChipsRemovable", booleanAttribute], isMaxVisibleChipsOpened: ["isMaxVisibleChipsOpened", "isMaxVisibleChipsOpened", booleanAttribute], isChipsSorted: ["isChipsSorted", "isChipsSorted", booleanAttribute], isChipsDragAndDrop: ["isChipsDragAndDrop", "isChipsDragAndDrop", booleanAttribute], isGrid: ["isGrid", "isGrid", booleanAttribute], maxVisibleChipsCount: ["maxVisibleChipsCount", "maxVisibleChipsCount", numberAttribute], chipsLabelTruncateCount: ["chipsLabelTruncateCount", "chipsLabelTruncateCount", numberAttribute] }, outputs: { chipsInit: "chipsInit", chipRemove: "chipRemove", chipDragStart: "chipDragStart", chipDragRelease: "chipDragRelease", chipDrop: "chipDrop", chiplistFocus: "chiplistFocus" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses" } }, queries: [{ propertyName: "euiChipsContent", predicate: i0.forwardRef(() => EuiChipComponent) }], viewQueries: [{ propertyName: "chipListDropList", first: true, predicate: ["chipListDropList"], descendants: true, read: CdkDropList }, { propertyName: "chipListDragAndDropItems", first: true, predicate: ["chipListDragAndDropItems"], descendants: true, read: CdkDropList }, { propertyName: "euiChipItems", predicate: ["euiChipItem"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i3.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiOutline", "euiOutline", "euiDisabled", "euiDisabled"] }], ngImport: i0, template: "<div class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n\n @if (!isGrid) {\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListOrientation]=\"dropListOrientation\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chips }\"\n [cdkDropListConnectedTo]=\"droppableArea\"\n (cdkDropListDropped)=\"drop($event)\"\n (focus)=\"onFocus()\"\n class=\"eui-chip-list__list\">\n\n @for ( chip of chips; track chip; let i = $index; ) {\n @if (\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n ) {\n <div\n class=\"eui-chip-list__chip-container\"\n [class.eui-chip--hidden]=\"maxVisibleChipsCount > i\"\n cdkDrag\n [cdkDragData]=\"chip\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\">\n <eui-chip\n #euiChipItem\n [data]=\"chip.data ? chip.data : chip\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n\n @if (chip.iconSvgName) {\n <eui-icon-svg [icon]=\"chip.iconSvgName\" />\n }\n @if (chip.iconClass) {\n <span class=\"{{ chip.iconClass }}\"></span>\n }\n @if (chipsLabelTruncateCount) {\n <span title=\"{{ getChipLabel(chip) }}\">\n {{ getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount }}\n </span>\n } @else {\n <span class=\"eui-chip-list__chip-content\" [innerHTML]=\"getChipContent(chip)\"></span>\n } \n </eui-chip>\n </div>\n }\n }\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n </div>\n\n } @else { // isGrid\n\n <div class=\"eui-chip-list__group\" cdkDropListGroup>\n @for ( chip of chips; track chip; let i = $index; ) {\n @if (\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n )\n {\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chip: chip, index: i }\"\n (focus)=\"onFocus()\"\n (cdkDropListDropped)=\"onDropGrid($event)\"\n class=\"eui-chip-list__custom\">\n <div\n class=\"eui-chip-list__chip-container\"\n cdkDrag\n [cdkDragData]=\"{ chip: chip, index: i }\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\"\n (cdkDragEntered)=\"onDragEnter($event)\">\n <eui-chip\n #euiChipItem\n [data]=\"chip.data ? chip.data : chip\"\n [id]=\"chip.id\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n \n @if (chip.iconSvgName) {\n <eui-icon-svg [icon]=\"chip.iconSvgName\" />\n }\n @if (chipsLabelTruncateCount) {\n <span title=\"{{ getChipLabel(chip) }}\">\n {{ getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount }}\n </span>\n } @else {\n <span class=\"eui-chip-list__chip-content\" [innerHTML]=\"getChipContent(chip)\"></span>\n }\n </eui-chip>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n }\n }\n </div>\n }\n </div>\n</div>\n\n<ng-template #euiChipListAppendContent>\n <ng-content select=\"euiChipListAppendContent\"></ng-content>\n</ng-template>\n\n<ng-template #additionalContent>\n @if (maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount) {\n <div class=\"eui-chip-list__expand-button-wrapper\">\n <button\n euiButton\n euiBasicButton\n euiSecondary\n euiSizeS\n type=\"button\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\">\n\n @if (isMaxVisibleChipsOpened) {\n <eui-icon-svg icon=\"chevron-back:sharp\" aria-label=\"Collapse icon\" />\n @if (toggleLinkLessLabel) {\n {{ toggleLinkLessLabel | translate }}\n }\n } @else {\n @if (toggleLinkMoreLabel) {\n {{ toggleLinkMoreLabel | translate }}\n }\n <eui-icon-svg icon=\"chevron-forward:sharp\" aria-label=\"Expand icon\" />\n }\n </button>\n </div>\n }\n</ng-template>\n", styles: [".eui-chip-list{align-items:center;display:flex;margin:0;padding:0}.eui-chip-list .eui-chip-list-container{align-items:center;display:flex;margin-bottom:var(--eui-s-2xs)}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper{align-items:center;display:flex;width:100%;flex-wrap:wrap}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__list{flex-wrap:wrap;gap:var(--eui-s-xs)}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__chip-container{align-items:center;display:inline-flex}.eui-chip-list[ischipsdraganddrop] .eui-chip-list-container{width:100%}.eui-chip-list__group{display:flex;flex-wrap:wrap;gap:var(--eui-s-xs)}.eui-chip-list__chip-container.cdk-drag:not(.cdk-drag-disabled){cursor:move!important}.eui-chip-list__custom{min-width:auto!important;width:auto!important}.eui-chip-list__chip-content{display:flex;align-items:center;gap:var(--eui-s-xs)}@media screen and (max-width: 767px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}\n"], dependencies: [{ kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared", "isFilled"], outputs: ["remove"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "directive", type: i8.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i8.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i8.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i9.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }, { kind: "pipe", type: i11.EuiTruncatePipe, name: "euiTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
229
228
|
}
|
230
229
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: EuiChipListComponent, decorators: [{
|
231
230
|
type: Component,
|
@@ -245,7 +244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
245
244
|
'euiDisabled',
|
246
245
|
],
|
247
246
|
},
|
248
|
-
], template: "<div
|
247
|
+
], template: "<div class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n\n @if (!isGrid) {\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListOrientation]=\"dropListOrientation\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chips }\"\n [cdkDropListConnectedTo]=\"droppableArea\"\n (cdkDropListDropped)=\"drop($event)\"\n (focus)=\"onFocus()\"\n class=\"eui-chip-list__list\">\n\n @for ( chip of chips; track chip; let i = $index; ) {\n @if (\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n ) {\n <div\n class=\"eui-chip-list__chip-container\"\n [class.eui-chip--hidden]=\"maxVisibleChipsCount > i\"\n cdkDrag\n [cdkDragData]=\"chip\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\">\n <eui-chip\n #euiChipItem\n [data]=\"chip.data ? chip.data : chip\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n\n @if (chip.iconSvgName) {\n <eui-icon-svg [icon]=\"chip.iconSvgName\" />\n }\n @if (chip.iconClass) {\n <span class=\"{{ chip.iconClass }}\"></span>\n }\n @if (chipsLabelTruncateCount) {\n <span title=\"{{ getChipLabel(chip) }}\">\n {{ getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount }}\n </span>\n } @else {\n <span class=\"eui-chip-list__chip-content\" [innerHTML]=\"getChipContent(chip)\"></span>\n } \n </eui-chip>\n </div>\n }\n }\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n </div>\n\n } @else { // isGrid\n\n <div class=\"eui-chip-list__group\" cdkDropListGroup>\n @for ( chip of chips; track chip; let i = $index; ) {\n @if (\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n )\n {\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chip: chip, index: i }\"\n (focus)=\"onFocus()\"\n (cdkDropListDropped)=\"onDropGrid($event)\"\n class=\"eui-chip-list__custom\">\n <div\n class=\"eui-chip-list__chip-container\"\n cdkDrag\n [cdkDragData]=\"{ chip: chip, index: i }\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\"\n (cdkDragEntered)=\"onDragEnter($event)\">\n <eui-chip\n #euiChipItem\n [data]=\"chip.data ? chip.data : chip\"\n [id]=\"chip.id\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n \n @if (chip.iconSvgName) {\n <eui-icon-svg [icon]=\"chip.iconSvgName\" />\n }\n @if (chipsLabelTruncateCount) {\n <span title=\"{{ getChipLabel(chip) }}\">\n {{ getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount }}\n </span>\n } @else {\n <span class=\"eui-chip-list__chip-content\" [innerHTML]=\"getChipContent(chip)\"></span>\n }\n </eui-chip>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n }\n }\n </div>\n }\n </div>\n</div>\n\n<ng-template #euiChipListAppendContent>\n <ng-content select=\"euiChipListAppendContent\"></ng-content>\n</ng-template>\n\n<ng-template #additionalContent>\n @if (maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount) {\n <div class=\"eui-chip-list__expand-button-wrapper\">\n <button\n euiButton\n euiBasicButton\n euiSecondary\n euiSizeS\n type=\"button\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\">\n\n @if (isMaxVisibleChipsOpened) {\n <eui-icon-svg icon=\"chevron-back:sharp\" aria-label=\"Collapse icon\" />\n @if (toggleLinkLessLabel) {\n {{ toggleLinkLessLabel | translate }}\n }\n } @else {\n @if (toggleLinkMoreLabel) {\n {{ toggleLinkMoreLabel | translate }}\n }\n <eui-icon-svg icon=\"chevron-forward:sharp\" aria-label=\"Expand icon\" />\n }\n </button>\n </div>\n }\n</ng-template>\n", styles: [".eui-chip-list{align-items:center;display:flex;margin:0;padding:0}.eui-chip-list .eui-chip-list-container{align-items:center;display:flex;margin-bottom:var(--eui-s-2xs)}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper{align-items:center;display:flex;width:100%;flex-wrap:wrap}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__list{flex-wrap:wrap;gap:var(--eui-s-xs)}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__chip-container{align-items:center;display:inline-flex}.eui-chip-list[ischipsdraganddrop] .eui-chip-list-container{width:100%}.eui-chip-list__group{display:flex;flex-wrap:wrap;gap:var(--eui-s-xs)}.eui-chip-list__chip-container.cdk-drag:not(.cdk-drag-disabled){cursor:move!important}.eui-chip-list__custom{min-width:auto!important;width:auto!important}.eui-chip-list__chip-content{display:flex;align-items:center;gap:var(--eui-s-xs)}@media screen and (max-width: 767px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}\n"] }]
|
249
248
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.EuiChipListDragService }, { type: i2.DomSanitizer }, { type: i3.BaseStatesDirective }], propDecorators: { chips: [{
|
250
249
|
type: Input
|
251
250
|
}], toggleLinkMoreLabel: [{
|
@@ -326,4 +325,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
326
325
|
type: Directive,
|
327
326
|
args: [{ selector: 'euiChipListAppendContent' }]
|
328
327
|
}] });
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWNoaXAtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktY2hpcC1saXN0L2V1aS1jaGlwLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLWNoaXAtbGlzdC9ldWktY2hpcC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsZUFBZSxFQUtmLFlBQVksRUFDWixNQUFNLEVBRU4sU0FBUyxFQUdULFVBQVUsRUFDVixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFFSCxlQUFlLEVBQ2YsV0FBVyxFQUNYLGlCQUFpQixHQUlwQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBMkI3RCxNQUFNLE9BQU8sb0JBQW9CO0lBMkI3QixJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQWFELFlBQ1ksRUFBcUIsRUFDckIsc0JBQThDLEVBQzlDLFlBQTBCLEVBQ3hCLG1CQUF3QztRQUgxQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3hC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QkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFHSCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFTaUMsZUFBZTtzQkFBbkUsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ0csZ0JBQWdCO3NCQUFyRSxTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDVSx3QkFBd0I7c0JBQXJGLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNULFlBQVk7c0JBQTlELFlBQVk7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTs7QUFzT3JELG9CQUFvQjtBQUVwQixNQUFNLE9BQU8saUNBQWlDOzhHQUFqQyxpQ0FBaUM7a0dBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFEN0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIFZpZXdDaGlsZCxcbiAgICBRdWVyeUxpc3QsXG4gICAgZm9yd2FyZFJlZixcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgT25Jbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBEaXJlY3RpdmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgRWxlbWVudFJlZixcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdWJqZWN0LCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBDZGtEcmFnRHJvcCxcbiAgICBtb3ZlSXRlbUluQXJyYXksXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgdHJhbnNmZXJBcnJheUl0ZW0sXG4gICAgQ2RrRHJhZ1N0YXJ0LFxuICAgIENka0RyYWdFbnRlcixcbiAgICBDZGtEcmFnUmVsZWFzZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbmltcG9ydCB7IEV1aUNoaXBDb21wb25lbnQsIEV1aUNoaXAsIEV1aUNoaXBUb29sdGlwIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1jaGlwJztcblxuaW1wb3J0IHsgRXVpQ2hpcERyYWdEcm9wIH0gZnJvbSAnLi9tb2RlbHMvZXVpLWNoaXAtZHJhZy1kcm9wLm1vZGVsJztcbmltcG9ydCB7IEV1aUNoaXBMaXN0RHJhZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2V1aS1jaGlwLWxpc3QtZHJhZy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1jaGlwLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHNlbGVjdG9yOiAnZXVpLWNoaXAtbGlzdCwgZGl2W2V1aUNoaXBMaXN0XSwgdWxbZXVpQ2hpcExpc3RdJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICdldWlQcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAnZXVpU2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAnZXVpU3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJ2V1aUluZm8nLFxuICAgICAgICAgICAgICAgICdldWlXYXJuaW5nJyxcbiAgICAgICAgICAgICAgICAnZXVpRGFuZ2VyJyxcbiAgICAgICAgICAgICAgICAnZXVpQWNjZW50JyxcbiAgICAgICAgICAgICAgICAnZXVpVmFyaWFudCcsXG5cbiAgICAgICAgICAgICAgICAnZXVpT3V0bGluZScsXG4gICAgICAgICAgICAgICAgJ2V1aURpc2FibGVkJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpQ2hpcExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBJbnB1dCgpIGNoaXBzOiBhbnlbXTtcbiAgICBASW5wdXQoKSB0b2dnbGVMaW5rTW9yZUxhYmVsOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIHRvZ2dsZUxpbmtMZXNzTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgY2hpcHNTb3J0T3JkZXI6ICdBU0MnIHwgJ0RFU0MnID0gJ0FTQyc7XG4gICAgQElucHV0KCkgZHJhZ0FuZERyb3BTb3VyY2VOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZHJhZ0FuZERyb3BDb25uZWN0ZWRUbzogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpIGFyaWFMYWJlbCA9ICdlVUkgQ2hpcCBMaXN0JztcbiAgICBASW5wdXQoKSBkcm9wTGlzdE9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU3F1YXJlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NoaXBzUmVtb3ZhYmxlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzTWF4VmlzaWJsZUNoaXBzT3BlbmVkID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQ2hpcHNTb3J0ZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDaGlwc0RyYWdBbmREcm9wID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzR3JpZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG1heFZpc2libGVDaGlwc0NvdW50ID0gbnVsbDtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBjaGlwc0xhYmVsVHJ1bmNhdGVDb3VudCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KCkgY2hpcHNJbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxDZGtEcm9wTGlzdD4oKTtcbiAgICBAT3V0cHV0KCkgY2hpcFJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjaGlwczogRXVpQ2hpcFtdOyByZW1vdmVkOiBFdWlDaGlwIHwgeyBjaGlwOiBFdWlDaGlwOyBldmVudDogRXZlbnQgfSB9PigpO1xuICAgIEBPdXRwdXQoKSBjaGlwRHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlDaGlwRHJhZ0Ryb3A+KCk7XG4gICAgQE91dHB1dCgpIGNoaXBEcmFnUmVsZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpQ2hpcERyYWdEcm9wPigpO1xuICAgIEBPdXRwdXQoKSBjaGlwRHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpQ2hpcERyYWdEcm9wPigpO1xuICAgIEBPdXRwdXQoKSBjaGlwbGlzdEZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWktY2hpcC1saXN0Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIGRyb3BwYWJsZUFyZWE6IChDZGtEcm9wTGlzdCB8IHN0cmluZylbXTtcbiAgICBwdWJsaWMgY29ubmVjdENvbXBvbmVudDogQ2RrRHJvcExpc3RbXSA9IFtdO1xuICAgIHB1YmxpYyBlMmVBdHRyID0gJ2V1aS1jaGlwLWxpc3QnO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEV1aUNoaXBDb21wb25lbnQpKSBldWlDaGlwc0NvbnRlbnQ6IFF1ZXJ5TGlzdDxFdWlDaGlwQ29tcG9uZW50PjtcbiAgICBAVmlld0NoaWxkKCdjaGlwTGlzdERyb3BMaXN0JywgeyByZWFkOiBDZGtEcm9wTGlzdCB9KSBjaGlwTGlzdERyb3BMaXN0OiBDZGtEcm9wTGlzdDtcbiAgICBAVmlld0NoaWxkKCdjaGlwTGlzdERyYWdBbmREcm9wSXRlbXMnLCB7IHJlYWQ6IENka0Ryb3BMaXN0IH0pIGNoaXBMaXN0RHJhZ0FuZERyb3BJdGVtczogQ2RrRHJvcExpc3Q7XG4gICAgQFZpZXdDaGlsZHJlbignZXVpQ2hpcEl0ZW0nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgZXVpQ2hpcEl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBldWlDaGlwTGlzdERyYWdTZXJ2aWNlOiBFdWlDaGlwTGlzdERyYWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcm90ZWN0ZWQgYmFzZVN0YXRlc0RpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjLmNoaXBzICYmIHRoaXMuaXNDaGlwc1NvcnRlZCkge1xuICAgICAgICAgICAgdGhpcy5jaGlwcyA9IHRoaXMub3JkZXJJdGVtcyh0aGlzLmNoaXBzLCB0aGlzLmNoaXBzU29ydE9yZGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaXBzID0gdGhpcy5jaGlwcz8ubWFwKChjaGlwKSA9PiAoe1xuICAgICAgICAgICAgLi4uY2hpcCxcbiAgICAgICAgICAgIHRvb2x0aXA6IG5ldyBFdWlDaGlwVG9vbHRpcChjaGlwLnRvb2x0aXApLFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaXBzID0gdGhpcy5jaGlwcz8ubWFwKChjaGlwKSA9PiAoe1xuICAgICAgICAgICAgLi4uY2hpcCxcbiAgICAgICAgICAgIHRvb2x0aXA6IG5ldyBFdWlDaGlwVG9vbHRpcChjaGlwLnRvb2x0aXApLFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaXBzSW5pdC5lbWl0KHRoaXMuY2hpcExpc3REcmFnQW5kRHJvcEl0ZW1zKTtcbiAgICAgICAgaWYgKHRoaXMuaXNDaGlwc1NvcnRlZCAmJiB0aGlzLmNoaXBzKSB7XG4gICAgICAgICAgICB0aGlzLmNoaXBzID0gdGhpcy5vcmRlckl0ZW1zKHRoaXMuY2hpcHMsIHRoaXMuY2hpcHNTb3J0T3JkZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZHJhZ0FuZERyb3BTb3VyY2VOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmV1aUNoaXBMaXN0RHJhZ1NlcnZpY2Uuc2V0Q29tcG9uZW50Q29ubmVjdG9yKHRoaXMuZHJhZ0FuZERyb3BTb3VyY2VOYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRyYWdBbmREcm9wQ29ubmVjdGVkVG8pIHtcbiAgICAgICAgICAgIHRoaXMuZXVpQ2hpcExpc3REcmFnU2VydmljZS5zZXREcm9wcGFibGVBcmVhKHRoaXMuY2hpcExpc3REcm9wTGlzdCwgdGhpcy5kcmFnQW5kRHJvcENvbm5lY3RlZFRvKTtcbiAgICAgICAgICAgIHRoaXMuZHJhZ0FuZERyb3BDb25uZWN0ZWRUby5mb3JFYWNoKChjb25uZWN0VG8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RDb21wb25lbnQgPSB0aGlzLmV1aUNoaXBMaXN0RHJhZ1NlcnZpY2UuY29tcG9uZW50Q29ubmVjdG9yW2Nvbm5lY3RUb107XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kcm9wcGFibGVBcmVhID0gdGhpcy5ldWlDaGlwTGlzdERyYWdTZXJ2aWNlLmRyb3BwYWJsZUFyZWFbdGhpcy5kcmFnQW5kRHJvcFNvdXJjZU5hbWVdO1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZXVpQ2hpcExpc3REcmFnU2VydmljZS5jb21wb25lbnRDb25uZWN0b3IpLm1hcCgoY29ubmVjdFRvKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV1aUNoaXBMaXN0RHJhZ1NlcnZpY2UuY29tcG9uZW50Q29ubmVjdG9yW2Nvbm5lY3RUb10ucHVzaCh0aGlzLmNoaXBMaXN0RHJhZ0FuZERyb3BJdGVtcyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZXVpQ2hpcHNDb250ZW50LmNoYW5nZXMucGlwZShzdGFydFdpdGgodHJ1ZSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmV1aUNoaXBzQ29udGVudC50b0FycmF5KCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmV1aUNoaXBzQ29udGVudC50b0FycmF5KCkubWFwKChjaGlwKSA9PiBPYmplY3QuYXNzaWduKGNoaXAsIHsgZXVpSW50ZXJuYWxJZDogdGhpcy5nZW5lcmF0ZUlkKCkgfSkpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDaGlwc1NvcnRlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoaXBzID0gdGhpcy5vcmRlckl0ZW1zKHRoaXMuY2hpcHMsIHRoaXMuY2hpcHNTb3J0T3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpQ2hpcExpc3REcmFnU2VydmljZS5yZXNldENvbm5lY3RvcigpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlVGFncygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc01heFZpc2libGVDaGlwc09wZW5lZCA9ICF0aGlzLmlzTWF4VmlzaWJsZUNoaXBzT3BlbmVkO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBnZXRDaGlwQ29udGVudChldWlDaGlwOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZXVpQ2hpcC5jaGlwTGFiZWwgPyB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChldWlDaGlwLmNoaXBMYWJlbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCkgOiBldWlDaGlwLmxhYmVsO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBnZXRDaGlwTGFiZWwoZXVpQ2hpcDogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGV1aUNoaXAuY2hpcExhYmVsID8gZXVpQ2hpcC5jaGlwTGFiZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA6IGV1aUNoaXAubGFiZWw7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGdldENoaXBJY29uQmVmb3JlKGV1aUNoaXA6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZXVpQ2hpcC5pY29uQmVmb3JlO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBnZXRDaGlwSWNvbkFmdGVyKGV1aUNoaXA6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZXVpQ2hpcC5pY29uQWZ0ZXI7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIG9uUmVtb3ZlKHJlbW92ZWQ6IEV1aUNoaXBDb21wb25lbnQgfCBFdWlDaGlwIHwgeyBjaGlwOiBFdWlDaGlwQ29tcG9uZW50IHwgRXVpQ2hpcDsgZXZlbnQ/OiBFdmVudCB9IHwgYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNoaXBzID0gdGhpcy5ldWlDaGlwc0NvbnRlbnQudG9BcnJheSgpLmxlbmd0aCA+IDAgPyB0aGlzLmNoaXBzLm1hcCgoYykgPT4gYy5kYXRhKSA6IHRoaXMuY2hpcHM7XG4gICAgICAgIGNvbnN0IHJlbW92ZWRDaGlwID0gcmVtb3ZlZCBhcyB7IGNoaXA6IEV1aUNoaXA7IGV2ZW50OiBFdmVudCB9O1xuICAgICAgICBsZXQgaW5kZXggPSByZW1vdmVkQ2hpcCBpbnN0YW5jZW9mIEV1aUNoaXAgPyBjaGlwcy5pbmRleE9mKHJlbW92ZWRDaGlwKSA6IGNoaXBzLmluZGV4T2YocmVtb3ZlZENoaXAuY2hpcCk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSAmJiByZW1vdmVkLmlkKSB7XG4gICAgICAgICAgICBpbmRleCA9IGNoaXBzLm1hcCgoY2hpcCkgPT4gY2hpcC5pZCkuaW5kZXhPZihyZW1vdmVkLmlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hpcHMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgICB0aGlzLmNoaXBSZW1vdmUuZW1pdCh7XG4gICAgICAgICAgICBjaGlwczogdGhpcy5ldWlDaGlwc0NvbnRlbnQudG9BcnJheSgpLmxlbmd0aCA+IDAgPyB0aGlzLmNoaXBzLm1hcCgoYykgPT4gYy5kYXRhKSA6IHRoaXMuY2hpcHMsXG4gICAgICAgICAgICByZW1vdmVkOiByZW1vdmVkQ2hpcCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHJhZ0VudGVyKGV2ZW50OiBDZGtEcmFnRW50ZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZHJvcExpc3QgPSBldmVudC5jb250YWluZXI7XG4gICAgICAgIGNvbnN0IHBoQ29udGFpbmVyID0gZHJvcExpc3QuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBwaEVsZW1lbnQgPSBwaENvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuY2RrLWRyYWctcGxhY2Vob2xkZXInKTtcbiAgICAgICAgcGhDb250YWluZXIucGFyZW50RWxlbWVudC5pbnNlcnRCZWZvcmUocGhFbGVtZW50LCBwaENvbnRhaW5lcik7XG4gICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNoaXBzLCBldmVudC5pdGVtLmRhdGEuaW5kZXgsIGV2ZW50LmNvbnRhaW5lci5kYXRhLmluZGV4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ecm9wR3JpZChlOiBDZGtEcmFnRHJvcDx7IGNoaXA6IEV1aUNoaXA7IGluZGV4OiBudW1iZXIgfT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlwRHJvcC5lbWl0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdkcm9wcGVkJyxcbiAgICAgICAgICAgICAgICBzb3VyY2VOYW1lOiB0aGlzLmRyYWdBbmREcm9wU291cmNlTmFtZSxcbiAgICAgICAgICAgICAgICBjaGlwOiBlLml0ZW0uZGF0YS5jaGlwLFxuICAgICAgICAgICAgICAgIGNoaXBzOiB0aGlzLmNoaXBzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBkcm9wKGU6IENka0RyYWdEcm9wPHsgY2hpcHM6IGFueVtdIH0+KTogdm9pZCB7XG4gICAgICAgIGlmIChlLnByZXZpb3VzQ29udGFpbmVyID09PSBlLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGUuY29udGFpbmVyLmRhdGFbJ2NoaXBzJ10sIGUucHJldmlvdXNJbmRleCwgZS5jdXJyZW50SW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oXG4gICAgICAgICAgICAgICAgZS5wcmV2aW91c0NvbnRhaW5lci5kYXRhWydjaGlwcyddLFxuICAgICAgICAgICAgICAgIGUuY29udGFpbmVyLmRhdGFbJ2NoaXBzJ10sXG4gICAgICAgICAgICAgICAgZS5wcmV2aW91c0NvbnRhaW5lci5kYXRhWydjaGlwcyddLmluZGV4T2YoZS5pdGVtLmRhdGEpLFxuICAgICAgICAgICAgICAgIGUuY3VycmVudEluZGV4LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgICB0aGlzLmNoaXBzID0gZS5jb250YWluZXIuZGF0YVsnY2hpcHMnXS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoaXBEcm9wLmVtaXQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2Ryb3BwZWQnLFxuICAgICAgICAgICAgICAgIHNvdXJjZU5hbWU6IHRoaXMuZHJhZ0FuZERyb3BTb3VyY2VOYW1lLFxuICAgICAgICAgICAgICAgIGNoaXA6IGUuaXRlbS5kYXRhLFxuICAgICAgICAgICAgICAgIGNoaXBzOiBlLmNvbnRhaW5lci5kYXRhWydjaGlwcyddLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EcmFnU3RhcnRlZChldmVudDogQ2RrRHJhZ1N0YXJ0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpcERyYWdTdGFydC5lbWl0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdGFydGVkJyxcbiAgICAgICAgICAgICAgICBzb3VyY2VOYW1lOiB0aGlzLmRyYWdBbmREcm9wU291cmNlTmFtZSxcbiAgICAgICAgICAgICAgICBjaGlwOiBldmVudFsnc291cmNlJ10uZGF0YSBpbnN0YW5jZW9mIEV1aUNoaXBDb21wb25lbnQgPyBldmVudFsnc291cmNlJ10uZGF0YSA6IGV2ZW50Wydzb3VyY2UnXS5kYXRhLmNoaXAsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHRoaXMuY2hpcHMsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRyYWdSZWxlYXNlZChldmVudDogQ2RrRHJhZ1JlbGVhc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlwRHJhZ1JlbGVhc2UuZW1pdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAncmVsZWFzZWQnLFxuICAgICAgICAgICAgICAgIHNvdXJjZU5hbWU6IHRoaXMuZHJhZ0FuZERyb3BTb3VyY2VOYW1lLFxuICAgICAgICAgICAgICAgIGNoaXA6IGV2ZW50Wydzb3VyY2UnXS5kYXRhIGluc3RhbmNlb2YgRXVpQ2hpcENvbXBvbmVudCA/IGV2ZW50Wydzb3VyY2UnXS5kYXRhIDogZXZlbnRbJ3NvdXJjZSddLmRhdGEuY2hpcCxcbiAgICAgICAgICAgICAgICBjaGlwczogdGhpcy5jaGlwcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlwbGlzdEZvY3VzLmVtaXQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnXycgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgOSk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBvcmRlckl0ZW1zKHRhYjogYW55LCBzb3J0T3JkZXI6IHN0cmluZyk6IGFueVtdIHtcbiAgICAgICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICB0YWIuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFPYmogPSBhLmNoaXBMYWJlbCA/IGEuY2hpcExhYmVsLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQudG9Mb3dlckNhc2UoKSA6IGEubGFiZWwudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGNvbnN0IGJPYmogPSBiLmNoaXBMYWJlbCA/IGIuY2hpcExhYmVsLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQudG9Mb3dlckNhc2UoKSA6IGIubGFiZWwudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgICAgaWYgKHNvcnRPcmRlciA9PT0gJ0FTQycpIHtcbiAgICAgICAgICAgICAgICBpZiAoYU9iaiA8IGJPYmopIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYU9iaiA+IGJPYmopIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoYU9iaiA+IGJPYmopIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYU9iaiA8IGJPYmopIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGFiO1xuICAgIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2V1aUNoaXBMaXN0QXBwZW5kQ29udGVudCcgfSlcbmV4cG9ydCBjbGFzcyBFdWlDaGlwTGlzdEFwcGVuZENvbnRlbnREaXJlY3RpdmUge31cbi8qIGVzbGludC1lbmFibGUgKi9cbiIsIjxkaXYgKm5nSWY9XCIhaXNHcmlkXCIgY2xhc3M9XCJldWktY2hpcC1saXN0LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJldWktY2hpcC1saXN0LXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgcm9sZT1cImxpc3RcIlxuICAgICAgICAgICAgI2NoaXBMaXN0XG4gICAgICAgICAgICAjY2hpcExpc3REcm9wTGlzdFxuICAgICAgICAgICAgI2NoaXBMaXN0RHJhZ0FuZERyb3BJdGVtc1xuICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdE9yaWVudGF0aW9uXT1cImRyb3BMaXN0T3JpZW50YXRpb25cIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWlzQ2hpcHNEcmFnQW5kRHJvcFwiXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cInsgY2hpcHMgfVwiXG4gICAgICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJkcm9wcGFibGVBcmVhXCJcbiAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJldWktY2hpcC1saXN0X19saXN0XCI+XG4gICAgICAgICAgICBAZm9yICggY2hpcCBvZiBjaGlwczsgdHJhY2sgY2hpcDsgbGV0IGkgPSAkaW5kZXg7ICkge1xuICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgIChtYXhWaXNpYmxlQ2hpcHNDb3VudCAmJiBpc01heFZpc2libGVDaGlwc09wZW5lZCkgfHxcbiAgICAgICAgICAgICAgICAgICAgKG1heFZpc2libGVDaGlwc0NvdW50ICYmIG1heFZpc2libGVDaGlwc0NvdW50ID4gaSkgfHxcbiAgICAgICAgICAgICAgICAgICAgIW1heFZpc2libGVDaGlwc0NvdW50XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fY2hpcC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV1aS1jaGlwLS1oaWRkZW5dPVwibWF4VmlzaWJsZUNoaXBzQ291bnQgPiBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJjaGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJvbkRyYWdTdGFydGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNka0RyYWdSZWxlYXNlZCk9XCJvbkRyYWdSZWxlYXNlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWNoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZXVpQ2hpcEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJjaGlwLmRhdGEgPyBjaGlwLmRhdGEgOiBjaGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIidsaXN0aXRlbSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cInt7IGdldENoaXBMYWJlbChjaGlwKSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aUludGVybmFsSWRdPVwiY2hpcC5ldWlJbnRlcm5hbElkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNDaGlwUmVtb3ZhYmxlXT1cImNoaXAuaXNDaGlwUmVtb3ZhYmxlIHx8IChpc0NoaXBzUmVtb3ZhYmxlICYmIGNoaXAuaXNSZW1vdmFibGUpICE9PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aU91dGxpbmVdPVwiY2hpcC5ldWlPdXRsaW5lIHx8IHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZT8uZXVpT3V0bGluZSB8fCBjaGlwLmlzT3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aVZhcmlhbnRdPVwiY2hpcC50eXBlQ2xhc3MgfHwgdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlPy5ldWlWYXJpYW50IHx8IGNoaXAuYmFzZVN0YXRlc0RpcmVjdGl2ZT8uZXVpVmFyaWFudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cImNoaXAuZXVpRGlzYWJsZWQgfHwgdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlPy5ldWlEaXNhYmxlZCB8fCBjaGlwLmlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtldWlUb29sdGlwXT1cImNoaXAudG9vbHRpcE1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJjaGlwLnRvb2x0aXA/LnBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudEFsaWdubWVudF09XCJjaGlwLnRvb2x0aXA/LmNvbnRlbnRBbGlnbm1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgKm5nSWY9XCJjaGlwLmljb25TdmdOYW1lXCIgW2ljb25dPVwiY2hpcC5pY29uU3ZnTmFtZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpcC5pY29uQ2xhc3NcIiBjbGFzcz1cInt7IGNoaXAuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fY2hpcC1jb250ZW50XCIgKm5nSWY9XCIhY2hpcHNMYWJlbFRydW5jYXRlQ291bnRcIiBbaW5uZXJIVE1MXT1cImdldENoaXBDb250ZW50KGNoaXApXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpcHNMYWJlbFRydW5jYXRlQ291bnRcIiB0aXRsZT1cInt7IGdldENoaXBMYWJlbChjaGlwKSB9fVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENoaXBMYWJlbChjaGlwKSB8IGV1aVRydW5jYXRlOiBjaGlwc0xhYmVsVHJ1bmNhdGVDb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImV1aUNoaXBMaXN0QXBwZW5kQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZGl0aW9uYWxDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIFxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJpc0dyaWRcIiBjbGFzcz1cImV1aS1jaGlwLWxpc3QtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImV1aS1jaGlwLWxpc3Qtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fZ3JvdXBcIiBjZGtEcm9wTGlzdEdyb3VwPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICAjY2hpcExpc3RcbiAgICAgICAgICAgICAgICAjY2hpcExpc3REcm9wTGlzdFxuICAgICAgICAgICAgICAgICNjaGlwTGlzdERyYWdBbmREcm9wSXRlbXNcbiAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlwIG9mIGNoaXBzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhaXNDaGlwc0RyYWdBbmREcm9wXCJcbiAgICAgICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cInsgY2hpcDogY2hpcCwgaW5kZXg6IGkgfVwiXG4gICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3BHcmlkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fY3VzdG9tXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoIGNoaXAgb2YgY2hpcHM7IHRyYWNrIGNoaXA7IGxldCBpID0gJGluZGV4OyApIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIChtYXhWaXNpYmxlQ2hpcHNDb3VudCAmJiBpc01heFZpc2libGVDaGlwc09wZW5lZCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIChtYXhWaXNpYmxlQ2hpcHNDb3VudCAmJiBtYXhWaXNpYmxlQ2hpcHNDb3VudCA+IGkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAhbWF4VmlzaWJsZUNoaXBzQ291bnRcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fY2hpcC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW2Nka0RyYWdEYXRhXT1cInsgY2hpcDogY2hpcCwgaW5kZXg6IGkgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwib25EcmFnU3RhcnRlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjZGtEcmFnUmVsZWFzZWQpPVwib25EcmFnUmVsZWFzZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2RrRHJhZ0VudGVyZWQpPVwib25EcmFnRW50ZXIoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1jaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI2V1aUNoaXBJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiY2hpcC5kYXRhID8gY2hpcC5kYXRhIDogY2hpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNoaXAuaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiJ2xpc3RpdGVtJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwie3sgZ2V0Q2hpcExhYmVsKGNoaXApIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXVpSW50ZXJuYWxJZF09XCJjaGlwLmV1aUludGVybmFsSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0NoaXBSZW1vdmFibGVdPVwiY2hpcC5pc0NoaXBSZW1vdmFibGUgfHwgKGlzQ2hpcHNSZW1vdmFibGUgJiYgY2hpcC5pc1JlbW92YWJsZSkgIT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXVpT3V0bGluZV09XCJjaGlwLmV1aU91dGxpbmUgfHwgdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlPy5ldWlPdXRsaW5lIHx8IGNoaXAuaXNPdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXVpVmFyaWFudF09XCJjaGlwLnR5cGVDbGFzcyB8fCB0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmU/LmV1aVZhcmlhbnQgfHwgY2hpcC5iYXNlU3RhdGVzRGlyZWN0aXZlPy5ldWlWYXJpYW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwiY2hpcC5ldWlEaXNhYmxlZCB8fCB0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmU/LmV1aURpc2FibGVkIHx8IGNoaXAuaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aVRvb2x0aXBdPVwiY2hpcC50b29sdGlwTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cImNoaXAudG9vbHRpcD8ucG9zaXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50QWxpZ25tZW50XT1cImNoaXAudG9vbHRpcD8uY29udGVudEFsaWdubWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlbW92ZSk9XCJvblJlbW92ZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyAqbmdJZj1cImNoaXAuaWNvblN2Z05hbWVcIiBbaWNvbl09XCJjaGlwLmljb25TdmdOYW1lXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhY2hpcHNMYWJlbFRydW5jYXRlQ291bnRcIiBbaW5uZXJIVE1MXT1cImdldENoaXBDb250ZW50KGNoaXApXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpcHNMYWJlbFRydW5jYXRlQ291bnRcIiB0aXRsZT1cInt7IGdldENoaXBMYWJlbChjaGlwKSB9fVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENoaXBMYWJlbChjaGlwKSB8IGV1aVRydW5jYXRlOiBjaGlwc0xhYmVsVHJ1bmNhdGVDb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktY2hpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH0gICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXVpQ2hpcExpc3RBcHBlbmRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkaXRpb25hbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNldWlDaGlwTGlzdEFwcGVuZENvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpQ2hpcExpc3RBcHBlbmRDb250ZW50XCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNhZGRpdGlvbmFsQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWF4VmlzaWJsZUNoaXBzQ291bnQgJiYgY2hpcHMgJiYgY2hpcHMubGVuZ3RoID4gbWF4VmlzaWJsZUNoaXBzQ291bnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1jaGlwLWxpc3RfX2V4cGFuZC1idXR0b24td3JhcHBlclwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpU2Vjb25kYXJ5XG4gICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1jaGlwLWxpc3RfX2V4cGFuZC1idXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVUYWdzKClcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNNYXhWaXNpYmxlQ2hpcHNPcGVuZWRcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJjaGV2cm9uLWJhY2s6c2hhcnBcIiBhcmlhLWxhYmVsPVwiQ29sbGFwc2UgaWNvblwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDxzcGFuIGV1aUxhYmVsICpuZ0lmPVwidG9nZ2xlTGlua0xlc3NMYWJlbFwiPnt7IHRvZ2dsZUxpbmtMZXNzTGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIGV1aVNlY29uZGFyeVxuICAgICAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fZXhwYW5kLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVRhZ3MoKVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNNYXhWaXNpYmxlQ2hpcHNPcGVuZWRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBldWlMYWJlbCAqbmdJZj1cInRvZ2dsZUxpbmtNb3JlTGFiZWxcIj57eyB0b2dnbGVMaW5rTW9yZUxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImNoZXZyb24tZm9yd2FyZDpzaGFycFwiIGFyaWEtbGFiZWw9XCJFeHBhbmQgaWNvblwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWNoaXAtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktY2hpcC1saXN0L2V1aS1jaGlwLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLWNoaXAtbGlzdC9ldWktY2hpcC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsZUFBZSxFQUtmLFlBQVksRUFDWixNQUFNLEVBRU4sU0FBUyxFQUdULFVBQVUsRUFDVixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFFSCxlQUFlLEVBQ2YsV0FBVyxFQUNYLGlCQUFpQixHQUlwQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUEyQjdELE1BQU0sT0FBTyxvQkFBb0I7SUEyQjdCLElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBYUQsWUFDWSxFQUFxQixFQUNyQixzQkFBOEMsRUFDOUMsWUFBMEIsRUFDeEIsbUJBQXdDO1FBSDFDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDeEIs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QUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUdILFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQVNpQyxlQUFlO3NCQUFuRSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDRyxnQkFBZ0I7c0JBQXJFLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNVLHdCQUF3QjtzQkFBckYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ1QsWUFBWTtzQkFBOUQsWUFBWTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQXNPckQsb0JBQW9CO0FBRXBCLE1BQU0sT0FBTyxpQ0FBaUM7OEdBQWpDLGlDQUFpQztrR0FBakMsaUNBQWlDOzsyRkFBakMsaUNBQWlDO2tCQUQ3QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgVmlld0NoaWxkLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBPbkluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPdXRwdXQsXG4gICAgT25EZXN0cm95LFxuICAgIERpcmVjdGl2ZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBFbGVtZW50UmVmLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIENka0RyYWdEcm9wLFxuICAgIG1vdmVJdGVtSW5BcnJheSxcbiAgICBDZGtEcm9wTGlzdCxcbiAgICB0cmFuc2ZlckFycmF5SXRlbSxcbiAgICBDZGtEcmFnU3RhcnQsXG4gICAgQ2RrRHJhZ0VudGVyLFxuICAgIENka0RyYWdSZWxlYXNlLFxufSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuaW1wb3J0IHsgRXVpQ2hpcENvbXBvbmVudCwgRXVpQ2hpcCwgRXVpQ2hpcFRvb2x0aXAgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWNoaXAnO1xuXG5pbXBvcnQgeyBFdWlDaGlwRHJhZ0Ryb3AgfSBmcm9tICcuL21vZGVscy9ldWktY2hpcC1kcmFnLWRyb3AubW9kZWwnO1xuaW1wb3J0IHsgRXVpQ2hpcExpc3REcmFnU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLWNoaXAtbGlzdC1kcmFnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVN0YXRlc0RpcmVjdGl2ZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLWNoaXAtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc2VsZWN0b3I6ICdldWktY2hpcC1saXN0LCBkaXZbZXVpQ2hpcExpc3RdLCB1bFtldWlDaGlwTGlzdF0nLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICAgICAgJ2V1aVByaW1hcnknLFxuICAgICAgICAgICAgICAgICdldWlTZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICdldWlTdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAnZXVpSW5mbycsXG4gICAgICAgICAgICAgICAgJ2V1aVdhcm5pbmcnLFxuICAgICAgICAgICAgICAgICdldWlEYW5nZXInLFxuICAgICAgICAgICAgICAgICdldWlBY2NlbnQnLFxuICAgICAgICAgICAgICAgICdldWlWYXJpYW50JyxcblxuICAgICAgICAgICAgICAgICdldWlPdXRsaW5lJyxcbiAgICAgICAgICAgICAgICAnZXVpRGlzYWJsZWQnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlDaGlwTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBPbkluaXQge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgY2hpcHM6IGFueVtdO1xuICAgIEBJbnB1dCgpIHRvZ2dsZUxpbmtNb3JlTGFiZWw6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgdG9nZ2xlTGlua0xlc3NMYWJlbDogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBjaGlwc1NvcnRPcmRlcjogJ0FTQycgfCAnREVTQycgPSAnQVNDJztcbiAgICBASW5wdXQoKSBkcmFnQW5kRHJvcFNvdXJjZU5hbWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBkcmFnQW5kRHJvcENvbm5lY3RlZFRvOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgYXJpYUxhYmVsID0gJ2VVSSBDaGlwIExpc3QnO1xuICAgIEBJbnB1dCgpIGRyb3BMaXN0T3JpZW50YXRpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNTcXVhcmVkID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQ2hpcHNSZW1vdmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNNYXhWaXNpYmxlQ2hpcHNPcGVuZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDaGlwc1NvcnRlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NoaXBzRHJhZ0FuZERyb3AgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNHcmlkID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgbWF4VmlzaWJsZUNoaXBzQ291bnQgPSBudWxsO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGNoaXBzTGFiZWxUcnVuY2F0ZUNvdW50ID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKSBjaGlwc0luaXQgPSBuZXcgRXZlbnRFbWl0dGVyPENka0Ryb3BMaXN0PigpO1xuICAgIEBPdXRwdXQoKSBjaGlwUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGNoaXBzOiBFdWlDaGlwW107IHJlbW92ZWQ6IEV1aUNoaXAgfCB7IGNoaXA6IEV1aUNoaXA7IGV2ZW50OiBFdmVudCB9IH0+KCk7XG4gICAgQE91dHB1dCgpIGNoaXBEcmFnU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aUNoaXBEcmFnRHJvcD4oKTtcbiAgICBAT3V0cHV0KCkgY2hpcERyYWdSZWxlYXNlID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlDaGlwRHJhZ0Ryb3A+KCk7XG4gICAgQE91dHB1dCgpIGNoaXBEcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlDaGlwRHJhZ0Ryb3A+KCk7XG4gICAgQE91dHB1dCgpIGNoaXBsaXN0Rm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmdldENzc0NsYXNzZXMoJ2V1aS1jaGlwLWxpc3QnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZHJvcHBhYmxlQXJlYTogKENka0Ryb3BMaXN0IHwgc3RyaW5nKVtdO1xuICAgIHB1YmxpYyBjb25uZWN0Q29tcG9uZW50OiBDZGtEcm9wTGlzdFtdID0gW107XG4gICAgcHVibGljIGUyZUF0dHIgPSAnZXVpLWNoaXAtbGlzdCc7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRXVpQ2hpcENvbXBvbmVudCkpIGV1aUNoaXBzQ29udGVudDogUXVlcnlMaXN0PEV1aUNoaXBDb21wb25lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ2NoaXBMaXN0RHJvcExpc3QnLCB7IHJlYWQ6IENka0Ryb3BMaXN0IH0pIGNoaXBMaXN0RHJvcExpc3Q6IENka0Ryb3BMaXN0O1xuICAgIEBWaWV3Q2hpbGQoJ2NoaXBMaXN0RHJhZ0FuZERyb3BJdGVtcycsIHsgcmVhZDogQ2RrRHJvcExpc3QgfSkgY2hpcExpc3REcmFnQW5kRHJvcEl0ZW1zOiBDZGtEcm9wTGlzdDtcbiAgICBAVmlld0NoaWxkcmVuKCdldWlDaGlwSXRlbScsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBldWlDaGlwSXRlbXM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGV1aUNoaXBMaXN0RHJhZ1NlcnZpY2U6IEV1aUNoaXBMaXN0RHJhZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByb3RlY3RlZCBiYXNlU3RhdGVzRGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGMuY2hpcHMgJiYgdGhpcy5pc0NoaXBzU29ydGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNoaXBzID0gdGhpcy5vcmRlckl0ZW1zKHRoaXMuY2hpcHMsIHRoaXMuY2hpcHNTb3J0T3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzPy5tYXAoKGNoaXApID0+ICh7XG4gICAgICAgICAgICAuLi5jaGlwLFxuICAgICAgICAgICAgdG9vbHRpcDogbmV3IEV1aUNoaXBUb29sdGlwKGNoaXAudG9vbHRpcCksXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzPy5tYXAoKGNoaXApID0+ICh7XG4gICAgICAgICAgICAuLi5jaGlwLFxuICAgICAgICAgICAgdG9vbHRpcDogbmV3IEV1aUNoaXBUb29sdGlwKGNoaXAudG9vbHRpcCksXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpcHNJbml0LmVtaXQodGhpcy5jaGlwTGlzdERyYWdBbmREcm9wSXRlbXMpO1xuICAgICAgICBpZiAodGhpcy5pc0NoaXBzU29ydGVkICYmIHRoaXMuY2hpcHMpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLm9yZGVySXRlbXModGhpcy5jaGlwcywgdGhpcy5jaGlwc1NvcnRPcmRlcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kcmFnQW5kRHJvcFNvdXJjZU5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMuZXVpQ2hpcExpc3REcmFnU2VydmljZS5zZXRDb21wb25lbnRDb25uZWN0b3IodGhpcy5kcmFnQW5kRHJvcFNvdXJjZU5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZHJhZ0FuZERyb3BDb25uZWN0ZWRUbykge1xuICAgICAgICAgICAgdGhpcy5ldWlDaGlwTGlzdERyYWdTZXJ2aWNlLnNldERyb3BwYWJsZUFyZWEodGhpcy5jaGlwTGlzdERyb3BMaXN0LCB0aGlzLmRyYWdBbmREcm9wQ29ubmVjdGVkVG8pO1xuICAgICAgICAgICAgdGhpcy5kcmFnQW5kRHJvcENvbm5lY3RlZFRvLmZvckVhY2goKGNvbm5lY3RUbykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdENvbXBvbmVudCA9IHRoaXMuZXVpQ2hpcExpc3REcmFnU2VydmljZS5jb21wb25lbnRDb25uZWN0b3JbY29ubmVjdFRvXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRyb3BwYWJsZUFyZWEgPSB0aGlzLmV1aUNoaXBMaXN0RHJhZ1NlcnZpY2UuZHJvcHBhYmxlQXJlYVt0aGlzLmRyYWdBbmREcm9wU291cmNlTmFtZV07XG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5ldWlDaGlwTGlzdERyYWdTZXJ2aWNlLmNvbXBvbmVudENvbm5lY3RvcikubWFwKChjb25uZWN0VG8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXVpQ2hpcExpc3REcmFnU2VydmljZS5jb21wb25lbnRDb25uZWN0b3JbY29ubmVjdFRvXS5wdXNoKHRoaXMuY2hpcExpc3REcmFnQW5kRHJvcEl0ZW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ldWlDaGlwc0NvbnRlbnQuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0cnVlKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZXVpQ2hpcHNDb250ZW50LnRvQXJyYXkoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGlwcyA9IHRoaXMuZXVpQ2hpcHNDb250ZW50LnRvQXJyYXkoKS5tYXAoKGNoaXApID0+IE9iamVjdC5hc3NpZ24oY2hpcCwgeyBldWlJbnRlcm5hbElkOiB0aGlzLmdlbmVyYXRlSWQoKSB9KSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0NoaXBzU29ydGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLm9yZGVySXRlbXModGhpcy5jaGlwcywgdGhpcy5jaGlwc1NvcnRPcmRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlDaGlwTGlzdERyYWdTZXJ2aWNlLnJlc2V0Q29ubmVjdG9yKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVUYWdzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTWF4VmlzaWJsZUNoaXBzT3BlbmVkID0gIXRoaXMuaXNNYXhWaXNpYmxlQ2hpcHNPcGVuZWQ7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGdldENoaXBDb250ZW50KGV1aUNoaXA6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBldWlDaGlwLmNoaXBMYWJlbCA/IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGV1aUNoaXAuY2hpcExhYmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MKSA6IGV1aUNoaXAubGFiZWw7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGdldENoaXBMYWJlbChldWlDaGlwOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZXVpQ2hpcC5jaGlwTGFiZWwgPyBldWlDaGlwLmNoaXBMYWJlbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50IDogZXVpQ2hpcC5sYWJlbDtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwdWJsaWMgZ2V0Q2hpcEljb25CZWZvcmUoZXVpQ2hpcDogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBldWlDaGlwLmljb25CZWZvcmU7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGdldENoaXBJY29uQWZ0ZXIoZXVpQ2hpcDogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBldWlDaGlwLmljb25BZnRlcjtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwdWJsaWMgb25SZW1vdmUocmVtb3ZlZDogRXVpQ2hpcENvbXBvbmVudCB8IEV1aUNoaXAgfCB7IGNoaXA6IEV1aUNoaXBDb21wb25lbnQgfCBFdWlDaGlwOyBldmVudD86IEV2ZW50IH0gfCBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2hpcHMgPSB0aGlzLmV1aUNoaXBzQ29udGVudC50b0FycmF5KCkubGVuZ3RoID4gMCA/IHRoaXMuY2hpcHMubWFwKChjKSA9PiBjLmRhdGEpIDogdGhpcy5jaGlwcztcbiAgICAgICAgY29uc3QgcmVtb3ZlZENoaXAgPSByZW1vdmVkIGFzIHsgY2hpcDogRXVpQ2hpcDsgZXZlbnQ6IEV2ZW50IH07XG4gICAgICAgIGxldCBpbmRleCA9IHJlbW92ZWRDaGlwIGluc3RhbmNlb2YgRXVpQ2hpcCA/IGNoaXBzLmluZGV4T2YocmVtb3ZlZENoaXApIDogY2hpcHMuaW5kZXhPZihyZW1vdmVkQ2hpcC5jaGlwKTtcblxuICAgICAgICBpZiAoaW5kZXggPT09IC0xICYmIHJlbW92ZWQuaWQpIHtcbiAgICAgICAgICAgIGluZGV4ID0gY2hpcHMubWFwKChjaGlwKSA9PiBjaGlwLmlkKS5pbmRleE9mKHJlbW92ZWQuaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGlwcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIHRoaXMuY2hpcFJlbW92ZS5lbWl0KHtcbiAgICAgICAgICAgIGNoaXBzOiB0aGlzLmV1aUNoaXBzQ29udGVudC50b0FycmF5KCkubGVuZ3RoID4gMCA/IHRoaXMuY2hpcHMubWFwKChjKSA9PiBjLmRhdGEpIDogdGhpcy5jaGlwcyxcbiAgICAgICAgICAgIHJlbW92ZWQ6IHJlbW92ZWRDaGlwLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EcmFnRW50ZXIoZXZlbnQ6IENka0RyYWdFbnRlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBkcm9wTGlzdCA9IGV2ZW50LmNvbnRhaW5lcjtcbiAgICAgICAgY29uc3QgcGhDb250YWluZXIgPSBkcm9wTGlzdC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHBoRWxlbWVudCA9IHBoQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5jZGstZHJhZy1wbGFjZWhvbGRlcicpO1xuICAgICAgICBwaENvbnRhaW5lci5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShwaEVsZW1lbnQsIHBoQ29udGFpbmVyKTtcbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuY2hpcHMsIGV2ZW50Lml0ZW0uZGF0YS5pbmRleCwgZXZlbnQuY29udGFpbmVyLmRhdGEuaW5kZXgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRyb3BHcmlkKGU6IENka0RyYWdEcm9wPHsgY2hpcDogRXVpQ2hpcDsgaW5kZXg6IG51bWJlciB9Pik6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaXBEcm9wLmVtaXQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2Ryb3BwZWQnLFxuICAgICAgICAgICAgICAgIHNvdXJjZU5hbWU6IHRoaXMuZHJhZ0FuZERyb3BTb3VyY2VOYW1lLFxuICAgICAgICAgICAgICAgIGNoaXA6IGUuaXRlbS5kYXRhLmNoaXAsXG4gICAgICAgICAgICAgICAgY2hpcHM6IHRoaXMuY2hpcHMsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGRyb3AoZTogQ2RrRHJhZ0Ryb3A8eyBjaGlwczogYW55W10gfT4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGUucHJldmlvdXNDb250YWluZXIgPT09IGUuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkoZS5jb250YWluZXIuZGF0YVsnY2hpcHMnXSwgZS5wcmV2aW91c0luZGV4LCBlLmN1cnJlbnRJbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFycmF5SXRlbShcbiAgICAgICAgICAgICAgICBlLnByZXZpb3VzQ29udGFpbmVyLmRhdGFbJ2NoaXBzJ10sXG4gICAgICAgICAgICAgICAgZS5jb250YWluZXIuZGF0YVsnY2hpcHMnXSxcbiAgICAgICAgICAgICAgICBlLnByZXZpb3VzQ29udGFpbmVyLmRhdGFbJ2NoaXBzJ10uaW5kZXhPZihlLml0ZW0uZGF0YSksXG4gICAgICAgICAgICAgICAgZS5jdXJyZW50SW5kZXgsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgIHRoaXMuY2hpcHMgPSBlLmNvbnRhaW5lci5kYXRhWydjaGlwcyddLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hpcERyb3AuZW1pdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZHJvcHBlZCcsXG4gICAgICAgICAgICAgICAgc291cmNlTmFtZTogdGhpcy5kcmFnQW5kRHJvcFNvdXJjZU5hbWUsXG4gICAgICAgICAgICAgICAgY2hpcDogZS5pdGVtLmRhdGEsXG4gICAgICAgICAgICAgICAgY2hpcHM6IGUuY29udGFpbmVyLmRhdGFbJ2NoaXBzJ10sXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRyYWdTdGFydGVkKGV2ZW50OiBDZGtEcmFnU3RhcnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlwRHJhZ1N0YXJ0LmVtaXQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0YXJ0ZWQnLFxuICAgICAgICAgICAgICAgIHNvdXJjZU5hbWU6IHRoaXMuZHJhZ0FuZERyb3BTb3VyY2VOYW1lLFxuICAgICAgICAgICAgICAgIGNoaXA6IGV2ZW50Wydzb3VyY2UnXS5kYXRhIGluc3RhbmNlb2YgRXVpQ2hpcENvbXBvbmVudCA/IGV2ZW50Wydzb3VyY2UnXS5kYXRhIDogZXZlbnRbJ3NvdXJjZSddLmRhdGEuY2hpcCxcbiAgICAgICAgICAgICAgICBjaGlwczogdGhpcy5jaGlwcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHJhZ1JlbGVhc2VkKGV2ZW50OiBDZGtEcmFnUmVsZWFzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaXBEcmFnUmVsZWFzZS5lbWl0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdyZWxlYXNlZCcsXG4gICAgICAgICAgICAgICAgc291cmNlTmFtZTogdGhpcy5kcmFnQW5kRHJvcFNvdXJjZU5hbWUsXG4gICAgICAgICAgICAgICAgY2hpcDogZXZlbnRbJ3NvdXJjZSddLmRhdGEgaW5zdGFuY2VvZiBFdWlDaGlwQ29tcG9uZW50ID8gZXZlbnRbJ3NvdXJjZSddLmRhdGEgOiBldmVudFsnc291cmNlJ10uZGF0YS5jaGlwLFxuICAgICAgICAgICAgICAgIGNoaXBzOiB0aGlzLmNoaXBzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaXBsaXN0Rm9jdXMuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdlbmVyYXRlSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdfJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIG9yZGVySXRlbXModGFiOiBhbnksIHNvcnRPcmRlcjogc3RyaW5nKTogYW55W10ge1xuICAgICAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHRhYi5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYU9iaiA9IGEuY2hpcExhYmVsID8gYS5jaGlwTGFiZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50b0xvd2VyQ2FzZSgpIDogYS5sYWJlbC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgY29uc3QgYk9iaiA9IGIuY2hpcExhYmVsID8gYi5jaGlwTGFiZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50b0xvd2VyQ2FzZSgpIDogYi5sYWJlbC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICBpZiAoc29ydE9yZGVyID09PSAnQVNDJykge1xuICAgICAgICAgICAgICAgIGlmIChhT2JqIDwgYk9iaikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhT2JqID4gYk9iaikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChhT2JqID4gYk9iaikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhT2JqIDwgYk9iaikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0YWI7XG4gICAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZXVpQ2hpcExpc3RBcHBlbmRDb250ZW50JyB9KVxuZXhwb3J0IGNsYXNzIEV1aUNoaXBMaXN0QXBwZW5kQ29udGVudERpcmVjdGl2ZSB7fVxuLyogZXNsaW50LWVuYWJsZSAqL1xuIiwiPGRpdiBjbGFzcz1cImV1aS1jaGlwLWxpc3QtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImV1aS1jaGlwLWxpc3Qtd3JhcHBlclwiPlxuXG4gICAgQGlmICghaXNHcmlkKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgICNjaGlwTGlzdFxuICAgICAgICAgICAgI2NoaXBMaXN0RHJvcExpc3RcbiAgICAgICAgICAgICNjaGlwTGlzdERyYWdBbmREcm9wSXRlbXNcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICAgICBbY2RrRHJvcExpc3RPcmllbnRhdGlvbl09XCJkcm9wTGlzdE9yaWVudGF0aW9uXCJcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFpc0NoaXBzRHJhZ0FuZERyb3BcIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJ7IGNoaXBzIH1cIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiZHJvcHBhYmxlQXJlYVwiXG4gICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fbGlzdFwiPlxuXG4gICAgICAgICAgICBAZm9yICggY2hpcCBvZiBjaGlwczsgdHJhY2sgY2hpcDsgbGV0IGkgPSAkaW5kZXg7ICkge1xuICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgIChtYXhWaXNpYmxlQ2hpcHNDb3VudCAmJiBpc01heFZpc2libGVDaGlwc09wZW5lZCkgfHxcbiAgICAgICAgICAgICAgICAgICAgKG1heFZpc2libGVDaGlwc0NvdW50ICYmIG1heFZpc2libGVDaGlwc0NvdW50ID4gaSkgfHxcbiAgICAgICAgICAgICAgICAgICAgIW1heFZpc2libGVDaGlwc0NvdW50XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fY2hpcC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV1aS1jaGlwLS1oaWRkZW5dPVwibWF4VmlzaWJsZUNoaXBzQ291bnQgPiBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJjaGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJvbkRyYWdTdGFydGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNka0RyYWdSZWxlYXNlZCk9XCJvbkRyYWdSZWxlYXNlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWNoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZXVpQ2hpcEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJjaGlwLmRhdGEgPyBjaGlwLmRhdGEgOiBjaGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIidsaXN0aXRlbSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cInt7IGdldENoaXBMYWJlbChjaGlwKSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aUludGVybmFsSWRdPVwiY2hpcC5ldWlJbnRlcm5hbElkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNDaGlwUmVtb3ZhYmxlXT1cImNoaXAuaXNDaGlwUmVtb3ZhYmxlIHx8IChpc0NoaXBzUmVtb3ZhYmxlICYmIGNoaXAuaXNSZW1vdmFibGUpICE9PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aU91dGxpbmVdPVwiY2hpcC5ldWlPdXRsaW5lIHx8IHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZT8uZXVpT3V0bGluZSB8fCBjaGlwLmlzT3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aVZhcmlhbnRdPVwiY2hpcC50eXBlQ2xhc3MgfHwgdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlPy5ldWlWYXJpYW50IHx8IGNoaXAuYmFzZVN0YXRlc0RpcmVjdGl2ZT8uZXVpVmFyaWFudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cImNoaXAuZXVpRGlzYWJsZWQgfHwgdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlPy5ldWlEaXNhYmxlZCB8fCBjaGlwLmlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtldWlUb29sdGlwXT1cImNoaXAudG9vbHRpcE1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJjaGlwLnRvb2x0aXA/LnBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudEFsaWdubWVudF09XCJjaGlwLnRvb2x0aXA/LmNvbnRlbnRBbGlnbm1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoJGV2ZW50KVwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjaGlwLmljb25TdmdOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgW2ljb25dPVwiY2hpcC5pY29uU3ZnTmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY2hpcC5pY29uQ2xhc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ7eyBjaGlwLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjaGlwc0xhYmVsVHJ1bmNhdGVDb3VudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB0aXRsZT1cInt7IGdldENoaXBMYWJlbChjaGlwKSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0Q2hpcExhYmVsKGNoaXApIHwgZXVpVHJ1bmNhdGU6IGNoaXBzTGFiZWxUcnVuY2F0ZUNvdW50IH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktY2hpcC1saXN0X19jaGlwLWNvbnRlbnRcIiBbaW5uZXJIVE1MXT1cImdldENoaXBDb250ZW50KGNoaXApXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1jaGlwPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXVpQ2hpcExpc3RBcHBlbmRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkaXRpb25hbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICB9IEBlbHNlIHsgICAvLyBpc0dyaWRcblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fZ3JvdXBcIiBjZGtEcm9wTGlzdEdyb3VwPlxuICAgICAgICAgICAgQGZvciAoIGNoaXAgb2YgY2hpcHM7IHRyYWNrIGNoaXA7IGxldCBpID0gJGluZGV4OyApIHtcbiAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgKG1heFZpc2libGVDaGlwc0NvdW50ICYmIGlzTWF4VmlzaWJsZUNoaXBzT3BlbmVkKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKG1heFZpc2libGVDaGlwc0NvdW50ICYmIG1heFZpc2libGVDaGlwc0NvdW50ID4gaSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICFtYXhWaXNpYmxlQ2hpcHNDb3VudFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwibGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjY2hpcExpc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICNjaGlwTGlzdERyb3BMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAjY2hpcExpc3REcmFnQW5kRHJvcEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWlzQ2hpcHNEcmFnQW5kRHJvcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cInsgY2hpcDogY2hpcCwgaW5kZXg6IGkgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wR3JpZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fY3VzdG9tXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1jaGlwLWxpc3RfX2NoaXAtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwieyBjaGlwOiBjaGlwLCBpbmRleDogaSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNka0RyYWdTdGFydGVkKT1cIm9uRHJhZ1N0YXJ0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjZGtEcmFnUmVsZWFzZWQpPVwib25EcmFnUmVsZWFzZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjZGtEcmFnRW50ZXJlZCk9XCJvbkRyYWdFbnRlcigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktY2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2V1aUNoaXBJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJjaGlwLmRhdGEgPyBjaGlwLmRhdGEgOiBjaGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjaGlwLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiJ2xpc3RpdGVtJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWw9XCJ7eyBnZXRDaGlwTGFiZWwoY2hpcCkgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aUludGVybmFsSWRdPVwiY2hpcC5ldWlJbnRlcm5hbElkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0NoaXBSZW1vdmFibGVdPVwiY2hpcC5pc0NoaXBSZW1vdmFibGUgfHwgKGlzQ2hpcHNSZW1vdmFibGUgJiYgY2hpcC5pc1JlbW92YWJsZSkgIT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtldWlPdXRsaW5lXT1cImNoaXAuZXVpT3V0bGluZSB8fCB0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmU/LmV1aU91dGxpbmUgfHwgY2hpcC5pc091dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V1aVZhcmlhbnRdPVwiY2hpcC50eXBlQ2xhc3MgfHwgdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlPy5ldWlWYXJpYW50IHx8IGNoaXAuYmFzZVN0YXRlc0RpcmVjdGl2ZT8uZXVpVmFyaWFudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwiY2hpcC5ldWlEaXNhYmxlZCB8fCB0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmU/LmV1aURpc2FibGVkIHx8IGNoaXAuaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXVpVG9vbHRpcF09XCJjaGlwLnRvb2x0aXBNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJjaGlwLnRvb2x0aXA/LnBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50QWxpZ25tZW50XT1cImNoaXAudG9vbHRpcD8uY29udGVudEFsaWdubWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjaGlwLmljb25TdmdOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBbaWNvbl09XCJjaGlwLmljb25TdmdOYW1lXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY2hpcHNMYWJlbFRydW5jYXRlQ291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB0aXRsZT1cInt7IGdldENoaXBMYWJlbChjaGlwKSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRDaGlwTGFiZWwoY2hpcCkgfCBldWlUcnVuY2F0ZTogY2hpcHNMYWJlbFRydW5jYXRlQ291bnQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS1jaGlwLWxpc3RfX2NoaXAtY29udGVudFwiIFtpbm5lckhUTUxdPVwiZ2V0Q2hpcENvbnRlbnQoY2hpcClcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWNoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXVpQ2hpcExpc3RBcHBlbmRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhZGRpdGlvbmFsQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZXVpQ2hpcExpc3RBcHBlbmRDb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aUNoaXBMaXN0QXBwZW5kQ29udGVudFwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYWRkaXRpb25hbENvbnRlbnQ+XG4gICAgQGlmIChtYXhWaXNpYmxlQ2hpcHNDb3VudCAmJiBjaGlwcyAmJiBjaGlwcy5sZW5ndGggPiBtYXhWaXNpYmxlQ2hpcHNDb3VudCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fZXhwYW5kLWJ1dHRvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICBldWlTZWNvbmRhcnlcbiAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWNoaXAtbGlzdF9fZXhwYW5kLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVRhZ3MoKVwiPlxuXG4gICAgICAgICAgICAgICAgQGlmIChpc01heFZpc2libGVDaGlwc09wZW5lZCkge1xuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJjaGV2cm9uLWJhY2s6c2hhcnBcIiBhcmlhLWxhYmVsPVwiQ29sbGFwc2UgaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAodG9nZ2xlTGlua0xlc3NMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgdG9nZ2xlTGlua0xlc3NMYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAodG9nZ2xlTGlua01vcmVMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgdG9nZ2xlTGlua01vcmVMYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImNoZXZyb24tZm9yd2FyZDpzaGFycFwiIGFyaWEtbGFiZWw9XCJFeHBhbmQgaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -9,11 +9,11 @@ export class EuiInputGroupComponent {
|
|
9
9
|
return 'eui-input-group';
|
10
10
|
}
|
11
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: EuiInputGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: EuiInputGroupComponent, selector: "div[euiInputGroup]", inputs: { e2eAttr: "e2eAttr" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.cssClasses", "attr.type": "this.type" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".eui-input-group{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:var(--eui-s-m);position:relative;width:100%}.eui-input-group>.eui-label{align-items:center;display:inline-flex}.eui-input-group>.eui-label:first-child{font:var(--eui-f-m-bold);margin-bottom:var(--eui-s-
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: EuiInputGroupComponent, selector: "div[euiInputGroup]", inputs: { e2eAttr: "e2eAttr" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.cssClasses", "attr.type": "this.type" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".eui-input-group{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:var(--eui-s-m);position:relative;width:100%}.eui-input-group>.eui-label{align-items:center;display:inline-flex}.eui-input-group>.eui-label:first-child{font:var(--eui-f-m-bold);margin-bottom:var(--eui-s-2xs);min-height:var(--eui-s-l)}.eui-input-group:not(.row) .eui-input-radio+label,.eui-input-group:not(.row) .eui-input-checkbox+label{left:calc(var(--eui-s-2xl));margin-bottom:calc(-1 * var(--eui-s-2xs));position:relative;vertical-align:middle;white-space:inherit;bottom:var(--eui-s-xl)}.eui-input-group:not(.row) div{align-items:center!important}.eui-input-group:not(.row) div .eui-input-checkbox+label{margin-bottom:0;padding-right:0;top:0;left:0}.eui-input-group:not(.row) div .eui-input-radio+label{padding-right:0;top:0;left:0}.eui-input-group.row{align-items:center;flex-direction:row}.eui-input-group.row .eui-label{align-items:center;display:flex;justify-content:flex-end;margin-bottom:0!important;margin-top:0;padding-right:0;text-align:right;font:var(--eui-f-m);white-space:normal}.eui-input-group.row .eui-label:first-child{font:var(--eui-f-m-bold)}@media screen and (max-width: 767px){.eui-input-group.row{flex-direction:column}.eui-input-group.row label,.eui-input-group.row .eui-label{justify-content:flex-start;text-align:left}}.eui-input-group-addon{align-items:stretch;display:flex;position:relative;width:100%}.eui-input-group-addon-item{align-items:center;align-self:stretch;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-none);box-shadow:none;color:var(--eui-c-neutral);display:flex;flex-shrink:0;font:var(--eui-f-m-compact);height:auto;justify-content:center;min-height:var(--eui-s-3xl);min-width:var(--eui-s-3xl);padding:0 var(--eui-s-xs)}.eui-input-group-addon>:not(:first-child){border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none)}.eui-input-group-addon>:not(:last-child){border-bottom-left-radius:var(--eui-br-m);border-top-left-radius:var(--eui-br-m);border-bottom-right-radius:var(--eui-br-none);border-top-right-radius:var(--eui-br-none)}.eui-input-group-addon>:not(:first-child):not(:last-child){border-radius:var(--eui-br-none)}.eui-input-group-addon>:last-child:not(:first-child){border-radius:var(--eui-br-none) var(--eui-br-m) var(--eui-br-m) var(--eui-br-none)}.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-text,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-number,.eui-input-group-addon .eui-input-group-addon-item+.eui-select{border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none);margin-left:-1px}.eui-input-group-addon .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-textarea,.eui-input-group-addon .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-input-text,.eui-input-group-addon .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-input-number,.eui-input-group-addon .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-select,.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea__wrapper .eui-textarea,.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea__wrapper .eui-input-text,.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea__wrapper .eui-input-number,.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea__wrapper .eui-select,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-textarea,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-input-text,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-input-number,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-select{border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none);margin-left:-1px}.eui-input-group-addon .eui-select,.eui-input-group-addon .eui-button,.eui-input-group-addon eui-dropdown{margin-left:-2px}.eui-input-group-addon .eui-input-text+.eui-input-group-addon-item,.eui-input-group-addon .eui-input-number+.eui-input-group-addon-item{border-left-color:transparent}.eui-input-group-addon .eui-button,.eui-input-group-addon .eui-textarea{margin-left:-1px}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
13
13
|
}
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: EuiInputGroupComponent, decorators: [{
|
15
15
|
type: Component,
|
16
|
-
args: [{ selector: 'div[euiInputGroup]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: [".eui-input-group{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:var(--eui-s-m);position:relative;width:100%}.eui-input-group>.eui-label{align-items:center;display:inline-flex}.eui-input-group>.eui-label:first-child{font:var(--eui-f-m-bold);margin-bottom:var(--eui-s-
|
16
|
+
args: [{ selector: 'div[euiInputGroup]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: [".eui-input-group{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:var(--eui-s-m);position:relative;width:100%}.eui-input-group>.eui-label{align-items:center;display:inline-flex}.eui-input-group>.eui-label:first-child{font:var(--eui-f-m-bold);margin-bottom:var(--eui-s-2xs);min-height:var(--eui-s-l)}.eui-input-group:not(.row) .eui-input-radio+label,.eui-input-group:not(.row) .eui-input-checkbox+label{left:calc(var(--eui-s-2xl));margin-bottom:calc(-1 * var(--eui-s-2xs));position:relative;vertical-align:middle;white-space:inherit;bottom:var(--eui-s-xl)}.eui-input-group:not(.row) div{align-items:center!important}.eui-input-group:not(.row) div .eui-input-checkbox+label{margin-bottom:0;padding-right:0;top:0;left:0}.eui-input-group:not(.row) div .eui-input-radio+label{padding-right:0;top:0;left:0}.eui-input-group.row{align-items:center;flex-direction:row}.eui-input-group.row .eui-label{align-items:center;display:flex;justify-content:flex-end;margin-bottom:0!important;margin-top:0;padding-right:0;text-align:right;font:var(--eui-f-m);white-space:normal}.eui-input-group.row .eui-label:first-child{font:var(--eui-f-m-bold)}@media screen and (max-width: 767px){.eui-input-group.row{flex-direction:column}.eui-input-group.row label,.eui-input-group.row .eui-label{justify-content:flex-start;text-align:left}}.eui-input-group-addon{align-items:stretch;display:flex;position:relative;width:100%}.eui-input-group-addon-item{align-items:center;align-self:stretch;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-none);box-shadow:none;color:var(--eui-c-neutral);display:flex;flex-shrink:0;font:var(--eui-f-m-compact);height:auto;justify-content:center;min-height:var(--eui-s-3xl);min-width:var(--eui-s-3xl);padding:0 var(--eui-s-xs)}.eui-input-group-addon>:not(:first-child){border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none)}.eui-input-group-addon>:not(:last-child){border-bottom-left-radius:var(--eui-br-m);border-top-left-radius:var(--eui-br-m);border-bottom-right-radius:var(--eui-br-none);border-top-right-radius:var(--eui-br-none)}.eui-input-group-addon>:not(:first-child):not(:last-child){border-radius:var(--eui-br-none)}.eui-input-group-addon>:last-child:not(:first-child){border-radius:var(--eui-br-none) var(--eui-br-m) var(--eui-br-m) var(--eui-br-none)}.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-text,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-number,.eui-input-group-addon .eui-input-group-addon-item+.eui-select{border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none);margin-left:-1px}.eui-input-group-addon .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-textarea,.eui-input-group-addon .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-input-text,.eui-input-group-addon .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-input-number,.eui-input-group-addon .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-select,.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea__wrapper .eui-textarea,.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea__wrapper .eui-input-text,.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea__wrapper .eui-input-number,.eui-input-group-addon .eui-input-group-addon-item+.eui-textarea__wrapper .eui-select,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-textarea,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-input-text,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-input-number,.eui-input-group-addon .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-select{border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none);margin-left:-1px}.eui-input-group-addon .eui-select,.eui-input-group-addon .eui-button,.eui-input-group-addon eui-dropdown{margin-left:-2px}.eui-input-group-addon .eui-input-text+.eui-input-group-addon-item,.eui-input-group-addon .eui-input-number+.eui-input-group-addon-item{border-left-color:transparent}.eui-input-group-addon .eui-button,.eui-input-group-addon .eui-textarea{margin-left:-1px}\n"] }]
|
17
17
|
}], propDecorators: { e2eAttr: [{
|
18
18
|
type: HostBinding,
|
19
19
|
args: ['attr.data-e2e']
|