@wavemaker/app-ng-runtime 11.10.3-next.25128 → 11.10.3-rc.6079

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 (155) hide show
  1. package/components/basic/default/bundles/index.umd.js +68 -68
  2. package/components/basic/default/esm2022/anchor/anchor.component.mjs +18 -18
  3. package/components/basic/default/esm2022/icon/icon.component.mjs +13 -12
  4. package/components/basic/default/esm2022/iframe/iframe.component.mjs +10 -9
  5. package/components/basic/default/esm2022/spinner/spinner.component.mjs +21 -21
  6. package/components/basic/default/esm2022/video/video.component.mjs +15 -14
  7. package/components/basic/default/fesm2022/index.mjs +68 -68
  8. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  9. package/components/basic/progress/bundles/index.umd.js +17 -16
  10. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +8 -7
  11. package/components/basic/progress/fesm2022/index.mjs +9 -8
  12. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  13. package/components/basic/rich-text-editor/bundles/index.umd.js +12 -11
  14. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +9 -8
  15. package/components/basic/rich-text-editor/fesm2022/index.mjs +8 -7
  16. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  17. package/components/basic/search/bundles/index.umd.js +67 -63
  18. package/components/basic/search/esm2022/search.component.mjs +67 -63
  19. package/components/basic/search/esm2022/search.module.mjs +2 -2
  20. package/components/basic/search/fesm2022/index.mjs +67 -63
  21. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  22. package/components/chart/bundles/index.umd.js +17 -17
  23. package/components/chart/esm2022/chart.component.mjs +18 -18
  24. package/components/chart/fesm2022/index.mjs +17 -17
  25. package/components/chart/fesm2022/index.mjs.map +1 -1
  26. package/components/containers/panel/bundles/index.umd.js +39 -39
  27. package/components/containers/panel/esm2022/panel.component.mjs +40 -40
  28. package/components/containers/panel/fesm2022/index.mjs +39 -39
  29. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  30. package/components/containers/tabs/bundles/index.umd.js +29 -29
  31. package/components/containers/tabs/esm2022/tabs.component.mjs +30 -30
  32. package/components/containers/tabs/fesm2022/index.mjs +29 -29
  33. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  34. package/components/containers/wizard/bundles/index.umd.js +49 -49
  35. package/components/containers/wizard/esm2022/wizard.component.mjs +50 -50
  36. package/components/containers/wizard/fesm2022/index.mjs +49 -49
  37. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  38. package/components/data/card/bundles/index.umd.js +29 -29
  39. package/components/data/card/esm2022/card.component.mjs +30 -30
  40. package/components/data/card/fesm2022/index.mjs +29 -29
  41. package/components/data/card/fesm2022/index.mjs.map +1 -1
  42. package/components/data/form/bundles/index.umd.js +96 -91
  43. package/components/data/form/esm2022/form.component.mjs +97 -92
  44. package/components/data/form/fesm2022/index.mjs +96 -91
  45. package/components/data/form/fesm2022/index.mjs.map +1 -1
  46. package/components/data/list/bundles/index.umd.js +173 -171
  47. package/components/data/list/esm2022/list.component.mjs +173 -171
  48. package/components/data/list/esm2022/list.module.mjs +2 -2
  49. package/components/data/list/fesm2022/index.mjs +173 -171
  50. package/components/data/list/fesm2022/index.mjs.map +1 -1
  51. package/components/data/pagination/bundles/index.umd.js +32 -32
  52. package/components/data/pagination/esm2022/pagination.component.mjs +33 -33
  53. package/components/data/pagination/fesm2022/index.mjs +32 -32
  54. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  55. package/components/data/table/bundles/index.umd.js +38 -39
  56. package/components/data/table/esm2022/table.component.mjs +39 -40
  57. package/components/data/table/fesm2022/index.mjs +38 -39
  58. package/components/data/table/fesm2022/index.mjs.map +1 -1
  59. package/components/dialogs/default/bundles/index.umd.js +95 -66
  60. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +96 -67
  61. package/components/dialogs/default/fesm2022/index.mjs +95 -66
  62. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  63. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -7
  64. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -8
  65. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -7
  66. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  67. package/components/dialogs/iframe-dialog/bundles/index.umd.js +25 -24
  68. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +16 -15
  69. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +15 -14
  70. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  71. package/components/dialogs/partial-dialog/bundles/index.umd.js +8 -8
  72. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +9 -9
  73. package/components/dialogs/partial-dialog/fesm2022/index.mjs +8 -8
  74. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  75. package/components/input/chips/bundles/index.umd.js +21 -21
  76. package/components/input/chips/esm2022/chips.component.mjs +22 -22
  77. package/components/input/chips/fesm2022/index.mjs +21 -21
  78. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  79. package/components/input/default/bundles/index.umd.js +209 -201
  80. package/components/input/default/esm2022/button/button.component.mjs +18 -18
  81. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +69 -68
  82. package/components/input/default/esm2022/radioset/radioset.component.mjs +69 -68
  83. package/components/input/default/esm2022/select/select.component.mjs +27 -21
  84. package/components/input/default/esm2022/switch/switch.component.mjs +24 -24
  85. package/components/input/default/esm2022/textarea/textarea.component.mjs +8 -8
  86. package/components/input/default/fesm2022/index.mjs +209 -201
  87. package/components/input/default/fesm2022/index.mjs.map +1 -1
  88. package/components/input/epoch/bundles/index.umd.js +164 -171
  89. package/components/input/epoch/esm2022/date/date.component.mjs +15 -14
  90. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +59 -64
  91. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +19 -18
  92. package/components/input/epoch/esm2022/picker/picker.component.mjs +25 -26
  93. package/components/input/epoch/esm2022/time/time.component.mjs +18 -17
  94. package/components/input/epoch/fesm2022/index.mjs +117 -124
  95. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  96. package/components/input/file-upload/bundles/index.umd.js +114 -111
  97. package/components/input/file-upload/esm2022/file-upload.component.mjs +115 -112
  98. package/components/input/file-upload/fesm2022/index.mjs +114 -111
  99. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  100. package/components/input/rating/bundles/index.umd.js +14 -14
  101. package/components/input/rating/esm2022/rating.component.mjs +15 -15
  102. package/components/input/rating/fesm2022/index.mjs +14 -14
  103. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  104. package/components/input/slider/bundles/index.umd.js +40 -39
  105. package/components/input/slider/esm2022/slider.component.mjs +11 -10
  106. package/components/input/slider/fesm2022/index.mjs +10 -9
  107. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  108. package/components/navigation/breadcrumb/bundles/index.umd.js +15 -16
  109. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +16 -17
  110. package/components/navigation/breadcrumb/fesm2022/index.mjs +15 -16
  111. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  112. package/components/navigation/menu/bundles/index.umd.js +71 -69
  113. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +7 -7
  114. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +15 -15
  115. package/components/navigation/menu/esm2022/menu.component.mjs +26 -22
  116. package/components/navigation/menu/esm2022/menu.module.mjs +4 -4
  117. package/components/navigation/menu/esm2022/nav/nav.component.mjs +24 -26
  118. package/components/navigation/menu/fesm2022/index.mjs +71 -69
  119. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  120. package/components/navigation/navbar/bundles/index.umd.js +12 -12
  121. package/components/navigation/navbar/esm2022/navbar.component.mjs +13 -13
  122. package/components/navigation/navbar/fesm2022/index.mjs +12 -12
  123. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  124. package/mobile/components/basic/default/bundles/index.umd.js +111 -102
  125. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +40 -39
  126. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +44 -35
  127. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +28 -27
  128. package/mobile/components/basic/default/fesm2022/index.mjs +107 -98
  129. package/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
  130. package/mobile/components/containers/segmented-control/bundles/index.umd.js +16 -16
  131. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +9 -8
  132. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +10 -10
  133. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +16 -16
  134. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
  135. package/mobile/components/data/media-list/bundles/index.umd.js +28 -28
  136. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +29 -29
  137. package/mobile/components/data/media-list/fesm2022/index.mjs +28 -28
  138. package/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
  139. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +29 -29
  140. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +30 -30
  141. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +29 -29
  142. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
  143. package/mobile/components/page/tab-bar/bundles/index.umd.js +28 -28
  144. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +29 -29
  145. package/mobile/components/page/tab-bar/fesm2022/index.mjs +28 -28
  146. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
  147. package/npm-shrinkwrap.json +2 -2
  148. package/package-lock.json +2 -2
  149. package/package.json +1 -1
  150. package/runtime/base/bundles/index.umd.js +215 -219
  151. package/runtime/base/esm2022/components/app-component/app.component.mjs +41 -38
  152. package/runtime/base/esm2022/components/app-spinner.component.mjs +21 -25
  153. package/runtime/base/esm2022/components/custom-toaster.component.mjs +16 -18
  154. package/runtime/base/fesm2022/index.mjs +95 -99
  155. package/runtime/base/fesm2022/index.mjs.map +1 -1
@@ -10,27 +10,27 @@ import * as i2 from "../menu.component";
10
10
  import * as i3 from "../nav/nav.component";
11
11
  const _c0 = ["wmMenuDropdownItem", ""];
12
12
  const _c1 = a0 => ({ item: a0 });
13
- function MenuDropdownItemComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
13
+ function MenuDropdownItemComponent_span_1_Template(rf, ctx) { if (rf & 1) {
14
14
  i0.ɵɵelement(0, "span");
15
15
  } if (rf & 2) {
16
16
  const ctx_r0 = i0.ɵɵnextContext();
17
17
  i0.ɵɵclassMapInterpolate1("pull-right fa caret ", ctx_r0.menualign, "");
18
18
  } }
19
- function MenuDropdownItemComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelement(0, "span", 4);
19
+ function MenuDropdownItemComponent_span_5_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelement(0, "span", 6);
21
21
  } if (rf & 2) {
22
22
  const ctx_r0 = i0.ɵɵnextContext();
23
23
  i0.ɵɵproperty("textContent", ctx_r0.item.badge);
24
24
  } }
25
- function MenuDropdownItemComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementContainer(0, 5);
25
+ function MenuDropdownItemComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementContainer(0, 7);
27
27
  } if (rf & 2) {
28
28
  const ctx_r0 = i0.ɵɵnextContext();
29
29
  const nestedMenuDropdown_r2 = i0.ɵɵreference(8);
30
30
  i0.ɵɵproperty("ngTemplateOutlet", nestedMenuDropdown_r2)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c1, ctx_r0.item));
31
31
  } }
32
32
  function MenuDropdownItemComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelement(0, "ul", 6);
33
+ i0.ɵɵelement(0, "ul", 8);
34
34
  } if (rf & 2) {
35
35
  const item_r3 = ctx.item;
36
36
  i0.ɵɵproperty("items", item_r3.children);
@@ -179,33 +179,33 @@ export class MenuDropdownItemComponent {
179
179
  static { this.ɵfac = function MenuDropdownItemComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuDropdownItemComponent)(i0.ɵɵdirectiveInject(i1.App), i0.ɵɵdirectiveInject(i2.MenuComponent), i0.ɵɵdirectiveInject(i1.UserDefinedExecutionContext), i0.ɵɵdirectiveInject(i3.NavComponent, 8), i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
180
180
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuDropdownItemComponent, selectors: [["li", "wmMenuDropdownItem", ""]], hostBindings: function MenuDropdownItemComponent_HostBindings(rf, ctx) { if (rf & 1) {
181
181
  i0.ɵɵlistener("keydown.tab", function MenuDropdownItemComponent_keydown_tab_HostBindingHandler($event) { return ctx.onKeyDown($event, "TAB"); })("keydown.shift.tab", function MenuDropdownItemComponent_keydown_shift_tab_HostBindingHandler($event) { return ctx.onKeyDown($event, "SHIFT-TAB"); })("keydown.escape", function MenuDropdownItemComponent_keydown_escape_HostBindingHandler($event) { return ctx.onKeyDown($event, "ESC"); })("keydown.enter", function MenuDropdownItemComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); })("keydown.arrowup", function MenuDropdownItemComponent_keydown_arrowup_HostBindingHandler($event) { return ctx.onKeyDown($event, "UP-ARROW"); })("keydown.arrowdown", function MenuDropdownItemComponent_keydown_arrowdown_HostBindingHandler($event) { return ctx.onKeyDown($event, "DOWN-ARROW"); })("keydown.arrowright", function MenuDropdownItemComponent_keydown_arrowright_HostBindingHandler($event) { return ctx.onKeyDown($event, "RIGHT-ARROW"); })("keydown.arrowleft", function MenuDropdownItemComponent_keydown_arrowleft_HostBindingHandler($event) { return ctx.onKeyDown($event, "LEFT-ARROW"); })("click", function MenuDropdownItemComponent_click_HostBindingHandler($event) { return ctx.onSelect($event, ctx.item); });
182
- } }, inputs: { item: "item" }, attrs: _c0, decls: 9, vars: 10, consts: [["nestedMenuDropdown", ""], ["href", "javascript:void(0);", 3, "title", "wmNavigationControl", "disableMenuContext"], [3, "class"], [1, "anchor-caption"], [1, "badge", "pull-right", 3, "textContent"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["wmMenuDropdown", "", 3, "items"]], template: function MenuDropdownItemComponent_Template(rf, ctx) { if (rf & 1) {
182
+ } }, inputs: { item: "item" }, attrs: _c0, decls: 9, vars: 10, consts: [["nestedMenuDropdown", ""], ["href", "javascript:void(0);", 3, "title", "wmNavigationControl", "disableMenuContext"], [3, "class", 4, "ngIf"], [1, "anchor-caption"], ["class", "badge pull-right", 3, "textContent", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [1, "badge", "pull-right", 3, "textContent"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["wmMenuDropdown", "", 3, "items"]], template: function MenuDropdownItemComponent_Template(rf, ctx) { if (rf & 1) {
183
183
  i0.ɵɵelementStart(0, "a", 1);
184
- i0.ɵɵtemplate(1, MenuDropdownItemComponent_Conditional_1_Template, 1, 3, "span", 2);
184
+ i0.ɵɵtemplate(1, MenuDropdownItemComponent_span_1_Template, 1, 3, "span", 2);
185
185
  i0.ɵɵelement(2, "i");
186
186
  i0.ɵɵelementStart(3, "span", 3);
187
187
  i0.ɵɵtext(4);
188
188
  i0.ɵɵelementEnd();
189
- i0.ɵɵtemplate(5, MenuDropdownItemComponent_Conditional_5_Template, 1, 1, "span", 4);
189
+ i0.ɵɵtemplate(5, MenuDropdownItemComponent_span_5_Template, 1, 1, "span", 4);
190
190
  i0.ɵɵelementEnd();
191
- i0.ɵɵtemplate(6, MenuDropdownItemComponent_Conditional_6_Template, 1, 4, "ng-container", 5)(7, MenuDropdownItemComponent_ng_template_7_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
191
+ i0.ɵɵtemplate(6, MenuDropdownItemComponent_ng_container_6_Template, 1, 4, "ng-container", 5)(7, MenuDropdownItemComponent_ng_template_7_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
192
192
  } if (rf & 2) {
193
193
  i0.ɵɵproperty("title", ctx.item.label)("wmNavigationControl", ctx.item.link)("disableMenuContext", ctx.menuRef.disableMenuContext || !!ctx.item.action);
194
194
  i0.ɵɵadvance();
195
- i0.ɵɵconditional(ctx.item.children.length ? 1 : -1);
195
+ i0.ɵɵproperty("ngIf", ctx.item.children.length);
196
196
  i0.ɵɵadvance();
197
197
  i0.ɵɵclassMapInterpolate1("app-icon ", ctx.item.icon, "");
198
198
  i0.ɵɵadvance(2);
199
199
  i0.ɵɵtextInterpolate(ctx.item.label);
200
200
  i0.ɵɵadvance();
201
- i0.ɵɵconditional(ctx.item.badge ? 5 : -1);
201
+ i0.ɵɵproperty("ngIf", ctx.item.badge);
202
202
  i0.ɵɵadvance();
203
- i0.ɵɵconditional(ctx.item.children.length ? 6 : -1);
203
+ i0.ɵɵproperty("ngIf", ctx.item.children.length);
204
204
  } }, encapsulation: 2 }); }
205
205
  }
206
206
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuDropdownItemComponent, [{
207
207
  type: Component,
208
- args: [{ selector: 'li[wmMenuDropdownItem]', template: "<a href=\"javascript:void(0);\" [title]=\"item.label\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"menuRef.disableMenuContext || !!item.action\">\n @if (item.children.length) {\n <span class=\"pull-right fa caret {{menualign}}\"></span>\n }\n <i class=\"app-icon {{item.icon}}\"></i>\n <span class=\"anchor-caption\">{{item.label}}</span>\n @if (item.badge) {\n <span class=\"badge pull-right\" [textContent]=\"item.badge\"></span>\n }\n</a>\n@if (item.children.length) {\n <ng-container [ngTemplateOutlet]=\"nestedMenuDropdown\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\n}\n\n<ng-template #nestedMenuDropdown let-item=\"item\">\n <ul wmMenuDropdown [items]=\"item.children\"></ul>\n</ng-template>\n" }]
208
+ args: [{ selector: 'li[wmMenuDropdownItem]', template: "<a href=\"javascript:void(0);\" [title]=\"item.label\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"menuRef.disableMenuContext || !!item.action\">\n <span *ngIf=\"item.children.length\" class=\"pull-right fa caret {{menualign}}\"></span>\n <i class=\"app-icon {{item.icon}}\"></i>\n <span class=\"anchor-caption\">{{item.label}}</span>\n <span *ngIf=\"item.badge\" class=\"badge pull-right\" [textContent]=\"item.badge\"></span>\n</a>\n<ng-container [ngTemplateOutlet]=\"nestedMenuDropdown\" *ngIf=\"item.children.length\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\n\n<ng-template #nestedMenuDropdown let-item=\"item\">\n <ul wmMenuDropdown [items]=\"item.children\"></ul>\n</ng-template>\n" }]
209
209
  }], () => [{ type: i1.App }, { type: i2.MenuComponent }, { type: i1.UserDefinedExecutionContext }, { type: i3.NavComponent, decorators: [{
210
210
  type: Optional
211
211
  }] }, { type: i0.ElementRef }], { item: [{
@@ -239,4 +239,4 @@ export class MenuDropdownItemComponent {
239
239
  args: ['click', ['$event', 'item']]
240
240
  }] }); })();
241
241
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuDropdownItemComponent, { className: "MenuDropdownItemComponent", filePath: "menu-dropdown-item/menu-dropdown-item.component.ts", lineNumber: 27 }); })();
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL21lbnUtZHJvcGRvd24taXRlbS9tZW51LWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL25hdmlnYXRpb24vbWVudS9zcmMvbWVudS1kcm9wZG93bi1pdGVtL21lbnUtZHJvcGRvd24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSwyQkFBMkIsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztJQ0x0Qyx1QkFBdUQ7OztJQUFqRCx1RUFBeUM7OztJQUsvQywwQkFBaUU7OztJQUFsQywrQ0FBMEI7OztJQUkzRCwyQkFBOEc7Ozs7SUFBeEQsQUFBeEMsd0RBQXVDLG9FQUF5Qzs7O0lBSTlGLHdCQUFnRDs7O0lBQTdCLHdDQUF1Qjs7QURKNUMsTUFBTSxjQUFjLEdBQUc7SUFDbkIsWUFBWSxFQUFHLGVBQWU7SUFDOUIsaUJBQWlCLEVBQUcsZUFBZTtJQUNuQyxXQUFXLEVBQUcsZ0JBQWdCO0NBQ2pDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHO0lBQ3JCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFFBQVEsRUFBRSxVQUFVO0NBQ3ZCLENBQUM7QUFNRixNQUFNLE9BQU8seUJBQXlCO0lBV2xDLFlBQ1ksR0FBUSxFQUNULE9BQXNCLEVBQ3JCLDJCQUF3RCxFQUM1QyxTQUF1QixFQUMzQyxLQUFpQjtRQUpULFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDVCxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3JCLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQWtIL0MsYUFBUSxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMzRSxPQUFPO1lBQ1gsQ0FBQztZQUNELGtFQUFrRTtZQUNsRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxLQUFLLGNBQWMsRUFBRSxDQUFDO2dCQUM1QyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0IsQ0FBQztZQUVELE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsWUFBWSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3JFLGlEQUFpRDtZQUNqRCxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFBO1FBL0hHLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUN6QyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsUUFBUTtRQUNKLCtEQUErRDtRQUMvRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLG9CQUFvQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzVELHdGQUF3RjtnQkFDeEYsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDM0MsQ0FBQztZQUNELElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN0RixXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6RyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUQsYUFBYSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUM7WUFDckMsYUFBYSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7WUFDckMsYUFBYSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUM7WUFDeEMsYUFBYSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEtBQUssYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMvRyxhQUFhLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztnQkFDeEMsYUFBYSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUM7WUFDNUMsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNoRCxhQUFhLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztnQkFDckMsYUFBYSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7Z0JBQ3JDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDO2dCQUN4QyxhQUFhLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztZQUM1QyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFVRCxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVc7UUFDekIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sVUFBVSxHQUFHLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0UsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFcEQsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDcEMsd0ZBQXdGO1lBQ3hGLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsS0FBSyxhQUFhLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDO2VBQzVGLENBQUMsV0FBVyxLQUFLLGFBQWEsQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUM7ZUFDdEcsV0FBVyxLQUFLLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3Qzs7OzZDQUdpQztZQUNqQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLElBQUksQ0FBQyxXQUFXLEtBQUssYUFBYSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxLQUFLLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqSCwwR0FBMEc7WUFDMUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzVCLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9DLENBQUM7aUJBQU0sQ0FBQztnQkFDSixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxXQUFXLEtBQUssYUFBYSxDQUFDLFNBQVM7ZUFDM0MsQ0FBQyxXQUFXLEtBQUssYUFBYSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQztlQUN6RixDQUFDLFdBQVcsS0FBSyxhQUFhLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUN0RyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3BFLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdCLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxXQUFXLEtBQUssYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9DLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdEYsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN6QixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxXQUFXLEtBQUssYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWE7bUJBQ3BELENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLENBQUMsVUFBVTt1QkFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEtBQUssYUFBYSxDQUFDLFFBQVE7dUJBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksV0FBVyxLQUFLLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFxQkQsV0FBVztRQUNQLElBQUcsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7MEhBdkpRLHlCQUF5QjtvRUFBekIseUJBQXlCO1lBQXpCLGdIQUFBLHNCQUFpQixLQUFLLENBQUMsSUFBRSwrR0FBekIsc0JBQWlCLFdBQVcsQ0FBQyxJQUFKLHlHQUF6QixzQkFBaUIsS0FBSyxDQUFDLElBQUUsdUdBQXpCLHNCQUFpQixPQUFPLENBQUMsSUFBQSwyR0FBekIsc0JBQWlCLFVBQVUsQ0FBQyxJQUFILCtHQUF6QixzQkFBaUIsWUFBWSxDQUFDLElBQUwsaUhBQXpCLHNCQUFpQixhQUFhLENBQUMsSUFBTiwrR0FBekIsc0JBQWlCLFlBQVksQ0FBQyxJQUFMLHVGQUF6Qiw4QkFBcUIsSUFBSTs7WUMxQnRDLDRCQUF3SjtZQUN0SixtRkFBNEI7WUFHNUIsb0JBQXNDO1lBQ3RDLCtCQUE2QjtZQUFBLFlBQWM7WUFBQSxpQkFBTztZQUNsRCxtRkFBa0I7WUFHcEIsaUJBQUk7WUFLSixBQUpBLDJGQUE0Qiw4R0FJcUI7O1lBZG9DLEFBQWxDLEFBQXJCLHNDQUFvQixzQ0FBa0MsMkVBQW1FO1lBQ3JKLGNBRUM7WUFGRCxtREFFQztZQUNFLGNBQThCO1lBQTlCLHlEQUE4QjtZQUNKLGVBQWM7WUFBZCxvQ0FBYztZQUMzQyxjQUVDO1lBRkQseUNBRUM7WUFFSCxjQUVDO1lBRkQsbURBRUM7OztpRkRjWSx5QkFBeUI7Y0FKckMsU0FBUzsyQkFDSSx3QkFBd0I7O3NCQWtCN0IsUUFBUTs4Q0FUSixJQUFJO2tCQUFaLEtBQUs7WUE0RE4sU0FBUztrQkFSUixZQUFZO21CQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7O2tCQUMvQyxZQUFZO21CQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQzs7a0JBQzNELFlBQVk7bUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDOztrQkFDbEQsWUFBWTttQkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDOztrQkFDbkQsWUFBWTttQkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7O2tCQUN4RCxZQUFZO21CQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQzs7a0JBQzVELFlBQVk7bUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDOztrQkFDOUQsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUM7WUFnRTdELFFBQVE7a0JBRFAsWUFBWTttQkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDOztrRkFoSWhDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGFkZENsYXNzLCB0cmlnZ2VySXRlbUFjdGlvbiwgVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0LCBBcHAsIHRvZ2dsZUNsYXNzIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgaGFzTGlua1RvQ3VycmVudFBhZ2UgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IE5hdkNvbXBvbmVudCB9IGZyb20gJy4uL25hdi9uYXYuY29tcG9uZW50JztcblxuaW1wb3J0IHsgS0VZQk9BUkRfTU9WRU1FTlRTLCBNRU5VX1BPU0lUSU9OLCBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtjbG9uZSwgaW5jbHVkZXN9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5jb25zdCBtZW51QWxpZ25DbGFzcyA9IHtcbiAgICAncHVsbC1yaWdodCcgOiAnZmEtY2FyZXQtbGVmdCcsXG4gICAgJ2Ryb3BpbmxpbmUtbWVudScgOiAnZmEtY2FyZXQtZG93bicsXG4gICAgJ3B1bGwtbGVmdCcgOiAnZmEtY2FyZXQtcmlnaHQnXG59O1xuXG5jb25zdCBNRU5VX0xBWU9VVF9UWVBFID0ge1xuICAgIEhPUklaT05UQUw6ICdob3Jpem9udGFsJyxcbiAgICBWRVJUSUNBTDogJ3ZlcnRpY2FsJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaVt3bU1lbnVEcm9wZG93bkl0ZW1dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS1kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTWVudURyb3Bkb3duSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIHB1YmxpYyBtZW51YWxpZ246IHN0cmluZztcblxuICAgIHByaXZhdGUgaXRlbUFjdGlvbkZuOiBGdW5jdGlvbjtcblxuICAgIEBJbnB1dCgpIGl0ZW07XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBoaWdobGlnaHRBY3RpdmVMaW5rU3Vic2NyaXB0aW9uOiAoKSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHAsXG4gICAgICAgIHB1YmxpYyBtZW51UmVmOiBNZW51Q29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dDogVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudE5hdjogTmF2Q29tcG9uZW50LFxuICAgICAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICApIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnYXBwLW1lbnUtaXRlbScpO1xuXG4gICAgICAgIHRoaXMubWVudWFsaWduID0gbWVudUFsaWduQ2xhc3NbdGhpcy5tZW51UmVmLm1lbnVhbGlnbl0gfHwgbWVudUFsaWduQ2xhc3NbJ3B1bGwtbGVmdCddO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBhZGQgYWN0aXZlIGNsYXNzIHRvIHRoZSBpdGVtIG9ubHkgaWYgaXQgaXMgaW4gbmF2IGNvbXBvbmVudC5cbiAgICAgICAgaWYgKHRoaXMucGFyZW50TmF2KSB7XG4gICAgICAgICAgICBpZiAoaGFzTGlua1RvQ3VycmVudFBhZ2UoW3RoaXMuaXRlbV0sIHRoaXMubWVudVJlZi5yb3V0ZS51cmwpKSB7XG4gICAgICAgICAgICAgICAgLy8gYWRkIGFjdGl2ZSBjbGFzcyB0byB0aGUgbGksIGlmIHRoZSBtZW51IGl0ZW0ncyBsaW5rIGlzIHNhbWUgYXMgdGhlIGN1cnJlbnQgcGFnZSBuYW1lLlxuICAgICAgICAgICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2FjdGl2ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRBY3RpdmVMaW5rU3Vic2NyaXB0aW9uID0gdGhpcy5hcHAuc3Vic2NyaWJlKFwiaGlnaGxpZ2h0QWN0aXZlTGlua1wiLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRvZ2dsZUNsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2FjdGl2ZScsIGhhc0xpbmtUb0N1cnJlbnRQYWdlKFt0aGlzLml0ZW1dLCB0aGlzLm1lbnVSZWYucm91dGUudXJsKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEluaXRpYWxLZXlNb3ZlbWVudHMoKSB7XG4gICAgICAgIGNvbnN0IEtFWV9NT1ZFTUVOVFMgPSBjbG9uZShLRVlCT0FSRF9NT1ZFTUVOVFMpO1xuICAgICAgICBpZiAodGhpcy5tZW51UmVmLm1lbnVsYXlvdXQgPT09IE1FTlVfTEFZT1VUX1RZUEUuSE9SSVpPTlRBTCkge1xuICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX1VQID0gJ0xFRlQtQVJST1cnO1xuICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX0xFRlQgPSAnVVAtQVJST1cnO1xuICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX1JJR0hUID0gJ0RPV04tQVJST1cnO1xuICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX0RPV04gPSAnUklHSFQtQVJST1cnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMubWVudVJlZi5tZW51cG9zaXRpb24gPT09IE1FTlVfUE9TSVRJT04uRE9XTl9MRUZUIHx8IHRoaXMubWVudVJlZi5tZW51cG9zaXRpb24gPT09IE1FTlVfUE9TSVRJT04uVVBfTEVGVCkge1xuICAgICAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9MRUZUID0gJ1JJR0hULUFSUk9XJztcbiAgICAgICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFQgPSAnTEVGVC1BUlJPVyc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWVudVJlZi5tZW51cG9zaXRpb24gPT09ICdpbmxpbmUnKSB7XG4gICAgICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX1VQID0gJ0xFRlQtQVJST1cnO1xuICAgICAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9MRUZUID0gJ1VQLUFSUk9XJztcbiAgICAgICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFQgPSAnRE9XTi1BUlJPVyc7XG4gICAgICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX0RPV04gPSAnUklHSFQtQVJST1cnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBLRVlfTU9WRU1FTlRTO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24udGFiJywgWyckZXZlbnQnLCAnXCJUQUJcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc2hpZnQudGFiJywgWyckZXZlbnQnLCAnXCJTSElGVC1UQUJcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjYXBlJywgWyckZXZlbnQnLCAnXCJFU0NcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCcsICdcIkVOVEVSXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93dXAnLCBbJyRldmVudCcsICdcIlVQLUFSUk9XXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93ZG93bicsIFsnJGV2ZW50JywgJ1wiRE9XTi1BUlJPV1wiJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3JpZ2h0JywgWyckZXZlbnQnLCAnXCJSSUdIVC1BUlJPV1wiJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2xlZnQnLCBbJyRldmVudCcsICdcIkxFRlQtQVJST1dcIiddKVxuICAgIG9uS2V5RG93bigkZXZlbnQsIGV2ZW50QWN0aW9uKSB7XG4gICAgICAgIGNvbnN0ICRsaSA9ICQodGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgJHVsID0gJCh0aGlzLm5hdGl2ZUVsZW1lbnQpLmNsb3Nlc3QoJ3VsLmRyb3Bkb3duLW1lbnUnKTtcbiAgICAgICAgY29uc3QgJHBhcmVudFVsID0gdGhpcy5tZW51UmVmLiRlbGVtZW50LmZpbmQoJz4gdWwuZHJvcGRvd24tbWVudScpO1xuICAgICAgICBjb25zdCBBUlJPV19LRVlTID0gWydMRUZULUFSUk9XJywgJ1JJR0hULUFSUk9XJywgJ1VQLUFSUk9XJywgJ0RPV04tQVJST1cnXTtcbiAgICAgICAgY29uc3QgS0VZX01PVkVNRU5UUyA9IHRoaXMuZ2V0SW5pdGlhbEtleU1vdmVtZW50cygpO1xuXG4gICAgICAgIGlmIChpbmNsdWRlcyhBUlJPV19LRVlTLCBldmVudEFjdGlvbikpIHtcbiAgICAgICAgICAgIC8vIHByZXZlbnRpbmcgZnJvbSBwYWdlIHNjcm9sbCB3aGVuIHVwL2Rvd24gYXJyb3cgaXMgcHJlc3NlZCwgaW4gY2FzZSBvZiBtZW51IGlzIG9wZW5lZC5cbiAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9UQUIgJiYgJHBhcmVudFVsLmNoaWxkcmVuKCkubGFzdCgpWzBdID09PSB0aGlzLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICB8fCAoZXZlbnRBY3Rpb24gPT09IEtFWV9NT1ZFTUVOVFMuT05fU0hJRlRfVEFCICYmICRwYXJlbnRVbC5jaGlsZHJlbigpLmZpcnN0KClbMF0gPT09IHRoaXMubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIHx8IGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk9OX0VTQ0FQRSkge1xuICAgICAgICAgICAgLypjbG9zaW5nIGFsbCB0aGUgY2hpbGRyZW4gZWxlbWVudHMgd2hlblxuICAgICAgICAgICAgKiAxLiBUYWIgaXMgY2xpY2tlZCBvbiB0aGUgbGFzdCAkZWxlbWVudFxuICAgICAgICAgICAgKiAyLiBTaGlmdCBUYWIgaXMgY2xpY2tlZCBvbiB0aGUgZmlyc3QgJGVsZW1lbnRcbiAgICAgICAgICAgICogMy4gV2hlbiBFc2NhcGUga2V5IGlzIGNsaWNrZWQqL1xuICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVSZWYuYnNEcm9wZG93bi5oaWRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoKGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk9OX0VOVEVSICYmICF0aGlzLml0ZW0ubGluaykgfHwgZXZlbnRBY3Rpb24gPT09IEtFWV9NT1ZFTUVOVFMuTU9WRV9SSUdIVCkge1xuICAgICAgICAgICAgLy8gd2hlbiB0aGVyZSBpcyBubyBsaW5rIGZvciB0aGUgbWVudSwgb24gZW50ZXIgb3BlbiB0aGUgaW5uZXIgY2hpbGQgZWxlbWVudHMgYW5kIGZvY3VzIHRoZSBmaXJzdCAkZWxlbWVudFxuICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoJ29wZW4nKTtcbiAgICAgICAgICAgICAgICAkbGkuZmluZCgnbGknKS5maXJzdCgpLmZpbmQoJz4gYScpLmZvY3VzKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICRsaS5maW5kKCc+IGEnKS5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVFxuICAgICAgICAgICAgfHwgKGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk9OX1RBQiAmJiAkdWwuY2hpbGRyZW4oKS5sYXN0KClbMF0gPT09IHRoaXMubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIHx8IChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9TSElGVF9UQUIgJiYgJHVsLmNoaWxkcmVuKCkuZmlyc3QoKVswXSA9PT0gdGhpcy5uYXRpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgaWYgKCRwYXJlbnRVbFswXSAhPT0gJHVsWzBdKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgJHBhcmVudEl0ZW0gPSAkdWwucGFyZW50KCk7XG4gICAgICAgICAgICAgICAgJHBhcmVudEl0ZW0udG9nZ2xlQ2xhc3MoJ29wZW4nKS5maW5kKCdsaS5vcGVuJykucmVtb3ZlQ2xhc3MoJ29wZW4nKTtcbiAgICAgICAgICAgICAgICAkcGFyZW50SXRlbS5maW5kKCc+IGEnKS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5NT1ZFX1VQKSB7XG4gICAgICAgICAgICBpZiAoJHBhcmVudFVsWzBdICE9PSAkdWxbMF0gfHwgJHBhcmVudFVsLmZpbmQoJz4gbGknKS5maXJzdCgpWzBdICE9PSB0aGlzLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgJGxpLnByZXYoKS5maW5kKCc+IGEnKS5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk1PVkVfRE9XTikge1xuICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKCRwYXJlbnRVbC5maW5kKCc+IGxpJykubGFzdCgpWzBdID09PSB0aGlzLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAmJiAodGhpcy5tZW51UmVmLm1lbnVsYXlvdXQgIT09IE1FTlVfTEFZT1VUX1RZUEUuSE9SSVpPTlRBTFxuICAgICAgICAgICAgICAgICAgICAmJiB0aGlzLm1lbnVSZWYubWVudXBvc2l0aW9uID09PSBNRU5VX1BPU0lUSU9OLlVQX1JJR0hUXG4gICAgICAgICAgICAgICAgICAgIHx8IHRoaXMubWVudVJlZi5tZW51cG9zaXRpb24gPT09IE1FTlVfUE9TSVRJT04uVVBfTEVGVCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVSZWYuYnNEcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICRsaS5uZXh0KCkuZmluZCgnPiBhJykuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9FTlRFUikge1xuICAgICAgICAgICAgdGhpcy5vblNlbGVjdCgkZXZlbnQsIHRoaXMuaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50JywgJ2l0ZW0nXSlcbiAgICBvblNlbGVjdCA9ICgkZXZlbnQsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRWxlbWVudCAhPT0gJCgkZXZlbnQudGFyZ2V0KS5jbG9zZXN0KCcuYXBwLW1lbnUtaXRlbScpLmdldCgwKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHByZXZlbnQgZXZlbnQgZXZlbnQgcHJvcGFnYXRpb24gaWYgYXV0byBjbG9zZSBpcyBvdXRzaWRlIGNsaWNrLlxuICAgICAgICBpZiAodGhpcy5tZW51UmVmLmF1dG9jbG9zZSA9PT0gJ291dHNpZGVDbGljaycpIHtcbiAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBhcmdzID0geyRldmVudCwgJGl0ZW06IGl0ZW19O1xuICAgICAgICB0aGlzLm1lbnVSZWYub25NZW51SXRlbVNlbGVjdChhcmdzKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gY2xvbmUoaXRlbSk7XG4gICAgICAgIHNlbGVjdGVkSXRlbS50YXJnZXQgPSBzZWxlY3RlZEl0ZW0udGFyZ2V0IHx8IHRoaXMubWVudVJlZi5saW5rdGFyZ2V0O1xuICAgICAgICAvLyBUcmlnZ2VyIHRoZSBhY3Rpb24gYXNzb2NpYXRlZCB3aXRoIGFjdGl2ZSBpdGVtXG4gICAgICAgIHRyaWdnZXJJdGVtQWN0aW9uKHRoaXMsIHNlbGVjdGVkSXRlbSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmKHRoaXMuaGlnaGxpZ2h0QWN0aXZlTGlua1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRBY3RpdmVMaW5rU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiIFt0aXRsZV09XCJpdGVtLmxhYmVsXCIgW3dtTmF2aWdhdGlvbkNvbnRyb2xdPVwiaXRlbS5saW5rXCIgW2Rpc2FibGVNZW51Q29udGV4dF09XCJtZW51UmVmLmRpc2FibGVNZW51Q29udGV4dCB8fCAhIWl0ZW0uYWN0aW9uXCI+XG4gIEBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICA8c3BhbiBjbGFzcz1cInB1bGwtcmlnaHQgZmEgY2FyZXQge3ttZW51YWxpZ259fVwiPjwvc3Bhbj5cbiAgfVxuICA8aSBjbGFzcz1cImFwcC1pY29uIHt7aXRlbS5pY29ufX1cIj48L2k+XG4gIDxzcGFuIGNsYXNzPVwiYW5jaG9yLWNhcHRpb25cIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBwdWxsLXJpZ2h0XCIgW3RleHRDb250ZW50XT1cIml0ZW0uYmFkZ2VcIj48L3NwYW4+XG4gIH1cbjwvYT5cbkBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJuZXN0ZWRNZW51RHJvcGRvd25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG59XG5cbjxuZy10ZW1wbGF0ZSAjbmVzdGVkTWVudURyb3Bkb3duIGxldC1pdGVtPVwiaXRlbVwiPlxuICA8dWwgd21NZW51RHJvcGRvd24gW2l0ZW1zXT1cIml0ZW0uY2hpbGRyZW5cIj48L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL21lbnUtZHJvcGRvd24taXRlbS9tZW51LWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL25hdmlnYXRpb24vbWVudS9zcmMvbWVudS1kcm9wZG93bi1pdGVtL21lbnUtZHJvcGRvd24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSwyQkFBMkIsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztJQ050Qyx1QkFBb0Y7OztJQUFqRCx1RUFBeUM7OztJQUc1RSwwQkFBb0Y7OztJQUFsQywrQ0FBMEI7OztJQUVoRiwyQkFBMkk7Ozs7SUFBeEQsQUFBckUsd0RBQXVDLG9FQUFzRTs7O0lBR3ZILHdCQUFnRDs7O0lBQTdCLHdDQUF1Qjs7QURFOUMsTUFBTSxjQUFjLEdBQUc7SUFDbkIsWUFBWSxFQUFHLGVBQWU7SUFD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Q2xELFlBQVk7bUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQzs7a0JBQ25ELFlBQVk7bUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDOztrQkFDeEQsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUM7O2tCQUM1RCxZQUFZO21CQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQzs7a0JBQzlELFlBQVk7bUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDO1lBZ0U3RCxRQUFRO2tCQURQLFlBQVk7bUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzs7a0ZBaEloQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBhZGRDbGFzcywgdHJpZ2dlckl0ZW1BY3Rpb24sIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dCwgQXBwLCB0b2dnbGVDbGFzcyB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IGhhc0xpbmtUb0N1cnJlbnRQYWdlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBOYXZDb21wb25lbnQgfSBmcm9tICcuLi9uYXYvbmF2LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEtFWUJPQVJEX01PVkVNRU5UUywgTUVOVV9QT1NJVElPTiwgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7Y2xvbmUsIGluY2x1ZGVzfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmRlY2xhcmUgY29uc3QgJDtcblxuY29uc3QgbWVudUFsaWduQ2xhc3MgPSB7XG4gICAgJ3B1bGwtcmlnaHQnIDogJ2ZhLWNhcmV0LWxlZnQnLFxuICAgICdkcm9waW5saW5lLW1lbnUnIDogJ2ZhLWNhcmV0LWRvd24nLFxuICAgICdwdWxsLWxlZnQnIDogJ2ZhLWNhcmV0LXJpZ2h0J1xufTtcblxuY29uc3QgTUVOVV9MQVlPVVRfVFlQRSA9IHtcbiAgICBIT1JJWk9OVEFMOiAnaG9yaXpvbnRhbCcsXG4gICAgVkVSVElDQUw6ICd2ZXJ0aWNhbCdcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGlbd21NZW51RHJvcGRvd25JdGVtXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtZHJvcGRvd24taXRlbS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVEcm9wZG93bkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBwdWJsaWMgbWVudWFsaWduOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGl0ZW1BY3Rpb25GbjogRnVuY3Rpb247XG5cbiAgICBASW5wdXQoKSBpdGVtO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmVFbGVtZW50O1xuICAgIHByaXZhdGUgaGlnaGxpZ2h0QWN0aXZlTGlua1N1YnNjcmlwdGlvbjogKCkgPT4gdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwcDogQXBwLFxuICAgICAgICBwdWJsaWMgbWVudVJlZjogTWVudUNvbXBvbmVudCxcbiAgICAgICAgcHJpdmF0ZSB1c2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQ6IFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwYXJlbnROYXY6IE5hdkNvbXBvbmVudCxcbiAgICAgICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IGVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2FwcC1tZW51LWl0ZW0nKTtcblxuICAgICAgICB0aGlzLm1lbnVhbGlnbiA9IG1lbnVBbGlnbkNsYXNzW3RoaXMubWVudVJlZi5tZW51YWxpZ25dIHx8IG1lbnVBbGlnbkNsYXNzWydwdWxsLWxlZnQnXTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gYWRkIGFjdGl2ZSBjbGFzcyB0byB0aGUgaXRlbSBvbmx5IGlmIGl0IGlzIGluIG5hdiBjb21wb25lbnQuXG4gICAgICAgIGlmICh0aGlzLnBhcmVudE5hdikge1xuICAgICAgICAgICAgaWYgKGhhc0xpbmtUb0N1cnJlbnRQYWdlKFt0aGlzLml0ZW1dLCB0aGlzLm1lbnVSZWYucm91dGUudXJsKSkge1xuICAgICAgICAgICAgICAgIC8vIGFkZCBhY3RpdmUgY2xhc3MgdG8gdGhlIGxpLCBpZiB0aGUgbWVudSBpdGVtJ3MgbGluayBpcyBzYW1lIGFzIHRoZSBjdXJyZW50IHBhZ2UgbmFtZS5cbiAgICAgICAgICAgICAgICBhZGRDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdhY3RpdmUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0QWN0aXZlTGlua1N1YnNjcmlwdGlvbiA9IHRoaXMuYXBwLnN1YnNjcmliZShcImhpZ2hsaWdodEFjdGl2ZUxpbmtcIiwgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0b2dnbGVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdhY3RpdmUnLCBoYXNMaW5rVG9DdXJyZW50UGFnZShbdGhpcy5pdGVtXSwgdGhpcy5tZW51UmVmLnJvdXRlLnVybCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRJbml0aWFsS2V5TW92ZW1lbnRzKCkge1xuICAgICAgICBjb25zdCBLRVlfTU9WRU1FTlRTID0gY2xvbmUoS0VZQk9BUkRfTU9WRU1FTlRTKTtcbiAgICAgICAgaWYgKHRoaXMubWVudVJlZi5tZW51bGF5b3V0ID09PSBNRU5VX0xBWU9VVF9UWVBFLkhPUklaT05UQUwpIHtcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9VUCA9ICdMRUZULUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9MRUZUID0gJ1VQLUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9SSUdIVCA9ICdET1dOLUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9ET1dOID0gJ1JJR0hULUFSUk9XJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1lbnVSZWYubWVudXBvc2l0aW9uID09PSBNRU5VX1BPU0lUSU9OLkRPV05fTEVGVCB8fCB0aGlzLm1lbnVSZWYubWVudXBvc2l0aW9uID09PSBNRU5VX1BPU0lUSU9OLlVQX0xFRlQpIHtcbiAgICAgICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVCA9ICdSSUdIVC1BUlJPVyc7XG4gICAgICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX1JJR0hUID0gJ0xFRlQtQVJST1cnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVSZWYubWVudXBvc2l0aW9uID09PSAnaW5saW5lJykge1xuICAgICAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9VUCA9ICdMRUZULUFSUk9XJztcbiAgICAgICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVCA9ICdVUC1BUlJPVyc7XG4gICAgICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX1JJR0hUID0gJ0RPV04tQVJST1cnO1xuICAgICAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9ET1dOID0gJ1JJR0hULUFSUk9XJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gS0VZX01PVkVNRU5UUztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnRhYicsIFsnJGV2ZW50JywgJ1wiVEFCXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNoaWZ0LnRhYicsIFsnJGV2ZW50JywgJ1wiU0hJRlQtVEFCXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50JywgJ1wiRVNDXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3VwJywgWyckZXZlbnQnLCAnXCJVUC1BUlJPV1wiJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCcsICdcIkRPV04tQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50JywgJ1wiUklHSFQtQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnLCAnXCJMRUZULUFSUk9XXCInXSlcbiAgICBvbktleURvd24oJGV2ZW50LCBldmVudEFjdGlvbikge1xuICAgICAgICBjb25zdCAkbGkgPSAkKHRoaXMubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGNvbnN0ICR1bCA9ICQodGhpcy5uYXRpdmVFbGVtZW50KS5jbG9zZXN0KCd1bC5kcm9wZG93bi1tZW51Jyk7XG4gICAgICAgIGNvbnN0ICRwYXJlbnRVbCA9IHRoaXMubWVudVJlZi4kZWxlbWVudC5maW5kKCc+IHVsLmRyb3Bkb3duLW1lbnUnKTtcbiAgICAgICAgY29uc3QgQVJST1dfS0VZUyA9IFsnTEVGVC1BUlJPVycsICdSSUdIVC1BUlJPVycsICdVUC1BUlJPVycsICdET1dOLUFSUk9XJ107XG4gICAgICAgIGNvbnN0IEtFWV9NT1ZFTUVOVFMgPSB0aGlzLmdldEluaXRpYWxLZXlNb3ZlbWVudHMoKTtcblxuICAgICAgICBpZiAoaW5jbHVkZXMoQVJST1dfS0VZUywgZXZlbnRBY3Rpb24pKSB7XG4gICAgICAgICAgICAvLyBwcmV2ZW50aW5nIGZyb20gcGFnZSBzY3JvbGwgd2hlbiB1cC9kb3duIGFycm93IGlzIHByZXNzZWQsIGluIGNhc2Ugb2YgbWVudSBpcyBvcGVuZWQuXG4gICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgoZXZlbnRBY3Rpb24gPT09IEtFWV9NT1ZFTUVOVFMuT05fVEFCICYmICRwYXJlbnRVbC5jaGlsZHJlbigpLmxhc3QoKVswXSA9PT0gdGhpcy5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgfHwgKGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk9OX1NISUZUX1RBQiAmJiAkcGFyZW50VWwuY2hpbGRyZW4oKS5maXJzdCgpWzBdID09PSB0aGlzLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICB8fCBldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9FU0NBUEUpIHtcbiAgICAgICAgICAgIC8qY2xvc2luZyBhbGwgdGhlIGNoaWxkcmVuIGVsZW1lbnRzIHdoZW5cbiAgICAgICAgICAgICogMS4gVGFiIGlzIGNsaWNrZWQgb24gdGhlIGxhc3QgJGVsZW1lbnRcbiAgICAgICAgICAgICogMi4gU2hpZnQgVGFiIGlzIGNsaWNrZWQgb24gdGhlIGZpcnN0ICRlbGVtZW50XG4gICAgICAgICAgICAqIDMuIFdoZW4gRXNjYXBlIGtleSBpcyBjbGlja2VkKi9cbiAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5tZW51UmVmLmJzRHJvcGRvd24uaGlkZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9FTlRFUiAmJiAhdGhpcy5pdGVtLmxpbmspIHx8IGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFQpIHtcbiAgICAgICAgICAgIC8vIHdoZW4gdGhlcmUgaXMgbm8gbGluayBmb3IgdGhlIG1lbnUsIG9uIGVudGVyIG9wZW4gdGhlIGlubmVyIGNoaWxkIGVsZW1lbnRzIGFuZCBmb2N1cyB0aGUgZmlyc3QgJGVsZW1lbnRcbiAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGlmICh0aGlzLml0ZW0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKCdvcGVuJyk7XG4gICAgICAgICAgICAgICAgJGxpLmZpbmQoJ2xpJykuZmlyc3QoKS5maW5kKCc+IGEnKS5mb2N1cygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAkbGkuZmluZCgnPiBhJykuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5NT1ZFX0xFRlRcbiAgICAgICAgICAgIHx8IChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9UQUIgJiYgJHVsLmNoaWxkcmVuKCkubGFzdCgpWzBdID09PSB0aGlzLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICB8fCAoZXZlbnRBY3Rpb24gPT09IEtFWV9NT1ZFTUVOVFMuT05fU0hJRlRfVEFCICYmICR1bC5jaGlsZHJlbigpLmZpcnN0KClbMF0gPT09IHRoaXMubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIGlmICgkcGFyZW50VWxbMF0gIT09ICR1bFswXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0ICRwYXJlbnRJdGVtID0gJHVsLnBhcmVudCgpO1xuICAgICAgICAgICAgICAgICRwYXJlbnRJdGVtLnRvZ2dsZUNsYXNzKCdvcGVuJykuZmluZCgnbGkub3BlbicpLnJlbW92ZUNsYXNzKCdvcGVuJyk7XG4gICAgICAgICAgICAgICAgJHBhcmVudEl0ZW0uZmluZCgnPiBhJykuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnRBY3Rpb24gPT09IEtFWV9NT1ZFTUVOVFMuTU9WRV9VUCkge1xuICAgICAgICAgICAgaWYgKCRwYXJlbnRVbFswXSAhPT0gJHVsWzBdIHx8ICRwYXJlbnRVbC5maW5kKCc+IGxpJykuZmlyc3QoKVswXSAhPT0gdGhpcy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICRsaS5wcmV2KCkuZmluZCgnPiBhJykuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5NT1ZFX0RPV04pIHtcbiAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGlmICgkcGFyZW50VWwuZmluZCgnPiBsaScpLmxhc3QoKVswXSA9PT0gdGhpcy5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgJiYgKHRoaXMubWVudVJlZi5tZW51bGF5b3V0ICE9PSBNRU5VX0xBWU9VVF9UWVBFLkhPUklaT05UQUxcbiAgICAgICAgICAgICAgICAgICAgJiYgdGhpcy5tZW51UmVmLm1lbnVwb3NpdGlvbiA9PT0gTUVOVV9QT1NJVElPTi5VUF9SSUdIVFxuICAgICAgICAgICAgICAgICAgICB8fCB0aGlzLm1lbnVSZWYubWVudXBvc2l0aW9uID09PSBNRU5VX1BPU0lUSU9OLlVQX0xFRlQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51UmVmLmJzRHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAkbGkubmV4dCgpLmZpbmQoJz4gYScpLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnRBY3Rpb24gPT09IEtFWV9NT1ZFTUVOVFMuT05fRU5URVIpIHtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3QoJGV2ZW50LCB0aGlzLml0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICdpdGVtJ10pXG4gICAgb25TZWxlY3QgPSAoJGV2ZW50LCBpdGVtKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQgIT09ICQoJGV2ZW50LnRhcmdldCkuY2xvc2VzdCgnLmFwcC1tZW51LWl0ZW0nKS5nZXQoMCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBwcmV2ZW50IGV2ZW50IGV2ZW50IHByb3BhZ2F0aW9uIGlmIGF1dG8gY2xvc2UgaXMgb3V0c2lkZSBjbGljay5cbiAgICAgICAgaWYgKHRoaXMubWVudVJlZi5hdXRvY2xvc2UgPT09ICdvdXRzaWRlQ2xpY2snKSB7XG4gICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgYXJncyA9IHskZXZlbnQsICRpdGVtOiBpdGVtfTtcbiAgICAgICAgdGhpcy5tZW51UmVmLm9uTWVudUl0ZW1TZWxlY3QoYXJncyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IGNsb25lKGl0ZW0pO1xuICAgICAgICBzZWxlY3RlZEl0ZW0udGFyZ2V0ID0gc2VsZWN0ZWRJdGVtLnRhcmdldCB8fCB0aGlzLm1lbnVSZWYubGlua3RhcmdldDtcbiAgICAgICAgLy8gVHJpZ2dlciB0aGUgYWN0aW9uIGFzc29jaWF0ZWQgd2l0aCBhY3RpdmUgaXRlbVxuICAgICAgICB0cmlnZ2VySXRlbUFjdGlvbih0aGlzLCBzZWxlY3RlZEl0ZW0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZih0aGlzLmhpZ2hsaWdodEFjdGl2ZUxpbmtTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0QWN0aXZlTGlua1N1YnNjcmlwdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiBbdGl0bGVdPVwiaXRlbS5sYWJlbFwiIFt3bU5hdmlnYXRpb25Db250cm9sXT1cIml0ZW0ubGlua1wiIFtkaXNhYmxlTWVudUNvbnRleHRdPVwibWVudVJlZi5kaXNhYmxlTWVudUNvbnRleHQgfHwgISFpdGVtLmFjdGlvblwiPlxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5jaGlsZHJlbi5sZW5ndGhcIiBjbGFzcz1cInB1bGwtcmlnaHQgZmEgY2FyZXQge3ttZW51YWxpZ259fVwiPjwvc3Bhbj5cbiAgICA8aSBjbGFzcz1cImFwcC1pY29uIHt7aXRlbS5pY29ufX1cIj48L2k+XG4gICAgPHNwYW4gY2xhc3M9XCJhbmNob3ItY2FwdGlvblwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5iYWRnZVwiIGNsYXNzPVwiYmFkZ2UgcHVsbC1yaWdodFwiIFt0ZXh0Q29udGVudF09XCJpdGVtLmJhZGdlXCI+PC9zcGFuPlxuPC9hPlxuPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJuZXN0ZWRNZW51RHJvcGRvd25cIiAqbmdJZj1cIml0ZW0uY2hpbGRyZW4ubGVuZ3RoXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI25lc3RlZE1lbnVEcm9wZG93biBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8dWwgd21NZW51RHJvcGRvd24gW2l0ZW1zXT1cIml0ZW0uY2hpbGRyZW5cIj48L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -14,7 +14,18 @@ import * as i4 from "./nav/nav.component";
14
14
  const _c0 = ["wmMenu", ""];
15
15
  const _c1 = a0 => [a0];
16
16
  function MenuComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵelement(0, "i")(1, "span", 4)(2, "span");
17
+ i0.ɵɵelementStart(0, "button", 4);
18
+ i0.ɵɵelement(1, "span", 5);
19
+ i0.ɵɵelementEnd();
20
+ } if (rf & 2) {
21
+ const ctx_r0 = i0.ɵɵnextContext();
22
+ i0.ɵɵclassMapInterpolate1("btn app-button dropdown-toggle ", ctx_r0.menuclass, "");
23
+ i0.ɵɵattribute("aria-label", ctx_r0.arialabel || "Menu");
24
+ i0.ɵɵadvance();
25
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c1, ctx_r0.menuCaret));
26
+ } }
27
+ function MenuComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelement(0, "i")(1, "span", 6)(2, "span");
18
29
  } if (rf & 2) {
19
30
  const ctx_r0 = i0.ɵɵnextContext();
20
31
  i0.ɵɵclassMapInterpolate1("app-icon ", ctx_r0.iconclass, "");
@@ -23,29 +34,21 @@ function MenuComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
23
34
  i0.ɵɵadvance();
24
35
  i0.ɵɵclassMapInterpolate1("pull-right caret fa ", ctx_r0.menuCaret, "");
25
36
  } }
26
- function MenuComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelementStart(0, "a", 5);
28
- i0.ɵɵelement(1, "span", 6);
37
+ function MenuComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelementContainerStart(0);
39
+ i0.ɵɵelementStart(1, "a", 7);
40
+ i0.ɵɵelement(2, "span", 5);
29
41
  i0.ɵɵelementEnd();
42
+ i0.ɵɵelementContainerEnd();
30
43
  } if (rf & 2) {
31
44
  const ctx_r0 = i0.ɵɵnextContext();
32
- i0.ɵɵclassMapInterpolate1("dropdown-toggle ", ctx_r0.menuclass, "");
33
- i0.ɵɵattribute("aria-label", ctx_r0.arialabel || "Menu");
34
45
  i0.ɵɵadvance();
35
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c1, ctx_r0.menuCaret));
36
- } }
37
- function MenuComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
38
- i0.ɵɵelementStart(0, "button", 7);
39
- i0.ɵɵelement(1, "span", 6);
40
- i0.ɵɵelementEnd();
41
- } if (rf & 2) {
42
- const ctx_r0 = i0.ɵɵnextContext();
43
- i0.ɵɵclassMapInterpolate1("btn app-button dropdown-toggle ", ctx_r0.menuclass, "");
46
+ i0.ɵɵclassMapInterpolate1("dropdown-toggle ", ctx_r0.menuclass, "");
44
47
  i0.ɵɵattribute("aria-label", ctx_r0.arialabel || "Menu");
45
48
  i0.ɵɵadvance();
46
49
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c1, ctx_r0.menuCaret));
47
50
  } }
48
- function MenuComponent_ul_4_Template(rf, ctx) { if (rf & 1) {
51
+ function MenuComponent_ul_5_Template(rf, ctx) { if (rf & 1) {
49
52
  i0.ɵɵelement(0, "ul", 8);
50
53
  } if (rf & 2) {
51
54
  const ctx_r0 = i0.ɵɵnextContext();
@@ -261,18 +264,19 @@ export class MenuComponent extends DatasetAwareNavComponent {
261
264
  i0.ɵɵlistener("onShown", function MenuComponent_onShown_HostBindingHandler() { return ctx.onShow(); })("onHidden", function MenuComponent_onHidden_HostBindingHandler() { return ctx.onHide(); })("keydown.arrowup", function MenuComponent_keydown_arrowup_HostBindingHandler($event) { return ctx.onKeyDown($event, "UP-ARROW"); })("mouseenter", function MenuComponent_mouseenter_HostBindingHandler($event) { return ctx.onKeyDown($event, "MOUSE-ENTER"); })("mouseleave", function MenuComponent_mouseleave_HostBindingHandler($event) { return ctx.onKeyDown($event, "MOUSE-LEAVE"); })("keydown.arrowdown", function MenuComponent_keydown_arrowdown_HostBindingHandler($event) { return ctx.onKeyDown($event, "DOWN-ARROW"); })("keydown.arrowright", function MenuComponent_keydown_arrowright_HostBindingHandler($event) { return ctx.onKeyDown($event, "RIGHT-ARROW"); })("keydown.arrowleft", function MenuComponent_keydown_arrowleft_HostBindingHandler($event) { return ctx.onKeyDown($event, "LEFT-ARROW"); })("keydown.enter", function MenuComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); });
262
265
  } }, features: [i0.ɵɵProvidersFeature([
263
266
  provideAsWidgetRef(MenuComponent)
264
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 5, vars: 1, consts: [["innerTemplate", ""], ["wmAnchor", "", "dropdownToggle", "", "href", "javascript:void(0);", "role", "button", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition", "badgevalue.bind", "badgevalue", 3, "class"], ["wmButton", "", "dropdownToggle", "", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition", 3, "class"], ["role", "menubar", "wmMenuDropdown", "", 3, "items", "ngClass", "class", 4, "dropdownMenu"], [1, "caption", 3, "textContent"], ["wmAnchor", "", "dropdownToggle", "", "href", "javascript:void(0);", "role", "button", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition", "badgevalue.bind", "badgevalue"], [1, "pull-right", "caret", "fa", 3, "ngClass"], ["wmButton", "", "dropdownToggle", "", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition"], ["role", "menubar", "wmMenuDropdown", "", 3, "items", "ngClass"]], template: function MenuComponent_Template(rf, ctx) { if (rf & 1) {
265
- i0.ɵɵtemplate(0, MenuComponent_ng_template_0_Template, 3, 7, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(2, MenuComponent_Conditional_2_Template, 2, 7, "a", 1)(3, MenuComponent_Conditional_3_Template, 2, 7, "button", 2)(4, MenuComponent_ul_4_Template, 1, 5, "ul", 3);
267
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 6, vars: 2, consts: [["menuTemplate", ""], ["innerTemplate", ""], [4, "ngIf", "ngIfElse"], ["role", "menubar", "wmMenuDropdown", "", 3, "items", "ngClass", "class", 4, "dropdownMenu"], ["wmButton", "", "dropdownToggle", "", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition"], [1, "pull-right", "caret", "fa", 3, "ngClass"], [1, "caption", 3, "textContent"], ["wmAnchor", "", "dropdownToggle", "", "href", "javascript:void(0);", "role", "button", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition", "badgevalue.bind", "badgevalue"], ["role", "menubar", "wmMenuDropdown", "", 3, "items", "ngClass"]], template: function MenuComponent_Template(rf, ctx) { if (rf & 1) {
268
+ i0.ɵɵtemplate(0, MenuComponent_ng_template_0_Template, 2, 7, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(2, MenuComponent_ng_template_2_Template, 3, 7, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(4, MenuComponent_ng_container_4_Template, 3, 7, "ng-container", 2)(5, MenuComponent_ul_5_Template, 1, 5, "ul", 3);
266
269
  } if (rf & 2) {
267
- i0.ɵɵadvance(2);
268
- i0.ɵɵconditional(ctx.type === "anchor" ? 2 : 3);
270
+ const menuTemplate_r2 = i0.ɵɵreference(1);
271
+ i0.ɵɵadvance(4);
272
+ i0.ɵɵproperty("ngIf", ctx.type === "anchor")("ngIfElse", menuTemplate_r2);
269
273
  } }, encapsulation: 2 }); }
270
274
  }
271
275
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuComponent, [{
272
276
  type: Component,
273
277
  args: [{ selector: '[wmMenu]', providers: [
274
278
  provideAsWidgetRef(MenuComponent)
275
- ], template: "\n\n<ng-template #innerTemplate>\n <i class=\"app-icon {{iconclass}}\"></i>\n <span class=\"caption\" [textContent]=\"caption\"></span>\n <span class=\"pull-right caret fa {{menuCaret}}\"></span>\n</ng-template>\n\n@if (type === 'anchor') {\n <a wmAnchor\n dropdownToggle\n [attr.aria-label]=\"arialabel || 'Menu'\"\n href=\"javascript:void(0);\"\n role=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n hint.bind=\"hint\"\n class=\"dropdown-toggle {{menuclass}}\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\"\n badgevalue.bind=\"badgevalue\"\n >\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </a>\n} @else {\n <button wmButton\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"arialabel || 'Menu'\"\n class=\"btn app-button dropdown-toggle {{menuclass}}\"\n hint.bind=\"hint\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\">\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </button>\n}\n\n<ul *dropdownMenu [items]=\"nodes\" [ngClass]=\"menulayout\" class=\"icon-position-{{iconposition}}\" role=\"menubar\"\nwmMenuDropdown></ul>\n" }]
279
+ ], template: "<ng-template #menuTemplate>\n <button wmButton\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"arialabel || 'Menu'\"\n class=\"btn app-button dropdown-toggle {{menuclass}}\"\n hint.bind=\"hint\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\">\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </button>\n</ng-template>\n\n<ng-template #innerTemplate>\n <i class=\"app-icon {{iconclass}}\"></i>\n <span class=\"caption\" [textContent]=\"caption\"></span>\n <span class=\"pull-right caret fa {{menuCaret}}\"></span>\n</ng-template>\n\n<ng-container *ngIf=\"type === 'anchor'; else menuTemplate\">\n <a wmAnchor\n dropdownToggle\n [attr.aria-label]=\"arialabel || 'Menu'\"\n href=\"javascript:void(0);\"\n role=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n\n hint.bind=\"hint\"\n class=\"dropdown-toggle {{menuclass}}\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\"\n badgevalue.bind=\"badgevalue\"\n >\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </a>\n</ng-container>\n\n<ul *dropdownMenu [items]=\"nodes\" [ngClass]=\"menulayout\" class=\"icon-position-{{iconposition}}\" role=\"menubar\"\n wmMenuDropdown></ul>\n" }]
276
280
  }], () => [{ type: i0.Injector }, { type: i1.Router }, { type: i2.UserDefinedExecutionContext }, { type: i2.App }, { type: i3.BsDropdownDirective, decorators: [{
277
281
  type: Self
278
282
  }, {
@@ -316,4 +320,4 @@ export class MenuComponent extends DatasetAwareNavComponent {
316
320
  args: ['keydown.enter', ['$event', '"ENTER"']]
317
321
  }] }); })();
318
322
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuComponent, { className: "MenuComponent", filePath: "menu.component.ts", lineNumber: 89 }); })();
319
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvbmF2aWdhdGlvbi9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBR1IsUUFBUSxFQUNSLElBQUksRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxFQUNILFVBQVUsRUFDVixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUM5QixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQ0gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDVCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7OztJQzlCMUQsQUFEQSxBQURBLG9CQUFzQyxjQUNlLFdBQ0U7OztJQUZwRCw0REFBOEI7SUFDWCxjQUF1QjtJQUF2Qiw0Q0FBdUI7SUFDdkMsY0FBeUM7SUFBekMsdUVBQXlDOzs7SUFJL0MsNEJBZUc7SUFDRCwwQkFBaUU7SUFDbkUsaUJBQUk7OztJQVRGLG1FQUFxQzs7SUFRSCxjQUF1QjtJQUF2QixzRUFBdUI7OztJQUczRCxpQ0FXbUM7SUFDakMsMEJBQWlFO0lBQ25FLGlCQUFTOzs7SUFSUCxrRkFBb0Q7O0lBT2xCLGNBQXVCO0lBQXZCLHNFQUF1Qjs7O0lBSTdELHdCQUNvQjs7O0lBRHFDLG9FQUFzQztJQUE3RCxBQUFoQixvQ0FBZSw4QkFBdUI7O0FEUHhELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLE9BQU8sRUFBRSxVQUFVO0lBQ25CLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLGNBQWMsRUFBRSxhQUFhO0lBQzdCLGNBQWMsRUFBRSxhQUFhO0lBQzdCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsWUFBWSxFQUFFLFdBQVc7SUFDekIsU0FBUyxFQUFFLEtBQUs7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixPQUFPLEVBQUUsU0FBUztJQUNsQixRQUFRLEVBQUUsVUFBVTtJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixVQUFVLEVBQUUsWUFBWTtJQUN4QixNQUFNLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUc7SUFDYixVQUFVLEVBQUUsWUFBWTtJQUN4QixTQUFTLEVBQUUsV0FBVztJQUN0QixRQUFRLEVBQUUsVUFBVTtJQUNwQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBQ0YsTUFBTSxTQUFTLEdBQUc7SUFDZCxFQUFFLEVBQUUsYUFBYTtJQUNqQixJQUFJLEVBQUUsZUFBZTtDQUN4QixDQUFDO0FBQ0YsTUFBTSxRQUFRLEdBQUc7SUFDYixJQUFJLEVBQUUsV0FBVztJQUNqQixLQUFLLEVBQUUsWUFBWTtDQUN0QixDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUc7SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLE1BQU0sRUFBRSxRQUFRO0NBQ25CLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUM7QUFRaEYsTUFBTSxPQUFPLGFBQWMsU0FBUSx3QkFBd0I7YUFDaEQsb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUF1QmhCLE1BQU07UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1RixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxVQUFVLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ3lCLE1BQU07UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsaURBQWlEO1FBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN2RixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsVUFBVSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQVFxRCxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVc7UUFDL0UsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvQyxhQUFhLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztZQUNyQyxhQUFhLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyRCxhQUFhLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztZQUNyQyxhQUFhLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztZQUNyQyxhQUFhLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztZQUN4QyxhQUFhLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2RCxhQUFhLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztZQUN4QyxhQUFhLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1RixDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksV0FBVyxLQUFLLGFBQWEsQ0FBQyxRQUFRLElBQUksQ0FBQyxXQUFXLEtBQUssYUFBYSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN0SCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxhQUFhLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksY0FBYyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNqTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ0ksR0FBYSxFQUNOLEtBQWEsRUFDWiwyQkFBd0QsRUFDeEQsR0FBUSxFQUNXLFVBQStCLEVBQ3RDLFNBQXVCLEVBQ1QsYUFBcUIsRUFDZixlQUFvQjtRQUU1RCxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQVJwQyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ1osZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQ1csZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDdEMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNULGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBbkVuRCxjQUFTLEdBQUcsZUFBZSxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQXNFN0IsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO1FBQzdELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDOUMsQ0FBQztRQUNELGlDQUFpQztRQUNqQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNuRCxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzVGLENBQUM7Z0JBQ0QsZ0lBQWdJO2dCQUNoSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakIsT0FBTztnQkFDWCxDQUFDO2dCQUNELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdEIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDdEIsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNwQixJQUFJLFNBQVMsRUFBRSxDQUFDOzRCQUNaLE9BQU87d0JBQ1gsQ0FBQzt3QkFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzs0QkFDaEIsU0FBUyxHQUFHLElBQUksQ0FBQzs0QkFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzs0QkFDbkQsaURBQWlEOzRCQUNqRCxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7NEJBQzlCLE9BQU8sS0FBSyxDQUFDO3dCQUNqQixDQUFDO3dCQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7NEJBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQzNCLENBQUM7b0JBRUwsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQyxDQUFDO2dCQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFMUUsQ0FBQztJQUVTLFVBQVU7UUFDaEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLHlHQUF5RztRQUN6RyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsV0FBVyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUUsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFnQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFFLENBQUMsQ0FBQztRQUNsSixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVcsRUFBRSxFQUFPLEVBQUUsRUFBUTtRQUUzQyxJQUFJLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsS0FBSyxjQUFjLENBQUMsUUFBUSxDQUFDO1lBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlO1FBQ2xCLFFBQVEsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLEtBQUssUUFBUSxDQUFDLFVBQVU7Z0JBQ3BCLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDaEMsTUFBTTtZQUNWLEtBQUssUUFBUSxDQUFDLFNBQVM7Z0JBQ25CLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDaEMsTUFBTTtZQUNWLEtBQUssUUFBUSxDQUFDLE9BQU87Z0JBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsTUFBTTtZQUNWLEtBQUssUUFBUSxDQUFDLFFBQVE7Z0JBQ2xCLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsTUFBTTtZQUNWLEtBQUssUUFBUSxDQUFDLE1BQU07Z0JBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7Z0JBQ25DLE1BQU07UUFDZCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQUk7UUFDeEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RGLENBQUM7OEdBdk1RLGFBQWEsMlFBcUZQLGNBQWMsd0JBQ2pCLGtCQUFrQjtvRUF0RnJCLGFBQWE7WUFBYixzRkFBQSxZQUFRLElBQUssMkVBQWIsWUFBUSxJQUFLLCtGQUFiLHNCQUFpQixVQUFVLENBQUMsSUFBZixxRkFBYixzQkFBaUIsYUFBYSxDQUFDLElBQWxCLHFGQUFiLHNCQUFpQixhQUFhLENBQUMsSUFBbEIsbUdBQWIsc0JBQWlCLFlBQVksQ0FBQyxJQUFqQixxR0FBYixzQkFBaUIsYUFBYSxDQUFDLElBQWxCLG1HQUFiLHNCQUFpQixZQUFZLENBQUMsSUFBakIsMkZBQWIsc0JBQWlCLE9BQU8sQ0FBQyxJQUFaOzhDQUpYO2dCQUNQLGtCQUFrQixDQUFDLGFBQWEsQ0FBQzthQUNwQztZQzFDTCxBQWpCRSxBQW5CRixBQU5BLCtHQUE0Qix1REFNSCw0REFtQmhCLCtDQWtCTTs7WUFyQ2YsZUFrQ0M7WUFsQ0QsK0NBa0NDOzs7aUZEOENZLGFBQWE7Y0FQekIsU0FBUzsyQkFDSSxVQUFVLGFBRVQ7b0JBQ1Asa0JBQWtCLGVBQWU7aUJBQ3BDOztzQkFxRkksSUFBSTs7c0JBQUksUUFBUTs7c0JBQ2hCLFFBQVE7O3NCQUNSLFNBQVM7dUJBQUMsY0FBYzs7c0JBQ3hCLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQTlEaEIsTUFBTTtrQkFBOUIsWUFBWTttQkFBQyxTQUFTO1lBU0csTUFBTTtrQkFBL0IsWUFBWTttQkFBQyxVQUFVO1lBZThCLFNBQVM7a0JBTjlELFlBQVk7bUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDOztrQkFDeEQsWUFBWTttQkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDOztrQkFDdEQsWUFBWTttQkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDOztrQkFDdEQsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUM7O2tCQUM1RCxZQUFZO21CQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQzs7a0JBQzlELFlBQVk7bUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDOztrQkFDNUQsWUFBWTttQkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDOztrRkFoRDNDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0JzRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJ25neC1ib290c3RyYXAvZHJvcGRvd24nO1xuXG5pbXBvcnQge1xuICAgICRhcHBEaWdlc3QsXG4gICAgYWRkQ2xhc3MsXG4gICAgQXBwLFxuICAgIHJlbW92ZUNsYXNzLFxuICAgIHRvZ2dsZUNsYXNzLFxuICAgIHRyaWdnZXJJdGVtQWN0aW9uLFxuICAgIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dFxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge1xuICAgIEFVVE9DTE9TRV9UWVBFLFxuICAgIERhdGFzZXRBd2FyZU5hdkNvbXBvbmVudCxcbiAgICBoYXNMaW5rVG9DdXJyZW50UGFnZSxcbiAgICBwcm92aWRlQXNXaWRnZXRSZWYsXG4gICAgc3R5bGVyXG59IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHtOYXZDb21wb25lbnR9IGZyb20gJy4vbmF2L25hdi5jb21wb25lbnQnO1xuXG5pbXBvcnQge3JlZ2lzdGVyUHJvcHN9IGZyb20gJy4vbWVudS5wcm9wcyc7XG5pbXBvcnQge2Nsb25lLCBmb3JFYWNoLCBpbmNsdWRlcywgaXNFbXB0eX0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5leHBvcnQgY29uc3QgS0VZQk9BUkRfTU9WRU1FTlRTID0ge1xuICAgIE1PVkVfVVA6ICdVUC1BUlJPVycsXG4gICAgTU9WRV9MRUZUOiAnTEVGVC1BUlJPVycsXG4gICAgTU9WRV9SSUdIVDogJ1JJR0hULUFSUk9XJyxcbiAgICBNT1ZFX0RPV046ICdET1dOLUFSUk9XJyxcbiAgICBPTl9FTlRFUjogJ0VOVEVSJyxcbiAgICBPTl9NT1VTRV9FTlRFUjogJ01PVVNFLUVOVEVSJyxcbiAgICBPTl9NT1VTRV9MRUFWRTogJ01PVVNFLUxFQVZFJyxcbiAgICBPTl9UQUI6ICdUQUInLFxuICAgIE9OX1NISUZUX1RBQjogJ1NISUZULVRBQicsXG4gICAgT05fRVNDQVBFOiAnRVNDJ1xufTtcblxuZXhwb3J0IGNvbnN0IE1FTlVfUE9TSVRJT04gPSB7XG4gICAgVVBfTEVGVDogJ3VwLGxlZnQnLFxuICAgIFVQX1JJR0hUOiAndXAscmlnaHQnLFxuICAgIERPV05fTEVGVDogJ2Rvd24sbGVmdCcsXG4gICAgRE9XTl9SSUdIVDogJ2Rvd24scmlnaHQnLFxuICAgIElOTElORTogJ2lubGluZSdcbn07XG5cbmNvbnN0IFBPU0lUSU9OID0ge1xuICAgIERPV05fUklHSFQ6ICdkb3duLHJpZ2h0JyxcbiAgICBET1dOX0xFRlQ6ICdkb3duLGxlZnQnLFxuICAgIFVQX1JJR0hUOiAndXAscmlnaHQnLFxuICAgIFVQX0xFRlQ6ICd1cCxsZWZ0JyxcbiAgICBJTkxJTkU6ICdpbmxpbmUnXG59O1xuY29uc3QgQ0FSRVRfQ0xTID0ge1xuICAgIFVQOiAnZmEtY2FyZXQtdXAnLFxuICAgIERPV046ICdmYS1jYXJldC1kb3duJ1xufTtcbmNvbnN0IFBVTExfQ0xTID0ge1xuICAgIExFRlQ6ICdwdWxsLWxlZnQnLFxuICAgIFJJR0hUOiAncHVsbC1yaWdodCdcbn07XG5cbmNvbnN0IEFVVE9fT1BFTiA9IHtcbiAgICBORVZFUjogJ25ldmVyJyxcbiAgICBBQ1RJVkVfUEFHRTogJ2FjdGl2ZXBhZ2UnLFxuICAgIEFMV0FZUzogJ2Fsd2F5cydcbn07XG5cbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7IHdpZGdldFR5cGU6ICd3bS1tZW51JywgaG9zdENsYXNzOiAnZHJvcGRvd24gYXBwLW1lbnUnIH07XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bU1lbnVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihNZW51Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZU5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIG1lbnVhbGlnbjogc3RyaW5nO1xuICAgIHB1YmxpYyBtZW51cG9zaXRpb246IHN0cmluZztcbiAgICBwdWJsaWMgbWVudWxheW91dDogc3RyaW5nO1xuICAgIHB1YmxpYyBtZW51Y2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgbGlua3RhcmdldDogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgYW5pbWF0ZWl0ZW1zOiBzdHJpbmc7XG4gICAgcHVibGljIGRpc2FibGVNZW51Q29udGV4dDogYm9vbGVhbjtcbiAgICBwdWJsaWMgc2hvd29uaG92ZXI6IGJvb2xlYW47XG4gICAgcHVibGljIGF1dG9jbG9zZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvb3Blbjogc3RyaW5nO1xuICAgIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gICAgcHVibGljIGFyaWFsYWJlbDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBpdGVtQWN0aW9uRm46IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgbWVudUNhcmV0ID0gJ2ZhLWNhcmV0LWRvd24nO1xuICAgIHByaXZhdGUgX3NlbGVjdEZpcnN0SXRlbSA9IGZhbHNlO1xuXG4gICAgcHVibGljIHR5cGU6IGFueTtcbiAgICBwdWJsaWMgX21lbnVwb3NpdGlvbjogc3RyaW5nO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignb25TaG93bicpIG9uU2hvdygpIHtcbiAgICAgICAgdGhpcy5fbWVudXBvc2l0aW9uID0gdGhpcy5tZW51cG9zaXRpb247XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RGaXJzdEl0ZW0pIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnPiB1bFt3bW1lbnVkcm9wZG93bl0gbGkuYXBwLW1lbnUtaXRlbScpLmZpcnN0KCkuZmluZCgnPiBhJykuZm9jdXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICB9XG4gICAgQEhvc3RMaXN0ZW5lcignb25IaWRkZW4nKSBvbkhpZGUoKSB7XG4gICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnbGknKS5yZW1vdmVDbGFzcygnb3BlbicpO1xuICAgICAgICB0aGlzLl9zZWxlY3RGaXJzdEl0ZW0gPSBmYWxzZTtcbiAgICAgICAgLy8gcmVzZXQgdGhlIG1lbnVwb3NpdGlvbiB3aGVuIGRyb3Bkb3duIGlzIGNsb3NlZFxuICAgICAgICB0aGlzLm1lbnVwb3NpdGlvbiA9IHRoaXMuX21lbnVwb3NpdGlvbiA/IHRoaXMuX21lbnVwb3NpdGlvbiA6IE1FTlVfUE9TSVRJT04uRE9XTl9SSUdIVDtcbiAgICAgICAgdGhpcy5zZXRNZW51UG9zaXRpb24oKTtcbiAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3d1cCcsIFsnJGV2ZW50JywgJ1wiVVAtQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBbJyRldmVudCcsICdcIk1PVVNFLUVOVEVSXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnLCAnXCJNT1VTRS1MRUFWRVwiJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCcsICdcIkRPV04tQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50JywgJ1wiUklHSFQtQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnLCAnXCJMRUZULUFSUk9XXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pIG9uS2V5RG93bigkZXZlbnQsIGV2ZW50QWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IEtFWV9NT1ZFTUVOVFMgPSBjbG9uZShLRVlCT0FSRF9NT1ZFTUVOVFMpO1xuICAgICAgICBpZiAodGhpcy5tZW51cG9zaXRpb24gPT09IE1FTlVfUE9TSVRJT04uVVBfUklHSFQpIHtcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9VUCA9ICdET1dOLUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9ET1dOID0gJ1VQLUFSUk9XJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVwb3NpdGlvbiA9PT0gTUVOVV9QT1NJVElPTi5VUF9MRUZUKSB7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfVVAgPSAnRE9XTi1BUlJPVyc7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfRE9XTiA9ICdVUC1BUlJPVyc7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVCA9ICdSSUdIVC1BUlJPVyc7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFQgPSAnTEVGVC1BUlJPVyc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tZW51cG9zaXRpb24gPT09IE1FTlVfUE9TSVRJT04uRE9XTl9MRUZUKSB7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVCA9ICdSSUdIVC1BUlJPVyc7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFQgPSAnTEVGVC1BUlJPVyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5jbHVkZXMoW0tFWV9NT1ZFTUVOVFMuTU9WRV9ET1dOLCBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFRdLCBldmVudEFjdGlvbikpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5ic0Ryb3Bkb3duLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEZpcnN0SXRlbSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5ic0Ryb3Bkb3duLnNob3coKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCc+IHVsW3dtbWVudWRyb3Bkb3duXSBsaS5hcHAtbWVudS1pdGVtJykuZmlyc3QoKS5maW5kKCc+IGEnKS5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk9OX0VOVEVSIHx8IChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9NT1VTRV9FTlRFUiAmJiB0aGlzLnNob3dvbmhvdmVyKSkge1xuICAgICAgICAgICAgdGhpcy5ic0Ryb3Bkb3duLnRvZ2dsZSh0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChpbmNsdWRlcyhbS0VZX01PVkVNRU5UUy5NT1ZFX1VQLCBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVF0sIGV2ZW50QWN0aW9uKSB8fCAoZXZlbnRBY3Rpb24gPT0gS0VZX01PVkVNRU5UUy5PTl9NT1VTRV9MRUFWRSAmJiB0aGlzLmF1dG9jbG9zZSA9PSBBVVRPQ0xPU0VfVFlQRS5BTFdBWVMgJiYgdGhpcy5zaG93b25ob3ZlcikpIHtcbiAgICAgICAgICAgIHRoaXMuYnNEcm9wZG93bi5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluajogSW5qZWN0b3IsXG4gICAgICAgIHB1YmxpYyByb3V0ZTogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dDogVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICBwcml2YXRlIGFwcDogQXBwLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBic0Ryb3Bkb3duOiBCc0Ryb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudE5hdjogTmF2Q29tcG9uZW50LFxuICAgICAgICBAQXR0cmlidXRlKCdzZWxlY3QuZXZlbnQnKSBwdWJsaWMgc2VsZWN0RXZlbnRDQjogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBpZiAocGFyZW50TmF2KSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVNZW51Q29udGV4dCA9ICEhcGFyZW50TmF2LmRpc2FibGVNZW51Q29udGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZU1lbnVDb250ZXh0ID0gISFzZWxlY3RFdmVudENCO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZvciBzZWxlY3RpbmcgdGhlIGl0ZW0gb24gbG9hZFxuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5ub2RlcyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNFbXB0eSh0aGlzLm5vZGVzKSkge1xuICAgICAgICAgICAgICAgIGlmIChoYXNMaW5rVG9DdXJyZW50UGFnZSh0aGlzLm5vZGVzLCB0aGlzLnJvdXRlLnVybCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi10b2dnbGUnKSBhcyBIVE1MRWxlbWVudCwgJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBJZiBtZW51IHdpZGdldCBpcyBpbnNpZGUgbmF2IHdpZGdldCB0aGVuIGRvbnQgY2hlY2sgZm9yIGl0ZW0gaXNhY3RpdmUgcHJvcGVydHkgYmVjYXVzZSB0aGVzZSB3aWxsIGJlIGhhbmRsZWQgZm9ybSBuYXYgd2lkZ2V0LlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmVudE5hdikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxldCBpdGVtRm91bmQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCBnZXRJdGVtID0gKG5vZGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZvckVhY2gobm9kZXMsIChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbUZvdW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uaXNhY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtRm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25NZW51SXRlbVNlbGVjdCh7ICRldmVudDoge30sICRpdGVtOiBpdGVtIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgdGhlIGFjdGlvbiBhc3NvY2lhdGVkIHdpdGggYWN0aXZlIGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VySXRlbUFjdGlvbih0aGlzLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRW1wdHkoaXRlbS5jaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRJdGVtKGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZ2V0SXRlbSh0aGlzLm5vZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcblxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNldE5vZGVzKCkge1xuICAgICAgICBzdXBlci5yZXNldE5vZGVzKCk7XG4gICAgICAgIC8vIG9wZW4gdGhlIG1lbnUgaWYgYW55IG9mIGl0cyBtZW51IGl0ZW1zIGhhcyBsaW5rIHRvIGN1cnJlbnQgcGFnZSBhbmQgaWYgYXV0b29wZW4gdmFsdWUgaXMgJ2FjdGl2ZSBwYWdlJ1xuICAgICAgICBpZiAoKHRoaXMuYXV0b29wZW4gPT09IEFVVE9fT1BFTi5BQ1RJVkVfUEFHRSAmJiBoYXNMaW5rVG9DdXJyZW50UGFnZSh0aGlzLm5vZGVzLCB0aGlzLnJvdXRlLnVybCkpIHx8IHRoaXMuYXV0b29wZW4gPT09IEFVVE9fT1BFTi5BTFdBWVMpIHtcbiAgICAgICAgICAgIHRoaXMuYnNEcm9wZG93bi5zaG93KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXRNZW51UG9zaXRpb24oKTtcblxuICAgICAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb24gPSB0aGlzLmFwcC5zdWJzY3JpYmUoXCJoaWdobGlnaHRBY3RpdmVMaW5rXCIsIChkYXRhKSA9PiB7XG4gICAgICAgICAgICB0b2dnbGVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpIGFzIEhUTUxFbGVtZW50LCAnYWN0aXZlJywgaGFzTGlua1RvQ3VycmVudFBhZ2UodGhpcy5ub2RlcywgdGhpcy5yb3V0ZS51cmwgKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGNhbmNlbFN1YnNjcmlwdGlvbigpKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuXG4gICAgICAgIGlmIChrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChrZXkgPT09ICdhdXRvY2xvc2UnKSB7XG4gICAgICAgICAgICB0aGlzLmJzRHJvcGRvd24uYXV0b0Nsb3NlID0gbnYgIT09IEFVVE9DTE9TRV9UWVBFLkRJU0FCTEVEO1xuICAgICAgICAgICAgdGhpcy5hdXRvY2xvc2UgPSBudjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1lbnVQb3NpdGlvbigpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLm1lbnVwb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5ET1dOX1JJR0hUOlxuICAgICAgICAgICAgICAgIHJlbW92ZUNsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuTEVGVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5ET1dOO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5ET1dOX0xFRlQ6XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnZHJvcHVwJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51YWxpZ24gPSBQVUxMX0NMUy5SSUdIVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5ET1dOO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5VUF9MRUZUOlxuICAgICAgICAgICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuUklHSFQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51Q2FyZXQgPSBDQVJFVF9DTFMuVVA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBPU0lUSU9OLlVQX1JJR0hUOlxuICAgICAgICAgICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuTEVGVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5VUDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUE9TSVRJT04uSU5MSU5FOlxuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gJ2Ryb3BpbmxpbmUtbWVudSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZW51SXRlbVNlbGVjdChhcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgJGV2ZW50IH0gPSBhcmdzO1xuICAgICAgICBjb25zdCAkaXRlbSA9IGFyZ3MuJGl0ZW0udmFsdWU7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnc2VsZWN0JywgeyAkZXZlbnQsICRpdGVtIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpIGFzIEhUTUxFbGVtZW50LCB0aGlzKTtcbiAgICB9XG59XG4iLCJcblxuPG5nLXRlbXBsYXRlICNpbm5lclRlbXBsYXRlPlxuICA8aSBjbGFzcz1cImFwcC1pY29uIHt7aWNvbmNsYXNzfX1cIj48L2k+XG4gIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJjYXB0aW9uXCI+PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cInB1bGwtcmlnaHQgY2FyZXQgZmEge3ttZW51Q2FyZXR9fVwiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbkBpZiAodHlwZSA9PT0gJ2FuY2hvcicpIHtcbiAgPGEgd21BbmNob3JcbiAgICBkcm9wZG93blRvZ2dsZVxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYWxhYmVsIHx8ICdNZW51J1wiXG4gICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgIGhpbnQuYmluZD1cImhpbnRcIlxuICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIHt7bWVudWNsYXNzfX1cIlxuICAgIHNob3J0Y3V0a2V5LmJpbmQ9XCJzaG9ydGN1dGtleVwiXG4gICAgdGFiaW5kZXguYmluZD1cInRhYmluZGV4XCJcbiAgICBjYXB0aW9uLmJpbmQ9XCJjYXB0aW9uXCJcbiAgICBpY29uY2xhc3MuYmluZD1cImljb25jbGFzc1wiXG4gICAgaWNvbnBvc2l0aW9uLmJpbmQ9XCJpY29ucG9zaXRpb25cIlxuICAgIGJhZGdldmFsdWUuYmluZD1cImJhZGdldmFsdWVcIlxuICAgID5cbiAgICA8c3BhbiBjbGFzcz1cInB1bGwtcmlnaHQgY2FyZXQgZmFcIiBbbmdDbGFzc109XCJbbWVudUNhcmV0XVwiPjwvc3Bhbj5cbiAgPC9hPlxufSBAZWxzZSB7XG4gIDxidXR0b24gd21CdXR0b25cbiAgICBkcm9wZG93blRvZ2dsZVxuICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYWxhYmVsIHx8ICdNZW51J1wiXG4gICAgY2xhc3M9XCJidG4gYXBwLWJ1dHRvbiBkcm9wZG93bi10b2dnbGUge3ttZW51Y2xhc3N9fVwiXG4gICAgaGludC5iaW5kPVwiaGludFwiXG4gICAgc2hvcnRjdXRrZXkuYmluZD1cInNob3J0Y3V0a2V5XCJcbiAgICB0YWJpbmRleC5iaW5kPVwidGFiaW5kZXhcIlxuICAgIGNhcHRpb24uYmluZD1cImNhcHRpb25cIlxuICAgIGljb25jbGFzcy5iaW5kPVwiaWNvbmNsYXNzXCJcbiAgICBpY29ucG9zaXRpb24uYmluZD1cImljb25wb3NpdGlvblwiPlxuICAgIDxzcGFuIGNsYXNzPVwicHVsbC1yaWdodCBjYXJldCBmYVwiIFtuZ0NsYXNzXT1cIlttZW51Q2FyZXRdXCI+PC9zcGFuPlxuICA8L2J1dHRvbj5cbn1cblxuPHVsICpkcm9wZG93bk1lbnUgW2l0ZW1zXT1cIm5vZGVzXCIgW25nQ2xhc3NdPVwibWVudWxheW91dFwiIGNsYXNzPVwiaWNvbi1wb3NpdGlvbi17e2ljb25wb3NpdGlvbn19XCIgcm9sZT1cIm1lbnViYXJcIlxud21NZW51RHJvcGRvd24+PC91bD5cbiJdfQ==
323
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvbmF2aWdhdGlvbi9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBR1IsUUFBUSxFQUNSLElBQUksRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxFQUNILFVBQVUsRUFDVixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUM5QixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQ0gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDVCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7OztJQ2xDeEQsaUNBV3lDO0lBQ3JDLDBCQUFpRTtJQUNyRSxpQkFBUzs7O0lBUkQsa0ZBQW9EOztJQU90QixjQUF1QjtJQUF2QixzRUFBdUI7OztJQU83RCxBQURB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Vmlld0luaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0JzRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJ25neC1ib290c3RyYXAvZHJvcGRvd24nO1xuXG5pbXBvcnQge1xuICAgICRhcHBEaWdlc3QsXG4gICAgYWRkQ2xhc3MsXG4gICAgQXBwLFxuICAgIHJlbW92ZUNsYXNzLFxuICAgIHRvZ2dsZUNsYXNzLFxuICAgIHRyaWdnZXJJdGVtQWN0aW9uLFxuICAgIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dFxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge1xuICAgIEFVVE9DTE9TRV9UWVBFLFxuICAgIERhdGFzZXRBd2FyZU5hdkNvbXBvbmVudCxcbiAgICBoYXNMaW5rVG9DdXJyZW50UGFnZSxcbiAgICBwcm92aWRlQXNXaWRnZXRSZWYsXG4gICAgc3R5bGVyXG59IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHtOYXZDb21wb25lbnR9IGZyb20gJy4vbmF2L25hdi5jb21wb25lbnQnO1xuXG5pbXBvcnQge3JlZ2lzdGVyUHJvcHN9IGZyb20gJy4vbWVudS5wcm9wcyc7XG5pbXBvcnQge2Nsb25lLCBmb3JFYWNoLCBpbmNsdWRlcywgaXNFbXB0eX0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5leHBvcnQgY29uc3QgS0VZQk9BUkRfTU9WRU1FTlRTID0ge1xuICAgIE1PVkVfVVA6ICdVUC1BUlJPVycsXG4gICAgTU9WRV9MRUZUOiAnTEVGVC1BUlJPVycsXG4gICAgTU9WRV9SSUdIVDogJ1JJR0hULUFSUk9XJyxcbiAgICBNT1ZFX0RPV046ICdET1dOLUFSUk9XJyxcbiAgICBPTl9FTlRFUjogJ0VOVEVSJyxcbiAgICBPTl9NT1VTRV9FTlRFUjogJ01PVVNFLUVOVEVSJyxcbiAgICBPTl9NT1VTRV9MRUFWRTogJ01PVVNFLUxFQVZFJyxcbiAgICBPTl9UQUI6ICdUQUInLFxuICAgIE9OX1NISUZUX1RBQjogJ1NISUZULVRBQicsXG4gICAgT05fRVNDQVBFOiAnRVNDJ1xufTtcblxuZXhwb3J0IGNvbnN0IE1FTlVfUE9TSVRJT04gPSB7XG4gICAgVVBfTEVGVDogJ3VwLGxlZnQnLFxuICAgIFVQX1JJR0hUOiAndXAscmlnaHQnLFxuICAgIERPV05fTEVGVDogJ2Rvd24sbGVmdCcsXG4gICAgRE9XTl9SSUdIVDogJ2Rvd24scmlnaHQnLFxuICAgIElOTElORTogJ2lubGluZSdcbn07XG5cbmNvbnN0IFBPU0lUSU9OID0ge1xuICAgIERPV05fUklHSFQ6ICdkb3duLHJpZ2h0JyxcbiAgICBET1dOX0xFRlQ6ICdkb3duLGxlZnQnLFxuICAgIFVQX1JJR0hUOiAndXAscmlnaHQnLFxuICAgIFVQX0xFRlQ6ICd1cCxsZWZ0JyxcbiAgICBJTkxJTkU6ICdpbmxpbmUnXG59O1xuY29uc3QgQ0FSRVRfQ0xTID0ge1xuICAgIFVQOiAnZmEtY2FyZXQtdXAnLFxuICAgIERPV046ICdmYS1jYXJldC1kb3duJ1xufTtcbmNvbnN0IFBVTExfQ0xTID0ge1xuICAgIExFRlQ6ICdwdWxsLWxlZnQnLFxuICAgIFJJR0hUOiAncHVsbC1yaWdodCdcbn07XG5cbmNvbnN0IEFVVE9fT1BFTiA9IHtcbiAgICBORVZFUjogJ25ldmVyJyxcbiAgICBBQ1RJVkVfUEFHRTogJ2FjdGl2ZXBhZ2UnLFxuICAgIEFMV0FZUzogJ2Fsd2F5cydcbn07XG5cbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7IHdpZGdldFR5cGU6ICd3bS1tZW51JywgaG9zdENsYXNzOiAnZHJvcGRvd24gYXBwLW1lbnUnIH07XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bU1lbnVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihNZW51Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZU5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIG1lbnVhbGlnbjogc3RyaW5nO1xuICAgIHB1YmxpYyBtZW51cG9zaXRpb246IHN0cmluZztcbiAgICBwdWJsaWMgbWVudWxheW91dDogc3RyaW5nO1xuICAgIHB1YmxpYyBtZW51Y2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgbGlua3RhcmdldDogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgYW5pbWF0ZWl0ZW1zOiBzdHJpbmc7XG4gICAgcHVibGljIGRpc2FibGVNZW51Q29udGV4dDogYm9vbGVhbjtcbiAgICBwdWJsaWMgc2hvd29uaG92ZXI6IGJvb2xlYW47XG4gICAgcHVibGljIGF1dG9jbG9zZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvb3Blbjogc3RyaW5nO1xuICAgIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gICAgcHVibGljIGFyaWFsYWJlbDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBpdGVtQWN0aW9uRm46IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgbWVudUNhcmV0ID0gJ2ZhLWNhcmV0LWRvd24nO1xuICAgIHByaXZhdGUgX3NlbGVjdEZpcnN0SXRlbSA9IGZhbHNlO1xuXG4gICAgcHVibGljIHR5cGU6IGFueTtcbiAgICBwdWJsaWMgX21lbnVwb3NpdGlvbjogc3RyaW5nO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignb25TaG93bicpIG9uU2hvdygpIHtcbiAgICAgICAgdGhpcy5fbWVudXBvc2l0aW9uID0gdGhpcy5tZW51cG9zaXRpb247XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RGaXJzdEl0ZW0pIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnPiB1bFt3bW1lbnVkcm9wZG93bl0gbGkuYXBwLW1lbnUtaXRlbScpLmZpcnN0KCkuZmluZCgnPiBhJykuZm9jdXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICB9XG4gICAgQEhvc3RMaXN0ZW5lcignb25IaWRkZW4nKSBvbkhpZGUoKSB7XG4gICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnbGknKS5yZW1vdmVDbGFzcygnb3BlbicpO1xuICAgICAgICB0aGlzLl9zZWxlY3RGaXJzdEl0ZW0gPSBmYWxzZTtcbiAgICAgICAgLy8gcmVzZXQgdGhlIG1lbnVwb3NpdGlvbiB3aGVuIGRyb3Bkb3duIGlzIGNsb3NlZFxuICAgICAgICB0aGlzLm1lbnVwb3NpdGlvbiA9IHRoaXMuX21lbnVwb3NpdGlvbiA/IHRoaXMuX21lbnVwb3NpdGlvbiA6IE1FTlVfUE9TSVRJT04uRE9XTl9SSUdIVDtcbiAgICAgICAgdGhpcy5zZXRNZW51UG9zaXRpb24oKTtcbiAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3d1cCcsIFsnJGV2ZW50JywgJ1wiVVAtQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBbJyRldmVudCcsICdcIk1PVVNFLUVOVEVSXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnLCAnXCJNT1VTRS1MRUFWRVwiJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCcsICdcIkRPV04tQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50JywgJ1wiUklHSFQtQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnLCAnXCJMRUZULUFSUk9XXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pIG9uS2V5RG93bigkZXZlbnQsIGV2ZW50QWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IEtFWV9NT1ZFTUVOVFMgPSBjbG9uZShLRVlCT0FSRF9NT1ZFTUVOVFMpO1xuICAgICAgICBpZiAodGhpcy5tZW51cG9zaXRpb24gPT09IE1FTlVfUE9TSVRJT04uVVBfUklHSFQpIHtcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9VUCA9ICdET1dOLUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9ET1dOID0gJ1VQLUFSUk9XJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVwb3NpdGlvbiA9PT0gTUVOVV9QT1NJVElPTi5VUF9MRUZUKSB7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfVVAgPSAnRE9XTi1BUlJPVyc7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfRE9XTiA9ICdVUC1BUlJPVyc7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVCA9ICdSSUdIVC1BUlJPVyc7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFQgPSAnTEVGVC1BUlJPVyc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tZW51cG9zaXRpb24gPT09IE1FTlVfUE9TSVRJT04uRE9XTl9MRUZUKSB7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVCA9ICdSSUdIVC1BUlJPVyc7XG4gICAgICAgICAgICBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFQgPSAnTEVGVC1BUlJPVyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5jbHVkZXMoW0tFWV9NT1ZFTUVOVFMuTU9WRV9ET1dOLCBLRVlfTU9WRU1FTlRTLk1PVkVfUklHSFRdLCBldmVudEFjdGlvbikpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5ic0Ryb3Bkb3duLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEZpcnN0SXRlbSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5ic0Ryb3Bkb3duLnNob3coKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCc+IHVsW3dtbWVudWRyb3Bkb3duXSBsaS5hcHAtbWVudS1pdGVtJykuZmlyc3QoKS5maW5kKCc+IGEnKS5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50QWN0aW9uID09PSBLRVlfTU9WRU1FTlRTLk9OX0VOVEVSIHx8IChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9NT1VTRV9FTlRFUiAmJiB0aGlzLnNob3dvbmhvdmVyKSkge1xuICAgICAgICAgICAgdGhpcy5ic0Ryb3Bkb3duLnRvZ2dsZSh0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChpbmNsdWRlcyhbS0VZX01PVkVNRU5UUy5NT1ZFX1VQLCBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVF0sIGV2ZW50QWN0aW9uKSB8fCAoZXZlbnRBY3Rpb24gPT0gS0VZX01PVkVNRU5UUy5PTl9NT1VTRV9MRUFWRSAmJiB0aGlzLmF1dG9jbG9zZSA9PSBBVVRPQ0xPU0VfVFlQRS5BTFdBWVMgJiYgdGhpcy5zaG93b25ob3ZlcikpIHtcbiAgICAgICAgICAgIHRoaXMuYnNEcm9wZG93bi5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluajogSW5qZWN0b3IsXG4gICAgICAgIHB1YmxpYyByb3V0ZTogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dDogVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICBwcml2YXRlIGFwcDogQXBwLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBic0Ryb3Bkb3duOiBCc0Ryb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudE5hdjogTmF2Q29tcG9uZW50LFxuICAgICAgICBAQXR0cmlidXRlKCdzZWxlY3QuZXZlbnQnKSBwdWJsaWMgc2VsZWN0RXZlbnRDQjogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBpZiAocGFyZW50TmF2KSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVNZW51Q29udGV4dCA9ICEhcGFyZW50TmF2LmRpc2FibGVNZW51Q29udGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZU1lbnVDb250ZXh0ID0gISFzZWxlY3RFdmVudENCO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZvciBzZWxlY3RpbmcgdGhlIGl0ZW0gb24gbG9hZFxuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5ub2RlcyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNFbXB0eSh0aGlzLm5vZGVzKSkge1xuICAgICAgICAgICAgICAgIGlmIChoYXNMaW5rVG9DdXJyZW50UGFnZSh0aGlzLm5vZGVzLCB0aGlzLnJvdXRlLnVybCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi10b2dnbGUnKSBhcyBIVE1MRWxlbWVudCwgJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBJZiBtZW51IHdpZGdldCBpcyBpbnNpZGUgbmF2IHdpZGdldCB0aGVuIGRvbnQgY2hlY2sgZm9yIGl0ZW0gaXNhY3RpdmUgcHJvcGVydHkgYmVjYXVzZSB0aGVzZSB3aWxsIGJlIGhhbmRsZWQgZm9ybSBuYXYgd2lkZ2V0LlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmVudE5hdikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxldCBpdGVtRm91bmQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCBnZXRJdGVtID0gKG5vZGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZvckVhY2gobm9kZXMsIChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbUZvdW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uaXNhY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtRm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25NZW51SXRlbVNlbGVjdCh7ICRldmVudDoge30sICRpdGVtOiBpdGVtIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgdGhlIGFjdGlvbiBhc3NvY2lhdGVkIHdpdGggYWN0aXZlIGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VySXRlbUFjdGlvbih0aGlzLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRW1wdHkoaXRlbS5jaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRJdGVtKGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZ2V0SXRlbSh0aGlzLm5vZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcblxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNldE5vZGVzKCkge1xuICAgICAgICBzdXBlci5yZXNldE5vZGVzKCk7XG4gICAgICAgIC8vIG9wZW4gdGhlIG1lbnUgaWYgYW55IG9mIGl0cyBtZW51IGl0ZW1zIGhhcyBsaW5rIHRvIGN1cnJlbnQgcGFnZSBhbmQgaWYgYXV0b29wZW4gdmFsdWUgaXMgJ2FjdGl2ZSBwYWdlJ1xuICAgICAgICBpZiAoKHRoaXMuYXV0b29wZW4gPT09IEFVVE9fT1BFTi5BQ1RJVkVfUEFHRSAmJiBoYXNMaW5rVG9DdXJyZW50UGFnZSh0aGlzLm5vZGVzLCB0aGlzLnJvdXRlLnVybCkpIHx8IHRoaXMuYXV0b29wZW4gPT09IEFVVE9fT1BFTi5BTFdBWVMpIHtcbiAgICAgICAgICAgIHRoaXMuYnNEcm9wZG93bi5zaG93KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXRNZW51UG9zaXRpb24oKTtcblxuICAgICAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb24gPSB0aGlzLmFwcC5zdWJzY3JpYmUoXCJoaWdobGlnaHRBY3RpdmVMaW5rXCIsIChkYXRhKSA9PiB7XG4gICAgICAgICAgICB0b2dnbGVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpIGFzIEhUTUxFbGVtZW50LCAnYWN0aXZlJywgaGFzTGlua1RvQ3VycmVudFBhZ2UodGhpcy5ub2RlcywgdGhpcy5yb3V0ZS51cmwgKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGNhbmNlbFN1YnNjcmlwdGlvbigpKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuXG4gICAgICAgIGlmIChrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChrZXkgPT09ICdhdXRvY2xvc2UnKSB7XG4gICAgICAgICAgICB0aGlzLmJzRHJvcGRvd24uYXV0b0Nsb3NlID0gbnYgIT09IEFVVE9DTE9TRV9UWVBFLkRJU0FCTEVEO1xuICAgICAgICAgICAgdGhpcy5hdXRvY2xvc2UgPSBudjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1lbnVQb3NpdGlvbigpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLm1lbnVwb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5ET1dOX1JJR0hUOlxuICAgICAgICAgICAgICAgIHJlbW92ZUNsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuTEVGVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5ET1dOO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5ET1dOX0xFRlQ6XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnZHJvcHVwJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51YWxpZ24gPSBQVUxMX0NMUy5SSUdIVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5ET1dOO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5VUF9MRUZUOlxuICAgICAgICAgICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuUklHSFQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51Q2FyZXQgPSBDQVJFVF9DTFMuVVA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBPU0lUSU9OLlVQX1JJR0hUOlxuICAgICAgICAgICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuTEVGVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5VUDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUE9TSVRJT04uSU5MSU5FOlxuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gJ2Ryb3BpbmxpbmUtbWVudSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZW51SXRlbVNlbGVjdChhcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgJGV2ZW50IH0gPSBhcmdzO1xuICAgICAgICBjb25zdCAkaXRlbSA9IGFyZ3MuJGl0ZW0udmFsdWU7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnc2VsZWN0JywgeyAkZXZlbnQsICRpdGVtIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpIGFzIEhUTUxFbGVtZW50LCB0aGlzKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI21lbnVUZW1wbGF0ZT5cbiAgICA8YnV0dG9uIHdtQnV0dG9uXG4gICAgICAgICAgICBkcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYWxhYmVsIHx8ICdNZW51J1wiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBhcHAtYnV0dG9uIGRyb3Bkb3duLXRvZ2dsZSB7e21lbnVjbGFzc319XCJcbiAgICAgICAgICAgIGhpbnQuYmluZD1cImhpbnRcIlxuICAgICAgICAgICAgc2hvcnRjdXRrZXkuYmluZD1cInNob3J0Y3V0a2V5XCJcbiAgICAgICAgICAgIHRhYmluZGV4LmJpbmQ9XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICBjYXB0aW9uLmJpbmQ9XCJjYXB0aW9uXCJcbiAgICAgICAgICAgIGljb25jbGFzcy5iaW5kPVwiaWNvbmNsYXNzXCJcbiAgICAgICAgICAgIGljb25wb3NpdGlvbi5iaW5kPVwiaWNvbnBvc2l0aW9uXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHVsbC1yaWdodCBjYXJldCBmYVwiIFtuZ0NsYXNzXT1cIlttZW51Q2FyZXRdXCI+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbm5lclRlbXBsYXRlPlxuICAgIDxpIGNsYXNzPVwiYXBwLWljb24ge3tpY29uY2xhc3N9fVwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiY2FwdGlvblwiPjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInB1bGwtcmlnaHQgY2FyZXQgZmEge3ttZW51Q2FyZXR9fVwiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnYW5jaG9yJzsgZWxzZSBtZW51VGVtcGxhdGVcIj5cbiAgICA8YSB3bUFuY2hvclxuICAgICAgIGRyb3Bkb3duVG9nZ2xlXG4gICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhbGFiZWwgfHwgJ01lbnUnXCJcbiAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiXG4gICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG5cbiAgICAgICBoaW50LmJpbmQ9XCJoaW50XCJcbiAgICAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSB7e21lbnVjbGFzc319XCJcbiAgICAgICBzaG9ydGN1dGtleS5iaW5kPVwic2hvcnRjdXRrZXlcIlxuICAgICAgIHRhYmluZGV4LmJpbmQ9XCJ0YWJpbmRleFwiXG4gICAgICAgY2FwdGlvbi5iaW5kPVwiY2FwdGlvblwiXG4gICAgICAgaWNvbmNsYXNzLmJpbmQ9XCJpY29uY2xhc3NcIlxuICAgICAgIGljb25wb3NpdGlvbi5iaW5kPVwiaWNvbnBvc2l0aW9uXCJcbiAgICAgICBiYWRnZXZhbHVlLmJpbmQ9XCJiYWRnZXZhbHVlXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHVsbC1yaWdodCBjYXJldCBmYVwiIFtuZ0NsYXNzXT1cIlttZW51Q2FyZXRdXCI+PC9zcGFuPlxuICAgIDwvYT5cbjwvbmctY29udGFpbmVyPlxuXG48dWwgKmRyb3Bkb3duTWVudSBbaXRlbXNdPVwibm9kZXNcIiBbbmdDbGFzc109XCJtZW51bGF5b3V0XCIgY2xhc3M9XCJpY29uLXBvc2l0aW9uLXt7aWNvbnBvc2l0aW9ufX1cIiByb2xlPVwibWVudWJhclwiXG4gICAgd21NZW51RHJvcGRvd24+PC91bD5cbiJdfQ==
@@ -62,10 +62,10 @@ export class MenuModule {
62
62
  NavigationControlDirective,
63
63
  NavComponent,
64
64
  NavItemDirective] }); })();
65
- i0.ɵɵsetComponentScope(MenuComponent, [i1.AnchorComponent, i2.BsDropdownMenuDirective, i2.BsDropdownToggleDirective, i3.NgClass, i4.ButtonComponent, i5.TextContentDirective, MenuDropdownComponent], []);
66
- i0.ɵɵsetComponentScope(MenuDropdownItemComponent, [i3.NgTemplateOutlet, i5.TextContentDirective, MenuDropdownComponent,
65
+ i0.ɵɵsetComponentScope(MenuComponent, [i1.AnchorComponent, i2.BsDropdownMenuDirective, i2.BsDropdownToggleDirective, i3.NgClass, i3.NgIf, i4.ButtonComponent, i5.TextContentDirective, MenuDropdownComponent], []);
66
+ i0.ɵɵsetComponentScope(MenuDropdownItemComponent, [i3.NgIf, i3.NgTemplateOutlet, i5.TextContentDirective, MenuDropdownComponent,
67
67
  NavigationControlDirective], []);
68
- i0.ɵɵsetComponentScope(NavComponent, [i1.AnchorComponent, i2.BsDropdownDirective, i3.NgClass, i3.NgTemplateOutlet, MenuComponent,
68
+ i0.ɵɵsetComponentScope(NavComponent, [i1.AnchorComponent, i2.BsDropdownDirective, i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, MenuComponent,
69
69
  NavigationControlDirective,
70
70
  NavItemDirective], []);
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvbmF2aWdhdGlvbi9tZW51L3NyYy9tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7QUFFaEYsTUFBTSxVQUFVLEdBQUc7SUFDZixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsWUFBWTtJQUNaLGdCQUFnQjtDQUNuQixDQUFDO0FBYUYsTUFBTSxPQUFPLFVBQVU7MkdBQVYsVUFBVTttRUFBVixVQUFVO3VFQVRmLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxrQkFBa0I7O2lGQUtiLFVBQVU7Y0FYdEIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixXQUFXO29CQUNYLGtCQUFrQjtpQkFDckI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2FBQzNCOzt3RkFDWSxVQUFVLG1CQW5CbkIsYUFBYTtRQUNiLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLFlBQVk7UUFDWixnQkFBZ0IsYUFLWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixXQUFXO1FBQ1gsa0JBQWtCLGFBZHRCLGFBQWE7UUFDYixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQixZQUFZO1FBQ1osZ0JBQWdCO3VCQUxoQixhQUFhLDBJQUNiLHFCQUFxQjt1QkFDckIseUJBQXlCLGlEQUR6QixxQkFBcUI7SUFFckIsMEJBQTBCO3VCQUMxQixZQUFZLGdGQUpaLGFBQWE7SUFHYiwwQkFBMEI7SUFFMUIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEJzRHJvcGRvd25Nb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duJztcblxuaW1wb3J0IHsgV21Db21wb25lbnRzTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBCYXNpY01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2ljJztcbmltcG9ydCB7IElucHV0TW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQnO1xuXG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL21lbnUtZHJvcGRvd24vbWVudS1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudURyb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1kcm9wZG93bi1pdGVtL21lbnUtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9uYXYvbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5hdmlnYXRpb25Db250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYvbmF2aWdhdGlvbi1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgTWVudUNvbXBvbmVudCxcbiAgICBNZW51RHJvcGRvd25Db21wb25lbnQsXG4gICAgTWVudURyb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgICBOYXZpZ2F0aW9uQ29udHJvbERpcmVjdGl2ZSxcbiAgICBOYXZDb21wb25lbnQsXG4gICAgTmF2SXRlbURpcmVjdGl2ZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJhc2ljTW9kdWxlLFxuICAgICAgICBCc0Ryb3Bkb3duTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIElucHV0TW9kdWxlLFxuICAgICAgICBXbUNvbXBvbmVudHNNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLmNvbXBvbmVudHNdLFxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxufSlcbmV4cG9ydCBjbGFzcyBNZW51TW9kdWxlIHtcbn1cbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvbmF2aWdhdGlvbi9tZW51L3NyYy9tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7QUFFaEYsTUFBTSxVQUFVLEdBQUc7SUFDZixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsWUFBWTtJQUNaLGdCQUFnQjtDQUNuQixDQUFDO0FBYUYsTUFBTSxPQUFPLFVBQVU7MkdBQVYsVUFBVTttRUFBVixVQUFVO3VFQVRmLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxrQkFBa0I7O2lGQUtiLFVBQVU7Y0FYdEIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixXQUFXO29CQUNYLGtCQUFrQjtpQkFDckI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2FBQzNCOzt3RkFDWSxVQUFVLG1CQW5CbkIsYUFBYTtRQUNiLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLFlBQVk7UUFDWixnQkFBZ0IsYUFLWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixXQUFXO1FBQ1gsa0JBQWtCLGFBZHRCLGFBQWE7UUFDYixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQixZQUFZO1FBQ1osZ0JBQWdCO3VCQUxoQixhQUFhLG1KQUNiLHFCQUFxQjt1QkFDckIseUJBQXlCLDBEQUR6QixxQkFBcUI7SUFFckIsMEJBQTBCO3VCQUMxQixZQUFZLHFHQUpaLGFBQWE7SUFHYiwwQkFBMEI7SUFFMUIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEJzRHJvcGRvd25Nb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duJztcblxuaW1wb3J0IHsgV21Db21wb25lbnRzTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBCYXNpY01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2ljJztcbmltcG9ydCB7IElucHV0TW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQnO1xuXG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL21lbnUtZHJvcGRvd24vbWVudS1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudURyb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1kcm9wZG93bi1pdGVtL21lbnUtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9uYXYvbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5hdmlnYXRpb25Db250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYvbmF2aWdhdGlvbi1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgTWVudUNvbXBvbmVudCxcbiAgICBNZW51RHJvcGRvd25Db21wb25lbnQsXG4gICAgTWVudURyb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgICBOYXZpZ2F0aW9uQ29udHJvbERpcmVjdGl2ZSxcbiAgICBOYXZDb21wb25lbnQsXG4gICAgTmF2SXRlbURpcmVjdGl2ZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJhc2ljTW9kdWxlLFxuICAgICAgICBCc0Ryb3Bkb3duTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIElucHV0TW9kdWxlLFxuICAgICAgICBXbUNvbXBvbmVudHNNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLmNvbXBvbmVudHNdLFxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxufSlcbmV4cG9ydCBjbGFzcyBNZW51TW9kdWxlIHtcbn1cbiJdfQ==