@eui/components 18.0.0-rc.17 → 18.0.0-rc.18

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 (34) hide show
  1. package/docs/components/EuiToolbarComponent.html +4 -4
  2. package/docs/components/EuiToolbarMenuComponent.html +4 -0
  3. package/docs/components/EuiToolbarNavbarComponent.html +6 -1
  4. package/docs/components/EuiToolbarSearchComponent.html +81 -2
  5. package/docs/components/EuiToolbarSelectorComponent.html +50 -1
  6. package/docs/components/EuiTreeComponent.html +1 -1
  7. package/docs/dependencies.html +1 -1
  8. package/docs/js/search/search_index.js +2 -2
  9. package/esm2022/eui-badge/eui-badge.component.mjs +2 -2
  10. package/esm2022/eui-dialog/eui-dialog.component.mjs +2 -2
  11. package/esm2022/eui-page/components/eui-page-footer/eui-page-footer.component.mjs +2 -2
  12. package/esm2022/eui-tree/eui-tree.component.mjs +3 -3
  13. package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +3 -3
  14. package/esm2022/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.mjs +5 -4
  15. package/esm2022/layout/eui-toolbar/toolbar-search/toolbar-search.component.mjs +38 -27
  16. package/esm2022/layout/eui-toolbar/toolbar-selector/toolbar-selector.component.mjs +15 -8
  17. package/esm2022/layout/eui-toolbar/toolbar.component.mjs +3 -3
  18. package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
  19. package/fesm2022/eui-components-eui-badge.mjs +2 -2
  20. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  21. package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
  22. package/fesm2022/eui-components-eui-page.mjs +1 -1
  23. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  24. package/fesm2022/eui-components-eui-tree.mjs +2 -2
  25. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  26. package/fesm2022/eui-components-layout.mjs +64 -52
  27. package/fesm2022/eui-components-layout.mjs.map +1 -1
  28. package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts.map +1 -1
  29. package/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.d.ts.map +1 -1
  30. package/layout/eui-toolbar/toolbar-search/toolbar-search.component.d.ts +4 -1
  31. package/layout/eui-toolbar/toolbar-search/toolbar-search.component.d.ts.map +1 -1
  32. package/layout/eui-toolbar/toolbar-selector/toolbar-selector.component.d.ts +3 -0
  33. package/layout/eui-toolbar/toolbar-selector/toolbar-selector.component.d.ts.map +1 -1
  34. package/package.json +3 -3
@@ -139,7 +139,7 @@ export class EuiToolbarMenuComponent {
139
139
  }
140
140
  }
141
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarMenuComponent, deps: [{ token: i1.EuiAppShellService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: EuiToolbarMenuComponent, isStandalone: true, selector: "eui-toolbar-menu", inputs: { items: "items" }, outputs: { menuItemClick: "menuItemClick" }, host: { properties: { "class": "this.cssClasses" } }, usesOnChanges: true, ngImport: i0, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"chevron-down:sharp\" [fillColor]=\"link.active ? 'neutral' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"chevron-down:sharp\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", dependencies: [{ kind: "ngmodule", type: EuiIconModule }, { 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: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: EuiToolbarMenuComponent, isStandalone: true, selector: "eui-toolbar-menu", inputs: { items: "items" }, outputs: { menuItemClick: "menuItemClick" }, host: { properties: { "class": "this.cssClasses" } }, usesOnChanges: true, ngImport: i0, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"chevron-down:sharp\" [fillColor]=\"link.active ? 'neutral' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"chevron-down:sharp\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", styles: [".eui-toolbar-menu{display:flex;height:var(--eui-app-toolbar-height);width:100%}.eui-toolbar-menu-content{display:grid;height:var(--eui-app-toolbar-height);list-style-type:none;margin:0;padding:0;position:relative;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content ul:not(.show){display:flex;list-style:none;width:100%;z-index:calc(var(--eui-zi-sidebar) + 1)}.eui-toolbar-menu-content ul,.eui-toolbar-menu-content ul li,.eui-toolbar-menu-content ul li a{border:var(--eui-bw-none);border-bottom:2px solid var(--eui-c-branding);color:var(--eui-c-white);display:block;height:var(--eui-app-toolbar-height);line-height:var(--eui-s-l);margin:0;max-height:var(--eui-app-toolbar-height);min-width:0;padding:0;position:relative;text-decoration:none;display:flex}.eui-toolbar-menu-content ul.disabled,.eui-toolbar-menu-content ul li.disabled,.eui-toolbar-menu-content ul li a.disabled{opacity:var(--eui-o-50)}.eui-toolbar-menu-content ul.hidden,.eui-toolbar-menu-content ul li.hidden,.eui-toolbar-menu-content ul li a.hidden{display:none!important}.eui-toolbar-menu-content ul:hover,.eui-toolbar-menu-content ul li:hover,.eui-toolbar-menu-content ul li a:hover{background-color:var(--eui-c-branding);text-decoration:none!important}.eui-toolbar-menu-content:after,.eui-toolbar-menu-content>ul:after{clear:both;content:\".\";display:block;height:0;line-height:0;visibility:hidden}.eui-toolbar-menu-content>ul>li{border-right:1px ridge rgba(255,255,255,.25);box-sizing:border-box;display:inline-block;min-width:60px}.eui-toolbar-menu-content>ul>li:empty{min-width:0}.eui-toolbar-menu-content>ul>li:last-child{border-right:none}.eui-toolbar-menu-content>ul>li>a{border-bottom:3px solid transparent;padding:var(--eui-s-m) var(--eui-s-s) var(--eui-s-xs);text-align:center;transition:color 0s linear,background-color .3s linear}.eui-toolbar-menu-content>ul>li>a:hover,.eui-toolbar-menu-content>ul>li>a:focus{border-color:var(--eui-c-neutral-lighter)!important}.eui-toolbar-menu-content>ul>li>a:hover.disabled,.eui-toolbar-menu-content>ul>li>a:focus.disabled{border-bottom:0 transparent}.eui-toolbar-menu-content>ul>li>a:not(.icon-home-link){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-menu-content>ul>li.selected>a,.eui-toolbar-menu-content>ul>li:hover>a{background-color:var(--eui-c-accent);border-bottom:3px solid var(--eui-c-accent-dark);color:var(--eui-c-black)!important}.eui-toolbar-menu-content>ul>li.selected>a .eui-icon-svg>svg,.eui-toolbar-menu-content>ul>li:hover>a .eui-icon-svg>svg{color:var(--eui-c-neutral-bg-light);fill:var(--eui-c-neutral-bg-light)}.eui-toolbar-menu-content>ul>li.selected>a.disabled,.eui-toolbar-menu-content>ul>li:hover>a.disabled{background-color:transparent!important;border-bottom:0;border-left:0;opacity:var(--eui-o-50);cursor:not-allowed}.eui-toolbar-menu-content ul ul{left:-9999px;position:absolute;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content li:hover>ul.show,.eui-toolbar-menu-content li:focus-within>ul.showOnEnter{left:auto}.eui-toolbar-menu-content .showOnEnter a:focus{border-color:var(--eui-c-neutral-bg-light)}.eui-toolbar-menu-content ul.show .eui-icon-svg>svg{color:var(--eui-c-white);fill:var(--eui-c-white);height:1.25rem;width:1.25rem}.eui-toolbar-menu-content ul ul ul{margin-left:100%;top:0;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content ul ul li{height:0;transition:height .2s ease-in-out}.eui-toolbar-menu-content ul ul li.child{background:var(--eui-c-branding-dark);height:auto;min-height:var(--eui-s-3xl)}.eui-toolbar-menu-content ul ul li.child:empty{min-height:0}.eui-toolbar-menu-content ul ul li.child .eui-toolbar-menu-item__icon{margin-right:var(--eui-s-xs)}.eui-toolbar-menu-content ul ul li.child .eui-toolbar-menu-item__label{padding:var(--eui-s-2xs);position:relative}.eui-toolbar-menu-content ul ul li.hidden{display:none!important}.eui-toolbar-menu-content ul ul li a,.eui-toolbar-menu-content ul ul li h2{align-items:center;background:var(--eui-c-branding-dark);display:flex;line-height:1.25;min-height:var(--eui-s-3xl);min-width:260px;padding:var(--eui-s-2xs) var(--eui-s-xs);text-decoration:none;transition:color .2s ease-in-out}.eui-toolbar-menu-content ul ul li h2{color:var(--eui-c-accent);font-size:var(--eui-f-size-m);padding-left:var(--eui-s-xs);padding-top:var(--eui-s-s)}.eui-toolbar-menu-content ul ul li a{border-left:3px solid transparent;padding-left:var(--eui-s-2xs)}.eui-toolbar-menu-content ul ul li:hover>a,.eui-toolbar-menu-content ul ul li a:hover{border-left:3px solid var(--eui-c-accent-dark);color:var(--eui-c-accent)!important}.eui-toolbar-menu-content ul ul li.has-sub>a:after{border-bottom:2px solid var(--eui-c-neutral-lightest);border-right:2px solid var(--eui-c-neutral-lightest);content:\"\";height:10px;position:absolute;right:10px;top:var(--eui-s-s);transform:rotate(-45deg);width:10px}.eui-toolbar-menu-content ul ul li a.disabled{opacity:var(--eui-o-50);cursor:default}.eui-toolbar-menu-content ul ul li a.disabled:hover{border-left:0}.eui-toolbar-menu-content ul ul li.separator{background-color:var(--eui-c-neutral-bg-light)!important;height:1px!important}.eui-toolbar-menu-content .icon-home-link .eui-icon-svg>svg{height:1.5rem;width:1.5rem}.eui-toolbar-menu-content .icon-menu-item.selected .icon-home-link:after,.eui-toolbar-menu-content .icon-menu-item:hover .icon-home-link:after{border-right:0}.eui-toolbar-menu-content .icon-menu-item.selected .icon-home-link:before,.eui-toolbar-menu-content .icon-menu-item:hover .icon-home-link:before{border-left:0}.eui-toolbar-menu-content .eui-toolbar-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#nav-bar.sidebar-toggle-with-top-menu #top-menu{left:calc(var(--eui-layout-sidebar-width) + var(--eui-f-size-base));position:absolute}\n"], dependencies: [{ kind: "ngmodule", type: EuiIconModule }, { 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: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
143
143
  }
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarMenuComponent, decorators: [{
145
145
  type: Component,
@@ -150,7 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
150
150
  NgIf,
151
151
  RouterLink,
152
152
  TranslateModule,
153
- ], template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"chevron-down:sharp\" [fillColor]=\"link.active ? 'neutral' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"chevron-down:sharp\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n" }]
153
+ ], template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"chevron-down:sharp\" [fillColor]=\"link.active ? 'neutral' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"chevron-down:sharp\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", styles: [".eui-toolbar-menu{display:flex;height:var(--eui-app-toolbar-height);width:100%}.eui-toolbar-menu-content{display:grid;height:var(--eui-app-toolbar-height);list-style-type:none;margin:0;padding:0;position:relative;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content ul:not(.show){display:flex;list-style:none;width:100%;z-index:calc(var(--eui-zi-sidebar) + 1)}.eui-toolbar-menu-content ul,.eui-toolbar-menu-content ul li,.eui-toolbar-menu-content ul li a{border:var(--eui-bw-none);border-bottom:2px solid var(--eui-c-branding);color:var(--eui-c-white);display:block;height:var(--eui-app-toolbar-height);line-height:var(--eui-s-l);margin:0;max-height:var(--eui-app-toolbar-height);min-width:0;padding:0;position:relative;text-decoration:none;display:flex}.eui-toolbar-menu-content ul.disabled,.eui-toolbar-menu-content ul li.disabled,.eui-toolbar-menu-content ul li a.disabled{opacity:var(--eui-o-50)}.eui-toolbar-menu-content ul.hidden,.eui-toolbar-menu-content ul li.hidden,.eui-toolbar-menu-content ul li a.hidden{display:none!important}.eui-toolbar-menu-content ul:hover,.eui-toolbar-menu-content ul li:hover,.eui-toolbar-menu-content ul li a:hover{background-color:var(--eui-c-branding);text-decoration:none!important}.eui-toolbar-menu-content:after,.eui-toolbar-menu-content>ul:after{clear:both;content:\".\";display:block;height:0;line-height:0;visibility:hidden}.eui-toolbar-menu-content>ul>li{border-right:1px ridge rgba(255,255,255,.25);box-sizing:border-box;display:inline-block;min-width:60px}.eui-toolbar-menu-content>ul>li:empty{min-width:0}.eui-toolbar-menu-content>ul>li:last-child{border-right:none}.eui-toolbar-menu-content>ul>li>a{border-bottom:3px solid transparent;padding:var(--eui-s-m) var(--eui-s-s) var(--eui-s-xs);text-align:center;transition:color 0s linear,background-color .3s linear}.eui-toolbar-menu-content>ul>li>a:hover,.eui-toolbar-menu-content>ul>li>a:focus{border-color:var(--eui-c-neutral-lighter)!important}.eui-toolbar-menu-content>ul>li>a:hover.disabled,.eui-toolbar-menu-content>ul>li>a:focus.disabled{border-bottom:0 transparent}.eui-toolbar-menu-content>ul>li>a:not(.icon-home-link){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-menu-content>ul>li.selected>a,.eui-toolbar-menu-content>ul>li:hover>a{background-color:var(--eui-c-accent);border-bottom:3px solid var(--eui-c-accent-dark);color:var(--eui-c-black)!important}.eui-toolbar-menu-content>ul>li.selected>a .eui-icon-svg>svg,.eui-toolbar-menu-content>ul>li:hover>a .eui-icon-svg>svg{color:var(--eui-c-neutral-bg-light);fill:var(--eui-c-neutral-bg-light)}.eui-toolbar-menu-content>ul>li.selected>a.disabled,.eui-toolbar-menu-content>ul>li:hover>a.disabled{background-color:transparent!important;border-bottom:0;border-left:0;opacity:var(--eui-o-50);cursor:not-allowed}.eui-toolbar-menu-content ul ul{left:-9999px;position:absolute;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content li:hover>ul.show,.eui-toolbar-menu-content li:focus-within>ul.showOnEnter{left:auto}.eui-toolbar-menu-content .showOnEnter a:focus{border-color:var(--eui-c-neutral-bg-light)}.eui-toolbar-menu-content ul.show .eui-icon-svg>svg{color:var(--eui-c-white);fill:var(--eui-c-white);height:1.25rem;width:1.25rem}.eui-toolbar-menu-content ul ul ul{margin-left:100%;top:0;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content ul ul li{height:0;transition:height .2s ease-in-out}.eui-toolbar-menu-content ul ul li.child{background:var(--eui-c-branding-dark);height:auto;min-height:var(--eui-s-3xl)}.eui-toolbar-menu-content ul ul li.child:empty{min-height:0}.eui-toolbar-menu-content ul ul li.child .eui-toolbar-menu-item__icon{margin-right:var(--eui-s-xs)}.eui-toolbar-menu-content ul ul li.child .eui-toolbar-menu-item__label{padding:var(--eui-s-2xs);position:relative}.eui-toolbar-menu-content ul ul li.hidden{display:none!important}.eui-toolbar-menu-content ul ul li a,.eui-toolbar-menu-content ul ul li h2{align-items:center;background:var(--eui-c-branding-dark);display:flex;line-height:1.25;min-height:var(--eui-s-3xl);min-width:260px;padding:var(--eui-s-2xs) var(--eui-s-xs);text-decoration:none;transition:color .2s ease-in-out}.eui-toolbar-menu-content ul ul li h2{color:var(--eui-c-accent);font-size:var(--eui-f-size-m);padding-left:var(--eui-s-xs);padding-top:var(--eui-s-s)}.eui-toolbar-menu-content ul ul li a{border-left:3px solid transparent;padding-left:var(--eui-s-2xs)}.eui-toolbar-menu-content ul ul li:hover>a,.eui-toolbar-menu-content ul ul li a:hover{border-left:3px solid var(--eui-c-accent-dark);color:var(--eui-c-accent)!important}.eui-toolbar-menu-content ul ul li.has-sub>a:after{border-bottom:2px solid var(--eui-c-neutral-lightest);border-right:2px solid var(--eui-c-neutral-lightest);content:\"\";height:10px;position:absolute;right:10px;top:var(--eui-s-s);transform:rotate(-45deg);width:10px}.eui-toolbar-menu-content ul ul li a.disabled{opacity:var(--eui-o-50);cursor:default}.eui-toolbar-menu-content ul ul li a.disabled:hover{border-left:0}.eui-toolbar-menu-content ul ul li.separator{background-color:var(--eui-c-neutral-bg-light)!important;height:1px!important}.eui-toolbar-menu-content .icon-home-link .eui-icon-svg>svg{height:1.5rem;width:1.5rem}.eui-toolbar-menu-content .icon-menu-item.selected .icon-home-link:after,.eui-toolbar-menu-content .icon-menu-item:hover .icon-home-link:after{border-right:0}.eui-toolbar-menu-content .icon-menu-item.selected .icon-home-link:before,.eui-toolbar-menu-content .icon-menu-item:hover .icon-home-link:before{border-left:0}.eui-toolbar-menu-content .eui-toolbar-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#nav-bar.sidebar-toggle-with-top-menu #top-menu{left:calc(var(--eui-layout-sidebar-width) + var(--eui-f-size-base));position:absolute}\n"] }]
154
154
  }], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i0.ChangeDetectorRef }], propDecorators: { cssClasses: [{
155
155
  type: HostBinding,
156
156
  args: ['class']
@@ -159,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
159
159
  }], menuItemClick: [{
160
160
  type: Output
161
161
  }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBSUwsTUFBTSxFQUNOLFlBQVksR0FHZixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQWdCN0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxJQUNXLFVBQVU7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQztJQUM5QixDQUFDO0lBWUQsWUFDVyxTQUE2QixFQUM1QixFQUFxQjtRQUR0QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQVJ2QixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFMUQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFRbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENB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LENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3hCLGdFQUFnRTtvQkFDaEUsVUFBVSxDQUFDLE1BQU0sR0FBRyxHQUFTLEVBQUUsR0FBRSxDQUFDLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBQztnQkFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQ2hDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7OEdBdEpRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGdPQ25DcEMsaXFSQW9JQSwyQ0R6R1EsYUFBYSx1VUFDYixLQUFLLG1IQUVMLElBQUksNkZBQ0osVUFBVSxtT0FDVixlQUFlOzsyRkFHVix1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0ksa0JBQWtCLGlCQUViLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNMLGFBQWE7d0JBQ2IsS0FBSzt3QkFDTCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osVUFBVTt3QkFDVixlQUFlO3FCQUNsQjt1SEFJVSxVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU87Z0JBT1gsS0FBSztzQkFBYixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpQXBwU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEV1aU1lbnVJdGVtIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1tZW51JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXVpSWNvbk1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktaWNvbic7XG5pbXBvcnQgeyBOZ0ZvciwgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10b29sYmFyLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEV1aUljb25Nb2R1bGUsXG4gICAgICAgIE5nRm9yLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVG9vbGJhck1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdldWktdG9vbGJhci1tZW51JztcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBASW5wdXQoKSBpdGVtczogYW55W107XG5cbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+KCk7XG5cbiAgICBpc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBzdWJzOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGFzU2VydmljZTogRXVpQXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICAgICAgdGhpcy5zdWJzID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1Rvb2xiYXJNZW51OiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBzdWJzY3JpYmUgdG8gc3RhdGUgY2hhbmdlc1xuICAgICAgICB0aGlzLnN1YnMuYWRkKHRoaXMuYXNTZXJ2aWNlLmdldFN0YXRlKCdtZW51TGlua3MnKS5zdWJzY3JpYmUoKGxpbmtzKSA9PiAodGhpcy5pdGVtcyA9IGxpbmtzKSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICBoYXNUb29sYmFyTWVudTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgICAgICBtZW51TGlua3M6IGNoYW5nZXMuaXRlbXMuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkxpbmtDbGljayhsaW5rOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAobGluay51cmwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxpbmsuZGlzYWJsZWQgJiYgbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQobGluayk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFsaW5rLmRpc2FibGVkICYmICFsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVJdGVtQ2xpY2suZW1pdChsaW5rKTtcblxuICAgICAgICAgICAgLy8gY2xpY2sgb24gZHJvcGl0ZW1zIHRvIGNsb3NlIGRyb3Bkb3duXG4gICAgICAgICAgICBjb25zdCBkcm9wZG93biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0b3AtbWVudSBsaTpob3ZlciA+IHVsJyk7XG4gICAgICAgICAgICBkcm9wZG93bi5mb3JFYWNoKChtZW51cykgPT4ge1xuICAgICAgICAgICAgICAgIG1lbnVzLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgICAgICAgICBtZW51cy5jbGFzc0xpc3QucmVtb3ZlKCdzaG93T25FbnRlcicpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIG9wZW4gYWdhaW4gb24gbW91c2VvdmVyXG4gICAgICAgICAgICBjb25zdCBkcm9wQnRucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0b3AtbWVudSBsaTpob3ZlcicpO1xuICAgICAgICAgICAgZHJvcEJ0bnMuZm9yRWFjaCgoYnRuKSA9PiB7XG4gICAgICAgICAgICAgICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRyb3BDb250ZW50ID0gYnRuLnF1ZXJ5U2VsZWN0b3IoJyN0b3AtbWVudSBsaTpob3ZlciA+IHVsJyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZE9wZW4gPSBkcm9wQ29udGVudCA/ICFkcm9wQ29udGVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoc2hvdWxkT3Blbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZHJvcENvbnRlbnQuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGluay51cmxFeHRlcm5hbCkge1xuICAgICAgICAgICAgd2luZG93Lm9wZW4obGluay51cmxFeHRlcm5hbCwgbGluaz8udXJsRXh0ZXJuYWxUYXJnZXQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaW5rLmNvbW1hbmQpIHtcbiAgICAgICAgICAgIGxpbmsuY29tbWFuZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBsaW5rOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSAnRW50ZXInOiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsudXJsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQobGluayk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQobGluayk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsudXJsRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4obGluay51cmxFeHRlcm5hbCwgbGluay51cmxFeHRlcm5hbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluay5jb21tYW5kKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnVGFiJzoge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzZHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RjaGlsZCA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNoaWxkID4gYScpKS5yZXZlcnNlKClbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGxhc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkIG9uYmx1clxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ0VzY2FwZSc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5ICYmIGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzZHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlyc3RjaGlsZCA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNoaWxkID4gYScpKVswXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICBmaXJzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZmlyc3QgY2hpbGQgb25ibHVyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgZmlyc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7fTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmF2IGlkPVwidG9wLW1lbnVcIiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtY29udGVudFwiICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoICE9PSAwXCI+XG4gICAgPHVsPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJsaW5rLnZpc2libGUgPT09IHVuZGVmaW5lZCB8fCBsaW5rLnZpc2libGUgPT09IHRydWVcIiBbY2xhc3MuaGFzLXN1Yl09XCJsaW5rLmNoaWxkcmVuXCIgW2NsYXNzLnNlbGVjdGVkXT1cImxpbmsuYWN0aXZlXCIgcm91dGVyTGlua0FjdGl2ZT1cInNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhbGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIhbGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmljb24taG9tZS1saW5rXT1cImxpbmsuaXNIb21lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktdS1mbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJsaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ25ldXRyYWwnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tci14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmsuaWNvbkNsYXNzICYmICFsaW5rLmljb25TdmdOYW1lXCIgY2xhc3M9XCJ7eyBsaW5rLmljb25DbGFzcyB9fSBldWktaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnICpuZ0lmPVwibGluay5jaGlsZHJlblwiIGljb249XCJjaGV2cm9uLWRvd246c2hhcnBcIiBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ25ldXRyYWwnIDogJ3doaXRlJ1wiIHNpemU9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgbGluaylcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1ob21lLWxpbmtdPVwibGluay5pc0hvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnbmV1dHJhbCcgOiAnd2hpdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tci14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmsuaWNvbkNsYXNzICYmICFsaW5rLmljb25TdmdOYW1lXCIgY2xhc3M9XCJ7eyBsaW5rLmljb25DbGFzcyB9fSBldWktaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiY2hldnJvbi1kb3duOnNoYXJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ25ldXRyYWwnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXUtbWwteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzaG93XCIgW2NsYXNzLnNob3dPbkVudGVyXT1cImlzZHJvcGRvd25PcGVuXCIgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkTGluayBvZiBsaW5rLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgY2hpbGRMaW5rLnZpc2libGUgPT09IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oYXMtc3ViXT1cImNoaWxkTGluaz8uY2hpbGRyZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZXBhcmF0b3JdPVwiY2hpbGRMaW5rLmlzU2VwYXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhY2hpbGRMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZExpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNoaWxkTGluay5pY29uQ2xhc3NcIiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZExpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZExpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY2hpbGRMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZExpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNoaWxkTGluay5pY29uQ2xhc3NcIiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZExpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzaG93XCIgW2NsYXNzLnNob3dPbkVudGVyXT1cImlzZHJvcGRvd25PcGVuXCIgKm5nSWY9XCJjaGlsZExpbmsuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGRTdWJMaW5rIG9mIGNoaWxkTGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwiY2hpbGRTdWJMaW5rLnZpc2libGUgPT09IHVuZGVmaW5lZCB8fCBjaGlsZFN1YkxpbmsudmlzaWJsZSA9PT0gdHJ1ZVwiIGNsYXNzPVwiY2hpbGRcIiBbY2xhc3Muc2VwYXJhdG9yXT1cImNoaWxkU3ViTGluay5pc1NlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRTdWJMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkU3ViTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNoaWxkU3ViTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRTdWJMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkU3ViTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZFN1YkxpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkU3ViTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRTdWJMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkU3ViTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZFN1YkxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRTdWJMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkU3ViTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRTdWJMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbjwvbmF2PlxuIl19
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBSUwsTUFBTSxFQUNOLFlBQVksR0FHZixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQWlCN0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxJQUNXLFVBQVU7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQztJQUM5QixDQUFDO0lBWUQsWUFDVyxTQUE2QixFQUM1QixFQUFxQjtRQUR0QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQVJ2QixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFMUQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFRbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENB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LENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3hCLGdFQUFnRTtvQkFDaEUsVUFBVSxDQUFDLE1BQU0sR0FBRyxHQUFTLEVBQUUsR0FBRSxDQUFDLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBQztnQkFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQ2hDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7OEdBdEpRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGdPQ3BDcEMsaXFSQW9JQSxrcUxEeEdRLGFBQWEsdVVBQ2IsS0FBSyxtSEFFTCxJQUFJLDZGQUNKLFVBQVUsbU9BQ1YsZUFBZTs7MkZBR1YsdUJBQXVCO2tCQWZuQyxTQUFTOytCQUNJLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxhQUFhO3dCQUNiLEtBQUs7d0JBQ0wsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLFVBQVU7d0JBQ1YsZUFBZTtxQkFDbEI7dUhBSVUsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxPQUFPO2dCQU9YLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5wdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aUFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktbWVudSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1aUljb25Nb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWljb24nO1xuaW1wb3J0IHsgTmdGb3IsIE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdG9vbGJhci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdG9vbGJhci1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBFdWlJY29uTW9kdWxlLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgUm91dGVyTGluayxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRvb2xiYXJNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZXVpLXRvb2xiYXItbWVudSc7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgaXRlbXM6IGFueVtdO1xuXG4gICAgQE91dHB1dCgpIG1lbnVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuXG4gICAgaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc3ViczogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhc1NlcnZpY2U6IEV1aUFwcFNoZWxsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICBoYXNUb29sYmFyTWVudTogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXRlIGNoYW5nZXNcbiAgICAgICAgdGhpcy5zdWJzLmFkZCh0aGlzLmFzU2VydmljZS5nZXRTdGF0ZSgnbWVudUxpbmtzJykuc3Vic2NyaWJlKChsaW5rcykgPT4gKHRoaXMuaXRlbXMgPSBsaW5rcykpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgbWVudUxpbmtzOiBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25MaW5rQ2xpY2sobGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGxpbmsudXJsKSB7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFsaW5rLmRpc2FibGVkICYmIGxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbGluay5kaXNhYmxlZCAmJiAhbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQobGluayk7XG5cbiAgICAgICAgICAgIC8vIGNsaWNrIG9uIGRyb3BpdGVtcyB0byBjbG9zZSBkcm9wZG93blxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgZHJvcGRvd24uZm9yRWFjaCgobWVudXMpID0+IHtcbiAgICAgICAgICAgICAgICBtZW51cy5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgbWVudXMuY2xhc3NMaXN0LnJlbW92ZSgnc2hvd09uRW50ZXInKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBvcGVuIGFnYWluIG9uIG1vdXNlb3ZlclxuICAgICAgICAgICAgY29uc3QgZHJvcEJ0bnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXInKTtcbiAgICAgICAgICAgIGRyb3BCdG5zLmZvckVhY2goKGJ0bikgPT4ge1xuICAgICAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcm9wQ29udGVudCA9IGJ0bi5xdWVyeVNlbGVjdG9yKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRPcGVuID0gZHJvcENvbnRlbnQgPyAhZHJvcENvbnRlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNob3VsZE9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyb3BDb250ZW50LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmsudXJsRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGxpbmsudXJsRXh0ZXJuYWwsIGxpbms/LnVybEV4dGVybmFsVGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGluay5jb21tYW5kKSB7XG4gICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgbGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICAgICAgICAgIGlmIChsaW5rLnVybCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKGxpbmsudXJsRXh0ZXJuYWwsIGxpbmsudXJsRXh0ZXJuYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay5jb21tYW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmsuY29tbWFuZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ1RhYic6IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc2Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0Y2hpbGQgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jaGlsZCA+IGEnKSkucmV2ZXJzZSgpWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBsYXN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGFzdCBjaGlsZCBvbmJsdXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdFc2NhcGUnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc2Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Y2hpbGQgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jaGlsZCA+IGEnKSlbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgZmlyc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZpcnN0IGNoaWxkIG9uYmx1clxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge307XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAobGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5hdiBpZD1cInRvcC1tZW51XCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWNvbnRlbnRcIiAqbmdJZj1cIml0ZW1zICYmIGl0ZW1zLmxlbmd0aCAhPT0gMFwiPlxuICAgIDx1bD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBpdGVtc1wiPlxuICAgICAgICAgICAgPGxpICpuZ0lmPVwibGluay52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgbGluay52aXNpYmxlID09PSB0cnVlXCIgW2NsYXNzLmhhcy1zdWJdPVwibGluay5jaGlsZHJlblwiIFtjbGFzcy5zZWxlY3RlZF09XCJsaW5rLmFjdGl2ZVwiIHJvdXRlckxpbmtBY3RpdmU9XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiIWxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2sobGluaylcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pY29uLWhvbWUtbGlua109XCJsaW5rLmlzSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICduZXV0cmFsJyA6ICd3aGl0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXUtbXIteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaW5rLmljb25DbGFzcyAmJiAhbGluay5pY29uU3ZnTmFtZVwiIGNsYXNzPVwie3sgbGluay5pY29uQ2xhc3MgfX0gZXVpLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtbGFiZWxcIj57eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyAqbmdJZj1cImxpbmsuY2hpbGRyZW5cIiBpY29uPVwiY2hldnJvbi1kb3duOnNoYXJwXCIgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICduZXV0cmFsJyA6ICd3aGl0ZSdcIiBzaXplPVwic1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwibGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmljb24taG9tZS1saW5rXT1cImxpbmsuaXNIb21lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktdS1mbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJsaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ25ldXRyYWwnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXUtbXIteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaW5rLmljb25DbGFzcyAmJiAhbGluay5pY29uU3ZnTmFtZVwiIGNsYXNzPVwie3sgbGluay5pY29uQ2xhc3MgfX0gZXVpLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtbGFiZWxcIj57eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImNoZXZyb24tZG93bjpzaGFycFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICduZXV0cmFsJyA6ICd3aGl0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LW1sLXhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2hvd1wiIFtjbGFzcy5zaG93T25FbnRlcl09XCJpc2Ryb3Bkb3duT3BlblwiICpuZ0lmPVwibGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZExpbmsgb2YgbGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsudmlzaWJsZSA9PT0gdW5kZWZpbmVkIHx8IGNoaWxkTGluay52aXNpYmxlID09PSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoaWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGFzLXN1Yl09XCJjaGlsZExpbms/LmNoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VwYXJhdG9yXT1cImNoaWxkTGluay5pc1NlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZExpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZExpbmsuaWNvbkNsYXNzXCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZExpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZExpbmsuaWNvbkNsYXNzXCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZExpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2hvd1wiIFtjbGFzcy5zaG93T25FbnRlcl09XCJpc2Ryb3Bkb3duT3BlblwiICpuZ0lmPVwiY2hpbGRMaW5rLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkU3ViTGluayBvZiBjaGlsZExpbmsuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cImNoaWxkU3ViTGluay52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgY2hpbGRTdWJMaW5rLnZpc2libGUgPT09IHRydWVcIiBjbGFzcz1cImNoaWxkXCIgW2NsYXNzLnNlcGFyYXRvcl09XCJjaGlsZFN1YkxpbmsuaXNTZXBhcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkU3ViTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZFN1YkxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjaGlsZFN1YkxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkU3ViTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZFN1YkxpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRTdWJMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkU3ViTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZFN1YkxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNoaWxkU3ViTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkU3ViTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZFN1YkxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRTdWJMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkU3ViTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZFN1YkxpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkU3ViTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG48L25hdj5cbiJdfQ==
@@ -3,7 +3,7 @@ import { EuiToolbarNavbarItemComponent } from '../toolbar-navbar-item/toolbar-na
3
3
  import { EuiDropdownModule } from '@eui/components/eui-dropdown';
4
4
  import { EuiButtonModule } from '@eui/components/eui-button';
5
5
  import { EuiIconModule } from '@eui/components/eui-icon';
6
- import { AsyncPipe, NgForOf } from '@angular/common';
6
+ import { AsyncPipe, NgFor, NgForOf } from '@angular/common';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@eui/core";
9
9
  import * as i2 from "@eui/components/eui-dropdown";
@@ -41,7 +41,7 @@ export class EuiToolbarNavbarComponent {
41
41
  this.itemClick.emit(id);
42
42
  }
43
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarNavbarComponent, deps: [{ token: i1.EuiAppShellService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: EuiToolbarNavbarComponent, isStandalone: true, selector: "eui-toolbar-navbar", outputs: { itemClick: "itemClick" }, host: { properties: { "class": "this.class" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => EuiToolbarNavbarItemComponent) }], ngImport: i0, template: "@if ( (asService.breakpoints$ | async).isTablet || (asService.breakpoints$ | async).isMobile || isDropdownView ) {\n<eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n</eui-dropdown>\n} @else {\n<ng-content></ng-content>\n}\n", dependencies: [{ kind: "ngmodule", type: EuiDropdownModule }, { kind: "component", type: i2.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "position", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "component", type: i2.EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: ["subDropdown", "isActive"] }, { kind: "directive", type: i2.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "ngmodule", type: EuiButtonModule }, { kind: "component", type: i3.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiIconModule }, { kind: "component", type: i4.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: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: EuiToolbarNavbarComponent, isStandalone: true, selector: "eui-toolbar-navbar", outputs: { itemClick: "itemClick" }, host: { properties: { "class": "this.class" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => EuiToolbarNavbarItemComponent) }], ngImport: i0, template: "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content></ng-content>\n}\n", styles: [".eui-toolbar-navbar{display:flex;align-items:center;width:100%;padding:0 var(--eui-s-s);height:var(--eui-s-5xl)}.eui-toolbar-navbar-item{display:flex;align-items:center;height:100%;padding:var(--eui-s-m) var(--eui-s-s);border-bottom:2px solid transparent;font:var(--eui-f-bold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.eui-toolbar-navbar-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-toolbar-navbar-item:hover{background-color:var(--eui-c-branding-dark)}.eui-toolbar-navbar-item--active{border-bottom:3px solid var(--eui-c-accent);color:var(--eui-c-accent)}.eui--secondary .eui-toolbar-navbar-item:hover{background-color:var(--eui-c-neutral-bg)}.eui--secondary .eui-toolbar-navbar-item--active{border-bottom:3px solid var(--eui-c-primary);color:var(--eui-c-primary)}\n"], dependencies: [{ kind: "ngmodule", type: EuiDropdownModule }, { kind: "component", type: i2.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "position", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "component", type: i2.EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: ["subDropdown", "isActive"] }, { kind: "directive", type: i2.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "ngmodule", type: EuiButtonModule }, { kind: "component", type: i3.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiIconModule }, { kind: "component", type: i4.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: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
45
45
  }
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarNavbarComponent, decorators: [{
47
47
  type: Component,
@@ -51,7 +51,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
51
51
  EuiIconModule,
52
52
  AsyncPipe,
53
53
  NgForOf,
54
- ], template: "@if ( (asService.breakpoints$ | async).isTablet || (asService.breakpoints$ | async).isMobile || isDropdownView ) {\n<eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n</eui-dropdown>\n} @else {\n<ng-content></ng-content>\n}\n" }]
54
+ NgFor,
55
+ ], template: "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <button *ngFor=\"let item of items\" euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content></ng-content>\n}\n", styles: [".eui-toolbar-navbar{display:flex;align-items:center;width:100%;padding:0 var(--eui-s-s);height:var(--eui-s-5xl)}.eui-toolbar-navbar-item{display:flex;align-items:center;height:100%;padding:var(--eui-s-m) var(--eui-s-s);border-bottom:2px solid transparent;font:var(--eui-f-bold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.eui-toolbar-navbar-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-toolbar-navbar-item:hover{background-color:var(--eui-c-branding-dark)}.eui-toolbar-navbar-item--active{border-bottom:3px solid var(--eui-c-accent);color:var(--eui-c-accent)}.eui--secondary .eui-toolbar-navbar-item:hover{background-color:var(--eui-c-neutral-bg)}.eui--secondary .eui-toolbar-navbar-item--active{border-bottom:3px solid var(--eui-c-primary);color:var(--eui-c-primary)}\n"] }]
55
56
  }], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i0.ElementRef }], propDecorators: { class: [{
56
57
  type: HostBinding
57
58
  }], itemClick: [{
@@ -60,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
60
61
  type: ContentChildren,
61
62
  args: [forwardRef(() => EuiToolbarNavbarItemComponent)]
62
63
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1uYXZiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS10b29sYmFyL3Rvb2xiYXItbmF2YmFyL3Rvb2xiYXItbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW5hdmJhci90b29sYmFyLW5hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsR0FLYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUVyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQWdCckQsTUFBTSxPQUFPLHlCQUF5QjtJQVVsQyxZQUNXLFNBQTZCLEVBQzVCLFVBQXNCO1FBRHZCLGNBQVMsR0FBVCxTQUFTLENBQW9CO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFYbkIsVUFBSyxHQUFHLG9CQUFvQixDQUFDO1FBRWxDLGNBQVMsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt4RCxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQUszQixDQUFDO0lBRUosa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGVBQWU7UUFDWCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUV4RCxJQUFJLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztZQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQy9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLEVBQVU7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUMxQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDOzhHQXZDUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw4TUFLQSw2QkFBNkIsOEJDeENuRSxrc0JBZUEsMkNEYVEsaUJBQWlCLHVsQkFDakIsZUFBZSxxU0FDZixhQUFhLGtVQUNiLFNBQVMsOENBQ1QsT0FBTzs7MkZBR0YseUJBQXlCO2tCQWRyQyxTQUFTOytCQUNJLG9CQUFvQixtQkFFYix1QkFBdUIsQ0FBQyxPQUFPLGlCQUNqQyxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixTQUFTO3dCQUNULE9BQU87cUJBQ1Y7Z0hBR2MsS0FBSztzQkFBbkIsV0FBVztnQkFFRixTQUFTO3NCQUFsQixNQUFNO2dCQUUyRCxLQUFLO3NCQUF0RSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGZvcndhcmRSZWYsXG4gICAgUXVlcnlMaXN0LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aVRvb2xiYXJOYXZiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbGJhci1uYXZiYXItaXRlbS90b29sYmFyLW5hdmJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWRyb3Bkb3duJztcbmltcG9ydCB7IEV1aUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktYnV0dG9uJztcbmltcG9ydCB7IEV1aUljb25Nb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWljb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0Zvck9mIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdG9vbGJhci1uYXZiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLW5hdmJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEV1aURyb3Bkb3duTW9kdWxlLFxuICAgICAgICBFdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEV1aUljb25Nb2R1bGUsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgTmdGb3JPZixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sYmFyTmF2YmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCkgY2xhc3MgPSAnZXVpLXRvb2xiYXItbmF2YmFyJztcblxuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEV1aVRvb2xiYXJOYXZiYXJJdGVtQ29tcG9uZW50KSkgaXRlbXM6IFF1ZXJ5TGlzdDxFdWlUb29sYmFyTmF2YmFySXRlbUNvbXBvbmVudD47XG5cbiAgICBwdWJsaWMgYmFzZUl0ZW1TZWxlY3RlZDogRXVpVG9vbGJhck5hdmJhckl0ZW1Db21wb25lbnQ7XG4gICAgcHVibGljIGlzRHJvcGRvd25WaWV3ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGFzU2VydmljZTogRXVpQXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJhc2VJdGVtU2VsZWN0ZWQgPSB0aGlzLml0ZW1zLmZpbHRlcigoaSkgPT4gaS5pc0FjdGl2ZSlbMF07XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRXaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJ2V1aS10b29sYmFyJykuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG5cbiAgICAgICAgaWYgKHdpZHRoID4gcGFyZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEcm9wZG93blZpZXcgPSB0cnVlO1xuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXRlbVNlbGVjdGVkKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pZCA9PT0gaWQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpZCk7XG4gICAgfVxufVxuIiwiQGlmICggKGFzU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNUYWJsZXQgfHwgKGFzU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNNb2JpbGUgfHwgaXNEcm9wZG93blZpZXcgKSB7XG48ZXVpLWRyb3Bkb3duIGlzTGFiZWxVcGRhdGVkRnJvbVNlbGVjdGVkSXRlbT5cbiAgICA8YnV0dG9uIGV1aUJ1dHRvbiBldWlTZWNvbmRhcnkgZXVpU2l6ZVMgW2F0dHIuYXJpYS1sYWJlbF09XCInQnV0dG9uIHRyaWdnZXInXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLWxhYmVsXCI+e3sgYmFzZUl0ZW1TZWxlY3RlZC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiY2hldnJvbi1kb3duOnNoYXJwXCIgc2l6ZT1cInNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZXVpLWRyb3Bkb3duLWNvbnRlbnQ+XG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBldWlEcm9wZG93bkl0ZW0gKGNsaWNrKT1cIml0ZW1TZWxlY3RlZChpdGVtLmlkKVwiIGFyaWFMYWJlbD1cInt7IGl0ZW0ubGFiZWwgfX1cIj5cbiAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9ldWktZHJvcGRvd24tY29udGVudD5cbjwvZXVpLWRyb3Bkb3duPlxufSBAZWxzZSB7XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1uYXZiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS10b29sYmFyL3Rvb2xiYXItbmF2YmFyL3Rvb2xiYXItbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW5hdmJhci90b29sYmFyLW5hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsR0FLYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUVyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFrQjVELE1BQU0sT0FBTyx5QkFBeUI7SUFVbEMsWUFDVyxTQUE2QixFQUM1QixVQUFzQjtRQUR2QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBWG5CLFVBQUssR0FBRyxvQkFBb0IsQ0FBQztRQUVsQyxjQUFTLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFLeEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFLM0IsQ0FBQztJQUVKLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNyRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFFeEQsSUFBSSxLQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7WUFDdEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVksQ0FBQyxFQUFVO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN6QixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs4R0F2Q1EseUJBQXlCO2tHQUF6Qix5QkFBeUIsOE1BS0EsNkJBQTZCLDhCQzFDbkUsNHNCQWVBLHc4QkRjUSxpQkFBaUIsdWxCQUNqQixlQUFlLHFTQUNmLGFBQWEsa1VBQ2IsU0FBUyw4Q0FDVCxPQUFPOzsyRkFJRix5QkFBeUI7a0JBaEJyQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxPQUFPLGlCQUNqQyxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixTQUFTO3dCQUNULE9BQU87d0JBQ1AsS0FBSztxQkFDUjtnSEFHYyxLQUFLO3NCQUFuQixXQUFXO2dCQUVGLFNBQVM7c0JBQWxCLE1BQU07Z0JBRTJELEtBQUs7c0JBQXRFLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgZm9yd2FyZFJlZixcbiAgICBRdWVyeUxpc3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEFmdGVyQ29udGVudEluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpVG9vbGJhck5hdmJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi90b29sYmFyLW5hdmJhci1pdGVtL3Rvb2xiYXItbmF2YmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEV1aUFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktZHJvcGRvd24nO1xuaW1wb3J0IHsgRXVpQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1idXR0b24nO1xuaW1wb3J0IHsgRXVpSWNvbk1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktaWNvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yLCBOZ0Zvck9mIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdG9vbGJhci1uYXZiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLW5hdmJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3Rvb2xiYXItbmF2YmFyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRXVpRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIEV1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgRXVpSWNvbk1vZHVsZSxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0ZvcixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sYmFyTmF2YmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCkgY2xhc3MgPSAnZXVpLXRvb2xiYXItbmF2YmFyJztcblxuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEV1aVRvb2xiYXJOYXZiYXJJdGVtQ29tcG9uZW50KSkgaXRlbXM6IFF1ZXJ5TGlzdDxFdWlUb29sYmFyTmF2YmFySXRlbUNvbXBvbmVudD47XG5cbiAgICBwdWJsaWMgYmFzZUl0ZW1TZWxlY3RlZDogRXVpVG9vbGJhck5hdmJhckl0ZW1Db21wb25lbnQ7XG4gICAgcHVibGljIGlzRHJvcGRvd25WaWV3ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGFzU2VydmljZTogRXVpQXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJhc2VJdGVtU2VsZWN0ZWQgPSB0aGlzLml0ZW1zLmZpbHRlcigoaSkgPT4gaS5pc0FjdGl2ZSlbMF07XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRXaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJ2V1aS10b29sYmFyJykuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG5cbiAgICAgICAgaWYgKHdpZHRoID4gcGFyZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEcm9wZG93blZpZXcgPSB0cnVlO1xuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXRlbVNlbGVjdGVkKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pZCA9PT0gaWQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpZCk7XG4gICAgfVxufVxuIiwiQGlmICggKGFzU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNMdExhcmdlVGFibGV0IHx8IGlzRHJvcGRvd25WaWV3ICkge1xuICAgIDxldWktZHJvcGRvd24gaXNMYWJlbFVwZGF0ZWRGcm9tU2VsZWN0ZWRJdGVtPlxuICAgICAgICA8YnV0dG9uIGV1aUJ1dHRvbiBldWlTZWNvbmRhcnkgZXVpU2l6ZVMgW2F0dHIuYXJpYS1sYWJlbF09XCInQnV0dG9uIHRyaWdnZXInXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS1sYWJlbFwiPnt7IGJhc2VJdGVtU2VsZWN0ZWQubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJjaGV2cm9uLWRvd246c2hhcnBcIiBzaXplPVwic1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGV1aS1kcm9wZG93bi1jb250ZW50PlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIGV1aURyb3Bkb3duSXRlbSAoY2xpY2spPVwiaXRlbVNlbGVjdGVkKGl0ZW0uaWQpXCIgYXJpYUxhYmVsPVwie3sgaXRlbS5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2V1aS1kcm9wZG93bi1jb250ZW50PlxuICAgIDwvZXVpLWRyb3Bkb3duPlxufSBAZWxzZSB7XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxufVxuIl19
@@ -4,19 +4,32 @@ import { EuiTemplateDirective, EuiTemplateDirectiveModule } from '@eui/component
4
4
  import { EuiButtonModule } from '@eui/components/eui-button';
5
5
  import { EuiIconModule } from '@eui/components/eui-icon';
6
6
  import { EuiIconInputModule } from '@eui/components/eui-icon-input';
7
- import { NgTemplateOutlet } from '@angular/common';
7
+ import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
8
8
  import { EuiInputTextModule } from '@eui/components/eui-input-text';
9
9
  import { FormsModule } from '@angular/forms';
10
+ import { EuiIconButtonModule } from '@eui/components/eui-icon-button';
10
11
  import * as i0 from "@angular/core";
11
- import * as i1 from "@eui/components/eui-button";
12
- import * as i2 from "@eui/components/eui-icon";
13
- import * as i3 from "@eui/components/eui-autocomplete";
14
- import * as i4 from "@eui/components/eui-icon-input";
15
- import * as i5 from "@eui/components/eui-input-text";
16
- import * as i6 from "@eui/components/directives";
17
- import * as i7 from "@angular/forms";
12
+ import * as i1 from "@eui/core";
13
+ import * as i2 from "@eui/components/eui-button";
14
+ import * as i3 from "@eui/components/eui-icon";
15
+ import * as i4 from "@eui/components/eui-icon-button";
16
+ import * as i5 from "@eui/components/eui-autocomplete";
17
+ import * as i6 from "@eui/components/eui-icon-input";
18
+ import * as i7 from "@eui/components/eui-input-text";
19
+ import * as i8 from "@eui/components/directives";
20
+ import * as i9 from "@angular/forms";
18
21
  export class EuiToolbarSearchComponent {
19
- constructor() {
22
+ get cssClasses() {
23
+ return [
24
+ 'eui-toolbar-search',
25
+ this.isInputFocus ? 'eui-toolbar-search--focus' : '',
26
+ !this.hasExpandAnimation ? 'eui-toolbar-search--no-animation' : '',
27
+ ]
28
+ .join(' ')
29
+ .trim();
30
+ }
31
+ constructor(asService) {
32
+ this.asService = asService;
20
33
  this.isInputFocus = false;
21
34
  this.searchInput = '';
22
35
  this.panelWidth = '25vw';
@@ -31,15 +44,6 @@ export class EuiToolbarSearchComponent {
31
44
  this.inputFocus = new EventEmitter();
32
45
  this.inputBlur = new EventEmitter();
33
46
  }
34
- get cssClasses() {
35
- return [
36
- 'eui-toolbar-search',
37
- this.isInputFocus ? 'eui-toolbar-search--focus' : '',
38
- !this.hasExpandAnimation ? 'eui-toolbar-search--no-animation' : '',
39
- ]
40
- .join(' ')
41
- .trim();
42
- }
43
47
  ngAfterContentInit() {
44
48
  if (this.isAutocomplete) {
45
49
  this.isInputText = false;
@@ -81,28 +85,35 @@ export class EuiToolbarSearchComponent {
81
85
  this.search.emit(this.searchInput);
82
86
  }
83
87
  }
84
- onSearchClick() {
85
- this.isInputFocus = false;
86
- if (this.searchInput) {
87
- this.searchClick.emit(this.searchInput);
88
+ onSearchClick(isIconOnly) {
89
+ if (isIconOnly) {
90
+ this.searchClick.emit(null);
91
+ }
92
+ else {
93
+ this.isInputFocus = false;
94
+ if (this.searchInput) {
95
+ this.searchClick.emit(this.searchInput);
96
+ }
88
97
  }
89
98
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: EuiToolbarSearchComponent, isStandalone: true, selector: "eui-toolbar-search", inputs: { placeholderLabel: "placeholderLabel", panelWidth: "panelWidth", searchResults: "searchResults", isAutocomplete: ["isAutocomplete", "isAutocomplete", booleanAttribute], isInputText: ["isInputText", "isInputText", booleanAttribute], hasSearchButton: ["hasSearchButton", "hasSearchButton", booleanAttribute], hasExpandAnimation: ["hasExpandAnimation", "hasExpandAnimation", booleanAttribute] }, outputs: { search: "search", selectionChange: "selectionChange", searchClick: "searchClick", inputFocus: "inputFocus", inputBlur: "inputBlur" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], ngImport: i0, template: "<eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]=\"searchResults\"\n placeholder=\"{{placeholderLabel}}\"\n panelWidth=\"{{panelWidth}}\"\n (inputBlur)=\"onInputBlur($event)\"\n (inputFocus)=\"onInputFocus($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (inputChange)=\"onSearch($event)\">\n @if (templates.length !== 0) {\n <ng-template let-option euiTemplate=\"dropdownOption\">\n <ng-container\n [ngTemplateOutlet]=\"resultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-container>\n </ng-template>\n }\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class=\"mywp-search-bar__input\" [(ngModel)]=\"searchInput\"\n placeholder=\"{{ placeholderLabel }}\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (keydown)=\"onSearchInput($event)\" />\n }\n }\n\n @if (hasSearchButton) {\n <button class=\"eui-toolbar-search__input-button\"\n euiButton\n euiIconButton\n euiSizeS\n [euiSecondary]=\"isInputFocus\"\n [euiPrimary]=\"!isInputFocus\"\n (click)=\"onSearchClick()\"\n aria-label=\"search button\">\n <eui-icon-svg icon=\"eui-ecl-search\" size=\"s\"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon=\"eui-ecl-search\" size=\"s\"></eui-icon-svg>\n }\n</eui-icon-input>\n", dependencies: [{ kind: "ngmodule", type: EuiButtonModule }, { kind: "component", type: i1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiIconModule }, { 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: "ngmodule", type: EuiAutocompleteModule }, { kind: "component", type: i3.EuiAutocompleteComponent, selector: "eui-autocomplete, input[euiAutocomplete]", inputs: ["inputId", "autocompleteData", "visibleOptions", "matching", "placeholder", "autocompleteDataSelected", "chipsSortOrder", "itemsSortOrder", "chipsPosition", "groupBy", "toggleLinkMoreLabel", "toggleLinkLessLabel", "classList", "panelWidth", "dragAndDropSourceName", "dragAndDropConnectedTo", "isFreeValueAllowed", "isReadonly", "isLoading", "hasChips", "isAsync", "isChipsSorted", "isItemsSorted", "isChipsRemovable", "isDuplicateValueAllowed", "isAddOnBlur", "isForceSelection", "maxVisibleChipsCount", "chipsLabelTruncateCount", "isMaxVisibleChipsOpened", "isChipsDragAndDrop"], outputs: ["panelClose", "panelOpen", "inputFocus", "inputBlur", "clear", "selectionChange", "itemAdd", "itemRemove", "inputChange", "chipDragStart", "chipDragRelease", "chipDrop"] }, { kind: "ngmodule", type: EuiIconInputModule }, { kind: "component", type: i4.EuiIconInputComponent, selector: "eui-icon-input", inputs: ["euiIconPositionStart", "euiIconPositionEnd"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: EuiInputTextModule }, { kind: "component", type: i5.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "ngmodule", type: EuiTemplateDirectiveModule }, { kind: "directive", type: i6.EuiTemplateDirective, selector: "[euiTemplate]", inputs: ["type", "euiTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarSearchComponent, deps: [{ token: i1.EuiAppShellService }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: EuiToolbarSearchComponent, isStandalone: true, selector: "eui-toolbar-search", inputs: { placeholderLabel: "placeholderLabel", panelWidth: "panelWidth", searchResults: "searchResults", isAutocomplete: ["isAutocomplete", "isAutocomplete", booleanAttribute], isInputText: ["isInputText", "isInputText", booleanAttribute], hasSearchButton: ["hasSearchButton", "hasSearchButton", booleanAttribute], hasExpandAnimation: ["hasExpandAnimation", "hasExpandAnimation", booleanAttribute] }, outputs: { search: "search", selectionChange: "selectionChange", searchClick: "searchClick", inputFocus: "inputFocus", inputBlur: "inputBlur" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], ngImport: i0, template: "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n <eui-icon-button icon=\"eui-ecl-search\" (buttonClick)=\"onSearchClick(true)\"/>\n\n} @else {\n <eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]=\"searchResults\"\n placeholder=\"{{placeholderLabel}}\"\n panelWidth=\"{{panelWidth}}\"\n (inputBlur)=\"onInputBlur($event)\"\n (inputFocus)=\"onInputFocus($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (inputChange)=\"onSearch($event)\">\n @if (templates.length !== 0) {\n <ng-template let-option euiTemplate=\"dropdownOption\">\n <ng-container\n [ngTemplateOutlet]=\"resultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-container>\n </ng-template>\n }\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class=\"mywp-search-bar__input\" [(ngModel)]=\"searchInput\"\n placeholder=\"{{ placeholderLabel }}\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (keydown)=\"onSearchInput($event)\" />\n }\n }\n\n @if (hasSearchButton) {\n <button class=\"eui-toolbar-search__input-button\"\n euiButton\n euiIconButton\n euiSizeS\n [euiSecondary]=\"isInputFocus\"\n [euiPrimary]=\"!isInputFocus\"\n (click)=\"onSearchClick(false)\"\n aria-label=\"search button\">\n <eui-icon-svg icon=\"eui-ecl-search\" size=\"s\"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon=\"eui-ecl-search\" size=\"s\"></eui-icon-svg>\n }\n </eui-icon-input>\n\n}\n\n", styles: [".eui-toolbar-search{display:flex;top:0}.eui-toolbar-search .eui-button .eui-button__container{justify-content:center}.eui-toolbar-search .eui-input-text{background-color:var(--eui-c-branding-dark);border-color:var(--eui-c-branding-light);border-radius:var(--eui-br-xl)!important;text-overflow:ellipsis;transition:width .25s ease-in-out;color:var(--eui-c-branding-dark-contrast);width:200px}.eui-toolbar-search .eui-input-text--clearable-icon{display:none}.eui-toolbar-search--focus .eui-input-text{background-color:var(--eui-c-white);border-color:var(--eui-c-neutral-light);color:var(--eui-c-black);width:300px}.eui-toolbar-search--focus .eui-toolbar-search__input-button{color:var(--eui-c-black)!important}.eui-toolbar-search--focus .eui-toolbar-search__input-button .eui-icon-svg svg{color:var(--eui-c-black)!important;fill:var(--eui-c-black)!important}.eui-toolbar-search--focus .eui-search__icon{display:none}.eui-toolbar-search__input-button{position:absolute;right:6px;top:6px;color:var(--eui-c-neutral-lightest)!important}.eui-toolbar-search__input-button .eui-icon-svg{z-index:1}.eui-toolbar-search__input-button:focus .eui-icon-svg svg{color:var(--eui-c-white)!important;fill:var(--eui-c-white)!important}.eui-toolbar-search--no-animation .eui-input-text{transition:none}.eui-toolbar-search--focus.eui-toolbar-search--no-animation .eui-input-text{width:200px}.eui--secondary .eui-toolbar-search .eui-input-text{background-color:var(--eui-c-neutral-bg-light);border-color:var(--eui-c-neutral-lighter);color:var(--eui-c-neugral-bg-light-contrast)}.eui--secondary .eui-toolbar-search__input-button{background-color:var(--eui-c-neutral-bg);color:var(--eui-c-neutral-bg-contrast);border-color:var(--eui-c-neutral-lighter)}.eui--secondary .eui-toolbar-search__input-button:hover,.eui--secondary .eui-toolbar-search__input-button:focus{background-color:var(--eui-c-neutral-lightest);color:var(--eui-c-neutral-lightest-contrast)}\n"], dependencies: [{ kind: "ngmodule", type: EuiButtonModule }, { kind: "component", type: i2.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiIconModule }, { kind: "component", type: i3.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: "ngmodule", type: EuiIconButtonModule }, { kind: "component", type: i4.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: EuiAutocompleteModule }, { kind: "component", type: i5.EuiAutocompleteComponent, selector: "eui-autocomplete, input[euiAutocomplete]", inputs: ["inputId", "autocompleteData", "visibleOptions", "matching", "placeholder", "autocompleteDataSelected", "chipsSortOrder", "itemsSortOrder", "chipsPosition", "groupBy", "toggleLinkMoreLabel", "toggleLinkLessLabel", "classList", "panelWidth", "dragAndDropSourceName", "dragAndDropConnectedTo", "isFreeValueAllowed", "isReadonly", "isLoading", "hasChips", "isAsync", "isChipsSorted", "isItemsSorted", "isChipsRemovable", "isDuplicateValueAllowed", "isAddOnBlur", "isForceSelection", "maxVisibleChipsCount", "chipsLabelTruncateCount", "isMaxVisibleChipsOpened", "isChipsDragAndDrop"], outputs: ["panelClose", "panelOpen", "inputFocus", "inputBlur", "clear", "selectionChange", "itemAdd", "itemRemove", "inputChange", "chipDragStart", "chipDragRelease", "chipDrop"] }, { kind: "ngmodule", type: EuiIconInputModule }, { kind: "component", type: i6.EuiIconInputComponent, selector: "eui-icon-input", inputs: ["euiIconPositionStart", "euiIconPositionEnd"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: EuiInputTextModule }, { kind: "component", type: i7.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "ngmodule", type: EuiTemplateDirectiveModule }, { kind: "directive", type: i8.EuiTemplateDirective, selector: "[euiTemplate]", inputs: ["type", "euiTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
92
101
  }
93
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarSearchComponent, decorators: [{
94
103
  type: Component,
95
104
  args: [{ selector: 'eui-toolbar-search', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
96
105
  EuiButtonModule,
97
106
  EuiIconModule,
107
+ EuiIconButtonModule,
98
108
  EuiAutocompleteModule,
99
109
  EuiIconInputModule,
100
110
  NgTemplateOutlet,
101
111
  EuiInputTextModule,
102
112
  EuiTemplateDirectiveModule,
103
113
  FormsModule,
104
- ], template: "<eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]=\"searchResults\"\n placeholder=\"{{placeholderLabel}}\"\n panelWidth=\"{{panelWidth}}\"\n (inputBlur)=\"onInputBlur($event)\"\n (inputFocus)=\"onInputFocus($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (inputChange)=\"onSearch($event)\">\n @if (templates.length !== 0) {\n <ng-template let-option euiTemplate=\"dropdownOption\">\n <ng-container\n [ngTemplateOutlet]=\"resultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-container>\n </ng-template>\n }\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class=\"mywp-search-bar__input\" [(ngModel)]=\"searchInput\"\n placeholder=\"{{ placeholderLabel }}\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (keydown)=\"onSearchInput($event)\" />\n }\n }\n\n @if (hasSearchButton) {\n <button class=\"eui-toolbar-search__input-button\"\n euiButton\n euiIconButton\n euiSizeS\n [euiSecondary]=\"isInputFocus\"\n [euiPrimary]=\"!isInputFocus\"\n (click)=\"onSearchClick()\"\n aria-label=\"search button\">\n <eui-icon-svg icon=\"eui-ecl-search\" size=\"s\"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon=\"eui-ecl-search\" size=\"s\"></eui-icon-svg>\n }\n</eui-icon-input>\n" }]
105
- }], propDecorators: { cssClasses: [{
114
+ AsyncPipe,
115
+ ], template: "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n <eui-icon-button icon=\"eui-ecl-search\" (buttonClick)=\"onSearchClick(true)\"/>\n\n} @else {\n <eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]=\"searchResults\"\n placeholder=\"{{placeholderLabel}}\"\n panelWidth=\"{{panelWidth}}\"\n (inputBlur)=\"onInputBlur($event)\"\n (inputFocus)=\"onInputFocus($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (inputChange)=\"onSearch($event)\">\n @if (templates.length !== 0) {\n <ng-template let-option euiTemplate=\"dropdownOption\">\n <ng-container\n [ngTemplateOutlet]=\"resultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-container>\n </ng-template>\n }\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class=\"mywp-search-bar__input\" [(ngModel)]=\"searchInput\"\n placeholder=\"{{ placeholderLabel }}\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (keydown)=\"onSearchInput($event)\" />\n }\n }\n\n @if (hasSearchButton) {\n <button class=\"eui-toolbar-search__input-button\"\n euiButton\n euiIconButton\n euiSizeS\n [euiSecondary]=\"isInputFocus\"\n [euiPrimary]=\"!isInputFocus\"\n (click)=\"onSearchClick(false)\"\n aria-label=\"search button\">\n <eui-icon-svg icon=\"eui-ecl-search\" size=\"s\"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon=\"eui-ecl-search\" size=\"s\"></eui-icon-svg>\n }\n </eui-icon-input>\n\n}\n\n", styles: [".eui-toolbar-search{display:flex;top:0}.eui-toolbar-search .eui-button .eui-button__container{justify-content:center}.eui-toolbar-search .eui-input-text{background-color:var(--eui-c-branding-dark);border-color:var(--eui-c-branding-light);border-radius:var(--eui-br-xl)!important;text-overflow:ellipsis;transition:width .25s ease-in-out;color:var(--eui-c-branding-dark-contrast);width:200px}.eui-toolbar-search .eui-input-text--clearable-icon{display:none}.eui-toolbar-search--focus .eui-input-text{background-color:var(--eui-c-white);border-color:var(--eui-c-neutral-light);color:var(--eui-c-black);width:300px}.eui-toolbar-search--focus .eui-toolbar-search__input-button{color:var(--eui-c-black)!important}.eui-toolbar-search--focus .eui-toolbar-search__input-button .eui-icon-svg svg{color:var(--eui-c-black)!important;fill:var(--eui-c-black)!important}.eui-toolbar-search--focus .eui-search__icon{display:none}.eui-toolbar-search__input-button{position:absolute;right:6px;top:6px;color:var(--eui-c-neutral-lightest)!important}.eui-toolbar-search__input-button .eui-icon-svg{z-index:1}.eui-toolbar-search__input-button:focus .eui-icon-svg svg{color:var(--eui-c-white)!important;fill:var(--eui-c-white)!important}.eui-toolbar-search--no-animation .eui-input-text{transition:none}.eui-toolbar-search--focus.eui-toolbar-search--no-animation .eui-input-text{width:200px}.eui--secondary .eui-toolbar-search .eui-input-text{background-color:var(--eui-c-neutral-bg-light);border-color:var(--eui-c-neutral-lighter);color:var(--eui-c-neugral-bg-light-contrast)}.eui--secondary .eui-toolbar-search__input-button{background-color:var(--eui-c-neutral-bg);color:var(--eui-c-neutral-bg-contrast);border-color:var(--eui-c-neutral-lighter)}.eui--secondary .eui-toolbar-search__input-button:hover,.eui--secondary .eui-toolbar-search__input-button:focus{background-color:var(--eui-c-neutral-lightest);color:var(--eui-c-neutral-lightest-contrast)}\n"] }]
116
+ }], ctorParameters: () => [{ type: i1.EuiAppShellService }], propDecorators: { cssClasses: [{
106
117
  type: HostBinding,
107
118
  args: ['class']
108
119
  }], placeholderLabel: [{
@@ -137,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
137
148
  type: ContentChildren,
138
149
  args: [EuiTemplateDirective]
139
150
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS10b29sYmFyL3Rvb2xiYXItc2VhcmNoL3Rvb2xiYXItc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLXNlYXJjaC90b29sYmFyLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQzNGLGdCQUFnQixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQW1CN0MsTUFBTSxPQUFPLHlCQUF5QjtJQWpCdEM7UUE2QkksaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFLUixlQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLGtCQUFhLEdBQTBCLEVBQUUsQ0FB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QUFFLGdCQUFnQixFQUFFO2dCQUU1QixNQUFNO3NCQUFmLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFZ0MsU0FBUztzQkFBL0MsZUFBZTt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDb250ZW50Q2hpbGRyZW4sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZixcbiAgICBBZnRlclZpZXdJbml0LCBRdWVyeUxpc3QsIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpQXV0b0NvbXBsZXRlSXRlbSwgRXVpQXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1hdXRvY29tcGxldGUnO1xuXG5pbXBvcnQgeyBFdWlUZW1wbGF0ZURpcmVjdGl2ZSwgRXVpVGVtcGxhdGVEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBFdWlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWJ1dHRvbic7XG5pbXBvcnQgeyBFdWlJY29uTW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1pY29uJztcbmltcG9ydCB7IEV1aUljb25JbnB1dE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktaWNvbi1pbnB1dCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEV1aUlucHV0VGV4dE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktaW5wdXQtdGV4dCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdG9vbGJhci1zZWFyY2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRXVpQnV0dG9uTW9kdWxlLFxuICAgICAgICBFdWlJY29uTW9kdWxlLFxuICAgICAgICBFdWlBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIEV1aUljb25JbnB1dE1vZHVsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgRXVpSW5wdXRUZXh0TW9kdWxlLFxuICAgICAgICBFdWlUZW1wbGF0ZURpcmVjdGl2ZU1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVG9vbGJhclNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ2V1aS10b29sYmFyLXNlYXJjaCcsXG4gICAgICAgICAgICB0aGlzLmlzSW5wdXRGb2N1cyA/ICdldWktdG9vbGJhci1zZWFyY2gtLWZvY3VzJyA6ICcnLFxuICAgICAgICAgICAgIXRoaXMuaGFzRXhwYW5kQW5pbWF0aW9uID8gJ2V1aS10b29sYmFyLXNlYXJjaC0tbm8tYW5pbWF0aW9uJzogJycsXG4gICAgICAgIF1cbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgaXNJbnB1dEZvY3VzID0gZmFsc2U7XG4gICAgc2VhcmNoVGVybTogc3RyaW5nO1xuICAgIHNlYXJjaElucHV0ID0gJyc7XG5cbiAgICBwdWJsaWMgcmVzdWx0SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogRXVpQXV0b0NvbXBsZXRlSXRlbSB9PjtcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwYW5lbFdpZHRoID0gJzI1dncnO1xuICAgIEBJbnB1dCgpIHNlYXJjaFJlc3VsdHM6IEV1aUF1dG9Db21wbGV0ZUl0ZW1bXSA9IFtdO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzSW5wdXRUZXh0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1NlYXJjaEJ1dHRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNFeHBhbmRBbmltYXRpb24gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHNlYXJjaDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEV1aUF1dG9Db21wbGV0ZUl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHNlYXJjaENsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaW5wdXRGb2N1czogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaW5wdXRCbHVyOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWlUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8RXVpVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0F1dG9jb21wbGV0ZSkge1xuICAgICAgICAgICAgdGhpcy5pc0lucHV0VGV4dCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNJbnB1dFRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc0lucHV0VGV4dCAmJiAhdGhpcy5pc0F1dG9jb21wbGV0ZSkge1xuICAgICAgICAgICAgdGhpcy5pc0F1dG9jb21wbGV0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ3Jlc3VsdEl0ZW1UZW1wbGF0ZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdEl0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2VsZWN0aW9uQ2hhbmdlKGl0ZW1zOiBFdWlBdXRvQ29tcGxldGVJdGVtW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChpdGVtcyk7XG4gICAgfVxuXG4gICAgb25JbnB1dEZvY3VzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Rm9jdXMuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMuaXNJbnB1dEZvY3VzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbklucHV0Qmx1cihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1NlYXJjaEJ1dHRvbiB8fCAodGhpcy5oYXNTZWFyY2hCdXR0b24gJiYgdGhpcy5zZWFyY2hJbnB1dCA9PT0gJycpKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0Qmx1ci5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMuaXNJbnB1dEZvY3VzID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlYXJjaChlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gZTtcbiAgICAgICAgdGhpcy5zZWFyY2guZW1pdChlKTtcbiAgICB9XG5cbiAgICBvblNlYXJjaElucHV0KGU6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGUuY29kZSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gdGhpcy5zZWFyY2hJbnB1dDtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmVtaXQodGhpcy5zZWFyY2hJbnB1dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlYXJjaENsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW5wdXRGb2N1cyA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hDbGljay5lbWl0KHRoaXMuc2VhcmNoSW5wdXQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGV1aS1pY29uLWlucHV0IGV1aUljb25Qb3NpdGlvbkVuZD5cbiAgICBAaWYgKGlzQXV0b2NvbXBsZXRlKSB7XG4gICAgICAgIDxldWktYXV0b2NvbXBsZXRlIFthdXRvY29tcGxldGVEYXRhXT1cInNlYXJjaFJlc3VsdHNcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyTGFiZWx9fVwiXG4gICAgICAgICAgICBwYW5lbFdpZHRoPVwie3twYW5lbFdpZHRofX1cIlxuICAgICAgICAgICAgKGlucHV0Qmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgIChpbnB1dEZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwib25TZWFyY2goJGV2ZW50KVwiPlxuICAgICAgICAgICAgQGlmICh0ZW1wbGF0ZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1vcHRpb24gZXVpVGVtcGxhdGU9XCJkcm9wZG93bk9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZXN1bHRJdGVtVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBvcHRpb24gfVwiPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2V1aS1hdXRvY29tcGxldGU+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAoaXNJbnB1dFRleHQpIHtcbiAgICAgICAgICAgIDxpbnB1dCBldWlJbnB1dFRleHQgY2xhc3M9XCJteXdwLXNlYXJjaC1iYXJfX2lucHV0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hJbnB1dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlckxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKCRldmVudClcIiAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCIgKGtleWRvd24pPVwib25TZWFyY2hJbnB1dCgkZXZlbnQpXCIgLz5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoaGFzU2VhcmNoQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJldWktdG9vbGJhci1zZWFyY2hfX2lucHV0LWJ1dHRvblwiXG4gICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICBbZXVpU2Vjb25kYXJ5XT1cImlzSW5wdXRGb2N1c1wiXG4gICAgICAgICAgICBbZXVpUHJpbWFyeV09XCIhaXNJbnB1dEZvY3VzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlYXJjaENsaWNrKClcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInNlYXJjaCBidXR0b25cIj5cbiAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1lY2wtc2VhcmNoXCIgc2l6ZT1cInNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1lY2wtc2VhcmNoXCIgc2l6ZT1cInNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICB9XG48L2V1aS1pY29uLWlucHV0PlxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGF5b3V0L2V1aS10b29sYmFyL3Rvb2xiYXItc2VhcmNoL3Rvb2xiYXItc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLXNlYXJjaC90b29sYmFyLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQzNGLGdCQUFnQixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7OztBQXNCdEUsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxJQUNXLFVBQVU7UUFDakIsT0FBTztZQUNILG9CQUFvQjtZQUNwQixJQUFJLENBQUMs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c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVrQyxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxrQkFBa0I7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVnQyxTQUFTO3NCQUEvQyxlQUFlO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENvbnRlbnRDaGlsZHJlbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLFxuICAgIEFmdGVyVmlld0luaXQsIFF1ZXJ5TGlzdCwgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBBZnRlckNvbnRlbnRJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWlBdXRvQ29tcGxldGVJdGVtLCBFdWlBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWF1dG9jb21wbGV0ZSc7XG5cbmltcG9ydCB7IEV1aVRlbXBsYXRlRGlyZWN0aXZlLCBFdWlUZW1wbGF0ZURpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEV1aUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktYnV0dG9uJztcbmltcG9ydCB7IEV1aUljb25Nb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWljb24nO1xuaW1wb3J0IHsgRXVpSWNvbklucHV0TW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1pY29uLWlucHV0JztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdWlJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWlucHV0LXRleHQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpSWNvbkJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktaWNvbi1idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10b29sYmFyLXNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXItc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdG9vbGJhci1zZWFyY2guY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEV1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgRXVpSWNvbk1vZHVsZSxcbiAgICAgICAgRXVpSWNvbkJ1dHRvbk1vZHVsZSxcbiAgICAgICAgRXVpQXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBFdWlJY29uSW5wdXRNb2R1bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIEV1aUlucHV0VGV4dE1vZHVsZSxcbiAgICAgICAgRXVpVGVtcGxhdGVEaXJlY3RpdmVNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVG9vbGJhclNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ2V1aS10b29sYmFyLXNlYXJjaCcsXG4gICAgICAgICAgICB0aGlzLmlzSW5wdXRGb2N1cyA/ICdldWktdG9vbGJhci1zZWFyY2gtLWZvY3VzJyA6ICcnLFxuICAgICAgICAgICAgIXRoaXMuaGFzRXhwYW5kQW5pbWF0aW9uID8gJ2V1aS10b29sYmFyLXNlYXJjaC0tbm8tYW5pbWF0aW9uJzogJycsXG4gICAgICAgIF1cbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgaXNJbnB1dEZvY3VzID0gZmFsc2U7XG4gICAgc2VhcmNoVGVybTogc3RyaW5nO1xuICAgIHNlYXJjaElucHV0ID0gJyc7XG5cbiAgICBwdWJsaWMgcmVzdWx0SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogRXVpQXV0b0NvbXBsZXRlSXRlbSB9PjtcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwYW5lbFdpZHRoID0gJzI1dncnO1xuICAgIEBJbnB1dCgpIHNlYXJjaFJlc3VsdHM6IEV1aUF1dG9Db21wbGV0ZUl0ZW1bXSA9IFtdO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzSW5wdXRUZXh0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1NlYXJjaEJ1dHRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNFeHBhbmRBbmltYXRpb24gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHNlYXJjaDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEV1aUF1dG9Db21wbGV0ZUl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHNlYXJjaENsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaW5wdXRGb2N1czogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaW5wdXRCbHVyOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWlUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8RXVpVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBhc1NlcnZpY2U6IEV1aUFwcFNoZWxsU2VydmljZSxcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQXV0b2NvbXBsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLmlzSW5wdXRUZXh0ID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0lucHV0VGV4dCkge1xuICAgICAgICAgICAgdGhpcy5pc0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzSW5wdXRUZXh0ICYmICF0aGlzLmlzQXV0b2NvbXBsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLmlzQXV0b2NvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAncmVzdWx0SXRlbVRlbXBsYXRlJykge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0SXRlbVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TZWxlY3Rpb25DaGFuZ2UoaXRlbXM6IEV1aUF1dG9Db21wbGV0ZUl0ZW1bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KGl0ZW1zKTtcbiAgICB9XG5cbiAgICBvbklucHV0Rm9jdXMoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRGb2N1cy5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc0lucHV0Rm9jdXMgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uSW5wdXRCbHVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzU2VhcmNoQnV0dG9uIHx8ICh0aGlzLmhhc1NlYXJjaEJ1dHRvbiAmJiB0aGlzLnNlYXJjaElucHV0ID09PSAnJykpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRCbHVyLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgdGhpcy5pc0lucHV0Rm9jdXMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VhcmNoKGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSBlO1xuICAgICAgICB0aGlzLnNlYXJjaC5lbWl0KGUpO1xuICAgIH1cblxuICAgIG9uU2VhcmNoSW5wdXQoZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZS5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaElucHV0O1xuICAgICAgICAgICAgdGhpcy5zZWFyY2guZW1pdCh0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VhcmNoQ2xpY2soaXNJY29uT25seTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaXNJY29uT25seSkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hDbGljay5lbWl0KG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc0lucHV0Rm9jdXMgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hDbGljay5lbWl0KHRoaXMuc2VhcmNoSW5wdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICgoYXNTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc0x0TGFyZ2VUYWJsZXQpIHtcbiAgICA8ZXVpLWljb24tYnV0dG9uIGljb249XCJldWktZWNsLXNlYXJjaFwiIChidXR0b25DbGljayk9XCJvblNlYXJjaENsaWNrKHRydWUpXCIvPlxuXG59IEBlbHNlIHtcbiAgICA8ZXVpLWljb24taW5wdXQgZXVpSWNvblBvc2l0aW9uRW5kPlxuICAgICAgICBAaWYgKGlzQXV0b2NvbXBsZXRlKSB7XG4gICAgICAgICAgICA8ZXVpLWF1dG9jb21wbGV0ZSBbYXV0b2NvbXBsZXRlRGF0YV09XCJzZWFyY2hSZXN1bHRzXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJMYWJlbH19XCJcbiAgICAgICAgICAgICAgICBwYW5lbFdpZHRoPVwie3twYW5lbFdpZHRofX1cIlxuICAgICAgICAgICAgICAgIChpbnB1dEJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGlucHV0Rm9jdXMpPVwib25JbnB1dEZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlKT1cIm9uU2VhcmNoKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHRlbXBsYXRlcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1vcHRpb24gZXVpVGVtcGxhdGU9XCJkcm9wZG93bk9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlc3VsdEl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBvcHRpb24gfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9ldWktYXV0b2NvbXBsZXRlPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoaXNJbnB1dFRleHQpIHtcbiAgICAgICAgICAgICAgICA8aW5wdXQgZXVpSW5wdXRUZXh0IGNsYXNzPVwibXl3cC1zZWFyY2gtYmFyX19pbnB1dFwiIFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyTGFiZWwgfX1cIlxuICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKCRldmVudClcIiAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCIgKGtleWRvd24pPVwib25TZWFyY2hJbnB1dCgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoaGFzU2VhcmNoQnV0dG9uKSB7XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZXVpLXRvb2xiYXItc2VhcmNoX19pbnB1dC1idXR0b25cIlxuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgIFtldWlTZWNvbmRhcnldPVwiaXNJbnB1dEZvY3VzXCJcbiAgICAgICAgICAgICAgICBbZXVpUHJpbWFyeV09XCIhaXNJbnB1dEZvY3VzXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWFyY2hDbGljayhmYWxzZSlcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJzZWFyY2ggYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWVjbC1zZWFyY2hcIiBzaXplPVwic1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWVjbC1zZWFyY2hcIiBzaXplPVwic1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICB9XG4gICAgPC9ldWktaWNvbi1pbnB1dD5cblxufVxuXG4iXX0=