@eui/components 17.2.2-snapshot-1708914418329 → 17.2.2

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.
@@ -647,7 +647,7 @@
647
647
  <script src="../js/libs/htmlparser.js"></script>
648
648
  <script src="../js/libs/deep-iterator.js"></script>
649
649
  <script>
650
- var COMPONENT_TEMPLATE = '<div><nav id="top-menu" class="eui-toolbar-menu-content" *ngIf="items && items.length !== 0"> <ul> <ng-container *ngFor="let link of items"> <li *ngIf="link.visible" [class.has-sub]="link.children" [class.selected]="link.active" routerLinkActive="selected"> <a *ngIf="!link.url" [class.disabled]="link.disabled" [tabindex]="!link.disabled ? 0 : -1" (click)="onLinkClick(link)" (keydown)="onKeyDown($event, link)" title="{{ link.label | translate }}" [class.icon-home-link]="link.isHome"> <div class="eui-u-flex"> <eui-icon-svg *ngIf="link.iconSvgName" [icon]="link.iconSvgName" [fillColor]="link.active ? \'grey-100\' : \'white\'" class="eui-u-mr-xs"> </eui-icon-svg> <span *ngIf="link.iconClass && !link.iconSvgName" class="{{ link.iconClass }} eui-icon"></span> <span class="eui-toolbar-menu-label">{{ link.label | translate }}</span> <eui-icon-svg *ngIf="link.children" icon="eui-caret-down" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s"> </eui-icon-svg> </div> </a> <a *ngIf="link.url" [routerLink]="link.url" [class.disabled]="link.disabled" (click)="onLinkClick(link)" (keydown)="onKeyDown($event, link)" title="{{ link.label | translate }}" [class.icon-home-link]="link.isHome"> <div class="eui-u-flex"> <eui-icon-svg *ngIf="link.iconSvgName" [icon]="link.iconSvgName" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s" class="eui-u-mr-xs"> </eui-icon-svg> <span *ngIf="link.iconClass && !link.iconSvgName" class="{{ link.iconClass }} eui-icon"></span> <span class="eui-toolbar-menu-label">{{ link.label | translate }}</span> <eui-icon-svg *ngIf="link.children" icon="eui-caret-down" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s" class="eui-u-ml-xs"> </eui-icon-svg> </div> </a> <ul class="show" [class.showOnEnter]="isdropdownOpen" *ngIf="link.children"> <ng-container *ngFor="let childLink of link.children"> <li *ngIf="childLink.visible" class="child" [class.has-sub]="childLink?.children" [class.separator]="childLink.isSeparator"> <a *ngIf="!childLink.url" [tabindex]="isdropdownOpen && !childLink.disabled ? 0 : -1" [class.disabled]="childLink.disabled" (click)="onLinkClick(childLink)" (keydown)="onKeyDown($event, childLink)"> <span *ngIf="childLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}"></span> <eui-icon-svg *ngIf="childLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childLink.label | translate }}</span> </a> <a *ngIf="childLink.url" [tabindex]="isdropdownOpen && !childLink.disabled ? 0 : -1" [class.disabled]="childLink.disabled" [routerLink]="childLink.url" (click)="onLinkClick(childLink)" (keydown)="onKeyDown($event, childLink)"> <span *ngIf="childLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}"></span> <eui-icon-svg *ngIf="childLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childLink.label | translate }}</span> </a> <ul class="show" [class.showOnEnter]="isdropdownOpen" *ngIf="childLink.children"> <ng-container *ngFor="let childSubLink of childLink.children"> <li *ngIf="childSubLink.visible" class="child" [class.separator]="childSubLink.isSeparator"> <a *ngIf="childSubLink.url" [tabindex]="isdropdownOpen && !childSubLink.disabled ? 0 : -1" [class.disabled]="childSubLink.disabled" [routerLink]="childSubLink.url" (click)="onLinkClick(childSubLink)" (keydown)="onKeyDown($event, childSubLink)"> <span *ngIf="childSubLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}"></span> <eui-icon-svg *ngIf="childSubLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childSubLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childSubLink.label | translate }}</span> </a> <a *ngIf="!childSubLink.url" [tabindex]="isdropdownOpen && !childSubLink.disabled ? 0 : -1" [class.disabled]="childSubLink.disabled" (click)="onLinkClick(childSubLink)" (keydown)="onKeyDown($event, childSubLink)"> <span *ngIf="childSubLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}"></span> <eui-icon-svg *ngIf="childSubLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childSubLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childSubLink.label | translate }}</span> </a> </li> </ng-container> </ul> </li> </ng-container> </ul> </li> </ng-container> </ul></nav></div>'
650
+ var COMPONENT_TEMPLATE = '<div><nav id="top-menu" class="eui-toolbar-menu-content" *ngIf="items && items.length !== 0"> <ul> <ng-container *ngFor="let link of items"> <li *ngIf="link.visible === undefined || link.visible === true" [class.has-sub]="link.children" [class.selected]="link.active" routerLinkActive="selected"> <a *ngIf="!link.url" [class.disabled]="link.disabled" [tabindex]="!link.disabled ? 0 : -1" (click)="onLinkClick(link)" (keydown)="onKeyDown($event, link)" title="{{ link.label | translate }}" [class.icon-home-link]="link.isHome"> <div class="eui-u-flex"> <eui-icon-svg *ngIf="link.iconSvgName" [icon]="link.iconSvgName" [fillColor]="link.active ? \'grey-100\' : \'white\'" class="eui-u-mr-xs"> </eui-icon-svg> <span *ngIf="link.iconClass && !link.iconSvgName" class="{{ link.iconClass }} eui-icon"></span> <span class="eui-toolbar-menu-label">{{ link.label | translate }}</span> <eui-icon-svg *ngIf="link.children" icon="eui-caret-down" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s"> </eui-icon-svg> </div> </a> <a *ngIf="link.url" [routerLink]="link.url" [class.disabled]="link.disabled" (click)="onLinkClick(link)" (keydown)="onKeyDown($event, link)" title="{{ link.label | translate }}" [class.icon-home-link]="link.isHome"> <div class="eui-u-flex"> <eui-icon-svg *ngIf="link.iconSvgName" [icon]="link.iconSvgName" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s" class="eui-u-mr-xs"> </eui-icon-svg> <span *ngIf="link.iconClass && !link.iconSvgName" class="{{ link.iconClass }} eui-icon"></span> <span class="eui-toolbar-menu-label">{{ link.label | translate }}</span> <eui-icon-svg *ngIf="link.children" icon="eui-caret-down" [fillColor]="link.active ? \'grey-100\' : \'white\'" size="s" class="eui-u-ml-xs"> </eui-icon-svg> </div> </a> <ul class="show" [class.showOnEnter]="isdropdownOpen" *ngIf="link.children"> <ng-container *ngFor="let childLink of link.children"> <li *ngIf="childLink.visible === undefined || childLink.visible === true" class="child" [class.has-sub]="childLink?.children" [class.separator]="childLink.isSeparator"> <a *ngIf="!childLink.url" [tabindex]="isdropdownOpen && !childLink.disabled ? 0 : -1" [class.disabled]="childLink.disabled" (click)="onLinkClick(childLink)" (keydown)="onKeyDown($event, childLink)"> <span *ngIf="childLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}"></span> <eui-icon-svg *ngIf="childLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childLink.label | translate }}</span> </a> <a *ngIf="childLink.url" [tabindex]="isdropdownOpen && !childLink.disabled ? 0 : -1" [class.disabled]="childLink.disabled" [routerLink]="childLink.url" (click)="onLinkClick(childLink)" (keydown)="onKeyDown($event, childLink)"> <span *ngIf="childLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}"></span> <eui-icon-svg *ngIf="childLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childLink.label | translate }}</span> </a> <ul class="show" [class.showOnEnter]="isdropdownOpen" *ngIf="childLink.children"> <ng-container *ngFor="let childSubLink of childLink.children"> <li *ngIf="childSubLink.visible === undefined || childSubLink.visible === true" class="child" [class.separator]="childSubLink.isSeparator"> <a *ngIf="childSubLink.url" [tabindex]="isdropdownOpen && !childSubLink.disabled ? 0 : -1" [class.disabled]="childSubLink.disabled" [routerLink]="childSubLink.url" (click)="onLinkClick(childSubLink)" (keydown)="onKeyDown($event, childSubLink)"> <span *ngIf="childSubLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}"></span> <eui-icon-svg *ngIf="childSubLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childSubLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childSubLink.label | translate }}</span> </a> <a *ngIf="!childSubLink.url" [tabindex]="isdropdownOpen && !childSubLink.disabled ? 0 : -1" [class.disabled]="childSubLink.disabled" (click)="onLinkClick(childSubLink)" (keydown)="onKeyDown($event, childSubLink)"> <span *ngIf="childSubLink.iconClass" class="eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}"></span> <eui-icon-svg *ngIf="childSubLink.iconSvgName" class="eui-toolbar-menu-item__icon" icon="{{ childSubLink.iconSvgName }}"></eui-icon-svg> <span class="eui-toolbar-menu-item__label">{{ childSubLink.label | translate }}</span> </a> </li> </ng-container> </ul> </li> </ng-container> </ul> </li> </ng-container> </ul></nav></div>'
651
651
  var COMPONENTS = [{'name': 'ChartComponent', 'selector': 'eui-apex-chart'},{'name': 'CollapsedBreadcrumbComponent', 'selector': 'eui-collapsed-breadcrumb'},{'name': 'EuiAlertComponent', 'selector': 'div[euiAlert], eui-alert'},{'name': 'EuiAppBreadcrumbComponent', 'selector': 'eui-app-breadcrumb'},{'name': 'EuiAppComponent', 'selector': 'eui-app'},{'name': 'EuiAppFooterComponent', 'selector': 'eui-app-footer'},{'name': 'EuiAppHeaderComponent', 'selector': 'eui-app-header'},{'name': 'EuiAppSidebarBodyComponent', 'selector': 'eui-app-sidebar-body'},{'name': 'EuiAppSidebarComponent', 'selector': 'eui-app-sidebar'},{'name': 'EuiAppSidebarDrawerComponent', 'selector': 'eui-app-sidebar-drawer'},{'name': 'EuiAppSidebarFooterComponent', 'selector': 'eui-app-sidebar-footer'},{'name': 'EuiAppSidebarHeaderComponent', 'selector': 'eui-app-sidebar-header'},{'name': 'EuiAppSidebarHeaderUserProfileComponent', 'selector': 'eui-app-sidebar-header-user-profile'},{'name': 'EuiAppSidebarMenuComponent', 'selector': 'eui-app-sidebar-menu'},{'name': 'EuiAppToolbarComponent', 'selector': 'eui-app-toolbar'},{'name': 'EuiAppTopMessageComponent', 'selector': 'eui-app-top-message'},{'name': 'EuiAutocompleteAsyncTestComponent', 'selector': 'eui-autocomplete-test-component'},{'name': 'EuiAutocompleteChipsAsyncTestComponent', 'selector': 'eui-autocomplete-test-component'},{'name': 'EuiAutocompleteChipsTestComponent', 'selector': 'eui-autocomplete-test-component'},{'name': 'EuiAutocompleteComponent', 'selector': 'eui-autocomplete, input[euiAutocomplete]'},{'name': 'EuiAutocompleteOptionComponent', 'selector': 'eui-autocomplete-option'},{'name': 'EuiAutocompleteOptionGroupComponent', 'selector': 'eui-autocomplete-option-group'},{'name': 'EuiAutocompleteTestComponent', 'selector': 'eui-autocomplete-test-component'},{'name': 'EuiAvatarBadgeComponent', 'selector': 'eui-avatar-badge'},{'name': 'EuiAvatarComponent', 'selector': 'div[euiAvatar], span[euiAvatar], eui-avatar'},{'name': 'EuiAvatarIconComponent', 'selector': 'eui-avatar-icon'},{'name': 'EuiAvatarImageComponent', 'selector': 'eui-avatar-image'},{'name': 'EuiAvatarListComponent', 'selector': 'eui-avatar-list'},{'name': 'EuiAvatarTextComponent', 'selector': 'eui-avatar-text'},{'name': 'EuiBadgeComponent', 'selector': 'div[euiBadge], span[euiBadge], eui-badge'},{'name': 'EuiBlockContentComponent', 'selector': 'eui-block-content'},{'name': 'EuiBlockDocumentComponent', 'selector': 'eui-block-document'},{'name': 'EuiBreadcrumbComponent', 'selector': 'eui-breadcrumb'},{'name': 'EuiBreadcrumbItemComponent', 'selector': 'eui-breadcrumb-item'},{'name': 'EuiButtonComponent', 'selector': 'button[euiButton], a[euiButton]'},{'name': 'EuiButtonGroupComponent', 'selector': 'eui-button-group'},{'name': 'EuiButtonsComponent', 'selector': 'eui-buttons'},{'name': 'EuiCardComponent', 'selector': 'eui-card'},{'name': 'EuiCardContentComponent', 'selector': 'eui-card-content'},{'name': 'EuiCardFooterActionButtonsComponent', 'selector': 'eui-card-footer-action-buttons'},{'name': 'EuiCardFooterActionIconsComponent', 'selector': 'eui-card-footer-action-icons'},{'name': 'EuiCardFooterComponent', 'selector': 'eui-card-footer'},{'name': 'EuiCardFooterMenuContentComponent', 'selector': 'eui-card-footer-menu-content'},{'name': 'EuiCardHeaderBodyComponent', 'selector': 'eui-card-header-body'},{'name': 'EuiCardHeaderComponent', 'selector': 'eui-card-header'},{'name': 'EuiCardHeaderLeftContentComponent', 'selector': 'eui-card-header-left-content'},{'name': 'EuiCardHeaderRightContentComponent', 'selector': 'eui-card-header-right-content'},{'name': 'EuiCardHeaderSubtitleComponent', 'selector': 'eui-card-header-subtitle'},{'name': 'EuiCardHeaderTitleComponent', 'selector': 'eui-card-header-title'},{'name': 'EuiCardMediaComponent', 'selector': 'eui-card-media'},{'name': 'EuiChipComponent', 'selector': 'eui-chip, span[euiChip], li[euiChip]'},{'name': 'EuiChipListComponent', 'selector': 'eui-chip-list, div[euiChipList], ul[euiChipList]'},{'name': 'EuiCommonHeaderComponent', 'selector': 'eui-common-header'},{'name': 'EuiDashboardButtonComponent', 'selector': 'eui-dashboard-button'},{'name': 'EuiDashboardCardComponent', 'selector': 'eui-dashboard-card'},{'name': 'EuiDatepickerComponent', 'selector': 'eui-datepicker'},{'name': 'EuiDateRangeSelectorComponent', 'selector': 'eui-date-range-selector'},{'name': 'EuiDialogComponent', 'selector': 'eui-dialog'},{'name': 'EuiDialogContainerComponent', 'selector': 'eui-dialog-container'},{'name': 'EuiDimmerComponent', 'selector': 'eui-dimmer'},{'name': 'EuiDisableContentComponent', 'selector': 'eui-disable-content'},{'name': 'EuiDiscussionThreadComponent', 'selector': 'eui-discussion-thread'},{'name': 'EuiDiscussionThreadItemComponent', 'selector': 'eui-discussion-thread-item'},{'name': 'EuiDropdownComponent', 'selector': 'eui-dropdown'},{'name': 'EuiDropdownItemComponent', 'selector': 'eui-dropdown-item, [euiDropdownItem]'},{'name': 'EuiEditorComponent', 'selector': 'eui-editor'},{'name': 'EuiEditorCountersComponent', 'selector': 'eui-editor-counters'},{'name': 'EuiEditorHtmlViewComponent', 'selector': 'eui-editor-html-view'},{'name': 'EuiEditorImageDialogComponent', 'selector': ''},{'name': 'EuiEditorJsonViewComponent', 'selector': 'eui-editor-json-view'},{'name': 'EuiExpandContentComponent', 'selector': 'eui-expand-content'},{'name': 'EuiFeedbackMessageComponent', 'selector': 'eui-feedback-message'},{'name': 'EuiFieldsetComponent', 'selector': 'eui-fieldset'},{'name': 'EuiFilePreviewComponent', 'selector': 'eui-file-preview'},{'name': 'EuiFileUploadComponent', 'selector': 'eui-file-upload'},{'name': 'EuiFileUploadProgressComponent', 'selector': 'eui-file-upload-progress'},{'name': 'EuiFooterComponent', 'selector': 'eui-footer'},{'name': 'EuiGrowlComponent', 'selector': 'eui-growl'},{'name': 'EuiHeaderAppComponent', 'selector': 'eui-header-app'},{'name': 'EuiHeaderAppNameComponent', 'selector': 'eui-header-app-name'},{'name': 'EuiHeaderAppNameLogoComponent', 'selector': 'eui-header-app-name-logo'},{'name': 'EuiHeaderAppSubtitleComponent', 'selector': 'eui-header-app-subtitle'},{'name': 'EuiHeaderComponent', 'selector': 'eui-header'},{'name': 'EuiHeaderEnvironmentComponent', 'selector': 'eui-header-environment'},{'name': 'EuiHeaderLogoComponent', 'selector': 'eui-header-logo'},{'name': 'EuiHeaderRightContentComponent', 'selector': 'eui-header-right-content'},{'name': 'EuiHeaderUserProfileComponent', 'selector': 'eui-header-user-profile'},{'name': 'EuiIconColorComponent', 'selector': 'eui-icon-colored, span[euiIconColored], [euiIconColored]'},{'name': 'EuiIconComponent', 'selector': 'div[euiIcon], span[euiIcon], i[euiIcon], eui-icon'},{'name': 'EuiIconSvgButtonComponent', 'selector': 'eui-icon-svg-button'},{'name': 'EuiIconSvgComponent', 'selector': 'eui-icon-svg, span[euiIconSvg], i[euiIconSvg]'},{'name': 'EuiIconToggleComponent', 'selector': 'eui-icon-toggle'},{'name': 'EuiInputCheckboxComponent', 'selector': 'input[euiInputCheckBox]'},{'name': 'EuiInputGroupComponent', 'selector': 'div[euiInputGroup]'},{'name': 'EuiInputNumberComponent', 'selector': 'input[euiInputNumber]'},{'name': 'EuiInputRadioComponent', 'selector': 'input[euiInputRadio]'},{'name': 'EuiInputTextComponent', 'selector': 'input[euiInputText]'},{'name': 'EuiLabelComponent', 'selector': 'label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label,
652
652
  label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel'},{'name': 'EuiLanguageSelectorComponent', 'selector': 'eui-language-selector'},{'name': 'EuiListComponent', 'selector': '[euiList], eui-list'},{'name': 'EuiListItemComponent', 'selector': '[euiListItem], eui-list-item'},{'name': 'EuiMenuComponent', 'selector': 'eui-menu'},{'name': 'EuiMenuItemComponent', 'selector': 'eui-menu-item'},{'name': 'EuiMessageBoxComponent', 'selector': 'eui-message-box'},{'name': 'EuiModalSelectorComponent', 'selector': 'eui-modal-selector'},{'name': 'EuiNotificationItemComponent', 'selector': 'eui-notification-item'},{'name': 'EuiNotificationItemV2Component', 'selector': 'eui-notification-item-v2'},{'name': 'EuiNotificationsComponent', 'selector': 'eui-notifications'},{'name': 'EuiNotificationsV2Component', 'selector': 'eui-notifications-v2'},{'name': 'EuiOverlayBodyComponent', 'selector': 'eui-overlay-body'},{'name': 'EuiOverlayComponent', 'selector': 'eui-overlay'},{'name': 'EuiOverlayFooterComponent', 'selector': 'eui-overlay-footer'},{'name': 'EuiOverlayHeaderComponent', 'selector': 'eui-overlay-header'},{'name': 'EuiOverlayHeaderTitleComponent', 'selector': 'eui-overlay-header-title'},{'name': 'EuiPageBreadcrumbComponent', 'selector': 'eui-page-breadcrumb'},{'name': 'EuiPageColumnComponent', 'selector': 'eui-page-column'},{'name': 'EuiPageColumnsComponent', 'selector': 'eui-page-columns'},{'name': 'EuiPageComponent', 'selector': 'eui-page'},{'name': 'EuiPageContentComponent', 'selector': 'eui-page-content'},{'name': 'EuiPageFooterComponent', 'selector': 'eui-page-footer'},{'name': 'EuiPageHeaderComponent', 'selector': 'eui-page-header'},{'name': 'EuiPageHeroHeaderComponent', 'selector': 'eui-page-hero-header'},{'name': 'EuiPageTopContentComponent', 'selector': 'eui-page-top-content'},{'name': 'EuiPaginatorComponent', 'selector': 'eui-paginator'},{'name': 'EuiPopoverComponent', 'selector': 'eui-popover'},{'name': 'EuiProgressBarComponent', 'selector': 'eui-progress-bar'},{'name': 'EuiProgressCircleComponent', 'selector': 'eui-progress-circle'},{'name': 'EuiResizableComponent', 'selector': 'eui-resizable'},{'name': 'EuiSearchComponent', 'selector': 'eui-search'},{'name': 'EuiSelectComponent', 'selector': 'select[euiSelect]'},{'name': 'EuiSidebarMenuComponent', 'selector': 'eui-sidebar-menu'},{'name': 'EuiSidebarToggleComponent', 'selector': 'eui-sidebar-toggle'},{'name': 'EuiSkeletonComponent', 'selector': 'eui-skeleton'},{'name': 'EuiSlideToggleComponent', 'selector': 'eui-slide-toggle'},{'name': 'EuiSlideToggleTestComponent', 'selector': 'eui-slide-toggle-test-component'},{'name': 'EuiTabComponent', 'selector': 'eui-tab'},{'name': 'EuiTabContentComponent', 'selector': 'eui-tab-content, euiTabContent'},{'name': 'EuiTabLabelComponent', 'selector': 'eui-tab-label, euiTabLabel'},{'name': 'EuiTableComponent', 'selector': 'eui-table, table[euiTable]'},{'name': 'EuiTableExpandableRowComponent', 'selector': 'tr[euiTableExpandableRow]'},{'name': 'EuiTableFilterComponent', 'selector': 'eui-table-filter'},{'name': 'EuiTableSelectableHeaderComponent', 'selector': 'tr[isSelectableHeader]'},{'name': 'EuiTableSelectableRowComponent', 'selector': 'tr[isSelectable]'},{'name': 'EuiTableSortableColComponent', 'selector': 'th[sortable]'},{'name': 'EuiTabsComponent', 'selector': 'eui-tabs'},{'name': 'EuiTextareaComponent', 'selector': 'textarea[euiTextArea]'},{'name': 'EuiTimebarComponent', 'selector': 'eui-timebar'},{'name': 'EuiTimelineComponent', 'selector': 'eui-timeline'},{'name': 'EuiTimelineItemComponent', 'selector': 'eui-timeline-item'},{'name': 'EuiTimepickerComponent', 'selector': 'eui-timepicker'},{'name': 'EuiToolbarAppComponent', 'selector': 'eui-toolbar-app'},{'name': 'EuiToolbarCenterComponent', 'selector': 'eui-toolbar-center'},{'name': 'EuiToolbarComponent', 'selector': 'eui-toolbar'},{'name': 'EuiToolbarEnvironmentComponent', 'selector': 'eui-toolbar-environment'},{'name': 'EuiToolbarItemComponent', 'selector': 'eui-toolbar-item'},{'name': 'EuiToolbarItemsComponent', 'selector': 'eui-toolbar-items'},{'name': 'EuiToolbarLogoComponent', 'selector': 'eui-toolbar-logo'},{'name': 'EuiToolbarMenuComponent', 'selector': 'eui-toolbar-menu'},{'name': 'EuiTooltipContainerComponent', 'selector': 'eui-tooltip-container.component'},{'name': 'EuiTreeComponent', 'selector': 'eui-tree'},{'name': 'EuiTreeListComponent', 'selector': 'eui-tree-list'},{'name': 'EuiTreeListItemComponent', 'selector': 'eui-tree-list-item'},{'name': 'EuiTreeListItemContentComponent', 'selector': 'eui-tree-list-item-content'},{'name': 'EuiTreeListToolbarComponent', 'selector': 'eui-tree-list-toolbar'},{'name': 'EuiUserProfileCardComponent', 'selector': 'eui-user-profile-card'},{'name': 'EuiUserProfileComponent', 'selector': 'eui-user-profile'},{'name': 'EuiUserProfileMenuComponent', 'selector': 'eui-user-profile-menu'},{'name': 'EuiUserProfileMenuItemComponent', 'selector': 'eui-user-profile-menu-item'},{'name': 'EuiWizardComponent', 'selector': 'eui-wizard'},{'name': 'EuiWizardStepComponent', 'selector': 'eui-wizard-step'},{'name': 'QuillEditorComponent', 'selector': 'quill-editor'}];
653
653
  var DIRECTIVES = [{'name': 'AutoResizeDirective', 'selector': 'textarea[autoResize]'},{'name': 'BaseDirective', 'selector': '[euiBase]'},{'name': 'BaseStatesDirective', 'selector': '[euiBase]'},{'name': 'CollapsedButtonDirective', 'selector': 'collapsed-button'},{'name': 'EuiActionButtonsDirective', 'selector': 'eui-action-buttons'},{'name': 'EuiAlertTitleDirective', 'selector': 'eui-alert-title'},{'name': 'EuiAppPageWrapperDirective', 'selector': 'eui-app-page-wrapper'},{'name': 'EuiButtonsActionsContentTagDirective', 'selector': 'euiButtonsActionsContent'},{'name': 'EuiButtonsLocalMenuContentTagDirective', 'selector': 'euiButtonsLocalMenuContent'},{'name': 'EuiChipListAppendContentDirective', 'selector': 'euiChipListAppendContent'},{'name': 'EuiClearableDirective', 'selector': 'input[euiClearable]'},{'name': 'EuiDashboardButtonIconDirective', 'selector': 'eui-dashboard-button-icon'},{'name': 'EuiDashboardButtonLabelDirective', 'selector': 'eui-dashboard-button-label'},{'name': 'EuiDialogFooterDirective', 'selector': 'eui-dialog-footer'},{'name': 'EuiDialogHeaderDirective', 'selector': 'eui-dialog-header'},{'name': 'EuiDropdownContentDirective', 'selector': 'eui-dropdown-content'},{'name': 'EuiDropdownTreeDirective', 'selector': 'eui-dropdown[euiDropdownTree]'},{'name': 'EuiEditorCustomToolbarTagDirective', 'selector': 'euiEditorCustomToolbar'},{'name': 'EuiEditorMaxlengthDirective', 'selector': '[formControlName][euiEditorMaxlength]'},{'name': 'EuiFieldsetLabelExtraContentTagDirective', 'selector': 'euiFieldsetLabelExtraContent'},{'name': 'EuiFieldsetLabelRightContentTagDirective', 'selector': 'euiFieldsetLabelRightContent'},{'name': 'EuiHasPermissionDirective', 'selector': '[euiHasPermission]'},{'name': 'EuiHeaderAppNameDirective', 'selector': 'eui-header-app-name'},{'name': 'EuiHeaderAppNameLogoDirective', 'selector': 'eui-header-app-name-logo'},{'name': 'EuiHeaderAppSubtitleDirective', 'selector': 'eui-header-app-subtitle'},{'name': 'EuiInputNumberDirective', 'selector': 'input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]'},{'name': 'EuiLetterFormatDirective', 'selector': '[euiLetterFormat]'},{'name': 'EuiLoadingDirective', 'selector': '[euiLoading]'},{'name': 'EuiMaxLengthDirective', 'selector': '
@@ -140,11 +140,11 @@ export class EuiToolbarMenuComponent {
140
140
  }
141
141
  }
142
142
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiToolbarMenuComponent, deps: [{ token: i1.EuiAppShellService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
143
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiToolbarMenuComponent, selector: "eui-toolbar-menu", inputs: { items: "items", hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, 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\" [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 ? 'grey-100' : '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=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : '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 ? 'grey-100' : '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=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : '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\"\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\" 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: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
143
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiToolbarMenuComponent, selector: "eui-toolbar-menu", inputs: { items: "items", hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, 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 ? 'grey-100' : '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=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : '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 ? 'grey-100' : '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=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : '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: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
144
144
  }
145
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiToolbarMenuComponent, decorators: [{
146
146
  type: Component,
147
- args: [{ selector: 'eui-toolbar-menu', encapsulation: ViewEncapsulation.None, 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\" [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 ? 'grey-100' : '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=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : '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 ? 'grey-100' : '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=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : '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\"\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\" 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" }]
147
+ args: [{ selector: 'eui-toolbar-menu', encapsulation: ViewEncapsulation.None, 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 ? 'grey-100' : '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=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : '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 ? 'grey-100' : '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=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : '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" }]
148
148
  }], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i0.ChangeDetectorRef }], propDecorators: { cssClasses: [{
149
149
  type: HostBinding,
150
150
  args: ['class']
@@ -156,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
156
156
  }], menuItemClick: [{
157
157
  type: Output
158
158
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBSUwsTUFBTSxFQUNOLFlBQVksRUFHWixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQU9wQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLElBQ1csVUFBVTtRQUNqQixPQUFPLENBQUMsa0JBQWtCO1lBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDcEUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQWFELFlBQ1csU0FBNkIsRUFDNUIsRUFBcUI7UUFEdEIsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFDNUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFWTyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRTFELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBUW5CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3BCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxL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QVdaLGdCQUFnQixxSkNsQ3hDLHVpUkFvSUE7OzJGRDdHYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCLGlCQUViLGlCQUFpQixDQUFDLElBQUk7dUhBSTFCLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsT0FBTztnQkFTWCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2tDLGlCQUFpQjtzQkFBeEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aUFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktbWVudSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdG9vbGJhci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sYmFyTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gWydldWktdG9vbGJhci1tZW51JyxcbiAgICAgICAgICAgIHRoaXMuaGFzTG93ZXJjYXNlSXRlbXMgPyAnZXVpLXRvb2xiYXItbWVudS0tbG93ZXJjYXNlLWl0ZW1zJyA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgaXRlbXM6IGFueVtdO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNMb3dlcmNhc2VJdGVtcyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIG1lbnVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuXG4gICAgaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc3ViczogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhc1NlcnZpY2U6IEV1aUFwcFNoZWxsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICBoYXNUb29sYmFyTWVudTogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXRlIGNoYW5nZXNcbiAgICAgICAgdGhpcy5zdWJzLmFkZCh0aGlzLmFzU2VydmljZS5nZXRTdGF0ZSgnbWVudUxpbmtzJykuc3Vic2NyaWJlKChsaW5rcykgPT4gKHRoaXMuaXRlbXMgPSBsaW5rcykpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgbWVudUxpbmtzOiBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25MaW5rQ2xpY2sobGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGxpbmsudXJsKSB7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFsaW5rLmRpc2FibGVkICYmIGxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbGluay5kaXNhYmxlZCAmJiAhbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQobGluayk7XG5cbiAgICAgICAgICAgIC8vIGNsaWNrIG9uIGRyb3BpdGVtcyB0byBjbG9zZSBkcm9wZG93blxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgZHJvcGRvd24uZm9yRWFjaCgobWVudXMpID0+IHtcbiAgICAgICAgICAgICAgICBtZW51cy5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgbWVudXMuY2xhc3NMaXN0LnJlbW92ZSgnc2hvd09uRW50ZXInKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBvcGVuIGFnYWluIG9uIG1vdXNlb3ZlclxuICAgICAgICAgICAgY29uc3QgZHJvcEJ0bnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXInKTtcbiAgICAgICAgICAgIGRyb3BCdG5zLmZvckVhY2goKGJ0bikgPT4ge1xuICAgICAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcm9wQ29udGVudCA9IGJ0bi5xdWVyeVNlbGVjdG9yKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRPcGVuID0gZHJvcENvbnRlbnQgPyAhZHJvcENvbnRlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNob3VsZE9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyb3BDb250ZW50LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmsudXJsRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGxpbmsudXJsRXh0ZXJuYWwsIGxpbms/LnVybEV4dGVybmFsVGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGluay5jb21tYW5kKSB7XG4gICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgbGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICAgICAgICAgIGlmIChsaW5rLnVybCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKGxpbmsudXJsRXh0ZXJuYWwsIGxpbmsudXJsRXh0ZXJuYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay5jb21tYW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmsuY29tbWFuZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ1RhYic6IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc2Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0Y2hpbGQgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jaGlsZCA+IGEnKSkucmV2ZXJzZSgpWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBsYXN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGFzdCBjaGlsZCBvbmJsdXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdFc2NhcGUnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc2Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Y2hpbGQgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jaGlsZCA+IGEnKSlbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgZmlyc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZpcnN0IGNoaWxkIG9uYmx1clxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge307XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAobGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5hdiBpZD1cInRvcC1tZW51XCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWNvbnRlbnRcIiAqbmdJZj1cIml0ZW1zICYmIGl0ZW1zLmxlbmd0aCAhPT0gMFwiPlxuICAgIDx1bD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBpdGVtc1wiPlxuICAgICAgICAgICAgPGxpICpuZ0lmPVwibGluay52aXNpYmxlXCIgW2NsYXNzLmhhcy1zdWJdPVwibGluay5jaGlsZHJlblwiIFtjbGFzcy5zZWxlY3RlZF09XCJsaW5rLmFjdGl2ZVwiIHJvdXRlckxpbmtBY3RpdmU9XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiIWxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2sobGluaylcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pY29uLWhvbWUtbGlua109XCJsaW5rLmlzSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICdncmV5LTEwMCcgOiAnd2hpdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LW1yLXhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGluay5pY29uQ2xhc3MgJiYgIWxpbmsuaWNvblN2Z05hbWVcIiBjbGFzcz1cInt7IGxpbmsuaWNvbkNsYXNzIH19IGV1aS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWxhYmVsXCI+e3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCIgaWNvbj1cImV1aS1jYXJldC1kb3duXCIgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICdncmV5LTEwMCcgOiAnd2hpdGUnXCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2sobGluaylcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pY29uLWhvbWUtbGlua109XCJsaW5rLmlzSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICdncmV5LTEwMCcgOiAnd2hpdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tci14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmsuaWNvbkNsYXNzICYmICFsaW5rLmljb25TdmdOYW1lXCIgY2xhc3M9XCJ7eyBsaW5rLmljb25DbGFzcyB9fSBldWktaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZXVpLWNhcmV0LWRvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnZ3JleS0xMDAnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXUtbWwteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2hvd1wiIFtjbGFzcy5zaG93T25FbnRlcl09XCJpc2Ryb3Bkb3duT3BlblwiICpuZ0lmPVwibGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZExpbmsgb2YgbGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsudmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGlsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhhcy1zdWJdPVwiY2hpbGRMaW5rPy5jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlcGFyYXRvcl09XCJjaGlsZExpbmsuaXNTZXBhcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjaGlsZExpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZExpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZExpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpbGRMaW5rLmljb25DbGFzc1wiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZExpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZExpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjaGlsZExpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZExpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpbGRMaW5rLmljb25DbGFzc1wiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZExpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2hvd1wiIFtjbGFzcy5zaG93T25FbnRlcl09XCJpc2Ryb3Bkb3duT3BlblwiICpuZ0lmPVwiY2hpbGRMaW5rLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkU3ViTGluayBvZiBjaGlsZExpbmsuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cImNoaWxkU3ViTGluay52aXNpYmxlXCIgY2xhc3M9XCJjaGlsZFwiIFtjbGFzcy5zZXBhcmF0b3JdPVwiY2hpbGRTdWJMaW5rLmlzU2VwYXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZFN1YkxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRTdWJMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZFN1YkxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRTdWJMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkU3ViTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRTdWJMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjaGlsZFN1YkxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZFN1YkxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRTdWJMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkU3ViTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZFN1YkxpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRTdWJMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkU3ViTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZFN1YkxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBSUwsTUFBTSxFQUNOLFlBQVksRUFHWixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQU9wQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLElBQ1csVUFBVTtRQUNqQixPQUFPLENBQUMsa0JBQWtCO1lBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDcEUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQWFELFlBQ1csU0FBNkIsRUFDNUIsRUFBcUI7UUFEdEIsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFDNUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFWTyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRTFELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBUW5CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3BCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxL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QVdaLGdCQUFnQixxSkNsQ3hDLHlxUkFvSUE7OzJGRDdHYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCLGlCQUViLGlCQUFpQixDQUFDLElBQUk7dUhBSTFCLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsT0FBTztnQkFTWCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2tDLGlCQUFpQjtzQkFBeEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aUFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktbWVudSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdG9vbGJhci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sYmFyTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gWydldWktdG9vbGJhci1tZW51JyxcbiAgICAgICAgICAgIHRoaXMuaGFzTG93ZXJjYXNlSXRlbXMgPyAnZXVpLXRvb2xiYXItbWVudS0tbG93ZXJjYXNlLWl0ZW1zJyA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgaXRlbXM6IGFueVtdO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNMb3dlcmNhc2VJdGVtcyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIG1lbnVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuXG4gICAgaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc3ViczogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhc1NlcnZpY2U6IEV1aUFwcFNoZWxsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICBoYXNUb29sYmFyTWVudTogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXRlIGNoYW5nZXNcbiAgICAgICAgdGhpcy5zdWJzLmFkZCh0aGlzLmFzU2VydmljZS5nZXRTdGF0ZSgnbWVudUxpbmtzJykuc3Vic2NyaWJlKChsaW5rcykgPT4gKHRoaXMuaXRlbXMgPSBsaW5rcykpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgbWVudUxpbmtzOiBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25MaW5rQ2xpY2sobGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGxpbmsudXJsKSB7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFsaW5rLmRpc2FibGVkICYmIGxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbGluay5kaXNhYmxlZCAmJiAhbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQobGluayk7XG5cbiAgICAgICAgICAgIC8vIGNsaWNrIG9uIGRyb3BpdGVtcyB0byBjbG9zZSBkcm9wZG93blxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgZHJvcGRvd24uZm9yRWFjaCgobWVudXMpID0+IHtcbiAgICAgICAgICAgICAgICBtZW51cy5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgbWVudXMuY2xhc3NMaXN0LnJlbW92ZSgnc2hvd09uRW50ZXInKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBvcGVuIGFnYWluIG9uIG1vdXNlb3ZlclxuICAgICAgICAgICAgY29uc3QgZHJvcEJ0bnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdG9wLW1lbnUgbGk6aG92ZXInKTtcbiAgICAgICAgICAgIGRyb3BCdG5zLmZvckVhY2goKGJ0bikgPT4ge1xuICAgICAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcm9wQ29udGVudCA9IGJ0bi5xdWVyeVNlbGVjdG9yKCcjdG9wLW1lbnUgbGk6aG92ZXIgPiB1bCcpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRPcGVuID0gZHJvcENvbnRlbnQgPyAhZHJvcENvbnRlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNob3VsZE9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyb3BDb250ZW50LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmsudXJsRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGxpbmsudXJsRXh0ZXJuYWwsIGxpbms/LnVybEV4dGVybmFsVGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGluay5jb21tYW5kKSB7XG4gICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgbGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICAgICAgICAgIGlmIChsaW5rLnVybCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsaW5rLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKGxpbmsudXJsRXh0ZXJuYWwsIGxpbmsudXJsRXh0ZXJuYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay5jb21tYW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmsuY29tbWFuZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ1RhYic6IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc2Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0Y2hpbGQgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jaGlsZCA+IGEnKSkucmV2ZXJzZSgpWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBsYXN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGFzdCBjaGlsZCBvbmJsdXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdFc2NhcGUnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc2Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Y2hpbGQgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jaGlsZCA+IGEnKSlbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgZmlyc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZpcnN0IGNoaWxkIG9uYmx1clxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge307XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAobGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5hdiBpZD1cInRvcC1tZW51XCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWNvbnRlbnRcIiAqbmdJZj1cIml0ZW1zICYmIGl0ZW1zLmxlbmd0aCAhPT0gMFwiPlxuICAgIDx1bD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBpdGVtc1wiPlxuICAgICAgICAgICAgPGxpICpuZ0lmPVwibGluay52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgbGluay52aXNpYmxlID09PSB0cnVlXCIgW2NsYXNzLmhhcy1zdWJdPVwibGluay5jaGlsZHJlblwiIFtjbGFzcy5zZWxlY3RlZF09XCJsaW5rLmFjdGl2ZVwiIHJvdXRlckxpbmtBY3RpdmU9XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiIWxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2sobGluaylcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pY29uLWhvbWUtbGlua109XCJsaW5rLmlzSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICdncmV5LTEwMCcgOiAnd2hpdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LW1yLXhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGluay5pY29uQ2xhc3MgJiYgIWxpbmsuaWNvblN2Z05hbWVcIiBjbGFzcz1cInt7IGxpbmsuaWNvbkNsYXNzIH19IGV1aS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWxhYmVsXCI+e3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCIgaWNvbj1cImV1aS1jYXJldC1kb3duXCIgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICdncmV5LTEwMCcgOiAnd2hpdGUnXCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2sobGluaylcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pY29uLWhvbWUtbGlua109XCJsaW5rLmlzSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICdncmV5LTEwMCcgOiAnd2hpdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tci14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmsuaWNvbkNsYXNzICYmICFsaW5rLmljb25TdmdOYW1lXCIgY2xhc3M9XCJ7eyBsaW5rLmljb25DbGFzcyB9fSBldWktaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZXVpLWNhcmV0LWRvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnZ3JleS0xMDAnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXUtbWwteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2hvd1wiIFtjbGFzcy5zaG93T25FbnRlcl09XCJpc2Ryb3Bkb3duT3BlblwiICpuZ0lmPVwibGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZExpbmsgb2YgbGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsudmlzaWJsZSA9PT0gdW5kZWZpbmVkIHx8IGNoaWxkTGluay52aXNpYmxlID09PSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoaWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGFzLXN1Yl09XCJjaGlsZExpbms/LmNoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VwYXJhdG9yXT1cImNoaWxkTGluay5pc1NlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZExpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZExpbmsuaWNvbkNsYXNzXCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZExpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZExpbmsuaWNvbkNsYXNzXCIgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZExpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzaG93XCIgW2NsYXNzLnNob3dPbkVudGVyXT1cImlzZHJvcGRvd25PcGVuXCIgKm5nSWY9XCJjaGlsZExpbmsuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGRTdWJMaW5rIG9mIGNoaWxkTGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwiY2hpbGRTdWJMaW5rLnZpc2libGUgPT09IHVuZGVmaW5lZCB8fCBjaGlsZFN1YkxpbmsudmlzaWJsZSA9PT0gdHJ1ZVwiIGNsYXNzPVwiY2hpbGRcIiBbY2xhc3Muc2VwYXJhdG9yXT1cImNoaWxkU3ViTGluay5pc1NlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRTdWJMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkU3ViTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNoaWxkU3ViTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRTdWJMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkU3ViTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZFN1YkxpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkU3ViTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRTdWJMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkU3ViTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZFN1YkxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRTdWJMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkU3ViTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRTdWJMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbjwvbmF2PlxuIl19
@@ -685,11 +685,11 @@ class EuiToolbarMenuComponent {
685
685
  }
686
686
  }
687
687
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiToolbarMenuComponent, deps: [{ token: i1.EuiAppShellService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
688
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiToolbarMenuComponent, selector: "eui-toolbar-menu", inputs: { items: "items", hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, 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\" [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 ? 'grey-100' : '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=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : '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 ? 'grey-100' : '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=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : '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\"\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\" 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: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i2$1.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
688
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiToolbarMenuComponent, selector: "eui-toolbar-menu", inputs: { items: "items", hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, 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 ? 'grey-100' : '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=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : '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 ? 'grey-100' : '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=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : '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: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i2$1.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
689
689
  }
690
690
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiToolbarMenuComponent, decorators: [{
691
691
  type: Component,
692
- args: [{ selector: 'eui-toolbar-menu', encapsulation: ViewEncapsulation.None, 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\" [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 ? 'grey-100' : '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=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : '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 ? 'grey-100' : '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=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : '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\"\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\" 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" }]
692
+ args: [{ selector: 'eui-toolbar-menu', encapsulation: ViewEncapsulation.None, 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 ? 'grey-100' : '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=\"eui-caret-down\" [fillColor]=\"link.active ? 'grey-100' : '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 ? 'grey-100' : '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=\"eui-caret-down\"\n [fillColor]=\"link.active ? 'grey-100' : '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" }]
693
693
  }], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i0.ChangeDetectorRef }], propDecorators: { cssClasses: [{
694
694
  type: HostBinding,
695
695
  args: ['class']