@alauda-fe/common 1.4.3 → 1.4.4

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 (171) hide show
  1. package/api/auth-api.service.d.ts +5 -1
  2. package/api/resource-update.service.d.ts +1 -1
  3. package/business/resource-select/exports/cluster-selector/component.d.ts +2 -1
  4. package/business/resource-select/internals/data-grid/component.d.ts +4 -0
  5. package/core/constants/status-icons.d.ts +2 -1
  6. package/core/services/workspace-helper.service.d.ts +12 -4
  7. package/core/types/commons.d.ts +4 -4
  8. package/core/types/k8s/crd.d.ts +2 -1
  9. package/core/types/resource-definitions.d.ts +17 -32
  10. package/core/utils/common.d.ts +7 -0
  11. package/esm2022/abnormal-page/abnormal-page.component.mjs +1 -1
  12. package/esm2022/api/auth-api.service.mjs +14 -1
  13. package/esm2022/api/project-api.service.mjs +1 -1
  14. package/esm2022/api/resource-update.service.mjs +2 -1
  15. package/esm2022/array-form-table/form/component.mjs +1 -1
  16. package/esm2022/array-form-table/key-value-form/component.mjs +1 -1
  17. package/esm2022/array-form-table/key-value-table/component.mjs +1 -1
  18. package/esm2022/array-form-table/string-array-form/component.mjs +1 -1
  19. package/esm2022/async-data/error-page/component.mjs +1 -1
  20. package/esm2022/async-data/page-state/component.mjs +1 -1
  21. package/esm2022/authorization/state.service.mjs +4 -3
  22. package/esm2022/business/notification-disabled-container/component.mjs +1 -1
  23. package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +35 -22
  24. package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +3 -3
  25. package/esm2022/business/resource-select/exports/namespace-page/component.mjs +1 -1
  26. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +5 -5
  27. package/esm2022/business/resource-select/exports/project-page/component.mjs +1 -1
  28. package/esm2022/business/resource-select/exports/project-selector/component.mjs +3 -3
  29. package/esm2022/business/resource-select/internals/cluster-list/component.mjs +5 -5
  30. package/esm2022/business/resource-select/internals/data-grid/component.mjs +54 -21
  31. package/esm2022/business/resource-select/internals/icon/component.mjs +1 -1
  32. package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +1 -1
  33. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +1 -1
  34. package/esm2022/business/resource-select/internals/no-data/component.mjs +1 -1
  35. package/esm2022/business/resource-select/internals/project-list/component.mjs +1 -1
  36. package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +1 -1
  37. package/esm2022/business/resource-select/internals/selector-popup/component.mjs +3 -3
  38. package/esm2022/business/resource-select/module.mjs +2 -2
  39. package/esm2022/chart/common/axis/axis-label.component.mjs +1 -1
  40. package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +1 -1
  41. package/esm2022/chart/common/axis/x-axis.component.mjs +1 -1
  42. package/esm2022/chart/common/axis/x-plot-lines.component.mjs +1 -1
  43. package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +1 -1
  44. package/esm2022/chart/common/axis/y-axis.component.mjs +1 -1
  45. package/esm2022/chart/common/axis/y-plot-lines.component.mjs +1 -1
  46. package/esm2022/chart/common/chart/chart.component.mjs +1 -1
  47. package/esm2022/chart/common/legend/legend.component.mjs +1 -1
  48. package/esm2022/chart/common/range-area/range-area.component.mjs +1 -1
  49. package/esm2022/chart/common/reference-area/reference-area.component.mjs +1 -1
  50. package/esm2022/chart/common/series/area-series.component.mjs +1 -1
  51. package/esm2022/chart/common/series/bar-path.component.mjs +1 -1
  52. package/esm2022/chart/common/series/bar-series.component.mjs +1 -1
  53. package/esm2022/chart/common/series/line-series.component.mjs +1 -1
  54. package/esm2022/chart/common/tooltip/tooltip.component.mjs +1 -1
  55. package/esm2022/chart/custom-template/dropdown-legend.mjs +1 -1
  56. package/esm2022/code/code-display-dialog/component.mjs +1 -1
  57. package/esm2022/code/k8s-yaml-display-dialog/component.mjs +1 -1
  58. package/esm2022/code/resource-yaml-display/component.mjs +1 -1
  59. package/esm2022/core/abstract/base-form-container.mjs +4 -3
  60. package/esm2022/core/components/tree/node/component.mjs +1 -1
  61. package/esm2022/core/components/tree/tree/component.mjs +1 -1
  62. package/esm2022/core/constants/status-icons.mjs +4 -1
  63. package/esm2022/core/directives/readonly-field.directive.mjs +1 -1
  64. package/esm2022/core/services/workspace-helper.service.mjs +1 -1
  65. package/esm2022/core/types/commons.mjs +1 -1
  66. package/esm2022/core/types/k8s/crd.mjs +1 -1
  67. package/esm2022/core/types/resource-definitions.mjs +9 -17
  68. package/esm2022/core/utils/common.mjs +10 -3
  69. package/esm2022/core/utils/workspace.mjs +1 -1
  70. package/esm2022/custom-columns-setting/component.mjs +1 -1
  71. package/esm2022/disabled-container/disabled-container.component.mjs +1 -1
  72. package/esm2022/editable/editable.component.mjs +1 -1
  73. package/esm2022/editable-text/component.mjs +1 -1
  74. package/esm2022/exec/placeholder/component.mjs +1 -1
  75. package/esm2022/exec/terminal/component.mjs +1 -1
  76. package/esm2022/exec/terminal-group/component.mjs +1 -1
  77. package/esm2022/feature-gate-forbidden/component/component.mjs +1 -1
  78. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +1 -1
  79. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +1 -1
  80. package/esm2022/form/labels-editor/component.mjs +1 -1
  81. package/esm2022/form/taints-editor/component.mjs +1 -1
  82. package/esm2022/form/upload-file/component.mjs +1 -1
  83. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +1 -1
  84. package/esm2022/graph-canvas/components/graph-actions.component.mjs +1 -1
  85. package/esm2022/graph-canvas/components/graph-canvas.component.mjs +1 -1
  86. package/esm2022/graph-canvas/components/graph-link.component.mjs +1 -1
  87. package/esm2022/graph-canvas/components/graph-links.component.mjs +1 -1
  88. package/esm2022/grid-layout/components/grid/component.mjs +1 -1
  89. package/esm2022/grid-layout/components/grid-items/component.mjs +1 -1
  90. package/esm2022/help-document/component.mjs +1 -1
  91. package/esm2022/k8s-resource-list/footer/component.mjs +1 -1
  92. package/esm2022/k8s-resource-list/utils.mjs +2 -3
  93. package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +3 -2
  94. package/esm2022/k8s-shared/public-api.mjs +2 -1
  95. package/esm2022/k8s-shared/resource-mark/k8s-resource-mark.component.mjs +55 -0
  96. package/esm2022/k8s-shared/resource-mark/util.mjs +137 -0
  97. package/esm2022/k8s-shared/update-description-dialog/component.mjs +1 -1
  98. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +1 -1
  99. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +1 -1
  100. package/esm2022/lazy-component/lazy-load-component.mjs +1 -1
  101. package/esm2022/license/license-error/component.mjs +1 -1
  102. package/esm2022/list-display/component.mjs +1 -1
  103. package/esm2022/metric-chart/metric-chart.component.mjs +1 -1
  104. package/esm2022/metric-chart/metric-time-pick.mjs +1 -1
  105. package/esm2022/multi-search/action-input/component.mjs +1 -1
  106. package/esm2022/multi-search/form/component.mjs +1 -1
  107. package/esm2022/multi-search/multi-search-tags/component.mjs +1 -1
  108. package/esm2022/mutable/mosaic/mosaic.component.mjs +1 -1
  109. package/esm2022/notification/feedback-notification/component.mjs +1 -1
  110. package/esm2022/overview-banner/overview-banner.component.mjs +1 -1
  111. package/esm2022/page-guard/component/component.mjs +1 -1
  112. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +1 -1
  113. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +1 -1
  114. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +1 -1
  115. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +1 -1
  116. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +3 -3
  117. package/esm2022/page-scaffold/page/notices/notice.component.mjs +1 -1
  118. package/esm2022/page-scaffold/page/page.component.mjs +1 -1
  119. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +1 -1
  120. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +1 -1
  121. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +1 -1
  122. package/esm2022/page-scaffold/page-header/component.mjs +1 -1
  123. package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +1 -1
  124. package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +1 -1
  125. package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +1 -1
  126. package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +1 -1
  127. package/esm2022/pie-derivative-chart/donut-status/component.mjs +1 -1
  128. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +1 -1
  129. package/esm2022/pod-status/component.mjs +1 -1
  130. package/esm2022/searchable-selector/component.mjs +1 -1
  131. package/esm2022/searchable-selector/module.mjs +8 -11
  132. package/esm2022/skeleton/item/component.mjs +1 -1
  133. package/esm2022/skeleton/nav-skeleton/component.mjs +1 -1
  134. package/esm2022/table/component.mjs +1 -1
  135. package/esm2022/view-chart/custom-template/dropdown-legend.mjs +1 -1
  136. package/esm2022/view-chart/legend/legend.component.mjs +1 -1
  137. package/esm2022/view-chart/view-chart.component.mjs +1 -1
  138. package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +1 -1
  139. package/esm2022/view-zchart/legend/legend.component.mjs +1 -1
  140. package/esm2022/view-zchart/view-zchart.component.mjs +1 -1
  141. package/esm2022/widget/card-section/card-section.component.mjs +1 -1
  142. package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +1 -1
  143. package/esm2022/widget/current-time/component.mjs +1 -1
  144. package/esm2022/widget/date-range-picker/component.mjs +14 -7
  145. package/esm2022/widget/field-set/column/component.mjs +2 -2
  146. package/esm2022/widget/field-set/group/component.mjs +1 -1
  147. package/esm2022/widget/field-set/item/component.mjs +1 -1
  148. package/esm2022/widget/foldable-block/component.mjs +1 -1
  149. package/esm2022/widget/foldable-item-in-table/component.mjs +1 -1
  150. package/esm2022/widget/loading-mask/loading-mask.component.mjs +1 -1
  151. package/esm2022/widget/password-input/component.mjs +1 -1
  152. package/esm2022/widget/relative-time/component.mjs +1 -1
  153. package/esm2022/widget/resource-label/component.mjs +1 -1
  154. package/esm2022/widget/resource-multi-select/component.mjs +1 -1
  155. package/esm2022/widget/search-panel/component.mjs +1 -1
  156. package/esm2022/widget/search-panel/search-item/component.mjs +1 -1
  157. package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
  158. package/esm2022/widget/tags-label/component.mjs +1 -1
  159. package/esm2022/widget/terminating-tag/component.mjs +1 -1
  160. package/esm2022/widget/text-ellipsis/component.mjs +1 -1
  161. package/esm2022/widget/text-with-url/component.mjs +1 -1
  162. package/esm2022/widget/zero-state/zero-state.component.mjs +1 -1
  163. package/esm2022/workload-status-icon/component.mjs +1 -1
  164. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +1 -1
  165. package/esm2022/xterm/xterm.component.mjs +1 -1
  166. package/k8s-shared/public-api.d.ts +1 -0
  167. package/k8s-shared/resource-mark/k8s-resource-mark.component.d.ts +16 -0
  168. package/k8s-shared/resource-mark/util.d.ts +2 -0
  169. package/package.json +1 -1
  170. package/styles/var.scss +1 -0
  171. package/widget/date-range-picker/component.d.ts +6 -1
@@ -13,6 +13,11 @@ import * as i4 from "../core/directives/readonly-field.directive";
13
13
  import * as i5 from "../effect-directive/e2e-attribute-binding.directive";
14
14
  import * as i6 from "../translate/translate.pipe";
15
15
  import * as i7 from "../core/pipes/pure.pipe";
16
+ const SEARCHABLE_SELECTOR_MODULE = [
17
+ SearchableSelectorComponent,
18
+ SearchableSelectorLabelDirective,
19
+ SearchableSelectorOptionDirective,
20
+ ];
16
21
  export class SearchableSelectorModule {
17
22
  static { this.ɵfac = function SearchableSelectorModule_Factory(t) { return new (t || SearchableSelectorModule)(); }; }
18
23
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SearchableSelectorModule }); }
@@ -36,16 +41,8 @@ export class SearchableSelectorModule {
36
41
  TagModule,
37
42
  CoreModule,
38
43
  ],
39
- declarations: [
40
- SearchableSelectorComponent,
41
- SearchableSelectorLabelDirective,
42
- SearchableSelectorOptionDirective,
43
- ],
44
- exports: [
45
- SearchableSelectorComponent,
46
- SearchableSelectorLabelDirective,
47
- SearchableSelectorOptionDirective,
48
- ],
44
+ declarations: [...SEARCHABLE_SELECTOR_MODULE],
45
+ exports: [...SEARCHABLE_SELECTOR_MODULE],
49
46
  }]
50
47
  }], null, null); })();
51
48
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SearchableSelectorModule, { declarations: [SearchableSelectorComponent,
@@ -60,4 +57,4 @@ export class SearchableSelectorModule {
60
57
  SearchableSelectorLabelDirective,
61
58
  SearchableSelectorOptionDirective] }); })();
62
59
  i0.ɵɵsetComponentScope(SearchableSelectorComponent, [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i2.SelectComponent, i2.OptionComponent, i2.OptionPlaceholderComponent, i2.MultiSelectComponent, i3.NgControlStatus, i3.NgModel, i2.TooltipDirective, i2.TagComponent, i4.ReadonlyFieldDirective, i5.E2eAttributeBindingDirective], [i1.AsyncPipe, i6.TranslatePipe, i7.PurePipe]);
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3NlYXJjaGFibGUtc2VsZWN0b3IvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLGdDQUFnQyxFQUNoQyxpQ0FBaUMsR0FDbEMsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7OztBQXVCckIsTUFBTSxPQUFPLHdCQUF3Qjt5RkFBeEIsd0JBQXdCO21FQUF4Qix3QkFBd0I7dUVBbkJqQyxZQUFZO1lBQ1osWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsYUFBYTtZQUNiLFNBQVM7WUFDVCxVQUFVOztpRkFhRCx3QkFBd0I7Y0FyQnBDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGVBQWU7b0JBQ2YsV0FBVztvQkFDWCxhQUFhO29CQUNiLFNBQVM7b0JBQ1QsVUFBVTtpQkFDWDtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osMkJBQTJCO29CQUMzQixnQ0FBZ0M7b0JBQ2hDLGlDQUFpQztpQkFDbEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDJCQUEyQjtvQkFDM0IsZ0NBQWdDO29CQUNoQyxpQ0FBaUM7aUJBQ2xDO2FBQ0Y7O3dGQUNZLHdCQUF3QixtQkFWakMsMkJBQTJCO1FBQzNCLGdDQUFnQztRQUNoQyxpQ0FBaUMsYUFYakMsWUFBWTtRQUNaLFlBQVk7UUFDWixlQUFlO1FBQ2YsV0FBVztRQUNYLGFBQWE7UUFDYixTQUFTO1FBQ1QsVUFBVSxhQVFWLDJCQUEyQjtRQUMzQixnQ0FBZ0M7UUFDaEMsaUNBQWlDO3VCQVBqQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RNb2R1bGUsIFRvb2x0aXBNb2R1bGUsIFRhZ01vZHVsZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJy4uL2NvcmUvbW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS90cmFuc2xhdGUubW9kdWxlJztcblxuaW1wb3J0IHtcbiAgU2VhcmNoYWJsZVNlbGVjdG9yQ29tcG9uZW50LFxuICBTZWFyY2hhYmxlU2VsZWN0b3JMYWJlbERpcmVjdGl2ZSxcbiAgU2VhcmNoYWJsZVNlbGVjdG9yT3B0aW9uRGlyZWN0aXZlLFxufSBmcm9tICcuL2NvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2VsZWN0TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIFRhZ01vZHVsZSxcbiAgICBDb3JlTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yTGFiZWxEaXJlY3RpdmUsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yT3B0aW9uRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yQ29tcG9uZW50LFxuICAgIFNlYXJjaGFibGVTZWxlY3RvckxhYmVsRGlyZWN0aXZlLFxuICAgIFNlYXJjaGFibGVTZWxlY3Rvck9wdGlvbkRpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlIHt9XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3NlYXJjaGFibGUtc2VsZWN0b3IvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLGdDQUFnQyxFQUNoQyxpQ0FBaUMsR0FDbEMsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7OztBQUVyQixNQUFNLDBCQUEwQixHQUFHO0lBQ2pDLDJCQUEyQjtJQUMzQixnQ0FBZ0M7SUFDaEMsaUNBQWlDO0NBQ2xDLENBQUM7QUFlRixNQUFNLE9BQU8sd0JBQXdCO3lGQUF4Qix3QkFBd0I7bUVBQXhCLHdCQUF3Qjt1RUFYakMsWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlO1lBQ2YsV0FBVztZQUNYLGFBQWE7WUFDYixTQUFTO1lBQ1QsVUFBVTs7aUZBS0Qsd0JBQXdCO2NBYnBDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGVBQWU7b0JBQ2YsV0FBVztvQkFDWCxhQUFhO29CQUNiLFNBQVM7b0JBQ1QsVUFBVTtpQkFDWDtnQkFDRCxZQUFZLEVBQUUsQ0FBQyxHQUFHLDBCQUEwQixDQUFDO2dCQUM3QyxPQUFPLEVBQUUsQ0FBQyxHQUFHLDBCQUEwQixDQUFDO2FBQ3pDOzt3RkFDWSx3QkFBd0IsbUJBbEJuQywyQkFBMkI7UUFDM0IsZ0NBQWdDO1FBQ2hDLGlDQUFpQyxhQUsvQixZQUFZO1FBQ1osWUFBWTtRQUNaLGVBQWU7UUFDZixXQUFXO1FBQ1gsYUFBYTtRQUNiLFNBQVM7UUFDVCxVQUFVLGFBYlosMkJBQTJCO1FBQzNCLGdDQUFnQztRQUNoQyxpQ0FBaUM7dUJBRmpDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdE1vZHVsZSwgVG9vbHRpcE1vZHVsZSwgVGFnTW9kdWxlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9tb2R1bGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vdHJhbnNsYXRlL3RyYW5zbGF0ZS5tb2R1bGUnO1xuXG5pbXBvcnQge1xuICBTZWFyY2hhYmxlU2VsZWN0b3JDb21wb25lbnQsXG4gIFNlYXJjaGFibGVTZWxlY3RvckxhYmVsRGlyZWN0aXZlLFxuICBTZWFyY2hhYmxlU2VsZWN0b3JPcHRpb25EaXJlY3RpdmUsXG59IGZyb20gJy4vY29tcG9uZW50JztcblxuY29uc3QgU0VBUkNIQUJMRV9TRUxFQ1RPUl9NT0RVTEUgPSBbXG4gIFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCxcbiAgU2VhcmNoYWJsZVNlbGVjdG9yTGFiZWxEaXJlY3RpdmUsXG4gIFNlYXJjaGFibGVTZWxlY3Rvck9wdGlvbkRpcmVjdGl2ZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2VsZWN0TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIFRhZ01vZHVsZSxcbiAgICBDb3JlTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5TRUFSQ0hBQkxFX1NFTEVDVE9SX01PRFVMRV0sXG4gIGV4cG9ydHM6IFsuLi5TRUFSQ0hBQkxFX1NFTEVDVE9SX01PRFVMRV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSB7fVxuIl19
@@ -41,5 +41,5 @@ export class SkeletonItemComponent {
41
41
  }], customStyle: [{
42
42
  type: Input
43
43
  }] }); })();
44
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkeletonItemComponent, { className: "SkeletonItemComponent" }); })();
44
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkeletonItemComponent, { className: "SkeletonItemComponent", filePath: "skeleton/item/component.ts", lineNumber: 13 }); })();
45
45
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3NrZWxldG9uL2l0ZW0vY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3NrZWxldG9uL2l0ZW0vdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7SUNReEUsOEJBS0M7SUFDQywwQkFHRTtJQUNKLGlCQUFNOztBRE5SLE1BQU0sT0FBTyxxQkFBcUI7SUFObEM7UUFRRSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR2YsU0FBSSxHQUFpQixNQUFNLENBQUM7UUFHNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztLQVFsQjtJQUhDLFFBQVEsQ0FBQyxJQUFrQjtRQUN6QixPQUFPLHVDQUF1QyxJQUFJLEVBQUUsQ0FBQztJQUN2RCxDQUFDO3NGQWZVLHFCQUFxQjtvRUFBckIscUJBQXFCO1lDWmxDLDhCQU9DOztZQUNDLDJFQUtDO1lBTUgsaUJBQU07O1lBbEJKLDJEQUErQjtZQUsvQixBQUpBLDhFQUdFLDRCQUNxQjtZQUdwQixlQUFzQjtZQUF0QiwyQ0FBc0I7OztpRkRHZCxxQkFBcUI7Y0FOakMsU0FBUzsyQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTtnQkFJL0MsTUFBTTtrQkFETCxLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLOztrRkFWSyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdHJpbmdNYXAgfSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgdHlwZSBza2VsZXRvblR5cGUgPSAncmVjdCcgfCAncm91bmQnIHwgJ2ltYWdlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXNrZWxldG9uLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2tlbGV0b25JdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYWN0aXZlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgdHlwZTogc2tlbGV0b25UeXBlID0gJ3JlY3QnO1xuXG4gIEBJbnB1dCgpXG4gIGlzU3F1YXJlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY3VzdG9tU3R5bGU6IFN0cmluZ01hcDtcblxuICBnZXRDbGFzcyh0eXBlOiBza2VsZXRvblR5cGUpIHtcbiAgICByZXR1cm4gYGFjbC1za2VsZXRvbi1pdGVtIGFjbC1za2VsZXRvbi1pdGVtLSR7dHlwZX1gO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJ0eXBlIHwgcHVyZTogZ2V0Q2xhc3NcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2FjbC1za2VsZXRvbi1pdGVtLWFjdGl2ZSc6IHRoaXMuYWN0aXZlLFxuICAgICdhY2wtc2tlbGV0b24taXRlbS1pc1NxdWFyZSc6IHRoaXMuaXNTcXVhcmVcbiAgfVwiXG4gIFtuZ1N0eWxlXT1cImN1c3RvbVN0eWxlXCJcbj5cbiAgPHN2Z1xuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2ltYWdlJ1wiXG4gICAgY2xhc3M9XCJhY2wtc2tlbGV0b24taW1hZ2Utc3ZnXCJcbiAgICB2aWV3Qm94PVwiMCAwIDEwOTggMTAyNFwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gID5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0zNjUuNzE0Mjg2IDMyOS4xNDI4NTdxMCA0NS43MTQyODYtMzIuMDM2NTcxIDc3LjY3NzcxNHQtNzcuNjc3NzE0IDMyLjAzNjU3MS03Ny42Nzc3MTQtMzIuMDM2NTcxLTMyLjAzNjU3MS03Ny42Nzc3MTQgMzIuMDM2NTcxLTc3LjY3NzcxNCA3Ny42Nzc3MTQtMzIuMDM2NTcxIDc3LjY3NzcxNCAzMi4wMzY1NzEgMzIuMDM2NTcxIDc3LjY3NzcxNHpNOTUwLjg1NzE0MyA1NDguNTcxNDI5bDAgMjU2LTgwNC41NzE0MjkgMCAwLTEwOS43MTQyODYgMTgyLjg1NzE0My0xODIuODU3MTQzIDkxLjQyODU3MSA5MS40Mjg1NzEgMjkyLjU3MTQyOS0yOTIuNTcxNDI5ek0xMDA1LjcxNDI4NiAxNDYuMjg1NzE0bC05MTQuMjg1NzE0IDBxLTcuNDYwNTcxIDAtMTIuODczMTQzIDUuNDEyNTcxdC01LjQxMjU3MSAxMi44NzMxNDNsMCA2OTQuODU3MTQzcTAgNy40NjA1NzEgNS40MTI1NzEgMTIuODczMTQzdDEyLjg3MzE0MyA1LjQxMjU3MWw5MTQuMjg1NzE0IDBxNy40NjA1NzEgMCAxMi44NzMxNDMtNS40MTI1NzF0NS40MTI1NzEtMTIuODczMTQzbDAtNjk0Ljg1NzE0M3EwLTcuNDYwNTcxLTUuNDEyNTcxLTEyLjg3MzE0M3QtMTIuODczMTQzLTUuNDEyNTcxek0xMDk3LjE0Mjg1NyAxNjQuNTcxNDI5bDAgNjk0Ljg1NzE0M3EwIDM3Ljc0MTcxNC0yNi44NDM0MjkgNjQuNTg1MTQzdC02NC41ODUxNDMgMjYuODQzNDI5bC05MTQuMjg1NzE0IDBxLTM3Ljc0MTcxNCAwLTY0LjU4NTE0My0yNi44NDM0Mjl0LTI2Ljg0MzQyOS02NC41ODUxNDNsMC02OTQuODU3MTQzcTAtMzcuNzQxNzE0IDI2Ljg0MzQyOS02NC41ODUxNDN0NjQuNTg1MTQzLTI2Ljg0MzQyOWw5MTQuMjg1NzE0IDBxMzcuNzQxNzE0IDAgNjQuNTg1MTQzIDI2Ljg0MzQyOXQyNi44NDM0MjkgNjQuNTg1MTQzelwiXG4gICAgICBjbGFzcz1cImFjbC1za2VsZXRvbi1pbWFnZS1wYXRoXCJcbiAgICAvPlxuICA8L3N2Zz5cbjwvZGl2PlxuIl19
@@ -32,5 +32,5 @@ export class NavSkeletonComponent {
32
32
  type: Component,
33
33
  args: [{ selector: 'acl-nav-skeleton', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul>\n <li\n *ngFor=\"let nav of navList\"\n class=\"nav-item\"\n >\n <acl-skeleton-item\n [isSquare]=\"true\"\n [active]=\"true\"\n ></acl-skeleton-item>\n <acl-skeleton-item\n [customStyle]=\"{ width: nav * 30 + 'px' }\"\n [active]=\"true\"\n ></acl-skeleton-item>\n <acl-skeleton-item\n [isSquare]=\"true\"\n [active]=\"true\"\n ></acl-skeleton-item>\n </li>\n</ul>\n", styles: [".nav-item{display:flex;align-items:center;margin-bottom:20px;padding:0 20px}.nav-item acl-skeleton-item:nth-child(1){margin-right:12px}.nav-item acl-skeleton-item:nth-child(2){flex:1}\n"] }]
34
34
  }], null, null); })();
35
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NavSkeletonComponent, { className: "NavSkeletonComponent" }); })();
35
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NavSkeletonComponent, { className: "NavSkeletonComponent", filePath: "skeleton/nav-skeleton/component.ts", lineNumber: 9 }); })();
36
36
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3NrZWxldG9uL25hdi1za2VsZXRvbi9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvc2tlbGV0b24vbmF2LXNrZWxldG9uL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztJQ0NqRSw2QkFHQztJQVNDLEFBSkEsQUFKQSx1Q0FHcUIsMkJBSUEsMkJBSUE7SUFDdkIsaUJBQUs7OztJQVhELGNBQWlCO0lBQ2pCLEFBREEsK0JBQWlCLGdCQUNGO0lBR2YsY0FBMEM7SUFDMUMsQUFEQSw0RUFBMEMsZ0JBQzNCO0lBR2YsY0FBaUI7SUFDakIsQUFEQSwrQkFBaUIsZ0JBQ0Y7O0FEUHJCLE1BQU0sT0FBTyxvQkFBb0I7SUFOakM7UUFPRSxZQUFPLEdBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN0RTtxRkFGWSxvQkFBb0I7b0VBQXBCLG9CQUFvQjtZQ1JqQywwQkFBSTtZQUNGLG1FQUdDO1lBY0gsaUJBQUs7O1lBaEJlLGNBQVU7WUFBVixxQ0FBVTs7O2lGRE1qQixvQkFBb0I7Y0FOaEMsU0FBUzsyQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs7a0ZBRXBDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLW5hdi1za2VsZXRvbicsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTa2VsZXRvbkNvbXBvbmVudCB7XG4gIG5hdkxpc3Q6IG51bWJlcltdID0gWzEsIDIsIDIsIDIsIDEsIDIsIDIsIDMsIDMsIDMsIDIsIDIsIDIsIDMsIDIsIDFdO1xufVxuIiwiPHVsPlxuICA8bGlcbiAgICAqbmdGb3I9XCJsZXQgbmF2IG9mIG5hdkxpc3RcIlxuICAgIGNsYXNzPVwibmF2LWl0ZW1cIlxuICA+XG4gICAgPGFjbC1za2VsZXRvbi1pdGVtXG4gICAgICBbaXNTcXVhcmVdPVwidHJ1ZVwiXG4gICAgICBbYWN0aXZlXT1cInRydWVcIlxuICAgID48L2FjbC1za2VsZXRvbi1pdGVtPlxuICAgIDxhY2wtc2tlbGV0b24taXRlbVxuICAgICAgW2N1c3RvbVN0eWxlXT1cInsgd2lkdGg6IG5hdiAqIDMwICsgJ3B4JyB9XCJcbiAgICAgIFthY3RpdmVdPVwidHJ1ZVwiXG4gICAgPjwvYWNsLXNrZWxldG9uLWl0ZW0+XG4gICAgPGFjbC1za2VsZXRvbi1pdGVtXG4gICAgICBbaXNTcXVhcmVdPVwidHJ1ZVwiXG4gICAgICBbYWN0aXZlXT1cInRydWVcIlxuICAgID48L2FjbC1za2VsZXRvbi1pdGVtPlxuICA8L2xpPlxuPC91bD5cbiJdfQ==
@@ -823,5 +823,5 @@ __decorate([
823
823
  type: HostBinding,
824
824
  args: ['style.max-height']
825
825
  }] }); })();
826
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent" }); })();
826
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent", filePath: "table/component.ts", lineNumber: 64 }); })();
827
827
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFDSCxLQUFLLEVBQ0wsVUFBVSxFQUNWLEVBQUUsRUFDRixhQUFhLEVBQ2IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFP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QUNGLFVBQVU7cURBQTBCO0FBYXBEO0lBREMsZUFBZSxFQUFFOzhCQUNOLFVBQVU7aURBQStCO2lGQXREMUMsY0FBYztjQU4xQixTQUFTOzJCQUNFLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTTttR0FRL0MsSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLFVBQVU7a0JBRFQsS0FBSztZQUlOLFdBQVcsTUFHWCxZQUFZO2tCQURYLEtBQUs7WUFJTixhQUFhLE1BR2Isc0JBQXNCO2tCQURyQixLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sT0FBTztrQkFETixLQUFLO1lBSU4sUUFBUSxNQUdSLFlBQVk7a0JBRFgsS0FBSztZQUlOLGFBQWEsTUFHYixPQUFPO2tCQUROLEtBQUs7WUFRTixRQUFRO2tCQURQLEtBQUs7WUFJTixTQUFTLE1BR1QsT0FBTztrQkFETixLQUFLO1lBSU4sVUFBVTtrQkFEVCxLQUFLO1lBSU4sb0JBQW9CO2tCQURuQixLQUFLO1lBSU4sZ0JBQWdCO2tCQURmLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixlQUFlO2tCQURkLEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUdHLGVBQWU7a0JBQXZCLEtBQUs7WUFHTixNQUFNO2tCQURMLE1BQU07WUFJUCxNQUFNO2tCQURMLE1BQU07WUFJUCxVQUFVO2tCQURULE1BQU07WUFJUCxhQUFhO2tCQURaLGVBQWU7bUJBQUMscUJBQXFCO1lBSWxDLGFBQWE7a0JBRGhCLFdBQVc7bUJBQUMsaUNBQWlDO1lBTTFDLG1CQUFtQjtrQkFEdEIsV0FBVzttQkFBQyxrQkFBa0I7O2tGQWhHcEIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhbmRsZVBpeGVsLCBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGdldCwgaXNGdW5jdGlvbiwgaXNPYmplY3RMaWtlLCBpc1N0cmluZywgbGFzdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBSZXBsYXlTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFDVElPTiwgQ1JFQVRFRF9BVCwgTElOSywgVVBEQVRFIH0gZnJvbSAnLi4vY29yZS9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7IGlzRmllbGROb3RBdmFpbGFibGUgfSBmcm9tICcuLi9jb3JlL3BpcGVzL2ZpZWxkLW5vdC1hdmFpbGFibGUucGlwZSc7XG5pbXBvcnQgeyBDUkVBVE9SLCBOQU1FIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy9rOHMtdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEs4c1Jlc291cmNlQWN0aW9uLFxuICBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0LFxufSBmcm9tICcuLi9jb3JlL3R5cGVzL2s4cy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGlzSzhzUmVzb3VyY2UsIG5vb3AsIHRyYWNrQnlVaWQgfSBmcm9tICcuLi9jb3JlL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi9jb3JlL3V0aWxzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgcHVibGlzaFJlZiB9IGZyb20gJy4uL2NvcmUvdXRpbHMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0cmVhbUxpc3RMb2FkZXIgfSBmcm9tICcuLi9rOHMtcmVzb3VyY2UtbGlzdC90eXBlcyc7XG5cbmltcG9ydCB7XG4gIERFRkFVTFRfUEFHRV9TSVpFLFxuICBERUZBVUxUX1BBR0VfU0laRV9PUFRJT05TLFxuICBERUZBVUxUX1BBR0lOQVRJT05fTEFZT1VULFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUYWJsZUNlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2hlbHBlcnMuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZixcbiAgVGFibGVDb2x1bW5EZWZzLFxuICBUYWJsZUNvbHVtbixcbiAgVGFibGVDb2x1bW5EZWYsXG4gIFRhYmxlRmlsdGVyRm4sXG4gIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmEsXG4gIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtLFxuICBUYWJsZUNvbHVtbkFjdGlvbkRpc2FibGVkSGFuZGxlcixcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBLTk9XTl9DT0xVTU5TLCBUYWJsZVV0aWxTZXJ2aWNlIH0gZnJvbSAnLi91dGlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudDxcbiAgSXRlbSBleHRlbmRzIG9iamVjdCxcbiAgQ29udGV4dCA9IFRhYmxlVXRpbFNlcnZpY2U8SXRlbT4sXG4+IHtcbiAgQElucHV0KClcbiAgbGlzdCE6IFN0cmVhbUxpc3RMb2FkZXI8S3ViZXJuZXRlc1Jlc291cmNlTGlzdDxJdGVtPiwgSXRlbT47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGxpc3QkITogT2JzZXJ2YWJsZTxTdHJlYW1MaXN0TG9hZGVyPEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8SXRlbT4sIEl0ZW0+PjtcblxuICBASW5wdXQoKVxuICBkYXRhU291cmNlOiBJdGVtW10gfCBPYnNlcnZhYmxlPEl0ZW1bXT47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGRhdGFTb3VyY2UkITogT2JzZXJ2YWJsZTxJdGVtW10gfCBPYnNlcnZhYmxlPEl0ZW1bXT4+O1xuXG4gIEBJbnB1dCgpXG4gIHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICByZXNvdXJjZU5hbWUkITogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIEBJbnB1dCgpXG4gIHJlc291cmNlTmFtZVRyYW5zbGF0ZWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzdGlja3k6IG51bWJlciB8IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwZXJtaXNzaW9uczogUGFydGlhbDxSZWNvcmQ8SzhzUmVzb3VyY2VBY3Rpb24sIGJvb2xlYW4+PjtcblxuICBASW5wdXQoKVxuICBjb2x1bW5zOiBSZWFkb25seUFycmF5PFRhYmxlQ29sdW1uPEl0ZW0sIENvbnRleHQ+PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgY29sdW1ucyQhOiBPYnNlcnZhYmxlPEFycmF5PFRhYmxlQ29sdW1uPEl0ZW0sIENvbnRleHQ+Pj47XG5cbiAgQElucHV0KClcbiAgZmlsdGVyUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmlsdGVyUGFyYW1zJCE6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IENvbnRleHQ7XG5cbiAgZ2V0IGZpbmFsQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0ID8/ICh0aGlzLnV0aWwgYXMgdW5rbm93biBhcyBDb250ZXh0KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGZpbHRlckZuOiBUYWJsZUZpbHRlckZuPEl0ZW0sIENvbnRleHQ+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBmaWx0ZXJGbiQhOiBPYnNlcnZhYmxlPFRhYmxlRmlsdGVyRm48SXRlbSwgQ29udGV4dD4+O1xuXG4gIEBJbnB1dCgpXG4gIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxJdGVtPiA9IHRoaXMudHJhY2tCeUZuO1xuXG4gIEBJbnB1dCgpXG4gIG5vRGF0YUhpbnQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nRXJyb3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBlbmFibGVQYWdpbmF0aW9uID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemUgPSBERUZBVUxUX1BBR0VfU0laRTtcblxuICBASW5wdXQoKVxuICBwYWdlU2l6ZU9wdGlvbnMgPSBERUZBVUxUX1BBR0VfU0laRV9PUFRJT05TO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2luYXRpb25MYXlvdXQgPSBERUZBVUxUX1BBR0lOQVRJT05fTEFZT1VUO1xuXG4gIEBJbnB1dCgpIGZpcnN0U2Nyb2xsTG9hZDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8SXRlbT4oKTtcblxuICBAT3V0cHV0KClcbiAgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlQ2VsbERlZkRpcmVjdGl2ZSlcbiAgdGFibGVDZWxsRGVmczogUXVlcnlMaXN0PFRhYmxlQ2VsbERlZkRpcmVjdGl2ZTxJdGVtPj47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hdWktdGFibGVfX3Njcm9sbC13cmFwcGVyJylcbiAgZ2V0IHNjcm9sbFdyYXBwZXIoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5zdGlja3k7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBnZXQgc2Nyb2xsV3JhcHBlckhlaWdodCgpIHtcbiAgICByZXR1cm4gaGFuZGxlUGl4ZWwodGhpcy5zdGlja3kpO1xuICB9XG5cbiAgY3VycmVudFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEpO1xuXG4gIHBhZ2VTaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihERUZBVUxUX1BBR0VfU0laRSk7XG5cbiAgcGFnaW5hdGlvbiA9IHtcbiAgICB0b3RhbDogMCxcbiAgICBwYWdlczogMCxcbiAgfTtcblxuICBmaW5hbERhdGFTb3VyY2UkID0gdGhpcy5kYXRhU291cmNlJC5waXBlKFxuICAgIHN3aXRjaE1hcChkYXRhU291cmNlID0+XG4gICAgICBkYXRhU291cmNlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IGRhdGFTb3VyY2UgOiBvZihkYXRhU291cmNlKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBmaW5hbFJlc291cmNlTmFtZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLnJlc291cmNlTmFtZSRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpc3QsIHJlc291cmNlTmFtZV0pID0+XG4gICAgICAhbGlzdCB8fCByZXNvdXJjZU5hbWVcbiAgICAgICAgPyBvZihyZXNvdXJjZU5hbWUpXG4gICAgICAgIDogbGlzdC5yYXdSZXNwb25zZSQucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4gcmVzPy5raW5kLnNsaWNlKDAsIC00KS50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgICApLFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGNvbHVtbkRlZnMkID0gdGhpcy5jb2x1bW5zJC5waXBlKFxuICAgIG1hcChcbiAgICAgIGNvbHVtbnMgPT5cbiAgICAgICAgKGNvbHVtbnMgfHwgW10pLm1hcChjb2x1bW4gPT4ge1xuICAgICAgICAgIGNvbHVtbiA9IGlzU3RyaW5nKGNvbHVtbikgPyB7IG5hbWU6IGNvbHVtbiB9IDogY29sdW1uO1xuICAgICAgICAgIGlmICghKCdwYXRoJyBpbiBjb2x1bW4pICYmICFLTk9XTl9DT0xVTU5TLmhhcyhjb2x1bW4ubmFtZSkpIHtcbiAgICAgICAgICAgIGNvbHVtbi5wYXRoID0gY29sdW1uLm5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubm9ybWFsaXplQ29sdW1uRGVmU29ydChjb2x1bW4pO1xuICAgICAgICAgIHRoaXMubm9ybWFsaXplQ29sdW1uRGVmVHJhbnNsYXRlKGNvbHVtbik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplQWN0aW9uQ29sdW1uRGVmKGNvbHVtbik7XG4gICAgICAgIH0pIGFzIFRhYmxlQ29sdW1uRGVmczxJdGVtLCBDb250ZXh0PixcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb2x1bW5OYW1lcyQgPSB0aGlzLmNvbHVtbkRlZnMkLnBpcGUoXG4gICAgbWFwKGNvbHVtbnMgPT4gY29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi5uYW1lKSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGFjdGl2ZVNvcnQkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFNvcnQ+KDEpO1xuXG4gIGFjdGl2ZVNvcnQkOiBPYnNlcnZhYmxlPFNvcnQ+ID0gbWVyZ2UoXG4gICAgdGhpcy5hY3RpdmVTb3J0JCQsXG4gICAgdGhpcy5jb2x1bW5EZWZzJC5waXBlKFxuICAgICAgbWFwKGNvbHVtbkRlZnMgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW5EZWYgPSBjb2x1bW5EZWZzLmZpbmQoY29sdW1uID0+IGNvbHVtbi5zb3J0Py5hY3RpdmUpO1xuICAgICAgICByZXR1cm4gY29sdW1uRGVmXG4gICAgICAgICAgPyB7IGFjdGl2ZTogY29sdW1uRGVmLm5hbWUsIGRpcmVjdGlvbjogY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uIH1cbiAgICAgICAgICA6IG51bGw7XG4gICAgICB9KSxcbiAgICApLFxuICApLnBpcGUocHVibGlzaFJlZigpKTtcblxuICBmaWx0ZXJlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubGlzdCQsIHRoaXMuZmluYWxEYXRhU291cmNlJF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtsaXN0LCBkYXRhU291cmNlXSkgPT4gKGxpc3QgPyBsaXN0Lml0ZW1zJCA6IG9mKGRhdGFTb3VyY2UpKSksXG4gICAgKSxcbiAgICB0aGlzLmNvbHVtbkRlZnMkLFxuICAgIHRoaXMuYWN0aXZlU29ydCQsXG4gICAgdGhpcy5maWx0ZXJQYXJhbXMkLFxuICAgIHRoaXMuZmlsdGVyRm4kLFxuICBdKS5waXBlKFxuICAgIG1hcChcbiAgICAgIChbXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBjb2x1bW5EZWZzLFxuICAgICAgICBhY3RpdmVTb3J0LFxuICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgIGZpbHRlckZuID0gdGhpcy51dGlsLmRlZmF1bHRGaWx0ZXJGbixcbiAgICAgIF0pID0+XG4gICAgICAgIGZpbHRlckZuLmNhbGwoXG4gICAgICAgICAgdGhpcy5maW5hbENvbnRleHQsXG4gICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgY29sdW1uRGVmcyxcbiAgICAgICAgICBhY3RpdmVTb3J0LFxuICAgICAgICAgIGZpbHRlclBhcmFtcyxcbiAgICAgICAgICB0aGlzLmZpbmFsQ29udGV4dCxcbiAgICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBwYWdlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQsXG4gICAgdGhpcy5jdXJyZW50UGFnZSQsXG4gICAgdGhpcy5wYWdlU2l6ZSQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKChbaXRlbXMsIF8sIHBhZ2VTaXplXSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPVxuICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgPyB7IHRvdGFsOiAwLCBwYWdlczogMCB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgIHBhZ2VzOiBNYXRoLmNlaWwoaXRlbXMubGVuZ3RoIC8gcGFnZVNpemUpLFxuICAgICAgICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pLFxuICAgIG1hcCgoW2l0ZW1zLCBjdXJyZW50UGFnZSwgcGFnZVNpemVdKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdpbmF0aW9uLnBhZ2VzIDwgY3VycmVudFBhZ2UgJiYgdGhpcy5wYWdpbmF0aW9uLnBhZ2VzICE9PSAwKSB7XG4gICAgICAgIGN1cnJlbnRQYWdlID0gdGhpcy5wYWdpbmF0aW9uLnBhZ2VzO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlJC5uZXh0KGN1cnJlbnRQYWdlKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJlZ2luID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBwYWdlU2l6ZTtcbiAgICAgIHJldHVybiBpdGVtcy5zbGljZShiZWdpbiwgYmVnaW4gKyBwYWdlU2l6ZSk7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGdldCBpc0xpc3RQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID09PSAnbGlzdCc7XG4gIH1cblxuICBpc0xpc3RQYWdlJCA9IHRoaXMucm91dGUudXJsLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuaXNMaXN0UGFnZSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGlzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uO1xuICBpc0s4c1Jlc291cmNlID0gaXNLOHNSZXNvdXJjZTtcbiAgaXNGaWVsZE5vdEF2YWlsYWJsZSA9IGlzRmllbGROb3RBdmFpbGFibGU7XG5cbiAgZ2V0VmFsdWVGcm9tUGF0aCA9IHRoaXMudXRpbC5nZXRWYWx1ZUZyb21QYXRoO1xuICB0cmFja0J5TmFtZShfOiBudW1iZXIsIGNvbHVtbkRlZjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICByZXR1cm4gY29sdW1uRGVmLm5hbWU7XG4gIH1cblxuICBOQU1FID0gTkFNRTtcbiAgQ1JFQVRPUiA9IENSRUFUT1I7XG4gIENSRUFURURfQVQgPSBDUkVBVEVEX0FUO1xuICBBQ1RJT04gPSBBQ1RJT047XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdXRpbDogVGFibGVVdGlsU2VydmljZTxJdGVtPixcbiAgKSB7XG4gICAgdGhpcy5nZXRDb2x1bW5UZW1wbGF0ZSA9IHRoaXMuZ2V0Q29sdW1uVGVtcGxhdGUuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUNvbHVtbkRlZlRyYW5zbGF0ZShjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgY29uc3QgeyB0cmFuc2xhdGUgfSA9IGNvbHVtbjtcbiAgICBpZiAodHJhbnNsYXRlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfVxuICAgIGlmICh0cmFuc2xhdGUgPT09IHRydWUpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaXNTdHJpbmcodHJhbnNsYXRlKSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiB0cmFuc2xhdGUgKyB2YWx1ZTtcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0TGlrZSh0cmFuc2xhdGUpKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpID0+IGdldCh0cmFuc2xhdGUsIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIG5vcm1hbGl6ZUNvbHVtbkRlZlNvcnQoY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIGNvbnN0IHsgc29ydCB9ID0gY29sdW1uO1xuICAgIGlmIChzb3J0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfVxuICAgIGlmIChzb3J0ID09PSB0cnVlKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYXNjJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc1N0cmluZyhzb3J0KSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogc29ydCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0Z1bmN0aW9uKHNvcnQpKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYXNjJyxcbiAgICAgICAgaGFuZGxlcjogc29ydCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChzb3J0LmRpcmVjdGlvbiA9PSBudWxsKSB7XG4gICAgICBzb3J0LmRpcmVjdGlvbiA9ICdhc2MnO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1uO1xuICB9XG5cbiAgb25Tb3J0Q2hhbmdlKCRldmVudDogU29ydCkge1xuICAgIHRoaXMuc29ydENoYW5nZS5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5hY3RpdmVTb3J0JCQubmV4dCgkZXZlbnQpO1xuICB9XG5cbiAgbm9ybWFsaXplQWN0aW9uQ29sdW1uRGVmKFxuICAgIGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4sXG4gICk6IE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PiB7XG4gICAgaWYgKGNvbHVtbi5uYW1lICE9PSBBQ1RJT04gfHwgIWNvbHVtbi5leHRyYSkge1xuICAgICAgcmV0dXJuIGNvbHVtbiBhcyBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD47XG4gICAgfVxuXG4gICAgY29uc3QgZXh0cmEgPSBjb2x1bW4uZXh0cmEgYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYTxJdGVtLCBDb250ZXh0PjtcbiAgICAoW0s4c1Jlc291cmNlQWN0aW9uLkRFTEVURSwgSzhzUmVzb3VyY2VBY3Rpb24uVVBEQVRFXSBhcyBjb25zdCkuZm9yRWFjaChcbiAgICAgIGFjdGlvbiA9PiB7XG4gICAgICAgIGlmICghZXh0cmFbYWN0aW9uXSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaGFuZGxlciA9IChcbiAgICAgICAgICBleHRyYVthY3Rpb25dIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtPEl0ZW0sIENvbnRleHQ+XG4gICAgICAgICkuZGlzYWJsZWQ7XG4gICAgICAgIGlmIChoYW5kbGVyID09IG51bGwpIHtcbiAgICAgICAgICBoYW5kbGVyID0gbm9vcCBhcyBUYWJsZUNvbHVtbkFjdGlvbkRpc2FibGVkSGFuZGxlcjxJdGVtLCBDb250ZXh0PjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNGdW5jdGlvbihoYW5kbGVyKSkge1xuICAgICAgICAgIChcbiAgICAgICAgICAgIGV4dHJhW2FjdGlvbl0gYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYUl0ZW08SXRlbSwgQ29udGV4dD5cbiAgICAgICAgICApLmRpc2FibGVkID0geyBoYW5kbGVyIH07XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gY29sdW1uIGFzIE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PjtcbiAgfVxuXG4gIGdldENvbHVtblRlbXBsYXRlKGNvbHVtbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVDZWxsRGVmcy5maW5kKGRlZiA9PiBkZWYuYWNsVGFibGVDZWxsRGVmID09PSBjb2x1bW4pXG4gICAgICA/LnRlbXBsYXRlUmVmO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IEl0ZW0pIHtcbiAgICByZXR1cm4gaXNLOHNSZXNvdXJjZShpdGVtKVxuICAgICAgPyB0cmFja0J5VWlkKGluZGV4LCBpdGVtKVxuICAgICAgOiBnZXQoaXRlbSwgTkFNRSwgaW5kZXgpO1xuICB9XG5cbiAgb25VcGRhdGUoZGF0YTogSXRlbSwgY29sdW1uRGVmOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIHRoaXMudXBkYXRlLmVtaXQoZGF0YSk7XG5cbiAgICBpZiAoZ2V0KGNvbHVtbkRlZi5leHRyYSwgW1VQREFURSwgTElOS10pICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXG4gICAgICAgIFtcbiAgICAgICAgICB0aGlzLmlzTGlzdFBhZ2UgPyAnLi4nIDogJy4nLFxuICAgICAgICAgIFVQREFURSxcbiAgICAgICAgICB0aGlzLmdldFZhbHVlRnJvbVBhdGgoZGF0YSwgTkFNRSksXG4gICAgICAgIF0sXG4gICAgICAgIHtcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRWYWx1ZTxULCBGIGV4dGVuZHMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gVD4oXG4gICAgZnVuY3Rpb25PclZhbHVlOiBUIHwgRixcbiAgICAuLi5hcmdzOiBQYXJhbWV0ZXJzPEY+XG4gICk6IFQge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZ1bmN0aW9uT3JWYWx1ZSlcbiAgICAgID8gZnVuY3Rpb25PclZhbHVlLmNhbGwobGFzdChhcmdzKSwgLi4uYXJncylcbiAgICAgIDogZnVuY3Rpb25PclZhbHVlO1xuICB9XG59XG4iLCI8YXVpLXRhYmxlXG4gIGF1aVNvcnRcbiAgW2FjdGl2ZV09XCIoYWN0aXZlU29ydCQgfCBhc3luYyk/LmFjdGl2ZVwiXG4gIFtkaXJlY3Rpb25dPVwiKGFjdGl2ZVNvcnQkIHwgYXN5bmMpPy5kaXJlY3Rpb25cIlxuICBbZGF0YVNvdXJjZV09XCJwYWdlZEl0ZW1zJFwiXG4gIFt0cmFja0J5XT1cInRyYWNrQnlcIlxuICAoc29ydENoYW5nZSk9XCJvblNvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gIFthdWlUYWJsZVNjcm9sbGFibGVdPVwiISFzdGlja3lcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwibGV0IGNvbHVtbkRlZiBvZiBjb2x1bW5EZWZzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5TmFtZVwiXG4gICAgW2F1aVRhYmxlQ29sdW1uRGVmXT1cImNvbHVtbkRlZi5uYW1lXCJcbiAgICBbc3RpY2t5XT1cImNvbHVtbkRlZi5zdGlja3lcIlxuICAgIFtzdGlja3lFbmRdPVwiY29sdW1uRGVmLnN0aWNreUVuZFwiXG4gID5cbiAgICA8YXVpLXRhYmxlLWhlYWRlci1jZWxsXG4gICAgICAqYXVpVGFibGVIZWFkZXJDZWxsRGVmXG4gICAgICBbc3R5bGVdPVwiY29sdW1uRGVmLnN0eWxlXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uRGVmLm5hbWUgIT09IEFDVElPTlwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiY29sdW1uRGVmLnNvcnRcIlxuICAgICAgICAgIGF1aS1zb3J0LWhlYWRlclxuICAgICAgICAgIFtzdGFydF09XCJjb2x1bW5EZWYuc29ydC5kaXJlY3Rpb25cIlxuICAgICAgICAgID57eyBjb2x1bW5EZWYubGFiZWwgfHwgY29sdW1uRGVmLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFjb2x1bW5EZWYuc29ydFwiPnt7XG4gICAgICAgICAgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hdWktdGFibGUtaGVhZGVyLWNlbGw+XG5cbiAgICA8YXVpLXRhYmxlLWNlbGxcbiAgICAgICphdWlUYWJsZUNlbGxEZWY9XCJcbiAgICAgICAgbGV0IGRhdGE7XG4gICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICBsZXQgZXZlbiA9IGV2ZW47XG4gICAgICAgIGxldCBvZGQgPSBvZGQ7XG4gICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgXCJcbiAgICAgIFtkaXJlY3Rpb25dPVwiY29sdW1uRGVmLmRpcmVjdGlvblwiXG4gICAgICBbbmdDbGFzc109XCJjb2x1bW5EZWYuY2xhc3NcIlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGNvbHVtbkRlZi5uYW1lIHwgcHVyZTogZ2V0Q29sdW1uVGVtcGxhdGUgYXMgdGVtcGxhdGU7XG4gICAgICAgICAgZWxzZSB0YWJsZUNlbGxEZWZUcGxcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICB0ZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBkYXRhLFxuICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgIGV2ZW46IGV2ZW4sXG4gICAgICAgICAgICAgIG9kZDogb2RkLFxuICAgICAgICAgICAgICBsYXN0OiBsYXN0LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxEZWZUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29sdW1uRGVmLnBhdGggIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAoZGF0YVxuICAgICAgICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgICAgICAgOiBnZXRWYWx1ZUZyb21QYXRoXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5uYW1lXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5wYXRoKSBhcyB2YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgZGVmYXVsdFRhYmxlQ2VsbFRwbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICB0YWJsZUNlbGxDb250ZW50O1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYmxlQ2VsbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBkZWZhdWx0VGFibGVDZWxsO1xuICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2F1aS10YWJsZS1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5OYW1lcyQgfCBhc3luYzsgc3RpY2t5OiAhIXN0aWNreVwiXG4gID48L2F1aS10YWJsZS1oZWFkZXItcm93PlxuICA8YXVpLXRhYmxlLXJvd1xuICAgICphdWlUYWJsZVJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbk5hbWVzJCB8IGFzeW5jXCJcbiAgPjwvYXVpLXRhYmxlLXJvdz5cblxuICA8bmctY29udGFpbmVyICphdWlUYWJsZVBsYWNlaG9sZGVyRGVmPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIFtoaWRkZW5dPVwiXG4gICAgICAgICAgKHBhZ2VkSXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggfHwgIShsaXN0Lml0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiZW1wdHktcGxhY2Vob2xkZXJcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luYyBhcyBmaW5hbFJlc291cmNlTmFtZTsgZWxzZSBub0RhdGFcIlxuICAgICAgICA+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdub19uYW1lZF9kYXRhX2hpbnQnXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lVHJhbnNsYXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICAgIChmaW5hbFJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbCA6IHRydWUpLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3RlclxuICAgICAgICBbaGlkZGVuXT1cIlxuICAgICAgICAgICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aCAmJiAobGlzdC5pdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFxuICAgICAgICBcIlxuICAgICAgICBbbGlzdF09XCJsaXN0XCJcbiAgICAgICAgW3Jlc291cmNlTmFtZV09XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luY1wiXG4gICAgICAgIFtyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXT1cInJlc291cmNlTmFtZVRyYW5zbGF0ZWRcIlxuICAgICAgICBbZmlyc3RTY3JvbGxMb2FkXT1cImZpcnN0U2Nyb2xsTG9hZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICphY2xLOHNMaXN0Rm9vdGVyTG9hZGluZ0Vycm9yXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3Rlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTpcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbCA6IHRydWUpLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBjbGFzcz1cImFjbC1sb2FkaW5nLW1hc2tfX2ljb25cIlxuICAgICAgICAgIHNpemU9XCIxNnB4XCJcbiAgICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICB7eyAnbG9hZGluZ19wbGVhc2Vfd2FpdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktdGFibGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVQYWdpbmF0aW9uXCI+XG4gIDxhdWktcGFnaW5hdG9yXG4gICAgW2xheW91dF09XCJwYWdpbmF0aW9uTGF5b3V0XCJcbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZSQgfCBhc3luY1wiXG4gICAgW3RvdGFsXT1cInBhZ2luYXRpb24udG90YWxcIlxuICAgIChjdXJyZW50UGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSQubmV4dCgkZXZlbnQpXCJcbiAgICAocGFnZVNpemVDaGFuZ2UpPVwicGFnZVNpemUkLm5leHQoJGV2ZW50KVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICA+PC9hdWktcGFnaW5hdG9yPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRhYmxlQ2VsbFxuICBsZXQtZGF0YT1cImRhdGFcIlxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uRGVmLm5hbWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJOQU1FXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyBuYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhdWktdGFibGVfX2NlbGxfX25hbWVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvbHVtbkRlZi5leHRyYT8ubGluayAhPT0gZmFsc2UgJiYgIShkYXRhIHwgYWNsSXNEZWxldGluZyk7XG4gICAgICAgICAgICBlbHNlIHBsYWluTmFtZVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWyhpc0xpc3RQYWdlJCB8IGFzeW5jKSA/ICcuLicgOiAnLicsICdkZXRhaWwnLCBuYW1lXVwiXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBuYW1lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFpbk5hbWU+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFthdWlUb29sdGlwXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgICAgICAgPnt7IG5hbWUgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxhY2wtZGVsZXRpbmctdGFnXG4gICAgICAgICAgKm5nSWY9XCJkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZVwiXG4gICAgICAgICAgW3Jlc291cmNlXT1cImRhdGFcIlxuICAgICAgICA+PC9hY2wtZGVsZXRpbmctdGFnPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgKGRhdGEgfCBwdXJlOiBpc0s4c1Jlc291cmNlKVxuICAgICAgICAgICAgPyAoZGF0YSB8IGFjbERpc3BsYXlOYW1lKVxuICAgICAgICAgICAgOiBkYXRhLmRpc3BsYXlOYW1lIGFzIGRpc3BsYXlOYW1lXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19kaXNwbGF5LW5hbWVcIlxuICAgICAgICBbY2xhc3MuZGVsZXRpbmctdGV4dF09XCJkYXRhIHwgYWNsSXNEZWxldGluZ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGRpc3BsYXlOYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDUkVBVEVEX0FUXCI+XG4gICAgICA8YWNsLXJlbGF0aXZlLXRpbWVcbiAgICAgICAgW3RpbWVdPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZVwiXG4gICAgICA+PC9hY2wtcmVsYXRpdmUtdGltZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBQ1RJT05cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBbYXVpRHJvcGRvd25dPVwibWVudVwiXG4gICAgICAgIFthdWlEcm9wZG93bkNvbnRleHRdPVwieyAkaW1wbGljaXQ6IGRhdGEsIGNvbHVtbkRlZjogY29sdW1uRGVmIH1cIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImVsbGlwc2lzX3Zfc1wiPjwvYXVpLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyB2YWx1ZTtcbiAgICAgICAgICBlbHNlIGVtcHR5XG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgY29sdW1uRGVmOiBjb2x1bW5EZWYsIHZhbHVlOiB2YWx1ZSB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNlbGxDb250ZW50XG4gIGxldC1jb2x1bW5EZWY9XCJjb2x1bW5EZWZcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgY29sdW1uRGVmLnRyYW5zbGF0ZSA9PSBudWxsXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjb2x1bW5EZWYudHJhbnNsYXRlID09PSB0cnVlXG4gICAgICAgICAgPyAodmFsdWUgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAodmFsdWVcbiAgICAgICAgICAgIHwgcHVyZTogY29sdW1uRGVmLnRyYW5zbGF0ZSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgICAgfCB0cmFuc2xhdGUpIGFzIHRleHQ7XG4gICAgICBlbHNlIGVtcHR5XG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmVsbGlwc2lzOyBlbHNlIHBsYWluVGV4dFwiXG4gICAgICBjbGFzcz1cInRleHQtb3ZlcmZsb3dcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwidGV4dFwiXG4gICAgPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5UZXh0Pnt7IHRleHQgfX08L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjbWVudVxuICBsZXQtZGF0YVxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbiAgPjxhdWktbWVudT5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LnVwZGF0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMudXBkYXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS51cGRhdGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm9uVXBkYXRlKGRhdGEsIGNvbHVtbkRlZilcIlxuICAgID5cbiAgICAgIDxhdWktbWVudS1pdGVtPnt7ICd1cGRhdGUnIHwgdHJhbnNsYXRlIH19PC9hdWktbWVudS1pdGVtPlxuICAgIDwvYWNsLWRpc2FibGVkLWNvbnRhaW5lcj5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LmRlbGV0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMuZGVsZXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS5kZWxldGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZS5lbWl0KGRhdGEpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAnZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gIDwvYXVpLW1lbnU+PC9uZy10ZW1wbGF0ZVxuPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5Pnt7IG51bGwgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fTwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPnt7ICdub19kYXRhJyB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -109,5 +109,5 @@ export class LegendDropdownComponent {
109
109
  }], isCard: [{
110
110
  type: Input
111
111
  }] }); })();
112
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendDropdownComponent, { className: "LegendDropdownComponent" }); })();
112
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendDropdownComponent, { className: "LegendDropdownComponent", filePath: "view-chart/custom-template/dropdown-legend.ts", lineNumber: 56 }); })();
113
113
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3ZpZXctY2hhcnQvY3VzdG9tLXRlbXBsYXRlL2Ryb3Bkb3duLWxlZ2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7OztJQU9uQiw2QkFBaUQ7SUFDL0MsOEJBU1k7Ozs7O0lBTlYsY0FBbUM7SUFDbkMsQUFEQSxvREFBbUMsNkVBQ0Q7OztJQVFwQyxpQ0FXQztJQUNDLDhCQUE4QztJQUNoRCxpQkFBUzs7OztJQVBQLEFBREEsQUFIQSw2QkFBZSx1Q0FHb0IsNkVBQ0Q7OztJQVdwQyw2QkFBa0U7SUFDaEUsOEJBQTZCO0lBQzNCLDJCQUFpRTtJQUNuRSxpQkFBTTs7OztJQURVLGVBQW1DO0lBQW5DLHdEQUFtQzs7O0lBSW5ELCtCQUFzQjtJQUFBLFlBQTJCOztJQUFBLGlCQUFPOztJQUFsQyxjQUEyQjtJQUEzQixxREFBMkI7OztJQURuRCxBQUxBLHdHQUFrRSwwSEFLckM7Ozs7SUFMZ0IsQUFBOUIsMkRBQThCLCtCQUFtQjs7QUFhdEUsTUFBTSxPQUFPLHVCQUF1Qjt3RkFBdkIsdUJBQXVCO29FQUF2Qix1QkFBdUI7WUFkaEMsQUFqQkEsQUFaQSwwRkFBaUQsNEdBWXRCLDRHQWlCUTs7O1lBN0JMLEFBQWYsa0NBQWUsNkJBQWlCOzs7aUZBMkN0Qyx1QkFBdUI7Y0E5Q25DLFNBQVM7MkJBQ0UscUJBQXFCLFlBQ3JCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd0QyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLOztrRkFKSyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi4vLi4vY2hhcnQvY29tbW9uL3B1YmxpYy1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtbGVnZW5kLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ2FyZDsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgIGljb249XCJwcm9kOmNoYXJ0X2xlZ2VuZFwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cImRyb3Bkb3duSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgZGF0YTogW10gfVwiXG4gICAgICAgIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gICAgICAgIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBlbmRcIlxuICAgICAgICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgICAgYXVpVG9vbHRpcEFjdGl2ZT1cImxlZ2VuZEFjdGl2ZVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvblxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgIGljb249XCJwcm9kOmNoYXJ0X2xlZ2VuZFwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cImRyb3Bkb3duSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgZGF0YTogW10gfVwiXG4gICAgICAgIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gICAgICAgIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBlbmRcIlxuICAgICAgICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgICAgYXVpVG9vbHRpcEFjdGl2ZT1cImxlZ2VuZEFjdGl2ZVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwicHJvZDpjaGFydF9sZWdlbmRcIj48L2F1aS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25JdGVtVGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5sZW5ndGggJiYgIW5vRGF0YTsgZWxzZSBub0RhdGFUZW1wbGF0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLXZlcnRpY2FsXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWdlbmRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNub0RhdGFUZW1wbGF0ZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJuby1kYXRhXCI+e3sgJ25vX2RhdGEnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1sZWdlbmQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTGVnZW5kRHJvcGRvd25Db21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBMZWdlbmRJdGVtW107XG4gIEBJbnB1dCgpIGxlZ2VuZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQElucHV0KCkgbm9EYXRhOiBib29sZWFuO1xuICBASW5wdXQoKSBpc0NhcmQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -255,5 +255,5 @@ export class LegendComponent {
255
255
  }], changeLegend: [{
256
256
  type: Output
257
257
  }] }); })();
258
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendComponent, { className: "LegendComponent" }); })();
258
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendComponent, { className: "LegendComponent", filePath: "view-chart/legend/legend.component.ts", lineNumber: 37 }); })();
259
259
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy92aWV3LWNoYXJ0L2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3ZpZXctY2hhcnQvbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsSUFBSSxFQUdKLGFBQWEsRUFDYixVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7OztJQ3RCaEMsOEJBR0M7SUFDQywyQkFHZ0I7SUFDbEIsaUJBQU07OztJQUhGLGNBQWtDO0lBQ2xDLEFBREEsdURBQWtDLHdEQUNjOzs7SUFRbEQsNkJBQTZDO0lBQzNDLDJCQUFpRTs7Ozs7SUFBbkQsY0FBbUM7SUFBbkMsb0RBQW1DOzs7SUFHakQsNkJBQW9FO0lBQ2xFLDJCQUdnQjs7OztJQUZkLGNBQW1DO0lBQ25DLEFBREEsa0RBQW1DLDZFQUNtQjs7O0lBS3RELDBDQVFzQjs7OztJQUZwQixBQURBLEFBREEsQUFEQSwyQ0FBc0IseUJBQ0wscUNBQ2dCLGtDQUNQOzs7SUFQOUIsaUNBQW9DO0lBQ2xDLG1JQU9DOzs7O0lBUlcsMENBQXFCO0lBRzlCLGNBQXdCO0lBQXhCLHlDQUF3Qjs7O0lBSi9CLEFBTkEsc0dBQW9FLHdIQU10Qzs7OztJQU5nQixBQUEvQiw0REFBK0IsZ0NBQW9COzs7SUFSdEUsOEJBR0M7SUFJQyxBQUhBLHdGQUE2QywwR0FHeEI7SUFxQnZCLGlCQUFNOzs7O0lBeEJXLGNBQWlCO0lBQUEsQUFBakIsdUNBQWlCLHVCQUFXOzs7SUEwQjdDLDhCQUdDO0lBQ0MsMkJBQWlFO0lBQ25FLGlCQUFNOzs7SUFEVSxjQUFtQztJQUFuQyx3REFBbUM7Ozs7SUFTN0MsQUFKRiw4QkFHQyx1QkFJRTtJQUZDLDBUQUF5QjtJQUN6QixxTkFBaUIsd0JBQWlCLEtBQUM7SUFFbkMsWUFDRjs7SUFDRixBQURFLGlCQUFlLEVBQ1o7OztJQUxELGNBQXlCO0lBQXpCLGtEQUF5QjtJQUd6QixjQUNGO0lBREUsMkZBQ0Y7Ozs7SUFFRiw4QkFPQzs7SUFEQyxpTkFBUywwQkFBZ0IsS0FBQztJQUUxQiwyQkFJTztJQUNQLGdDQUF5QjtJQUFBLFlBRXZCOztJQUNKLEFBREksaUJBQU8sRUFDTjs7OztJQWJILEFBREEsK0RBQTRDLHlCQUNyQjtJQUN2Qiw4RkFBcUU7SUFNbkUsZUFBaUM7SUFBakMsNkNBQWlDO0lBRGpDLHdFQUF3QztJQUlqQixlQUV2QjtJQUZ1QixvSUFFdkI7OztJQTNCTiw4QkFBMEI7SUFZeEIsQUFYQSw2RUFHQyxpRUFlQTtJQVVILGlCQUFLOzs7SUExQkEsY0FBOEQ7SUFBOUQsb0dBQThEO0lBYzVDLGNBQWdCO0lBQWhCLDhDQUFnQjs7QUR2Q3pDLE1BQU0sT0FBTyxhQUFhO0NBR3pCO0FBT0QsTUFBTSxPQUFPLGVBQWU7SUF5QjFCLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQVFELElBQUksVUFBVTtRQUNaLE9BQU8sVUFBVSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBMUMxQyxXQUFNLEdBQWlDLE1BQU0sQ0FBQztRQUk5QyxTQUFJLEdBQXVCLFNBQVMsQ0FBQztRQUVyQyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQVVuQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFNMUIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQVUxRCxrQkFBYSxHQUFpQixFQUFFLENBQUM7UUFFakMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFFOUIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7SUFNbUMsQ0FBQztJQUV2RCxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQWlCO1FBQ2xDLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBaUIsRUFBRSxFQUFFO1lBQ3hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBRTlDLENBQUM7WUFDRixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUs7Z0JBQ3hCLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNYLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQ1osR0FBRyxHQUFHO29CQUNOLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO3dCQUNqQyxDQUFDLENBQUMsRUFBRTt3QkFDSixDQUFDLENBQUM7NEJBQ0U7Z0NBQ0UsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dDQUNYLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztnQ0FDaEIsUUFBUSxFQUFFLElBQUk7Z0NBQ2QsS0FBSyxFQUFFLEtBQUs7Z0NBQ1osS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dDQUNaLE1BQU0sRUFBRSxHQUFHO2dDQUNYLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztnQ0FDdEIsR0FBRyxHQUFHOzZCQUNQO3lCQUNGLENBQUM7aUJBQ1AsRUFDRCxFQUFFLENBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ1QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDVixHQUFHLEdBQUc7b0JBQ04sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJO3dCQUNSLENBQUMsQ0FBQzs0QkFDRTtnQ0FDRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7Z0NBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO2dDQUNkLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FDaEQsQ0FBQyxDQUFDLElBQUksQ0FDUDtnQ0FDRCxLQUFLLEVBQUUsS0FBSztnQ0FDWixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0NBQzFDLE1BQU0sRUFBRSxDQUFDO2dDQUNULElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztnQ0FDcEIsR0FBRyxDQUFDOzZCQUNMO3lCQUNGO3dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ1IsRUFDRCxFQUFFLENBQ0gsQ0FBQztZQUNOLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFtQixFQUFFLEVBQUU7WUFDMUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3hDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxDQUNsQyxDQUFDO1lBQ0YsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWtCO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBZTtRQUN2QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Z0ZBaElVLGVBQWU7b0VBQWYsZUFBZTtZQ1c1QixBQVBBLEFBOUJBLEFBVkEsZ0VBR0MsbURBVUEsbURBOEJBLG9HQUk0Qjs7WUE3QzFCLDJEQUFrQztZQVVsQyxjQUFpQjtZQUFqQixzQ0FBaUI7WUE4QmpCLGNBQW1DO1lBQW5DLDREQUFtQzs7O2lGRE56QixlQUFlO2NBTjNCLFNBQVM7MkJBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07a0RBR3RDLE1BQU07a0JBQWQsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxJQUFJO2tCQUFaLEtBQUs7WUFFRyxXQUFXO2tCQUFuQixLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUVHLG9CQUFvQjtrQkFBNUIsS0FBSztZQUVHLGNBQWM7a0JBQXRCLEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsa0JBQWtCO2tCQUExQixLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVJLFlBQVk7a0JBQXJCLE1BQU07O2tGQXZCSSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVmlldyxcbiAgTGVnZW5kIGFzIENoYXJ0TGVnZW5kLFxuICBMZWdlbmRJdGVtLFxuICBMRUdFTkRfRVZFTlRTLFxuICBWSUVXX0hPT0tTLFxuICBDaGFydERhdGEsXG4gIERhdGEsXG59IGZyb20gJ0BhbGF1ZGEvY2hhcnQnO1xuaW1wb3J0IHsgaXNUZW1wbGF0ZVJlZiB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBjbGFzcyBMZWdlbmRQYXlsb2FkIHtcbiAgbGVnZW5kOiBMZWdlbmRJdGVtO1xuICBzb3VyY2U6IExlZ2VuZEl0ZW1bXTtcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1iYXNlLWxlZ2VuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWdlbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sZWdlbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc3ltYm9sOiAnY2lyY2xlJyB8ICdzcXVhcmUnIHwgJ2xpbmUnID0gJ2xpbmUnO1xuXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHN0cmluZyB8ICdkcm9wZG93bic7XG5cbiAgQElucHV0KCkgbW9kZTogJ2NhcmQnIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuXG4gIEBJbnB1dCgpIHRyYW5zbGF0aW9uID0gdHJ1ZTtcblxuICBASW5wdXQoKSBsZWZ0T3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBsZWZ0T3BlcmF0aW9uQ29udGV4dDogU3RyaW5nTWFwO1xuXG4gIEBJbnB1dCgpIHJpZ2h0T3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBoaWRlTGVnZW5kOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNlbGVjdEFsbE9wZXJhdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNlbGVjdEFsbE5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKSBjaGFydDogVmlldztcblxuICBAT3V0cHV0KCkgY2hhbmdlTGVnZW5kID0gbmV3IEV2ZW50RW1pdHRlcjxMZWdlbmRJdGVtW10+KCk7XG5cbiAgZ2V0IG5vRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5sZWdlbmRFbnRyaWVzPy5sZW5ndGggPT09IDAgfHwgIXRoaXMubGVnZW5kRW50cmllcztcbiAgfVxuXG4gIGdldCBsZWdlbmRJbnN0YW5jZSgpOiBDaGFydExlZ2VuZCB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LmdldENvbnRyb2xsZXIoJ2xlZ2VuZCcpO1xuICB9XG5cbiAgbGVnZW5kRW50cmllczogTGVnZW5kSXRlbVtdID0gW107XG5cbiAgaXNUZW1wbGF0ZVJlZiA9IGlzVGVtcGxhdGVSZWY7XG5cbiAgYWxsU2VsZWN0ZWQgPSB0cnVlO1xuXG4gIGdldCBzeW1ib2xOYW1lKCkge1xuICAgIHJldHVybiBgc3ltYm9sLSR7dGhpcy5zeW1ib2x9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uQ2hhbmdlcyh7IGNoYXJ0IH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhcnQuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmxlZ2VuZEVudHJpZXMgPSB0aGlzLmxlZ2VuZEluc3RhbmNlPy5sZWdlbmRJdGVtcztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxlZ2VuZEVudHJpZXMgPSB0aGlzLmxlZ2VuZEluc3RhbmNlPy5sZWdlbmRJdGVtcztcbiAgICB0aGlzLmNoYXJ0Py5vbihWSUVXX0hPT0tTLlNFVF9EQVRBLCAoZGF0YTogQ2hhcnREYXRhW10pID0+IHtcbiAgICAgIGNvbnN0IGlzQmFyID0gdGhpcy5jaGFydC5vcHRpb25zLnR5cGUgPT09ICdiYXInO1xuICAgICAgY29uc3QgdmFsdWVzID0gZGF0YS5mbGF0TWFwKGl0ZW0gPT4gaXRlbS52YWx1ZXMpIGFzIEFycmF5PFxuICAgICAgICBEYXRhPHsgeDogc3RyaW5nOyBjb2xvcjogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHk6IG51bWJlciB9PlxuICAgICAgPjtcbiAgICAgIHRoaXMubGVnZW5kRW50cmllcyA9IGlzQmFyXG4gICAgICAgID8gdmFsdWVzLnJlZHVjZTxBcnJheTxEYXRhPExlZ2VuZEl0ZW0+Pj4oXG4gICAgICAgICAgICAocHJlLCBjdXIpID0+IFtcbiAgICAgICAgICAgICAgLi4ucHJlLFxuICAgICAgICAgICAgICAuLi4ocHJlLnNvbWUoZCA9PiBkLm5hbWUgPT09IGN1ci54KVxuICAgICAgICAgICAgICAgID8gW11cbiAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGN1ci54LFxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjdXIuY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgaG92ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjdXIueSxcbiAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IGN1cixcbiAgICAgICAgICAgICAgICAgICAgICB1bml0OiBnZXQoY3VyLCAndW5pdCcpLFxuICAgICAgICAgICAgICAgICAgICAgIC4uLmN1cixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtdLFxuICAgICAgICAgIClcbiAgICAgICAgOiBkYXRhLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIGQpID0+IFtcbiAgICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgICAuLi4oZC5uYW1lXG4gICAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGQuY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGU6ICF0aGlzLmxlZ2VuZEluc3RhbmNlPy5kaXNhYmxlZExlZ2VuZC5oYXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICBob3ZlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGQudmFsdWVzPy5bZC52YWx1ZXM/Lmxlbmd0aCAtIDFdPy55LFxuICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTogZCxcbiAgICAgICAgICAgICAgICAgICAgICB1bml0OiBnZXQoZCwgJ3VuaXQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAuLi5kLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtdLFxuICAgICAgICAgICk7XG4gICAgICBpZiAodGhpcy5sZWdlbmRJbnN0YW5jZT8uZGlzYWJsZWRMZWdlbmQuc2l6ZSkge1xuICAgICAgICB0aGlzLmNoYW5nZUxlZ2VuZC5uZXh0KHRoaXMubGVnZW5kRW50cmllcyk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhcnQ/Lm9uKExFR0VORF9FVkVOVFMuQ0xJQ0ssIChkYXRhOiBMZWdlbmRQYXlsb2FkKSA9PiB7XG4gICAgICBjb25zdCB7IGxlZ2VuZCwgc291cmNlIH0gPSBkYXRhO1xuICAgICAgY29uc3QgbGVnZW5kSXRlbSA9IHRoaXMubGVnZW5kRW50cmllcy5maW5kKFxuICAgICAgICBpdGVtID0+IGl0ZW0ubmFtZSA9PT0gbGVnZW5kLm5hbWUsXG4gICAgICApO1xuICAgICAgbGVnZW5kSXRlbS5hY3RpdmF0ZSA9ICFsZWdlbmQuYWN0aXZhdGU7XG4gICAgICB0aGlzLmNoYW5nZUxlZ2VuZC5uZXh0KHNvdXJjZSk7XG4gICAgfSk7XG4gIH1cblxuICBzZWxlY3RlZChsZWdlbmQ6IExlZ2VuZEl0ZW0pIHtcbiAgICB0aGlzLmxlZ2VuZEluc3RhbmNlLmNoYW5nZUxlZ2VuZChsZWdlbmQpO1xuICB9XG5cbiAgYWxsU2VsZWN0KHNlbGVjdDogYm9vbGVhbikge1xuICAgIGlmIChzZWxlY3QpIHtcbiAgICAgIHRoaXMubGVnZW5kSW5zdGFuY2UubGVnZW5kU2VsZWN0QWxsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGVnZW5kSW5zdGFuY2UubGVnZW5kVW5zZWxlY3RBbGwoKTtcbiAgICB9XG4gICAgdGhpcy5sZWdlbmRJbnN0YW5jZS5jaGFuZ2VMZWdlbmQodGhpcy5sZWdlbmRFbnRyaWVzWzBdKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cIm9wZXJhdGlvblwiXG4gICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihsZWZ0T3BlcmF0aW9uKVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0T3BlcmF0aW9uXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwibGVmdE9wZXJhdGlvbkNvbnRleHRcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdlxuICBjbGFzcz1cImxlZ2VuZC13cmFwIG9wZXJhdGlvblwiXG4gICpuZ0lmPVwiIWhpZGVMZWdlbmRcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRlbXBsYXRlOyBlbHNlIGN1c3RvbVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGVnZW5kVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjY3VzdG9tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKHRlbXBsYXRlKTsgZWxzZSBidWlsdGluVGVtcGxhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueSh0ZW1wbGF0ZSlcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBjb250ZXh0OiBsZWdlbmRFbnRyaWVzIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjYnVpbHRpblRlbXBsYXRlPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidGVtcGxhdGVcIj5cbiAgICAgICAgPGFjbC1sZWdlbmQtZHJvcGRvd25cbiAgICAgICAgICBjbGFzcz1cImxlZ2VuZC12ZXJ0aWNhbFwiXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkcm9wZG93bidcIlxuICAgICAgICAgIFtkYXRhXT1cImxlZ2VuZEVudHJpZXNcIlxuICAgICAgICAgIFtub0RhdGFdPVwibm9EYXRhXCJcbiAgICAgICAgICBbbGVnZW5kVGVtcGxhdGVdPVwibGVnZW5kVGVtcGxhdGVcIlxuICAgICAgICAgIFtpc0NhcmRdPVwibW9kZSA9PT0gJ2NhcmQnXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FjbC1sZWdlbmQtZHJvcGRvd24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxkaXZcbiAgY2xhc3M9XCJvcGVyYXRpb25cIlxuICAqbmdJZj1cImlzVGVtcGxhdGVSZWYocmlnaHRPcGVyYXRpb24pXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodE9wZXJhdGlvblwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbGVnZW5kVGVtcGxhdGU+XG4gIDx1bCBjbGFzcz1cImxlZ2VuZC1sYWJlbHNcIj5cbiAgICA8bGlcbiAgICAgIGNsYXNzPVwic2VsZWN0LWFsbFwiXG4gICAgICAqbmdJZj1cIiFub0RhdGEgJiYgc2VsZWN0QWxsT3BlcmF0aW9uICYmIHRlbXBsYXRlID09PSAnZHJvcGRvd24nXCJcbiAgICA+XG4gICAgICA8YXVpLWNoZWNrYm94XG4gICAgICAgIFsobmdNb2RlbCldPVwiYWxsU2VsZWN0ZWRcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhbGxTZWxlY3QoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIHt7IHNlbGVjdEFsbE5hbWUgfHwgKCdzZWxlY3RfYWxsJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgIDwvYXVpLWNoZWNrYm94PlxuICAgIDwvbGk+XG4gICAgPGxpXG4gICAgICBjbGFzcz1cImxlZ2VuZC1sYWJlbFwiXG4gICAgICBbY2xhc3MuZGlzYWJsZV09XCIhbGVnZW5kLmFjdGl2YXRlIHx8IG5vRGF0YVwiXG4gICAgICBbY2xhc3MuZm9yYmlkXT1cIm5vRGF0YVwiXG4gICAgICBbdGl0bGVdPVwiKGxlZ2VuZC5hY3RpdmF0ZSA/ICdjbGlja19oaWRlJyA6ICdjbGlja19zaG93JykgfCB0cmFuc2xhdGVcIlxuICAgICAgKm5nRm9yPVwibGV0IGxlZ2VuZCBvZiBsZWdlbmRFbnRyaWVzXCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RlZChsZWdlbmQpXCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBbbmdDbGFzc109XCJbc3ltYm9sTmFtZSwgJ2xhYmVsLXN5bWJvbCddXCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwibGVnZW5kLmNvbG9yXCJcbiAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtbmFtZVwiPnt7XG4gICAgICAgIHRyYW5zbGF0aW9uID8gKGxlZ2VuZC5uYW1lIHwgdHJhbnNsYXRlOiB7fTp0cnVlKSA6IGxlZ2VuZC5uYW1lXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -830,5 +830,5 @@ __decorate([
830
830
  }], refreshEvent: [{
831
831
  type: Output
832
832
  }] }); })();
833
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ViewChartComponent, { className: "ViewChartComponent" }); })();
833
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ViewChartComponent, { className: "ViewChartComponent", filePath: "view-chart/view-chart.component.ts", lineNumber: 86 }); })();
834
834
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvdmlldy1jaGFydC92aWV3LWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy92aWV3LWNoYXJ0L3ZpZXctY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFLTCxLQUFLLEVBTUwsV0FBVyxFQUNYLFNBQVMsR0FJVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGNBQWMsR0FDZixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBRXhCLFVBQVUsRUFFVixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFzQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsR0FBRyxFQUNILFVBQVUsRUFDVixPQUFPLEVBQ1AsU0FBUyxFQUNULEdBQUcsRUFDSCxhQUFhLEVBQ2IsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUtMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsV0FBVyxFQUNYLFVBQVUsRUFFVixnQkFBZ0IsRUFDaEIsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7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QUtHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQU1OLFdBQVcsTUFFRixVQUFVO2tCQUFsQixLQUFLO1lBR04sV0FBVyxNQUdYLFlBQVksTUFFRixZQUFZO2tCQUFyQixNQUFNO1lBRUcsY0FBYztrQkFBdkIsTUFBTTtZQUVHLFlBQVk7a0JBQXJCLE1BQU07O2tGQXROSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBQ2hhcnQsXG4gIEFyZWFTZXJpZXNPcHRpb24sXG4gIEJhckNvbHVtblBhcmFtcyxcbiAgQmFyU2VyaWVzT3B0aW9uLFxuICBDaGFydCxcbiAgQ2hhcnREYXRhLFxuICBMaW5lU2VyaWVzT3B0aW9uLFxuICBWaWV3T3B0aW9ucyxcbiAgUGVyY2VudGFnZSxcbiAgUGllU2VyaWVzT3B0aW9uLFxuICBSRUNUX0VWRU5UUyxcbiAgU2NhbGVUeXBlLFxuICBUb29sdGlwQ29udGV4dCxcbiAgVG9vbHRpcENvbnRleHRJdGVtLFxuICBWaWV3LFxufSBmcm9tICdAYWxhdWRhL2NoYXJ0JztcbmltcG9ydCB7IGlzVGVtcGxhdGVSZWYgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIENvbXBvbmVudFBvcnRhbCxcbiAgRG9tUG9ydGFsT3V0bGV0LFxuICBUZW1wbGF0ZVBvcnRhbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBBcHBsaWNhdGlvblJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1cnZlRmFjdG9yeSwgQ3VydmVGYWN0b3J5TGluZU9ubHksIHRpbWVGb3JtYXQgfSBmcm9tICdkMyc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxuICBjb21iaW5lTGF0ZXN0LFxuICBzdGFydFdpdGgsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBBcmVhUG9zaXRpb24sXG4gIENoYXJ0RGF0YUl0ZW0sXG4gIENoYXJ0U3RhdHVzLFxuICBDb250ZXh0SXRlbSxcbiAgaGFuZGxlRGF0ZUZvcm1hdCxcbiAgT2JzZXJ2YWJsZUlucHV0LFxuICBwb2ludEZvcm1hdCxcbiAgcHVibGlzaFJlZixcbiAgU3RyaW5nTWFwLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBWYWx1ZUhvb2ssXG4gIFhQbG90TGluZXMsXG59IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQgeyBMZWdlbmRDb21wb25lbnQgfSBmcm9tICcuL2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIFpvb21QYXJhbXMge1xuICB4OiBudW1iZXI7XG4gIHZhbHVlOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC12aWV3LWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXctY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aWV3LWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3Q2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGhpZGVIZWFkZXI6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZCgnY2hhcnRDb250YWluZXInKSBjaGFydENvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCd0aXRsZUNvbnRhaW5lcicpIHRpdGxlQ29udGFpbmVyOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKCd0b29sdGlwSXRlbVZpcnR1YWwnKSB0b29sdGlwSXRlbVZpcnR1YWw6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcFRpdGxlVmlydHVhbCcpIHRvb2x0aXBUaXRsZVZpcnR1YWw6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcE5hbWVWaXJ0dWFsJykgdG9vbHRpcE5hbWVWaXJ0dWFsOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3BpZUxhYmVsQ29udGFpbmVyJykgcGllTGFiZWxDb250YWluZXI6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIG1vZGU6ICdjYXJkJyB8ICdkZWZhdWx0JyA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKSBjdXN0b21Ob0RhdGFUaXRsZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBzdHJpbmc7XG5cbiAgQElucHV0KCkgY3VzdG9tRXJyb3JDb250YWluZXI6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlcjtcblxuICBASW5wdXQoKSBncmlkT2Zmc2V0VG9wID0gMDtcblxuICBASW5wdXQoKSByb3RhdGVkOiBib29sZWFuO1xuXG4gIC8vIGJhc2VcbiAgQElucHV0KCkgY2hhcnRUeXBlOiAnbGluZScgfCAnYXJlYScgfCAnYmFyJyB8ICdwaWUnIHwgJ3NjYXR0ZXInID0gJ2FyZWEnO1xuXG4gIEBJbnB1dCgpIHNlcmllczogQ2hhcnREYXRhW107XG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBzZXJpZXMkITogT2JzZXJ2YWJsZTxDaGFydERhdGFbXT47XG5cbiAgQElucHV0KCkgeEFjY2Vzc29yID0gKGQ6IENoYXJ0RGF0YUl0ZW0pID0+IGQueDtcblxuICBASW5wdXQoKSB5QWNjZXNzb3IgPSAoZDogQ2hhcnREYXRhSXRlbSkgPT4gZC55O1xuXG4gIEBJbnB1dCgpIHVuaXQ6IHN0cmluZztcbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHVuaXQkITogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIEBWYWx1ZUhvb2soZnVuY3Rpb24gKFxuICAgIHRoaXM6IFZpZXdDaGFydENvbXBvbmVudCxcbiAgICBjb250ZXh0Q2FsbGJhY2tGdW5jdGlvbjogKGNvbnRleHQ6IFZpZXcpID0+IHZvaWQsXG4gICkge1xuICAgIGlmIChjb250ZXh0Q2FsbGJhY2tGdW5jdGlvbiAmJiAhdGhpcy5vcHRpb25zPy5jb250ZXh0Q2FsbGJhY2tGdW5jdGlvbikge1xuICAgICAgdGhpcy5jaGFydD8uc2V0T3B0aW9ucyh7IGNvbnRleHRDYWxsYmFja0Z1bmN0aW9uIH0pO1xuICAgIH1cbiAgfSlcbiAgQElucHV0KClcbiAgY29udGV4dENhbGxiYWNrRnVuY3Rpb246IChjb250ZXh0OiBWaWV3KSA9PiB2b2lkO1xuXG4gIC8vIHRpdGxlXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBoaWRlVGl0bGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdGl0bGVEZXNjcmlwdGlvbjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgdGl0bGVEZXNjcmlwdGlvbkNvbnRleHQ6IFN0cmluZ01hcDtcblxuICBASW5wdXQoKSB0aXRsZU9mZnNldFg6IG51bWJlcjtcblxuICAvLyBsZWdlbmRcbiAgQElucHV0KCkgaGlkZUxlZ2VuZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGxlZ2VuZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHN0cmluZztcblxuICAvLyBjdXN0b20gbGVnZW5kXG4gIEBJbnB1dCgpIGxlZnRPcGVyYXRpb246IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIGxlZnRPcGVyYXRpb25Db250ZXh0OiBTdHJpbmdNYXA7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGxlZnRPcGVyYXRpb24kITogT2JzZXJ2YWJsZTxUZW1wbGF0ZVJlZjx1bmtub3duPj47XG5cbiAgQElucHV0KCkgcmlnaHRPcGVyYXRpb246IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICByaWdodE9wZXJhdGlvbiQhOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPHVua25vd24+PjtcblxuICBASW5wdXQoKSBsZWdlbmRTZWxlY3RBbGxPcGVyYXRpb24gPSBmYWxzZTtcblxuICBASW5wdXQoKSBsZWdlbmRTZWxlY3RBbGxOYW1lOiBzdHJpbmc7XG5cbiAgLy8gYXhpc1xuXG4gIEBJbnB1dCgpIHlBeGlzVGlja1N1ZmZpeDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGRhdGVBeGlzTGFiZWxGb3JtYXRzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgeEF4aXNMYWJlbFRyYW5zbGF0aW9uOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHhTY2FsZVR5cGU6IFNjYWxlVHlwZTtcblxuICBASW5wdXQoKSB4QXhpc1RpY2tGb3JtYXR0ZXI6IHN0cmluZyB8ICgodmFsdWU6IHN0cmluZykgPT4gc3RyaW5nKTtcblxuICBASW5wdXQoKSB0aWNrczogdW5rbm93bjtcblxuICBASW5wdXQoKSB5QXhpc1RpY2tGb3JtYXR0ZXI6IHN0cmluZyB8ICgodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nKTtcblxuICBASW5wdXQoKSB5QXhpc01pblN0ZXA/OiBudW1iZXI7XG5cbiAgLy8gdG9vbHRpcFxuICBASW5wdXQoKSB0b29sdGlwVHJpZ2dlcjogJ2F4aXMnIHwgJ2l0ZW0nIHwgJ25vbmUnO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBBdXRvU29ydCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBIaWRlVGl0bGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdG9vbHRpcENvbHVtbkxheW91dDogYm9vbGVhbjtcblxuICBASW5wdXQoKSB0b29sdGlwVGl0bGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgdG9vbHRpcFBvaW50TmFtZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSB0b29sdGlwVHJhbnNsYXRpb246IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdG9vbHRpcFRpdGxlVHJhbnNsYXRpb246IGJvb2xlYW47XG5cbiAgQElucHV0KCkgaGlkZVRvb2x0aXBVbml0OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBQb2ludEZvcm1hdDogKGQ6IENvbnRleHRJdGVtKSA9PiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgQElucHV0KCkgdG9vbHRpcFBvaW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBQb2ludFRlbXBsYXRlQ29udGV4dDogdW5rbm93bjtcblxuICAvLyBzZXJpZXNcbiAgQElucHV0KCkgYmFuZFdpZHRoID0gMTA7XG5cbiAgQElucHV0KCkgbWluSGVpZ2h0OiBudW1iZXI7XG5cbiAgQElucHV0KCkgc3RlcExpbmU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgY3VydmVUeXBlOiBDdXJ2ZUZhY3RvcnkgfCBDdXJ2ZUZhY3RvcnlMaW5lT25seTtcblxuICBASW5wdXQoKSBiYXJUeXBlOiAnc3RhbmRhcmQnIHwgJ3N0YWNrZWQnID0gJ3N0YW5kYXJkJztcblxuICBASW5wdXQoKSBzdGFydE9wYWNpdHk6IG51bWJlcjtcblxuICBASW5wdXQoKSBlbmRPcGFjaXR5OiBudW1iZXI7XG5cbiAgQElucHV0KCkgbGluZVdpZHRoPzogbnVtYmVyO1xuXG4gIC8vIGJhciBzZXJpZXNcbiAgQElucHV0KCkgaXNHcm91cDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBiYXJSYWRpdXM6IG51bWJlcjtcblxuICBASW5wdXQoKSBjbG9zZVJhZGl1c0xhZGRlcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjb2x1bW5DbGljazogKGRhdGE6IEJhckNvbHVtblBhcmFtcykgPT4gdm9pZDtcblxuICAvLyB6b29tXG4gIEBJbnB1dCgpIGVuYWJsZVpvb206IGJvb2xlYW47XG5cbiAgQElucHV0KCkgY2hhcnRTdGF0dXM6IENoYXJ0U3RhdHVzO1xuXG4gIC8vIHBsb3QgbGluZVxuICBASW5wdXQoKSB5UGxvdExpbmVzSGlkZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHlQbG90TGluZXM6IFRvb2x0aXBDb250ZXh0O1xuXG4gIC8vIHBpZVxuICBASW5wdXQoKSBwaWVJbm5lclJhZGl1czogbnVtYmVyIHwgUGVyY2VudGFnZTtcblxuICBASW5wdXQoKSBwaWVPdXRlclJhZGl1czogbnVtYmVyIHwgUGVyY2VudGFnZTtcblxuICBASW5wdXQoKSBwaWVTdGFydEFuZ2xlOiBudW1iZXI7XG5cbiAgQElucHV0KCkgcGllRW5kQW5nbGU6IG51bWJlcjtcblxuICBASW5wdXQoKSBwaWVCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICBASW5wdXQoKSBwaWVUb3RhbDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHBpZUlubmVyRGlzYzogYm9vbGVhbjtcblxuICBASW5wdXQoKSBwaWVMYWJlbFRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIHBpZUxhYmVsUG9zaXRpb246IHsgeDogc3RyaW5nOyB5OiBzdHJpbmcgfTtcblxuICBASW5wdXQoKSBwaWVJdGVtU3R5bGU/OiB7XG4gICAgYm9yZGVyUmFkaXVzPzogbnVtYmVyO1xuICB9O1xuXG4gIC8vIHNjYXR0ZXJcbiAgQElucHV0KCkgc2NhdHRlclR5cGU6ICdidWJibGUnO1xuICBASW5wdXQoKSBzY2F0dGVyT3BhY2l0eTogbnVtYmVyO1xuICBASW5wdXQoKSBzY2F0dGVyU2l6ZTogbnVtYmVyO1xuICBASW5wdXQoKSBzY2F0dGVyVGhyZXNob2xkOiB7XG4gICAgbWluU2l6ZTogbnVtYmVyO1xuICAgIG1heFNpemU6IG51bWJlcjtcbiAgfTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgeVBsb3RMaW5lcyQhOiBPYnNlcnZhYmxlPFRvb2x0aXBDb250ZXh0PjtcblxuICBASW5wdXQoKSB4UGxvdExpbmVzOiBYUGxvdExpbmVzO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICB4UGxvdExpbmVzJCE6IE9ic2VydmFibGU8WFBsb3RMaW5lcz47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGNoYXJ0U3RhdHVzJCE6IE9ic2VydmFibGU8Q2hhcnRTdGF0dXM+O1xuXG4gIEBPdXRwdXQoKSBtb3VzZVVwRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEFyZWFQb3NpdGlvbj4oKTtcblxuICBAT3V0cHV0KCkgbWFya0NsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRvb2x0aXBDb250ZXh0PigpO1xuXG4gIEBPdXRwdXQoKSByZWZyZXNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBfY2hhcnRTdGF0dXMkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hhcnRTdGF0dXM+KHtcbiAgICBsb2FkaW5nOiB0cnVlLFxuICAgIG5vRGF0YTogZmFsc2UsXG4gICAgZmFpbGVkOiBmYWxzZSxcbiAgICBub0xlZ2VuZDogZmFsc2UsXG4gIH0pO1xuXG4gIF9zdGF0dXM6IENoYXJ0U3RhdHVzID0ge307XG5cbiAgY2hhcnQ6IEFDaGFydDtcblxuICBhcmVhUG9zaXRpb246IEFyZWFQb3NpdGlvbiA9IHtcbiAgICB4MTogMCxcbiAgICB4MjogMCxcbiAgICBzdGFydFg6IDAsXG4gICAgZW5kWDogMCxcbiAgfTtcblxuICBzdGF0dXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5jaGFydFN0YXR1cyQsIHRoaXMuX2NoYXJ0U3RhdHVzJCRdKS5waXBlKFxuICAgIG1hcCgoW3N0YXR1cywgX3N0YXR1c10pID0+ICh7XG4gICAgICAuLi5fc3RhdHVzLFxuICAgICAgLi4uc3RhdHVzLFxuICAgIH0pKSxcbiAgICB0YXAoc3RhdHVzID0+ICh0aGlzLl9zdGF0dXMgPSBzdGF0dXMpKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgZ2V0IGJhY2tncm91bmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2dyb3VuZENvbG9yO1xuICB9XG5cbiAgaXNUZW1wbGF0ZVJlZiA9IGlzVGVtcGxhdGVSZWY7XG5cbiAgY3VzdG9tTGVnZW5kUmVmOiBDb21wb25lbnRSZWY8TGVnZW5kQ29tcG9uZW50PjtcblxuICBjdXN0b21UaXRsZVJlZjogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+O1xuXG4gIGN1c3RvbVBpZUxhYmVsVGV4dFJlZjogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+O1xuXG4gIHRvb2x0aXBJdGVtQ29udGV4dDogeyBjb250ZXh0OiBUb29sdGlwQ29udGV4dEl0ZW1bXSB9ID0geyBjb250ZXh0OiBbXSB9O1xuXG4gIHRvb2x0aXBUaXRsZUNvbnRleHQ6IHsgY29udGV4dDogVG9vbHRpcENvbnRleHQgfSA9IHsgY29udGV4dDogbnVsbCB9O1xuXG4gIGdldCBzZXJpZXNPcHRpb25zKCkge1xuICAgIGNvbnN0IGJhclNlcmllcyA9IHtcbiAgICAgIHN0YWNrOiB0aGlzLmJhclR5cGUgPT09ICdzdGFja2VkJyxcbiAgICAgIGJhbmR3aWR0aDogdGhpcy5iYW5kV2lkdGgsXG4gICAgICBpc0dyb3VwOiB0aGlzLmlzR3JvdXAsXG4gICAgICByYWRpdXM6IHRoaXMuYmFyUmFkaXVzLFxuICAgICAgY2xvc2VSYWRpdXNMYWRkZXI6IHRoaXMuY2xvc2VSYWRpdXNMYWRkZXIsXG4gICAgICBjb2x1bW5DbGljazogdGhpcy5jb2x1bW5DbGljayB8fCBudWxsLFxuICAgICAgbWluSGVpZ2h0OiB0aGlzLm1pbkhlaWdodCxcbiAgICB9O1xuICAgIGNvbnN0IGxpbmVTZXJpZXMgPSB7XG4gICAgICBzdGVwOiB0aGlzLnN0ZXBMaW5lLFxuICAgICAgY3VydmVUeXBlOiB0aGlzLmN1cnZlVHlwZSxcbiAgICAgIGxpbmVXaWR0aDogdGhpcy5saW5lV2lkdGgsXG4gICAgfTtcbiAgICBjb25zdCBhcmVhU2VyaWVzID0ge1xuICAgICAgY3VydmVUeXBlOiB0aGlzLmN1cnZlVHlwZSxcbiAgICAgIHN0YXJ0T3BhY2l0eTogdGhpcy5zdGFydE9wYWNpdHksXG4gICAgICBlbmRPcGFjaXR5OiB0aGlzLmVuZE9wYWNpdHksXG4gICAgICBsaW5lV2lkdGg6IHRoaXMubGluZVdpZHRoLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKHRoaXMuY2hhcnRUeXBlKSB7XG4gICAgICBjYXNlICdiYXInOiB7XG4gICAgICAgIHJldHVybiBiYXJTZXJpZXMgYXMgQmFyU2VyaWVzT3B0aW9uO1xuICAgICAgfVxuICAgICAgY2FzZSAnbGluZSc6IHtcbiAgICAgICAgcmV0dXJuIGxpbmVTZXJpZXMgYXMgTGluZVNlcmllc09wdGlvbjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2FyZWEnOiB7XG4gICAgICAgIHJldHVybiBhcmVhU2VyaWVzIGFzIEFyZWFTZXJpZXNPcHRpb247XG4gICAgICB9XG4gICAgICBjYXNlICdwaWUnOiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW5uZXJSYWRpdXM6IHRoaXMucGllSW5uZXJSYWRpdXMsXG4gICAgICAgICAgb3V0ZXJSYWRpdXM6IHRoaXMucGllT3V0ZXJSYWRpdXMsXG4gICAgICAgICAgc3RhcnRBbmdsZTogdGhpcy5waWVTdGFydEFuZ2xlLFxuICAgICAgICAgIGVuZEFuZ2xlOiB0aGlzLnBpZUVuZEFuZ2xlLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5waWVCYWNrZ3JvdW5kQ29sb3IgfHwgJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICB0b3RhbDogdGhpcy5waWVUb3RhbCxcbiAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgeDogdGhpcy5waWVMYWJlbFBvc2l0aW9uPy54IHx8ICc1MCUnLFxuICAgICAgICAgICAgICB5OiB0aGlzLnBpZUxhYmVsUG9zaXRpb24/LnkgfHwgJzUwJScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5uZXJEaXNjOiB0aGlzLnBpZUlubmVyRGlzYyxcbiAgICAgICAgICBpdGVtU3R5bGU6IHRoaXMucGllSXRlbVN0eWxlIHx8IHsgYm9yZGVyUmFkaXVzOiB0aGlzLmJhbmRXaWR0aCAvIDIgfSxcbiAgICAgICAgfSBhcyBQaWVTZXJpZXNPcHRpb247XG4gICAgICB9XG4gICAgICBjYXNlICdzY2F0dGVyJzoge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHNpemU6IHRoaXMuc2NhdHRlclNpemUsXG4gICAgICAgICAgLi4udGhpcy5zY2F0dGVyVGhyZXNob2xkLFxuICAgICAgICAgIHR5cGU6IHRoaXMuc2NhdHRlclR5cGUsXG4gICAgICAgICAgb3BhY2l0eTogdGhpcy5zY2F0dGVyT3BhY2l0eSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBpc0NhcmRNb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdjYXJkJztcbiAgfVxuXG4gIGdldCBzY2FsZVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMueFNjYWxlVHlwZSB8fCBTY2FsZVR5cGUuVElNRTtcbiAgfVxuXG4gIGdldCBpc1NjYWxlVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zY2FsZVR5cGUgPT09IFNjYWxlVHlwZS5USU1FO1xuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKTogVmlld09wdGlvbnMge1xuICAgIGNvbnN0IGRlZmF1bHRYQXhpc1RpY2tGb3JtYXR0ZXIgPSB0aGlzLmlzU2NhbGVUaW1lXG4gICAgICA/ICgpID0+IHRpbWVGb3JtYXQodGhpcy5kYXRlQXhpc0xhYmVsRm9ybWF0cyB8fCAnJUg6JU0nKVxuICAgICAgOiBudWxsO1xuICAgIGNvbnN0IHhBeGlzVGlja0Zvcm1hdHRlciA9XG4gICAgICB0aGlzLnhBeGlzVGlja0Zvcm1hdHRlciB8fCBkZWZhdWx0WEF4aXNUaWNrRm9ybWF0dGVyO1xuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21IZWFkZXI6IHRoaXMuY2hhcnRUeXBlICE9PSAncGllJyxcbiAgICAgIHR5cGU6IHRoaXMuc3RlcExpbmUgPyAnbGluZScgOiB0aGlzLmNoYXJ0VHlwZSxcbiAgICAgIG9mZnNldDoge1xuICAgICAgICB4OiB0aGlzLm1hcmdpbkxlZnQsXG4gICAgICAgIHk6IHRoaXMuaXNDYXJkTW9kZSA/IDUgOiAwLFxuICAgICAgfSxcbiAgICAgIHJvdGF0ZWQ6IHRoaXMucm90YXRlZCxcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIHRleHQ6IHRoaXMudGl0bGUgYXMgc3RyaW5nLFxuICAgICAgICBvZmZzZXRYOiB0aGlzLnRpdGxlT2Zmc2V0WCxcbiAgICAgICAgaGlkZTogdGhpcy5oaWRlVGl0bGUgfHwgdGhpcy5oaWRlSGVhZGVyLFxuICAgICAgICBmb3JtYXR0ZXI6ICgpID0+ICcnLFxuICAgICAgfSxcbiAgICAgIGxlZ2VuZDoge1xuICAgICAgICBoaWRlOiB0aGlzLmhpZGVIZWFkZXIsXG4gICAgICAgIGZvcm1hdHRlcjogKCkgPT4gJycsXG4gICAgICAgIG9mZnNldFk6IHRoaXMuaXNDYXJkTW9kZSA/IC04IDogMCxcbiAgICAgICAgaXNNb3VudDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBncmlkOiB7IHRvcDogdGhpcy5ncmlkT2Zmc2V0VG9wIHx8IDAgfSxcbiAgICAgIHlBeGlzOiB7XG4gICAgICAgIHRpY2tGb3JtYXR0ZXI6XG4gICAgICAgICAgdGhpcy55QXhpc1RpY2tGb3JtYXR0ZXIgfHxcbiAgICAgICAgICAoKHZhbHVlOiBudW1iZXIpID0+XG4gICAgICAgICAgICBgJHt0aGlzLmNvbnZlcnNpb25NYXhpbXVtKHZhbHVlKX0ke3RoaXMueUF4aXNUaWNrU3VmZml4IHx8ICcnfWApLFxuICAgICAgICBtaW5TdGVwOiB0aGlzLnlBeGlzTWluU3RlcCxcbiAgICAgIH0sXG4gICAgICB4QXhpczoge1xuICAgICAgICB0eXBlOiB0aGlzLnhTY2FsZVR5cGUgfHwgU2NhbGVUeXBlLlRJTUUsXG4gICAgICAgIHRpY2tGb3JtYXR0ZXI6IHhBeGlzVGlja0Zvcm1hdHRlcixcbiAgICAgICAgdGlja3M6IHRoaXMudGlja3MsXG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBoaWRlVGl0bGU6IHRoaXMudG9vbHRpcEhpZGVUaXRsZSxcbiAgICAgICAgdHJpZ2dlcjogdGhpcy50b29sdGlwVHJpZ2dlclR5cGUsXG4gICAgICAgIHRpdGxlRm9ybWF0dGVyOiB0aGlzLnRpdGxlRm9ybWF0dGVyLFxuICAgICAgICBpdGVtRm9ybWF0dGVyOiAoY29udGV4dDogVG9vbHRpcENvbnRleHRJdGVtW10pID0+IHtcbiAgICAgICAgICB0aGlzLnRvb2x0aXBJdGVtQ29udGV4dCA9IHRoaXMubWVyZ2VQb2ludENvbnRleHQoY29udGV4dCk7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRvb2x0aXBQb2ludFRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMudG9vbHRpcEl0ZW1WaXJ0dWFsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MXG4gICAgICAgICAgICA6IHRoaXMudG9vbHRpcEl0ZW1Db250ZXh0LmNvbnRleHQ7XG4gICAgICAgIH0sXG4gICAgICAgIG5hbWVGb3JtYXR0ZXI6ICh7IG5hbWUgfSkgPT5cbiAgICAgICAgICB0aGlzLnRvb2x0aXBUcmFuc2xhdGlvbiA/IHRoaXMudHJhbnNsYXRlLmdldChuYW1lLCBudWxsLCB0cnVlKSA6IG5hbWUsXG4gICAgICAgIHZhbHVlRm9ybWF0dGVyOiB0aGlzLnZhbHVlRm9ybWF0dGVyLFxuICAgICAgICBzb3J0OiB0aGlzLnRvb2x0aXBBdXRvU29ydCA/IChhLCBiKSA9PiBiLnkgLSBhLnkgOiBudWxsLFxuICAgICAgfSxcbiAgICAgIHNlcmllc09wdGlvbjogdGhpcy5zZXJpZXNPcHRpb25zLFxuICAgICAgem9vbToge1xuICAgICAgICBlbmFibGVkOiB0aGlzLmVuYWJsZVpvb20sXG4gICAgICAgIG9uem9vbVN0YXJ0OiAoZDogWm9vbVBhcmFtcykgPT4ge1xuICAgICAgICAgIHRoaXMuYXJlYVBvc2l0aW9uLngxID0gZC54O1xuICAgICAgICAgIHRoaXMuYXJlYVBvc2l0aW9uLnN0YXJ0WCA9IGQudmFsdWUueDtcbiAgICAgICAgfSxcbiAgICAgICAgb256b29tRW5kOiAoZDogWm9vbVBhcmFtcykgPT4ge1xuICAgICAgICAgIHRoaXMuYXJlYVBvc2l0aW9uLngyID0gZC54O1xuICAgICAgICAgIHRoaXMuYXJlYVBvc2l0aW9uLmVuZFggPSBkLnZhbHVlLng7XG4gICAgICAgICAgY29uc3QgeyBzdGFydFgsIGVuZFggfSA9IHRoaXMuYXJlYVBvc2l0aW9uO1xuICAgICAgICAgIGlmIChzdGFydFggIT09IGVuZFgpIHtcbiAgICAgICAgICAgIHRoaXMubW91c2VVcEV2ZW50Lm5leHQodGhpcy5hcmVhUG9zaXRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB4UGxvdExpbmU6IHtcbiAgICAgICAgY29sb3I6ICdyZWQnLFxuICAgICAgfSxcbiAgICAgIGNvbnRleHRDYWxsYmFja0Z1bmN0aW9uOiB0aGlzLmNvbnRleHRDYWxsYmFja0Z1bmN0aW9uLFxuICAgIH07XG4gIH1cblxuICBnZXQgdG9vbHRpcFRyaWdnZXJUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnRvb2x0aXBUcmlnZ2VyIHx8IHRoaXMuZ2V0VHJpZ2dlclR5cGUoKTtcbiAgfVxuXG4gIGdldFRyaWdnZXJUeXBlKCkge1xuICAgIHN3aXRjaCAodGhpcy5jaGFydFR5cGUpIHtcbiAgICAgIGNhc2UgJ2xpbmUnOlxuICAgICAgY2FzZSAnYXJlYSc6XG4gICAgICBjYXNlICdiYXInOiB7XG4gICAgICAgIHJldHVybiAnYXhpcyc7XG4gICAgICB9XG4gICAgICBjYXNlICdzY2F0dGVyJzoge1xuICAgICAgICByZXR1cm4gJ2l0ZW0nO1xuICAgICAgfVxuICAgICAgY2FzZSAncGllJzoge1xuICAgICAgICByZXR1cm4gJ25vbmUnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyh7IGVuYWJsZVpvb20gfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChlbmFibGVab29tPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY2hhcnQ/LnNldE9wdGlvbnMoeyB6b29tOiB7IGVuYWJsZWQ6IHRydWUgfSB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydCA9IENoYXJ0KHtcbiAgICAgIGNvbnRhaW5lcjogdGhpcy5jaGFydENvbnRhaW5lci5uYXRpdmVFbGVtZW50LFxuICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgZGF0YTogW10sXG4gICAgfSk7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5zZXJpZXMkLCB0aGlzLnhQbG90TGluZXMkLnBpcGUoc3RhcnRXaXRoKG51bGwpKV0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoW2RhdGEsIHJlc10pID0+IHtcbiAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5jaGFydC5zZXRPcHRpb25zKHtcbiAgICAgICAgICAgICAgdHlwZTpcbiAgICAgICAgICAgICAgICBkYXRhLmxlbmd0aCA+IDMgJiYgdGhpcy5jaGFydFR5cGUgPT09ICdhcmVhJ1xuICAgICAgICAgICAgICAgICAgPyAnbGluZSdcbiAgICAgICAgICAgICAgICAgIDogdGhpcy5jaGFydFR5cGUsXG4gICAgICAgICAgICAgIHNlcmllc09wdGlvbjoge1xuICAgICAgICAgICAgICAgIGxpbmVXaWR0aDogZGF0YS5sZW5ndGggPiAzID8gMSA6IHRoaXMubGluZVdpZHRoLFxuICAgICAgICAgICAgICAgIGFjdGl2ZUxpbmVXaWR0aDogZGF0YS5sZW5ndGggPiAzID8gMiA6IDMsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHlBeGlzOiB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLnlBeGlzLFxuICAgICAgICAgICAgICAgIG1heDogcmVzPy52YWx1ZSB8fCB0aGlzLm9wdGlvbnMueUF4aXMubWF4LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmhhbmRlbERhdGEoZGF0YSk7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0LmRhdGEodmFsdWVzKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmFkZEN1c3RvbUxlZ2VuZCh0aGlzLmNoYXJ0LmNoYXJ0VUlkKTtcbiAgICAgICAgICAgICAgdGhpcy5hZGRDdXN0b21UaXRsZSh0aGlzLmNoYXJ0LmNoYXJ0VUlkKTtcbiAgICAgICAgICAgICAgdGhpcy5hZGRQaWVMYWJlbFRleHQodGhpcy5jaGFydC5jaGFydFVJZCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIGNvbnN0IGxlZ2VuZEl0ZW1zID0gdGhpcy5jaGFydC5nZXRDb250cm9sbGVyKCdsZWdlbmQnKS5sZWdlbmRJdGVtcztcbiAgICAgICAgICAgIHRoaXMuaGFuZGVsQ2hhcnRTdGF0dXMoe1xuICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgbm9MZWdlbmQ6XG4gICAgICAgICAgICAgICAgbGVnZW5kSXRlbXMubGVuZ3RoICYmIGxlZ2VuZEl0ZW1zLmV2ZXJ5KGl0ZW0gPT4gIWl0ZW0uYWN0aXZhdGUpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnQ/LnVwZGF0ZVhQbG90TGluZShyZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIHRoaXMuY2hhcnQub24oUkVDVF9FVkVOVFMuQ0xJQ0ssICh2YWx1ZTogVG9vbHRpcENvbnRleHQpID0+IHtcbiAgICAgIHRoaXMubWFya0NsaWNrRXZlbnQubmV4dCh2YWx1ZSk7XG4gICAgICBpZiAoIXRoaXMueVBsb3RMaW5lc0hpZGUgJiYgdGhpcy55UGxvdExpbmVzKSB7XG4gICAgICAgIHRoaXMuY2hhcnQudXBkYXRlWVBsb3RMaW5lKHtcbiAgICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgICB0aXRsZTogZGF5anModmFsdWUudGl0bGUpLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbTpzcycpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnlQbG90TGluZXMkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB0aGlzLmNoYXJ0LnVwZGF0ZVlQbG90TGluZSh7XG4gICAgICAgICAgLi4ucmVzLFxuICAgICAgICAgIHRpdGxlOiBkYXlqcyhyZXMudGl0bGUpLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbTpzcycpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRlbERhdGEoZGF0YTogQ2hhcnREYXRhW10pIHtcbiAgICByZXR1cm4gZGF0YS5tYXAoZCA9PiAoe1xuICAgICAgLi4uZCxcbiAgICAgIHZhbHVlczogZC52YWx1ZXM/Lm1hcCh2ID0+ICh7XG4gICAgICAgIC4uLnYsXG4gICAgICAgIHg6IHRoaXMueEFjY2Vzc29yKHYpLFxuICAgICAgICB5OiB0aGlzLnlBY2Nlc3Nvcih2KSxcbiAgICAgIH0pKSxcbiAgICB9KSk7XG4gIH1cblxuICBhZGRDdXN0b21MZWdlbmQoY2hhcnRVSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGRvbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke2NoYXJ0VUlkfSAuYWMtbGVnZW5kYCk7XG4gICAgaWYgKCF0aGlzLmN1c3RvbUxlZ2VuZFJlZiAmJiBkb20gJiYgIXRoaXMuaGlkZUhlYWRlcikge1xuICAgICAgY29uc3QgcCA9IG5ldyBDb21wb25lbnRQb3J0YWwoTGVnZW5kQ29tcG9uZW50KTtcbiAgICAgIGNvbnN0IG8gPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgICBkb20sXG4gICAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICB0aGlzLmFwcFJlZixcbiAgICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgICk7XG4gICAgICB0aGlzLmN1c3RvbUxlZ2VuZFJlZiA9IHAuYXR0YWNoKG8pO1xuICAgICAgdGhpcy5jdXN0b21MZWdlbmRSZWYuaW5zdGFuY2UuY2hhcnQgPSB0aGlzLmNoYXJ0O1xuICAgICAgdGhpcy5jdXN0b21MZWdlbmRSZWYuaW5zdGFuY2Uuc3ltYm9sID0gWydiYXInLCAncGllJywgJ3NjYXR0ZXInXS5pbmNsdWRlcyhcbiAgICAgICAgdGhpcy5jaGFydFR5cGUsXG4gICAgICApXG4gICAgICAgID8gJ2NpcmNsZSdcbiAgICAgICAgOiAnbGluZSc7XG4gICAgICB0aGlzLmxlZnRPcGVyYXRpb24kLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3VzdG9tTGVnZW5kUmVmLmluc3RhbmNlLmxlZnRPcGVyYXRpb24gPSB0aGlzLmxlZnRPcGVyYXRpb247XG4gICAgICAgIHRoaXMuY3VzdG9tTGVnZW5kUmVmLmluc3RhbmNlLmxlZnRPcGVyYXRpb25Db250ZXh0ID1cbiAgICAgICAgICB0aGlzLmxlZnRPcGVyYXRpb25Db250ZXh0O1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmlnaHRPcGVyYXRpb24kLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3VzdG9tTGVnZW5kUmVmLmluc3RhbmNlLnJpZ2h0T3BlcmF0aW9uID0gdGhpcy5yaWdodE9wZXJhdGlvbjtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jdXN0b21MZWdlbmRSZWYuaW5zdGFuY2UubW9kZSA9IHRoaXMubW9kZTtcbiAgICAgIHRoaXMuY3VzdG9tTGVnZW5kUmVmLmluc3RhbmNlLmhpZGVMZWdlbmQgPSB0aGlzLmhpZGVMZWdlbmQ7XG4gICAgICB0aGlzLmN1c3RvbUxlZ2VuZFJlZi5pbnN0YW5jZS5zZWxlY3RBbGxOYW1lID0gdGhpcy5sZWdlbmRTZWxlY3RBbGxOYW1lO1xuICAgICAgdGhpcy5jdXN0b21MZWdlbmRSZWYuaW5zdGFuY2Uuc2VsZWN0QWxsT3BlcmF0aW9uID1cbiAgICAgICAgdGhpcy5sZWdlbmRTZWxlY3RBbGxPcGVyYXRpb247XG4gICAgICB0aGlzLmN1c3RvbUxlZ2VuZFJlZi5pbnN0YW5jZS50ZW1wbGF0ZSA9IHRoaXMubGVnZW5kVGVtcGxhdGU7XG4gICAgICB0aGlzLmN1c3RvbUxlZ2VuZFJlZi5pbnN0YW5jZS5jaGFuZ2VMZWdlbmRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRlbENoYXJ0U3RhdHVzKHtcbiAgICAgICAgICAgIG5vTGVnZW5kOiByZXMuZXZlcnkoaXRlbSA9PiAhaXRlbS5hY3RpdmF0ZSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFkZEN1c3RvbVRpdGxlKGNoYXJ0VUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkb20gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAuJHtjaGFydFVJZH0gLmFjLXRpdGxlYCk7XG4gICAgaWYgKCF0aGlzLmN1c3RvbVRpdGxlUmVmICYmIGRvbSAmJiAhdGhpcy5oaWRlSGVhZGVyKSB7XG4gICAgICBjb25zdCBwID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGl0bGVDb250YWluZXIsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICBjb25zdCBvID0gbmV3IERvbVBvcnRhbE91dGxldChcbiAgICAgICAgZG9tLFxuICAgICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgdGhpcy5hcHBSZWYsXG4gICAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICApO1xuICAgICAgdGhpcy5jdXN0b21UaXRsZVJlZiA9IHAuYXR0YWNoKG8pO1xuICAgIH1cbiAgfVxuXG4gIGFkZFBpZUxhYmVsVGV4dChjaGFydFVJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgZG9tID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7Y2hhcnRVSWR9IC5hYy1waWUtZ3VpZGVgKTtcbiAgICBpZiAoIXRoaXMuY3VzdG9tUGllTGFiZWxUZXh0UmVmICYmIGRvbSAmJiB0aGlzLnBpZUxhYmVsVGV4dCkge1xuICAgICAgY29uc3QgcCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgdGhpcy5waWVMYWJlbENvbnRhaW5lcixcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG8gPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgICBkb20sXG4gICAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICB0aGlzLmFwcFJlZixcbiAgICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgICk7XG4gICAgICB0aGlzLmN1c3RvbVBpZUxhYmVsVGV4dFJlZiA9IHAuYXR0YWNoKG8pO1xuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5yZWZyZXNoRXZlbnQubmV4dChudWxsKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5jdXN0b21MZWdlbmRSZWY/LmRlc3Ryb3koKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWVyZ2VQb2ludENvbnRleHQgPSAoY29udGV4dDogVG9vbHRpcENvbnRleHRJdGVtW10pID0+ICh7XG4gICAgY29udGV4dDogdGhpcy5saW1pdE1heENvbnRleHQoY29udGV4dCksXG4gICAgLi4uKHRoaXMudG9vbHRpcFBvaW50VGVtcGxhdGVDb250ZXh0IGFzIFN0cmluZ01hcCksXG4gIH0pO1xuXG4gIHByaXZhdGUgaGFuZGVsQ2hhcnRTdGF0dXMoc3RhdHVzOiBDaGFydFN0YXR1cykge1xuICAgIHRoaXMuX2NoYXJ0U3RhdHVzJCQubmV4dCh7XG4gICAgICAuLi5zdGF0dXMsXG4gICAgfSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaW1pdE1heENvbnRleHQoY29udGV4dDogVG9vbHRpcENvbnRleHRJdGVtW10sIGxpbWl0ID0gMTUpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBjb250ZXh0LnNsaWNlKDAsIGxpbWl0KTtcbiAgICBjb25zdCBleGlzdEFjdGl2ZSA9XG4gICAgICBjb250ZXh0LnNvbWUoaXRlbSA9PiBpdGVtLmFjdGl2YXRlZCkgJiYgdmFsdWVzLnNvbWUoZCA9PiAhZC5hY3RpdmF0ZWQpO1xuICAgIGlmICghZXhpc3RBY3RpdmUgJiYgY29udGV4dC5sZW5ndGggPiBsaW1pdCkge1xuICAgICAgY29uc3QgZGF0YSA9IGNvbnRleHQuZmluZChpdGVtID0+IGl0ZW0uYWN0aXZhdGVkKTtcbiAgICAgIHJldHVybiBkYXRhID8gWy4uLnZhbHVlcy5zbGljZSgwLCBsaW1pdCAtIDEpLCBkYXRhXSA6IHZhbHVlcztcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlcztcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFBvaW50Rm9ybWF0ID0gcG9pbnRGb3JtYXQ7XG5cbiAgcHJpdmF0ZSBjb252ZXJzaW9uTWF4aW11bSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgdW5pdCA9ICdrJztcbiAgICBpZiAodmFsdWUgPj0gMTAwMCkge1xuICAgICAgY29uc3QgbnVtID0gKyh2YWx1ZSAvIDEwMDApLnRvRml4ZWQoMik7XG4gICAgICByZXR1cm4gYCR7bnVtfSR7dW5pdH1gO1xuICAgIH1cbiAgICByZXR1cm4gJycgKyB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGl0bGVGb3JtYXR0ZXIgPSAoY29udGV4dDogVG9vbHRpcENvbnRleHQpID0+IHtcbiAgICB0aGlzLnRvb2x0aXBUaXRsZUNvbnRleHQgPSB7IGNvbnRleHQgfTtcbiAgICBjb25zdCB0aXRsZSA9XG4gICAgICB0aGlzLnRvb2x0aXBUcmFuc2xhdGlvbiAmJiAhdGhpcy50b29sdGlwVGl0bGVUZW1wbGF0ZVxuICAgICAgICA/IHRoaXMudHJhbnNsYXRlLmdldChjb250ZXh0LnRpdGxlIGFzIHN0cmluZywgbnVsbCwgdHJ1ZSkgfHxcbiAgICAgICAgICBjb250ZXh0LnRpdGxlXG4gICAgICAgIDogY29udGV4dC50aXRsZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICByZXR1cm4gdGhpcy50b29sdGlwVGl0bGVUZW1wbGF0ZVxuICAgICAgPyB0aGlzLnRvb2x0aXBUaXRsZVZpcnR1YWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUxcbiAgICAgIDogaGFuZGxlRGF0ZUZvcm1hdCh0aXRsZSk7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZUZvcm1hdHRlciA9ICh2YWx1ZTogVG9vbHRpcENvbnRleHRJdGVtKSA9PiB7XG4gICAgY29uc3QgcmVzID0gdGhpcy50b29sdGlwUG9pbnRGb3JtYXRcbiAgICAgID8gdGhpcy50b29sdGlwUG9pbnRGb3JtYXQodmFsdWUpXG4gICAgICA6IHRoaXMuZGVmYXVsdFBvaW50Rm9ybWF0KHZhbHVlLnkpO1xuICAgIHJldHVybiB0aGlzLmhpZGVUb29sdGlwVW5pdCAmJiAhdGhpcy51bml0XG4gICAgICA/IChyZXMgYXMgc3RyaW5nKVxuICAgICAgOiBgJHtyZXN9ICR7dGhpcy50cmFuc2xhdGUuZ2V0KHRoaXMudW5pdCwgbnVsbCwgdHJ1ZSl9YDtcbiAgfTtcbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhYy1jaGFydFwiXG4gIFtjbGFzcy5hYy1ub24tY2hhcnRdPVwiY2hhcnRUeXBlID09PSAncGllJ1wiXG4gIFtjbGFzcy5hYy1iYXJdPVwiY2hhcnRUeXBlID09PSAnYmFyJ1wiXG4gIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImJhY2tncm91bmRcIlxuPlxuICA8ZGl2XG4gICAgI2NoYXJ0Q29udGFpbmVyXG4gICAgY2xhc3M9XCJhYy1jaGFydC1jb250YWluZXIgdHctdy1mdWxsIHR3LWgtZnVsbFwiXG4gID48L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJhYy1jaGFydC1zdGF0dXNcIlxuICAgICpuZ0lmPVwic3RhdHVzJCB8IGFzeW5jIGFzIHN0YXR1c1wiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInN0YXR1cy5mYWlsZWQgJiYgIXN0YXR1cy5sb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwic3RhdHVzIGZhaWxlZFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUVycm9yQ29udGFpbmVyOyBlbHNlIG5vQ3VzdG9tRXJyb3JDb250YWluZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21FcnJvckNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI25vQ3VzdG9tRXJyb3JDb250YWluZXI+XG4gICAgICAgIDxhdWktaWNvblxuICAgICAgICAgIGljb249XCJleGNsYW1hdGlvbl90cmlhbmdsZV9zXCJcbiAgICAgICAgICBiYWNrZ3JvdW5kPVwidHJpYW5nbGVcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgJ2ZhaWxlZF9sb2FkX3BsZWFzZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICgncmVmcmVzaCcgfCB0cmFuc2xhdGUpLnRvTG93ZXJDYXNlKCkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwic3RhdHVzLmxvYWRpbmdcIlxuICAgICAgY2xhc3M9XCJzdGF0dXMgbG9hZGluZ1wiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJzcGlubmVyXCI+PC9hdWktaWNvbj4ge3sgJ2xvYWRpbmcnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJzdGF0dXMubm9MZWdlbmQgJiYgIXN0YXR1cy5sb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwic3RhdHVzIG5vLWxlZ2VuZFwiXG4gICAgPlxuICAgICAge3sgJ25vX2luZGljYXRvcl9zZWxlY3RlZCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwic3RhdHVzLm5vRGF0YSAmJiAhc3RhdHVzLmxvYWRpbmcgJiYgIXN0YXR1cy5mYWlsZWRcIlxuICAgICAgY2xhc3M9XCJzdGF0dXMgbm8tZGF0YVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGN1c3RvbU5vRGF0YVRpdGxlICYmIGlzVGVtcGxhdGVSZWYoY3VzdG9tTm9EYXRhVGl0bGUpO1xuICAgICAgICAgIGVsc2Ugbm9EYXRhVGl0bGVUZW1wbGF0ZVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vRGF0YVRpdGxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EYXRhVGl0bGVUZW1wbGF0ZT5cbiAgICAgICAge3sgY3VzdG9tTm9EYXRhVGl0bGUgfHwgKCdub19kYXRhJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gdGl0bGUgVGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI3RpdGxlQ29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZih0aXRsZSk7IGVsc2UgVGl0bGVUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYodGl0bGVEZXNjcmlwdGlvbik7IGVsc2UgVGl0bGVEZXNUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlRGVzY3JpcHRpb25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInRpdGxlRGVzY3JpcHRpb25Db250ZXh0XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNUaXRsZVRlbXBsYXRlPlxuICB7eyB0aXRsZSB9fVxuICB7eyB1bml0ID8gJygnICsgKHVuaXQgfCB0cmFuc2xhdGU6IHt9OnRydWUpICsgJyknIDogJycgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjVGl0bGVEZXNUZW1wbGF0ZT5cbiAge3sgdGl0bGVEZXNjcmlwdGlvbiB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSB0b29sdGlwIHRlbXBsYXRlIC0tPlxuPGRpdlxuICAjdG9vbHRpcEl0ZW1WaXJ0dWFsXG4gIGNsYXNzPVwiaGlkZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sdGlwUG9pbnRUZW1wbGF0ZVwiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInRvb2x0aXBJdGVtQ29udGV4dFwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2XG4gICN0b29sdGlwVGl0bGVWaXJ0dWFsXG4gIGNsYXNzPVwiaGlkZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sdGlwVGl0bGVUZW1wbGF0ZVwiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInRvb2x0aXBUaXRsZUNvbnRleHRcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdlxuICAjdG9vbHRpcE5hbWVWaXJ0dWFsXG4gIGNsYXNzPVwiaGlkZVwiXG4+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidG9vbHRpcFBvaW50TmFtZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwaWVMYWJlbENvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwicGllTGFiZWxUZXh0ICYmIGlzVGVtcGxhdGVSZWYocGllTGFiZWxUZXh0KTsgZWxzZSBzdHJpbmdQaWVMYWJlbFRleHRcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwaWVMYWJlbFRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjc3RyaW5nUGllTGFiZWxUZXh0PlxuICAgIHt7IHBpZUxhYmVsVGV4dCB9fVxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -109,5 +109,5 @@ export class LegendDropdownComponent {
109
109
  }], isCard: [{
110
110
  type: Input
111
111
  }] }); })();
112
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendDropdownComponent, { className: "LegendDropdownComponent" }); })();
112
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendDropdownComponent, { className: "LegendDropdownComponent", filePath: "view-zchart/custom-template/dropdown-legend.ts", lineNumber: 56 }); })();
113
113
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3ZpZXctemNoYXJ0L2N1c3RvbS10ZW1wbGF0ZS9kcm9wZG93bi1sZWdlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQzs7Ozs7SUFPbkIsNkJBQWlEO0lBQy9DLDhCQVNZOzs7OztJQU5WLGNBQW1DO0lBQ25DLEFBREEsb0RBQW1DLDZFQUNEOzs7SUFRcEMsaUNBV0M7SUFDQyw4QkFBOEM7SUFDaEQsaUJBQVM7Ozs7SUFQUCxBQURBLEFBSEEsNkJBQWUsdUNBR29CLDZFQUNEOzs7SUFXcEMsNkJBQWtFO0lBQ2hFLDhCQUE2QjtJQUMzQiwyQkFBaUU7SUFDbkUsaUJBQU07Ozs7SUFEVSxlQUFtQztJQUFuQyx3REFBbUM7OztJQUluRCwrQkFBc0I7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTzs7SUFBbEMsY0FBMkI7SUFBM0IscURBQTJCOzs7SUFEbkQsQUFMQSx3R0FBa0UsMEhBS3JDOzs7O0lBTGdCLEFBQTlCLDJEQUE4QiwrQkFBbUI7O0FBYXRFLE1BQU0sT0FBTyx1QkFBdUI7d0ZBQXZCLHVCQUF1QjtvRUFBdkIsdUJBQXVCO1lBZGhDLEFBakJBLEFBWkEsMEZBQWlELDRHQVl0Qiw0R0FpQlE7OztZQTdCTCxBQUFmLGtDQUFlLDZCQUFpQjs7O2lGQTJDdEMsdUJBQXVCO2NBOUNuQyxTQUFTOzJCQUNFLDBCQUEwQixZQUMxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTTtnQkFHdEMsSUFBSTtrQkFBWixLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSzs7a0ZBSkssdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4uLy4uL2NoYXJ0L2NvbW1vbi9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXZpZXctbGVnZW5kLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ2FyZDsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgIGljb249XCJwcm9kOmNoYXJ0X2xlZ2VuZFwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cImRyb3Bkb3duSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgZGF0YTogW10gfVwiXG4gICAgICAgIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gICAgICAgIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBlbmRcIlxuICAgICAgICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgICAgYXVpVG9vbHRpcEFjdGl2ZT1cImxlZ2VuZEFjdGl2ZVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvblxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgIGljb249XCJwcm9kOmNoYXJ0X2xlZ2VuZFwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cImRyb3Bkb3duSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgZGF0YTogW10gfVwiXG4gICAgICAgIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gICAgICAgIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBlbmRcIlxuICAgICAgICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgICAgYXVpVG9vbHRpcEFjdGl2ZT1cImxlZ2VuZEFjdGl2ZVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwicHJvZDpjaGFydF9sZWdlbmRcIj48L2F1aS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25JdGVtVGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5sZW5ndGggJiYgIW5vRGF0YTsgZWxzZSBub0RhdGFUZW1wbGF0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLXZlcnRpY2FsXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWdlbmRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNub0RhdGFUZW1wbGF0ZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJuby1kYXRhXCI+e3sgJ25vX2RhdGEnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1sZWdlbmQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTGVnZW5kRHJvcGRvd25Db21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBMZWdlbmRJdGVtW107XG4gIEBJbnB1dCgpIGxlZ2VuZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQElucHV0KCkgbm9EYXRhOiBib29sZWFuO1xuICBASW5wdXQoKSBpc0NhcmQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -261,5 +261,5 @@ export class LegendComponent {
261
261
  }], changeLegend: [{
262
262
  type: Output
263
263
  }] }); })();
264
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendComponent, { className: "LegendComponent" }); })();
264
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendComponent, { className: "LegendComponent", filePath: "view-zchart/legend/legend.component.ts", lineNumber: 36 }); })();
265
265
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy92aWV3LXpjaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy92aWV3LXpjaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQXlCLFVBQVUsRUFBUSxNQUFNLFVBQVUsQ0FBQzs7Ozs7O0lDZDFFLDhCQUdDO0lBQ0MsMkJBR2dCO0lBQ2xCLGlCQUFNOzs7SUFIRixjQUFrQztJQUNsQyxBQURBLHVEQUFrQyx3REFDYzs7O0lBU2hELCtDQVEyQjs7OztJQUZ6QixBQURBLEFBREEsQUFEQSwyQ0FBc0IseUJBQ0wscUNBQ2dCLGtDQUNQOzs7SUFHNUIsNkJBQStDO0lBQzdDLDRCQUFpRTs7Ozs7SUFBbkQsY0FBbUM7SUFBbkMsb0RBQW1DOzs7SUFYckQsNkJBQTZDO0lBVTNDLEFBVEEsK0hBT0MsMkZBRThDOzs7O0lBUDVDLGNBQThCO0lBQTlCLHNEQUE4QjtJQU9sQixjQUE4QjtJQUE5QixzREFBOEI7OztJQUs3Qyw2QkFBb0U7SUFDbEUsMkJBR2dCOzs7O0lBRmQsY0FBbUM7SUFDbkMsQUFEQSxrREFBbUMsNkVBQ21COzs7SUFLdEQsK0NBUTJCOzs7O0lBRnpCLEFBREEsQUFEQSxBQURBLDJDQUFzQix5QkFDTCxxQ0FD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VUFBVTtrQkFBbEIsS0FBSztZQUVHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFFRyxLQUFLO2tCQUFiLEtBQUs7WUFFSSxZQUFZO2tCQUFyQixNQUFNOztrRkF2QkksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzVGVtcGxhdGVSZWYgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQ2hhcnQsIExlZ2VuZCBhcyBDaGFydExlZ2VuZCwgQ2hhcnRFdmVudCwgRGF0YSB9IGZyb20gJ3p6LWNoYXJ0JztcblxuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGludGVyZmFjZSBMZWdlbmRJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb2xvcjogc3RyaW5nO1xuICBhY3RpdmF0ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBMZWdlbmRQYXlsb2FkIHtcbiAgbGVnZW5kOiBMZWdlbmRJdGVtO1xuICBzb3VyY2U6IExlZ2VuZEl0ZW1bXTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWJhc2UtbGVnZW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xlZ2VuZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTGVnZW5kQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzeW1ib2w6ICdjaXJjbGUnIHwgJ3NxdWFyZScgfCAnbGluZScgPSAnbGluZSc7XG5cbiAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgc3RyaW5nIHwgJ2Ryb3Bkb3duJztcblxuICBASW5wdXQoKSBtb2RlOiAnY2FyZCcgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCc7XG5cbiAgQElucHV0KCkgdHJhbnNsYXRpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGxlZnRPcGVyYXRpb246IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIGxlZnRPcGVyYXRpb25Db250ZXh0OiBTdHJpbmdNYXA7XG5cbiAgQElucHV0KCkgcmlnaHRPcGVyYXRpb246IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIGhpZGVMZWdlbmQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2VsZWN0QWxsT3BlcmF0aW9uID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2VsZWN0QWxsTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGNoYXJ0OiBDaGFydDtcblxuICBAT3V0cHV0KCkgY2hhbmdlTGVnZW5kID0gbmV3IEV2ZW50RW1pdHRlcjxMZWdlbmRJdGVtW10+KCk7XG5cbiAgZ2V0IG5vRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5sZWdlbmRFbnRyaWVzPy5sZW5ndGggPT09IDAgfHwgIXRoaXMubGVnZW5kRW50cmllcztcbiAgfVxuXG4gIGdldCBsZWdlbmRJbnN0YW5jZSgpOiBDaGFydExlZ2VuZCB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LmNvbXBvbmVudHMuZ2V0KCdsZWdlbmQnKSBhcyBDaGFydExlZ2VuZDtcbiAgfVxuXG4gIGdldCBsZWdlbmRJdGVtKCk6IExlZ2VuZEl0ZW1bXSB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxlZ2VuZEluc3RhbmNlPy5nZXRMZWdlbmQoKSBhcyBMZWdlbmRJdGVtW10pPy5tYXAobGVnZW5kID0+ICh7XG4gICAgICAgIC4uLmxlZ2VuZCxcbiAgICAgICAgYWN0aXZhdGU6IHRydWUsXG4gICAgICB9KSkgfHwgW11cbiAgICApO1xuICB9XG5cbiAgbGVnZW5kRW50cmllczogTGVnZW5kSXRlbVtdID0gW107XG5cbiAgaXNUZW1wbGF0ZVJlZiA9IGlzVGVtcGxhdGVSZWY7XG5cbiAgYWxsU2VsZWN0ZWQgPSB0cnVlO1xuXG4gIGdldCBzeW1ib2xOYW1lKCkge1xuICAgIHJldHVybiBgc3ltYm9sLSR7dGhpcy5zeW1ib2x9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25DaGFuZ2VzKHsgY2hhcnQgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFydC5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMubGVnZW5kRW50cmllcyA9IHRoaXMubGVnZW5kSXRlbTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxlZ2VuZEVudHJpZXMgPSB0aGlzLmxlZ2VuZEl0ZW07XG5cbiAgICB0aGlzLmNoYXJ0Py5vbihDaGFydEV2ZW50LkRBVEFfQ0hBTkdFLCAoZGF0YTogRGF0YSkgPT4ge1xuICAgICAgdGhpcy5sZWdlbmRFbnRyaWVzID0gZGF0YS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIGQpID0+IFtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgLi4uKGQubmFtZVxuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IGQuY29sb3IsXG4gICAgICAgICAgICAgICAgICBhY3RpdmF0ZTogIXRoaXMubGVnZW5kSW5zdGFuY2UuaW5hY3RpdmF0ZWRTZXQuaGFzKGQubmFtZSksXG4gICAgICAgICAgICAgICAgICBob3ZlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogZC52YWx1ZXNbZC52YWx1ZXM/Lmxlbmd0aCAtIDFdLnksXG4gICAgICAgICAgICAgICAgICBzb3VyY2U6IGQsXG4gICAgICAgICAgICAgICAgICB1bml0OiBnZXQoZCwgJ3VuaXQnKSxcbiAgICAgICAgICAgICAgICAgIC4uLmQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgIF0sXG4gICAgICAgIFtdLFxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLmxlZ2VuZEVudHJpZXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlTGVnZW5kLm5leHQodGhpcy5sZWdlbmRFbnRyaWVzKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0ZWQobGVnZW5kOiBMZWdlbmRJdGVtKSB7XG4gICAgdGhpcy5sZWdlbmRJbnN0YW5jZS5sZWdlbmRJdGVtQ2xpY2soe1xuICAgICAgbmFtZTogbGVnZW5kLm5hbWUsXG4gICAgICBhY3RpdmF0ZWQ6ICFsZWdlbmQuYWN0aXZhdGUsXG4gICAgfSk7XG4gICAgY29uc3QgbGVnZW5kSXRlbSA9IHRoaXMubGVnZW5kRW50cmllcy5maW5kKFxuICAgICAgaXRlbSA9PiBpdGVtLm5hbWUgPT09IGxlZ2VuZC5uYW1lLFxuICAgICk7XG4gICAgbGVnZW5kSXRlbS5hY3RpdmF0ZSA9ICFsZWdlbmQuYWN0aXZhdGU7XG4gICAgdGhpcy5jaGFuZ2VMZWdlbmQubmV4dCh0aGlzLmxlZ2VuZEVudHJpZXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYWxsU2VsZWN0KHNlbGVjdDogYm9vbGVhbikge1xuICAgIHRoaXMubGVnZW5kRW50cmllcy5mb3JFYWNoKGxlZ2VuZCA9PiB7XG4gICAgICB0aGlzLmxlZ2VuZEluc3RhbmNlLmxlZ2VuZEl0ZW1DbGljayh7XG4gICAgICAgIG5hbWU6IGxlZ2VuZC5uYW1lLFxuICAgICAgICBhY3RpdmF0ZWQ6IHNlbGVjdCxcbiAgICAgIH0pO1xuICAgICAgbGVnZW5kLmFjdGl2YXRlID0gc2VsZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuY2hhbmdlTGVnZW5kLm5leHQodGhpcy5sZWdlbmRFbnRyaWVzKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cIm9wZXJhdGlvblwiXG4gICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihsZWZ0T3BlcmF0aW9uKVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0T3BlcmF0aW9uXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwibGVmdE9wZXJhdGlvbkNvbnRleHRcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdlxuICBjbGFzcz1cImxlZ2VuZC13cmFwIG9wZXJhdGlvblwiXG4gICpuZ0lmPVwiIWhpZGVMZWdlbmRcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRlbXBsYXRlOyBlbHNlIGN1c3RvbVwiPlxuICAgIDxhY2wtdmlldy1sZWdlbmQtZHJvcGRvd25cbiAgICAgIGNsYXNzPVwibGVnZW5kLXZlcnRpY2FsXCJcbiAgICAgICpuZ0lmPVwibGVnZW5kRW50cmllcy5sZW5ndGggPiAzXCJcbiAgICAgIFtkYXRhXT1cImxlZ2VuZEVudHJpZXNcIlxuICAgICAgW25vRGF0YV09XCJub0RhdGFcIlxuICAgICAgW2xlZ2VuZFRlbXBsYXRlXT1cImxlZ2VuZFRlbXBsYXRlXCJcbiAgICAgIFtpc0NhcmRdPVwibW9kZSA9PT0gJ2NhcmQnXCJcbiAgICA+XG4gICAgPC9hY2wtdmlldy1sZWdlbmQtZHJvcGRvd24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxlZ2VuZEVudHJpZXMubGVuZ3RoIDwgNFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWdlbmRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNjdXN0b20+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYodGVtcGxhdGUpOyBlbHNlIGJ1aWx0aW5UZW1wbGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KHRlbXBsYXRlKVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGNvbnRleHQ6IGxlZ2VuZEVudHJpZXMgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNidWlsdGluVGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0ZW1wbGF0ZVwiPlxuICAgICAgICA8YWNsLXZpZXctbGVnZW5kLWRyb3Bkb3duXG4gICAgICAgICAgY2xhc3M9XCJsZWdlbmQtdmVydGljYWxcIlxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInZHJvcGRvd24nXCJcbiAgICAgICAgICBbZGF0YV09XCJsZWdlbmRFbnRyaWVzXCJcbiAgICAgICAgICBbbm9EYXRhXT1cIm5vRGF0YVwiXG4gICAgICAgICAgW2xlZ2VuZFRlbXBsYXRlXT1cImxlZ2VuZFRlbXBsYXRlXCJcbiAgICAgICAgICBbaXNDYXJkXT1cIm1vZGUgPT09ICdjYXJkJ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9hY2wtdmlldy1sZWdlbmQtZHJvcGRvd24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxkaXZcbiAgY2xhc3M9XCJvcGVyYXRpb25cIlxuICAqbmdJZj1cImlzVGVtcGxhdGVSZWYocmlnaHRPcGVyYXRpb24pXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodE9wZXJhdGlvblwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbGVnZW5kVGVtcGxhdGU+XG4gIDx1bCBjbGFzcz1cImxlZ2VuZC1sYWJlbHNcIj5cbiAgICA8bGlcbiAgICAgIGNsYXNzPVwic2VsZWN0LWFsbFwiXG4gICAgICAqbmdJZj1cIiFub0RhdGEgJiYgc2VsZWN0QWxsT3BlcmF0aW9uICYmIHRlbXBsYXRlID09PSAnZHJvcGRvd24nXCJcbiAgICA+XG4gICAgICA8YXVpLWNoZWNrYm94XG4gICAgICAgIFsobmdNb2RlbCldPVwiYWxsU2VsZWN0ZWRcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhbGxTZWxlY3QoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIHt7IHNlbGVjdEFsbE5hbWUgfHwgKCdzZWxlY3RfYWxsJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgIDwvYXVpLWNoZWNrYm94PlxuICAgIDwvbGk+XG4gICAgPGxpXG4gICAgICBjbGFzcz1cImxlZ2VuZC1sYWJlbFwiXG4gICAgICBbY2xhc3MuZGlzYWJsZV09XCIhbGVnZW5kLmFjdGl2YXRlIHx8IG5vRGF0YVwiXG4gICAgICBbY2xhc3MuZm9yYmlkXT1cIm5vRGF0YVwiXG4gICAgICBbdGl0bGVdPVwiKGxlZ2VuZC5hY3RpdmF0ZSA/ICdjbGlja19oaWRlJyA6ICdjbGlja19zaG93JykgfCB0cmFuc2xhdGVcIlxuICAgICAgKm5nRm9yPVwibGV0IGxlZ2VuZCBvZiBsZWdlbmRFbnRyaWVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RlZChsZWdlbmQpXCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBbbmdDbGFzc109XCJbc3ltYm9sTmFtZSwgJ2xhYmVsLXN5bWJvbCddXCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwibGVnZW5kLmNvbG9yXCJcbiAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtbmFtZVwiPnt7XG4gICAgICAgIHRyYW5zbGF0aW9uID8gKGxlZ2VuZC5uYW1lIHwgdHJhbnNsYXRlOiB7fTp0cnVlKSA6IGxlZ2VuZC5uYW1lXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==