@eui/components 17.0.0-next.14 → 17.0.0-next.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/docs/components/ChartComponent.html +2 -2
  2. package/docs/components/CollapsedBreadcrumbComponent.html +2 -2
  3. package/docs/components/EclMessageWcComponent.html +2 -2
  4. package/docs/components/EuiAccessibleButtonIconComponent.html +2 -2
  5. package/docs/components/EuiAlertComponent.html +2 -2
  6. package/docs/components/EuiAppBreadcrumbComponent.html +2 -2
  7. package/docs/components/EuiAppComponent.html +2 -2
  8. package/docs/components/EuiAppFooterComponent.html +2 -2
  9. package/docs/components/EuiAppHeaderComponent.html +2 -2
  10. package/docs/components/EuiAppSidebarBodyComponent.html +2 -2
  11. package/docs/components/EuiAppSidebarComponent.html +2 -2
  12. package/docs/components/EuiAppSidebarDrawerComponent.html +2 -2
  13. package/docs/components/EuiAppSidebarFooterComponent.html +2 -2
  14. package/docs/components/EuiAppSidebarHeaderComponent.html +2 -2
  15. package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +2 -2
  16. package/docs/components/EuiAppSidebarMenuComponent.html +2 -2
  17. package/docs/components/EuiAppToolbarComponent.html +2 -2
  18. package/docs/components/EuiAppTopMessageComponent.html +2 -2
  19. package/docs/components/EuiAutocompleteAsyncTestComponent.html +2 -2
  20. package/docs/components/EuiAutocompleteChipsAsyncTestComponent.html +2 -2
  21. package/docs/components/EuiAutocompleteChipsTestComponent.html +2 -2
  22. package/docs/components/EuiAutocompleteComponent.html +2 -2
  23. package/docs/components/EuiAutocompleteTestComponent.html +2 -2
  24. package/docs/components/EuiAvatarBadgeComponent.html +2 -2
  25. package/docs/components/EuiAvatarComponent.html +2 -2
  26. package/docs/components/EuiAvatarIconComponent.html +2 -2
  27. package/docs/components/EuiAvatarImageComponent.html +2 -2
  28. package/docs/components/EuiAvatarListComponent.html +2 -2
  29. package/docs/components/EuiAvatarTextComponent.html +2 -2
  30. package/docs/components/EuiBadgeComponent.html +2 -2
  31. package/docs/components/EuiBlockContentComponent.html +2 -2
  32. package/docs/components/EuiBlockDocumentComponent.html +2 -2
  33. package/docs/components/EuiBreadcrumbComponent.html +2 -2
  34. package/docs/components/EuiBreadcrumbItemComponent.html +2 -2
  35. package/docs/components/EuiButtonComponent.html +2 -2
  36. package/docs/components/EuiButtonGroupComponent.html +2 -2
  37. package/docs/components/EuiButtonsComponent.html +2 -2
  38. package/docs/components/EuiCardComponent.html +2 -2
  39. package/docs/components/EuiCardContentComponent.html +2 -2
  40. package/docs/components/EuiCardFooterActionButtonsComponent.html +2 -2
  41. package/docs/components/EuiCardFooterActionIconsComponent.html +2 -2
  42. package/docs/components/EuiCardFooterComponent.html +2 -2
  43. package/docs/components/EuiCardFooterMenuContentComponent.html +2 -2
  44. package/docs/components/EuiCardHeaderBodyComponent.html +2 -2
  45. package/docs/components/EuiCardHeaderComponent.html +2 -2
  46. package/docs/components/EuiCardHeaderLeftContentComponent.html +2 -2
  47. package/docs/components/EuiCardHeaderRightContentComponent.html +2 -2
  48. package/docs/components/EuiCardHeaderSubtitleComponent.html +2 -2
  49. package/docs/components/EuiCardHeaderTitleComponent.html +2 -2
  50. package/docs/components/EuiCardMediaComponent.html +2 -2
  51. package/docs/components/EuiChipComponent.html +2 -2
  52. package/docs/components/EuiChipListComponent.html +2 -2
  53. package/docs/components/EuiCommonHeaderComponent.html +2 -2
  54. package/docs/components/EuiDashboardButtonComponent.html +2 -2
  55. package/docs/components/EuiDashboardCardComponent.html +2 -2
  56. package/docs/components/EuiDateRangeSelectorComponent.html +2 -2
  57. package/docs/components/EuiDatepickerComponent.html +2 -2
  58. package/docs/components/EuiDialogComponent.html +2 -2
  59. package/docs/components/EuiDialogContainerComponent.html +2 -2
  60. package/docs/components/EuiDimmerComponent.html +2 -2
  61. package/docs/components/EuiDisableContentComponent.html +2 -2
  62. package/docs/components/EuiDiscussionThreadComponent.html +2 -2
  63. package/docs/components/EuiDiscussionThreadItemComponent.html +2 -2
  64. package/docs/components/EuiDropdownComponent.html +2 -2
  65. package/docs/components/EuiDropdownItemComponent.html +2 -2
  66. package/docs/components/EuiEclBannerComponent.html +2 -2
  67. package/docs/components/EuiEclButtonComponent.html +2 -2
  68. package/docs/components/EuiEclCarouselComponent.html +2 -2
  69. package/docs/components/EuiEclCarouselItemComponent.html +2 -2
  70. package/docs/components/EuiEclIconComponent.html +2 -2
  71. package/docs/components/EuiEclMessageComponent.html +2 -2
  72. package/docs/components/EuiEditorComponent.html +2 -2
  73. package/docs/components/EuiEditorCountersComponent.html +2 -2
  74. package/docs/components/EuiEditorHtmlViewComponent.html +2 -2
  75. package/docs/components/EuiEditorImageDialogComponent.html +2 -2
  76. package/docs/components/EuiEditorJsonViewComponent.html +2 -2
  77. package/docs/components/EuiExpandContentComponent.html +2 -2
  78. package/docs/components/EuiFeedbackMessageComponent.html +2 -2
  79. package/docs/components/EuiFieldsetComponent.html +2 -2
  80. package/docs/components/EuiFilePreviewComponent.html +2 -2
  81. package/docs/components/EuiFileUploadComponent.html +2 -2
  82. package/docs/components/EuiFileUploadProgressComponent.html +2 -2
  83. package/docs/components/EuiFooterComponent.html +2 -2
  84. package/docs/components/EuiGrowlComponent.html +2 -2
  85. package/docs/components/EuiHeaderAppComponent.html +2 -2
  86. package/docs/components/EuiHeaderAppNameComponent.html +2 -2
  87. package/docs/components/EuiHeaderAppNameLogoComponent.html +2 -2
  88. package/docs/components/EuiHeaderAppSubtitleComponent.html +2 -2
  89. package/docs/components/EuiHeaderComponent.html +2 -2
  90. package/docs/components/EuiHeaderEnvironmentComponent.html +2 -2
  91. package/docs/components/EuiHeaderLogoComponent.html +2 -2
  92. package/docs/components/EuiHeaderUserProfileComponent.html +2 -2
  93. package/docs/components/EuiIconColorComponent.html +2 -2
  94. package/docs/components/EuiIconComponent.html +2 -2
  95. package/docs/components/EuiIconSvgComponent.html +2 -2
  96. package/docs/components/EuiIconToggleComponent.html +2 -2
  97. package/docs/components/EuiInputCheckboxComponent.html +2 -2
  98. package/docs/components/EuiInputGroupComponent.html +2 -2
  99. package/docs/components/EuiInputNumberComponent.html +2 -2
  100. package/docs/components/EuiInputRadioComponent.html +2 -2
  101. package/docs/components/EuiInputTextComponent.html +2 -2
  102. package/docs/components/EuiLabelComponent.html +2 -2
  103. package/docs/components/EuiLanguageSelectorComponent.html +2 -2
  104. package/docs/components/EuiListComponent.html +2 -2
  105. package/docs/components/EuiListItemComponent.html +2 -2
  106. package/docs/components/EuiMenuComponent.html +2 -2
  107. package/docs/components/EuiMenuItemComponent.html +2 -2
  108. package/docs/components/EuiMessageBoxComponent.html +2 -2
  109. package/docs/components/EuiModalSelectorComponent.html +2 -2
  110. package/docs/components/EuiNotificationItemComponent.html +2 -2
  111. package/docs/components/EuiNotificationItemV2Component.html +2 -2
  112. package/docs/components/EuiNotificationsComponent.html +2 -2
  113. package/docs/components/EuiNotificationsV2Component.html +2 -2
  114. package/docs/components/EuiOverlayBodyComponent.html +2 -2
  115. package/docs/components/EuiOverlayComponent.html +2 -2
  116. package/docs/components/EuiOverlayFooterComponent.html +2 -2
  117. package/docs/components/EuiOverlayHeaderComponent.html +2 -2
  118. package/docs/components/EuiOverlayHeaderTitleComponent.html +2 -2
  119. package/docs/components/EuiPageBreadcrumbComponent.html +2 -2
  120. package/docs/components/EuiPageColumnComponent.html +2 -2
  121. package/docs/components/EuiPageColumnsComponent.html +2 -2
  122. package/docs/components/EuiPageComponent.html +2 -2
  123. package/docs/components/EuiPageContentComponent.html +2 -2
  124. package/docs/components/EuiPageFooterComponent.html +2 -2
  125. package/docs/components/EuiPageHeaderComponent.html +2 -2
  126. package/docs/components/EuiPageHeroHeaderComponent.html +2 -2
  127. package/docs/components/EuiPageTopContentComponent.html +2 -2
  128. package/docs/components/EuiPaginatorComponent.html +2 -2
  129. package/docs/components/EuiPopoverComponent.html +2 -2
  130. package/docs/components/EuiProgressBarComponent.html +2 -2
  131. package/docs/components/EuiProgressCircleComponent.html +2 -2
  132. package/docs/components/EuiResizableComponent.html +2 -2
  133. package/docs/components/EuiSearchComponent.html +2 -2
  134. package/docs/components/EuiSelectComponent.html +2 -2
  135. package/docs/components/EuiSidebarMenuComponent.html +2 -2
  136. package/docs/components/EuiSidebarToggleComponent.html +2 -2
  137. package/docs/components/EuiSlideToggleComponent.html +2 -2
  138. package/docs/components/EuiSlideToggleTestComponent.html +2 -2
  139. package/docs/components/EuiTabComponent.html +2 -2
  140. package/docs/components/EuiTabContentComponent.html +2 -2
  141. package/docs/components/EuiTabLabelComponent.html +2 -2
  142. package/docs/components/EuiTableComponent.html +2 -2
  143. package/docs/components/EuiTableExpandableRowComponent.html +2 -2
  144. package/docs/components/EuiTableFilterComponent.html +2 -2
  145. package/docs/components/EuiTableSelectableHeaderComponent.html +2 -2
  146. package/docs/components/EuiTableSelectableRowComponent.html +2 -2
  147. package/docs/components/EuiTableSortableColComponent.html +2 -2
  148. package/docs/components/EuiTabsComponent.html +2 -2
  149. package/docs/components/EuiTextareaComponent.html +2 -2
  150. package/docs/components/EuiTimebarComponent.html +2 -2
  151. package/docs/components/EuiTimelineComponent.html +2 -2
  152. package/docs/components/EuiTimelineItemComponent.html +2 -2
  153. package/docs/components/EuiTimepickerComponent.html +2 -2
  154. package/docs/components/EuiToolbarAppComponent.html +2 -2
  155. package/docs/components/EuiToolbarCenterComponent.html +2 -2
  156. package/docs/components/EuiToolbarComponent.html +2 -2
  157. package/docs/components/EuiToolbarEnvironmentComponent.html +2 -2
  158. package/docs/components/EuiToolbarItemComponent.html +2 -2
  159. package/docs/components/EuiToolbarItemNotificationsComponent.html +2 -2
  160. package/docs/components/EuiToolbarItemSearchComponent.html +2 -2
  161. package/docs/components/EuiToolbarItemUserProfileComponent.html +2 -2
  162. package/docs/components/EuiToolbarItemsComponent.html +2 -2
  163. package/docs/components/EuiToolbarLogoComponent.html +2 -2
  164. package/docs/components/EuiToolbarMenuComponent.html +2 -2
  165. package/docs/components/EuiTooltipContainerComponent.html +2 -2
  166. package/docs/components/EuiTreeComponent.html +2 -2
  167. package/docs/components/EuiTreeListComponent.html +8 -190
  168. package/docs/components/EuiTreeListItemComponent.html +189 -465
  169. package/docs/components/EuiTreeListItemContentComponent.html +327 -0
  170. package/docs/components/EuiTreeListToolbarComponent.html +1040 -0
  171. package/docs/components/EuiUserProfileCardComponent.html +2 -2
  172. package/docs/components/EuiUserProfileComponent.html +2 -2
  173. package/docs/components/EuiUserProfileMenuComponent.html +2 -2
  174. package/docs/components/EuiUserProfileMenuItemComponent.html +2 -2
  175. package/docs/components/EuiUxTreeComponent.html +2 -2
  176. package/docs/components/EuiUxTreeNodeComponent.html +2 -2
  177. package/docs/components/EuiUxTreeToolbarComponent.html +2 -2
  178. package/docs/components/EuiWizardComponent.html +2 -2
  179. package/docs/components/EuiWizardStepComponent.html +2 -2
  180. package/docs/components/QuillEditorComponent.html +2 -2
  181. package/docs/dependencies.html +2 -2
  182. package/docs/directives/EuiTreeListItemDetailsContentTagDirective.html +1 -1
  183. package/docs/directives/{EuiTreeListItemSubLabelTagDirective.html → EuiTreeListItemLabelTagDirective.html} +3 -3
  184. package/docs/directives/EuiTreeListItemSubContainerContentTagDirective.html +1 -1
  185. package/docs/directives/{EuiTreeListToolbarContentTagDirective.html → EuiUxTreeToolbarButtonsTagDirective.html} +4 -4
  186. package/docs/index.html +2 -2
  187. package/docs/js/menu-wc.js +13 -13
  188. package/docs/js/menu-wc_es5.js +1 -1
  189. package/docs/js/search/search_index.js +2 -2
  190. package/docs/modules/EuiTreeListModule.html +12 -6
  191. package/esm2022/eui-button/eui-button.component.mjs +2 -2
  192. package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +2 -2
  193. package/esm2022/eui-file-upload/eui-file-upload.component.mjs +2 -2
  194. package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +2 -2
  195. package/esm2022/eui-list/eui-list.component.mjs +2 -2
  196. package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +3 -3
  197. package/esm2022/eui-tree-list/eui-tree-list-item.component.mjs +56 -90
  198. package/esm2022/eui-tree-list/eui-tree-list.component.mjs +9 -46
  199. package/esm2022/eui-tree-list/eui-tree-list.module.mjs +30 -18
  200. package/esm2022/eui-tree-list/index.mjs +3 -1
  201. package/esm2022/eui-tree-list/item-content/item-content.component.mjs +17 -0
  202. package/esm2022/eui-tree-list/toolbar/toolbar.component.mjs +129 -0
  203. package/esm2022/eui-wizard/eui-wizard-step.component.mjs +2 -2
  204. package/esm2022/eui-wizard/eui-wizard.component.mjs +2 -2
  205. package/esm2022/layout/eui-toolbar/toolbar.component.mjs +2 -2
  206. package/eui-tree-list/eui-tree-list-item.component.d.ts +19 -36
  207. package/eui-tree-list/eui-tree-list-item.component.d.ts.map +1 -1
  208. package/eui-tree-list/eui-tree-list.component.d.ts +5 -17
  209. package/eui-tree-list/eui-tree-list.component.d.ts.map +1 -1
  210. package/eui-tree-list/eui-tree-list.module.d.ts +10 -6
  211. package/eui-tree-list/eui-tree-list.module.d.ts.map +1 -1
  212. package/eui-tree-list/index.d.ts +2 -0
  213. package/eui-tree-list/index.d.ts.map +1 -1
  214. package/eui-tree-list/item-content/item-content.component.d.ts +7 -0
  215. package/eui-tree-list/item-content/item-content.component.d.ts.map +1 -0
  216. package/eui-tree-list/toolbar/toolbar.component.d.ts +44 -0
  217. package/eui-tree-list/toolbar/toolbar.component.d.ts.map +1 -0
  218. package/fesm2022/eui-components-eui-button.mjs +2 -2
  219. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  220. package/fesm2022/eui-components-eui-date-range-selector.mjs +2 -2
  221. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  222. package/fesm2022/eui-components-eui-file-upload.mjs +2 -2
  223. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  224. package/fesm2022/eui-components-eui-list.mjs +4 -4
  225. package/fesm2022/eui-components-eui-list.mjs.map +1 -1
  226. package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
  227. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  228. package/fesm2022/eui-components-eui-tree-list.mjs +222 -149
  229. package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
  230. package/fesm2022/eui-components-eui-wizard.mjs +4 -4
  231. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  232. package/fesm2022/eui-components-layout.mjs +2 -2
  233. package/fesm2022/eui-components-layout.mjs.map +1 -1
  234. package/package.json +7 -7
  235. package/docs/directives/EuiTreeListItemCustomContentTagDirective.html +0 -172
  236. package/docs/directives/EuiTreeListItemRightContentTagDirective.html +0 -172
@@ -1,15 +1,20 @@
1
- /* eslint-disable */
2
- import { Component, ContentChild, ContentChildren, Directive, EventEmitter, forwardRef, Host, Inject, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
1
+ import { Component, ContentChild, ContentChildren, Directive, EventEmitter, forwardRef, Host, HostBinding, Inject, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
3
2
  import { EuiTreeListComponent } from './eui-tree-list.component';
4
3
  import { consumeEvent, uniqueId } from '@eui/core';
5
4
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
+ import { EuiTreeListItemContentComponent } from './item-content/item-content.component';
6
+ import { BaseStatesDirective } from '@eui/components/shared';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/router";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@eui/components/eui-icon";
10
- import * as i4 from "@eui/components/eui-label";
11
- import * as i5 from "@eui/components/eui-button";
9
+ import * as i2 from "@eui/components/shared";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "@eui/components/eui-icon";
12
+ import * as i5 from "@eui/components/eui-label";
13
+ import * as i6 from "@eui/components/eui-button";
12
14
  export class EuiTreeListItemComponent {
15
+ get cssClasses() {
16
+ return this.getCssClasses();
17
+ }
13
18
  get active() {
14
19
  return this._active;
15
20
  }
@@ -34,35 +39,25 @@ export class EuiTreeListItemComponent {
34
39
  set isDisplaySubLinksOnHover(value) {
35
40
  this._isDisplaySubLinksOnHover = coerceBooleanProperty(value);
36
41
  }
37
- get hasMarker() {
38
- return this._hasMarker;
39
- }
40
- set hasMarker(value) {
41
- this._hasMarker = coerceBooleanProperty(value);
42
- }
43
42
  get isNavigateOnlyOnLabelClick() {
44
43
  return this._isNavigateOnlyOnLabelClick;
45
44
  }
46
45
  set isNavigateOnlyOnLabelClick(value) {
47
46
  this._isNavigateOnlyOnLabelClick = coerceBooleanProperty(value);
48
47
  }
49
- get isIconRounded() {
50
- return this._isIconRounded;
51
- }
52
- set isIconRounded(value) {
53
- this._isIconRounded = coerceBooleanProperty(value);
54
- }
55
48
  get isVisible() {
56
49
  return this._isVisible;
57
50
  }
58
51
  set isVisible(value) {
59
52
  this._isVisible = coerceBooleanProperty(value);
60
53
  }
61
- constructor(treeListComponent, router, elementRef) {
54
+ constructor(treeListComponent, router, elementRef, baseStatesDirective) {
62
55
  this.router = router;
63
56
  this.elementRef = elementRef;
64
- this.subLinks = [];
57
+ this.baseStatesDirective = baseStatesDirective;
58
+ this.tabIndex = '0';
65
59
  this.e2eAttr = 'eui-tree-list-item';
60
+ this.subLinks = [];
66
61
  this.toggled = new EventEmitter();
67
62
  this.isHovered = false;
68
63
  // tree states
@@ -73,9 +68,7 @@ export class EuiTreeListItemComponent {
73
68
  this._expanded = false;
74
69
  this._alwaysExpanded = false;
75
70
  this._isDisplaySubLinksOnHover = false;
76
- this._hasMarker = false;
77
71
  this._isNavigateOnlyOnLabelClick = false;
78
- this._isIconRounded = false;
79
72
  this._isVisible = true;
80
73
  this.treeListComponent = treeListComponent;
81
74
  }
@@ -92,9 +85,6 @@ export class EuiTreeListItemComponent {
92
85
  if (this.customContent.length !== 0) {
93
86
  this.hasCustomContent = true;
94
87
  }
95
- if (this.markerTypeClass && !this.hasMarker) {
96
- this.hasMarker = true;
97
- }
98
88
  // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:
99
89
  if (this.subTreeList) {
100
90
  this.subTreeList.forEach((subtree) => {
@@ -109,16 +99,6 @@ export class EuiTreeListItemComponent {
109
99
  this.expanded = !this.expanded;
110
100
  this.toggled.next(this);
111
101
  }
112
- navigateToLink(event) {
113
- if (this.linkUrl && !this.isNavigateOnlyOnLabelClick) {
114
- this.router.navigate([this.linkUrl]);
115
- }
116
- }
117
- onLabelClicked(event) {
118
- if (this.linkUrl && this.isNavigateOnlyOnLabelClick) {
119
- this.router.navigate([this.linkUrl]);
120
- }
121
- }
122
102
  onKeyDown(event) {
123
103
  switch (event.keyCode) {
124
104
  case 13: // ENTER
@@ -186,12 +166,6 @@ export class EuiTreeListItemComponent {
186
166
  this.focus();
187
167
  }
188
168
  }
189
- get hasCustomDetailContent() {
190
- return this.customDetailContent;
191
- }
192
- get hasCustomSubContainerContent() {
193
- return this.customSubContainerContent;
194
- }
195
169
  focusOnNextTreeItem() {
196
170
  if (this.expanded && this.subTreeList && this.subTreeList.length > 0) {
197
171
  this.subTreeList.first.focus();
@@ -212,20 +186,41 @@ export class EuiTreeListItemComponent {
212
186
  this.focusable.nativeElement.setAttribute('tabindex', '0');
213
187
  }
214
188
  }
215
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemComponent, deps: [{ token: forwardRef(() => EuiTreeListComponent), host: true }, { token: i1.Router }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
216
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemComponent, selector: "eui-tree-list-item", inputs: { styleClass: "styleClass", headerStyleClass: "headerStyleClass", id: "id", label: "label", linkUrl: "linkUrl", subLabel: "subLabel", iconClass: "iconClass", active: "active", expanded: "expanded", alwaysExpanded: "alwaysExpanded", url: "url", isDisplaySubLinksOnHover: "isDisplaySubLinksOnHover", subLinks: "subLinks", typeClass: "typeClass", hasMarker: "hasMarker", markerTypeClass: "markerTypeClass", isNavigateOnlyOnLabelClick: "isNavigateOnlyOnLabelClick", isIconRounded: "isIconRounded", iconTypeClass: "iconTypeClass", e2eAttr: "e2eAttr", isVisible: "isVisible" }, outputs: { toggled: "toggled" }, queries: [{ propertyName: "customSubLabel", first: true, predicate: i0.forwardRef(() => EuiTreeListItemSubLabelTagDirective), descendants: true }, { propertyName: "customDetailContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemDetailsContentTagDirective), descendants: true }, { propertyName: "customSubContainerContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemSubContainerContentTagDirective), descendants: true }, { propertyName: "subTreeList", predicate: i0.forwardRef(() => EuiTreeListComponent), descendants: true }, { propertyName: "customContent", predicate: i0.forwardRef(() => EuiTreeListItemCustomContentTagDirective) }], viewQueries: [{ propertyName: "focusable", first: true, predicate: ["focusable"], descendants: true }], ngImport: i0, template: "<div\n class=\"eui-tree-list-item {{ styleClass }}\"\n [class.eui-tree-list-item--active]=\"active\"\n [hidden]=\"!isVisible\"\n attr.data-e2e=\"{{ e2eAttr }}\"\n tabindex=\"0\">\n <div class=\"eui-tree-list-item-header eui-tree-list-item-header--{{ typeClass }} {{ headerStyleClass }}\" (click)=\"navigateToLink($event)\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n role=\"treeitem\"\n [id]=\"id\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\"\n [attr.aria-expanded]=\"expanded\">\n <ng-template [ngIf]=\"hasCustomContent\">\n <ng-content select=\"euiTreeListItemCustomContent\"></ng-content>\n\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-right-content-sub\">\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </div>\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <button *ngIf=\"hasSub && !alwaysExpanded\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary aria-label=\"Expand - collapse button icon\" (click)=\"toggle($event)\">\n <ng-container *ngIf=\"expanded\">\n <eui-icon-svg icon=\"eui-chevron-up\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n <ng-container *ngIf=\"!expanded\">\n <eui-icon-svg icon=\"eui-chevron-forward\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n </button>\n </div>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"!hasCustomContent\">\n <span euiLabel>\n {{ label }}\n </span>\n <span euiSublabel *ngIf=\"customSubLabel\">\n <ng-content select=\"euiTreeListItemSubLabel\"></ng-content>\n </span>\n <span euiSublabel *ngIf=\"!customSubLabel\">\n {{ subLabel }}\n </span>\n\n <!-- <eui-label\n label=\"{{ label }}\"\n subLabel=\"{{ subLabel }}\"\n iconClass=\"{{ iconClass }}\"\n [isIconRounded]=\"isIconRounded\"\n iconTypeClass=\"{{ iconTypeClass }}\"\n [hasMarker]=\"hasMarker\"\n markerTypeClass=\"{{ markerTypeClass }}\"\n [isClickable]=\"linkUrl && isNavigateOnlyOnLabelClick\"\n (click)=\"navigateToLink($event)\"\n (labelClicked)=\"onLabelClicked($event)\"\n [isBoldLabel]=\"true\"\n tabindex=\"-1\">\n <uxLabelSubLabel *ngIf=\"customSubLabel\">\n <ng-content select=\"euiTreeListItemSubLabel\"></ng-content>\n </uxLabelSubLabel>\n </eui-label> -->\n\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-right-content-sub\">\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </div>\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <button *ngIf=\"hasSub && !alwaysExpanded\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary aria-label=\"Expand - collapse button icon\" (click)=\"toggle($event)\">\n <ng-container *ngIf=\"expanded\">\n <eui-icon-svg icon=\"eui-chevron-up\" set=\"eui\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n <ng-container *ngIf=\"!expanded\">\n <eui-icon-svg icon=\"eui-chevron-forward\" set=\"eui\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n </button>\n </div>\n </div>\n </ng-template>\n </div>\n\n <ng-template [ngIf]=\"hasCustomDetailContent\">\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"euiTreeListItemDetailsContent\"></ng-content>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"hasCustomSubContainerContent\">\n <ng-content select=\"euiTreeListItemSubContainerContent\"></ng-content>\n </ng-template>\n </div>\n\n <ng-template [ngIf]=\"expanded || alwaysExpanded\">\n <ng-content></ng-content>\n </ng-template>\n</div>\n\n<ng-template #rightContent><ng-content select=\"euiTreeListItemRightContent\"></ng-content></ng-template>\n", styles: ["eui-tree-list .ux-a-toolbar-filter{padding:var(--eui-base-spacing-s);padding-bottom:var(--eui-base-spacing-s)}.eui-tree-list{margin-bottom:-2px}.eui-tree-list--no-bullets .eui-tree-list-item-header__content:before{content:\"\";padding-left:0;width:0}.eui-tree-list-item{border-top:1px solid var(--eui-base-color-grey-15)}.eui-tree-list-item-header{border-left:3px solid transparent;text-decoration:none}.eui-tree-list-item-header:hover,.eui-tree-list-item-header:focus{text-decoration:none}.eui-tree-list-item-header--primary{border-left:5px solid var(--eui-base-color-primary-100)}.eui-tree-list-item-header--info{border-left:5px solid var(--eui-base-color-info-100)}.eui-tree-list-item-header--success{border-left:5px solid var(--eui-base-color-success-100)}.eui-tree-list-item-header--warning{border-left:5px solid var(--eui-base-color-warning-100)}.eui-tree-list-item-header--danger{border-left:5px solid var(--eui-base-color-danger-100)}.eui-tree-list-item-header__content{align-items:center;display:flex;padding:var(--eui-base-spacing-s);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-tree-list-item-header__content-icon{font-size:var(--eui-base-font-size-l)}.eui-tree-list-item-header__content-right-content{align-items:center;display:flex;flex:0 0 auto;margin-left:auto;margin-right:var(--eui-base-spacing-xs)}.eui-tree-list-item-header__content-right-content-sub{color:var(--eui-base-color-primary-100);margin-right:0;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-tree-list-item-header__content-expand-toggle-wrapper{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s);text-align:center}.eui-tree-list-item-header__content-expand-toggle{color:var(--eui-base-color-grey-80);cursor:pointer;padding:var(--eui-base-spacing-xs)}.eui-tree-list-item-header__content-expand-toggle:hover{box-shadow:var(--eui-base-shadow-1)}.eui-tree-list-item-header__details-content{border-top:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs)}.eui-tree-list .eui-tree-list{border-top:1px solid var(--eui-base-color-grey-10)}.eui-tree-list .eui-tree-list .eui-tree-list-item{border-top:0}.eui-tree-list .eui-tree-list .eui-tree-list-item-header__content{color:var(--eui-base-color-grey-90)}.eui-tree-list .eui-tree-list .eui-tree-list-item-header__content-right-content-sub{color:var(--eui-base-color-text)}.eui-tree-list .eui-tree-list .eui-tree-list{padding-left:0}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content{border-bottom:0}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content-right-content-sub{color:var(--eui-base-color-grey-80)}.eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:var(--eui-base-spacing-m)}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(2 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(3 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(4 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(5 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(6 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(7 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(8 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(9 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(10 * var(--eui-base-spacing-m))}.eui-tree-list--no-bullets .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content:before{content:\"\"}.eui-tree-list--with-items-url .eui-tree-list-item-header__content .ux-a-label__label{color:var(--eui-base-color-primary-100)!important;cursor:pointer}.eui-tree-list--with-items-url .eui-tree-list-item-header__content .ux-a-label__label:hover{text-decoration:underline}uxtreelistitemcustomcontent{align-items:center;display:flex;width:100%;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}uxtreelistitemsublabel{align-items:center;display:flex}.eui-tree-list-item__hover-content{background-color:var(--eui-base-color-primary-110);height:100%;left:var(--eui-layout-sidebar-width);position:fixed;top:calc(var(--eui-layout-header-height) + var(--eui-layout-nav-height) - 1);width:var(--eui-layout-sidebar-width)}.eui-tree-list--advanced{background-color:var(--eui-base-color-white);display:flex;flex-direction:column;position:relative;width:100%}.eui-tree-list--advanced eui-tree-list-item,.eui-tree-list--advanced .eui-tree-list-item{border-top:1px solid var(--eui-base-color-grey-15);display:flex;flex-direction:column;width:100%}.eui-tree-list--advanced .eui-tree-list-item-header__content{align-items:center;display:flex;padding:var(--eui-base-spacing-2xs)}.eui-tree-list--advanced ux-a-label,.eui-tree-list--advanced .ux-a-label{display:flex;width:100%}.eui-tree-list--advanced ux-a-label .ux-a-label__content,.eui-tree-list--advanced .ux-a-label .ux-a-label__content{align-items:center;display:flex;width:100%}.eui-tree-list--advanced ux-a-label .ux-a-label__sub-label,.eui-tree-list--advanced .ux-a-label .ux-a-label__sub-label{display:flex;width:100%;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-tree-list--advanced ux-a-label .ux-a-label__sub-label uxlabelsublabel,.eui-tree-list--advanced ux-a-label .ux-a-label__sub-label uxtreelistitemsublabel,.eui-tree-list--advanced .ux-a-label .ux-a-label__sub-label uxlabelsublabel,.eui-tree-list--advanced .ux-a-label .ux-a-label__sub-label uxtreelistitemsublabel{display:flex;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.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: "component", type: i4.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "component", type: i5.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
189
+ getCssClasses() {
190
+ return [
191
+ this.baseStatesDirective.getCssClasses('eui-tree-list-item'),
192
+ this.active ? 'eui-tree-list-item--active' : '',
193
+ !this.isVisible ? 'eui-tree-list-item--hidden' : '',
194
+ ]
195
+ .join(' ')
196
+ .trim();
197
+ }
198
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemComponent, deps: [{ token: forwardRef(() => EuiTreeListComponent), host: true }, { token: i1.Router }, { token: i0.ElementRef }, { token: i2.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
199
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemComponent, selector: "eui-tree-list-item", inputs: { e2eAttr: "e2eAttr", id: "id", label: "label", linkUrl: "linkUrl", subLabel: "subLabel", active: "active", expanded: "expanded", alwaysExpanded: "alwaysExpanded", url: "url", isDisplaySubLinksOnHover: "isDisplaySubLinksOnHover", subLinks: "subLinks", isNavigateOnlyOnLabelClick: "isNavigateOnlyOnLabelClick", isVisible: "isVisible" }, outputs: { toggled: "toggled" }, host: { properties: { "class": "this.cssClasses", "attr.tabindex": "this.tabIndex", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "customLabel", first: true, predicate: i0.forwardRef(() => EuiTreeListItemLabelTagDirective), descendants: true }, { propertyName: "customDetailContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemDetailsContentTagDirective), descendants: true }, { propertyName: "customSubContainerContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemSubContainerContentTagDirective), descendants: true }, { propertyName: "subTreeList", predicate: i0.forwardRef(() => EuiTreeListComponent), descendants: true }, { propertyName: "customContent", predicate: i0.forwardRef(() => EuiTreeListItemContentComponent) }], viewQueries: [{ propertyName: "focusable", first: true, predicate: ["focusable"], descendants: true }], hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiInfo", "euiInfo", "euiSuccess", "euiSuccess", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n role=\"treeitem\"\n [id]=\"id\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\"\n [attr.aria-expanded]=\"expanded\">\n\n <ng-container *ngIf=\"hasCustomContent; else noCustomContent\">\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-container>\n\n <ng-template #noCustomContent>\n <div class=\"eui-u-flex\">\n <eui-label *ngIf=\"!customLabel\">\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n </eui-label>\n\n <eui-label *ngIf=\"customLabel\">\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"customDetailContent\">\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"customSubContainerContent\">\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n </ng-container>\n</div>\n\n<ng-template [ngIf]=\"expanded || alwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <button *ngIf=\"hasSub && !alwaysExpanded\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary euiSizeS aria-label=\"Expand - collapse button icon\" (click)=\"toggle($event)\">\n <ng-container *ngIf=\"expanded\">\n <eui-icon-svg icon=\"eui-chevron-up\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n <ng-container *ngIf=\"!expanded\">\n <eui-icon-svg icon=\"eui-chevron-forward\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "component", type: i5.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
217
200
  }
218
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemComponent, decorators: [{
219
202
  type: Component,
220
- args: [{ selector: 'eui-tree-list-item', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"eui-tree-list-item {{ styleClass }}\"\n [class.eui-tree-list-item--active]=\"active\"\n [hidden]=\"!isVisible\"\n attr.data-e2e=\"{{ e2eAttr }}\"\n tabindex=\"0\">\n <div class=\"eui-tree-list-item-header eui-tree-list-item-header--{{ typeClass }} {{ headerStyleClass }}\" (click)=\"navigateToLink($event)\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n role=\"treeitem\"\n [id]=\"id\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\"\n [attr.aria-expanded]=\"expanded\">\n <ng-template [ngIf]=\"hasCustomContent\">\n <ng-content select=\"euiTreeListItemCustomContent\"></ng-content>\n\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-right-content-sub\">\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </div>\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <button *ngIf=\"hasSub && !alwaysExpanded\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary aria-label=\"Expand - collapse button icon\" (click)=\"toggle($event)\">\n <ng-container *ngIf=\"expanded\">\n <eui-icon-svg icon=\"eui-chevron-up\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n <ng-container *ngIf=\"!expanded\">\n <eui-icon-svg icon=\"eui-chevron-forward\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n </button>\n </div>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"!hasCustomContent\">\n <span euiLabel>\n {{ label }}\n </span>\n <span euiSublabel *ngIf=\"customSubLabel\">\n <ng-content select=\"euiTreeListItemSubLabel\"></ng-content>\n </span>\n <span euiSublabel *ngIf=\"!customSubLabel\">\n {{ subLabel }}\n </span>\n\n <!-- <eui-label\n label=\"{{ label }}\"\n subLabel=\"{{ subLabel }}\"\n iconClass=\"{{ iconClass }}\"\n [isIconRounded]=\"isIconRounded\"\n iconTypeClass=\"{{ iconTypeClass }}\"\n [hasMarker]=\"hasMarker\"\n markerTypeClass=\"{{ markerTypeClass }}\"\n [isClickable]=\"linkUrl && isNavigateOnlyOnLabelClick\"\n (click)=\"navigateToLink($event)\"\n (labelClicked)=\"onLabelClicked($event)\"\n [isBoldLabel]=\"true\"\n tabindex=\"-1\">\n <uxLabelSubLabel *ngIf=\"customSubLabel\">\n <ng-content select=\"euiTreeListItemSubLabel\"></ng-content>\n </uxLabelSubLabel>\n </eui-label> -->\n\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-right-content-sub\">\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </div>\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <button *ngIf=\"hasSub && !alwaysExpanded\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary aria-label=\"Expand - collapse button icon\" (click)=\"toggle($event)\">\n <ng-container *ngIf=\"expanded\">\n <eui-icon-svg icon=\"eui-chevron-up\" set=\"eui\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n <ng-container *ngIf=\"!expanded\">\n <eui-icon-svg icon=\"eui-chevron-forward\" set=\"eui\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n </button>\n </div>\n </div>\n </ng-template>\n </div>\n\n <ng-template [ngIf]=\"hasCustomDetailContent\">\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"euiTreeListItemDetailsContent\"></ng-content>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"hasCustomSubContainerContent\">\n <ng-content select=\"euiTreeListItemSubContainerContent\"></ng-content>\n </ng-template>\n </div>\n\n <ng-template [ngIf]=\"expanded || alwaysExpanded\">\n <ng-content></ng-content>\n </ng-template>\n</div>\n\n<ng-template #rightContent><ng-content select=\"euiTreeListItemRightContent\"></ng-content></ng-template>\n", styles: ["eui-tree-list .ux-a-toolbar-filter{padding:var(--eui-base-spacing-s);padding-bottom:var(--eui-base-spacing-s)}.eui-tree-list{margin-bottom:-2px}.eui-tree-list--no-bullets .eui-tree-list-item-header__content:before{content:\"\";padding-left:0;width:0}.eui-tree-list-item{border-top:1px solid var(--eui-base-color-grey-15)}.eui-tree-list-item-header{border-left:3px solid transparent;text-decoration:none}.eui-tree-list-item-header:hover,.eui-tree-list-item-header:focus{text-decoration:none}.eui-tree-list-item-header--primary{border-left:5px solid var(--eui-base-color-primary-100)}.eui-tree-list-item-header--info{border-left:5px solid var(--eui-base-color-info-100)}.eui-tree-list-item-header--success{border-left:5px solid var(--eui-base-color-success-100)}.eui-tree-list-item-header--warning{border-left:5px solid var(--eui-base-color-warning-100)}.eui-tree-list-item-header--danger{border-left:5px solid var(--eui-base-color-danger-100)}.eui-tree-list-item-header__content{align-items:center;display:flex;padding:var(--eui-base-spacing-s);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-tree-list-item-header__content-icon{font-size:var(--eui-base-font-size-l)}.eui-tree-list-item-header__content-right-content{align-items:center;display:flex;flex:0 0 auto;margin-left:auto;margin-right:var(--eui-base-spacing-xs)}.eui-tree-list-item-header__content-right-content-sub{color:var(--eui-base-color-primary-100);margin-right:0;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-tree-list-item-header__content-expand-toggle-wrapper{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s);text-align:center}.eui-tree-list-item-header__content-expand-toggle{color:var(--eui-base-color-grey-80);cursor:pointer;padding:var(--eui-base-spacing-xs)}.eui-tree-list-item-header__content-expand-toggle:hover{box-shadow:var(--eui-base-shadow-1)}.eui-tree-list-item-header__details-content{border-top:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs)}.eui-tree-list .eui-tree-list{border-top:1px solid var(--eui-base-color-grey-10)}.eui-tree-list .eui-tree-list .eui-tree-list-item{border-top:0}.eui-tree-list .eui-tree-list .eui-tree-list-item-header__content{color:var(--eui-base-color-grey-90)}.eui-tree-list .eui-tree-list .eui-tree-list-item-header__content-right-content-sub{color:var(--eui-base-color-text)}.eui-tree-list .eui-tree-list .eui-tree-list{padding-left:0}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content{border-bottom:0}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content-right-content-sub{color:var(--eui-base-color-grey-80)}.eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:var(--eui-base-spacing-m)}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(2 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(3 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(4 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(5 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(6 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(7 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(8 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(9 * var(--eui-base-spacing-m))}.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content,.eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list .eui-tree-list-item-header__details-content{margin-left:calc(10 * var(--eui-base-spacing-m))}.eui-tree-list--no-bullets .eui-tree-list .eui-tree-list .eui-tree-list-item-header__content:before{content:\"\"}.eui-tree-list--with-items-url .eui-tree-list-item-header__content .ux-a-label__label{color:var(--eui-base-color-primary-100)!important;cursor:pointer}.eui-tree-list--with-items-url .eui-tree-list-item-header__content .ux-a-label__label:hover{text-decoration:underline}uxtreelistitemcustomcontent{align-items:center;display:flex;width:100%;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}uxtreelistitemsublabel{align-items:center;display:flex}.eui-tree-list-item__hover-content{background-color:var(--eui-base-color-primary-110);height:100%;left:var(--eui-layout-sidebar-width);position:fixed;top:calc(var(--eui-layout-header-height) + var(--eui-layout-nav-height) - 1);width:var(--eui-layout-sidebar-width)}.eui-tree-list--advanced{background-color:var(--eui-base-color-white);display:flex;flex-direction:column;position:relative;width:100%}.eui-tree-list--advanced eui-tree-list-item,.eui-tree-list--advanced .eui-tree-list-item{border-top:1px solid var(--eui-base-color-grey-15);display:flex;flex-direction:column;width:100%}.eui-tree-list--advanced .eui-tree-list-item-header__content{align-items:center;display:flex;padding:var(--eui-base-spacing-2xs)}.eui-tree-list--advanced ux-a-label,.eui-tree-list--advanced .ux-a-label{display:flex;width:100%}.eui-tree-list--advanced ux-a-label .ux-a-label__content,.eui-tree-list--advanced .ux-a-label .ux-a-label__content{align-items:center;display:flex;width:100%}.eui-tree-list--advanced ux-a-label .ux-a-label__sub-label,.eui-tree-list--advanced .ux-a-label .ux-a-label__sub-label{display:flex;width:100%;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-tree-list--advanced ux-a-label .ux-a-label__sub-label uxlabelsublabel,.eui-tree-list--advanced ux-a-label .ux-a-label__sub-label uxtreelistitemsublabel,.eui-tree-list--advanced .ux-a-label .ux-a-label__sub-label uxlabelsublabel,.eui-tree-list--advanced .ux-a-label .ux-a-label__sub-label uxtreelistitemsublabel{display:flex;width:100%}\n"] }]
203
+ args: [{ selector: 'eui-tree-list-item', encapsulation: ViewEncapsulation.None, hostDirectives: [
204
+ {
205
+ directive: BaseStatesDirective,
206
+ inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],
207
+ },
208
+ ], template: "<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n role=\"treeitem\"\n [id]=\"id\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\"\n [attr.aria-expanded]=\"expanded\">\n\n <ng-container *ngIf=\"hasCustomContent; else noCustomContent\">\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-container>\n\n <ng-template #noCustomContent>\n <div class=\"eui-u-flex\">\n <eui-label *ngIf=\"!customLabel\">\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n </eui-label>\n\n <eui-label *ngIf=\"customLabel\">\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"customDetailContent\">\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"customSubContainerContent\">\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n </ng-container>\n</div>\n\n<ng-template [ngIf]=\"expanded || alwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <button *ngIf=\"hasSub && !alwaysExpanded\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary euiSizeS aria-label=\"Expand - collapse button icon\" (click)=\"toggle($event)\">\n <ng-container *ngIf=\"expanded\">\n <eui-icon-svg icon=\"eui-chevron-up\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n <ng-container *ngIf=\"!expanded\">\n <eui-icon-svg icon=\"eui-chevron-forward\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n </button>\n </div>\n </div>\n</ng-template>\n" }]
221
209
  }], ctorParameters: () => [{ type: undefined, decorators: [{
222
210
  type: Host
223
211
  }, {
224
212
  type: Inject,
225
213
  args: [forwardRef(() => EuiTreeListComponent)]
226
- }] }, { type: i1.Router }, { type: i0.ElementRef }], propDecorators: { styleClass: [{
227
- type: Input
228
- }], headerStyleClass: [{
214
+ }] }, { type: i1.Router }, { type: i0.ElementRef }, { type: i2.BaseStatesDirective }], propDecorators: { cssClasses: [{
215
+ type: HostBinding,
216
+ args: ['class']
217
+ }], tabIndex: [{
218
+ type: HostBinding,
219
+ args: ['attr.tabindex']
220
+ }], e2eAttr: [{
221
+ type: HostBinding,
222
+ args: ['attr.data-e2e']
223
+ }, {
229
224
  type: Input
230
225
  }], id: [{
231
226
  type: Input
@@ -235,8 +230,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
235
230
  type: Input
236
231
  }], subLabel: [{
237
232
  type: Input
238
- }], iconClass: [{
239
- type: Input
240
233
  }], active: [{
241
234
  type: Input
242
235
  }], expanded: [{
@@ -249,20 +242,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
249
242
  type: Input
250
243
  }], subLinks: [{
251
244
  type: Input
252
- }], typeClass: [{
253
- type: Input
254
- }], hasMarker: [{
255
- type: Input
256
- }], markerTypeClass: [{
257
- type: Input
258
245
  }], isNavigateOnlyOnLabelClick: [{
259
246
  type: Input
260
- }], isIconRounded: [{
261
- type: Input
262
- }], iconTypeClass: [{
263
- type: Input
264
- }], e2eAttr: [{
265
- type: Input
266
247
  }], toggled: [{
267
248
  type: Output
268
249
  }], isVisible: [{
@@ -270,9 +251,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
270
251
  }], focusable: [{
271
252
  type: ViewChild,
272
253
  args: ['focusable']
273
- }], customSubLabel: [{
254
+ }], customLabel: [{
274
255
  type: ContentChild,
275
- args: [forwardRef(() => EuiTreeListItemSubLabelTagDirective)]
256
+ args: [forwardRef(() => EuiTreeListItemLabelTagDirective)]
276
257
  }], customDetailContent: [{
277
258
  type: ContentChild,
278
259
  args: [forwardRef(() => EuiTreeListItemDetailsContentTagDirective)]
@@ -284,46 +265,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
284
265
  args: [forwardRef(() => EuiTreeListComponent), { descendants: true }]
285
266
  }], customContent: [{
286
267
  type: ContentChildren,
287
- args: [forwardRef(() => EuiTreeListItemCustomContentTagDirective), { descendants: false }]
268
+ args: [forwardRef(() => EuiTreeListItemContentComponent), { descendants: false }]
288
269
  }] } });
289
- export class EuiTreeListItemCustomContentTagDirective {
290
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemCustomContentTagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
291
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemCustomContentTagDirective, selector: "euiTreeListItemCustomContent", ngImport: i0 }); }
292
- }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemCustomContentTagDirective, decorators: [{
294
- type: Directive,
295
- args: [{ selector: 'euiTreeListItemCustomContent' }]
296
- }] });
297
- export class EuiTreeListItemRightContentTagDirective {
298
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemRightContentTagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
299
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemRightContentTagDirective, selector: "euiTreeListItemRightContent", ngImport: i0 }); }
300
- }
301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemRightContentTagDirective, decorators: [{
302
- type: Directive,
303
- args: [{ selector: 'euiTreeListItemRightContent' }]
304
- }] });
305
- export class EuiTreeListItemSubLabelTagDirective {
306
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemSubLabelTagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
307
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemSubLabelTagDirective, selector: "euiTreeListItemSubLabel", ngImport: i0 }); }
270
+ /* eslint-disable */
271
+ export class EuiTreeListItemLabelTagDirective {
272
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemLabelTagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
273
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemLabelTagDirective, selector: "eui-tree-list-item-label", ngImport: i0 }); }
308
274
  }
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemSubLabelTagDirective, decorators: [{
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemLabelTagDirective, decorators: [{
310
276
  type: Directive,
311
- args: [{ selector: 'euiTreeListItemSubLabel' }]
277
+ args: [{ selector: 'eui-tree-list-item-label' }]
312
278
  }] });
313
279
  export class EuiTreeListItemDetailsContentTagDirective {
314
280
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemDetailsContentTagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
315
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemDetailsContentTagDirective, selector: "euiTreeListItemDetailsContent", ngImport: i0 }); }
281
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemDetailsContentTagDirective, selector: "eui-tree-list-item-details", ngImport: i0 }); }
316
282
  }
317
283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemDetailsContentTagDirective, decorators: [{
318
284
  type: Directive,
319
- args: [{ selector: 'euiTreeListItemDetailsContent' }]
285
+ args: [{ selector: 'eui-tree-list-item-details' }]
320
286
  }] });
321
287
  export class EuiTreeListItemSubContainerContentTagDirective {
322
288
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemSubContainerContentTagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
323
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemSubContainerContentTagDirective, selector: "euiTreeListItemSubContainerContent", ngImport: i0 }); }
289
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiTreeListItemSubContainerContentTagDirective, selector: "eui-tree-list-item-sub-container", ngImport: i0 }); }
324
290
  }
325
291
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiTreeListItemSubContainerContentTagDirective, decorators: [{
326
292
  type: Directive,
327
- args: [{ selector: 'euiTreeListItemSubContainerContent' }]
293
+ args: [{ selector: 'eui-tree-list-item-sub-container' }]
328
294
  }] });
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRyZWUtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10cmVlLWxpc3QvZXVpLXRyZWUtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2V1aS10cmVlLWxpc3QvZXVpLXRyZWUtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBUTVFLE1BQU0sT0FBTyx3QkFBd0I7SUFRakMsSUFDSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFtQjtRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQ0ksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNo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QUF3QyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFOztBQThLdkcsTUFBTSxPQUFPLHdDQUF3QztzSUFBeEMsd0NBQXdDOzBIQUF4Qyx3Q0FBd0M7O2dHQUF4Qyx3Q0FBd0M7a0JBRHBELFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsOEJBQThCLEVBQUM7O0FBSXJELE1BQU0sT0FBTyx1Q0FBdUM7c0lBQXZDLHVDQUF1QzswSEFBdkMsdUNBQXVDOztnR0FBdkMsdUNBQXVDO2tCQURuRCxTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLDZCQUE2QixFQUFDOztBQUlwRCxNQUFNLE9BQU8sbUNBQW1DO3NJQUFuQyxtQ0FBbUM7MEhBQW5DLG1DQUFtQzs7Z0dBQW5DLG1DQUFtQztrQkFEL0MsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSx5QkFBeUIsRUFBQzs7QUFJaEQsTUFBTSxPQUFPLHlDQUF5QztzSUFBekMseUNBQXlDOzBIQUF6Qyx5Q0FBeUM7O2dHQUF6Qyx5Q0FBeUM7a0JBRHJELFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsK0JBQStCLEVBQUM7O0FBSXRELE1BQU0sT0FBTyw4Q0FBOEM7c0lBQTlDLDhDQUE4QzswSEFBOUMsOENBQThDOztnR0FBOUMsOENBQThDO2tCQUQxRCxTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLG9DQUFvQyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVXhMaW5rTGVnYWN5IH0gZnJvbSAnQGV1aS9jb3JlJztcblxuaW1wb3J0IHsgRXVpVHJlZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2V1aS10cmVlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbnN1bWVFdmVudCwgdW5pcXVlSWQgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10cmVlLWxpc3QtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS10cmVlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVHJlZUxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGhlYWRlclN0eWxlQ2xhc3M6IHN0cmluZztcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGlua1VybDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YkxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaWNvbkNsYXNzOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xuICAgIH1cbiAgICBzZXQgYWN0aXZlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG4gICAgc2V0IGV4cGFuZGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIGdldCBhbHdheXNFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Fsd2F5c0V4cGFuZGVkO1xuICAgIH1cbiAgICBzZXQgYWx3YXlzRXhwYW5kZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9hbHdheXNFeHBhbmRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHVybDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzRGlzcGxheVN1YkxpbmtzT25Ib3ZlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRGlzcGxheVN1YkxpbmtzT25Ib3ZlcjtcbiAgICB9XG4gICAgc2V0IGlzRGlzcGxheVN1YkxpbmtzT25Ib3Zlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzRGlzcGxheVN1YkxpbmtzT25Ib3ZlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHN1YkxpbmtzOiBVeExpbmtMZWdhY3lbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHR5cGVDbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc01hcmtlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc01hcmtlcjtcbiAgICB9XG4gICAgc2V0IGhhc01hcmtlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2hhc01hcmtlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIG1hcmtlclR5cGVDbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzTmF2aWdhdGVPbmx5T25MYWJlbENsaWNrKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNOYXZpZ2F0ZU9ubHlPbkxhYmVsQ2xpY2s7XG4gICAgfVxuICAgIHNldCBpc05hdmlnYXRlT25seU9uTGFiZWxDbGljayh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzTmF2aWdhdGVPbmx5T25MYWJlbENsaWNrID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNJY29uUm91bmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSWNvblJvdW5kZWQ7XG4gICAgfVxuICAgIHNldCBpc0ljb25Sb3VuZGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNJY29uUm91bmRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGljb25UeXBlQ2xhc3M6IHN0cmluZztcbiAgICBASW5wdXQoKSBlMmVBdHRyID0gJ2V1aS10cmVlLWxpc3QtaXRlbSc7XG4gICAgQE91dHB1dCgpIHRvZ2dsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aVRyZWVMaXN0SXRlbUNvbXBvbmVudD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmlzaWJsZTtcbiAgICB9XG4gICAgc2V0IGlzVmlzaWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzVmlzaWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgdHJlZUxpc3RDb21wb25lbnQ6IEV1aVRyZWVMaXN0Q29tcG9uZW50O1xuXG4gICAgLy8gdHJlZSBzdGF0ZXNcbiAgICBoYXNTdWIgPSBmYWxzZTtcblxuICAgIC8vIGN1c3RvbSBjb250ZW50XG4gICAgaGFzQ3VzdG9tQ29udGVudCA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlJykgZm9jdXNhYmxlOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRXVpVHJlZUxpc3RJdGVtU3ViTGFiZWxUYWdEaXJlY3RpdmUpKVxuICAgIGN1c3RvbVN1YkxhYmVsOiBRdWVyeUxpc3Q8RXVpVHJlZUxpc3RJdGVtU3ViTGFiZWxUYWdEaXJlY3RpdmU+O1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlUcmVlTGlzdEl0ZW1EZXRhaWxzQ29udGVudFRhZ0RpcmVjdGl2ZSkpXG4gICAgY3VzdG9tRGV0YWlsQ29udGVudDogUXVlcnlMaXN0PEV1aVRyZWVMaXN0SXRlbURldGFpbHNDb250ZW50VGFnRGlyZWN0aXZlPjtcbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRXVpVHJlZUxpc3RJdGVtU3ViQ29udGFpbmVyQ29udGVudFRhZ0RpcmVjdGl2ZSkpXG4gICAgY3VzdG9tU3ViQ29udGFpbmVyQ29udGVudDogUXVlcnlMaXN0PEV1aVRyZWVMaXN0SXRlbVN1YkNvbnRhaW5lckNvbnRlbnRUYWdEaXJlY3RpdmU+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBFdWlUcmVlTGlzdENvbXBvbmVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBzdWJUcmVlTGlzdDogUXVlcnlMaXN0PEV1aVRyZWVMaXN0Q29tcG9uZW50PjtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRXVpVHJlZUxpc3RJdGVtQ3VzdG9tQ29udGVudFRhZ0RpcmVjdGl2ZSksIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pXG4gICAgY3VzdG9tQ29udGVudDogUXVlcnlMaXN0PEV1aVRyZWVMaXN0SXRlbUN1c3RvbUNvbnRlbnRUYWdEaXJlY3RpdmU+O1xuICAgIHByaXZhdGUgX2FjdGl2ZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2V4cGFuZGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfYWx3YXlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc0Rpc3BsYXlTdWJMaW5rc09uSG92ZXIgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9oYXNNYXJrZXIgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc05hdmlnYXRlT25seU9uTGFiZWxDbGljayA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzSWNvblJvdW5kZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc1Zpc2libGUgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBIb3N0KCkgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IEV1aVRyZWVMaXN0Q29tcG9uZW50KSkgdHJlZUxpc3RDb21wb25lbnQsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMudHJlZUxpc3RDb21wb25lbnQgPSB0cmVlTGlzdENvbXBvbmVudCBhcyBFdWlUcmVlTGlzdENvbXBvbmVudDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IHRoZSB0cmVlIGl0ZW0gY2FuIGJlIGFyaWEtb3duZWQgYnkgYSBwYXJlbnQgdHJlZSBmb3IgV0FJLUFSSUEgYXR0cmlidXRlczpcbiAgICAgICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICAgICAgICB0aGlzLmlkID0gdW5pcXVlSWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNldHRpbmcgdHJlZSBzdGF0ZXNcbiAgICAgICAgaWYgKHRoaXMuc3ViVHJlZUxpc3QubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmhhc1N1YiA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjaGVja2luZyBpZiBjdXN0b21Db250ZW50IHNldFxuICAgICAgICBpZiAodGhpcy5jdXN0b21Db250ZW50Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5oYXNDdXN0b21Db250ZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1hcmtlclR5cGVDbGFzcyAmJiAhdGhpcy5oYXNNYXJrZXIpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzTWFya2VyID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGFueSBjaGlsZCB0cmVlLWxpc3QgaXMgbm9uLWZvY3VzYWJsZSBhbmQgdGhhdCBpdCBoYXMgdGhlIHJvbGUgb2YgYSBXQUktQVJJQSBncm91cDpcbiAgICAgICAgaWYgKHRoaXMuc3ViVHJlZUxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViVHJlZUxpc3QuZm9yRWFjaCgoc3VidHJlZTogRXVpVHJlZUxpc3RDb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBzdWJ0cmVlLmRpc2FibGVGb2N1cygpO1xuICAgICAgICAgICAgICAgIHN1YnRyZWUuYXJpYVJvbGUgPSAnZ3JvdXAnO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMudG9nZ2xlZC5uZXh0KHRoaXMpO1xuICAgIH1cblxuICAgIG5hdmlnYXRlVG9MaW5rKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMubGlua1VybCAmJiAhdGhpcy5pc05hdmlnYXRlT25seU9uTGFiZWxDbGljaykge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMubGlua1VybF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25MYWJlbENsaWNrZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5saW5rVXJsICYmIHRoaXMuaXNOYXZpZ2F0ZU9ubHlPbkxhYmVsQ2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmxpbmtVcmxdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogYW55KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5Q29kZSkge1xuICAgICAgICAgICAgY2FzZSAxMzogLy8gRU5URVJcbiAgICAgICAgICAgIGNhc2UgMzI6IC8vIFNQQUNFXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgICAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDM3OiAvLyBBUlJPVyBMRUZUXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDM4OiAvLyBBUlJPVyBVUFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyZWVMaXN0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyZWVMaXN0Q29tcG9uZW50LmZvY3VzT25QcmV2aW91c1RyZWVJdGVtKHRoaXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVGb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMzk6IC8vIEFSUk9XIFJJR0hUXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgNDA6IC8vIEFSUk9XIERPV05cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb2N1c09uTmV4dFRyZWVJdGVtKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlRm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdW1lRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZpc2libGVTdGF0ZShzdGF0ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHN0YXRlO1xuXG4gICAgICAgIGlmICh0aGlzLnN1YlRyZWVMaXN0ICYmIHRoaXMuc3ViVHJlZUxpc3QubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnN1YlRyZWVMaXN0LnRvQXJyYXkoKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5zZXRWaXNpYmxlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RXhwYW5kZWRTdGF0ZShzdGF0ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gc3RhdGU7XG5cbiAgICAgICAgaWYgKHRoaXMuc3ViVHJlZUxpc3QubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnN1YlRyZWVMaXN0LnRvQXJyYXkoKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5zZXRFeHBhbmRlZFN0YXRlKHN0YXRlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2FibGUpIHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlRm9jdXMoKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50cmVlTGlzdENvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy50cmVlTGlzdENvbXBvbmVudC5kaXNhYmxlRm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c09uTGFzdEV4cGFuZGVkVHJlZUl0ZW0oKSB7XG4gICAgICAgIGNvbnN0IGxhc3RFeHBhbmRlZCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldWktdHJlZS1saXN0LWl0ZW0taGVhZGVyX19jb250ZW50Jyk7XG4gICAgICAgIGlmIChsYXN0RXhwYW5kZWQgJiYgbGFzdEV4cGFuZGVkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBsYXN0RXhwYW5kZWRbbGFzdEV4cGFuZGVkLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzQ3VzdG9tRGV0YWlsQ29udGVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tRGV0YWlsQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhhc0N1c3RvbVN1YkNvbnRhaW5lckNvbnRlbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbVN1YkNvbnRhaW5lckNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZvY3VzT25OZXh0VHJlZUl0ZW0oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkICYmIHRoaXMuc3ViVHJlZUxpc3QgJiYgdGhpcy5zdWJUcmVlTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnN1YlRyZWVMaXN0LmZpcnN0LmZvY3VzKCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRyZWVMaXN0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmVlTGlzdENvbXBvbmVudC5mb2N1c09uTmV4dFRyZWVJdGVtKHRoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkaXNhYmxlRm9jdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGUubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZW5hYmxlRm9jdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGUubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnZXVpVHJlZUxpc3RJdGVtQ3VzdG9tQ29udGVudCd9KVxuZXhwb3J0IGNsYXNzIEV1aVRyZWVMaXN0SXRlbUN1c3RvbUNvbnRlbnRUYWdEaXJlY3RpdmUge1xufVxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdldWlUcmVlTGlzdEl0ZW1SaWdodENvbnRlbnQnfSlcbmV4cG9ydCBjbGFzcyBFdWlUcmVlTGlzdEl0ZW1SaWdodENvbnRlbnRUYWdEaXJlY3RpdmUge1xufVxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdldWlUcmVlTGlzdEl0ZW1TdWJMYWJlbCd9KVxuZXhwb3J0IGNsYXNzIEV1aVRyZWVMaXN0SXRlbVN1YkxhYmVsVGFnRGlyZWN0aXZlIHtcbn1cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnZXVpVHJlZUxpc3RJdGVtRGV0YWlsc0NvbnRlbnQnfSlcbmV4cG9ydCBjbGFzcyBFdWlUcmVlTGlzdEl0ZW1EZXRhaWxzQ29udGVudFRhZ0RpcmVjdGl2ZSB7XG59XG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ2V1aVRyZWVMaXN0SXRlbVN1YkNvbnRhaW5lckNvbnRlbnQnfSlcbmV4cG9ydCBjbGFzcyBFdWlUcmVlTGlzdEl0ZW1TdWJDb250YWluZXJDb250ZW50VGFnRGlyZWN0aXZlIHtcbn1cblxuLyogZXNsaW50LWVuYWJsZSAqL1xuIiwiPGRpdlxuICAgIGNsYXNzPVwiZXVpLXRyZWUtbGlzdC1pdGVtIHt7IHN0eWxlQ2xhc3MgfX1cIlxuICAgIFtjbGFzcy5ldWktdHJlZS1saXN0LWl0ZW0tLWFjdGl2ZV09XCJhY3RpdmVcIlxuICAgIFtoaWRkZW5dPVwiIWlzVmlzaWJsZVwiXG4gICAgYXR0ci5kYXRhLWUyZT1cInt7IGUyZUF0dHIgfX1cIlxuICAgIHRhYmluZGV4PVwiMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJldWktdHJlZS1saXN0LWl0ZW0taGVhZGVyIGV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXItLXt7IHR5cGVDbGFzcyB9fSB7eyBoZWFkZXJTdHlsZUNsYXNzIH19XCIgKGNsaWNrKT1cIm5hdmlnYXRlVG9MaW5rKCRldmVudClcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI2ZvY3VzYWJsZVxuICAgICAgICAgICAgY2xhc3M9XCJldWktdHJlZS1saXN0LWl0ZW0taGVhZGVyX19jb250ZW50XCJcbiAgICAgICAgICAgIHJvbGU9XCJ0cmVlaXRlbVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgbGFiZWwgfX0ge3sgc3ViTGFiZWwgfX1cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRlZFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImhhc0N1c3RvbUNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWlUcmVlTGlzdEl0ZW1DdXN0b21Db250ZW50XCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXJfX2NvbnRlbnQtcmlnaHQtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRyZWUtbGlzdC1pdGVtLWhlYWRlcl9fY29udGVudC1yaWdodC1jb250ZW50LXN1YlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJpZ2h0Q29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXJfX2NvbnRlbnQtZXhwYW5kLXRvZ2dsZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaGFzU3ViICYmICFhbHdheXNFeHBhbmRlZFwiIGV1aUJ1dHRvbiBldWlJY29uQnV0dG9uIGV1aUJhc2ljQnV0dG9uIGV1aVJvdW5kZWQgZXVpUHJpbWFyeSBhcmlhLWxhYmVsPVwiRXhwYW5kIC0gY29sbGFwc2UgYnV0dG9uIGljb25cIiAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tdXBcIiBmaWxsQ29sb3I9XCJncmV5LTEwMFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tZm9yd2FyZFwiIGZpbGxDb2xvcj1cImdyZXktMTAwXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiIWhhc0N1c3RvbUNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBldWlMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gZXVpU3VibGFiZWwgKm5nSWY9XCJjdXN0b21TdWJMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWlUcmVlTGlzdEl0ZW1TdWJMYWJlbFwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gZXVpU3VibGFiZWwgKm5nSWY9XCIhY3VzdG9tU3ViTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgc3ViTGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8IS0tIDxldWktbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ7eyBsYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIHN1YkxhYmVsPVwie3sgc3ViTGFiZWwgfX1cIlxuICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJ7eyBpY29uQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbaXNJY29uUm91bmRlZF09XCJpc0ljb25Sb3VuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvblR5cGVDbGFzcz1cInt7IGljb25UeXBlQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbaGFzTWFya2VyXT1cImhhc01hcmtlclwiXG4gICAgICAgICAgICAgICAgICAgIG1hcmtlclR5cGVDbGFzcz1cInt7IG1hcmtlclR5cGVDbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc0NsaWNrYWJsZV09XCJsaW5rVXJsICYmIGlzTmF2aWdhdGVPbmx5T25MYWJlbENsaWNrXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9MaW5rKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAobGFiZWxDbGlja2VkKT1cIm9uTGFiZWxDbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbaXNCb2xkTGFiZWxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPHV4TGFiZWxTdWJMYWJlbCAqbmdJZj1cImN1c3RvbVN1YkxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWlUcmVlTGlzdEl0ZW1TdWJMYWJlbFwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC91eExhYmVsU3ViTGFiZWw+XG4gICAgICAgICAgICAgICAgPC9ldWktbGFiZWw+IC0tPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXJfX2NvbnRlbnQtcmlnaHQtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRyZWUtbGlzdC1pdGVtLWhlYWRlcl9fY29udGVudC1yaWdodC1jb250ZW50LXN1YlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJpZ2h0Q29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXJfX2NvbnRlbnQtZXhwYW5kLXRvZ2dsZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaGFzU3ViICYmICFhbHdheXNFeHBhbmRlZFwiIGV1aUJ1dHRvbiBldWlJY29uQnV0dG9uIGV1aUJhc2ljQnV0dG9uIGV1aVJvdW5kZWQgZXVpUHJpbWFyeSBhcmlhLWxhYmVsPVwiRXhwYW5kIC0gY29sbGFwc2UgYnV0dG9uIGljb25cIiAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tdXBcIiBzZXQ9XCJldWlcIiBmaWxsQ29sb3I9XCJncmV5LTEwMFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tZm9yd2FyZFwiIHNldD1cImV1aVwiIGZpbGxDb2xvcj1cImdyZXktMTAwXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaGFzQ3VzdG9tRGV0YWlsQ29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXJfX2RldGFpbHMtY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aVRyZWVMaXN0SXRlbURldGFpbHNDb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImhhc0N1c3RvbVN1YkNvbnRhaW5lckNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aVRyZWVMaXN0SXRlbVN1YkNvbnRhaW5lckNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiZXhwYW5kZWQgfHwgYWx3YXlzRXhwYW5kZWRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNyaWdodENvbnRlbnQ+PG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpVHJlZUxpc3RJdGVtUmlnaHRDb250ZW50XCI+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+XG4iXX0=
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRyZWUtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10cmVlLWxpc3QvZXVpLXRyZWUtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2V1aS10cmVlLWxpc3QvZXVpLXRyZWUtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQWE3RCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLElBQ1csVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBV0QsSUFDSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFtQjtRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7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a0JBRDFELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsa0NBQWtDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFV4TGlua0xlZ2FjeSB9IGZyb20gJ0BldWkvY29yZSc7XG5cbmltcG9ydCB7IEV1aVRyZWVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9ldWktdHJlZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb25zdW1lRXZlbnQsIHVuaXF1ZUlkIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEV1aVRyZWVMaXN0SXRlbUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2l0ZW0tY29udGVudC9pdGVtLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdHJlZS1saXN0LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktdHJlZS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2V1aVByaW1hcnknLCAnZXVpU2Vjb25kYXJ5JywgJ2V1aUluZm8nLCAnZXVpU3VjY2VzcycsICdldWlXYXJuaW5nJywgJ2V1aURhbmdlcicsICdldWlBY2NlbnQnLCAnZXVpVmFyaWFudCddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRyZWVMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYkluZGV4ID0gJzAnO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWUyZScpXG4gICAgQElucHV0KClcbiAgICBlMmVBdHRyID0gJ2V1aS10cmVlLWxpc3QtaXRlbSc7XG5cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGlua1VybDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YkxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmU7XG4gICAgfVxuICAgIHNldCBhY3RpdmUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9hY3RpdmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cbiAgICBzZXQgZXhwYW5kZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9leHBhbmRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGFsd2F5c0V4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWx3YXlzRXhwYW5kZWQ7XG4gICAgfVxuICAgIHNldCBhbHdheXNFeHBhbmRlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2Fsd2F5c0V4cGFuZGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KCkgdXJsOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNEaXNwbGF5U3ViTGlua3NPbkhvdmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEaXNwbGF5U3ViTGlua3NPbkhvdmVyO1xuICAgIH1cbiAgICBzZXQgaXNEaXNwbGF5U3ViTGlua3NPbkhvdmVyKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNEaXNwbGF5U3ViTGlua3NPbkhvdmVyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KCkgc3ViTGlua3M6IFV4TGlua0xlZ2FjeVtdID0gW107XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNOYXZpZ2F0ZU9ubHlPbkxhYmVsQ2xpY2soKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc05hdmlnYXRlT25seU9uTGFiZWxDbGljaztcbiAgICB9XG4gICAgc2V0IGlzTmF2aWdhdGVPbmx5T25MYWJlbENsaWNrKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNOYXZpZ2F0ZU9ubHlPbkxhYmVsQ2xpY2sgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBAT3V0cHV0KCkgdG9nZ2xlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpVHJlZUxpc3RJdGVtQ29tcG9uZW50PigpO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNWaXNpYmxlO1xuICAgIH1cbiAgICBzZXQgaXNWaXNpYmxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNWaXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpc0hvdmVyZWQgPSBmYWxzZTtcbiAgICB0cmVlTGlzdENvbXBvbmVudDogRXVpVHJlZUxpc3RDb21wb25lbnQ7XG5cbiAgICAvLyB0cmVlIHN0YXRlc1xuICAgIGhhc1N1YiA9IGZhbHNlO1xuXG4gICAgLy8gY3VzdG9tIGNvbnRlbnRcbiAgICBoYXNDdXN0b21Db250ZW50ID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGUnKSBmb2N1c2FibGU6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aVRyZWVMaXN0SXRlbUxhYmVsVGFnRGlyZWN0aXZlKSlcbiAgICBjdXN0b21MYWJlbDogUXVlcnlMaXN0PEV1aVRyZWVMaXN0SXRlbUxhYmVsVGFnRGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlUcmVlTGlzdEl0ZW1EZXRhaWxzQ29udGVudFRhZ0RpcmVjdGl2ZSkpXG4gICAgY3VzdG9tRGV0YWlsQ29udGVudDogUXVlcnlMaXN0PEV1aVRyZWVMaXN0SXRlbURldGFpbHNDb250ZW50VGFnRGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlUcmVlTGlzdEl0ZW1TdWJDb250YWluZXJDb250ZW50VGFnRGlyZWN0aXZlKSlcbiAgICBjdXN0b21TdWJDb250YWluZXJDb250ZW50OiBRdWVyeUxpc3Q8RXVpVHJlZUxpc3RJdGVtU3ViQ29udGFpbmVyQ29udGVudFRhZ0RpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRXVpVHJlZUxpc3RDb21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgc3ViVHJlZUxpc3Q6IFF1ZXJ5TGlzdDxFdWlUcmVlTGlzdENvbXBvbmVudD47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRXVpVHJlZUxpc3RJdGVtQ29udGVudENvbXBvbmVudCksIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pXG4gICAgY3VzdG9tQ29udGVudDogUXVlcnlMaXN0PEV1aVRyZWVMaXN0SXRlbUNvbnRlbnRDb21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSBfYWN0aXZlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfZXhwYW5kZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9hbHdheXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzRGlzcGxheVN1YkxpbmtzT25Ib3ZlciA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzTmF2aWdhdGVPbmx5T25MYWJlbENsaWNrID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNWaXNpYmxlID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASG9zdCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBFdWlUcmVlTGlzdENvbXBvbmVudCkpIHRyZWVMaXN0Q29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIGJhc2VTdGF0ZXNEaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHRoaXMudHJlZUxpc3RDb21wb25lbnQgPSB0cmVlTGlzdENvbXBvbmVudCBhcyBFdWlUcmVlTGlzdENvbXBvbmVudDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IHRoZSB0cmVlIGl0ZW0gY2FuIGJlIGFyaWEtb3duZWQgYnkgYSBwYXJlbnQgdHJlZSBmb3IgV0FJLUFSSUEgYXR0cmlidXRlczpcbiAgICAgICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICAgICAgICB0aGlzLmlkID0gdW5pcXVlSWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNldHRpbmcgdHJlZSBzdGF0ZXNcbiAgICAgICAgaWYgKHRoaXMuc3ViVHJlZUxpc3QubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmhhc1N1YiA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjaGVja2luZyBpZiBjdXN0b21Db250ZW50IHNldFxuICAgICAgICBpZiAodGhpcy5jdXN0b21Db250ZW50Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5oYXNDdXN0b21Db250ZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGFueSBjaGlsZCB0cmVlLWxpc3QgaXMgbm9uLWZvY3VzYWJsZSBhbmQgdGhhdCBpdCBoYXMgdGhlIHJvbGUgb2YgYSBXQUktQVJJQSBncm91cDpcbiAgICAgICAgaWYgKHRoaXMuc3ViVHJlZUxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViVHJlZUxpc3QuZm9yRWFjaCgoc3VidHJlZTogRXVpVHJlZUxpc3RDb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBzdWJ0cmVlLmRpc2FibGVGb2N1cygpO1xuICAgICAgICAgICAgICAgIHN1YnRyZWUuYXJpYVJvbGUgPSAnZ3JvdXAnO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMudG9nZ2xlZC5uZXh0KHRoaXMpO1xuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgMTM6IC8vIEVOVEVSXG4gICAgICAgICAgICBjYXNlIDMyOiAvLyBTUEFDRVxuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgICAgICAgICBjb25zdW1lRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAzNzogLy8gQVJST1cgTEVGVFxuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdW1lRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAzODogLy8gQVJST1cgVVBcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmVlTGlzdENvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50cmVlTGlzdENvbXBvbmVudC5mb2N1c09uUHJldmlvdXNUcmVlSXRlbSh0aGlzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlRm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDM5OiAvLyBBUlJPVyBSSUdIVFxuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDQwOiAvLyBBUlJPVyBET1dOXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZm9jdXNPbk5leHRUcmVlSXRlbSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZUZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWaXNpYmxlU3RhdGUoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBzdGF0ZTtcblxuICAgICAgICBpZiAodGhpcy5zdWJUcmVlTGlzdCAmJiB0aGlzLnN1YlRyZWVMaXN0Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zdWJUcmVlTGlzdC50b0FycmF5KCkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uc2V0VmlzaWJsZVN0YXRlKHN0YXRlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldEV4cGFuZGVkU3RhdGUoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHN0YXRlO1xuXG4gICAgICAgIGlmICh0aGlzLnN1YlRyZWVMaXN0Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zdWJUcmVlTGlzdC50b0FycmF5KCkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uc2V0RXhwYW5kZWRTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZUZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzYWJsZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJlZUxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudHJlZUxpc3RDb21wb25lbnQuZGlzYWJsZUZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXNPbkxhc3RFeHBhbmRlZFRyZWVJdGVtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYXN0RXhwYW5kZWQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRyZWUtbGlzdC1pdGVtLWhlYWRlcl9fY29udGVudCcpO1xuICAgICAgICBpZiAobGFzdEV4cGFuZGVkICYmIGxhc3RFeHBhbmRlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gbGFzdEV4cGFuZGVkW2xhc3RFeHBhbmRlZC5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZm9jdXNPbk5leHRUcmVlSXRlbSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgJiYgdGhpcy5zdWJUcmVlTGlzdCAmJiB0aGlzLnN1YlRyZWVMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc3ViVHJlZUxpc3QuZmlyc3QuZm9jdXMoKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHJlZUxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyZWVMaXN0Q29tcG9uZW50LmZvY3VzT25OZXh0VHJlZUl0ZW0odGhpcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRpc2FibGVGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzYWJsZS5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnLTEnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbmFibGVGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzYWJsZS5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZ2V0Q3NzQ2xhc3NlcygnZXVpLXRyZWUtbGlzdC1pdGVtJyksXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA/ICdldWktdHJlZS1saXN0LWl0ZW0tLWFjdGl2ZScgOiAnJyxcbiAgICAgICAgICAgICF0aGlzLmlzVmlzaWJsZSA/ICdldWktdHJlZS1saXN0LWl0ZW0tLWhpZGRlbicgOiAnJyxcbiAgICAgICAgXVxuICAgICAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktdHJlZS1saXN0LWl0ZW0tbGFiZWwnIH0pXG5leHBvcnQgY2xhc3MgRXVpVHJlZUxpc3RJdGVtTGFiZWxUYWdEaXJlY3RpdmUge31cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2V1aS10cmVlLWxpc3QtaXRlbS1kZXRhaWxzJyB9KVxuZXhwb3J0IGNsYXNzIEV1aVRyZWVMaXN0SXRlbURldGFpbHNDb250ZW50VGFnRGlyZWN0aXZlIHt9XG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktdHJlZS1saXN0LWl0ZW0tc3ViLWNvbnRhaW5lcicgfSlcbmV4cG9ydCBjbGFzcyBFdWlUcmVlTGlzdEl0ZW1TdWJDb250YWluZXJDb250ZW50VGFnRGlyZWN0aXZlIHt9XG4vKiBlc2xpbnQtZW5hYmxlICovXG4iLCI8ZGl2IGNsYXNzPVwiZXVpLXRyZWUtbGlzdC1pdGVtLWhlYWRlclwiPlxuICAgIDxkaXZcbiAgICAgICAgI2ZvY3VzYWJsZVxuICAgICAgICBjbGFzcz1cImV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXJfX2NvbnRlbnRcIlxuICAgICAgICByb2xlPVwidHJlZWl0ZW1cIlxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cInt7IGxhYmVsIH19IHt7IHN1YkxhYmVsIH19XCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRlZFwiPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDdXN0b21Db250ZW50OyBlbHNlIG5vQ3VzdG9tQ29udGVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLXRyZWUtbGlzdC1pdGVtLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmlnaHRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9DdXN0b21Db250ZW50PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWxhYmVsICpuZ0lmPVwiIWN1c3RvbUxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7bGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWxhYmVsICpuZ0lmPVwic3ViTGFiZWxcIiBldWlTdWJsYWJlbD57e3N1YkxhYmVsfX08L2V1aS1sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2V1aS1sYWJlbD5cblxuICAgICAgICAgICAgICAgIDxldWktbGFiZWwgKm5nSWY9XCJjdXN0b21MYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLXRyZWUtbGlzdC1pdGVtLWxhYmVsXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2V1aS1sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJpZ2h0Q29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbURldGFpbENvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXJfX2RldGFpbHMtY29udGVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLXRyZWUtbGlzdC1pdGVtLWRldGFpbHNcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbVN1YkNvbnRhaW5lckNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLXRyZWUtbGlzdC1pdGVtLXN1Yi1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImV4cGFuZGVkIHx8IGFsd2F5c0V4cGFuZGVkXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyaWdodENvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImV1aS10cmVlLWxpc3QtaXRlbS1oZWFkZXJfX2NvbnRlbnQtcmlnaHQtY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRyZWUtbGlzdC1pdGVtLWhlYWRlcl9fY29udGVudC1leHBhbmQtdG9nZ2xlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJoYXNTdWIgJiYgIWFsd2F5c0V4cGFuZGVkXCIgZXVpQnV0dG9uIGV1aUljb25CdXR0b24gZXVpQmFzaWNCdXR0b24gZXVpUm91bmRlZCBldWlQcmltYXJ5IGV1aVNpemVTIGFyaWEtbGFiZWw9XCJFeHBhbmQgLSBjb2xsYXBzZSBidXR0b24gaWNvblwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJleHBhbmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktY2hldnJvbi11cFwiIGZpbGxDb2xvcj1cImdyZXktMTAwXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleHBhbmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktY2hldnJvbi1mb3J3YXJkXCIgZmlsbENvbG9yPVwiZ3JleS0xMDBcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=