@eui/components 18.0.0-next.69 → 18.0.0-next.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/docs/components/EuiAvatarComponent.html +1 -1
  2. package/docs/components/EuiTableV2Component.html +1 -1
  3. package/docs/components/EuiTableV2SortableColComponent.html +1 -1
  4. package/docs/dependencies.html +1 -1
  5. package/docs/js/search/search_index.js +2 -2
  6. package/esm2022/eui-avatar/eui-avatar.component.mjs +4 -3
  7. package/esm2022/eui-badge/eui-badge.component.mjs +2 -2
  8. package/esm2022/eui-button/eui-button.component.mjs +2 -2
  9. package/esm2022/eui-chip/eui-chip.component.mjs +3 -6
  10. package/esm2022/eui-icon/eui-icon-svg.component.mjs +2 -2
  11. package/esm2022/eui-table-v2/eui-table-v2.component.mjs +3 -3
  12. package/esm2022/eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.mjs +3 -3
  13. package/eui-avatar/eui-avatar.component.d.ts +1 -1
  14. package/eui-avatar/eui-avatar.component.d.ts.map +1 -1
  15. package/eui-chip/eui-chip.component.d.ts.map +1 -1
  16. package/fesm2022/eui-components-eui-avatar.mjs +3 -2
  17. package/fesm2022/eui-components-eui-avatar.mjs.map +2 -2
  18. package/fesm2022/eui-components-eui-badge.mjs +2 -2
  19. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  20. package/fesm2022/eui-components-eui-button.mjs +2 -2
  21. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  22. package/fesm2022/eui-components-eui-chip.mjs +2 -5
  23. package/fesm2022/eui-components-eui-chip.mjs.map +2 -2
  24. package/fesm2022/eui-components-eui-icon.mjs +2 -2
  25. package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
  26. package/fesm2022/eui-components-eui-table-v2.mjs +18 -28
  27. package/fesm2022/eui-components-eui-table-v2.mjs.map +2 -2
  28. package/package.json +9 -9
@@ -480,7 +480,7 @@ export class EuiTableV2Component {
480
480
  return prop ? prop.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), obj || self) : null;
481
481
  }
482
482
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EuiTableV2Component, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.EuiTableV2SelectableRowService }, { token: i2.EuiTableV2SortService }, { token: i3.BaseStatesDirective }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
483
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: EuiTableV2Component, selector: "eui-table-v2, table[euiTableV2]", inputs: { data: "data", propId: "propId", itemSize: "itemSize", paginator: "paginator", filter: "filter", preselectedRows: "preselectedRows", isVirtualScroll: ["isVirtualScroll", "isVirtualScroll", booleanAttribute], isVirtualScrollCache: ["isVirtualScrollCache", "isVirtualScrollCache", booleanAttribute], hasStickyHeader: ["hasStickyHeader", "hasStickyHeader", booleanAttribute], hasStickyFooter: ["hasStickyFooter", "hasStickyFooter", booleanAttribute], hasStickyCols: ["hasStickyCols", "hasStickyCols", booleanAttribute], isTableResponsive: ["isTableResponsive", "isTableResponsive", booleanAttribute], isAsync: ["isAsync", "isAsync", booleanAttribute], virtualScrollAsyncItemsLength: ["virtualScrollAsyncItemsLength", "virtualScrollAsyncItemsLength", numberAttribute], virtualScrollNbRows: ["virtualScrollNbRows", "virtualScrollNbRows", numberAttribute], isColsOrderable: ["isColsOrderable", "isColsOrderable", booleanAttribute], isLoading: ["isLoading", "isLoading", booleanAttribute], isSelectOnlyVisibleRows: ["isSelectOnlyVisibleRows", "isSelectOnlyVisibleRows", booleanAttribute], isTableBordered: ["isTableBordered", "isTableBordered", booleanAttribute], isTableCondensed: ["isTableCondensed", "isTableCondensed", booleanAttribute] }, outputs: { scrollChange: "scrollChange", rowsSelect: "rowsSelect", sortChange: "sortChange" }, host: { properties: { "class": "this.cssClasses" } }, providers: [EuiTableV2SelectableRowService, EuiTableV2SortService], queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "cdkVirtualScrollViewport", first: true, predicate: ["cdkVirtualScrollViewport"], descendants: true }, { propertyName: "cdkVirtualScrollViewportElement", first: true, predicate: ["cdkVirtualScrollViewportElement"], descendants: true, read: ElementRef }, { propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true }, { propertyName: "tbodyRef", first: true, predicate: ["tbodyRef"], descendants: true }, { propertyName: "tfootRef", first: true, predicate: ["tfootRef"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i3.BaseStatesDirective }], ngImport: i0, template: "<!-- <button (click)=\"test(19250)\">19250</button>\n<button (click)=\"test(7895)\">7895</button>\n<button (click)=\"test(16860)\">16860</button>\n<button (click)=\"test(16870)\">16870</button>\n<button (click)=\"test(16880)\">16880</button>\n<button (click)=\"test(16890)\">16890</button>\n<button (click)=\"test(16900)\">16900</button>\n<button (click)=\"test(26998)\">26998</button>\n<button (click)=\"test(28000)\">28000</button> -->\n@if (isVirtualScroll) {\n <cdk-virtual-scroll-viewport\n #cdkVirtualScrollViewport\n #cdkVirtualScrollViewportElement\n class=\"eui-table-v2__scroll-viewport\"\n [itemSize]=\"itemSize\"\n [style.overflow]=\"cdkVirtualScrollViewportOverflowValue\">\n <table class=\"{{ cssClasses }}\" [style.width]=\"hostWidth\">\n @if (headerTemplate) {\n <thead #theadRef [style.top]=\"stickyHeaderTopPosition\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n <ng-container *cdkVirtualFor=\"let row of dataRendered; let i = index; trackBy: trackByFn\">\n @if (row) {\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n } @else {\n <ng-template [ngTemplateOutlet]=\"skeletonLoading\"></ng-template>\n }\n </ng-container>\n\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef [style.bottom]=\"stickyFooterBottomPosition\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n </table>\n </cdk-virtual-scroll-viewport>\n} @else {\n @if (headerTemplate) {\n <thead #theadRef>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n @for (row of dataRendered; let i = $index; track row) {\n <ng-container>\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n </ng-container>\n }\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n}\n\n<ng-template #skeletonLoading>\n <tr [style.height.px]=\"itemSize\">\n <td *ngFor=\"let __ of nbCols\"><eui-skeleton line euiRounded></eui-skeleton></td>\n </tr>\n</ng-template>\n", styles: [".eui-table-v2__scroll-viewport{min-height:100%;width:100%}.eui-table-v2__orderable-cols-preview,.eui-table-v2__orderable-rows-preview{display:none}.eui-table-v2__scrollable-wrapper{overflow:auto}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-c-neutral-bg-light)}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-table-v2--condensed thead tr th{padding:var(--eui-s-2xs) var(--eui-s-xs);font:var(--eui-f-s-bold)}.eui-table-v2--condensed tbody tr td,.eui-table-v2--condensed tfoot tr td{padding:var(--eui-s-2xs) var(--eui-s-xs);font:var(--eui-f-s)}.eui-table-v2--highlighted{background-color:var(--eui-c-accent);text-decoration:none}.eui-table-v2--virtual-scroll{width:100%;height:100%}.eui-table-v2--cols-orderable .cdk-drag-placeholder{background-color:var(--eui-c-white);color:var(--eui-c-info);cursor:move;opacity:1}.eui-table-v2--cols-orderable tr{display:table-row}.eui-table-v2--cols-orderable tr th.cdk-drag:not(.cdk-drag-disabled){cursor:move}.eui-table-v2--loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-c-primary);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:50%;width:80px;z-index:1000001}.eui-table-v2--loading:after{background-color:#fff6;content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.eui-table-v2--sticky{max-width:none!important}.eui-table-v2--sticky-header thead{position:sticky;top:0;z-index:8}.eui-table-v2--sticky-header thead th,.eui-table-v2--sticky-header thead td{background-color:inherit}.eui-table-v2--sticky-header.eui-table-v2-sticky-col thead{z-index:9}.eui-table-v2--sticky tbody tr:nth-of-type(odd) td{background-color:inherit}.eui-table-v2--sticky tbody tr:nth-of-type(2n) td{background-color:inherit}.eui-table-v2--sticky-footer tfoot{position:sticky;bottom:-1px;z-index:8}.eui-table-v2--sticky-footer tfoot tr td{background-color:inherit}.eui-table-v2--sticky-cols .eui-table-v2__col--sticky{position:sticky;z-index:1}.eui-table-v2--sticky-cols th.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first,.eui-table-v2--sticky-cols tbody td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first,.eui-table-v2--sticky-cols tfoot td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table-v2--sticky-cols th.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last,.eui-table-v2--sticky-cols tbody td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last,.eui-table-v2--sticky-cols tfoot td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table-v2__row--selected td{background-color:var(--eui-c-primary-lightest)}@media screen and (max-width: 767px){.eui-table-v2.eui-table-default--responsive{width:100%!important}.eui-table-v2.eui-table-default--responsive thead,.eui-table-v2.eui-table-default--responsive tbody,.eui-table-v2.eui-table-default--responsive tfoot,.eui-table-v2.eui-table-default--responsive th,.eui-table-v2.eui-table-default--responsive td,.eui-table-v2.eui-table-default--responsive tr{display:block}.eui-table-v2.eui-table-default--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table-v2.eui-table-default--responsive tr{height:auto}.eui-table-v2.eui-table-default--responsive td{border:var(--eui-bw-none);border-bottom:1px solid var(--eui-c-neutral-bg);padding-left:50%;position:relative;text-align:left!important;left:unset!important;right:unset!important}.eui-table-v2.eui-table-default--responsive td:before{color:var(--eui-c-neutral-light);content:attr(data-col-label);left:var(--eui-s-xs);padding-right:var(--eui-s-xs);position:absolute;width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--eui-f-m-bold)}.eui-table-v2.eui-table-default--responsive tfoot tr td:empty{display:none!important}.eui-table-v2 .actionsColumn,.eui-table-v2 .actions-column{justify-content:flex-start;text-align:left;width:100%}.eui-table-v2__sticky-container{height:auto;width:auto!important}.eui-table-v2--sticky-cols th,.eui-table-v2--sticky-cols td,.eui-table-v2--sticky-cols th .eui-table__col--sticky,.eui-table-v2--sticky-cols td .eui-table__col--sticky{width:auto;z-index:auto}.eui-table-v2--sticky-cols th .eui-table__col--sticky.eui-table__col--sticky-shadowed-first,.eui-table-v2--sticky-cols th .eui-table__col--sticky.eui-table__col--sticky-shadowed-last,.eui-table-v2--sticky-cols td .eui-table__col--sticky.eui-table__col--sticky-shadowed-first,.eui-table-v2--sticky-cols td .eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:none!important}.eui-table-v2--sticky-cols tfoot tr td:empty{display:none!important}}.eui-table-v2__filter{align-items:center;display:flex;justify-content:flex-end;position:relative}.eui-table-v2__filter--responsive{width:100%}.eui-table-v2__filter-input{padding-left:var(--eui-s-2xl)!important}.eui-table-v2__filter-search-icon{left:var(--eui-s-xs);position:absolute;top:calc(var(--eui-s-xs) + 2px)}.eui-table-v2__sortable-col-multisort-index{font:var(--eui-f-s)}.eui-table-v2__sortable-col .eui-table-v2__sortable-col-content{align-items:center;display:flex;vertical-align:middle;white-space:nowrap;justify-content:space-between}.eui-table-v2__sortable-col .eui-table-v2__sortable-col-content .eui-table-v2__sortable-col-content-label{align-items:center;display:flex;-webkit-user-select:none;-ms-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i6.EuiSkeletonComponent, selector: "eui-skeleton", inputs: ["circle", "line", "square", "rectangle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
483
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: EuiTableV2Component, selector: "eui-table-v2, table[euiTableV2]", inputs: { data: "data", propId: "propId", itemSize: "itemSize", paginator: "paginator", filter: "filter", preselectedRows: "preselectedRows", isVirtualScroll: ["isVirtualScroll", "isVirtualScroll", booleanAttribute], isVirtualScrollCache: ["isVirtualScrollCache", "isVirtualScrollCache", booleanAttribute], hasStickyHeader: ["hasStickyHeader", "hasStickyHeader", booleanAttribute], hasStickyFooter: ["hasStickyFooter", "hasStickyFooter", booleanAttribute], hasStickyCols: ["hasStickyCols", "hasStickyCols", booleanAttribute], isTableResponsive: ["isTableResponsive", "isTableResponsive", booleanAttribute], isAsync: ["isAsync", "isAsync", booleanAttribute], virtualScrollAsyncItemsLength: ["virtualScrollAsyncItemsLength", "virtualScrollAsyncItemsLength", numberAttribute], virtualScrollNbRows: ["virtualScrollNbRows", "virtualScrollNbRows", numberAttribute], isColsOrderable: ["isColsOrderable", "isColsOrderable", booleanAttribute], isLoading: ["isLoading", "isLoading", booleanAttribute], isSelectOnlyVisibleRows: ["isSelectOnlyVisibleRows", "isSelectOnlyVisibleRows", booleanAttribute], isTableBordered: ["isTableBordered", "isTableBordered", booleanAttribute], isTableCondensed: ["isTableCondensed", "isTableCondensed", booleanAttribute] }, outputs: { scrollChange: "scrollChange", rowsSelect: "rowsSelect", sortChange: "sortChange" }, host: { properties: { "class": "this.cssClasses" } }, providers: [EuiTableV2SelectableRowService, EuiTableV2SortService], queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "cdkVirtualScrollViewport", first: true, predicate: ["cdkVirtualScrollViewport"], descendants: true }, { propertyName: "cdkVirtualScrollViewportElement", first: true, predicate: ["cdkVirtualScrollViewportElement"], descendants: true, read: ElementRef }, { propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true }, { propertyName: "tbodyRef", first: true, predicate: ["tbodyRef"], descendants: true }, { propertyName: "tfootRef", first: true, predicate: ["tfootRef"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i3.BaseStatesDirective }], ngImport: i0, template: "<!-- <button (click)=\"test(19250)\">19250</button>\n<button (click)=\"test(7895)\">7895</button>\n<button (click)=\"test(16860)\">16860</button>\n<button (click)=\"test(16870)\">16870</button>\n<button (click)=\"test(16880)\">16880</button>\n<button (click)=\"test(16890)\">16890</button>\n<button (click)=\"test(16900)\">16900</button>\n<button (click)=\"test(26998)\">26998</button>\n<button (click)=\"test(28000)\">28000</button> -->\n@if (isVirtualScroll) {\n <cdk-virtual-scroll-viewport\n #cdkVirtualScrollViewport\n #cdkVirtualScrollViewportElement\n class=\"eui-table-v2__scroll-viewport\"\n [itemSize]=\"itemSize\"\n [style.overflow]=\"cdkVirtualScrollViewportOverflowValue\"\n tabindex=\"0\">\n <table class=\"{{ cssClasses }}\" [style.width]=\"hostWidth\">\n @if (headerTemplate) {\n <thead #theadRef [style.top]=\"stickyHeaderTopPosition\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n <ng-container *cdkVirtualFor=\"let row of dataRendered; let i = index; trackBy: trackByFn\">\n @if (row) {\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n } @else {\n <ng-template [ngTemplateOutlet]=\"skeletonLoading\"></ng-template>\n }\n </ng-container>\n\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef [style.bottom]=\"stickyFooterBottomPosition\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n </table>\n </cdk-virtual-scroll-viewport>\n} @else {\n @if (headerTemplate) {\n <thead #theadRef>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n @for (row of dataRendered; let i = $index; track row) {\n <ng-container>\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n </ng-container>\n }\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n}\n\n<ng-template #skeletonLoading>\n <tr [style.height.px]=\"itemSize\">\n <td *ngFor=\"let __ of nbCols\"><eui-skeleton line euiRounded></eui-skeleton></td>\n </tr>\n</ng-template>\n", styles: [".eui-table-v2__scroll-viewport{min-height:100%;width:100%}.eui-table-v2__orderable-cols-preview,.eui-table-v2__orderable-rows-preview{display:none}.eui-table-v2__scrollable-wrapper{overflow:auto}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-c-neutral-bg-light)}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-table-v2--condensed thead tr th{padding:var(--eui-s-2xs) var(--eui-s-xs);font:var(--eui-f-s-bold)}.eui-table-v2--condensed tbody tr td,.eui-table-v2--condensed tfoot tr td{padding:var(--eui-s-2xs) var(--eui-s-xs);font:var(--eui-f-s)}.eui-table-v2--highlighted{background-color:var(--eui-c-accent);text-decoration:none}.eui-table-v2--virtual-scroll{width:100%;height:100%}.eui-table-v2--cols-orderable .cdk-drag-placeholder{background-color:var(--eui-c-white);color:var(--eui-c-info);cursor:move;opacity:1}.eui-table-v2--cols-orderable tr{display:table-row}.eui-table-v2--cols-orderable tr th.cdk-drag:not(.cdk-drag-disabled){cursor:move}.eui-table-v2--loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-c-primary);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:50%;width:80px;z-index:1000001}.eui-table-v2--loading:after{background-color:#fff6;content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.eui-table-v2--sticky{max-width:none!important}.eui-table-v2--sticky-header thead{position:sticky;top:0;z-index:8}.eui-table-v2--sticky-header thead th,.eui-table-v2--sticky-header thead td{background-color:inherit}.eui-table-v2--sticky-header.eui-table-v2-sticky-col thead{z-index:9}.eui-table-v2--sticky tbody tr:nth-of-type(odd) td{background-color:inherit}.eui-table-v2--sticky tbody tr:nth-of-type(2n) td{background-color:inherit}.eui-table-v2--sticky-footer tfoot{position:sticky;bottom:-1px;z-index:8}.eui-table-v2--sticky-footer tfoot tr td{background-color:inherit}.eui-table-v2--sticky-cols .eui-table-v2__col--sticky{position:sticky;z-index:1}.eui-table-v2--sticky-cols th.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first,.eui-table-v2--sticky-cols tbody td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first,.eui-table-v2--sticky-cols tfoot td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table-v2--sticky-cols th.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last,.eui-table-v2--sticky-cols tbody td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last,.eui-table-v2--sticky-cols tfoot td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table-v2__row--selected td{background-color:var(--eui-c-primary-lightest)}@media screen and (max-width: 767px){.eui-table-v2.eui-table-default--responsive{width:100%!important}.eui-table-v2.eui-table-default--responsive thead,.eui-table-v2.eui-table-default--responsive tbody,.eui-table-v2.eui-table-default--responsive tfoot,.eui-table-v2.eui-table-default--responsive th,.eui-table-v2.eui-table-default--responsive td,.eui-table-v2.eui-table-default--responsive tr{display:block}.eui-table-v2.eui-table-default--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table-v2.eui-table-default--responsive tr{height:auto}.eui-table-v2.eui-table-default--responsive td{border:var(--eui-bw-none);border-bottom:1px solid var(--eui-c-neutral-bg);padding-left:50%;position:relative;text-align:left!important;left:unset!important;right:unset!important}.eui-table-v2.eui-table-default--responsive td:before{color:var(--eui-c-neutral-light);content:attr(data-col-label);left:var(--eui-s-xs);padding-right:var(--eui-s-xs);position:absolute;width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--eui-f-m-bold)}.eui-table-v2.eui-table-default--responsive tfoot tr td:empty{display:none!important}.eui-table-v2 .actionsColumn,.eui-table-v2 .actions-column{justify-content:flex-start;text-align:left;width:100%}.eui-table-v2__sticky-container{height:auto;width:auto!important}.eui-table-v2--sticky-cols th,.eui-table-v2--sticky-cols td,.eui-table-v2--sticky-cols th .eui-table__col--sticky,.eui-table-v2--sticky-cols td .eui-table__col--sticky{width:auto;z-index:auto}.eui-table-v2--sticky-cols th .eui-table__col--sticky.eui-table__col--sticky-shadowed-first,.eui-table-v2--sticky-cols th .eui-table__col--sticky.eui-table__col--sticky-shadowed-last,.eui-table-v2--sticky-cols td .eui-table__col--sticky.eui-table__col--sticky-shadowed-first,.eui-table-v2--sticky-cols td .eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:none!important}.eui-table-v2--sticky-cols tfoot tr td:empty{display:none!important}}.eui-table-v2__filter{align-items:center;display:flex;justify-content:flex-end;position:relative}.eui-table-v2__filter--responsive{width:100%}.eui-table-v2__filter-input{padding-left:var(--eui-s-2xl)!important}.eui-table-v2__filter-search-icon{left:var(--eui-s-xs);position:absolute;top:calc(var(--eui-s-xs) + 2px)}.eui-table-v2__sortable-col-multisort-index{font:var(--eui-f-s)}.eui-table-v2__sortable-col .eui-table-v2__sortable-col-content{align-items:center;display:flex;vertical-align:middle;white-space:nowrap;justify-content:space-between}.eui-table-v2__sortable-col .eui-table-v2__sortable-col-content .eui-table-v2__sortable-col-content-label{align-items:center;display:flex;-webkit-user-select:none;-ms-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i6.EuiSkeletonComponent, selector: "eui-skeleton", inputs: ["circle", "line", "square", "rectangle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
484
484
  }
485
485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EuiTableV2Component, decorators: [{
486
486
  type: Component,
@@ -489,7 +489,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
489
489
  directive: BaseStatesDirective,
490
490
  inputs: [],
491
491
  },
492
- ], template: "<!-- <button (click)=\"test(19250)\">19250</button>\n<button (click)=\"test(7895)\">7895</button>\n<button (click)=\"test(16860)\">16860</button>\n<button (click)=\"test(16870)\">16870</button>\n<button (click)=\"test(16880)\">16880</button>\n<button (click)=\"test(16890)\">16890</button>\n<button (click)=\"test(16900)\">16900</button>\n<button (click)=\"test(26998)\">26998</button>\n<button (click)=\"test(28000)\">28000</button> -->\n@if (isVirtualScroll) {\n <cdk-virtual-scroll-viewport\n #cdkVirtualScrollViewport\n #cdkVirtualScrollViewportElement\n class=\"eui-table-v2__scroll-viewport\"\n [itemSize]=\"itemSize\"\n [style.overflow]=\"cdkVirtualScrollViewportOverflowValue\">\n <table class=\"{{ cssClasses }}\" [style.width]=\"hostWidth\">\n @if (headerTemplate) {\n <thead #theadRef [style.top]=\"stickyHeaderTopPosition\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n <ng-container *cdkVirtualFor=\"let row of dataRendered; let i = index; trackBy: trackByFn\">\n @if (row) {\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n } @else {\n <ng-template [ngTemplateOutlet]=\"skeletonLoading\"></ng-template>\n }\n </ng-container>\n\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef [style.bottom]=\"stickyFooterBottomPosition\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n </table>\n </cdk-virtual-scroll-viewport>\n} @else {\n @if (headerTemplate) {\n <thead #theadRef>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n @for (row of dataRendered; let i = $index; track row) {\n <ng-container>\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n </ng-container>\n }\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n}\n\n<ng-template #skeletonLoading>\n <tr [style.height.px]=\"itemSize\">\n <td *ngFor=\"let __ of nbCols\"><eui-skeleton line euiRounded></eui-skeleton></td>\n </tr>\n</ng-template>\n", styles: [".eui-table-v2__scroll-viewport{min-height:100%;width:100%}.eui-table-v2__orderable-cols-preview,.eui-table-v2__orderable-rows-preview{display:none}.eui-table-v2__scrollable-wrapper{overflow:auto}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-c-neutral-bg-light)}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-table-v2--condensed thead tr th{padding:var(--eui-s-2xs) var(--eui-s-xs);font:var(--eui-f-s-bold)}.eui-table-v2--condensed tbody tr td,.eui-table-v2--condensed tfoot tr td{padding:var(--eui-s-2xs) var(--eui-s-xs);font:var(--eui-f-s)}.eui-table-v2--highlighted{background-color:var(--eui-c-accent);text-decoration:none}.eui-table-v2--virtual-scroll{width:100%;height:100%}.eui-table-v2--cols-orderable .cdk-drag-placeholder{background-color:var(--eui-c-white);color:var(--eui-c-info);cursor:move;opacity:1}.eui-table-v2--cols-orderable tr{display:table-row}.eui-table-v2--cols-orderable tr th.cdk-drag:not(.cdk-drag-disabled){cursor:move}.eui-table-v2--loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-c-primary);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:50%;width:80px;z-index:1000001}.eui-table-v2--loading:after{background-color:#fff6;content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.eui-table-v2--sticky{max-width:none!important}.eui-table-v2--sticky-header thead{position:sticky;top:0;z-index:8}.eui-table-v2--sticky-header thead th,.eui-table-v2--sticky-header thead td{background-color:inherit}.eui-table-v2--sticky-header.eui-table-v2-sticky-col thead{z-index:9}.eui-table-v2--sticky tbody tr:nth-of-type(odd) td{background-color:inherit}.eui-table-v2--sticky tbody tr:nth-of-type(2n) td{background-color:inherit}.eui-table-v2--sticky-footer tfoot{position:sticky;bottom:-1px;z-index:8}.eui-table-v2--sticky-footer tfoot tr td{background-color:inherit}.eui-table-v2--sticky-cols .eui-table-v2__col--sticky{position:sticky;z-index:1}.eui-table-v2--sticky-cols th.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first,.eui-table-v2--sticky-cols tbody td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first,.eui-table-v2--sticky-cols tfoot td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table-v2--sticky-cols th.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last,.eui-table-v2--sticky-cols tbody td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last,.eui-table-v2--sticky-cols tfoot td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table-v2__row--selected td{background-color:var(--eui-c-primary-lightest)}@media screen and (max-width: 767px){.eui-table-v2.eui-table-default--responsive{width:100%!important}.eui-table-v2.eui-table-default--responsive thead,.eui-table-v2.eui-table-default--responsive tbody,.eui-table-v2.eui-table-default--responsive tfoot,.eui-table-v2.eui-table-default--responsive th,.eui-table-v2.eui-table-default--responsive td,.eui-table-v2.eui-table-default--responsive tr{display:block}.eui-table-v2.eui-table-default--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table-v2.eui-table-default--responsive tr{height:auto}.eui-table-v2.eui-table-default--responsive td{border:var(--eui-bw-none);border-bottom:1px solid var(--eui-c-neutral-bg);padding-left:50%;position:relative;text-align:left!important;left:unset!important;right:unset!important}.eui-table-v2.eui-table-default--responsive td:before{color:var(--eui-c-neutral-light);content:attr(data-col-label);left:var(--eui-s-xs);padding-right:var(--eui-s-xs);position:absolute;width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--eui-f-m-bold)}.eui-table-v2.eui-table-default--responsive tfoot tr td:empty{display:none!important}.eui-table-v2 .actionsColumn,.eui-table-v2 .actions-column{justify-content:flex-start;text-align:left;width:100%}.eui-table-v2__sticky-container{height:auto;width:auto!important}.eui-table-v2--sticky-cols th,.eui-table-v2--sticky-cols td,.eui-table-v2--sticky-cols th .eui-table__col--sticky,.eui-table-v2--sticky-cols td .eui-table__col--sticky{width:auto;z-index:auto}.eui-table-v2--sticky-cols th .eui-table__col--sticky.eui-table__col--sticky-shadowed-first,.eui-table-v2--sticky-cols th .eui-table__col--sticky.eui-table__col--sticky-shadowed-last,.eui-table-v2--sticky-cols td .eui-table__col--sticky.eui-table__col--sticky-shadowed-first,.eui-table-v2--sticky-cols td .eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:none!important}.eui-table-v2--sticky-cols tfoot tr td:empty{display:none!important}}.eui-table-v2__filter{align-items:center;display:flex;justify-content:flex-end;position:relative}.eui-table-v2__filter--responsive{width:100%}.eui-table-v2__filter-input{padding-left:var(--eui-s-2xl)!important}.eui-table-v2__filter-search-icon{left:var(--eui-s-xs);position:absolute;top:calc(var(--eui-s-xs) + 2px)}.eui-table-v2__sortable-col-multisort-index{font:var(--eui-f-s)}.eui-table-v2__sortable-col .eui-table-v2__sortable-col-content{align-items:center;display:flex;vertical-align:middle;white-space:nowrap;justify-content:space-between}.eui-table-v2__sortable-col .eui-table-v2__sortable-col-content .eui-table-v2__sortable-col-content-label{align-items:center;display:flex;-webkit-user-select:none;-ms-user-select:none;user-select:none}\n"] }]
492
+ ], template: "<!-- <button (click)=\"test(19250)\">19250</button>\n<button (click)=\"test(7895)\">7895</button>\n<button (click)=\"test(16860)\">16860</button>\n<button (click)=\"test(16870)\">16870</button>\n<button (click)=\"test(16880)\">16880</button>\n<button (click)=\"test(16890)\">16890</button>\n<button (click)=\"test(16900)\">16900</button>\n<button (click)=\"test(26998)\">26998</button>\n<button (click)=\"test(28000)\">28000</button> -->\n@if (isVirtualScroll) {\n <cdk-virtual-scroll-viewport\n #cdkVirtualScrollViewport\n #cdkVirtualScrollViewportElement\n class=\"eui-table-v2__scroll-viewport\"\n [itemSize]=\"itemSize\"\n [style.overflow]=\"cdkVirtualScrollViewportOverflowValue\"\n tabindex=\"0\">\n <table class=\"{{ cssClasses }}\" [style.width]=\"hostWidth\">\n @if (headerTemplate) {\n <thead #theadRef [style.top]=\"stickyHeaderTopPosition\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n <ng-container *cdkVirtualFor=\"let row of dataRendered; let i = index; trackBy: trackByFn\">\n @if (row) {\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n } @else {\n <ng-template [ngTemplateOutlet]=\"skeletonLoading\"></ng-template>\n }\n </ng-container>\n\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef [style.bottom]=\"stickyFooterBottomPosition\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n </table>\n </cdk-virtual-scroll-viewport>\n} @else {\n @if (headerTemplate) {\n <thead #theadRef>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n @for (row of dataRendered; let i = $index; track row) {\n <ng-container>\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n </ng-container>\n }\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n}\n\n<ng-template #skeletonLoading>\n <tr [style.height.px]=\"itemSize\">\n <td *ngFor=\"let __ of nbCols\"><eui-skeleton line euiRounded></eui-skeleton></td>\n </tr>\n</ng-template>\n", styles: [".eui-table-v2__scroll-viewport{min-height:100%;width:100%}.eui-table-v2__orderable-cols-preview,.eui-table-v2__orderable-rows-preview{display:none}.eui-table-v2__scrollable-wrapper{overflow:auto}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-c-neutral-bg-light)}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-table-v2__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-table-v2--condensed thead tr th{padding:var(--eui-s-2xs) var(--eui-s-xs);font:var(--eui-f-s-bold)}.eui-table-v2--condensed tbody tr td,.eui-table-v2--condensed tfoot tr td{padding:var(--eui-s-2xs) var(--eui-s-xs);font:var(--eui-f-s)}.eui-table-v2--highlighted{background-color:var(--eui-c-accent);text-decoration:none}.eui-table-v2--virtual-scroll{width:100%;height:100%}.eui-table-v2--cols-orderable .cdk-drag-placeholder{background-color:var(--eui-c-white);color:var(--eui-c-info);cursor:move;opacity:1}.eui-table-v2--cols-orderable tr{display:table-row}.eui-table-v2--cols-orderable tr th.cdk-drag:not(.cdk-drag-disabled){cursor:move}.eui-table-v2--loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-c-primary);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:50%;width:80px;z-index:1000001}.eui-table-v2--loading:after{background-color:#fff6;content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.eui-table-v2--sticky{max-width:none!important}.eui-table-v2--sticky-header thead{position:sticky;top:0;z-index:8}.eui-table-v2--sticky-header thead th,.eui-table-v2--sticky-header thead td{background-color:inherit}.eui-table-v2--sticky-header.eui-table-v2-sticky-col thead{z-index:9}.eui-table-v2--sticky tbody tr:nth-of-type(odd) td{background-color:inherit}.eui-table-v2--sticky tbody tr:nth-of-type(2n) td{background-color:inherit}.eui-table-v2--sticky-footer tfoot{position:sticky;bottom:-1px;z-index:8}.eui-table-v2--sticky-footer tfoot tr td{background-color:inherit}.eui-table-v2--sticky-cols .eui-table-v2__col--sticky{position:sticky;z-index:1}.eui-table-v2--sticky-cols th.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first,.eui-table-v2--sticky-cols tbody td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first,.eui-table-v2--sticky-cols tfoot td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table-v2--sticky-cols th.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last,.eui-table-v2--sticky-cols tbody td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last,.eui-table-v2--sticky-cols tfoot td.eui-table-v2__col--sticky.eui-table-v2__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table-v2__row--selected td{background-color:var(--eui-c-primary-lightest)}@media screen and (max-width: 767px){.eui-table-v2.eui-table-default--responsive{width:100%!important}.eui-table-v2.eui-table-default--responsive thead,.eui-table-v2.eui-table-default--responsive tbody,.eui-table-v2.eui-table-default--responsive tfoot,.eui-table-v2.eui-table-default--responsive th,.eui-table-v2.eui-table-default--responsive td,.eui-table-v2.eui-table-default--responsive tr{display:block}.eui-table-v2.eui-table-default--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table-v2.eui-table-default--responsive tr{height:auto}.eui-table-v2.eui-table-default--responsive td{border:var(--eui-bw-none);border-bottom:1px solid var(--eui-c-neutral-bg);padding-left:50%;position:relative;text-align:left!important;left:unset!important;right:unset!important}.eui-table-v2.eui-table-default--responsive td:before{color:var(--eui-c-neutral-light);content:attr(data-col-label);left:var(--eui-s-xs);padding-right:var(--eui-s-xs);position:absolute;width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--eui-f-m-bold)}.eui-table-v2.eui-table-default--responsive tfoot tr td:empty{display:none!important}.eui-table-v2 .actionsColumn,.eui-table-v2 .actions-column{justify-content:flex-start;text-align:left;width:100%}.eui-table-v2__sticky-container{height:auto;width:auto!important}.eui-table-v2--sticky-cols th,.eui-table-v2--sticky-cols td,.eui-table-v2--sticky-cols th .eui-table__col--sticky,.eui-table-v2--sticky-cols td .eui-table__col--sticky{width:auto;z-index:auto}.eui-table-v2--sticky-cols th .eui-table__col--sticky.eui-table__col--sticky-shadowed-first,.eui-table-v2--sticky-cols th .eui-table__col--sticky.eui-table__col--sticky-shadowed-last,.eui-table-v2--sticky-cols td .eui-table__col--sticky.eui-table__col--sticky-shadowed-first,.eui-table-v2--sticky-cols td .eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:none!important}.eui-table-v2--sticky-cols tfoot tr td:empty{display:none!important}}.eui-table-v2__filter{align-items:center;display:flex;justify-content:flex-end;position:relative}.eui-table-v2__filter--responsive{width:100%}.eui-table-v2__filter-input{padding-left:var(--eui-s-2xl)!important}.eui-table-v2__filter-search-icon{left:var(--eui-s-xs);position:absolute;top:calc(var(--eui-s-xs) + 2px)}.eui-table-v2__sortable-col-multisort-index{font:var(--eui-f-s)}.eui-table-v2__sortable-col .eui-table-v2__sortable-col-content{align-items:center;display:flex;vertical-align:middle;white-space:nowrap;justify-content:space-between}.eui-table-v2__sortable-col .eui-table-v2__sortable-col-content .eui-table-v2__sortable-col-content-label{align-items:center;display:flex;-webkit-user-select:none;-ms-user-select:none;user-select:none}\n"] }]
493
493
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.EuiTableV2SelectableRowService }, { type: i2.EuiTableV2SortService }, { type: i3.BaseStatesDirective }, { type: i0.Renderer2 }], propDecorators: { cssClasses: [{
494
494
  type: HostBinding,
495
495
  args: ['class']
@@ -572,4 +572,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
572
572
  }], sortChange: [{
573
573
  type: Output
574
574
  }] } });
575
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10YWJsZS12Mi9ldWktdGFibGUtdjIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRhYmxlLXYyL2V1aS10YWJsZS12Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQTRDLFNBQVMsRUFBaUIsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFDckosaUJBQWlCLEVBQUUsdUJBQXVCLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQTRCLGVBQWUsRUFDbkgsTUFBTSxlQUFlLENBQUM7QUFFckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBRzdFLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsOEJBQVMsQ0FBQTtJQUNULGtDQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUI7QUFnQkQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixJQUNXLFVBQVU7UUFDakIsT0FBTztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUM7WUFDeEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsa0RBQWtELENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsa0RBQWtELENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2hEO2FBQ0ksSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNULElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUEwREQsWUFBb0IsVUFBc0IsRUFDdEIsRUFBcUIsRUFDckIsOEJBQW9FLEVBQ3BFLHFCQUE0QyxFQUM1QyxtQkFBd0MsRUFDeEMsUUFBbUI7UUFMbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixtQ0FBOEIsR0FBOUIsOEJBQThCLENBQXNDO1FBQ3BFLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBN0Q5QixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBR2Qsb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFFRSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0Isb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDakIsa0NBQTZCLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLDRCQUF1QixHQUFHLElBQUksQ0FBQztRQUMvQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFNdkQsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFdBQU0sR0FBMkIsRUFBRSxDQUFDO1FBQ3BDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLDBDQUFxQyxHQUF3QixNQUFNLENBQUM7UUFVcEUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTFDLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUNwRCw4QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFDOUIsNEJBQXVCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBR3BCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixxQ0FBZ0MsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RELGlCQUFZLEdBQVcsRUFBRSxDQUFDO0lBUW5CLENBQUM7SUFFaEIsV0FBVyxDQUFDLENBQWdCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRXpJLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDckQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEUsQ0FBQztZQUVELElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2YsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDdEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzt3QkFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7b0JBQzdLLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixJQUFJLENBQUMsWUFBWSxHQUFHOzRCQUNoQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzs0QkFDOUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQzs0QkFDbEcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7NEJBQ3RCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQzs0QkFDeEosR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7eUJBQ25KLENBQUM7b0JBQ04sQ0FBQztvQkFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsNkJBQTZCLEVBQUUsQ0FBQzt3QkFDdkMsSUFBSSxDQUFDLENBQUMsNkJBQTZCLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLEVBQUUsQ0FBQzs0QkFDL0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNqRyxDQUFDOzZCQUFNLENBQUM7NEJBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQzdJLENBQUM7b0JBQ0wsQ0FBQztvQkFFRCxJQUFJLENBQUMsOEJBQThCLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3JELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUVwRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDN0YsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsdUJBQXVCO2dDQUNuRCxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDM0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQ2hILENBQUM7NEJBQ0gsaUNBQWlDOzRCQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDbEYsQ0FBQztvQkFDTCxDQUFDO29CQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUNuRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7NEJBQy9GLCtCQUErQjs0QkFDL0IsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ2xGLENBQUM7b0JBQ0wsQ0FBQztvQkFFRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDaEMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBRW5FLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDakMsQ0FBQztnQkFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztvQkFDM0MsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNwRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDaEMsQ0FBQztnQkFFRCxJQUFJLENBQUMsOEJBQThCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRSxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDakMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSiw0SEFBNEg7Z0JBQzVILGdFQUFnRTtnQkFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO29CQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsOEJBQThCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkYsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDeEMsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdEMsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDeEMsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDeEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFLO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTVCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxtQkFBbUI7aUJBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDakQsU0FBUyxDQUFDLENBQUMsU0FBb0IsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztZQUVQLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU5QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CO2lCQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ2pELFNBQVMsQ0FBQyxDQUFDLGFBQXFCLEVBQUUsRUFBRTtnQkFDakMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztvQkFDN0csSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7b0JBRW5DLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUV0RyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzlFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUM3RyxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsR0FBRyxhQUFhLENBQUM7b0JBQ2hELE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7b0JBRW5ILElBQUksYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEtBQUssaUJBQWlCLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs0QkFDakksNEVBQTRFOzRCQUM1RSxnRkFBZ0Y7NEJBQ2hGLDhJQUE4STs0QkFFOUksSUFBSSw0QkFBNEIsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztnQ0FDaEUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLDRCQUE0QixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztnQ0FDdkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDOzRCQUM5SCxDQUFDO3dCQUNMLENBQUM7NkJBQU0sQ0FBQzs0QkFDQSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7NEJBQ3ZGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQzt3QkFDdkcsQ0FBQztvQkFDTCxDQUFDO29CQUVELElBQUksQ0FBQyx5QkFBeUIsR0FBRyw0QkFBNEIsQ0FBQztnQkFDbEUsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLCtCQUErQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQy9KLENBQUM7UUFFRCxNQUFNLGtCQUFrQixHQUFHLElBQUksVUFBVSxDQUFtQixDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3JFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ3ZELE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNwRCxPQUFPLENBQ0gsUUFBUSxDQUFDLE1BQU0sWUFBWSxXQUFXO3dCQUN0QyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJO3dCQUM5QyxRQUFRLENBQUMsYUFBYSxLQUFLLE9BQU8sQ0FDckMsQ0FBQztnQkFDTixDQUFDLENBQUMsQ0FBQztnQkFFSCxJQUFJLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLE1BQU0sR0FBRyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFFBQVEsQ0FBQyxNQUF1QixFQUFFLFNBQWlCLEVBQUUsT0FBZTtRQUN2RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ3RGLE1BQU0sSUFBSSxHQUFHLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFFakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFdkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhO1FBQ2hCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlO1FBQ2xCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZUFBZTtRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFjLEVBQUUsQ0FBUztRQUN2QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUM1RSxPQUFPLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFWCxJQUFJLENBQUMsOEJBQThCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUV6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBYyx1QkFBdUI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7WUFDN0YsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBYywwQkFBMEI7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7WUFDN0YsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBYyw2QkFBNkI7UUFDdkMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxXQUFXLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ25GLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3JELENBQUM7SUFFUyxTQUFTLENBQUMsS0FBYTtRQUM3QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxhQUFhLENBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxFQUM3RCxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUNuQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBdUMsRUFBRSxFQUFFO1lBQzdHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFMUIsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuQixDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUVELENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUUvQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsOEJBQThCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7WUFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRXhCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLGFBQW1ELEVBQUUsQ0FBUztRQUMzRSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0QsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQixLQUFLLE1BQU0sUUFBUSxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFakQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7b0JBQ3BCLFNBQVM7Z0JBQ2IsQ0FBQztnQkFFRCxJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUMxQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDO2dCQUNELElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzFDLE9BQU8sUUFBUSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLENBQUM7Z0JBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxTQUFTLElBQUksT0FBTyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzdELE9BQU8sUUFBUSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVFLENBQUM7Z0JBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzNELE9BQU8sUUFBUSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Z0JBQ3hFLENBQUM7Z0JBRUQsTUFBTSxTQUFTLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFDN0UsTUFBTSxTQUFTLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFFN0UsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBRXRILElBQUksVUFBVSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNuQixPQUFPLFVBQVUsQ0FBQztnQkFDdEIsQ0FBQztZQUNMLENBQUM7WUFFRCxPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVksQ0FBQyxVQUE4QixFQUFFLENBQVM7UUFDMUQsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUVwQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsVUFBa0IsRUFBRSxLQUFhLEVBQUUsWUFBb0I7UUFDL0UsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFHLEVBQUUsQ0FBQztZQUNwRCxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDaEMsT0FBTyxDQUFDLENBQUM7WUFDYixDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQztZQUV0RixNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBNkIsRUFBUSxFQUFFO2dCQUMvRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN0QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7b0JBQzdFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7b0JBRTVFLE1BQU0sV0FBVyxHQUFHLGdCQUFnQjt3QkFDaEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7d0JBQ3ZFLENBQUMsQ0FBQyxlQUFlOzRCQUNqQixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQzs0QkFDdkUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFFVCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO3dCQUMxQixNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQzt3QkFDMUMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCOzRCQUMzQixDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7NEJBQzlDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUVwRCxJQUFJLGdCQUFnQixFQUFFLENBQUM7NEJBQ25CLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO3dCQUN0RCxDQUFDOzZCQUFNLElBQUksZUFBZSxFQUFFLENBQUM7NEJBQ3pCLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO3dCQUN2RCxDQUFDO3dCQUVELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7NEJBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxzQ0FBc0MsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQzt3QkFDNUcsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixNQUFNLE9BQU8sR0FBMkIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7Z0JBQy9ILGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbkYsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUN2QixNQUFNLE9BQU8sR0FBMkIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO2dCQUN0RyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixNQUFNLE9BQU8sR0FBMkIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7Z0JBQy9ILGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUM7UUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU8sd0JBQXdCO1FBQzVCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDNUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDakcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLEdBQVMsRUFBRSxNQUFjO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBb0IsRUFBVyxFQUFFLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQztRQUNuRixNQUFNLFlBQVksR0FBRyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixNQUFNLEtBQUssR0FBOEQsRUFBRSxDQUFDO1FBQzVFLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBYSxFQUFFLElBQUksR0FBRyxFQUFFLEVBQVksRUFBRTtZQUNqRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQzVELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBa0IsRUFBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUV0SixJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzNDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzdFLENBQUM7Z0JBRUQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9GLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQztRQUVGLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxVQUFVLENBQUMsR0FBUyxFQUFFLElBQVk7UUFDdEMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekcsQ0FBQzttSEFoa0JRLG1CQUFtQjt1R0FBbkIsbUJBQW1CLHFQQXlCUixnQkFBZ0IsMEVBQ2hCLGdCQUFnQiwyREFDaEIsZ0JBQWdCLDJEQUNoQixnQkFBZ0IscURBQ2hCLGdCQUFnQixpRUFDaEIsZ0JBQWdCLG1DQUNoQixnQkFBZ0IscUdBQ2hCLGVBQWUsdUVBQ2YsZUFBZSwyREFDZixnQkFBZ0IseUNBQ2hCLGdCQUFnQixtRkFDaEIsZ0JBQWdCLDJEQUNoQixnQkFBZ0IsOERBQ2hCLGdCQUFnQixxS0E5Q3pCLENBQUMsOEJBQThCLEVBQUUscUJBQXFCLENBQUMsb0RBeURqRCxvQkFBb0IsbVJBR2dDLFVBQVUsZ1hDdkZuRixxMUdBZ0ZBOztnR0Q3Q2EsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNJLGlDQUFpQyxpQkFHNUIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLDhCQUE4QixFQUFFLHFCQUFxQixDQUFDLGtCQUNsRDt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUUsRUFBRTt5QkFDYjtxQkFDSjswUEFJVSxVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU87Z0JBaUJYLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVrQyxlQUFlO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG9CQUFvQjtzQkFBM0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxlQUFlO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDQyw2QkFBNkI7c0JBQW5FLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUNFLG1CQUFtQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBQ0csZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLHVCQUF1QjtzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxlQUFlO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFXQyxTQUFTO3NCQUEvQyxlQUFlO3VCQUFDLG9CQUFvQjtnQkFFK0Isd0JBQXdCO3NCQUEzRixTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDcUMsK0JBQStCO3NCQUEzSCxTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUMxRCxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0UsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNFLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFFWCxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBib29sZWFuQXR0cmlidXRlLCBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBudW1iZXJBdHRyaWJ1dGUsIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBza2lwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpc3RSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5cbmltcG9ydCB7IEV1aVBhZ2luYXRpb25FdmVudCwgRXVpUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1wYWdpbmF0b3InO1xuaW1wb3J0IHsgRXVpVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBCYXNlU3RhdGVzRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5cbmltcG9ydCB7IEV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXYyLXNlbGVjdGFibGUtcm93LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXVpVGFibGVWMkZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2V1aS10YWJsZS12Mi1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRhYmxlVjJTb3J0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXYyLXNvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0LCBTb3J0T3JkZXIgfSBmcm9tICcuL21vZGVscy9zb3J0Lm1vZGVsJztcblxuZXhwb3J0IGVudW0gU2Nyb2xsaW5EaXJlY3Rpb24ge1xuICAgIFVQID0gJ1VQJyxcbiAgICBET1dOID0gJ0RPV04nLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10YWJsZS12MiwgdGFibGVbZXVpVGFibGVWMl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktdGFibGUtdjIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLCBFdWlUYWJsZVYyU29ydFNlcnZpY2VdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGFibGVWMkNvbXBvbmVudDxEQVRBID0gdW5rbm93bj4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWktdGFibGUtZGVmYXVsdCBldWktdGFibGUtdjInKSxcbiAgICAgICAgICAgIHRoaXMuaXNWaXJ0dWFsU2Nyb2xsID8gJ2V1aS10YWJsZS12Mi0tdmlydHVhbC1zY3JvbGwnIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUhlYWRlciA/ICdldWktdGFibGUtdjItLXN0aWNreSBldWktdGFibGUtdjItLXN0aWNreS1oZWFkZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUZvb3RlciA/ICdldWktdGFibGUtdjItLXN0aWNreSBldWktdGFibGUtdjItLXN0aWNreS1mb290ZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUNvbHMgPyAnZXVpLXRhYmxlLXYyLS1zdGlja3kgZXVpLXRhYmxlLXYyLS1zdGlja3ktY29scycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNUYWJsZVJlc3BvbnNpdmUgPyAnZXVpLXRhYmxlLWRlZmF1bHQtLXJlc3BvbnNpdmUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzQ29sc09yZGVyYWJsZSA/ICdldWktdGFibGUtdjItLWNvbHMtb3JkZXJhYmxlJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc1RhYmxlQ29uZGVuc2VkID8gJ2V1aS10YWJsZS12Mi0tY29uZGVuc2VkJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPyAnZXVpLXRhYmxlLXYyLS1sb2FkaW5nJyA6ICcnLFxuICAgICAgICBdXG4gICAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGRhdGE6IERBVEFbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHByb3BJZCA9ICdpZCc7XG4gICAgQElucHV0KCkgaXRlbVNpemUgPSA0MTtcbiAgICBASW5wdXQoKSBwYWdpbmF0b3I6IEV1aVBhZ2luYXRvckNvbXBvbmVudDtcbiAgICBASW5wdXQoKSBmaWx0ZXI6IEV1aVRhYmxlVjJGaWx0ZXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgcHJlc2VsZWN0ZWRSb3dzOiBEQVRBW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1ZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNWaXJ0dWFsU2Nyb2xsQ2FjaGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzU3RpY2t5SGVhZGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1N0aWNreUZvb3RlciA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNTdGlja3lDb2xzID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVGFibGVSZXNwb25zaXZlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQXN5bmMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB2aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCA9IDA7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdmlydHVhbFNjcm9sbE5iUm93cyA9IDUwO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NvbHNPcmRlcmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2VsZWN0T25seVZpc2libGVSb3dzID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNUYWJsZUJvcmRlcmVkID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVGFibGVDb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBib2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBEQVRBOyBpbmRleDogbnVtYmVyIH0+O1xuICAgIHByb3RlY3RlZCBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBub0RhdGFUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBsb2FkaW5nID0gW107XG4gICAgcHJvdGVjdGVkIG5iQ29sczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSA9IFtdO1xuICAgIHByb3RlY3RlZCBkYXRhUmVuZGVyZWQ6IERBVEFbXSA9IFtdO1xuICAgIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRPdmVyZmxvd1ZhbHVlOiAoJ2hpZGRlbicgfCAnYXV0bycpID0gJ2F1dG8nO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWlUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8RXVpVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgnY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgICBAVmlld0NoaWxkKCdjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3RoZWFkUmVmJykgdGhlYWRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3Rib2R5UmVmJykgdGJvZHlSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3Rmb290UmVmJykgdGZvb3RSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQE91dHB1dCgpIHNjcm9sbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcm93c1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8REFUQVtdPigpO1xuICAgIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0W10+KCk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIHZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUgPSAwO1xuICAgIHByaXZhdGUgdmlydHVhbFNjcm9sbFNwbGljZUZyb20gPSAwO1xuICAgIHByaXZhdGUgc2Nyb2xsZWRJbmRleCA9IDA7XG4gICAgcHJpdmF0ZSBuYkl0ZW1EaXNwbGF5ZWQgPSAwO1xuICAgIHByaXZhdGUgc2Nyb2xsaW5nRGlyZWN0aW9uOiBTY3JvbGxpbkRpcmVjdGlvbjtcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgcHJpdmF0ZSBkYXRhU3JjOiBEQVRBW10gPSBbXTtcbiAgICBwcml2YXRlIHBhZ2UgPSAwO1xuICAgIHByaXZhdGUgcGFnZVNpemUgPSAwO1xuICAgIHByaXZhdGUgdGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBmaWx0ZXJlZERhdGE6IERBVEFbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlOiBFdWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2U8REFUQT4sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBldWlUYWJsZVYyU29ydFNlcnZpY2U6IEV1aVRhYmxlVjJTb3J0U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGJhc2VTdGF0ZXNEaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2V0UHJvcElkKHRoaXMucHJvcElkKTtcbiAgICAgICAgaWYgKHRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICBpZiAoYy5kYXRhICYmIGMuZGF0YS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IFsuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoIC0gYy5kYXRhLmN1cnJlbnRWYWx1ZS5sZW5ndGggfSldO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5yZWdpc3RlclJvd3ModGhpcy5kYXRhUmVuZGVyZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYy5kYXRhICYmICFjLmRhdGEuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBc3luYykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBbLi4udGhpcy5kYXRhUmVuZGVyZWRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZpcnR1YWxTY3JvbGxDYWNoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBbLi4uc291cmNlLnNsaWNlKDAsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20pLCAuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5zb3VyY2Uuc2xpY2UodGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSArIHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyldO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSAtIHRoaXMubmJJdGVtRGlzcGxheWVkIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnNvdXJjZS5zbGljZSh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tIC0gdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmMuZGF0YS5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc291cmNlLnNsaWNlKHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gKyB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gKyB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MgKyB0aGlzLm5iSXRlbURpc3BsYXllZCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCAtICh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzICsgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQpIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjICYmIGMudmlydHVhbFNjcm9sbEFzeW5jSXRlbXNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoLnByZXZpb3VzVmFsdWUgPiBjLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gdGhpcy5kYXRhUmVuZGVyZWQuc2xpY2UoMCwgYy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aC5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IFsuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoIC0gYy5kYXRhLmN1cnJlbnRWYWx1ZS5sZW5ndGggfSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHRoaXMuZGF0YVJlbmRlcmVkKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxpbmdEaXJlY3Rpb24gPT09IFNjcm9sbGluRGlyZWN0aW9uLkRPV04pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgodGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gLTEgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGVkSW5kZXggPT09IHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5kYXRhUmVuZGVyZWRbdGhpcy5zY3JvbGxlZEluZGV4IC0gMV0pICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gdGhpcy5kYXRhUmVuZGVyZWQubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3JlcG9zaXRpb24gZG93bicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuc2Nyb2xsVG9JbmRleCh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxpbmdEaXJlY3Rpb24gPT09IFNjcm9sbGluRGlyZWN0aW9uLlVQKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygncmVwb3NpdGlvbiB1cCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuc2Nyb2xsVG9JbmRleCh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGMgJiYgYy5kYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoQ2hhbmdlZCA9IHRoaXMuZGF0YVNyYy5sZW5ndGggIT09IGMuZGF0YS5jdXJyZW50VmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNyYyA9IGMuZGF0YS5jdXJyZW50VmFsdWUgPyBbLi4uYy5kYXRhLmN1cnJlbnRWYWx1ZV0gOiBbXTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZ2luYXRvciAmJiBsZW5ndGhDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLmdvRmlyc3RQYWdlKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzQXN5bmMgJiYgIWMuZGF0YS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHRoaXMuZGF0YVNyYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYyAmJiBjLnBhZ2luYXRvcj8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHRoaXMuZGF0YS5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGlmICghYy5wYWdpbmF0b3I/LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5nb0ZpcnN0UGFnZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5kYXRhIGNhbiBiZSBjaGFuZ2VkIGFueXRpbWUsIHRoZW4gdGhpcyBlbHNlIGNhbiBiZSBleGVjdXRlZCBhdCB0aGF0IHRpbWUsIHRlc3RpbmcgdGhpcy5wYWdpbmF0b3IgYWxsb3dzIHRvIG1ha2Ugc3VyZVxuICAgICAgICAgICAgICAgIC8vIHRoZSB1c2VyIHdhbnRzIHRvIGRpc2FibGUgcGFnaW5hdGlvbiBvciBjaGFuZ2UgdGhlIGRhdGFzb3VyY2VcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gdGhpcy5kYXRhU3JjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjICYmIGMucHJlc2VsZWN0ZWRSb3dzICYmICFjLnByZXNlbGVjdGVkUm93cy5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3MoYy5wcmVzZWxlY3RlZFJvd3MuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFTcmMgPSBbLi4udGhpcy5kYXRhXTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2hlYWRlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnZm9vdGVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnbm9EYXRhJykge1xuICAgICAgICAgICAgICAgIHRoaXMubm9EYXRhVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0ZXN0KGluZGV4KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbFRvSW5kZXgoaW5kZXgpXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydD8ucmVuZGVyZWRSYW5nZVN0cmVhbVxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdFJhbmdlOiBMaXN0UmFuZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGlja3lGZWF0dXJlSGFuZGxlcigpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCB0aGVhZEVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLnRoZWFkUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGgnKSk7XG4gICAgICAgICAgICB0aGlzLm5iQ29scyA9IG5ldyBBcnJheSh0aGVhZEVsZW1lbnRzLmxlbmd0aCk7XG5cbiAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbGVkSW5kZXhDaGFuZ2VcbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNjcm9sbGVkSW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FzeW5jKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGluZ0RpcmVjdGlvbiA9IHNjcm9sbGVkSW5kZXggPiB0aGlzLnNjcm9sbGVkSW5kZXggPyBTY3JvbGxpbkRpcmVjdGlvbi5ET1dOIDogU2Nyb2xsaW5EaXJlY3Rpb24uVVA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGVkSW5kZXggPSBzY3JvbGxlZEluZGV4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5zZXRUb3RhbENvbnRlbnRTaXplKHRoaXMudmlydHVhbFNjcm9sbEFzeW5jSXRlbXNMZW5ndGggKiB0aGlzLml0ZW1TaXplKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsT2Zmc2V0ID0gdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQubWVhc3VyZVNjcm9sbE9mZnNldCgndG9wJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmRJbmRleCA9IE1hdGguY2VpbCgoc2Nyb2xsT2Zmc2V0ICsgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuZ2V0Vmlld3BvcnRTaXplKCkpIC8gdGhpcy5pdGVtU2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5iSXRlbURpc3BsYXllZCA9IGVuZEluZGV4IC0gc2Nyb2xsZWRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgPSBNYXRoLmZsb29yKChzY3JvbGxlZEluZGV4ICsgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQpIC8gdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNjcm9sbGVkSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVJlbmRlcmVkW3Njcm9sbGVkSW5kZXhdIHx8ICh0aGlzLnNjcm9sbGluZ0RpcmVjdGlvbiA9PT0gU2Nyb2xsaW5EaXJlY3Rpb24uVVAgJiYgdGhpcy5kYXRhUmVuZGVyZWRbc2Nyb2xsZWRJbmRleCAtIDFdKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZScsIHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUnLCB0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd2aXJ0dWFsU2Nyb2xsQ3VycmVudE11bHRpcGxlID4gdGhpcy52aXJ0dWFsU2Nyb2xsTGFzdE11bHRpcGxlJywgdmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZSA+IHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSlcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZSA+IHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSA9IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgKiB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbENoYW5nZS5lbWl0KHsgc3RhcnQ6IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgKiB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MsIGVuZDogdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gPSB0aGlzLnJvdW5kRG93bihzY3JvbGxlZEluZGV4LCB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxDaGFuZ2UuZW1pdCh7IHN0YXJ0OiB0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tLCBlbmQ6IHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSA9IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LmNsaWVudEhlaWdodCArICdweCc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtdXRhdGlvbk9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxNdXRhdGlvblJlY29yZFtdPigob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE11dGF0aW9ucyA9IG11dGF0aW9ucy5maWx0ZXIoKG11dGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbi50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YXRpb24udGFyZ2V0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3RoJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ3N0eWxlJ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkTXV0YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChmaWx0ZXJlZE11dGF0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogdHJ1ZSwgc3VidHJlZTogdHJ1ZSwgYXR0cmlidXRlRmlsdGVyOiBbJ3N0eWxlJ10gfTtcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMudGhlYWRSZWYubmF0aXZlRWxlbWVudCwgY29uZmlnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbXV0YXRpb25PYnNlcnZhYmxlLnBpcGUoZGVib3VuY2VUaW1lKDI1MCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQXN5bmMgJiYgIXRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdFJvd3NGZWF0dXJlSGFuZGxlcigpO1xuICAgICAgICB0aGlzLnNvcnRGZWF0dXJlSGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgIHRoaXMudGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNb3ZlcyBhbiBlbGVtZW50IHdpdGhpbiB0aGUgcmVuZGVyZWQgZGF0YSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtSWQgLSBUaGUgaWRlbnRpZmllciAoZGVmYXVsdDogaWQpIG9mIHRoZSBlbGVtZW50IHRvIG1vdmUuXG4gICAgICogQHBhcmFtIGZyb21JbmRleCAtIFRoZSBjdXJyZW50IGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIG1vdmUuXG4gICAgICogQHBhcmFtIHRvSW5kZXggLSBUaGUgbmV3IGRlc2lyZWQgcG9zaXRpb24gZm9yIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBtb3ZlSXRlbShpdGVtSWQ6IG51bWJlciB8IHN0cmluZywgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtUG9zaXRpb24gPSB0aGlzLmRhdGFSZW5kZXJlZC5maW5kSW5kZXgoZCA9PiBkICYmIGRbdGhpcy5wcm9wSWRdID09PSBpdGVtSWQpO1xuICAgICAgICBjb25zdCBtb3ZlID0gdG9JbmRleCAtIGZyb21JbmRleDtcblxuICAgICAgICBjb25zdCBzb3VyY2UgPSBbLi4udGhpcy5kYXRhUmVuZGVyZWRdO1xuICAgICAgICBjb25zdCBbZWxlbWVudFRvTW92ZV0gPSBzb3VyY2Uuc3BsaWNlKGl0ZW1Qb3NpdGlvbiwgMSk7XG5cbiAgICAgICAgc291cmNlLnNwbGljZShpdGVtUG9zaXRpb24gKyBtb3ZlLCAwLCBlbGVtZW50VG9Nb3ZlKTtcblxuICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IHNvdXJjZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYWxsIHJvd3NcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0QWxsUm93cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVuc2VsZWN0IGFsbCByb3dzXG4gICAgICovXG4gICAgcHVibGljIHVuc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5zZWxlY3RBbGxSb3dzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGFuIGFycmF5IHdpdGggdGhlIGRhdGEgbWF0Y2hpbmcgdGhlIHN0cmluZyBmaWx0ZXJcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGaWx0ZXJlZERhdGEoKTogREFUQVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyZWREYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNvcnQgdGhlIHRhYmxlJ3MgZGF0YS5cbiAgICAgKiBAcGFyYW0gc29ydHMgQW4gYXJyYXkgb2YgU29ydE9yZGVyLiBTZWUge0BsaW5rIFNvcnRPcmRlcn1cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U29ydChzb3J0czogU29ydFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNldFNvcnRzKHNvcnRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyRGF0YShmaWx0ZXI6IHN0cmluZywgcjogREFUQVtdKTogREFUQVtdIHtcbiAgICAgICAgY29uc3Qgcm93cyA9IGZpbHRlciA/XG4gICAgICAgICAgICByLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZ2V0UHJvcHMocm93LCBmaWx0ZXIpLmZpbHRlcigocCkgPT4gcC5tYXRjaCA9PT0gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hpbmc/Lmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9KSA6IHI7XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHJvd3MpO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gcm93cztcblxuICAgICAgICByZXR1cm4gcm93cztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHN0aWNreUhlYWRlclRvcFBvc2l0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfHwgIXRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0WydfcmVuZGVyZWRDb250ZW50T2Zmc2V0J10pIHtcbiAgICAgICAgICAgIHJldHVybiAnMCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLXRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0WydfcmVuZGVyZWRDb250ZW50T2Zmc2V0J10gKyAncHgnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc3RpY2t5Rm9vdGVyQm90dG9tUG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB8fCAhdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRbJ19yZW5kZXJlZENvbnRlbnRPZmZzZXQnXSkge1xuICAgICAgICAgICAgcmV0dXJuICctMXB4JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydFsnX3JlbmRlcmVkQ29udGVudE9mZnNldCddIC0gMSArICdweCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRXaWR0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50Py5jbGllbnRXaWR0aCB8fCAwKSArICdweCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBob3N0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRhYmxlRmVhdHVyZXNIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yID8gdGhpcy5wYWdpbmF0b3IucGFnZSQgOiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpLFxuICAgICAgICAgICAgdGhpcy5maWx0ZXIgPyB0aGlzLmZpbHRlci5maWx0ZXIkIDogbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKSxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNvcnRzLFxuICAgICAgICApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKFtwYWdpbmF0aW9uLCBmaWx0ZXIsIHNvcnRzXTogW0V1aVBhZ2luYXRpb25FdmVudCwgc3RyaW5nLCBTb3J0W11dKSA9PiB7XG4gICAgICAgICAgICBsZXQgciA9IFsuLi50aGlzLmRhdGFTcmNdO1xuXG4gICAgICAgICAgICBpZiAoc29ydHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHIgPSB0aGlzLnNvcnREYXRhKHNvcnRzLCByKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgciA9IHRoaXMuZmlsdGVyRGF0YShmaWx0ZXIsIHIpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5zZXRMZW5ndGgoci5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHIgPSB0aGlzLnBhZ2luYXRlUm93cyhwYWdpbmF0aW9uLCByKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSByO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RPbmx5VmlzaWJsZVJvd3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS51bnNlbGVjdEFsbFJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS51bnJlZ2lzdGVyUm93cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlZ2lzdGVyUm93cyh0aGlzLmRhdGFSZW5kZXJlZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnByZXNlbGVjdGVkUm93cykge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3ModGhpcy5wcmVzZWxlY3RlZFJvd3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3RpY2t5Q29scykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0RGF0YShzb3J0Q3JpdGVyaWFzOiB7IHNvcnQ6IHN0cmluZywgb3JkZXI6IFNvcnRPcmRlciB9W10sIHI6IERBVEFbXSk6IERBVEFbXSB7XG4gICAgICAgIGlmIChzb3J0Q3JpdGVyaWFzLmV2ZXJ5KGNyaXRlcmlhID0+IGNyaXRlcmlhLm9yZGVyID09PSBudWxsKSkge1xuICAgICAgICAgICAgcmV0dXJuIHIuc2xpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY3JpdGVyaWEgb2Ygc29ydENyaXRlcmlhcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFWYWx1ZSA9IHRoaXMuZ2V0T2JqUHJvcChhLCBjcml0ZXJpYS5zb3J0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBiVmFsdWUgPSB0aGlzLmdldE9ialByb3AoYiwgY3JpdGVyaWEuc29ydCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoYVZhbHVlID09PSBiVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGFWYWx1ZSA9PT0gbnVsbCB8fCBhVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3JpdGVyaWEub3JkZXIgPT09ICdhc2MnID8gLTEgOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYlZhbHVlID09PSBudWxsIHx8IGJWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjcml0ZXJpYS5vcmRlciA9PT0gJ2FzYycgPyAxIDogLTE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhVmFsdWUgPT09ICdib29sZWFuJyAmJiB0eXBlb2YgYlZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyaXRlcmlhLm9yZGVyID09PSAnYXNjJyA/IChhVmFsdWUgPyAtMSA6IDEpIDogKGJWYWx1ZSA/IC0xIDogMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhVmFsdWUgPT09ICdudW1iZXInICYmIHR5cGVvZiBiVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjcml0ZXJpYS5vcmRlciA9PT0gJ2FzYycgPyBhVmFsdWUgLSBiVmFsdWUgOiBiVmFsdWUgLSBhVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgYVZhbHVlU3RyID0gdHlwZW9mIGFWYWx1ZSA9PT0gJ3N0cmluZycgPyBhVmFsdWUudG9Mb3dlckNhc2UoKSA6IGFWYWx1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBiVmFsdWVTdHIgPSB0eXBlb2YgYlZhbHVlID09PSAnc3RyaW5nJyA/IGJWYWx1ZS50b0xvd2VyQ2FzZSgpIDogYlZhbHVlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcGFyaXNvbiA9IGNyaXRlcmlhLm9yZGVyID09PSAnYXNjJyA/IGFWYWx1ZVN0ci5sb2NhbGVDb21wYXJlKGJWYWx1ZVN0cikgOiBiVmFsdWVTdHIubG9jYWxlQ29tcGFyZShhVmFsdWVTdHIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbXBhcmlzb24gIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmlzb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYWdpbmF0ZVJvd3MocGFnaW5hdGlvbjogRXVpUGFnaW5hdGlvbkV2ZW50LCByOiBEQVRBW10pOiBEQVRBW10ge1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdpbmF0aW9uLnBhZ2U7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBwYWdpbmF0aW9uLnBhZ2VTaXplO1xuXG4gICAgICAgIHJldHVybiByLnNsaWNlKHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUsIHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUgKyB0aGlzLnBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJvdW5kRG93bihpbmRleDogbnVtYmVyLCBuYlJvd3M6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGluZGV4IC8gbmJSb3dzKSAqIG5iUm93cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1VuZGVmaW5lZEluUmFuZ2Uoc3RhcnRJbmRleDogbnVtYmVyLCBsaW1pdDogbnVtYmVyLCBkYXRhUmVuZGVyZWQ6IERBVEFbXSk6IG51bWJlciB7XG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDwgc3RhcnRJbmRleCArIGxpbWl0OyBpICsrKSB7XG4gICAgICAgICAgICBpZiAoZGF0YVJlbmRlcmVkW2ldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0aWNreUZlYXR1cmVIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ/LmNsaWVudFdpZHRoIHx8IDA7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NTdGlja3lJdGVtcyA9IChpdGVtczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTdGlja3lGaXJzdENvbCA9IGl0ZW0ub2Zmc2V0TGVmdCArIGl0ZW0uY2xpZW50V2lkdGggPCBjb250YWluZXJXaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTdGlja3lMYXN0Q29sID0gaXRlbS5vZmZzZXRMZWZ0ICsgaXRlbS5jbGllbnRXaWR0aCA+IGNvbnRhaW5lcldpZHRoO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zU3RpY2t5ID0gaXNTdGlja3lGaXJzdENvbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtcy5maWx0ZXIoKGl0KSA9PiBpdC5vZmZzZXRMZWZ0ICsgaXQuY2xpZW50V2lkdGggPCBjb250YWluZXJXaWR0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNTdGlja3lMYXN0Q29sXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGl0ZW1zLmZpbHRlcigoaXQpID0+IGl0Lm9mZnNldExlZnQgKyBpdC5jbGllbnRXaWR0aCA+IGNvbnRhaW5lcldpZHRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBbXTtcblxuICAgICAgICAgICAgICAgICAgICBpdGVtc1N0aWNreS5mb3JFYWNoKChpdCwgaikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdyA9IGl0ZW1zU3RpY2t5W2ogLSAxXT8uY2xpZW50V2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXQgPSBpc1N0aWNreUZpcnN0Q29sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwYXJzZUludChpdGVtc1N0aWNreVtqIC0gMV0/LnN0eWxlLmxlZnQsIDEwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcGFyc2VJbnQoaXRlbXNTdGlja3lbaiAtIDFdPy5zdHlsZS5yaWdodCwgMTApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNTdGlja3lGaXJzdENvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0eWxlLmxlZnQgPSAoaiA9PT0gMCA/IDAgOiB3ICsgb2Zmc2V0KSArICdweCc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzU3RpY2t5TGFzdENvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0eWxlLnJpZ2h0ID0gKGogPT09IDAgPyAwIDogdyArIG9mZnNldCkgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiArIDEgPT09IGl0ZW1zU3RpY2t5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaXQsIGBldWktdGFibGUtdjJfX2NvbC0tc3RpY2t5LXNoYWRvd2VkLSR7aXNTdGlja3lGaXJzdENvbCA/ICdmaXJzdCcgOiAnbGFzdCd9YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlYWRSZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0aGlzLnRoZWFkUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmV1aS10YWJsZS12Ml9fY29sLS1zdGlja3knKSk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1N0aWNreUl0ZW1zKHRoSXRlbXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBib2R5VHJJdGVtcyA9IEFycmF5LmZyb20odGhpcy50Ym9keVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyJykpO1xuICAgICAgICAgICAgYm9keVRySXRlbXMuZm9yRWFjaCgodHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0ci5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlLXYyX19jb2wtLXN0aWNreScpKTtcbiAgICAgICAgICAgICAgICBwcm9jZXNzU3RpY2t5SXRlbXModGRJdGVtcyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGZvb3RSZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0aGlzLnRmb290UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmV1aS10YWJsZS12Ml9fY29sLS1zdGlja3knKSk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1N0aWNreUl0ZW1zKHRkSXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAyNTApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RlZFJvd3MucGlwZShza2lwKDEpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucm93c1NlbGVjdC5lbWl0KHNlbGVjdGVkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0RmVhdHVyZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNvcnRzLnBpcGUoc2tpcCgxKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHNvcnRzOiBTb3J0W10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHNvcnRzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9wcyhyb3c6IERBVEEsIGZpbHRlcjogc3RyaW5nKTogeyBrZXk6IHN0cmluZzsgbWF0Y2g6IGJvb2xlYW47IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfVtdIHtcbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsOiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuID0+IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JztcbiAgICAgICAgY29uc3QgYWRkRGVsaW1pdGVyID0gKGE6IHN0cmluZywgYjogc3RyaW5nKTogc3RyaW5nID0+IChhICYmIGEgIT09ICcwJyA/IGAke2F9LiR7Yn1gIDogYik7XG4gICAgICAgIGNvbnN0IHByb3BzOiB7IGtleTogc3RyaW5nLCBtYXRjaDogYm9vbGVhbiwgdmFsdWU6IHN0cmluZyB8IG51bWJlciB9W10gPSBbXTtcbiAgICAgICAgY29uc3QgcGF0aHMgPSAocGF0aE9iajogREFUQSwgaGVhZCA9ICcnKTogc3RyaW5nW10gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHBhdGhPYmopLnJlZHVjZSgocHJvZHVjdCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnVsbFBhdGggPSBhZGREZWxpbWl0ZXIoaGVhZCwga2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9ICh2OiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuID0+IHYgJiYgdHlwZW9mIHYgIT09ICdvYmplY3QnICYmIHY/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlcj8udHJpbSgpLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcblxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICcwJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnB1c2goeyBrZXk6IGFkZERlbGltaXRlcihoZWFkLCBrZXkpLCBtYXRjaDogbWF0Y2godmFsdWUpLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3QodmFsdWUpID8gcHJvZHVjdC5jb25jYXQocGF0aHModmFsdWUsIGZ1bGxQYXRoKSkgOiBwcm9kdWN0LmNvbmNhdChmdWxsUGF0aCk7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcGF0aHMocm93KTtcbiAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T2JqUHJvcChvYmo6IERBVEEsIHByb3A6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9wID8gcHJvcC5zcGxpdCgnLicpLnJlZHVjZSgocHJldiwgY3VycikgPT4gKHByZXYgPyBwcmV2W2N1cnJdIDogbnVsbCksIG9iaiB8fCBzZWxmKSA6IG51bGw7XG4gICAgfVxufVxuIiwiPCEtLSA8YnV0dG9uIChjbGljayk9XCJ0ZXN0KDE5MjUwKVwiPjE5MjUwPC9idXR0b24+XG48YnV0dG9uIChjbGljayk9XCJ0ZXN0KDc4OTUpXCI+Nzg5NTwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg2MClcIj4xNjg2MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg3MClcIj4xNjg3MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg4MClcIj4xNjg4MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg5MClcIj4xNjg5MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjkwMClcIj4xNjkwMDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgyNjk5OClcIj4yNjk5ODwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgyODAwMClcIj4yODAwMDwvYnV0dG9uPiAtLT5cbkBpZiAoaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICAgICAjY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0XG4gICAgICAgICNjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50XG4gICAgICAgIGNsYXNzPVwiZXVpLXRhYmxlLXYyX19zY3JvbGwtdmlld3BvcnRcIlxuICAgICAgICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxuICAgICAgICBbc3R5bGUub3ZlcmZsb3ddPVwiY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0T3ZlcmZsb3dWYWx1ZVwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ7eyBjc3NDbGFzc2VzIH19XCIgW3N0eWxlLndpZHRoXT1cImhvc3RXaWR0aFwiPlxuICAgICAgICAgICAgQGlmIChoZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDx0aGVhZCAjdGhlYWRSZWYgW3N0eWxlLnRvcF09XCJzdGlja3lIZWFkZXJUb3BQb3NpdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGJvZHlUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDx0Ym9keSAjdGJvZHlSZWY+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgcm93IG9mIGRhdGFSZW5kZXJlZDsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgaW5kZXg6IGkgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25Mb2FkaW5nXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub0RhdGFUZW1wbGF0ZSAmJiAoZGF0YT8ubGVuZ3RoID09PSAwIHx8IGRhdGFSZW5kZXJlZD8ubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vRGF0YVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGZvb3RlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPHRmb290ICN0Zm9vdFJlZiBbc3R5bGUuYm90dG9tXT1cInN0aWNreUZvb3RlckJvdHRvbVBvc2l0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC90Zm9vdD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC90YWJsZT5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbn0gQGVsc2Uge1xuICAgIEBpZiAoaGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgICAgPHRoZWFkICN0aGVhZFJlZj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgfVxuICAgIEBpZiAoYm9keVRlbXBsYXRlKSB7XG4gICAgICAgIDx0Ym9keSAjdGJvZHlSZWY+XG4gICAgICAgICAgICBAZm9yIChyb3cgb2YgZGF0YVJlbmRlcmVkOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgcm93KSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3csIGluZGV4OiBpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAobm9EYXRhVGVtcGxhdGUgJiYgKGRhdGE/Lmxlbmd0aCA9PT0gMCB8fCBkYXRhUmVuZGVyZWQ/Lmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9EYXRhVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3Rib2R5PlxuICAgIH1cbiAgICBAaWYgKGZvb3RlclRlbXBsYXRlKSB7XG4gICAgICAgIDx0Zm9vdCAjdGZvb3RSZWY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3Rmb290PlxuICAgIH1cbn1cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbkxvYWRpbmc+XG4gICAgPHRyIFtzdHlsZS5oZWlnaHQucHhdPVwiaXRlbVNpemVcIj5cbiAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBfXyBvZiBuYkNvbHNcIj48ZXVpLXNrZWxldG9uIGxpbmUgZXVpUm91bmRlZD48L2V1aS1za2VsZXRvbj48L3RkPlxuICAgIDwvdHI+XG48L25nLXRlbXBsYXRlPlxuIl19
575
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10YWJsZS12Mi9ldWktdGFibGUtdjIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRhYmxlLXYyL2V1aS10YWJsZS12Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQTRDLFNBQVMsRUFBaUIsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFDckosaUJBQWlCLEVBQUUsdUJBQXVCLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQTRCLGVBQWUsRUFDbkgsTUFBTSxlQUFlLENBQUM7QUFFckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBRzdFLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsOEJBQVMsQ0FBQTtJQUNULGtDQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUI7QUFnQkQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixJQUNXLFVBQVU7UUFDakIsT0FBTztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUM7WUFDeEUsSUFBSSxDQUFDLGVBQWUs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QUEvQyxlQUFlO3VCQUFDLG9CQUFvQjtnQkFFK0Isd0JBQXdCO3NCQUEzRixTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDcUMsK0JBQStCO3NCQUEzSCxTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUMxRCxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0UsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNFLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFFWCxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBib29sZWFuQXR0cmlidXRlLCBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBudW1iZXJBdHRyaWJ1dGUsIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBza2lwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpc3RSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5cbmltcG9ydCB7IEV1aVBhZ2luYXRpb25FdmVudCwgRXVpUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1wYWdpbmF0b3InO1xuaW1wb3J0IHsgRXVpVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBCYXNlU3RhdGVzRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5cbmltcG9ydCB7IEV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXYyLXNlbGVjdGFibGUtcm93LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXVpVGFibGVWMkZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2V1aS10YWJsZS12Mi1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRhYmxlVjJTb3J0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXYyLXNvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0LCBTb3J0T3JkZXIgfSBmcm9tICcuL21vZGVscy9zb3J0Lm1vZGVsJztcblxuZXhwb3J0IGVudW0gU2Nyb2xsaW5EaXJlY3Rpb24ge1xuICAgIFVQID0gJ1VQJyxcbiAgICBET1dOID0gJ0RPV04nLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10YWJsZS12MiwgdGFibGVbZXVpVGFibGVWMl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktdGFibGUtdjIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLCBFdWlUYWJsZVYyU29ydFNlcnZpY2VdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGFibGVWMkNvbXBvbmVudDxEQVRBID0gdW5rbm93bj4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWktdGFibGUtZGVmYXVsdCBldWktdGFibGUtdjInKSxcbiAgICAgICAgICAgIHRoaXMuaXNWaXJ0dWFsU2Nyb2xsID8gJ2V1aS10YWJsZS12Mi0tdmlydHVhbC1zY3JvbGwnIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUhlYWRlciA/ICdldWktdGFibGUtdjItLXN0aWNreSBldWktdGFibGUtdjItLXN0aWNreS1oZWFkZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUZvb3RlciA/ICdldWktdGFibGUtdjItLXN0aWNreSBldWktdGFibGUtdjItLXN0aWNreS1mb290ZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUNvbHMgPyAnZXVpLXRhYmxlLXYyLS1zdGlja3kgZXVpLXRhYmxlLXYyLS1zdGlja3ktY29scycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNUYWJsZVJlc3BvbnNpdmUgPyAnZXVpLXRhYmxlLWRlZmF1bHQtLXJlc3BvbnNpdmUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzQ29sc09yZGVyYWJsZSA/ICdldWktdGFibGUtdjItLWNvbHMtb3JkZXJhYmxlJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc1RhYmxlQ29uZGVuc2VkID8gJ2V1aS10YWJsZS12Mi0tY29uZGVuc2VkJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPyAnZXVpLXRhYmxlLXYyLS1sb2FkaW5nJyA6ICcnLFxuICAgICAgICBdXG4gICAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGRhdGE6IERBVEFbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHByb3BJZCA9ICdpZCc7XG4gICAgQElucHV0KCkgaXRlbVNpemUgPSA0MTtcbiAgICBASW5wdXQoKSBwYWdpbmF0b3I6IEV1aVBhZ2luYXRvckNvbXBvbmVudDtcbiAgICBASW5wdXQoKSBmaWx0ZXI6IEV1aVRhYmxlVjJGaWx0ZXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgcHJlc2VsZWN0ZWRSb3dzOiBEQVRBW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1ZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNWaXJ0dWFsU2Nyb2xsQ2FjaGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzU3RpY2t5SGVhZGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1N0aWNreUZvb3RlciA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNTdGlja3lDb2xzID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVGFibGVSZXNwb25zaXZlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQXN5bmMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB2aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCA9IDA7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdmlydHVhbFNjcm9sbE5iUm93cyA9IDUwO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NvbHNPcmRlcmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2VsZWN0T25seVZpc2libGVSb3dzID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNUYWJsZUJvcmRlcmVkID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVGFibGVDb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBib2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBEQVRBOyBpbmRleDogbnVtYmVyIH0+O1xuICAgIHByb3RlY3RlZCBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBub0RhdGFUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBsb2FkaW5nID0gW107XG4gICAgcHJvdGVjdGVkIG5iQ29sczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSA9IFtdO1xuICAgIHByb3RlY3RlZCBkYXRhUmVuZGVyZWQ6IERBVEFbXSA9IFtdO1xuICAgIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRPdmVyZmxvd1ZhbHVlOiAoJ2hpZGRlbicgfCAnYXV0bycpID0gJ2F1dG8nO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWlUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8RXVpVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgnY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgICBAVmlld0NoaWxkKCdjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3RoZWFkUmVmJykgdGhlYWRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3Rib2R5UmVmJykgdGJvZHlSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3Rmb290UmVmJykgdGZvb3RSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQE91dHB1dCgpIHNjcm9sbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcm93c1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8REFUQVtdPigpO1xuICAgIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0W10+KCk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIHZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUgPSAwO1xuICAgIHByaXZhdGUgdmlydHVhbFNjcm9sbFNwbGljZUZyb20gPSAwO1xuICAgIHByaXZhdGUgc2Nyb2xsZWRJbmRleCA9IDA7XG4gICAgcHJpdmF0ZSBuYkl0ZW1EaXNwbGF5ZWQgPSAwO1xuICAgIHByaXZhdGUgc2Nyb2xsaW5nRGlyZWN0aW9uOiBTY3JvbGxpbkRpcmVjdGlvbjtcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgcHJpdmF0ZSBkYXRhU3JjOiBEQVRBW10gPSBbXTtcbiAgICBwcml2YXRlIHBhZ2UgPSAwO1xuICAgIHByaXZhdGUgcGFnZVNpemUgPSAwO1xuICAgIHByaXZhdGUgdGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBmaWx0ZXJlZERhdGE6IERBVEFbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlOiBFdWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2U8REFUQT4sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBldWlUYWJsZVYyU29ydFNlcnZpY2U6IEV1aVRhYmxlVjJTb3J0U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGJhc2VTdGF0ZXNEaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2V0UHJvcElkKHRoaXMucHJvcElkKTtcbiAgICAgICAgaWYgKHRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICBpZiAoYy5kYXRhICYmIGMuZGF0YS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IFsuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoIC0gYy5kYXRhLmN1cnJlbnRWYWx1ZS5sZW5ndGggfSldO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5yZWdpc3RlclJvd3ModGhpcy5kYXRhUmVuZGVyZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYy5kYXRhICYmICFjLmRhdGEuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBc3luYykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBbLi4udGhpcy5kYXRhUmVuZGVyZWRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZpcnR1YWxTY3JvbGxDYWNoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBbLi4uc291cmNlLnNsaWNlKDAsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20pLCAuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5zb3VyY2Uuc2xpY2UodGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSArIHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyldO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSAtIHRoaXMubmJJdGVtRGlzcGxheWVkIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnNvdXJjZS5zbGljZSh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tIC0gdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmMuZGF0YS5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc291cmNlLnNsaWNlKHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gKyB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gKyB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MgKyB0aGlzLm5iSXRlbURpc3BsYXllZCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCAtICh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzICsgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQpIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjICYmIGMudmlydHVhbFNjcm9sbEFzeW5jSXRlbXNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoLnByZXZpb3VzVmFsdWUgPiBjLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gdGhpcy5kYXRhUmVuZGVyZWQuc2xpY2UoMCwgYy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aC5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IFsuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoIC0gYy5kYXRhLmN1cnJlbnRWYWx1ZS5sZW5ndGggfSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHRoaXMuZGF0YVJlbmRlcmVkKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxpbmdEaXJlY3Rpb24gPT09IFNjcm9sbGluRGlyZWN0aW9uLkRPV04pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgodGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gLTEgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGVkSW5kZXggPT09IHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5kYXRhUmVuZGVyZWRbdGhpcy5zY3JvbGxlZEluZGV4IC0gMV0pICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gdGhpcy5kYXRhUmVuZGVyZWQubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3JlcG9zaXRpb24gZG93bicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuc2Nyb2xsVG9JbmRleCh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxpbmdEaXJlY3Rpb24gPT09IFNjcm9sbGluRGlyZWN0aW9uLlVQKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygncmVwb3NpdGlvbiB1cCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuc2Nyb2xsVG9JbmRleCh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGMgJiYgYy5kYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoQ2hhbmdlZCA9IHRoaXMuZGF0YVNyYy5sZW5ndGggIT09IGMuZGF0YS5jdXJyZW50VmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNyYyA9IGMuZGF0YS5jdXJyZW50VmFsdWUgPyBbLi4uYy5kYXRhLmN1cnJlbnRWYWx1ZV0gOiBbXTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZ2luYXRvciAmJiBsZW5ndGhDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLmdvRmlyc3RQYWdlKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzQXN5bmMgJiYgIWMuZGF0YS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHRoaXMuZGF0YVNyYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYyAmJiBjLnBhZ2luYXRvcj8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHRoaXMuZGF0YS5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGlmICghYy5wYWdpbmF0b3I/LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5nb0ZpcnN0UGFnZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5kYXRhIGNhbiBiZSBjaGFuZ2VkIGFueXRpbWUsIHRoZW4gdGhpcyBlbHNlIGNhbiBiZSBleGVjdXRlZCBhdCB0aGF0IHRpbWUsIHRlc3RpbmcgdGhpcy5wYWdpbmF0b3IgYWxsb3dzIHRvIG1ha2Ugc3VyZVxuICAgICAgICAgICAgICAgIC8vIHRoZSB1c2VyIHdhbnRzIHRvIGRpc2FibGUgcGFnaW5hdGlvbiBvciBjaGFuZ2UgdGhlIGRhdGFzb3VyY2VcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gdGhpcy5kYXRhU3JjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjICYmIGMucHJlc2VsZWN0ZWRSb3dzICYmICFjLnByZXNlbGVjdGVkUm93cy5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3MoYy5wcmVzZWxlY3RlZFJvd3MuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFTcmMgPSBbLi4udGhpcy5kYXRhXTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2hlYWRlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnZm9vdGVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnbm9EYXRhJykge1xuICAgICAgICAgICAgICAgIHRoaXMubm9EYXRhVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0ZXN0KGluZGV4KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbFRvSW5kZXgoaW5kZXgpXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydD8ucmVuZGVyZWRSYW5nZVN0cmVhbVxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdFJhbmdlOiBMaXN0UmFuZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGlja3lGZWF0dXJlSGFuZGxlcigpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCB0aGVhZEVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLnRoZWFkUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGgnKSk7XG4gICAgICAgICAgICB0aGlzLm5iQ29scyA9IG5ldyBBcnJheSh0aGVhZEVsZW1lbnRzLmxlbmd0aCk7XG5cbiAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbGVkSW5kZXhDaGFuZ2VcbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNjcm9sbGVkSW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FzeW5jKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGluZ0RpcmVjdGlvbiA9IHNjcm9sbGVkSW5kZXggPiB0aGlzLnNjcm9sbGVkSW5kZXggPyBTY3JvbGxpbkRpcmVjdGlvbi5ET1dOIDogU2Nyb2xsaW5EaXJlY3Rpb24uVVA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGVkSW5kZXggPSBzY3JvbGxlZEluZGV4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5zZXRUb3RhbENvbnRlbnRTaXplKHRoaXMudmlydHVhbFNjcm9sbEFzeW5jSXRlbXNMZW5ndGggKiB0aGlzLml0ZW1TaXplKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsT2Zmc2V0ID0gdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQubWVhc3VyZVNjcm9sbE9mZnNldCgndG9wJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmRJbmRleCA9IE1hdGguY2VpbCgoc2Nyb2xsT2Zmc2V0ICsgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuZ2V0Vmlld3BvcnRTaXplKCkpIC8gdGhpcy5pdGVtU2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5iSXRlbURpc3BsYXllZCA9IGVuZEluZGV4IC0gc2Nyb2xsZWRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgPSBNYXRoLmZsb29yKChzY3JvbGxlZEluZGV4ICsgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQpIC8gdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNjcm9sbGVkSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVJlbmRlcmVkW3Njcm9sbGVkSW5kZXhdIHx8ICh0aGlzLnNjcm9sbGluZ0RpcmVjdGlvbiA9PT0gU2Nyb2xsaW5EaXJlY3Rpb24uVVAgJiYgdGhpcy5kYXRhUmVuZGVyZWRbc2Nyb2xsZWRJbmRleCAtIDFdKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZScsIHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUnLCB0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd2aXJ0dWFsU2Nyb2xsQ3VycmVudE11bHRpcGxlID4gdGhpcy52aXJ0dWFsU2Nyb2xsTGFzdE11bHRpcGxlJywgdmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZSA+IHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSlcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZSA+IHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSA9IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgKiB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbENoYW5nZS5lbWl0KHsgc3RhcnQ6IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgKiB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MsIGVuZDogdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gPSB0aGlzLnJvdW5kRG93bihzY3JvbGxlZEluZGV4LCB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxDaGFuZ2UuZW1pdCh7IHN0YXJ0OiB0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tLCBlbmQ6IHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSA9IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LmNsaWVudEhlaWdodCArICdweCc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtdXRhdGlvbk9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxNdXRhdGlvblJlY29yZFtdPigob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE11dGF0aW9ucyA9IG11dGF0aW9ucy5maWx0ZXIoKG11dGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbi50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YXRpb24udGFyZ2V0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3RoJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ3N0eWxlJ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkTXV0YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChmaWx0ZXJlZE11dGF0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogdHJ1ZSwgc3VidHJlZTogdHJ1ZSwgYXR0cmlidXRlRmlsdGVyOiBbJ3N0eWxlJ10gfTtcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMudGhlYWRSZWYubmF0aXZlRWxlbWVudCwgY29uZmlnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbXV0YXRpb25PYnNlcnZhYmxlLnBpcGUoZGVib3VuY2VUaW1lKDI1MCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQXN5bmMgJiYgIXRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdFJvd3NGZWF0dXJlSGFuZGxlcigpO1xuICAgICAgICB0aGlzLnNvcnRGZWF0dXJlSGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgIHRoaXMudGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNb3ZlcyBhbiBlbGVtZW50IHdpdGhpbiB0aGUgcmVuZGVyZWQgZGF0YSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtSWQgLSBUaGUgaWRlbnRpZmllciAoZGVmYXVsdDogaWQpIG9mIHRoZSBlbGVtZW50IHRvIG1vdmUuXG4gICAgICogQHBhcmFtIGZyb21JbmRleCAtIFRoZSBjdXJyZW50IGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIG1vdmUuXG4gICAgICogQHBhcmFtIHRvSW5kZXggLSBUaGUgbmV3IGRlc2lyZWQgcG9zaXRpb24gZm9yIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBtb3ZlSXRlbShpdGVtSWQ6IG51bWJlciB8IHN0cmluZywgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtUG9zaXRpb24gPSB0aGlzLmRhdGFSZW5kZXJlZC5maW5kSW5kZXgoZCA9PiBkICYmIGRbdGhpcy5wcm9wSWRdID09PSBpdGVtSWQpO1xuICAgICAgICBjb25zdCBtb3ZlID0gdG9JbmRleCAtIGZyb21JbmRleDtcblxuICAgICAgICBjb25zdCBzb3VyY2UgPSBbLi4udGhpcy5kYXRhUmVuZGVyZWRdO1xuICAgICAgICBjb25zdCBbZWxlbWVudFRvTW92ZV0gPSBzb3VyY2Uuc3BsaWNlKGl0ZW1Qb3NpdGlvbiwgMSk7XG5cbiAgICAgICAgc291cmNlLnNwbGljZShpdGVtUG9zaXRpb24gKyBtb3ZlLCAwLCBlbGVtZW50VG9Nb3ZlKTtcblxuICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IHNvdXJjZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYWxsIHJvd3NcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0QWxsUm93cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVuc2VsZWN0IGFsbCByb3dzXG4gICAgICovXG4gICAgcHVibGljIHVuc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5zZWxlY3RBbGxSb3dzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGFuIGFycmF5IHdpdGggdGhlIGRhdGEgbWF0Y2hpbmcgdGhlIHN0cmluZyBmaWx0ZXJcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGaWx0ZXJlZERhdGEoKTogREFUQVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyZWREYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNvcnQgdGhlIHRhYmxlJ3MgZGF0YS5cbiAgICAgKiBAcGFyYW0gc29ydHMgQW4gYXJyYXkgb2YgU29ydE9yZGVyLiBTZWUge0BsaW5rIFNvcnRPcmRlcn1cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U29ydChzb3J0czogU29ydFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNldFNvcnRzKHNvcnRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyRGF0YShmaWx0ZXI6IHN0cmluZywgcjogREFUQVtdKTogREFUQVtdIHtcbiAgICAgICAgY29uc3Qgcm93cyA9IGZpbHRlciA/XG4gICAgICAgICAgICByLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZ2V0UHJvcHMocm93LCBmaWx0ZXIpLmZpbHRlcigocCkgPT4gcC5tYXRjaCA9PT0gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hpbmc/Lmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9KSA6IHI7XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHJvd3MpO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gcm93cztcblxuICAgICAgICByZXR1cm4gcm93cztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHN0aWNreUhlYWRlclRvcFBvc2l0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfHwgIXRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0WydfcmVuZGVyZWRDb250ZW50T2Zmc2V0J10pIHtcbiAgICAgICAgICAgIHJldHVybiAnMCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLXRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0WydfcmVuZGVyZWRDb250ZW50T2Zmc2V0J10gKyAncHgnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc3RpY2t5Rm9vdGVyQm90dG9tUG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB8fCAhdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRbJ19yZW5kZXJlZENvbnRlbnRPZmZzZXQnXSkge1xuICAgICAgICAgICAgcmV0dXJuICctMXB4JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydFsnX3JlbmRlcmVkQ29udGVudE9mZnNldCddIC0gMSArICdweCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRXaWR0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50Py5jbGllbnRXaWR0aCB8fCAwKSArICdweCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBob3N0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRhYmxlRmVhdHVyZXNIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yID8gdGhpcy5wYWdpbmF0b3IucGFnZSQgOiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpLFxuICAgICAgICAgICAgdGhpcy5maWx0ZXIgPyB0aGlzLmZpbHRlci5maWx0ZXIkIDogbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKSxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNvcnRzLFxuICAgICAgICApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKFtwYWdpbmF0aW9uLCBmaWx0ZXIsIHNvcnRzXTogW0V1aVBhZ2luYXRpb25FdmVudCwgc3RyaW5nLCBTb3J0W11dKSA9PiB7XG4gICAgICAgICAgICBsZXQgciA9IFsuLi50aGlzLmRhdGFTcmNdO1xuXG4gICAgICAgICAgICBpZiAoc29ydHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHIgPSB0aGlzLnNvcnREYXRhKHNvcnRzLCByKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgciA9IHRoaXMuZmlsdGVyRGF0YShmaWx0ZXIsIHIpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5zZXRMZW5ndGgoci5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHIgPSB0aGlzLnBhZ2luYXRlUm93cyhwYWdpbmF0aW9uLCByKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSByO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RPbmx5VmlzaWJsZVJvd3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS51bnNlbGVjdEFsbFJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS51bnJlZ2lzdGVyUm93cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlZ2lzdGVyUm93cyh0aGlzLmRhdGFSZW5kZXJlZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnByZXNlbGVjdGVkUm93cykge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3ModGhpcy5wcmVzZWxlY3RlZFJvd3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3RpY2t5Q29scykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0RGF0YShzb3J0Q3JpdGVyaWFzOiB7IHNvcnQ6IHN0cmluZywgb3JkZXI6IFNvcnRPcmRlciB9W10sIHI6IERBVEFbXSk6IERBVEFbXSB7XG4gICAgICAgIGlmIChzb3J0Q3JpdGVyaWFzLmV2ZXJ5KGNyaXRlcmlhID0+IGNyaXRlcmlhLm9yZGVyID09PSBudWxsKSkge1xuICAgICAgICAgICAgcmV0dXJuIHIuc2xpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY3JpdGVyaWEgb2Ygc29ydENyaXRlcmlhcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFWYWx1ZSA9IHRoaXMuZ2V0T2JqUHJvcChhLCBjcml0ZXJpYS5zb3J0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBiVmFsdWUgPSB0aGlzLmdldE9ialByb3AoYiwgY3JpdGVyaWEuc29ydCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoYVZhbHVlID09PSBiVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGFWYWx1ZSA9PT0gbnVsbCB8fCBhVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3JpdGVyaWEub3JkZXIgPT09ICdhc2MnID8gLTEgOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYlZhbHVlID09PSBudWxsIHx8IGJWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjcml0ZXJpYS5vcmRlciA9PT0gJ2FzYycgPyAxIDogLTE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhVmFsdWUgPT09ICdib29sZWFuJyAmJiB0eXBlb2YgYlZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyaXRlcmlhLm9yZGVyID09PSAnYXNjJyA/IChhVmFsdWUgPyAtMSA6IDEpIDogKGJWYWx1ZSA/IC0xIDogMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhVmFsdWUgPT09ICdudW1iZXInICYmIHR5cGVvZiBiVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjcml0ZXJpYS5vcmRlciA9PT0gJ2FzYycgPyBhVmFsdWUgLSBiVmFsdWUgOiBiVmFsdWUgLSBhVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgYVZhbHVlU3RyID0gdHlwZW9mIGFWYWx1ZSA9PT0gJ3N0cmluZycgPyBhVmFsdWUudG9Mb3dlckNhc2UoKSA6IGFWYWx1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBiVmFsdWVTdHIgPSB0eXBlb2YgYlZhbHVlID09PSAnc3RyaW5nJyA/IGJWYWx1ZS50b0xvd2VyQ2FzZSgpIDogYlZhbHVlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcGFyaXNvbiA9IGNyaXRlcmlhLm9yZGVyID09PSAnYXNjJyA/IGFWYWx1ZVN0ci5sb2NhbGVDb21wYXJlKGJWYWx1ZVN0cikgOiBiVmFsdWVTdHIubG9jYWxlQ29tcGFyZShhVmFsdWVTdHIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbXBhcmlzb24gIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmlzb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYWdpbmF0ZVJvd3MocGFnaW5hdGlvbjogRXVpUGFnaW5hdGlvbkV2ZW50LCByOiBEQVRBW10pOiBEQVRBW10ge1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdpbmF0aW9uLnBhZ2U7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBwYWdpbmF0aW9uLnBhZ2VTaXplO1xuXG4gICAgICAgIHJldHVybiByLnNsaWNlKHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUsIHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUgKyB0aGlzLnBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJvdW5kRG93bihpbmRleDogbnVtYmVyLCBuYlJvd3M6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGluZGV4IC8gbmJSb3dzKSAqIG5iUm93cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1VuZGVmaW5lZEluUmFuZ2Uoc3RhcnRJbmRleDogbnVtYmVyLCBsaW1pdDogbnVtYmVyLCBkYXRhUmVuZGVyZWQ6IERBVEFbXSk6IG51bWJlciB7XG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDwgc3RhcnRJbmRleCArIGxpbWl0OyBpICsrKSB7XG4gICAgICAgICAgICBpZiAoZGF0YVJlbmRlcmVkW2ldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0aWNreUZlYXR1cmVIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ/LmNsaWVudFdpZHRoIHx8IDA7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NTdGlja3lJdGVtcyA9IChpdGVtczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTdGlja3lGaXJzdENvbCA9IGl0ZW0ub2Zmc2V0TGVmdCArIGl0ZW0uY2xpZW50V2lkdGggPCBjb250YWluZXJXaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTdGlja3lMYXN0Q29sID0gaXRlbS5vZmZzZXRMZWZ0ICsgaXRlbS5jbGllbnRXaWR0aCA+IGNvbnRhaW5lcldpZHRoO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zU3RpY2t5ID0gaXNTdGlja3lGaXJzdENvbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtcy5maWx0ZXIoKGl0KSA9PiBpdC5vZmZzZXRMZWZ0ICsgaXQuY2xpZW50V2lkdGggPCBjb250YWluZXJXaWR0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNTdGlja3lMYXN0Q29sXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGl0ZW1zLmZpbHRlcigoaXQpID0+IGl0Lm9mZnNldExlZnQgKyBpdC5jbGllbnRXaWR0aCA+IGNvbnRhaW5lcldpZHRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBbXTtcblxuICAgICAgICAgICAgICAgICAgICBpdGVtc1N0aWNreS5mb3JFYWNoKChpdCwgaikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdyA9IGl0ZW1zU3RpY2t5W2ogLSAxXT8uY2xpZW50V2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXQgPSBpc1N0aWNreUZpcnN0Q29sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwYXJzZUludChpdGVtc1N0aWNreVtqIC0gMV0/LnN0eWxlLmxlZnQsIDEwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcGFyc2VJbnQoaXRlbXNTdGlja3lbaiAtIDFdPy5zdHlsZS5yaWdodCwgMTApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNTdGlja3lGaXJzdENvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0eWxlLmxlZnQgPSAoaiA9PT0gMCA/IDAgOiB3ICsgb2Zmc2V0KSArICdweCc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzU3RpY2t5TGFzdENvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0eWxlLnJpZ2h0ID0gKGogPT09IDAgPyAwIDogdyArIG9mZnNldCkgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiArIDEgPT09IGl0ZW1zU3RpY2t5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaXQsIGBldWktdGFibGUtdjJfX2NvbC0tc3RpY2t5LXNoYWRvd2VkLSR7aXNTdGlja3lGaXJzdENvbCA/ICdmaXJzdCcgOiAnbGFzdCd9YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlYWRSZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0aGlzLnRoZWFkUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmV1aS10YWJsZS12Ml9fY29sLS1zdGlja3knKSk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1N0aWNreUl0ZW1zKHRoSXRlbXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBib2R5VHJJdGVtcyA9IEFycmF5LmZyb20odGhpcy50Ym9keVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyJykpO1xuICAgICAgICAgICAgYm9keVRySXRlbXMuZm9yRWFjaCgodHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0ci5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlLXYyX19jb2wtLXN0aWNreScpKTtcbiAgICAgICAgICAgICAgICBwcm9jZXNzU3RpY2t5SXRlbXModGRJdGVtcyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGZvb3RSZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0aGlzLnRmb290UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmV1aS10YWJsZS12Ml9fY29sLS1zdGlja3knKSk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1N0aWNreUl0ZW1zKHRkSXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAyNTApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RlZFJvd3MucGlwZShza2lwKDEpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucm93c1NlbGVjdC5lbWl0KHNlbGVjdGVkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0RmVhdHVyZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNvcnRzLnBpcGUoc2tpcCgxKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHNvcnRzOiBTb3J0W10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHNvcnRzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9wcyhyb3c6IERBVEEsIGZpbHRlcjogc3RyaW5nKTogeyBrZXk6IHN0cmluZzsgbWF0Y2g6IGJvb2xlYW47IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfVtdIHtcbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsOiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuID0+IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JztcbiAgICAgICAgY29uc3QgYWRkRGVsaW1pdGVyID0gKGE6IHN0cmluZywgYjogc3RyaW5nKTogc3RyaW5nID0+IChhICYmIGEgIT09ICcwJyA/IGAke2F9LiR7Yn1gIDogYik7XG4gICAgICAgIGNvbnN0IHByb3BzOiB7IGtleTogc3RyaW5nLCBtYXRjaDogYm9vbGVhbiwgdmFsdWU6IHN0cmluZyB8IG51bWJlciB9W10gPSBbXTtcbiAgICAgICAgY29uc3QgcGF0aHMgPSAocGF0aE9iajogREFUQSwgaGVhZCA9ICcnKTogc3RyaW5nW10gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHBhdGhPYmopLnJlZHVjZSgocHJvZHVjdCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnVsbFBhdGggPSBhZGREZWxpbWl0ZXIoaGVhZCwga2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9ICh2OiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuID0+IHYgJiYgdHlwZW9mIHYgIT09ICdvYmplY3QnICYmIHY/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlcj8udHJpbSgpLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcblxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICcwJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnB1c2goeyBrZXk6IGFkZERlbGltaXRlcihoZWFkLCBrZXkpLCBtYXRjaDogbWF0Y2godmFsdWUpLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3QodmFsdWUpID8gcHJvZHVjdC5jb25jYXQocGF0aHModmFsdWUsIGZ1bGxQYXRoKSkgOiBwcm9kdWN0LmNvbmNhdChmdWxsUGF0aCk7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcGF0aHMocm93KTtcbiAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T2JqUHJvcChvYmo6IERBVEEsIHByb3A6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9wID8gcHJvcC5zcGxpdCgnLicpLnJlZHVjZSgocHJldiwgY3VycikgPT4gKHByZXYgPyBwcmV2W2N1cnJdIDogbnVsbCksIG9iaiB8fCBzZWxmKSA6IG51bGw7XG4gICAgfVxufVxuIiwiPCEtLSA8YnV0dG9uIChjbGljayk9XCJ0ZXN0KDE5MjUwKVwiPjE5MjUwPC9idXR0b24+XG48YnV0dG9uIChjbGljayk9XCJ0ZXN0KDc4OTUpXCI+Nzg5NTwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg2MClcIj4xNjg2MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg3MClcIj4xNjg3MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg4MClcIj4xNjg4MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg5MClcIj4xNjg5MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjkwMClcIj4xNjkwMDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgyNjk5OClcIj4yNjk5ODwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgyODAwMClcIj4yODAwMDwvYnV0dG9uPiAtLT5cbkBpZiAoaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICAgICAjY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0XG4gICAgICAgICNjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50XG4gICAgICAgIGNsYXNzPVwiZXVpLXRhYmxlLXYyX19zY3JvbGwtdmlld3BvcnRcIlxuICAgICAgICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxuICAgICAgICBbc3R5bGUub3ZlcmZsb3ddPVwiY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0T3ZlcmZsb3dWYWx1ZVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ7eyBjc3NDbGFzc2VzIH19XCIgW3N0eWxlLndpZHRoXT1cImhvc3RXaWR0aFwiPlxuICAgICAgICAgICAgQGlmIChoZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDx0aGVhZCAjdGhlYWRSZWYgW3N0eWxlLnRvcF09XCJzdGlja3lIZWFkZXJUb3BQb3NpdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGJvZHlUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDx0Ym9keSAjdGJvZHlSZWY+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgcm93IG9mIGRhdGFSZW5kZXJlZDsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgaW5kZXg6IGkgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25Mb2FkaW5nXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub0RhdGFUZW1wbGF0ZSAmJiAoZGF0YT8ubGVuZ3RoID09PSAwIHx8IGRhdGFSZW5kZXJlZD8ubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vRGF0YVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGZvb3RlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPHRmb290ICN0Zm9vdFJlZiBbc3R5bGUuYm90dG9tXT1cInN0aWNreUZvb3RlckJvdHRvbVBvc2l0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC90Zm9vdD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC90YWJsZT5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbn0gQGVsc2Uge1xuICAgIEBpZiAoaGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgICAgPHRoZWFkICN0aGVhZFJlZj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgfVxuICAgIEBpZiAoYm9keVRlbXBsYXRlKSB7XG4gICAgICAgIDx0Ym9keSAjdGJvZHlSZWY+XG4gICAgICAgICAgICBAZm9yIChyb3cgb2YgZGF0YVJlbmRlcmVkOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgcm93KSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3csIGluZGV4OiBpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAobm9EYXRhVGVtcGxhdGUgJiYgKGRhdGE/Lmxlbmd0aCA9PT0gMCB8fCBkYXRhUmVuZGVyZWQ/Lmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9EYXRhVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3Rib2R5PlxuICAgIH1cbiAgICBAaWYgKGZvb3RlclRlbXBsYXRlKSB7XG4gICAgICAgIDx0Zm9vdCAjdGZvb3RSZWY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3Rmb290PlxuICAgIH1cbn1cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbkxvYWRpbmc+XG4gICAgPHRyIFtzdHlsZS5oZWlnaHQucHhdPVwiaXRlbVNpemVcIj5cbiAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBfXyBvZiBuYkNvbHNcIj48ZXVpLXNrZWxldG9uIGxpbmUgZXVpUm91bmRlZD48L2V1aS1za2VsZXRvbj48L3RkPlxuICAgIDwvdHI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -66,11 +66,11 @@ export class EuiTableV2SortableColComponent {
66
66
  this.euiTableV2SortService.setSort(this.sortOn, order, this.isMultiSortable);
67
67
  }
68
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EuiTableV2SortableColComponent, deps: [{ token: i1.EuiTableV2SortService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: EuiTableV2SortableColComponent, selector: "th[isSortable]", inputs: { sortOn: "sortOn", sortOrder: "sortOrder", defaultOrder: ["defaultOrder", "defaultOrder", booleanAttribute], sortDisabled: ["sortDisabled", "sortDisabled", booleanAttribute], isMultiSortable: ["isMultiSortable", "isMultiSortable", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "euiDropdown", first: true, predicate: ["euiDropdown"], descendants: true }], ngImport: i0, template: "<div class=\"eui-table-v2__sortable-col-content\">\n <div class=\"eui-table-v2__sortable-col-content-label\">\n <ng-content></ng-content>\n\n @if (!isSorted && !sortDisabled) {\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n <eui-icon-svg class=\"sort-icon\" icon=\"swap-vertical:outline\"></eui-icon-svg>\n </button>\n }\n @if (order === 'asc' && isSorted && !sortDisabled) {\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-up:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n @if (order === 'desc' && isSorted && !sortDisabled) {\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-down:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n @if (sortedIndex && !sortDisabled) {\n <button euiSizeS euiButton euiBasicButton (click)=\"changeSort()\">\n <span class=\"eui-table-v2__sortable-col-multisort-index\">{{ sortedIndex }}</span>\n </button>\n }\n\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.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: i3.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: EuiTableV2SortableColComponent, selector: "th[isSortable]", inputs: { sortOn: "sortOn", sortOrder: "sortOrder", defaultOrder: ["defaultOrder", "defaultOrder", booleanAttribute], sortDisabled: ["sortDisabled", "sortDisabled", booleanAttribute], isMultiSortable: ["isMultiSortable", "isMultiSortable", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "euiDropdown", first: true, predicate: ["euiDropdown"], descendants: true }], ngImport: i0, template: "<div class=\"eui-table-v2__sortable-col-content\">\n <div class=\"eui-table-v2__sortable-col-content-label\">\n <ng-content></ng-content>\n\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n @if (!isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"swap-vertical:outline\"></eui-icon-svg>\n }\n @if (order === 'asc' && isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-up:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n }\n @if (order === 'desc' && isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-down:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n }\n </button>\n @if (sortedIndex && !sortDisabled) {\n <button euiSizeS euiButton euiBasicButton (click)=\"changeSort()\">\n <span class=\"eui-table-v2__sortable-col-multisort-index\">{{ sortedIndex }}</span>\n </button>\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.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: i3.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EuiTableV2SortableColComponent, decorators: [{
72
72
  type: Component,
73
- args: [{ selector: 'th[isSortable]', template: "<div class=\"eui-table-v2__sortable-col-content\">\n <div class=\"eui-table-v2__sortable-col-content-label\">\n <ng-content></ng-content>\n\n @if (!isSorted && !sortDisabled) {\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n <eui-icon-svg class=\"sort-icon\" icon=\"swap-vertical:outline\"></eui-icon-svg>\n </button>\n }\n @if (order === 'asc' && isSorted && !sortDisabled) {\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-up:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n @if (order === 'desc' && isSorted && !sortDisabled) {\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-down:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n @if (sortedIndex && !sortDisabled) {\n <button euiSizeS euiButton euiBasicButton (click)=\"changeSort()\">\n <span class=\"eui-table-v2__sortable-col-multisort-index\">{{ sortedIndex }}</span>\n </button>\n }\n\n </div>\n</div>\n" }]
73
+ args: [{ selector: 'th[isSortable]', template: "<div class=\"eui-table-v2__sortable-col-content\">\n <div class=\"eui-table-v2__sortable-col-content-label\">\n <ng-content></ng-content>\n\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n @if (!isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"swap-vertical:outline\"></eui-icon-svg>\n }\n @if (order === 'asc' && isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-up:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n }\n @if (order === 'desc' && isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-down:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n }\n </button>\n @if (sortedIndex && !sortDisabled) {\n <button euiSizeS euiButton euiBasicButton (click)=\"changeSort()\">\n <span class=\"eui-table-v2__sortable-col-multisort-index\">{{ sortedIndex }}</span>\n </button>\n }\n </div>\n</div>\n" }]
74
74
  }], ctorParameters: () => [{ type: i1.EuiTableV2SortService }, { type: i0.ElementRef }], propDecorators: { cssClasses: [{
75
75
  type: HostBinding,
76
76
  args: ['class']
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
91
91
  type: ViewChild,
92
92
  args: ['euiDropdown']
93
93
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLXYyLXNvcnRhYmxlLWNvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ldWktdGFibGUtdjIvc29ydGFibGUtY29sL2V1aS10YWJsZS12Mi1zb3J0YWJsZS1jb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vZXVpLXRhYmxlLXYyL3NvcnRhYmxlLWNvbC9ldWktdGFibGUtdjItc29ydGFibGUtY29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFZMUMsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxJQUNJLFVBQVU7UUFDVixPQUFPLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1SCxDQUFDO0lBaUJELFlBQW9CLHFCQUE0QyxFQUFVLFVBQXNCO1FBQTVFLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBZHZGLGNBQVMsR0FBYyxLQUFLLENBQUM7UUFFRSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV6RCxVQUFLLEdBQWMsSUFBSSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBVyxJQUFJLENBQUM7UUFJMUIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxD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O2dCQUtYLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVrQyxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFlBQVk7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNWixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCwgSG9zdEJpbmRpbmcsIGJvb2xlYW5BdHRyaWJ1dGUsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV1aURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1kcm9wZG93bic7XG5cbmltcG9ydCB7IEV1aVRhYmxlVjJTb3J0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V1aS10YWJsZS12Mi1zb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ydE9yZGVyIH0gZnJvbSAnLi4vbW9kZWxzL3NvcnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZWxlY3RvcjogJ3RoW2lzU29ydGFibGVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLXRhYmxlLXYyLXNvcnRhYmxlLWNvbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRhYmxlVjJTb3J0YWJsZUNvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gWydldWktdGFibGUtdjJfX3NvcnRhYmxlLWNvbCcsIHRoaXMuc29ydERpc2FibGVkID8gJ2V1aS10YWJsZS12Ml9fc29ydGFibGUtY29sLS1kaXNhYmxlZCcgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzb3J0T246IHN0cmluZztcbiAgICBASW5wdXQoKSBzb3J0T3JkZXI6IFNvcnRPcmRlciA9ICdhc2MnO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRlZmF1bHRPcmRlciA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzb3J0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNNdWx0aVNvcnRhYmxlID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgb3JkZXI6IFNvcnRPcmRlciA9IG51bGw7XG4gICAgcHVibGljIGlzU29ydGVkID0gZmFsc2U7XG4gICAgcHVibGljIHNvcnRlZEluZGV4OiBudW1iZXIgPSBudWxsO1xuXG4gICAgQFZpZXdDaGlsZCgnZXVpRHJvcGRvd24nKSBldWlEcm9wZG93bjogRXVpRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXVpVGFibGVWMlNvcnRTZXJ2aWNlOiBFdWlUYWJsZVYyU29ydFNlcnZpY2UsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zb3J0cy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzb3J0cykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNTb3J0ZWQgPSBzb3J0cy5maW5kKHMgPT4gcy5zb3J0ID09PSB0aGlzLnNvcnRPbik7XG4gICAgICAgICAgICB0aGlzLmlzU29ydGVkID0gaXNTb3J0ZWQgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU29ydGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlciA9IGlzU29ydGVkLm9yZGVyO1xuICAgICAgICAgICAgICAgIGlmIChzb3J0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc29ydGVkSW5kZXggPSBzb3J0cy5maW5kSW5kZXgocyA9PiBzLnNvcnQgPT09IHRoaXMuc29ydE9uKSArIDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zb3J0ZWRJbmRleCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLnNvcnRlZEluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdE9yZGVyKSB7XG4gICAgICAgICAgICB0aGlzLm9yZGVyID0gdGhpcy5zb3J0T3JkZXI7XG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zZXRTb3J0KHRoaXMuc29ydE9uLCB0aGlzLm9yZGVyLCB0aGlzLmlzTXVsdGlTb3J0YWJsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZVNvcnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zb3J0RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9yZGVyID09PSAnYXNjJykge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXIgPSAnZGVzYyc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3JkZXIgPT09ICdkZXNjJykge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXIgPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlciA9ICdhc2MnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zZXRTb3J0KHRoaXMuc29ydE9uLCB0aGlzLm9yZGVyLCB0aGlzLmlzTXVsdGlTb3J0YWJsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ecm9wZG93bkl0ZW1DbGljayhvcmRlcjogU29ydE9yZGVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNldFNvcnQodGhpcy5zb3J0T24sIG9yZGVyLCB0aGlzLmlzTXVsdGlTb3J0YWJsZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV1aS10YWJsZS12Ml9fc29ydGFibGUtY29sLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLXRhYmxlLXYyX19zb3J0YWJsZS1jb2wtY29udGVudC1sYWJlbFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgQGlmICghaXNTb3J0ZWQgJiYgIXNvcnREaXNhYmxlZCkge1xuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImV1aS11LW1sLXhzXCIgZXVpQnV0dG9uIGV1aUljb25CdXR0b24gZXVpQmFzaWNCdXR0b24gKGNsaWNrKT1cImNoYW5nZVNvcnQoKVwiPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgY2xhc3M9XCJzb3J0LWljb25cIiBpY29uPVwic3dhcC12ZXJ0aWNhbDpvdXRsaW5lXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKG9yZGVyID09PSAnYXNjJyAmJiBpc1NvcnRlZCAmJiAhc29ydERpc2FibGVkKSB7XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZXVpLXUtbWwteHNcIiBldWlCdXR0b24gZXVpSWNvbkJ1dHRvbiBldWlCYXNpY0J1dHRvbiAoY2xpY2spPVwiY2hhbmdlU29ydCgpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBjbGFzcz1cInNvcnQtaWNvblwiIGljb249XCJhcnJvdy11cDpvdXRsaW5lXCIgZmlsbENvbG9yPVwicHJpbWFyeVwiIFthcmlhLWxhYmVsXT1cIidldWkuZXVpdGFibGUuQVNDRU5ESU5HLUlDT04nIHwgdHJhbnNsYXRlXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKG9yZGVyID09PSAnZGVzYycgJiYgaXNTb3J0ZWQgJiYgIXNvcnREaXNhYmxlZCkge1xuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImV1aS11LW1sLXhzXCIgZXVpQnV0dG9uIGV1aUljb25CdXR0b24gZXVpQmFzaWNCdXR0b24gKGNsaWNrKT1cImNoYW5nZVNvcnQoKVwiPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgY2xhc3M9XCJzb3J0LWljb25cIiBpY29uPVwiYXJyb3ctZG93bjpvdXRsaW5lXCIgZmlsbENvbG9yPVwicHJpbWFyeVwiIFthcmlhLWxhYmVsXT1cIidldWkuZXVpdGFibGUuREVTQ0VORElORy1JQ09OJyB8IHRyYW5zbGF0ZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChzb3J0ZWRJbmRleCAmJiAhc29ydERpc2FibGVkKSB7XG4gICAgICAgICAgICA8YnV0dG9uIGV1aVNpemVTIGV1aUJ1dHRvbiBldWlCYXNpY0J1dHRvbiAoY2xpY2spPVwiY2hhbmdlU29ydCgpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdGFibGUtdjJfX3NvcnRhYmxlLWNvbC1tdWx0aXNvcnQtaW5kZXhcIj57eyBzb3J0ZWRJbmRleCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLXYyLXNvcnRhYmxlLWNvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ldWktdGFibGUtdjIvc29ydGFibGUtY29sL2V1aS10YWJsZS12Mi1zb3J0YWJsZS1jb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vZXVpLXRhYmxlLXYyL3NvcnRhYmxlLWNvbC9ldWktdGFibGUtdjItc29ydGFibGUtY29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFZMUMsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxJQUNJLFVBQVU7UUFDVixPQUFPLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1SCxDQUFDO0lBaUJELFlBQW9CLHFCQUE0QyxFQUFVLFVBQXNCO1FBQTVFLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBZHZGLGNBQVMsR0FBYyxLQUFLLENBQUM7UUFFRSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV6RCxVQUFLLEdBQWMsSUFBSSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBVyxJQUFJLENBQUM7UUFJMUIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxD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O2dCQUtYLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVrQyxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFlBQVk7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNWixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCwgSG9zdEJpbmRpbmcsIGJvb2xlYW5BdHRyaWJ1dGUsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV1aURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1kcm9wZG93bic7XG5cbmltcG9ydCB7IEV1aVRhYmxlVjJTb3J0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V1aS10YWJsZS12Mi1zb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ydE9yZGVyIH0gZnJvbSAnLi4vbW9kZWxzL3NvcnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZWxlY3RvcjogJ3RoW2lzU29ydGFibGVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLXRhYmxlLXYyLXNvcnRhYmxlLWNvbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRhYmxlVjJTb3J0YWJsZUNvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gWydldWktdGFibGUtdjJfX3NvcnRhYmxlLWNvbCcsIHRoaXMuc29ydERpc2FibGVkID8gJ2V1aS10YWJsZS12Ml9fc29ydGFibGUtY29sLS1kaXNhYmxlZCcgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzb3J0T246IHN0cmluZztcbiAgICBASW5wdXQoKSBzb3J0T3JkZXI6IFNvcnRPcmRlciA9ICdhc2MnO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRlZmF1bHRPcmRlciA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzb3J0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNNdWx0aVNvcnRhYmxlID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgb3JkZXI6IFNvcnRPcmRlciA9IG51bGw7XG4gICAgcHVibGljIGlzU29ydGVkID0gZmFsc2U7XG4gICAgcHVibGljIHNvcnRlZEluZGV4OiBudW1iZXIgPSBudWxsO1xuXG4gICAgQFZpZXdDaGlsZCgnZXVpRHJvcGRvd24nKSBldWlEcm9wZG93bjogRXVpRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXVpVGFibGVWMlNvcnRTZXJ2aWNlOiBFdWlUYWJsZVYyU29ydFNlcnZpY2UsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zb3J0cy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzb3J0cykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNTb3J0ZWQgPSBzb3J0cy5maW5kKHMgPT4gcy5zb3J0ID09PSB0aGlzLnNvcnRPbik7XG4gICAgICAgICAgICB0aGlzLmlzU29ydGVkID0gaXNTb3J0ZWQgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU29ydGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlciA9IGlzU29ydGVkLm9yZGVyO1xuICAgICAgICAgICAgICAgIGlmIChzb3J0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc29ydGVkSW5kZXggPSBzb3J0cy5maW5kSW5kZXgocyA9PiBzLnNvcnQgPT09IHRoaXMuc29ydE9uKSArIDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zb3J0ZWRJbmRleCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLnNvcnRlZEluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdE9yZGVyKSB7XG4gICAgICAgICAgICB0aGlzLm9yZGVyID0gdGhpcy5zb3J0T3JkZXI7XG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zZXRTb3J0KHRoaXMuc29ydE9uLCB0aGlzLm9yZGVyLCB0aGlzLmlzTXVsdGlTb3J0YWJsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZVNvcnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zb3J0RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9yZGVyID09PSAnYXNjJykge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXIgPSAnZGVzYyc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3JkZXIgPT09ICdkZXNjJykge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXIgPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlciA9ICdhc2MnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zZXRTb3J0KHRoaXMuc29ydE9uLCB0aGlzLm9yZGVyLCB0aGlzLmlzTXVsdGlTb3J0YWJsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ecm9wZG93bkl0ZW1DbGljayhvcmRlcjogU29ydE9yZGVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNldFNvcnQodGhpcy5zb3J0T24sIG9yZGVyLCB0aGlzLmlzTXVsdGlTb3J0YWJsZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV1aS10YWJsZS12Ml9fc29ydGFibGUtY29sLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLXRhYmxlLXYyX19zb3J0YWJsZS1jb2wtY29udGVudC1sYWJlbFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImV1aS11LW1sLXhzXCIgZXVpQnV0dG9uIGV1aUljb25CdXR0b24gZXVpQmFzaWNCdXR0b24gKGNsaWNrKT1cImNoYW5nZVNvcnQoKVwiPlxuICAgICAgICAgICAgQGlmICghaXNTb3J0ZWQgJiYgIXNvcnREaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgY2xhc3M9XCJzb3J0LWljb25cIiBpY29uPVwic3dhcC12ZXJ0aWNhbDpvdXRsaW5lXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKG9yZGVyID09PSAnYXNjJyAmJiBpc1NvcnRlZCAmJiAhc29ydERpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBjbGFzcz1cInNvcnQtaWNvblwiIGljb249XCJhcnJvdy11cDpvdXRsaW5lXCIgZmlsbENvbG9yPVwicHJpbWFyeVwiIFthcmlhLWxhYmVsXT1cIidldWkuZXVpdGFibGUuQVNDRU5ESU5HLUlDT04nIHwgdHJhbnNsYXRlXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKG9yZGVyID09PSAnZGVzYycgJiYgaXNTb3J0ZWQgJiYgIXNvcnREaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgY2xhc3M9XCJzb3J0LWljb25cIiBpY29uPVwiYXJyb3ctZG93bjpvdXRsaW5lXCIgZmlsbENvbG9yPVwicHJpbWFyeVwiIFthcmlhLWxhYmVsXT1cIidldWkuZXVpdGFibGUuREVTQ0VORElORy1JQ09OJyB8IHRyYW5zbGF0ZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgQGlmIChzb3J0ZWRJbmRleCAmJiAhc29ydERpc2FibGVkKSB7XG4gICAgICAgICAgICA8YnV0dG9uIGV1aVNpemVTIGV1aUJ1dHRvbiBldWlCYXNpY0J1dHRvbiAoY2xpY2spPVwiY2hhbmdlU29ydCgpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdGFibGUtdjJfX3NvcnRhYmxlLWNvbC1tdWx0aXNvcnQtaW5kZXhcIj57eyBzb3J0ZWRJbmRleCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -13,7 +13,7 @@ export declare class EuiAvatarComponent {
13
13
  hasNoBackground: boolean;
14
14
  constructor(baseStatesDirective: BaseStatesDirective);
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiAvatarComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<EuiAvatarComponent, "div[euiAvatar], span[euiAvatar], eui-avatar", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "hasShadow": { "alias": "hasShadow"; "required": false; }; "isShapeSquare": { "alias": "isShapeSquare"; "required": false; }; "isFlat": { "alias": "isFlat"; "required": false; }; "hasNoBackground": { "alias": "hasNoBackground"; "required": false; }; }, {}, never, ["eui-avatar-icon", "eui-avatar-text", "eui-avatar-image", "eui-avatar-badge"], false, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiSecondary": "euiSecondary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiAccent": "euiAccent"; "euiVariant": "euiVariant"; "euiSizeXS": "euiSizeXS"; "euiSizeS": "euiSizeS"; "euiSizeL": "euiSizeL"; "euiSizeXL": "euiSizeXL"; "euiSize2XL": "euiSize2XL"; "euiSizeVariant": "euiSizeVariant"; }; outputs: {}; }]>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<EuiAvatarComponent, "div[euiAvatar], span[euiAvatar], eui-avatar", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "hasShadow": { "alias": "hasShadow"; "required": false; }; "isShapeSquare": { "alias": "isShapeSquare"; "required": false; }; "isFlat": { "alias": "isFlat"; "required": false; }; "hasNoBackground": { "alias": "hasNoBackground"; "required": false; }; }, {}, never, ["eui-avatar-icon", "eui-avatar-text", "eui-avatar-image", "eui-avatar-badge"], false, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiAccent": "euiAccent"; "euiVariant": "euiVariant"; "euiSizeXS": "euiSizeXS"; "euiSizeS": "euiSizeS"; "euiSizeL": "euiSizeL"; "euiSizeXL": "euiSizeXL"; "euiSize2XL": "euiSize2XL"; "euiSizeVariant": "euiSizeVariant"; }; outputs: {}; }]>;
17
17
  static ngAcceptInputType_hasShadow: unknown;
18
18
  static ngAcceptInputType_isShapeSquare: unknown;
19
19
  static ngAcceptInputType_isFlat: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"eui-avatar.component.d.ts","sourceRoot":"","sources":["../../eui-avatar/eui-avatar.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;;;AAE7D,qBA4Ba,kBAAkB;IAqBhB,mBAAmB,EAAE,mBAAmB;IApBnD,IACW,UAAU,IAAI,MAAM,CAO9B;IAEsC,OAAO,SAAgB;IACpC,IAAI,SAAY;IACW,SAAS,EAAE,MAAM,GAAG,IAAI,CAAY;IAEjD,SAAS,UAAS;IAClB,aAAa,UAAS;IACtB,MAAM,UAAS;IACf,eAAe,UAAS;gBAGrD,mBAAmB,EAAE,mBAAmB;yCArB1C,kBAAkB;2CAAlB,kBAAkB;wCAwBiq0B,OAAQ;4CAAR,OAAQ;qCAAR,OAAQ;8CAAR,OAAQ;CADvs0B"}
1
+ {"version":3,"file":"eui-avatar.component.d.ts","sourceRoot":"","sources":["../../eui-avatar/eui-avatar.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;;;AAE7D,qBA6Ba,kBAAkB;IAqBhB,mBAAmB,EAAE,mBAAmB;IApBnD,IACW,UAAU,IAAI,MAAM,CAO9B;IAEsC,OAAO,SAAgB;IACpC,IAAI,SAAY;IACW,SAAS,EAAE,MAAM,GAAG,IAAI,CAAY;IAEjD,SAAS,UAAS;IAClB,aAAa,UAAS;IACtB,MAAM,UAAS;IACf,eAAe,UAAS;gBAGrD,mBAAmB,EAAE,mBAAmB;yCArB1C,kBAAkB;2CAAlB,kBAAkB;wCAwBmo0B,OAAQ;4CAAR,OAAQ;qCAAR,OAAQ;8CAAR,OAAQ;CADzq0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-chip.component.d.ts","sourceRoot":"","sources":["../../eui-chip/eui-chip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,SAAS,EACT,gBAAgB,EAEhB,YAAY,EAEZ,UAAU,EAEb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;;;AAElD,qBA+Ba,gBAAiB,YAAW,gBAAgB;IA2CjD,OAAO,CAAC,WAAW;IACZ,mBAAmB,EAAE,mBAAmB;IA3CnD,IACI,UAAU,IAAI,MAAM,CAQvB;IAEyB,IAAI,SAAY;IACD,SAAS,SAAkB;IAIpE,OAAO,SAAc;IAEZ,aAAa,EAAE,MAAM,CAAQ;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAIpB,IAAI,EAAE,GAAG,CAOhB;IAEsC,eAAe,UAAS;IACxB,SAAS,UAAS;IAEhD,MAAM;cAAyD,gBAAgB,GAAG,OAAO;gBAAU,KAAK;OAAM;IAEhE,QAAQ,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzE,SAAS,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAGpD,WAAW,EAAE,UAAU,EACxB,mBAAmB,EAAE,mBAAmB;IAInD,kBAAkB,IAAI,IAAI;IAcnB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;yCA9D3B,gBAAgB;2CAAhB,gBAAgB;8CAsE27wB,OAAQ;wCAAR,OAAQ;CAD/9wB"}
1
+ {"version":3,"file":"eui-chip.component.d.ts","sourceRoot":"","sources":["../../eui-chip/eui-chip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,SAAS,EACT,gBAAgB,EAEhB,YAAY,EAEZ,UAAU,EAEb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;;;AAElD,qBA+Ba,gBAAiB,YAAW,gBAAgB;IA2CjD,OAAO,CAAC,WAAW;IACZ,mBAAmB,EAAE,mBAAmB;IA3CnD,IACI,UAAU,IAAI,MAAM,CAQvB;IAEyB,IAAI,SAAY;IACD,SAAS,SAAkB;IAIpE,OAAO,SAAc;IAEZ,aAAa,EAAE,MAAM,CAAQ;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAIpB,IAAI,EAAE,GAAG,CAOhB;IAEsC,eAAe,UAAS;IACxB,SAAS,UAAS;IAEhD,MAAM;cAAyD,gBAAgB,GAAG,OAAO;gBAAU,KAAK;OAAM;IAEhE,QAAQ,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzE,SAAS,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAGpD,WAAW,EAAE,UAAU,EACxB,mBAAmB,EAAE,mBAAmB;IAInD,kBAAkB,IAAI,IAAI;IAUnB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;yCA1D3B,gBAAgB;2CAAhB,gBAAgB;8CAkEkjxB,OAAQ;wCAAR,OAAQ;CADtlxB"}