@eui/components 17.0.0-next.20 → 17.0.0-next.21

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 (258) hide show
  1. package/docs/classes/EuiTreeHelper.html +85 -0
  2. package/docs/classes/EuiTreePagination.html +514 -0
  3. package/docs/components/ChartComponent.html +1 -1
  4. package/docs/components/CollapsedBreadcrumbComponent.html +1 -1
  5. package/docs/components/EclMessageWcComponent.html +1 -1
  6. package/docs/components/EuiAccessibleButtonIconComponent.html +1 -1
  7. package/docs/components/EuiAlertComponent.html +96 -609
  8. package/docs/components/EuiAppBreadcrumbComponent.html +1 -1
  9. package/docs/components/EuiAppComponent.html +1 -1
  10. package/docs/components/EuiAppFooterComponent.html +1 -1
  11. package/docs/components/EuiAppHeaderComponent.html +1 -1
  12. package/docs/components/EuiAppSidebarBodyComponent.html +1 -1
  13. package/docs/components/EuiAppSidebarComponent.html +1 -1
  14. package/docs/components/EuiAppSidebarDrawerComponent.html +1 -1
  15. package/docs/components/EuiAppSidebarFooterComponent.html +1 -1
  16. package/docs/components/EuiAppSidebarHeaderComponent.html +1 -1
  17. package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +1 -1
  18. package/docs/components/EuiAppSidebarMenuComponent.html +1 -1
  19. package/docs/components/EuiAppToolbarComponent.html +1 -1
  20. package/docs/components/EuiAppTopMessageComponent.html +1 -1
  21. package/docs/components/EuiAutocompleteAsyncTestComponent.html +1 -1
  22. package/docs/components/EuiAutocompleteChipsAsyncTestComponent.html +1 -1
  23. package/docs/components/EuiAutocompleteChipsTestComponent.html +1 -1
  24. package/docs/components/EuiAutocompleteComponent.html +1 -1
  25. package/docs/components/EuiAutocompleteTestComponent.html +1 -1
  26. package/docs/components/EuiAvatarBadgeComponent.html +1 -1
  27. package/docs/components/EuiAvatarComponent.html +1 -1
  28. package/docs/components/EuiAvatarIconComponent.html +1 -1
  29. package/docs/components/EuiAvatarImageComponent.html +1 -1
  30. package/docs/components/EuiAvatarListComponent.html +1 -1
  31. package/docs/components/EuiAvatarTextComponent.html +1 -1
  32. package/docs/components/EuiBadgeComponent.html +1 -1
  33. package/docs/components/EuiBlockContentComponent.html +1 -1
  34. package/docs/components/EuiBlockDocumentComponent.html +1 -1
  35. package/docs/components/EuiBreadcrumbComponent.html +1 -1
  36. package/docs/components/EuiBreadcrumbItemComponent.html +1 -1
  37. package/docs/components/EuiButtonComponent.html +1 -1
  38. package/docs/components/EuiButtonGroupComponent.html +1 -1
  39. package/docs/components/EuiButtonsComponent.html +1 -1
  40. package/docs/components/EuiCardComponent.html +1 -1
  41. package/docs/components/EuiCardContentComponent.html +1 -1
  42. package/docs/components/EuiCardFooterActionButtonsComponent.html +1 -1
  43. package/docs/components/EuiCardFooterActionIconsComponent.html +1 -1
  44. package/docs/components/EuiCardFooterComponent.html +1 -1
  45. package/docs/components/EuiCardFooterMenuContentComponent.html +1 -1
  46. package/docs/components/EuiCardHeaderBodyComponent.html +1 -1
  47. package/docs/components/EuiCardHeaderComponent.html +1 -1
  48. package/docs/components/EuiCardHeaderLeftContentComponent.html +1 -1
  49. package/docs/components/EuiCardHeaderRightContentComponent.html +1 -1
  50. package/docs/components/EuiCardHeaderSubtitleComponent.html +1 -1
  51. package/docs/components/EuiCardHeaderTitleComponent.html +1 -1
  52. package/docs/components/EuiCardMediaComponent.html +1 -1
  53. package/docs/components/EuiChipComponent.html +1 -1
  54. package/docs/components/EuiChipListComponent.html +1 -1
  55. package/docs/components/EuiCommonHeaderComponent.html +1 -1
  56. package/docs/components/EuiDashboardButtonComponent.html +1 -1
  57. package/docs/components/EuiDashboardCardComponent.html +1 -1
  58. package/docs/components/EuiDateRangeSelectorComponent.html +70 -2
  59. package/docs/components/EuiDatepickerComponent.html +1 -1
  60. package/docs/components/EuiDialogComponent.html +1 -1
  61. package/docs/components/EuiDialogContainerComponent.html +1 -1
  62. package/docs/components/EuiDimmerComponent.html +1 -1
  63. package/docs/components/EuiDisableContentComponent.html +1 -1
  64. package/docs/components/EuiDiscussionThreadComponent.html +1 -1
  65. package/docs/components/EuiDiscussionThreadItemComponent.html +1 -1
  66. package/docs/components/EuiDropdownComponent.html +1 -1
  67. package/docs/components/EuiDropdownItemComponent.html +1 -1
  68. package/docs/components/EuiEclBannerComponent.html +1 -1
  69. package/docs/components/EuiEclButtonComponent.html +1 -1
  70. package/docs/components/EuiEclCarouselComponent.html +1 -1
  71. package/docs/components/EuiEclCarouselItemComponent.html +1 -1
  72. package/docs/components/EuiEclIconComponent.html +1 -1
  73. package/docs/components/EuiEclMessageComponent.html +1 -1
  74. package/docs/components/EuiEditorComponent.html +1 -1
  75. package/docs/components/EuiEditorCountersComponent.html +1 -1
  76. package/docs/components/EuiEditorHtmlViewComponent.html +1 -1
  77. package/docs/components/EuiEditorImageDialogComponent.html +1 -1
  78. package/docs/components/EuiEditorJsonViewComponent.html +1 -1
  79. package/docs/components/EuiExpandContentComponent.html +1 -1
  80. package/docs/components/EuiFeedbackMessageComponent.html +1 -1
  81. package/docs/components/EuiFieldsetComponent.html +1 -1
  82. package/docs/components/EuiFilePreviewComponent.html +1 -1
  83. package/docs/components/EuiFileUploadComponent.html +1 -2
  84. package/docs/components/EuiFileUploadProgressComponent.html +1 -1
  85. package/docs/components/EuiFooterComponent.html +1 -1
  86. package/docs/components/EuiGrowlComponent.html +1 -1
  87. package/docs/components/EuiHeaderAppComponent.html +1 -1
  88. package/docs/components/EuiHeaderAppNameComponent.html +1 -1
  89. package/docs/components/EuiHeaderAppNameLogoComponent.html +1 -1
  90. package/docs/components/EuiHeaderAppSubtitleComponent.html +1 -1
  91. package/docs/components/EuiHeaderComponent.html +1 -1
  92. package/docs/components/EuiHeaderEnvironmentComponent.html +1 -1
  93. package/docs/components/EuiHeaderLogoComponent.html +1 -1
  94. package/docs/components/EuiHeaderUserProfileComponent.html +1 -1
  95. package/docs/components/EuiIconColorComponent.html +1 -1
  96. package/docs/components/EuiIconComponent.html +1 -1
  97. package/docs/components/EuiIconSvgComponent.html +1 -1
  98. package/docs/components/EuiIconToggleComponent.html +1 -1
  99. package/docs/components/EuiInputCheckboxComponent.html +1 -1
  100. package/docs/components/EuiInputGroupComponent.html +1 -1
  101. package/docs/components/EuiInputNumberComponent.html +14 -2
  102. package/docs/components/EuiInputRadioComponent.html +1 -1
  103. package/docs/components/EuiInputTextComponent.html +1 -1
  104. package/docs/components/EuiLabelComponent.html +1 -1
  105. package/docs/components/EuiLanguageSelectorComponent.html +1 -1
  106. package/docs/components/EuiListComponent.html +1 -1
  107. package/docs/components/EuiListItemComponent.html +1 -1
  108. package/docs/components/EuiMenuComponent.html +1 -1
  109. package/docs/components/EuiMenuItemComponent.html +1 -1
  110. package/docs/components/EuiMessageBoxComponent.html +1 -1
  111. package/docs/components/EuiModalSelectorComponent.html +1 -1
  112. package/docs/components/EuiNotificationItemComponent.html +1 -1
  113. package/docs/components/EuiNotificationItemV2Component.html +1 -1
  114. package/docs/components/EuiNotificationsComponent.html +1 -1
  115. package/docs/components/EuiNotificationsV2Component.html +1 -1
  116. package/docs/components/EuiOverlayBodyComponent.html +1 -1
  117. package/docs/components/EuiOverlayComponent.html +1 -1
  118. package/docs/components/EuiOverlayFooterComponent.html +1 -1
  119. package/docs/components/EuiOverlayHeaderComponent.html +1 -1
  120. package/docs/components/EuiOverlayHeaderTitleComponent.html +1 -1
  121. package/docs/components/EuiPageBreadcrumbComponent.html +1 -1
  122. package/docs/components/EuiPageColumnComponent.html +1 -1
  123. package/docs/components/EuiPageColumnsComponent.html +1 -1
  124. package/docs/components/EuiPageComponent.html +1 -1
  125. package/docs/components/EuiPageContentComponent.html +1 -1
  126. package/docs/components/EuiPageFooterComponent.html +1 -1
  127. package/docs/components/EuiPageHeaderComponent.html +1 -1
  128. package/docs/components/EuiPageHeroHeaderComponent.html +1 -1
  129. package/docs/components/EuiPageTopContentComponent.html +1 -1
  130. package/docs/components/EuiPaginatorComponent.html +1 -1
  131. package/docs/components/EuiPopoverComponent.html +1 -1
  132. package/docs/components/EuiProgressBarComponent.html +1 -1
  133. package/docs/components/EuiProgressCircleComponent.html +1 -1
  134. package/docs/components/EuiResizableComponent.html +1 -1
  135. package/docs/components/EuiSearchComponent.html +1 -1
  136. package/docs/components/EuiSelectComponent.html +1 -1
  137. package/docs/components/EuiSidebarMenuComponent.html +1 -1
  138. package/docs/components/EuiSidebarToggleComponent.html +1 -1
  139. package/docs/components/EuiSlideToggleComponent.html +1 -1
  140. package/docs/components/EuiSlideToggleTestComponent.html +1 -1
  141. package/docs/components/EuiTabComponent.html +1 -1
  142. package/docs/components/EuiTabContentComponent.html +1 -1
  143. package/docs/components/EuiTabLabelComponent.html +1 -1
  144. package/docs/components/EuiTableComponent.html +1 -1
  145. package/docs/components/EuiTableExpandableRowComponent.html +1 -1
  146. package/docs/components/EuiTableFilterComponent.html +1 -1
  147. package/docs/components/EuiTableSelectableHeaderComponent.html +2 -2
  148. package/docs/components/EuiTableSelectableRowComponent.html +1 -1
  149. package/docs/components/EuiTableSortableColComponent.html +1 -1
  150. package/docs/components/EuiTabsComponent.html +1 -1
  151. package/docs/components/EuiTextareaComponent.html +1 -1
  152. package/docs/components/EuiTimebarComponent.html +1 -1
  153. package/docs/components/EuiTimelineComponent.html +1 -1
  154. package/docs/components/EuiTimelineItemComponent.html +1 -1
  155. package/docs/components/EuiTimepickerComponent.html +1 -1
  156. package/docs/components/EuiToolbarAppComponent.html +1 -1
  157. package/docs/components/EuiToolbarCenterComponent.html +1 -1
  158. package/docs/components/EuiToolbarComponent.html +1 -1
  159. package/docs/components/EuiToolbarEnvironmentComponent.html +1 -1
  160. package/docs/components/EuiToolbarItemComponent.html +1 -1
  161. package/docs/components/EuiToolbarItemNotificationsComponent.html +1 -1
  162. package/docs/components/EuiToolbarItemSearchComponent.html +1 -1
  163. package/docs/components/EuiToolbarItemUserProfileComponent.html +1 -1
  164. package/docs/components/EuiToolbarItemsComponent.html +1 -1
  165. package/docs/components/EuiToolbarLogoComponent.html +1 -1
  166. package/docs/components/EuiToolbarMenuComponent.html +1 -1
  167. package/docs/components/EuiTooltipContainerComponent.html +1 -1
  168. package/docs/components/EuiTreeComponent.html +527 -55
  169. package/docs/components/EuiTreeListComponent.html +1 -1
  170. package/docs/components/EuiTreeListItemComponent.html +1 -1
  171. package/docs/components/EuiTreeListItemContentComponent.html +1 -1
  172. package/docs/components/EuiTreeListToolbarComponent.html +1 -1
  173. package/docs/components/EuiUserProfileCardComponent.html +1 -1
  174. package/docs/components/EuiUserProfileComponent.html +1 -1
  175. package/docs/components/EuiUserProfileMenuComponent.html +1 -1
  176. package/docs/components/EuiUserProfileMenuItemComponent.html +1 -1
  177. package/docs/components/EuiUxTreeComponent.html +1 -1
  178. package/docs/components/EuiUxTreeNodeComponent.html +1 -1
  179. package/docs/components/EuiUxTreeToolbarComponent.html +1 -1
  180. package/docs/components/EuiWizardComponent.html +1 -1
  181. package/docs/components/EuiWizardStepComponent.html +1 -1
  182. package/docs/components/QuillEditorComponent.html +1 -1
  183. package/docs/dependencies.html +2 -2
  184. package/docs/directives/EuiAlertTitleDirective.html +284 -0
  185. package/docs/index.html +3 -3
  186. package/docs/interfaces/MultiSelectionLogic.html +259 -0
  187. package/docs/interfaces/SelectConfigModel.html +52 -0
  188. package/docs/interfaces/SingleSelectionLogic.html +214 -0
  189. package/docs/js/menu-wc.js +29 -6
  190. package/docs/js/menu-wc_es5.js +1 -1
  191. package/docs/js/search/search_index.js +2 -2
  192. package/docs/miscellaneous/typealiases.html +2 -2
  193. package/docs/modules/EuiAlertModule.html +9 -0
  194. package/esm2022/eui-alert/eui-alert.component.mjs +80 -35
  195. package/esm2022/eui-card/eui-card.component.mjs +2 -2
  196. package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +13 -3
  197. package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +2 -2
  198. package/esm2022/eui-dialog/eui-dialog.component.mjs +2 -2
  199. package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +2 -2
  200. package/esm2022/eui-dropdown/eui-dropdown.component.mjs +2 -2
  201. package/esm2022/eui-file-upload/eui-file-upload.component.mjs +8 -7
  202. package/esm2022/eui-file-upload/file-preview/file-preview.component.mjs +2 -2
  203. package/esm2022/eui-growl/eui-growl.component.mjs +2 -2
  204. package/esm2022/eui-input-number/eui-input-number.component.mjs +17 -9
  205. package/esm2022/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.mjs +2 -2
  206. package/esm2022/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.mjs +2 -2
  207. package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.mjs +2 -2
  208. package/esm2022/eui-overlay/eui-overlay.component.mjs +2 -2
  209. package/esm2022/eui-page/eui-page.component.mjs +2 -2
  210. package/esm2022/eui-select/eui-select.component.mjs +2 -2
  211. package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +2 -2
  212. package/esm2022/eui-table/eui-table.component.mjs +2 -2
  213. package/esm2022/eui-table/selectable-header/eui-table-selectable-header.component.mjs +3 -3
  214. package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +2 -2
  215. package/esm2022/eui-tabs/eui-tabs.component.mjs +2 -2
  216. package/esm2022/eui-textarea/eui-textarea.component.mjs +2 -2
  217. package/esm2022/eui-tree/eui-tree-helper.mjs +8 -1
  218. package/esm2022/eui-tree/eui-tree.component.mjs +450 -184
  219. package/esm2022/eui-tree/eui-tree.model.mjs +41 -1
  220. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +2 -2
  221. package/eui-alert/eui-alert.component.d.ts +23 -11
  222. package/eui-alert/eui-alert.component.d.ts.map +1 -1
  223. package/eui-date-range-selector/eui-date-range-selector.component.d.ts +2 -0
  224. package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
  225. package/eui-file-upload/eui-file-upload.component.d.ts +2 -3
  226. package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
  227. package/eui-input-number/eui-input-number.component.d.ts +3 -2
  228. package/eui-input-number/eui-input-number.component.d.ts.map +1 -1
  229. package/eui-tree/eui-tree-helper.d.ts +1 -0
  230. package/eui-tree/eui-tree-helper.d.ts.map +1 -1
  231. package/eui-tree/eui-tree.component.d.ts +46 -19
  232. package/eui-tree/eui-tree.component.d.ts.map +1 -1
  233. package/eui-tree/eui-tree.model.d.ts +41 -7
  234. package/eui-tree/eui-tree.model.d.ts.map +1 -1
  235. package/fesm2022/eui-components-eui-alert.mjs +80 -35
  236. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  237. package/fesm2022/eui-components-eui-card.mjs +2 -2
  238. package/fesm2022/eui-components-eui-date-range-selector.mjs +12 -2
  239. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  240. package/fesm2022/eui-components-eui-dialog.mjs +4 -4
  241. package/fesm2022/eui-components-eui-dropdown.mjs +4 -4
  242. package/fesm2022/eui-components-eui-file-upload.mjs +8 -7
  243. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  244. package/fesm2022/eui-components-eui-growl.mjs +2 -2
  245. package/fesm2022/eui-components-eui-input-number.mjs +16 -8
  246. package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
  247. package/fesm2022/eui-components-eui-overlay.mjs +8 -8
  248. package/fesm2022/eui-components-eui-page.mjs +2 -2
  249. package/fesm2022/eui-components-eui-select.mjs +2 -2
  250. package/fesm2022/eui-components-eui-sidebar-menu.mjs +2 -2
  251. package/fesm2022/eui-components-eui-table.mjs +4 -4
  252. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  253. package/fesm2022/eui-components-eui-tabs.mjs +4 -4
  254. package/fesm2022/eui-components-eui-textarea.mjs +2 -2
  255. package/fesm2022/eui-components-eui-tree.mjs +533 -221
  256. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  257. package/fesm2022/eui-components-layout.mjs +2 -2
  258. package/package.json +7 -7
@@ -2,7 +2,7 @@ import { Optional, LOCALE_ID, Inject, Component, HostBinding, HostListener, Inpu
2
2
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
3
  import Cleave from 'cleave.js';
4
4
  import { InputDirective } from '@eui/components/shared';
5
- import { getLocaleNumberSymbol, NumberSymbol } from '@angular/common';
5
+ import { DOCUMENT, getLocaleNumberSymbol, NumberSymbol } from '@angular/common';
6
6
  import { EuiClearableDirective, EuiLoadingDirective } from '@eui/components/directives';
7
7
  import { NgControl } from '@angular/forms';
8
8
  import * as i0 from "@angular/core";
@@ -81,13 +81,14 @@ export class EuiInputNumberComponent extends InputDirective {
81
81
  set noFormat(value) {
82
82
  this._noFormat = coerceBooleanProperty(value);
83
83
  }
84
- constructor(_elementRef, _renderer, cd, localeService, locale_id, injector) {
84
+ constructor(_elementRef, _renderer, cd, localeService, locale_id, injector, document) {
85
85
  super(_elementRef, _renderer, injector);
86
86
  this._elementRef = _elementRef;
87
87
  this._renderer = _renderer;
88
88
  this.cd = cd;
89
89
  this.localeService = localeService;
90
90
  this.locale_id = locale_id;
91
+ this.document = document;
91
92
  this.type = 'eui-number';
92
93
  this._leadingZero = 0;
93
94
  this._fractionDigits = 0;
@@ -186,7 +187,7 @@ export class EuiInputNumberComponent extends InputDirective {
186
187
  const value = (event.clipboardData || window['clipboardData']).getData('text');
187
188
  // in case round UP is enabled
188
189
  if (this._roundUp > 0) {
189
- const div = document.createElement('input');
190
+ const div = this.document.createElement('input');
190
191
  // create a clone of cleaveInstance
191
192
  const cloneInstance = new Cleave(div, { ...this.options, numeralDecimalScale: 8 });
192
193
  cloneInstance.setRawValue(value.toString());
@@ -251,6 +252,10 @@ export class EuiInputNumberComponent extends InputDirective {
251
252
  const number = Number.parseFloat(this.cleaveInstance.getRawValue());
252
253
  this.cleaveInstance.setRawValue(this.decimalAdjust(number, this.roundUp * -1).toString());
253
254
  }
255
+ // in case min is set and value is less than min reset to the min value
256
+ if (this.min && Number.parseFloat(this.cleaveInstance.getRawValue()) < this.min) {
257
+ this.cleaveInstance.setRawValue(this.min.toString());
258
+ }
254
259
  }
255
260
  setInvalid(state) {
256
261
  // in case it's controlled by NgControl override
@@ -266,7 +271,7 @@ export class EuiInputNumberComponent extends InputDirective {
266
271
  setPlaceholderAttribute(value = 999999.9999) {
267
272
  // if value is a number, format the value based on current number format
268
273
  if (typeof value === 'number' && !isNaN(value)) {
269
- const div = document.createElement('input');
274
+ const div = this.document.createElement('input');
270
275
  // create a clone of cleaveInstance
271
276
  const cloneInstance = new Cleave(div, this.options);
272
277
  // BEWARE: by the time your setRawValue cleave options have changed thus number formatting
@@ -486,12 +491,12 @@ export class EuiInputNumberComponent extends InputDirective {
486
491
  value = [value.slice(0, pos), e.key, value.slice(endPos)].join('');
487
492
  }
488
493
  // create a Cleave instance to extract the number from formatted value
489
- const cleave = new Cleave(document.createElement('input'), { ...this.options });
494
+ const cleave = new Cleave(this.document.createElement('input'), { ...this.options });
490
495
  cleave.setRawValue(value);
491
496
  const number = Number(cleave.getRawValue());
492
497
  // destroy cleave instance
493
498
  cleave.destroy();
494
- return this.min > number || this.max < number;
499
+ return this.min >= 0 ? false : this.min > number || this.max < number;
495
500
  }
496
501
  /**
497
502
  * Decimal adjustment of a number.
@@ -518,7 +523,7 @@ export class EuiInputNumberComponent extends InputDirective {
518
523
  cleaned = value.toString().split('e');
519
524
  return +(cleaned[0] + 'e' + (cleaned[1] ? +cleaned[1] + exp : exp));
520
525
  }
521
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiInputNumberComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocaleService, optional: true }, { token: LOCALE_ID }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
526
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiInputNumberComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocaleService, optional: true }, { token: LOCALE_ID }, { token: i0.Injector }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
522
527
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiInputNumberComponent, selector: "input[euiInputNumber]", inputs: { min: "min", max: "max", leadingZero: "leadingZero", isInvalid: "isInvalid", fractionDigits: "fractionDigits", digits: "digits", fillFraction: "fillFraction", roundUp: "roundUp", noFormat: "noFormat", value: "value" }, host: { listeners: { "blur": "onTouched()", "paste": "onPaste($event)", "keydown": "onKeyDown($event)", "focusout": "onFocusout()" }, properties: { "class": "this.cssClasses", "attr.type": "this.type" } }, usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i2.EuiClearableDirective, inputs: ["euiClearable", "euiClearable", "readonly", "readonly", "disabled", "disabled"] }, { directive: i2.EuiLoadingDirective, inputs: ["euiLoading", "euiLoading", "readonly", "readonly"] }], ngImport: i0, template: '', isInline: true, styles: [".eui-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);box-shadow:var(--eui-app-box-shadow);color:var(--eui-base-color-grey-100);display:block;min-height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-s) - 1px);width:100%}.eui-input-number:active:not([readonly]),.eui-input-number:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-input-number [tabindex=\"0\"]:active:not([readonly]),.eui-input-number [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-input-number::placeholder{color:var(--eui-base-color-grey-50)!important;opacity:1}.eui-input-number[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-input-number[readonly]+.eui-feedback-message,.eui-input-number[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-input-number[disabled]:not([readonly]),.eui-input-number--disabled:not([readonly]){background-color:var(--eui-base-color-grey-5)!important;border:1px solid var(--eui-base-color-grey-25)!important;color:var(--eui-base-color-grey-75);pointer-events:none}.eui-input-number--invalid,.eui-input-number--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-input-number--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-input-number--clearable-icon:active:not([readonly]),.eui-input-number--clearable-icon:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-input-number--clearable-icon [tabindex=\"0\"]:active:not([readonly]),.eui-input-number--clearable-icon [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-input-number--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-input-number--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-input-number--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-input-number--loading-icon{align-items:center;display:flex}.eui-input-number--loading-icon:after,.eui-input-number--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-input-number--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-input-number--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-input-number--loading-icon--sm:after,.eui-input-number--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-input-number[readonly]{pointer-events:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
523
528
  }
524
529
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiInputNumberComponent, decorators: [{
@@ -540,7 +545,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
540
545
  }] }, { type: undefined, decorators: [{
541
546
  type: Inject,
542
547
  args: [LOCALE_ID]
543
- }] }, { type: i0.Injector }], propDecorators: { min: [{
548
+ }] }, { type: i0.Injector }, { type: Document, decorators: [{
549
+ type: Inject,
550
+ args: [DOCUMENT]
551
+ }] }], propDecorators: { min: [{
544
552
  type: Input
545
553
  }], max: [{
546
554
  type: Input
@@ -576,4 +584,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
576
584
  type: HostListener,
577
585
  args: ['focusout']
578
586
  }] } });
579
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWlucHV0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktaW5wdXQtbnVtYmVyL2V1aS1pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFFTixTQUFTLEVBR1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBTUwsaUJBQWlCLEdBRXBCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBNkIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRyxPQUFPLE1BQU0sTUFBTSxXQUFXLENBQUM7QUFFL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUE0QzNDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxjQUFjO0lBQ3ZEOztPQUVHO0lBQ0gsSUFDVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLEdBQUcsQ0FBQyxLQUFrQjtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRDs7T0FFRztJQUNILElBQ1csR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxHQUFHLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FB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QURwQixXQUFXO3VCQUFDLE9BQU87Z0JBT2hCLGNBQWM7c0JBRGpCLEtBQUs7Z0JBU0YsTUFBTTtzQkFEVCxLQUFLO2dCQVFGLFlBQVk7c0JBRGYsS0FBSztnQkFTRixPQUFPO3NCQURWLEtBQUs7Z0JBWUYsUUFBUTtzQkFEWCxLQUFLO2dCQVE4QixJQUFJO3NCQUF2QyxXQUFXO3VCQUFDLFdBQVc7Z0JBQ2YsS0FBSztzQkFBYixLQUFLO2dCQWlJTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXVCdkIsU0FBUztzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkN6QixVQUFVO3NCQURuQixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE9wdGlvbmFsLFxuICAgIExPQ0FMRV9JRCxcbiAgICBJbmplY3QsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5qZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSwgTG9jYWxlU3RhdGUgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyB0eXBlIENsZWF2ZU9wdGlvbnMgfSBmcm9tICdjbGVhdmUuanMvb3B0aW9ucyc7XG5pbXBvcnQgQ2xlYXZlIGZyb20gJ2NsZWF2ZS5qcyc7XG5pbXBvcnQgeyBDbGVhdmVFdmVudE9uQ2hhbmdlIH0gZnJvbSAnLi9tb2RlbHMvY2xlYXZlLWV2ZW50LW9uY2hhbmdlLm1vZGVsJztcbmltcG9ydCB7IElucHV0RGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBnZXRMb2NhbGVOdW1iZXJTeW1ib2wsIE51bWJlclN5bWJvbCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdWlDbGVhcmFibGVEaXJlY3RpdmUsIEV1aUxvYWRpbmdEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYXZlSW5zdGFuY2UgZXh0ZW5kcyBDbGVhdmUge1xuICAgIGluaXRTd2FwSGlkZGVuSW5wdXQ/OiAoKSA9PiB2b2lkO1xuICAgIGluaXROdW1lcmFsRm9ybWF0dGVyPzogKCkgPT4gdm9pZDtcbiAgICBpbml0VGltZUZvcm1hdHRlcj86ICgpID0+IHZvaWQ7XG4gICAgaW5pdERhdGVGb3JtYXR0ZXI/OiAoKSA9PiB2b2lkO1xuICAgIGluaXRQaG9uZUZvcm1hdHRlcj86ICgpID0+IHZvaWQ7XG4gICAgdXBkYXRlQ3JlZGl0Q2FyZFByb3BzQnlWYWx1ZT86ICgpID0+IHZvaWQ7XG4gICAgdXBkYXRlVmFsdWVTdGF0ZT86ICgpID0+IHZvaWQ7XG4gICAgY2FsbE9uVmFsdWVDaGFuZ2VkPzogKCkgPT4gdm9pZDtcbiAgICBvbkNoYW5nZT86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ3V0PzogKGV2ZW50PzogRXZlbnQpID0+IHZvaWQ7XG4gICAgb25Gb2N1cz86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29weT86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uS2V5RG93bj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ2hhbmdlTGlzdGVuZXI/OiAoZXZlbnQ/OiBFdmVudCkgPT4gdm9pZDtcbiAgICBvbktleURvd25MaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uRm9jdXNMaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ3V0TGlzdGVuZXI/OiAoZXZlbnQ/OiBFdmVudCkgPT4gdm9pZDtcbiAgICBvbkNvcHlMaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaW5wdXRbZXVpSW5wdXROdW1iZXJdJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEV1aUNsZWFyYWJsZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydldWlDbGVhcmFibGUnLCAncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBFdWlMb2FkaW5nRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2V1aUxvYWRpbmcnLCAncmVhZG9ubHknXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpSW5wdXROdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrLCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIG51bWJlciBjYW4gYmUgZW50ZXJlZC4gQmxvY2tzIHVzZXIncyBpbnB1dCBpZiBub3QgaW4gcmFuZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG1pbih2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICAgICAgdGhpcy5fbWluID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBudW1iZXIgY2FuIGJlIGVudGVyZWQuIEJsb2NrcyB1c2VyJ3MgaW5wdXQgaWYgbm90IGluIHJhbmdlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBtYXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heDtcbiAgICB9XG4gICAgcHVibGljIHNldCBtYXgodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX21heCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIEFkZHMgbGVhZGluZyB6ZXJvIHRvIGEgbnVtYmVyLiBGb3JtYXR0aW5nIHdpbGwgbm90IHdvcmsuXG4gICAgICogICAgICBlLmcuIHdpdGggbGVhZGluZ1plcm89MyBpbnB1dCBudW1iZXIgNSA9PiAwMDVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbGVhZGluZ1plcm8oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xlYWRpbmdaZXJvO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGxlYWRpbmdaZXJvKHZhbHVlOiBOdW1iZXJJbnB1dCkge1xuICAgICAgICB0aGlzLl9sZWFkaW5nWmVybyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZCB8fCBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaXNJbnZhbGlkKHN0YXRlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5zZXRJbnZhbGlkKHN0YXRlKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZXVpLWlucHV0LW51bWJlcicpLCB0aGlzLl9pc0ludmFsaWQgPyAnZXVpLWlucHV0LW51bWJlci0taW52YWxpZCcgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKiogaG93IG1hbnkgZGlnaXRzIGZvciB0aGUgZGVjaW1hbCBwYXJ0ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZnJhY3Rpb25EaWdpdHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZyYWN0aW9uRGlnaXRzO1xuICAgIH1cbiAgICBzZXQgZnJhY3Rpb25EaWdpdHModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX2ZyYWN0aW9uRGlnaXRzID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICAvKiogaG93IG1hbnkgZGlnaXRzIGZvciB0aGUgaW50ZWdlciBwYXJ0ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlnaXRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaWdpdHM7XG4gICAgfVxuICAgIHNldCBkaWdpdHModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX2RpZ2l0cyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgZmlsbEZyYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsbEZyYWN0aW9uO1xuICAgIH1cbiAgICBzZXQgZmlsbEZyYWN0aW9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZmlsbEZyYWN0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIHJvdW5kcyBhIG51bWJlciB3aXRoIG1vcmUgdGhhbiB0d28gZGVjaW1hbHMgVVAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCByb3VuZFVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3VuZFVwO1xuICAgIH1cbiAgICBzZXQgcm91bmRVcCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICAgICAgdGhpcy5fcm91bmRVcCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogZG9lcyBub3QgZm9ybWF0IHRoZSBhbmQgZG8gYSB0aG91c2FuZCBncm91cGluZyBvZiBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBub0Zvcm1hdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vRm9ybWF0O1xuICAgIH1cbiAgICBzZXQgbm9Gb3JtYXQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ub0Zvcm1hdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfbm9Gb3JtYXQ6IGJvb2xlYW47XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSBwcm90ZWN0ZWQgdHlwZSA9ICdldWktbnVtYmVyJztcbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfcm91bmRVcDogbnVtYmVyO1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkO1xuICAgIGNsZWF2ZUluc3RhbmNlOiBDbGVhdmVJbnN0YW5jZTtcbiAgICBwcml2YXRlIF9taW46IG51bWJlcjtcbiAgICBwcml2YXRlIF9tYXg6IG51bWJlcjtcblxuICAgIHByaXZhdGUgX2xlYWRpbmdaZXJvID0gMDtcbiAgICAvKiogaG9sZHMgaW5zdGFuY2Ugb2YgY2xlYXZlICovXG4gICAgLyoqIG9wdGlvbnMgZm9yIHRoZSBDbGVhdmUgaW5zdGFuY2UgKi9cbiAgICBwcml2YXRlIG9wdGlvbnM6IENsZWF2ZU9wdGlvbnM7XG4gICAgcHJpdmF0ZSBfZnJhY3Rpb25EaWdpdHMgPSAwO1xuICAgIHByaXZhdGUgX2RpZ2l0czogbnVtYmVyO1xuICAgIHByaXZhdGUgX2ZpbGxGcmFjdGlvbjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcbiAgICAgICAgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgbG9jYWxlX2lkOiBzdHJpbmcsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9yZW5kZXJlciwgaW5qZWN0b3IpO1xuXG4gICAgICAgIC8vIHNldCBkZWZhdWx0IG9wdGlvbnNcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgbnVtZXJhbDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIHVuZGVmaW5lZCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgICAgICAvLyBpbnN0YW50aWF0ZSBjbGVhdmVcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdENsZWF2ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3Vic2NyaWJlIHRvIGxvY2FsaXphdGlvbiBzZXJ2aWNlIGFuZCBsaXN0ZW4gZm9yIGxvY2FsZSBjaGFuZ2UuIERlLWNvbnN0cnVjdGlvbiBvZiBsb2NhbGUgc2hvdWxkIGhhcHBlbiBoZXJlIVxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmdldFN0YXRlKCkuc3Vic2NyaWJlKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZ2V0Q2xlYXZlT3B0c0Jhc2VkT25Mb2NhbGUoc3RhdGU/LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBvcHRpb25zIG9uIHRoZSBjbGVhdmUgaW5zdGFuY2VcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucyh0cnVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAncm9vdENsYXNzTmFtZScsICdldWktaW5wdXQtbnVtYmVyJyk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCA6IHRoaXMuX2lzSW52YWxpZDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICd2YWx1ZScpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdmcmFjdGlvbkRpZ2l0cycpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbERlY2ltYWxTY2FsZTogdGhpcy5mcmFjdGlvbkRpZ2l0cyB9O1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ25vRm9ybWF0JykpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCBudW1lcmFsVGhvdXNhbmRzR3JvdXBTdHlsZTogdGhpcy5ub0Zvcm1hdCA/ICdub25lJyA6ICd0aG91c2FuZCcgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdmaWxsRnJhY3Rpb24nKSAmJiB0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5RnJhY3Rpb25GaWxsKHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ2RpZ2l0cycpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbEludGVnZXJTY2FsZTogdGhpcy5kaWdpdHMgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdtaW4nKSkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ21pbiddLmN1cnJlbnRWYWx1ZSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGFrZSBjYXJlIG9mIHRoZSBzaWduIHN5bWJvbFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKE1hdGguYWJzKE51bWJlcih0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpKS50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oY2hhbmdlcywgJ3JvdW5kVXAnKSkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ3JvdW5kVXAnXS5jdXJyZW50VmFsdWUgPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IE51bWJlci5wYXJzZUZsb2F0KHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IHRoaXMuZGVjaW1hbEFkanVzdChudW1iZXIsIHRoaXMucm91bmRVcCAqIC0xKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIC8vIGRlc3Ryb3kgY2xlYXZlIGluc3RhbmNlXG4gICAgICAgIGlmICh0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoXzogYW55KTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgKF8gIT09IG51bGwgfHwgXyAhPT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgLy8gcGFyc2UgbnVtYmVyXG4gICAgICAgICAgICAvLyBjb25zdCB2YWx1ZSA9IE51bWJlcihfKTtcbiAgICAgICAgICAgIC8vIHJ1biBvbiBuZXh0IE1pY3JvVGFzayB0byBhdm9pZCBORzAxMDAgZXJyb3IgVE9ETzogZGVlcGVyIGludmVzdGlnYXRpb25cbiAgICAgICAgICAgIC8vIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5jb250cm9sLnZpZXdUb01vZGVsVXBkYXRlKHZhbHVlKSk7XG4gICAgICAgICAgICAvLyBpbiBjYXNlIGNvbnRyb2wgaXMgRm9ybUNvbnRyb2xcbiAgICAgICAgICAgIC8vIHRoaXMuY29udHJvbD8uY29udHJvbC5zZXRWYWx1ZShpc05hTih2YWx1ZSkgPyBudWxsIDogdmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSwgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlOiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY29udHJvbD8uY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBnZXQgdGhlIHZhbHVlIGZyb20gY2xpcGJvYXJkXG4gICAgICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LmNsaXBib2FyZERhdGEgfHwgd2luZG93WydjbGlwYm9hcmREYXRhJ10pLmdldERhdGEoJ3RleHQnKTtcbiAgICAgICAgLy8gaW4gY2FzZSByb3VuZCBVUCBpcyBlbmFibGVkXG4gICAgICAgIGlmICh0aGlzLl9yb3VuZFVwID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIGNsb25lIG9mIGNsZWF2ZUluc3RhbmNlXG4gICAgICAgICAgICBjb25zdCBjbG9uZUluc3RhbmNlOiBDbGVhdmVJbnN0YW5jZSA9IG5ldyBDbGVhdmUoZGl2LCB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbERlY2ltYWxTY2FsZTogOCB9KTtcbiAgICAgICAgICAgIGNsb25lSW5zdGFuY2Uuc2V0UmF3VmFsdWUodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICBsZXQgbnVtYmVyID0gTnVtYmVyLnBhcnNlRmxvYXQoY2xvbmVJbnN0YW5jZS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgICAgIG51bWJlciA9IHRoaXMuZGVjaW1hbEFkanVzdChudW1iZXIsIHRoaXMucm91bmRVcCAqIC0xKTtcbiAgICAgICAgICAgIGlmICghTnVtYmVyLmlzTmFOKG51bWJlcikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKG51bWJlci50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBpbnZlc3RpZ2F0ZSBpbiB0aGUgZnV0dXJlIGhvdyBjYW4gdGhpcyBiZSBhdm9pZGVkXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMud3JpdGVWYWx1ZShudW1iZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgaXQncyBhIHNpbmdsZSBzeW1ib2wgYW5kIG5vdCBTcGVjaWFsIGxpa2UgKEN0cmwsIGJhY2tzcGFjZSBldGMpXG4gICAgICAgIGlmIChlPy5rZXkubGVuZ3RoIDw9IDEgJiYgIWUuY3RybEtleSAmJiAhZS5hbHRLZXkgJiYgIWUubWV0YUtleSkge1xuICAgICAgICAgICAgLy8gc3RvcCBldmVudCBwcm9wYWdhdGlvbiBpZiBrZXkgcHJlc3NlZCBpcyBub3QgYSBudW1iZXIgb3IgbG9jYWxlIGNoYXJhY3RlciBvciBtaW51cyBzaWduXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgTnVtYmVyLmlzTmFOKE51bWJlci5wYXJzZUludChlLmtleSwgMTApKSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaXNNaW51c0FsbG93ZWQoZS5rZXkpICYmXG4gICAgICAgICAgICAgICAgZS5rZXkgIT09IGdldExvY2FsZU51bWJlclN5bWJvbCh0aGlzLmxvY2FsZVNlcnZpY2U/LmN1cnJlbnRMb2NhbGUgfHwgdGhpcy5sb2NhbGVfaWQsIE51bWJlclN5bWJvbC5EZWNpbWFsKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgLy8gc3RvcCBldmVudCBwcm9wYWdhdGlvbiBpZiBrZXkgcHJlc3NlZCBleGNlZWRzIHRoZSBtaW4vbWF4IHZhbHVlIHJhbmdlXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNOYU4oTnVtYmVyLnBhcnNlSW50KGUua2V5LCAxMCkpICYmIHRoaXMuaXNPdXRTaWRlUmFuZ2UoZSkpIHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc091dFNpZGVSYW5nZShlKSkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcHJvdGVjdCBkZWNpbWFsIHN5bWJvbCBkZWxldGlvbiBpbiBjYXNlIGZpbGxGcmFjdGlvbiBpcyBvblxuICAgICAgICBpZiAoZS5rZXkgPT09ICdEZWxldGUnIHx8IGUua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uIG9mIGNhcmV0XG4gICAgICAgICAgICBjb25zdCBwb3MgPSBlbGVtZW50LnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgLy8gZ2V0IGNoYXJhY3RlciBhYm91dCB0byBiZSBkZWxldGVkXG4gICAgICAgICAgICBjb25zdCBjaGFyID0gZWxlbWVudC52YWx1ZS5jaGFyQXQocG9zIC0gMSk7XG4gICAgICAgICAgICAvLyBpbiBjYXNlIHRoZSBjaGFyIGlzIHRoZSBkZWNpbWFsIHN5bWJvbCBwcmV2ZW50IGRlbGV0aW9uIGFuZCBtb3ZlIGNhcmV0IGluIGZyb250XG4gICAgICAgICAgICBpZiAoY2hhciA9PT0gZ2V0TG9jYWxlTnVtYmVyU3ltYm9sKHRoaXMubG9jYWxlU2VydmljZT8uY3VycmVudExvY2FsZSB8fCB0aGlzLmxvY2FsZV9pZCwgTnVtYmVyU3ltYm9sLkRlY2ltYWwpKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShwb3MgLSAxLCBwb3MgLSAxKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc091dFNpZGVSYW5nZShlKSkge1xuICAgICAgICAgICAgICAgIC8vIGRvbid0IGFsbG93IGluc2VydGlvbiB0aGF0IHdpbGwgcHV0IG51bWJlciBvdXQgb2YgcmFuZ2VcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgICBwcm90ZWN0ZWQgb25Gb2N1c291dCgpOiB2b2lkIHtcbiAgICAgICAgLy8gaW4gY2FzZSBmaWxsRnJhY3Rpb24gZmVhdHVyZSBpcyBvbiBhbmQgdGhlcmUncyBubyBpbnRlZ2VyIHBhcnQgYWRkIGxlYWRpbmcgMFxuICAgICAgICBpZiAodGhpcy5maWxsRnJhY3Rpb24gJiYgdGhpcy5jbGVhdmVJbnN0YW5jZS5nZXRSYXdWYWx1ZSgpLm1hdGNoKC9eXFwuWzAtOV0rL2cpKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKCcwJyArIHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbiBjYXNlIHJvdW5kIFVQIGlzIGVuYWJsZWRcbiAgICAgICAgaWYgKHRoaXMuX3JvdW5kVXAgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBudW1iZXIgPSBOdW1iZXIucGFyc2VGbG9hdCh0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZSh0aGlzLmRlY2ltYWxBZGp1c3QobnVtYmVyLCB0aGlzLnJvdW5kVXAgKiAtMSkudG9TdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0SW52YWxpZChzdGF0ZT86IEJvb2xlYW5JbnB1dCk6IHZvaWQge1xuICAgICAgICAvLyBpbiBjYXNlIGl0J3MgY29udHJvbGxlZCBieSBOZ0NvbnRyb2wgb3ZlcnJpZGVcbiAgICAgICAgdGhpcy5faXNJbnZhbGlkID0gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQgOiBjb2VyY2VCb29sZWFuUHJvcGVydHkoc3RhdGUpO1xuXG4gICAgICAgIC8vIHNldCBCYXNlRGlyZWN0aXZlIEF0dHJpYnV0ZVxuICAgICAgICBzdXBlci5ldWlEYW5nZXIgPSB0aGlzLl9pc0ludmFsaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQE92ZXJyaWRlIHNldFBsYWNlaG9sZGVyIHNldFBsYWNlaG9sZGVyQXR0cmlidXRlIG9mIElucHV0RGlyZWN0aXZlXG4gICAgICogVXBkYXRlcyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUgYmFzZWQgb24gY3VycmVudCBudW1iZXIgZm9ybWF0IGFuZCBnaXZlbiB2YWx1ZS5cbiAgICAgKiBJZiB2YWx1ZSBwYXNzZWQgY29udGFpbnMgY2hhcmFjdGVycyBpdCBkb2Vzbid0IGZvcm1hdCBwbGFjZWhvbGRlci5cbiAgICAgKiAqL1xuICAgIHByb3RlY3RlZCBzZXRQbGFjZWhvbGRlckF0dHJpYnV0ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyID0gOTk5OTk5Ljk5OTkpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgdmFsdWUgaXMgYSBudW1iZXIsIGZvcm1hdCB0aGUgdmFsdWUgYmFzZWQgb24gY3VycmVudCBudW1iZXIgZm9ybWF0XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmICFpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgICAgICAvLyBjcmVhdGUgYSBjbG9uZSBvZiBjbGVhdmVJbnN0YW5jZVxuICAgICAgICAgICAgY29uc3QgY2xvbmVJbnN0YW5jZTogQ2xlYXZlSW5zdGFuY2UgPSBuZXcgQ2xlYXZlKGRpdiwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgICAgIC8vIEJFV0FSRTogYnkgdGhlIHRpbWUgeW91ciBzZXRSYXdWYWx1ZSBjbGVhdmUgb3B0aW9ucyBoYXZlIGNoYW5nZWQgdGh1cyBudW1iZXIgZm9ybWF0dGluZ1xuICAgICAgICAgICAgY2xvbmVJbnN0YW5jZS5zZXRSYXdWYWx1ZSh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIC8vIHNldCB0aGUgdmFsdWUgd2l0aCBjdXJyZW50IGZvcm1hdCBhcyBwbGFjZWhvbGRlclxuICAgICAgICAgICAgc3VwZXIuc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUoY2xvbmVJbnN0YW5jZS5nZXRGb3JtYXR0ZWRWYWx1ZSgpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBzdXBlci5zZXRQbGFjZWhvbGRlckF0dHJpYnV0ZSh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgc3VwZXIuc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbnN0YW50aWF0ZSBDbGVhdmUuanNcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGluaXRDbGVhdmUob25DaGFuZ2VDYWxsYmFjaz86IChvYmo6IGFueSkgPT4gYW55KTogdm9pZCB7XG4gICAgICAgIC8vIGNoYW5nZSB0aGUgY2xlYXZlIHByb3RvdHlwZSBmdW5jdGlvbiB0byBpbnRlcmNlcHQgb25DdXQgY2FsbGJhY2tcbiAgICAgICAgLy8gYW5kIGFsbG93IGJhc2VkIG9uIHRoZSBldmVudCBidWJibGluZyBhbmQgZGlzYWJsZWQgc3RhdGVcbiAgICAgICAgLy8gVElQOiBjaGFuZ2UgYmVoYXZpb3Igb2Ygb25DdXQgdG8gc3RvcCBpbiBjYXNlIGJ1YmJsZSBpcyBjYW5jZWxlZFxuICAgICAgICAvLyBUT0RPOiBTZWUgcmVsZXZhbnQgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL25vc2lyL2NsZWF2ZS5qcy9pc3N1ZXMvNjc1XG4gICAgICAgIGNvbnN0IF9vbkN1dCA9IENsZWF2ZS5wcm90b3R5cGVbJ29uQ3V0J107XG4gICAgICAgIENsZWF2ZS5wcm90b3R5cGVbJ29uQ3V0J10gPSBmdW5jdGlvbiAoZTogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbnZhbGlkLXRoaXNcbiAgICAgICAgICAgIGlmICghZS5jYW5jZWxCdWJibGUgJiYgIXRoaXMuZWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbnZhbGlkLXRoaXNcbiAgICAgICAgICAgICAgICBfb25DdXQuY2FsbCh0aGlzLCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICAvLyBpbiBjYXNlIG9wdGlvbnMgaXMgdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IG9wdHM6IENsZWF2ZU9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucyB9O1xuXG4gICAgICAgIC8vIHNldCB0aGUgb25WYWx1ZSBjaGFuZ2UgbGlzdGVuZXIgdG8ga2VlcCB0aGUgdmFsdWUgYXQgcmVhZE9ubHkgZWxlbWVudCBpbiBzeW5jXG4gICAgICAgIG9wdHMub25WYWx1ZUNoYW5nZWQgPSBvbkNoYW5nZUNhbGxiYWNrIHx8IHRoaXMub25WYWx1ZUNoYW5nZWQuYmluZCh0aGlzKTtcblxuICAgICAgICAvLyBpbiBjYXNlIHJvdW5kIFVQIGlzIGVuYWJsZWRcbiAgICAgICAgaWYgKHRoaXMuX3JvdW5kVXAgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBudW1iZXIgPSBOdW1iZXIucGFyc2VGbG9hdCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5kZWNpbWFsQWRqdXN0KG51bWJlciwgdGhpcy5yb3VuZFVwICogLTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY3JlYXRlIHRoZSBDbGVhdmUgaW5zdGFuY2Ugd2l0aCB0aGUgbmV3IG9yIHVwZGF0ZWQgb3B0aW9uc1xuICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlID0gbmV3IENsZWF2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG9wdHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGNsZWF2ZSBvcHRpb25zIGJ5IGRlc3Ryb3lpbmcgdGhlIGN1cnJlbnQgaW5zdGFuY2UgYW5kIGNyZWF0aW5nIGFub3RoZXIgb25lIHdoaWxlIGtlZXBpbmcgdGhlIHByZXZpb3VzXG4gICAgICogdmFsdWUuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVPcHRpb25zKGxvY2FsZVVwZGF0ZWQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbGVhdmVJbnN0YW5jZSkge1xuICAgICAgICAgICAgLy8gdGhlIHZhbHVlIGJlZm9yZSBkZXN0cm95aW5nIGNsZWF2ZSBpbnN0YW5jZVxuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBDbGVhdmUgaW5zdGFuY2Ugd2l0aCB0aGUgbmV3IG9yIHVwZGF0ZWQgb3B0aW9uc1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5wcm9wZXJ0aWVzID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuY2xlYXZlSW5zdGFuY2UucHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgaW5pdFZhbHVlOiBwcmV2aW91c1ZhbHVlLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8gaW5pdCBudW1iZXIgZm9ybWF0dGVyIHdpdGggdXBkYXRlZCBvcHRpb25zXG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLmluaXROdW1lcmFsRm9ybWF0dGVyKCk7XG5cbiAgICAgICAgICAgIC8vIEluIGNhc2UgcHJldmlvdXMgc2V0dGluZ3Mgd2hlcmUgbnVtZXJhbERlY2ltYWxNYXJrPScuJyB3aXRoIHZhbHVlIDEwMDAuOTksIGFuZCB0aGV5IGNoYW5nZWQgdG9cbiAgICAgICAgICAgIC8vIG51bWVyYWxEZWNpbWFsTWFyaz0nLCc7IHNldCBpbml0VmFsdWUgdG8gMTAwMC45OSBvciBldmVuIDEwMDAsOTkgd2lsbCBub3QgYmUgcmVmbGVjdGVkIGFuZCBjbGVhdmUgd2lsbFxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSBkZWNpbWFsIHBhcnQuIFNldCBvZiB0aGUgdmFsdWUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gY2F1c2VzIHJlZm9ybWF0IG9mIG51bWJlciBhbmQgd29ya3MuXG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKHByZXZpb3VzVmFsdWUpO1xuXG4gICAgICAgICAgICAvLyBwYXJzZSBudW1iZXJcbiAgICAgICAgICAgIGNvbnN0IG51bWJlciA9IHRoaXMucGFyc2VOdW1iZXIodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyIHx8IHVuZGVmaW5lZCwgbG9jYWxlVXBkYXRlZCk7XG4gICAgICAgICAgICAvLyBzZXQgcGxhY2Vob2xkZXIgaW4gY2FzZSBub25lIGlzIHByb3ZpZGVkXG4gICAgICAgICAgICB0aGlzLnNldFBsYWNlaG9sZGVyQXR0cmlidXRlKG51bWJlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiBvZiB0aGUgQ2xlYXZlIGluc3RhbmNlIHRoYXQgaXMgaW52b2tlZCB3aGVuIHZhbHVlIGlzIGNoYW5nZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgdHlwZSBvZiBDbGVhdmVFdmVudE9uQ2hhbmdlXG4gICAgICovXG4gICAgcHJpdmF0ZSBvblZhbHVlQ2hhbmdlZChldmVudDogQ2xlYXZlRXZlbnRPbkNoYW5nZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRhcmdldCB9ID0gZXZlbnQ7XG5cbiAgICAgICAgaWYgKHRoaXMuZmlsbEZyYWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5RnJhY3Rpb25GaWxsKHRhcmdldC5yYXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZShOdW1iZXIucGFyc2VGbG9hdCh0YXJnZXQucmF3VmFsdWUpKTtcbiAgICAgICAgLy8gZmlsbCBsZWFkaW5nIHplcm9cbiAgICAgICAgaWYgKHRoaXMubGVhZGluZ1plcm8pIHtcbiAgICAgICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLmxlYWRpbmdaZXJvID4gdGhpcy5kaWdpdHMgJiYgdGhpcy5kaWdpdHMgPiAwID8gdGhpcy5kaWdpdHMgOiB0aGlzLmxlYWRpbmdaZXJvO1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5wYWRaZXJvKGV2ZW50LnRhcmdldC5yYXdWYWx1ZSwgc2l6ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXNwb25zaWJsZSB0byBleHRyYWN0IGFsbCBsb2NhbGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGJ1aWxkIENsZWF2ZU9wdGlvbnMgcmVsYXRlZCB0byBudW1iZXIgZm9ybWF0LlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgbG9jYWxlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDbGVhdmVPcHRzQmFzZWRPbkxvY2FsZShpZDogc3RyaW5nKTogQ2xlYXZlT3B0aW9ucyB7XG4gICAgICAgIGlmICghaWQgfHwgaWQgPT09ICcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsZSBpZCBjYW5ub3QgYmUgZW1wdHkgb3IgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3B0czogQ2xlYXZlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG51bWVyYWw6IHRydWUsXG4gICAgICAgICAgICBkZWxpbWl0ZXI6IGdldExvY2FsZU51bWJlclN5bWJvbChpZCwgTnVtYmVyU3ltYm9sLkdyb3VwKSxcbiAgICAgICAgICAgIG51bWVyYWxEZWNpbWFsTWFyazogZ2V0TG9jYWxlTnVtYmVyU3ltYm9sKGlkLCBOdW1iZXJTeW1ib2wuRGVjaW1hbCksXG4gICAgICAgICAgICBudW1lcmFsRGVjaW1hbFNjYWxlOiB0aGlzLmZyYWN0aW9uRGlnaXRzLFxuICAgICAgICAgICAgbnVtZXJhbEludGVnZXJTY2FsZTogdGhpcy5kaWdpdHMsXG4gICAgICAgICAgICBudW1lcmFsVGhvdXNhbmRzR3JvdXBTdHlsZTogdGhpcy5ub0Zvcm1hdCA/ICdub25lJyA6ICd0aG91c2FuZCcsIC8vIFRPRE86IGltcGxlbWVudCBiYXNlZCBvbiBsb2NhbGVcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4geyAuLi50aGlzLm9wdGlvbnMsIC4uLm9wdHMgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcHBsaWVzIHRoZSBmaWxsIG9mIGRlY2ltYWwgcGFydCB3aXRoIHplcm9zIGluIGNhc2UgZGVjaW1hbCBwYXJ0IG9mIGdpdmVuIG51bWJlciBoYXNcbiAgICAgKiBzaXplIGxlc3MgdGhhbiB0aGUgbWF4IGZyYWN0aW9uIGRpZ2l0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBudW1iZXJcbiAgICAgKiBAcGFyYW0gY2xlYXZlSW5zdGFuY2VcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgYXBwbHlGcmFjdGlvbkZpbGwobnVtYmVyOiBzdHJpbmcsIGNsZWF2ZUluc3RhbmNlOiBDbGVhdmVJbnN0YW5jZSA9IHRoaXMuY2xlYXZlSW5zdGFuY2UpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgZmlsbCBmcmFjdGlvbiBpcyBlbmFibGVkIGFuZCB0aGVyZSdzIGNsZWF2ZSBpbnN0YW5jZVxuICAgICAgICBpZiAodGhpcy5maWxsRnJhY3Rpb24pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyPy50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgIGlmIChudW1iZXIgPT09ICcnIHx8ICFudW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNEZWNpbWFsID0gbnVtYmVyLnNwbGl0KCcuJykubGVuZ3RoID4gMTtcbiAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIHRoZXJlJ3MgYWxyZWFkeSBkZWNpbWFsIHBvaW50IGluIG51bWJlclxuICAgICAgICAgICAgICAgIGlmIChoYXNEZWNpbWFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxTaXplID0gbnVtYmVyLnNwbGl0KCcuJylbMV0ubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiBzaXplIG9mIGRlY2ltYWwgcGFydCBvZiBudW1iZXIgaXMgbGVzcyB0aGFuIHRoZSBtYXggZnJhY3Rpb24gZGlnaXRzXG4gICAgICAgICAgICAgICAgICAgIGlmIChkZWNpbWFsU2l6ZSA8IHRoaXMuX2ZyYWN0aW9uRGlnaXRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBudW1iZXIgKyBuZXcgQXJyYXkodGhpcy5fZnJhY3Rpb25EaWdpdHMgLSBkZWNpbWFsU2l6ZSkuZmlsbCgwKS5qb2luKCcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGNhc2UgdGhlcmUncyBub3QsIGZvcmNlIGl0IGJ5IGZpbGxpbmcgaXQgYXMgbXVjaCB6ZXJvIGFzIHRoZSBmcmFjdGlvbiBkaWdpdHNcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZnJhY3Rpb25EaWdpdHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IGAke251bWJlcn0uJHtuZXcgQXJyYXkodGhpcy5fZnJhY3Rpb25EaWdpdHMpLmZpbGwoMCkuam9pbignJyl9YDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBjbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhcnNlcyBhIGdpdmVuIGZvcm1hdHRlZCBudW1iZXIgYW5kIHJldHVybnMgaXQgYXMgYSBudW1iZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIGZvcm1hdHRlZCBudW1iZXIgeW91IHdhbnQgdG8gcGFyc2UgZS5nLiAxMTEsODg4LjIyXG4gICAgICogQHBhcmFtIHVzZXJQcmV2TG9jYWxlU3RhdGUgVXNlIHByZXZpb3VzIGxvY2FsZSBzdGF0ZSB0byBwYXJzZSB0aGUgdmFsdWUuIEJ5IGRlZmF1bHQsIGlzIGZhbHNlXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHBhcnNlTnVtYmVyKHZhbHVlOiBzdHJpbmcsIHVzZXJQcmV2TG9jYWxlU3RhdGUgPSBmYWxzZSk6IG51bWJlciB7XG4gICAgICAgIC8vIGxvY2FsZSBzdGF0ZVxuICAgICAgICBjb25zdCBsb2NhbGUgPSB1c2VyUHJldkxvY2FsZVN0YXRlID8gdGhpcy5sb2NhbGVTZXJ2aWNlPy5wcmV2aW91c0xvY2FsZSA6IHRoaXMubG9jYWxlU2VydmljZT8uY3VycmVudExvY2FsZSB8fCB0aGlzLmxvY2FsZV9pZDtcbiAgICAgICAgLy8gZ2V0IGRlY2ltYWwgYW5kIGdyb3VwIHN5bWJvbHNcbiAgICAgICAgY29uc3QgZGVjaW1hbFN5bWJvbCA9IGdldExvY2FsZU51bWJlclN5bWJvbChsb2NhbGUsIE51bWJlclN5bWJvbC5EZWNpbWFsKTtcbiAgICAgICAgY29uc3QgZ3JvdXBTeW1ib2wgPSBnZXRMb2NhbGVOdW1iZXJTeW1ib2wobG9jYWxlLCBOdW1iZXJTeW1ib2wuR3JvdXApO1xuICAgICAgICAvLyByZXBsYWNlIHN5bWJvbHMgdG8gcGFyc2UgbnVtYmVyXG4gICAgICAgIGNvbnN0IHBhcnNlZE51bWJlciA9IHZhbHVlPy5zcGxpdChncm91cFN5bWJvbCkuam9pbignJykuc3BsaXQoZGVjaW1hbFN5bWJvbCkuam9pbignLicpO1xuICAgICAgICByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQocGFyc2VkTnVtYmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYWQgbGVhZGluZyB6ZXJvIHRvIHRoZSBudW1iZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBudW0gVGhlIG51bWJlciB0byBhZGQgbGVhZGluZyB6ZXJvIHRvXG4gICAgICogQHBhcmFtIHNpemUgTnVtYmVyIG9mIG51bWJlcidzIGxlYWRpbmcgemVyb1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYWRaZXJvKG51bSwgc2l6ZSk6IHN0cmluZyB7XG4gICAgICAgIG51bSA9IG51bS50b1N0cmluZygpO1xuICAgICAgICAvLyBnZXQgaW50ZWdlciBhbmQgZGVjaW1hbCBwYXJ0XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgICAgbGV0IFtpbnRlZ2VyLCBkZWNpbWFsXSA9IG51bS5zcGxpdCgnLicpO1xuICAgICAgICB3aGlsZSAoaW50ZWdlci5sZW5ndGggPCBzaXplKSB7XG4gICAgICAgICAgICBpbnRlZ2VyID0gJzAnICsgaW50ZWdlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVjaW1hbCA/IGAke2ludGVnZXJ9LiR7ZGVjaW1hbH1gIDogaW50ZWdlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3Mgd2hldGhlciB0aGUgbWluIHN5bWJvbCBpcyBhbGxvd2VkLiBJdCBpcyBhbGxvd2VkIHdoZW4gbWludXMgc3ltYm9sXG4gICAgICogcHJvdmlkZWQgYW5kIG1pbiBpbnB1dCBpcyB1bmRlZmluZWQgb3IgbWluIHByb3ZpZGVkIGFuZCBpcyBuZWdhdGl2ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBzdHJpbmcgY29taW5nIGZyb20gYW4gZXZlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGlzTWludXNBbGxvd2VkKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5taW4gfHwgdGhpcy5taW4gPCAwID8ga2V5ICE9PSAnLScgOiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrIHdoZXRoZXIgdGhlIGtleSBlbnRlcmVkIGlzIGluc2lkZSB0aGUgbWluIGFuZFxuICAgICAqIG1heCByYW5nZS4gUmV0dXJucyB0cnVlIGlmIGl0J3Mgb3V0IG9mIHJhbmdlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGUgQSBrZXlib2FyZCBldmVudFxuICAgICAqL1xuICAgIHByaXZhdGUgaXNPdXRTaWRlUmFuZ2UoZTogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBnZXQgY2FyZXQgcG9zaXRpb25cbiAgICAgICAgY29uc3QgcG9zID0gZS50YXJnZXRbJ3NlbGVjdGlvblN0YXJ0J107XG4gICAgICAgIC8vIGdldCBjYXJldCBwb3NpdGlvbiAoaW4gY2FzZSB0aGVyZSdzIHRleHQgc2VsZWN0ZWQpXG4gICAgICAgIGNvbnN0IGVuZFBvcyA9IGUudGFyZ2V0WydzZWxlY3Rpb25FbmQnXTtcbiAgICAgICAgLy8gZ2V0IGN1cnJlbnQgdmFsdWUgKGZvcm1hdHRlZClcbiAgICAgICAgbGV0IHZhbHVlID0gZS50YXJnZXRbJ3ZhbHVlJ107XG4gICAgICAgIC8vIHJlbW92ZSBrZXkgZnJvbSB2YWx1ZVxuICAgICAgICBpZiAoZS5rZXkgPT09ICdEZWxldGUnIHx8IGUua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgLy8gY2hlY2sgaWYgdGhlcmUncyBzZWxlY3Rpb24gb2YgdGV4dCB0byBiZSByZW1vdmVkXG4gICAgICAgICAgICBpZiAocG9zICE9PSBlbmRQb3MpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGUudGFyZ2V0Wyd2YWx1ZSddLnN1YnN0cmluZygwLCBwb3MpICsgZS50YXJnZXRbJ3ZhbHVlJ10uc3Vic3RyaW5nKGVuZFBvcywgZS50YXJnZXRbJ3ZhbHVlJ10ubGVuZ3RoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBlLnRhcmdldFsndmFsdWUnXS5zdWJzdHJpbmcoMCwgcG9zIC0gMSkgKyBlLnRhcmdldFsndmFsdWUnXS5zdWJzdHJpbmcoZW5kUG9zLCBlLnRhcmdldFsndmFsdWUnXS5sZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gYWRkIGtleSB0byB0aGUgdmFsdWVcbiAgICAgICAgICAgIHZhbHVlID0gW3ZhbHVlLnNsaWNlKDAsIHBvcyksIGUua2V5LCB2YWx1ZS5zbGljZShlbmRQb3MpXS5qb2luKCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNyZWF0ZSBhIENsZWF2ZSBpbnN0YW5jZSB0byBleHRyYWN0IHRoZSBudW1iZXIgZnJvbSBmb3JtYXR0ZWQgdmFsdWVcbiAgICAgICAgY29uc3QgY2xlYXZlOiBDbGVhdmVJbnN0YW5jZSA9IG5ldyBDbGVhdmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKSwgeyAuLi50aGlzLm9wdGlvbnMgfSk7XG4gICAgICAgIGNsZWF2ZS5zZXRSYXdWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG51bWJlciA9IE51bWJlcihjbGVhdmUuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgIC8vIGRlc3Ryb3kgY2xlYXZlIGluc3RhbmNlXG4gICAgICAgIGNsZWF2ZS5kZXN0cm95KCk7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbiA+IG51bWJlciB8fCB0aGlzLm1heCA8IG51bWJlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWNpbWFsIGFkanVzdG1lbnQgb2YgYSBudW1iZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIHZhbHVlIFRoZSBudW1iZXIuXG4gICAgICogQHBhcmFtIGV4cCAgIFRoZSBleHBvbmVudCAodGhlIDEwIGxvZ2FyaXRobSBvZiB0aGUgYWRqdXN0bWVudCBiYXNlKS5cbiAgICAgKiBAcmV0dXJucyBUaGUgYWRqdXN0ZWQgdmFsdWUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBkZWNpbWFsQWRqdXN0KHZhbHVlOiBudW1iZXIsIGV4cDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgLy8gSWYgdGhlIGV4cCBpcyB1bmRlZmluZWQgb3IgemVyby4uLlxuICAgICAgICBpZiAodHlwZW9mIGV4cCA9PT0gJ3VuZGVmaW5lZCcgfHwgK2V4cCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlID0gK3ZhbHVlO1xuICAgICAgICBleHAgPSArZXhwO1xuICAgICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgbm90IGEgbnVtYmVyIG9yIHRoZSBleHAgaXMgbm90IGFuIGludGVnZXIuLi5cbiAgICAgICAgaWYgKGlzTmFOKHZhbHVlKSB8fCAhKHR5cGVvZiBleHAgPT09ICdudW1iZXInICYmIGV4cCAlIDEgPT09IDApKSB7XG4gICAgICAgICAgICByZXR1cm4gTmFOO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNoaWZ0XG4gICAgICAgIGxldCBjbGVhbmVkID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnZScpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgucm91bmQoKyhjbGVhbmVkWzBdICsgJ2UnICsgKGNsZWFuZWRbMV0gPyArY2xlYW5lZFsxXSAtIGV4cCA6IC1leHApKSk7XG4gICAgICAgIC8vIFNoaWZ0IGJhY2tcbiAgICAgICAgY2xlYW5lZCA9IHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJ2UnKTtcbiAgICAgICAgcmV0dXJuICsoY2xlYW5lZFswXSArICdlJyArIChjbGVhbmVkWzFdID8gK2NsZWFuZWRbMV0gKyBleHAgOiBleHApKTtcbiAgICB9XG59XG4iXX0=
587
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWlucHV0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktaW5wdXQtbnVtYmVyL2V1aS1pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFFTixTQUFTLEVBR1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBTUwsaUJBQWlCLEdBRXBCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBNkIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRyxPQUFPLE1BQU0sTUFBTSxXQUFXLENBQUM7QUFFL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBNEMzQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQUN2RDs7T0FFRztJQUNILElBQ1csR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxHQUFHLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxJQUNXLEdBQUc7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUNELElBQVcsR0FBRyxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsb0JBQW9CLENBQUMsS0FB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LGtCQUNyQjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUscUJBQXFCOzRCQUNoQyxNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQzt5QkFDbkQ7d0JBQ0Q7NEJBQ0ksU0FBUyxFQUFFLG1CQUFtQjs0QkFDOUIsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQzt5QkFDckM7cUJBQ0osUUFFSzt3QkFDRixRQUFRLEVBQUUsYUFBYTtxQkFDMUI7OzBCQStHSSxRQUFROzswQkFDUixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLFFBQVE7eUNBM0dULEdBQUc7c0JBRGIsS0FBSztnQkFXSyxHQUFHO3NCQURiLEtBQUs7Z0JBV0ssV0FBVztzQkFEckIsS0FBSztnQkFRSyxTQUFTO3NCQURuQixLQUFLO2dCQVNLLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsT0FBTztnQkFPaEIsY0FBYztzQkFEakIsS0FBSztnQkFTRixNQUFNO3NCQURULEtBQUs7Z0JBUUYsWUFBWTtzQkFEZixLQUFLO2dCQVNGLE9BQU87c0JBRFYsS0FBSztnQkFZRixRQUFRO3NCQURYLEtBQUs7Z0JBUThCLElBQUk7c0JBQXZDLFdBQVc7dUJBQUMsV0FBVztnQkFDZixLQUFLO3NCQUFiLEtBQUs7Z0JBa0lOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBdUJ2QixTQUFTO3NCQURsQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkEyQ3pCLFVBQVU7c0JBRG5CLFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgT3B0aW9uYWwsXG4gICAgTE9DQUxFX0lELFxuICAgIEluamVjdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbmplY3Rvcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlLCBMb2NhbGVTdGF0ZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5LCBCb29sZWFuSW5wdXQsIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IHR5cGUgQ2xlYXZlT3B0aW9ucyB9IGZyb20gJ2NsZWF2ZS5qcy9vcHRpb25zJztcbmltcG9ydCBDbGVhdmUgZnJvbSAnY2xlYXZlLmpzJztcbmltcG9ydCB7IENsZWF2ZUV2ZW50T25DaGFuZ2UgfSBmcm9tICcuL21vZGVscy9jbGVhdmUtZXZlbnQtb25jaGFuZ2UubW9kZWwnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcbmltcG9ydCB7IERPQ1VNRU5ULCBnZXRMb2NhbGVOdW1iZXJTeW1ib2wsIE51bWJlclN5bWJvbCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdWlDbGVhcmFibGVEaXJlY3RpdmUsIEV1aUxvYWRpbmdEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYXZlSW5zdGFuY2UgZXh0ZW5kcyBDbGVhdmUge1xuICAgIGluaXRTd2FwSGlkZGVuSW5wdXQ/OiAoKSA9PiB2b2lkO1xuICAgIGluaXROdW1lcmFsRm9ybWF0dGVyPzogKCkgPT4gdm9pZDtcbiAgICBpbml0VGltZUZvcm1hdHRlcj86ICgpID0+IHZvaWQ7XG4gICAgaW5pdERhdGVGb3JtYXR0ZXI/OiAoKSA9PiB2b2lkO1xuICAgIGluaXRQaG9uZUZvcm1hdHRlcj86ICgpID0+IHZvaWQ7XG4gICAgdXBkYXRlQ3JlZGl0Q2FyZFByb3BzQnlWYWx1ZT86ICgpID0+IHZvaWQ7XG4gICAgdXBkYXRlVmFsdWVTdGF0ZT86ICgpID0+IHZvaWQ7XG4gICAgY2FsbE9uVmFsdWVDaGFuZ2VkPzogKCkgPT4gdm9pZDtcbiAgICBvbkNoYW5nZT86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ3V0PzogKGV2ZW50PzogRXZlbnQpID0+IHZvaWQ7XG4gICAgb25Gb2N1cz86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29weT86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uS2V5RG93bj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ2hhbmdlTGlzdGVuZXI/OiAoZXZlbnQ/OiBFdmVudCkgPT4gdm9pZDtcbiAgICBvbktleURvd25MaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uRm9jdXNMaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ3V0TGlzdGVuZXI/OiAoZXZlbnQ/OiBFdmVudCkgPT4gdm9pZDtcbiAgICBvbkNvcHlMaXN0ZW5lcj86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaW5wdXRbZXVpSW5wdXROdW1iZXJdJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEV1aUNsZWFyYWJsZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydldWlDbGVhcmFibGUnLCAncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBFdWlMb2FkaW5nRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2V1aUxvYWRpbmcnLCAncmVhZG9ubHknXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpSW5wdXROdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrLCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIG51bWJlciBjYW4gYmUgZW50ZXJlZC4gQmxvY2tzIHVzZXIncyBpbnB1dCBpZiBub3QgaW4gcmFuZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG1pbih2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICAgICAgdGhpcy5fbWluID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBudW1iZXIgY2FuIGJlIGVudGVyZWQuIEJsb2NrcyB1c2VyJ3MgaW5wdXQgaWYgbm90IGluIHJhbmdlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBtYXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heDtcbiAgICB9XG4gICAgcHVibGljIHNldCBtYXgodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX21heCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIEFkZHMgbGVhZGluZyB6ZXJvIHRvIGEgbnVtYmVyLiBGb3JtYXR0aW5nIHdpbGwgbm90IHdvcmsuXG4gICAgICogICAgICBlLmcuIHdpdGggbGVhZGluZ1plcm89MyBpbnB1dCBudW1iZXIgNSA9PiAwMDVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbGVhZGluZ1plcm8oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xlYWRpbmdaZXJvO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGxlYWRpbmdaZXJvKHZhbHVlOiBOdW1iZXJJbnB1dCkge1xuICAgICAgICB0aGlzLl9sZWFkaW5nWmVybyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZCB8fCBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaXNJbnZhbGlkKHN0YXRlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5zZXRJbnZhbGlkKHN0YXRlKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZXVpLWlucHV0LW51bWJlcicpLCB0aGlzLl9pc0ludmFsaWQgPyAnZXVpLWlucHV0LW51bWJlci0taW52YWxpZCcgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKiogaG93IG1hbnkgZGlnaXRzIGZvciB0aGUgZGVjaW1hbCBwYXJ0ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZnJhY3Rpb25EaWdpdHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZyYWN0aW9uRGlnaXRzO1xuICAgIH1cbiAgICBzZXQgZnJhY3Rpb25EaWdpdHModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX2ZyYWN0aW9uRGlnaXRzID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICAvKiogaG93IG1hbnkgZGlnaXRzIGZvciB0aGUgaW50ZWdlciBwYXJ0ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlnaXRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaWdpdHM7XG4gICAgfVxuICAgIHNldCBkaWdpdHModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgICAgIHRoaXMuX2RpZ2l0cyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgZmlsbEZyYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsbEZyYWN0aW9uO1xuICAgIH1cbiAgICBzZXQgZmlsbEZyYWN0aW9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZmlsbEZyYWN0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIHJvdW5kcyBhIG51bWJlciB3aXRoIG1vcmUgdGhhbiB0d28gZGVjaW1hbHMgVVAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCByb3VuZFVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3VuZFVwO1xuICAgIH1cbiAgICBzZXQgcm91bmRVcCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICAgICAgdGhpcy5fcm91bmRVcCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogZG9lcyBub3QgZm9ybWF0IHRoZSBhbmQgZG8gYSB0aG91c2FuZCBncm91cGluZyBvZiBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBub0Zvcm1hdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vRm9ybWF0O1xuICAgIH1cbiAgICBzZXQgbm9Gb3JtYXQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ub0Zvcm1hdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfbm9Gb3JtYXQ6IGJvb2xlYW47XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSBwcm90ZWN0ZWQgdHlwZSA9ICdldWktbnVtYmVyJztcbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfcm91bmRVcDogbnVtYmVyO1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkO1xuICAgIGNsZWF2ZUluc3RhbmNlOiBDbGVhdmVJbnN0YW5jZTtcbiAgICBwcml2YXRlIF9taW46IG51bWJlcjtcbiAgICBwcml2YXRlIF9tYXg6IG51bWJlcjtcblxuICAgIHByaXZhdGUgX2xlYWRpbmdaZXJvID0gMDtcbiAgICAvKiogaG9sZHMgaW5zdGFuY2Ugb2YgY2xlYXZlICovXG4gICAgLyoqIG9wdGlvbnMgZm9yIHRoZSBDbGVhdmUgaW5zdGFuY2UgKi9cbiAgICBwcml2YXRlIG9wdGlvbnM6IENsZWF2ZU9wdGlvbnM7XG4gICAgcHJpdmF0ZSBfZnJhY3Rpb25EaWdpdHMgPSAwO1xuICAgIHByaXZhdGUgX2RpZ2l0czogbnVtYmVyO1xuICAgIHByaXZhdGUgX2ZpbGxGcmFjdGlvbjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcbiAgICAgICAgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgbG9jYWxlX2lkOiBzdHJpbmcsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfcmVuZGVyZXIsIGluamVjdG9yKTtcblxuICAgICAgICAvLyBzZXQgZGVmYXVsdCBvcHRpb25zXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG51bWVyYWw6IHRydWUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAgICAgLy8gaW5zdGFudGlhdGUgY2xlYXZlXG4gICAgICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDbGVhdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHN1YnNjcmliZSB0byBsb2NhbGl6YXRpb24gc2VydmljZSBhbmQgbGlzdGVuIGZvciBsb2NhbGUgY2hhbmdlLiBEZS1jb25zdHJ1Y3Rpb24gb2YgbG9jYWxlIHNob3VsZCBoYXBwZW4gaGVyZSFcbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlPy5nZXRTdGF0ZSgpLnN1YnNjcmliZSgoc3RhdGU6IExvY2FsZVN0YXRlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmdldENsZWF2ZU9wdHNCYXNlZE9uTG9jYWxlKHN0YXRlPy5pZCk7XG5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgb3B0aW9ucyBvbiB0aGUgY2xlYXZlIGluc3RhbmNlXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wdGlvbnModHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3Jvb3RDbGFzc05hbWUnLCAnZXVpLWlucHV0LW51bWJlcicpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgdW5kZWZpbmVkLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNJbnZhbGlkID0gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQgOiB0aGlzLl9pc0ludmFsaWQ7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihjaGFuZ2VzLCAndmFsdWUnKSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihjaGFuZ2VzLCAnZnJhY3Rpb25EaWdpdHMnKSkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIG51bWVyYWxEZWNpbWFsU2NhbGU6IHRoaXMuZnJhY3Rpb25EaWdpdHMgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdub0Zvcm1hdCcpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbFRob3VzYW5kc0dyb3VwU3R5bGU6IHRoaXMubm9Gb3JtYXQgPyAnbm9uZScgOiAndGhvdXNhbmQnIH07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihjaGFuZ2VzLCAnZmlsbEZyYWN0aW9uJykgJiYgdGhpcy5jbGVhdmVJbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUZyYWN0aW9uRmlsbCh0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdkaWdpdHMnKSkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIG51bWVyYWxJbnRlZ2VyU2NhbGU6IHRoaXMuZGlnaXRzIH07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihjaGFuZ2VzLCAnbWluJykpIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzWydtaW4nXS5jdXJyZW50VmFsdWUgPj0gMCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRha2UgY2FyZSBvZiB0aGUgc2lnbiBzeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShNYXRoLmFicyhOdW1iZXIodGhpcy5jbGVhdmVJbnN0YW5jZS5nZXRSYXdWYWx1ZSgpKSkudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKGNoYW5nZXMsICdyb3VuZFVwJykpIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzWydyb3VuZFVwJ10uY3VycmVudFZhbHVlID4gMCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBOdW1iZXIucGFyc2VGbG9hdCh0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSB0aGlzLmRlY2ltYWxBZGp1c3QobnVtYmVyLCB0aGlzLnJvdW5kVXAgKiAtMSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXZlSW5zdGFuY2Uuc2V0UmF3VmFsdWUobnVtYmVyLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICAvLyBkZXN0cm95IGNsZWF2ZSBpbnN0YW5jZVxuICAgICAgICBpZiAodGhpcy5jbGVhdmVJbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBvbkNoYW5nZTogYW55ID0gKF86IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sICYmIChfICE9PSBudWxsIHx8IF8gIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgIC8vIHBhcnNlIG51bWJlclxuICAgICAgICAgICAgLy8gY29uc3QgdmFsdWUgPSBOdW1iZXIoXyk7XG4gICAgICAgICAgICAvLyBydW4gb24gbmV4dCBNaWNyb1Rhc2sgdG8gYXZvaWQgTkcwMTAwIGVycm9yIFRPRE86IGRlZXBlciBpbnZlc3RpZ2F0aW9uXG4gICAgICAgICAgICAvLyBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuY29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSh2YWx1ZSkpO1xuICAgICAgICAgICAgLy8gaW4gY2FzZSBjb250cm9sIGlzIEZvcm1Db250cm9sXG4gICAgICAgICAgICAvLyB0aGlzLmNvbnRyb2w/LmNvbnRyb2wuc2V0VmFsdWUoaXNOYU4odmFsdWUpID8gbnVsbCA6IHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UsIGVtaXRNb2RlbFRvVmlld0NoYW5nZTogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIG9uVG91Y2hlZDogYW55ID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH07XG5cbiAgICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pXG4gICAgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gZ2V0IHRoZSB2YWx1ZSBmcm9tIGNsaXBib2FyZFxuICAgICAgICBjb25zdCB2YWx1ZSA9IChldmVudC5jbGlwYm9hcmREYXRhIHx8IHdpbmRvd1snY2xpcGJvYXJkRGF0YSddKS5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgICAgIC8vIGluIGNhc2Ugcm91bmQgVVAgaXMgZW5hYmxlZFxuICAgICAgICBpZiAodGhpcy5fcm91bmRVcCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIGNsb25lIG9mIGNsZWF2ZUluc3RhbmNlXG4gICAgICAgICAgICBjb25zdCBjbG9uZUluc3RhbmNlOiBDbGVhdmVJbnN0YW5jZSA9IG5ldyBDbGVhdmUoZGl2LCB7IC4uLnRoaXMub3B0aW9ucywgbnVtZXJhbERlY2ltYWxTY2FsZTogOCB9KTtcbiAgICAgICAgICAgIGNsb25lSW5zdGFuY2Uuc2V0UmF3VmFsdWUodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICBsZXQgbnVtYmVyID0gTnVtYmVyLnBhcnNlRmxvYXQoY2xvbmVJbnN0YW5jZS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgICAgIG51bWJlciA9IHRoaXMuZGVjaW1hbEFkanVzdChudW1iZXIsIHRoaXMucm91bmRVcCAqIC0xKTtcbiAgICAgICAgICAgIGlmICghTnVtYmVyLmlzTmFOKG51bWJlcikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKG51bWJlci50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBpbnZlc3RpZ2F0ZSBpbiB0aGUgZnV0dXJlIGhvdyBjYW4gdGhpcyBiZSBhdm9pZGVkXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMud3JpdGVWYWx1ZShudW1iZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgaXQncyBhIHNpbmdsZSBzeW1ib2wgYW5kIG5vdCBTcGVjaWFsIGxpa2UgKEN0cmwsIGJhY2tzcGFjZSBldGMpXG4gICAgICAgIGlmIChlPy5rZXkubGVuZ3RoIDw9IDEgJiYgIWUuY3RybEtleSAmJiAhZS5hbHRLZXkgJiYgIWUubWV0YUtleSkge1xuICAgICAgICAgICAgLy8gc3RvcCBldmVudCBwcm9wYWdhdGlvbiBpZiBrZXkgcHJlc3NlZCBpcyBub3QgYSBudW1iZXIgb3IgbG9jYWxlIGNoYXJhY3RlciBvciBtaW51cyBzaWduXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgTnVtYmVyLmlzTmFOKE51bWJlci5wYXJzZUludChlLmtleSwgMTApKSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaXNNaW51c0FsbG93ZWQoZS5rZXkpICYmXG4gICAgICAgICAgICAgICAgZS5rZXkgIT09IGdldExvY2FsZU51bWJlclN5bWJvbCh0aGlzLmxvY2FsZVNlcnZpY2U/LmN1cnJlbnRMb2NhbGUgfHwgdGhpcy5sb2NhbGVfaWQsIE51bWJlclN5bWJvbC5EZWNpbWFsKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgLy8gc3RvcCBldmVudCBwcm9wYWdhdGlvbiBpZiBrZXkgcHJlc3NlZCBleGNlZWRzIHRoZSBtaW4vbWF4IHZhbHVlIHJhbmdlXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNOYU4oTnVtYmVyLnBhcnNlSW50KGUua2V5LCAxMCkpICYmIHRoaXMuaXNPdXRTaWRlUmFuZ2UoZSkpIHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc091dFNpZGVSYW5nZShlKSkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcHJvdGVjdCBkZWNpbWFsIHN5bWJvbCBkZWxldGlvbiBpbiBjYXNlIGZpbGxGcmFjdGlvbiBpcyBvblxuICAgICAgICBpZiAoZS5rZXkgPT09ICdEZWxldGUnIHx8IGUua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uIG9mIGNhcmV0XG4gICAgICAgICAgICBjb25zdCBwb3MgPSBlbGVtZW50LnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgLy8gZ2V0IGNoYXJhY3RlciBhYm91dCB0byBiZSBkZWxldGVkXG4gICAgICAgICAgICBjb25zdCBjaGFyID0gZWxlbWVudC52YWx1ZS5jaGFyQXQocG9zIC0gMSk7XG4gICAgICAgICAgICAvLyBpbiBjYXNlIHRoZSBjaGFyIGlzIHRoZSBkZWNpbWFsIHN5bWJvbCBwcmV2ZW50IGRlbGV0aW9uIGFuZCBtb3ZlIGNhcmV0IGluIGZyb250XG4gICAgICAgICAgICBpZiAoY2hhciA9PT0gZ2V0TG9jYWxlTnVtYmVyU3ltYm9sKHRoaXMubG9jYWxlU2VydmljZT8uY3VycmVudExvY2FsZSB8fCB0aGlzLmxvY2FsZV9pZCwgTnVtYmVyU3ltYm9sLkRlY2ltYWwpKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShwb3MgLSAxLCBwb3MgLSAxKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc091dFNpZGVSYW5nZShlKSkge1xuICAgICAgICAgICAgICAgIC8vIGRvbid0IGFsbG93IGluc2VydGlvbiB0aGF0IHdpbGwgcHV0IG51bWJlciBvdXQgb2YgcmFuZ2VcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgICBwcm90ZWN0ZWQgb25Gb2N1c291dCgpOiB2b2lkIHtcbiAgICAgICAgLy8gaW4gY2FzZSBmaWxsRnJhY3Rpb24gZmVhdHVyZSBpcyBvbiBhbmQgdGhlcmUncyBubyBpbnRlZ2VyIHBhcnQgYWRkIGxlYWRpbmcgMFxuICAgICAgICBpZiAodGhpcy5maWxsRnJhY3Rpb24gJiYgdGhpcy5jbGVhdmVJbnN0YW5jZS5nZXRSYXdWYWx1ZSgpLm1hdGNoKC9eXFwuWzAtOV0rL2cpKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKCcwJyArIHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbiBjYXNlIHJvdW5kIFVQIGlzIGVuYWJsZWRcbiAgICAgICAgaWYgKHRoaXMuX3JvdW5kVXAgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBudW1iZXIgPSBOdW1iZXIucGFyc2VGbG9hdCh0aGlzLmNsZWF2ZUluc3RhbmNlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZSh0aGlzLmRlY2ltYWxBZGp1c3QobnVtYmVyLCB0aGlzLnJvdW5kVXAgKiAtMSkudG9TdHJpbmcoKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbiBjYXNlIG1pbiBpcyBzZXQgYW5kIHZhbHVlIGlzIGxlc3MgdGhhbiBtaW4gcmVzZXQgdG8gdGhlIG1pbiB2YWx1ZVxuICAgICAgICBpZiAodGhpcy5taW4gJiYgTnVtYmVyLnBhcnNlRmxvYXQodGhpcy5jbGVhdmVJbnN0YW5jZS5nZXRSYXdWYWx1ZSgpKSA8IHRoaXMubWluKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKHRoaXMubWluLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldEludmFsaWQoc3RhdGU/OiBCb29sZWFuSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgLy8gaW4gY2FzZSBpdCdzIGNvbnRyb2xsZWQgYnkgTmdDb250cm9sIG92ZXJyaWRlXG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkIDogY29lcmNlQm9vbGVhblByb3BlcnR5KHN0YXRlKTtcblxuICAgICAgICAvLyBzZXQgQmFzZURpcmVjdGl2ZSBBdHRyaWJ1dGVcbiAgICAgICAgc3VwZXIuZXVpRGFuZ2VyID0gdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBPdmVycmlkZSBzZXRQbGFjZWhvbGRlciBzZXRQbGFjZWhvbGRlckF0dHJpYnV0ZSBvZiBJbnB1dERpcmVjdGl2ZVxuICAgICAqIFVwZGF0ZXMgdGhlIHBsYWNlaG9sZGVyIHZhbHVlIGJhc2VkIG9uIGN1cnJlbnQgbnVtYmVyIGZvcm1hdCBhbmQgZ2l2ZW4gdmFsdWUuXG4gICAgICogSWYgdmFsdWUgcGFzc2VkIGNvbnRhaW5zIGNoYXJhY3RlcnMgaXQgZG9lc24ndCBmb3JtYXQgcGxhY2Vob2xkZXIuXG4gICAgICogKi9cbiAgICBwcm90ZWN0ZWQgc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUodmFsdWU6IHN0cmluZyB8IG51bWJlciA9IDk5OTk5OS45OTk5KTogdm9pZCB7XG4gICAgICAgIC8vIGlmIHZhbHVlIGlzIGEgbnVtYmVyLCBmb3JtYXQgdGhlIHZhbHVlIGJhc2VkIG9uIGN1cnJlbnQgbnVtYmVyIGZvcm1hdFxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICBjb25zdCBkaXYgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgICAgICAvLyBjcmVhdGUgYSBjbG9uZSBvZiBjbGVhdmVJbnN0YW5jZVxuICAgICAgICAgICAgY29uc3QgY2xvbmVJbnN0YW5jZTogQ2xlYXZlSW5zdGFuY2UgPSBuZXcgQ2xlYXZlKGRpdiwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgICAgIC8vIEJFV0FSRTogYnkgdGhlIHRpbWUgeW91ciBzZXRSYXdWYWx1ZSBjbGVhdmUgb3B0aW9ucyBoYXZlIGNoYW5nZWQgdGh1cyBudW1iZXIgZm9ybWF0dGluZ1xuICAgICAgICAgICAgY2xvbmVJbnN0YW5jZS5zZXRSYXdWYWx1ZSh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIC8vIHNldCB0aGUgdmFsdWUgd2l0aCBjdXJyZW50IGZvcm1hdCBhcyBwbGFjZWhvbGRlclxuICAgICAgICAgICAgc3VwZXIuc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUoY2xvbmVJbnN0YW5jZS5nZXRGb3JtYXR0ZWRWYWx1ZSgpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBzdXBlci5zZXRQbGFjZWhvbGRlckF0dHJpYnV0ZSh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgc3VwZXIuc2V0UGxhY2Vob2xkZXJBdHRyaWJ1dGUodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbnN0YW50aWF0ZSBDbGVhdmUuanNcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGluaXRDbGVhdmUob25DaGFuZ2VDYWxsYmFjaz86IChvYmo6IGFueSkgPT4gYW55KTogdm9pZCB7XG4gICAgICAgIC8vIGNoYW5nZSB0aGUgY2xlYXZlIHByb3RvdHlwZSBmdW5jdGlvbiB0byBpbnRlcmNlcHQgb25DdXQgY2FsbGJhY2tcbiAgICAgICAgLy8gYW5kIGFsbG93IGJhc2VkIG9uIHRoZSBldmVudCBidWJibGluZyBhbmQgZGlzYWJsZWQgc3RhdGVcbiAgICAgICAgLy8gVElQOiBjaGFuZ2UgYmVoYXZpb3Igb2Ygb25DdXQgdG8gc3RvcCBpbiBjYXNlIGJ1YmJsZSBpcyBjYW5jZWxlZFxuICAgICAgICAvLyBUT0RPOiBTZWUgcmVsZXZhbnQgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL25vc2lyL2NsZWF2ZS5qcy9pc3N1ZXMvNjc1XG4gICAgICAgIGNvbnN0IF9vbkN1dCA9IENsZWF2ZS5wcm90b3R5cGVbJ29uQ3V0J107XG4gICAgICAgIENsZWF2ZS5wcm90b3R5cGVbJ29uQ3V0J10gPSBmdW5jdGlvbiAoZTogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbnZhbGlkLXRoaXNcbiAgICAgICAgICAgIGlmICghZS5jYW5jZWxCdWJibGUgJiYgIXRoaXMuZWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbnZhbGlkLXRoaXNcbiAgICAgICAgICAgICAgICBfb25DdXQuY2FsbCh0aGlzLCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICAvLyBpbiBjYXNlIG9wdGlvbnMgaXMgdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IG9wdHM6IENsZWF2ZU9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucyB9O1xuXG4gICAgICAgIC8vIHNldCB0aGUgb25WYWx1ZSBjaGFuZ2UgbGlzdGVuZXIgdG8ga2VlcCB0aGUgdmFsdWUgYXQgcmVhZE9ubHkgZWxlbWVudCBpbiBzeW5jXG4gICAgICAgIG9wdHMub25WYWx1ZUNoYW5nZWQgPSBvbkNoYW5nZUNhbGxiYWNrIHx8IHRoaXMub25WYWx1ZUNoYW5nZWQuYmluZCh0aGlzKTtcblxuICAgICAgICAvLyBpbiBjYXNlIHJvdW5kIFVQIGlzIGVuYWJsZWRcbiAgICAgICAgaWYgKHRoaXMuX3JvdW5kVXAgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBudW1iZXIgPSBOdW1iZXIucGFyc2VGbG9hdCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5kZWNpbWFsQWRqdXN0KG51bWJlciwgdGhpcy5yb3VuZFVwICogLTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY3JlYXRlIHRoZSBDbGVhdmUgaW5zdGFuY2Ugd2l0aCB0aGUgbmV3IG9yIHVwZGF0ZWQgb3B0aW9uc1xuICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlID0gbmV3IENsZWF2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG9wdHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGNsZWF2ZSBvcHRpb25zIGJ5IGRlc3Ryb3lpbmcgdGhlIGN1cnJlbnQgaW5zdGFuY2UgYW5kIGNyZWF0aW5nIGFub3RoZXIgb25lIHdoaWxlIGtlZXBpbmcgdGhlIHByZXZpb3VzXG4gICAgICogdmFsdWUuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVPcHRpb25zKGxvY2FsZVVwZGF0ZWQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbGVhdmVJbnN0YW5jZSkge1xuICAgICAgICAgICAgLy8gdGhlIHZhbHVlIGJlZm9yZSBkZXN0cm95aW5nIGNsZWF2ZSBpbnN0YW5jZVxuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHRoaXMuY2xlYXZlSW5zdGFuY2UuZ2V0UmF3VmFsdWUoKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBDbGVhdmUgaW5zdGFuY2Ugd2l0aCB0aGUgbmV3IG9yIHVwZGF0ZWQgb3B0aW9uc1xuICAgICAgICAgICAgdGhpcy5jbGVhdmVJbnN0YW5jZS5wcm9wZXJ0aWVzID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuY2xlYXZlSW5zdGFuY2UucHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgaW5pdFZhbHVlOiBwcmV2aW91c1ZhbHVlLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8gaW5pdCBudW1iZXIgZm9ybWF0dGVyIHdpdGggdXBkYXRlZCBvcHRpb25zXG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLmluaXROdW1lcmFsRm9ybWF0dGVyKCk7XG5cbiAgICAgICAgICAgIC8vIEluIGNhc2UgcHJldmlvdXMgc2V0dGluZ3Mgd2hlcmUgbnVtZXJhbERlY2ltYWxNYXJrPScuJyB3aXRoIHZhbHVlIDEwMDAuOTksIGFuZCB0aGV5IGNoYW5nZWQgdG9cbiAgICAgICAgICAgIC8vIG51bWVyYWxEZWNpbWFsTWFyaz0nLCc7IHNldCBpbml0VmFsdWUgdG8gMTAwMC45OSBvciBldmVuIDEwMDAsOTkgd2lsbCBub3QgYmUgcmVmbGVjdGVkIGFuZCBjbGVhdmUgd2lsbFxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSBkZWNpbWFsIHBhcnQuIFNldCBvZiB0aGUgdmFsdWUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gY2F1c2VzIHJlZm9ybWF0IG9mIG51bWJlciBhbmQgd29ya3MuXG4gICAgICAgICAgICB0aGlzLmNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKHByZXZpb3VzVmFsdWUpO1xuXG4gICAgICAgICAgICAvLyBwYXJzZSBudW1iZXJcbiAgICAgICAgICAgIGNvbnN0IG51bWJlciA9IHRoaXMucGFyc2VOdW1iZXIodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyIHx8IHVuZGVmaW5lZCwgbG9jYWxlVXBkYXRlZCk7XG4gICAgICAgICAgICAvLyBzZXQgcGxhY2Vob2xkZXIgaW4gY2FzZSBub25lIGlzIHByb3ZpZGVkXG4gICAgICAgICAgICB0aGlzLnNldFBsYWNlaG9sZGVyQXR0cmlidXRlKG51bWJlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiBvZiB0aGUgQ2xlYXZlIGluc3RhbmNlIHRoYXQgaXMgaW52b2tlZCB3aGVuIHZhbHVlIGlzIGNoYW5nZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgdHlwZSBvZiBDbGVhdmVFdmVudE9uQ2hhbmdlXG4gICAgICovXG4gICAgcHJpdmF0ZSBvblZhbHVlQ2hhbmdlZChldmVudDogQ2xlYXZlRXZlbnRPbkNoYW5nZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRhcmdldCB9ID0gZXZlbnQ7XG5cbiAgICAgICAgaWYgKHRoaXMuZmlsbEZyYWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5RnJhY3Rpb25GaWxsKHRhcmdldC5yYXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZShOdW1iZXIucGFyc2VGbG9hdCh0YXJnZXQucmF3VmFsdWUpKTtcbiAgICAgICAgLy8gZmlsbCBsZWFkaW5nIHplcm9cbiAgICAgICAgaWYgKHRoaXMubGVhZGluZ1plcm8pIHtcbiAgICAgICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLmxlYWRpbmdaZXJvID4gdGhpcy5kaWdpdHMgJiYgdGhpcy5kaWdpdHMgPiAwID8gdGhpcy5kaWdpdHMgOiB0aGlzLmxlYWRpbmdaZXJvO1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5wYWRaZXJvKGV2ZW50LnRhcmdldC5yYXdWYWx1ZSwgc2l6ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXNwb25zaWJsZSB0byBleHRyYWN0IGFsbCBsb2NhbGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGJ1aWxkIENsZWF2ZU9wdGlvbnMgcmVsYXRlZCB0byBudW1iZXIgZm9ybWF0LlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgbG9jYWxlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDbGVhdmVPcHRzQmFzZWRPbkxvY2FsZShpZDogc3RyaW5nKTogQ2xlYXZlT3B0aW9ucyB7XG4gICAgICAgIGlmICghaWQgfHwgaWQgPT09ICcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsZSBpZCBjYW5ub3QgYmUgZW1wdHkgb3IgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3B0czogQ2xlYXZlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG51bWVyYWw6IHRydWUsXG4gICAgICAgICAgICBkZWxpbWl0ZXI6IGdldExvY2FsZU51bWJlclN5bWJvbChpZCwgTnVtYmVyU3ltYm9sLkdyb3VwKSxcbiAgICAgICAgICAgIG51bWVyYWxEZWNpbWFsTWFyazogZ2V0TG9jYWxlTnVtYmVyU3ltYm9sKGlkLCBOdW1iZXJTeW1ib2wuRGVjaW1hbCksXG4gICAgICAgICAgICBudW1lcmFsRGVjaW1hbFNjYWxlOiB0aGlzLmZyYWN0aW9uRGlnaXRzLFxuICAgICAgICAgICAgbnVtZXJhbEludGVnZXJTY2FsZTogdGhpcy5kaWdpdHMsXG4gICAgICAgICAgICBudW1lcmFsVGhvdXNhbmRzR3JvdXBTdHlsZTogdGhpcy5ub0Zvcm1hdCA/ICdub25lJyA6ICd0aG91c2FuZCcsIC8vIFRPRE86IGltcGxlbWVudCBiYXNlZCBvbiBsb2NhbGVcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4geyAuLi50aGlzLm9wdGlvbnMsIC4uLm9wdHMgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcHBsaWVzIHRoZSBmaWxsIG9mIGRlY2ltYWwgcGFydCB3aXRoIHplcm9zIGluIGNhc2UgZGVjaW1hbCBwYXJ0IG9mIGdpdmVuIG51bWJlciBoYXNcbiAgICAgKiBzaXplIGxlc3MgdGhhbiB0aGUgbWF4IGZyYWN0aW9uIGRpZ2l0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBudW1iZXJcbiAgICAgKiBAcGFyYW0gY2xlYXZlSW5zdGFuY2VcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgYXBwbHlGcmFjdGlvbkZpbGwobnVtYmVyOiBzdHJpbmcsIGNsZWF2ZUluc3RhbmNlOiBDbGVhdmVJbnN0YW5jZSA9IHRoaXMuY2xlYXZlSW5zdGFuY2UpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgZmlsbCBmcmFjdGlvbiBpcyBlbmFibGVkIGFuZCB0aGVyZSdzIGNsZWF2ZSBpbnN0YW5jZVxuICAgICAgICBpZiAodGhpcy5maWxsRnJhY3Rpb24pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsZWF2ZUluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyPy50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgIGlmIChudW1iZXIgPT09ICcnIHx8ICFudW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNEZWNpbWFsID0gbnVtYmVyLnNwbGl0KCcuJykubGVuZ3RoID4gMTtcbiAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIHRoZXJlJ3MgYWxyZWFkeSBkZWNpbWFsIHBvaW50IGluIG51bWJlclxuICAgICAgICAgICAgICAgIGlmIChoYXNEZWNpbWFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxTaXplID0gbnVtYmVyLnNwbGl0KCcuJylbMV0ubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiBzaXplIG9mIGRlY2ltYWwgcGFydCBvZiBudW1iZXIgaXMgbGVzcyB0aGFuIHRoZSBtYXggZnJhY3Rpb24gZGlnaXRzXG4gICAgICAgICAgICAgICAgICAgIGlmIChkZWNpbWFsU2l6ZSA8IHRoaXMuX2ZyYWN0aW9uRGlnaXRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBudW1iZXIgKyBuZXcgQXJyYXkodGhpcy5fZnJhY3Rpb25EaWdpdHMgLSBkZWNpbWFsU2l6ZSkuZmlsbCgwKS5qb2luKCcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWF2ZUluc3RhbmNlLnNldFJhd1ZhbHVlKG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGNhc2UgdGhlcmUncyBub3QsIGZvcmNlIGl0IGJ5IGZpbGxpbmcgaXQgYXMgbXVjaCB6ZXJvIGFzIHRoZSBmcmFjdGlvbiBkaWdpdHNcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZnJhY3Rpb25EaWdpdHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IGAke251bWJlcn0uJHtuZXcgQXJyYXkodGhpcy5fZnJhY3Rpb25EaWdpdHMpLmZpbGwoMCkuam9pbignJyl9YDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBjbGVhdmVJbnN0YW5jZS5zZXRSYXdWYWx1ZShudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhcnNlcyBhIGdpdmVuIGZvcm1hdHRlZCBudW1iZXIgYW5kIHJldHVybnMgaXQgYXMgYSBudW1iZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIGZvcm1hdHRlZCBudW1iZXIgeW91IHdhbnQgdG8gcGFyc2UgZS5nLiAxMTEsODg4LjIyXG4gICAgICogQHBhcmFtIHVzZXJQcmV2TG9jYWxlU3RhdGUgVXNlIHByZXZpb3VzIGxvY2FsZSBzdGF0ZSB0byBwYXJzZSB0aGUgdmFsdWUuIEJ5IGRlZmF1bHQsIGlzIGZhbHNlXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHBhcnNlTnVtYmVyKHZhbHVlOiBzdHJpbmcsIHVzZXJQcmV2TG9jYWxlU3RhdGUgPSBmYWxzZSk6IG51bWJlciB7XG4gICAgICAgIC8vIGxvY2FsZSBzdGF0ZVxuICAgICAgICBjb25zdCBsb2NhbGUgPSB1c2VyUHJldkxvY2FsZVN0YXRlID8gdGhpcy5sb2NhbGVTZXJ2aWNlPy5wcmV2aW91c0xvY2FsZSA6IHRoaXMubG9jYWxlU2VydmljZT8uY3VycmVudExvY2FsZSB8fCB0aGlzLmxvY2FsZV9pZDtcbiAgICAgICAgLy8gZ2V0IGRlY2ltYWwgYW5kIGdyb3VwIHN5bWJvbHNcbiAgICAgICAgY29uc3QgZGVjaW1hbFN5bWJvbCA9IGdldExvY2FsZU51bWJlclN5bWJvbChsb2NhbGUsIE51bWJlclN5bWJvbC5EZWNpbWFsKTtcbiAgICAgICAgY29uc3QgZ3JvdXBTeW1ib2wgPSBnZXRMb2NhbGVOdW1iZXJTeW1ib2wobG9jYWxlLCBOdW1iZXJTeW1ib2wuR3JvdXApO1xuICAgICAgICAvLyByZXBsYWNlIHN5bWJvbHMgdG8gcGFyc2UgbnVtYmVyXG4gICAgICAgIGNvbnN0IHBhcnNlZE51bWJlciA9IHZhbHVlPy5zcGxpdChncm91cFN5bWJvbCkuam9pbignJykuc3BsaXQoZGVjaW1hbFN5bWJvbCkuam9pbignLicpO1xuICAgICAgICByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQocGFyc2VkTnVtYmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYWQgbGVhZGluZyB6ZXJvIHRvIHRoZSBudW1iZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBudW0gVGhlIG51bWJlciB0byBhZGQgbGVhZGluZyB6ZXJvIHRvXG4gICAgICogQHBhcmFtIHNpemUgTnVtYmVyIG9mIG51bWJlcidzIGxlYWRpbmcgemVyb1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYWRaZXJvKG51bSwgc2l6ZSk6IHN0cmluZyB7XG4gICAgICAgIG51bSA9IG51bS50b1N0cmluZygpO1xuICAgICAgICAvLyBnZXQgaW50ZWdlciBhbmQgZGVjaW1hbCBwYXJ0XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgICAgbGV0IFtpbnRlZ2VyLCBkZWNpbWFsXSA9IG51bS5zcGxpdCgnLicpO1xuICAgICAgICB3aGlsZSAoaW50ZWdlci5sZW5ndGggPCBzaXplKSB7XG4gICAgICAgICAgICBpbnRlZ2VyID0gJzAnICsgaW50ZWdlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVjaW1hbCA/IGAke2ludGVnZXJ9LiR7ZGVjaW1hbH1gIDogaW50ZWdlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3Mgd2hldGhlciB0aGUgbWluIHN5bWJvbCBpcyBhbGxvd2VkLiBJdCBpcyBhbGxvd2VkIHdoZW4gbWludXMgc3ltYm9sXG4gICAgICogcHJvdmlkZWQgYW5kIG1pbiBpbnB1dCBpcyB1bmRlZmluZWQgb3IgbWluIHByb3ZpZGVkIGFuZCBpcyBuZWdhdGl2ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBzdHJpbmcgY29taW5nIGZyb20gYW4gZXZlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGlzTWludXNBbGxvd2VkKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5taW4gfHwgdGhpcy5taW4gPCAwID8ga2V5ICE9PSAnLScgOiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrIHdoZXRoZXIgdGhlIGtleSBlbnRlcmVkIGlzIGluc2lkZSB0aGUgbWluIGFuZFxuICAgICAqIG1heCByYW5nZS4gUmV0dXJucyB0cnVlIGlmIGl0J3Mgb3V0IG9mIHJhbmdlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGUgQSBrZXlib2FyZCBldmVudFxuICAgICAqL1xuICAgIHByaXZhdGUgaXNPdXRTaWRlUmFuZ2UoZTogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuY2xlYXZlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBnZXQgY2FyZXQgcG9zaXRpb25cbiAgICAgICAgY29uc3QgcG9zID0gZS50YXJnZXRbJ3NlbGVjdGlvblN0YXJ0J107XG4gICAgICAgIC8vIGdldCBjYXJldCBwb3NpdGlvbiAoaW4gY2FzZSB0aGVyZSdzIHRleHQgc2VsZWN0ZWQpXG4gICAgICAgIGNvbnN0IGVuZFBvcyA9IGUudGFyZ2V0WydzZWxlY3Rpb25FbmQnXTtcbiAgICAgICAgLy8gZ2V0IGN1cnJlbnQgdmFsdWUgKGZvcm1hdHRlZClcbiAgICAgICAgbGV0IHZhbHVlID0gZS50YXJnZXRbJ3ZhbHVlJ107XG4gICAgICAgIC8vIHJlbW92ZSBrZXkgZnJvbSB2YWx1ZVxuICAgICAgICBpZiAoZS5rZXkgPT09ICdEZWxldGUnIHx8IGUua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgLy8gY2hlY2sgaWYgdGhlcmUncyBzZWxlY3Rpb24gb2YgdGV4dCB0byBiZSByZW1vdmVkXG4gICAgICAgICAgICBpZiAocG9zICE9PSBlbmRQb3MpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGUudGFyZ2V0Wyd2YWx1ZSddLnN1YnN0cmluZygwLCBwb3MpICsgZS50YXJnZXRbJ3ZhbHVlJ10uc3Vic3RyaW5nKGVuZFBvcywgZS50YXJnZXRbJ3ZhbHVlJ10ubGVuZ3RoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBlLnRhcmdldFsndmFsdWUnXS5zdWJzdHJpbmcoMCwgcG9zIC0gMSkgKyBlLnRhcmdldFsndmFsdWUnXS5zdWJzdHJpbmcoZW5kUG9zLCBlLnRhcmdldFsndmFsdWUnXS5sZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gYWRkIGtleSB0byB0aGUgdmFsdWVcbiAgICAgICAgICAgIHZhbHVlID0gW3ZhbHVlLnNsaWNlKDAsIHBvcyksIGUua2V5LCB2YWx1ZS5zbGljZShlbmRQb3MpXS5qb2luKCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNyZWF0ZSBhIENsZWF2ZSBpbnN0YW5jZSB0byBleHRyYWN0IHRoZSBudW1iZXIgZnJvbSBmb3JtYXR0ZWQgdmFsdWVcbiAgICAgICAgY29uc3QgY2xlYXZlOiBDbGVhdmVJbnN0YW5jZSA9IG5ldyBDbGVhdmUodGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpLCB7IC4uLnRoaXMub3B0aW9ucyB9KTtcbiAgICAgICAgY2xlYXZlLnNldFJhd1ZhbHVlKHZhbHVlKTtcbiAgICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKGNsZWF2ZS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgLy8gZGVzdHJveSBjbGVhdmUgaW5zdGFuY2VcbiAgICAgICAgY2xlYXZlLmRlc3Ryb3koKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluID49IDAgPyBmYWxzZSA6IHRoaXMubWluID4gbnVtYmVyIHx8IHRoaXMubWF4IDwgbnVtYmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlY2ltYWwgYWRqdXN0bWVudCBvZiBhIG51bWJlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSAgdmFsdWUgVGhlIG51bWJlci5cbiAgICAgKiBAcGFyYW0gZXhwICAgVGhlIGV4cG9uZW50ICh0aGUgMTAgbG9nYXJpdGhtIG9mIHRoZSBhZGp1c3RtZW50IGJhc2UpLlxuICAgICAqIEByZXR1cm5zIFRoZSBhZGp1c3RlZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGRlY2ltYWxBZGp1c3QodmFsdWU6IG51bWJlciwgZXhwOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICAvLyBJZiB0aGUgZXhwIGlzIHVuZGVmaW5lZCBvciB6ZXJvLi4uXG4gICAgICAgIGlmICh0eXBlb2YgZXhwID09PSAndW5kZWZpbmVkJyB8fCArZXhwID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWUgPSArdmFsdWU7XG4gICAgICAgIGV4cCA9ICtleHA7XG4gICAgICAgIC8vIElmIHRoZSB2YWx1ZSBpcyBub3QgYSBudW1iZXIgb3IgdGhlIGV4cCBpcyBub3QgYW4gaW50ZWdlci4uLlxuICAgICAgICBpZiAoaXNOYU4odmFsdWUpIHx8ICEodHlwZW9mIGV4cCA9PT0gJ251bWJlcicgJiYgZXhwICUgMSA9PT0gMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBOYU47XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2hpZnRcbiAgICAgICAgbGV0IGNsZWFuZWQgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCdlJyk7XG4gICAgICAgIHZhbHVlID0gTWF0aC5yb3VuZCgrKGNsZWFuZWRbMF0gKyAnZScgKyAoY2xlYW5lZFsxXSA/ICtjbGVhbmVkWzFdIC0gZXhwIDogLWV4cCkpKTtcbiAgICAgICAgLy8gU2hpZnQgYmFja1xuICAgICAgICBjbGVhbmVkID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnZScpO1xuICAgICAgICByZXR1cm4gKyhjbGVhbmVkWzBdICsgJ2UnICsgKGNsZWFuZWRbMV0gPyArY2xlYW5lZFsxXSArIGV4cCA6IGV4cCkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -9,11 +9,11 @@ export class EuiOverlayBodyComponent extends BaseDirective {
9
9
  super();
10
10
  }
11
11
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiOverlayBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiOverlayBodyComponent, selector: "eui-overlay-body", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
12
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiOverlayBodyComponent, selector: "eui-overlay-body", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiOverlayBodyComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'eui-overlay-body', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"] }]
16
+ args: [{ selector: 'eui-overlay-body', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"] }]
17
17
  }], ctorParameters: () => [], propDecorators: { cssClasses: [{
18
18
  type: HostBinding,
19
19
  args: ['class']
@@ -9,11 +9,11 @@ export class EuiOverlayFooterComponent extends BaseDirective {
9
9
  super();
10
10
  }
11
11
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiOverlayFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiOverlayFooterComponent, selector: "eui-overlay-footer", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
12
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiOverlayFooterComponent, selector: "eui-overlay-footer", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiOverlayFooterComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'eui-overlay-footer', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"] }]
16
+ args: [{ selector: 'eui-overlay-footer', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"] }]
17
17
  }], ctorParameters: () => [], propDecorators: { cssClasses: [{
18
18
  type: HostBinding,
19
19
  args: ['class']
@@ -9,11 +9,11 @@ export class EuiOverlayHeaderComponent extends BaseDirective {
9
9
  super();
10
10
  }
11
11
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiOverlayHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiOverlayHeaderComponent, selector: "eui-overlay-header", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"eui-overlay-header-title\"></ng-content>\n<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
12
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.1", type: EuiOverlayHeaderComponent, selector: "eui-overlay-header", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"eui-overlay-header-title\"></ng-content>\n<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EuiOverlayHeaderComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'eui-overlay-header', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"eui-overlay-header-title\"></ng-content>\n<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"] }]
16
+ args: [{ selector: 'eui-overlay-header', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"eui-overlay-header-title\"></ng-content>\n<ng-content></ng-content>\n", styles: [".eui-overlay{background:var(--eui-base-color-white);border-left:1px solid var(--eui-base-color-grey-50);border-right:1px solid var(--eui-base-color-grey-50);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-35%;top:0;width:35%;z-index:var(--eui-base-z-index-overlay);transition:var(--eui-base-animation-transition-base)}.eui-overlay-wrapper{color:var(--eui-base-color-text);display:flex;flex-direction:column;height:100%}.eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);cursor:default;display:flex;flex:0 0 auto}.eui-overlay-header:not(:has(.eui-overlay-header-title)){padding:var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-m) var(--eui-base-spacing-s)}.eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header__close--inversed{background:transparent;color:var(--eui-base-color-white)}.eui-overlay-header__close--inversed:hover{color:var(--eui-base-color-danger-100)}.eui-overlay-header-title{display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);width:100%;flex-direction:column}.eui-overlay-header-title__label-wrapper{display:flex;flex-direction:row}.eui-overlay-header-title__label{display:flex;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family);font-weight:700}.eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-overlay-header-title__subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) 0}.eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-overlay-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-overlay-footer{background-color:var(--eui-base-color-grey-10);border-top:1px solid var(--eui-base-color-grey-25);flex:0 0 auto;padding:var(--eui-base-spacing-m);text-align:center}.eui-overlay--size-full-screen{right:-100%;width:100%}.eui-overlay--primary .eui-overlay-header{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay--is-active{right:0!important;box-shadow:var(--eui-base-shadow-5)}.eui-overlay--highlighted{z-index:var(--eui-base-z-index-highlighted)}.eui-overlay-header--primary{background-color:var(--eui-base-color-primary-100);color:#fff}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{right:-25%;width:25%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{right:-30%;width:30%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{right:-35%;width:35%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{right:-40%;width:40%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{right:-50%;width:50%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{right:-75%;width:75%!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{right:-25rem;width:25rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{right:-30rem;width:30rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{right:-35rem;width:35rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{right:-40rem;width:40rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{right:-50rem;width:50rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{right:-75rem;width:75rem!important}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-overlay{right:-75%;width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-overlay{right:-45%;width:45%!important}}@media screen and (min-width: 1400px){.eui-overlay{right:-33%;width:33%!important}}\n"] }]
17
17
  }], ctorParameters: () => [], propDecorators: { cssClasses: [{
18
18
  type: HostBinding,
19
19
  args: ['class']