mis-crystal-design-system 18.0.25 → 18.1.0-signal-test

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 (185) hide show
  1. package/action-list/action-list.component.d.ts +17 -15
  2. package/async-search-dropdown/async-dropdown.component.d.ts +43 -61
  3. package/button/button.component.d.ts +35 -13
  4. package/button/button.directive.d.ts +10 -8
  5. package/button/button.directive.scss +13 -15
  6. package/checkbox/checkbox.component.d.ts +15 -12
  7. package/chip/chip.component.d.ts +9 -11
  8. package/datepicker_v2/models/dp-config.model.d.ts +1 -0
  9. package/datepicker_v2/tz-datepicker.directive.d.ts +15 -18
  10. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +42 -21
  11. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +12 -14
  12. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +46 -23
  13. package/drawer/drawer-body/drawer-body.component.d.ts +2 -2
  14. package/drawer/drawer.scss +1 -1
  15. package/dropdown/calculate-container-height.directive.d.ts +7 -8
  16. package/dropdown/dropdown.component.d.ts +41 -49
  17. package/dynamic-form/dynamic-form.component.d.ts +20 -16
  18. package/esm2022/action-list/action-list.component.mjs +113 -90
  19. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +257 -327
  20. package/esm2022/button/button.component.mjs +56 -49
  21. package/esm2022/button/button.directive.mjs +36 -40
  22. package/esm2022/checkbox/checkbox.component.mjs +75 -70
  23. package/esm2022/chip/chip.component.mjs +20 -33
  24. package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
  25. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +42 -71
  26. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +203 -173
  27. package/esm2022/datepicker_v2/utils/index.mjs +2 -1
  28. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +26 -51
  29. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +283 -236
  30. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +8 -7
  31. package/esm2022/dropdown/calculate-container-height.directive.mjs +25 -22
  32. package/esm2022/dropdown/dropdown.component.mjs +163 -187
  33. package/esm2022/dynamic-form/dynamic-form.component.mjs +119 -73
  34. package/esm2022/fab/fab.component.mjs +30 -34
  35. package/esm2022/filter/filter-panel/filter-panel.component.mjs +61 -59
  36. package/esm2022/input/directives/input/input.directive.mjs +22 -26
  37. package/esm2022/input/mis-input.component.mjs +42 -46
  38. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +42 -52
  39. package/esm2022/loader/loader.component.mjs +8 -11
  40. package/esm2022/mobile-filter/mobile-filter.component.mjs +62 -62
  41. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +11 -9
  42. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +235 -281
  43. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +250 -287
  44. package/esm2022/phone-input/phone-input.component.mjs +21 -43
  45. package/esm2022/public-api.mjs +1 -1
  46. package/esm2022/radio-button/radio-button.component.mjs +15 -27
  47. package/esm2022/ske-loader/ske-loader.component.mjs +15 -29
  48. package/esm2022/slider/slider.component.mjs +23 -33
  49. package/esm2022/slider/slider.module.mjs +4 -11
  50. package/esm2022/snackbar/snackbar/snackbar.component.mjs +21 -15
  51. package/esm2022/snackbar/snackbar.service.mjs +3 -2
  52. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +231 -344
  53. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +77 -105
  54. package/esm2022/star-rating/star-rating.component.mjs +58 -72
  55. package/esm2022/switch/switch.component.mjs +34 -36
  56. package/esm2022/table/actions-cell/actions-cell.component.mjs +56 -55
  57. package/esm2022/table/custom-table-cell.directive.mjs +22 -18
  58. package/esm2022/table/filter/filter.component.mjs +60 -42
  59. package/esm2022/table/sort-icons.directive.mjs +16 -8
  60. package/esm2022/table/sub-table/sub-table.component.mjs +42 -45
  61. package/esm2022/table/table.component.mjs +182 -166
  62. package/esm2022/timepicker/timepicker.component.mjs +245 -160
  63. package/esm2022/timepicker/timepicker.directive.mjs +3 -2
  64. package/esm2022/timerangepicker/timerangepicker.component.mjs +200 -159
  65. package/esm2022/toast/toast.component.mjs +7 -8
  66. package/esm2022/toast/toast.data.service.mjs +15 -9
  67. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +12 -12
  68. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  69. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +57 -59
  70. package/fab/fab.component.d.ts +12 -8
  71. package/fesm2022/mis-crystal-design-system-action-list.mjs +112 -89
  72. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
  73. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +254 -325
  74. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  75. package/fesm2022/mis-crystal-design-system-button.mjs +89 -86
  76. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
  77. package/fesm2022/mis-crystal-design-system-checkbox.mjs +74 -69
  78. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
  79. package/fesm2022/mis-crystal-design-system-chip.mjs +19 -32
  80. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
  81. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +243 -241
  82. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  83. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +306 -284
  84. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  85. package/fesm2022/mis-crystal-design-system-drawer.mjs +7 -6
  86. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  87. package/fesm2022/mis-crystal-design-system-dropdown.mjs +184 -205
  88. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
  89. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +119 -73
  90. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  91. package/fesm2022/mis-crystal-design-system-fab.mjs +29 -33
  92. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
  93. package/fesm2022/mis-crystal-design-system-filter.mjs +60 -58
  94. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
  95. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +41 -51
  96. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  97. package/fesm2022/mis-crystal-design-system-input.mjs +62 -71
  98. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  99. package/fesm2022/mis-crystal-design-system-loader.mjs +7 -10
  100. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  101. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +61 -61
  102. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
  103. package/fesm2022/mis-crystal-design-system-modal.mjs +10 -8
  104. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  105. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +233 -279
  106. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
  107. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +249 -286
  108. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
  109. package/fesm2022/mis-crystal-design-system-phone-input.mjs +20 -42
  110. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
  111. package/fesm2022/mis-crystal-design-system-radio-button.mjs +14 -26
  112. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  113. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +14 -28
  114. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
  115. package/fesm2022/mis-crystal-design-system-slider.mjs +25 -42
  116. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  117. package/fesm2022/mis-crystal-design-system-snackbar.mjs +22 -15
  118. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
  119. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +305 -446
  120. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  121. package/fesm2022/mis-crystal-design-system-star-rating.mjs +57 -71
  122. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
  123. package/fesm2022/mis-crystal-design-system-switch.mjs +33 -35
  124. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
  125. package/fesm2022/mis-crystal-design-system-table.mjs +368 -324
  126. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  127. package/fesm2022/mis-crystal-design-system-timepicker.mjs +246 -160
  128. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  129. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +199 -158
  130. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  131. package/fesm2022/mis-crystal-design-system-toast.mjs +19 -14
  132. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  133. package/fesm2022/mis-crystal-design-system-tooltip.mjs +14 -14
  134. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
  135. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +57 -59
  136. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
  137. package/fesm2022/mis-crystal-design-system.mjs.map +1 -1
  138. package/filter/filter-panel/filter-panel.component.d.ts +14 -14
  139. package/input/directives/input/input.directive.d.ts +6 -10
  140. package/input/mis-input.component.d.ts +12 -13
  141. package/input/mis-input.component.scss +18 -18
  142. package/input-stepper/input-stepper/input-stepper.component.d.ts +8 -7
  143. package/loader/loader.component.d.ts +3 -6
  144. package/mobile-filter/mobile-filter.component.d.ts +15 -15
  145. package/modal/modal.scss +1 -1
  146. package/modal/module-wrapper/module-wrapper.component.d.ts +2 -3
  147. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +89 -51
  148. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +99 -56
  149. package/package.json +17 -23
  150. package/phone-input/phone-input.component.d.ts +16 -18
  151. package/radio-button/radio-button.component.d.ts +9 -11
  152. package/ske-loader/ske-loader.component.d.ts +8 -11
  153. package/slider/slider.component.d.ts +8 -11
  154. package/slider/slider.module.d.ts +1 -2
  155. package/snackbar/snackbar/snackbar.component.d.ts +3 -3
  156. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +35 -35
  157. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +24 -28
  158. package/star-rating/star-rating.component.d.ts +18 -18
  159. package/styles/mis-color-constants.scss +0 -204
  160. package/styles/mis-icons.scss +56 -56
  161. package/styles/mis-old-icon-styles.scss +21 -21
  162. package/switch/switch.component.d.ts +8 -10
  163. package/table/actions-cell/actions-cell.component.d.ts +14 -14
  164. package/table/custom-table-cell.directive.d.ts +3 -3
  165. package/table/filter/filter.component.d.ts +9 -9
  166. package/table/sub-table/sub-table.component.d.ts +5 -5
  167. package/table/table.component.d.ts +38 -35
  168. package/timepicker/timepicker.component.d.ts +29 -28
  169. package/timerangepicker/timerangepicker.component.d.ts +36 -33
  170. package/toast/toast.data.service.d.ts +1 -1
  171. package/tooltip/tooltip-container/tooltip.component.d.ts +4 -4
  172. package/virtual-scroll/virtual-scroll.component.d.ts +8 -9
  173. package/dynamic-theme/branding.types.d.ts +0 -84
  174. package/dynamic-theme/dynamic-theme.module.d.ts +0 -9
  175. package/dynamic-theme/dynamic-theme.service.d.ts +0 -89
  176. package/dynamic-theme/index.d.ts +0 -1
  177. package/dynamic-theme/public_api.d.ts +0 -3
  178. package/esm2022/dynamic-theme/branding.types.mjs +0 -93
  179. package/esm2022/dynamic-theme/dynamic-theme.module.mjs +0 -25
  180. package/esm2022/dynamic-theme/dynamic-theme.service.mjs +0 -193
  181. package/esm2022/dynamic-theme/index.mjs +0 -2
  182. package/esm2022/dynamic-theme/mis-crystal-design-system-dynamic-theme.mjs +0 -5
  183. package/esm2022/dynamic-theme/public_api.mjs +0 -4
  184. package/fesm2022/mis-crystal-design-system-dynamic-theme.mjs +0 -313
  185. package/fesm2022/mis-crystal-design-system-dynamic-theme.mjs.map +0 -1
@@ -1,7 +1,7 @@
1
- import { ConnectionPositionPair, OverlayConfig } from "@angular/cdk/overlay";
1
+ import { Component, HostListener, ViewChild, ContentChild, signal, input, output, effect, } from "@angular/core";
2
+ import { ConnectionPositionPair, OverlayConfig, } from "@angular/cdk/overlay";
2
3
  import { TemplatePortal } from "@angular/cdk/portal";
3
- import { Component, ContentChild, EventEmitter, HostListener, Input, Output, ViewChild } from "@angular/core";
4
- import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
4
+ import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/cdk/overlay";
7
7
  import * as i2 from "@angular/common";
@@ -23,17 +23,19 @@ const _c10 = (a0, a1, a2) => ({ width: a0, "display": a1, "flex-direction": a2 }
23
23
  function DropdownComponent_img_3_Template(rf, ctx) { if (rf & 1) {
24
24
  i0.ɵɵelement(0, "img", 12);
25
25
  } if (rf & 2) {
26
+ let tmp_6_0;
26
27
  const ctx_r1 = i0.ɵɵnextContext();
27
- i0.ɵɵproperty("width", 16)("height", 16)("src", ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.customIcon, i0.ɵɵsanitizeUrl);
28
+ i0.ɵɵproperty("width", 16)("height", 16)("src", (tmp_6_0 = ctx_r1.selectedItem()) == null ? null : tmp_6_0.customIcon, i0.ɵɵsanitizeUrl);
28
29
  } }
29
30
  function DropdownComponent_p_5_Template(rf, ctx) { if (rf & 1) {
30
31
  i0.ɵɵelementStart(0, "p", 13);
31
32
  i0.ɵɵtext(1);
32
33
  i0.ɵɵelementEnd();
33
34
  } if (rf & 2) {
35
+ let tmp_4_0;
34
36
  const ctx_r1 = i0.ɵɵnextContext();
35
37
  i0.ɵɵadvance();
36
- i0.ɵɵtextInterpolate1(" ", ctx_r1.multiLine ? ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.label == null ? null : ctx_r1.selectedItem.label.primaryText : (ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.label) || ctx_r1.label, " ");
38
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.multiLine() ? (tmp_4_0 = ctx_r1.selectedItem()) == null ? null : tmp_4_0.label == null ? null : tmp_4_0.label.primaryText : ((tmp_4_0 = ctx_r1.selectedItem()) == null ? null : tmp_4_0.label) || ctx_r1.label(), " ");
37
39
  } }
38
40
  function DropdownComponent_ng_template_6_p_0_Template(rf, ctx) { if (rf & 1) {
39
41
  i0.ɵɵelementStart(0, "p", 13);
@@ -42,21 +44,24 @@ function DropdownComponent_ng_template_6_p_0_Template(rf, ctx) { if (rf & 1) {
42
44
  } if (rf & 2) {
43
45
  const ctx_r1 = i0.ɵɵnextContext(2);
44
46
  i0.ɵɵadvance();
45
- i0.ɵɵtextInterpolate1(" ", ctx_r1.label, " ");
47
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.label(), " ");
46
48
  } }
47
49
  function DropdownComponent_ng_template_6_img_1_Template(rf, ctx) { if (rf & 1) {
48
50
  i0.ɵɵelement(0, "img", 16);
49
51
  } if (rf & 2) {
52
+ let tmp_5_0;
50
53
  const ctx_r1 = i0.ɵɵnextContext(2);
51
- i0.ɵɵproperty("src", ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.icon, i0.ɵɵsanitizeUrl);
54
+ i0.ɵɵproperty("src", (tmp_5_0 = ctx_r1.selectedItem()) == null ? null : tmp_5_0.icon, i0.ɵɵsanitizeUrl);
52
55
  } }
53
56
  function DropdownComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
54
57
  i0.ɵɵtemplate(0, DropdownComponent_ng_template_6_p_0_Template, 2, 1, "p", 14)(1, DropdownComponent_ng_template_6_img_1_Template, 1, 1, "img", 15);
55
58
  } if (rf & 2) {
59
+ let tmp_4_0;
60
+ let tmp_5_0;
56
61
  const ctx_r1 = i0.ɵɵnextContext();
57
- i0.ɵɵproperty("ngIf", !(ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.icon));
62
+ i0.ɵɵproperty("ngIf", !((tmp_4_0 = ctx_r1.selectedItem()) == null ? null : tmp_4_0.icon));
58
63
  i0.ɵɵadvance();
59
- i0.ɵɵproperty("ngIf", !!(ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.icon));
64
+ i0.ɵɵproperty("ngIf", !!((tmp_5_0 = ctx_r1.selectedItem()) == null ? null : tmp_5_0.icon));
60
65
  } }
61
66
  function DropdownComponent_ng_template_10_div_1__svg_svg_1_Template(rf, ctx) { if (rf & 1) {
62
67
  i0.ɵɵnamespaceSVG();
@@ -84,12 +89,12 @@ function DropdownComponent_ng_template_10_div_1_Template(rf, ctx) { if (rf & 1)
84
89
  } if (rf & 2) {
85
90
  const ctx_r1 = i0.ɵɵnextContext(2);
86
91
  i0.ɵɵadvance();
87
- i0.ɵɵproperty("ngIf", !ctx_r1.isSearchInputFocused);
92
+ i0.ɵɵproperty("ngIf", !ctx_r1.isSearchInputFocused());
88
93
  i0.ɵɵadvance();
89
- i0.ɵɵproperty("ngModel", ctx_r1.searchInput)("ngStyle", i0.ɵɵpureFunction3(7, _c7, ctx_r1.isSearchInputFocused ? "12px" : "45px", ctx_r1.isSearchInputFocused ? "1px solid #0937B2" : "1px solid #e0e0e0", ctx_r1.isSearchInputFocused ? "45px" : "10px"))("tabIndex", 0)("placeholder", ctx_r1.isSearchInputFocused ? "" : ctx_r1.searchLabel);
90
- i0.ɵɵattribute("aria-label", ctx_r1.searchLabel);
94
+ i0.ɵɵproperty("ngModel", ctx_r1.searchInput())("ngStyle", i0.ɵɵpureFunction3(7, _c7, ctx_r1.isSearchInputFocused() ? "12px" : "45px", ctx_r1.isSearchInputFocused() ? "1px solid #0937B2" : "1px solid #e0e0e0", ctx_r1.isSearchInputFocused() ? "45px" : "10px"))("tabIndex", 0)("placeholder", ctx_r1.isSearchInputFocused() ? "" : ctx_r1.searchLabel());
95
+ i0.ɵɵattribute("aria-label", ctx_r1.searchLabel());
91
96
  i0.ɵɵadvance();
92
- i0.ɵɵproperty("ngIf", ctx_r1.isSearchInputFocused);
97
+ i0.ɵɵproperty("ngIf", ctx_r1.isSearchInputFocused());
93
98
  } }
94
99
  function DropdownComponent_ng_template_10_div_2_Template(rf, ctx) { if (rf & 1) {
95
100
  i0.ɵɵelementStart(0, "div", 30);
@@ -119,26 +124,23 @@ function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_di
119
124
  } if (rf & 2) {
120
125
  const item_r7 = i0.ɵɵnextContext(3).$implicit;
121
126
  const ctx_r1 = i0.ɵɵnextContext(4);
122
- i0.ɵɵproperty("ngStyle", ctx_r1.getIconStyles(item_r7.icon, ctx_r1.activeItem));
123
127
  i0.ɵɵadvance();
124
- i0.ɵɵtextInterpolate1(" ", (item_r7 == null ? null : item_r7.label == null ? null : item_r7.label.secondaryText) ? item_r7 == null ? null : item_r7.label == null ? null : item_r7.label.secondaryText : ctx_r1.additionalInfoMessage, " ");
128
+ i0.ɵɵtextInterpolate1(" ", (item_r7 == null ? null : item_r7.label == null ? null : item_r7.label.secondaryText) ? item_r7 == null ? null : item_r7.label == null ? null : item_r7.label.secondaryText : ctx_r1.additionalInfoMessage(), " ");
125
129
  } }
126
130
  function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_Template(rf, ctx) { if (rf & 1) {
127
131
  i0.ɵɵelementStart(0, "div", 8)(1, "span", 43);
128
132
  i0.ɵɵtext(2);
129
133
  i0.ɵɵelementEnd();
130
- i0.ɵɵtemplate(3, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_span_3_Template, 2, 2, "span", 44);
134
+ i0.ɵɵtemplate(3, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_span_3_Template, 2, 1, "span", 44);
131
135
  i0.ɵɵelementEnd();
132
136
  } if (rf & 2) {
133
137
  const item_r7 = i0.ɵɵnextContext(2).$implicit;
134
138
  const ctx_r1 = i0.ɵɵnextContext(4);
135
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(4, _c10, item_r7.icon ? "90%" : "100%", ctx_r1.multiLine ? "flex" : "inherit", ctx_r1.multiLine ? "column" : "inherit"));
136
- i0.ɵɵadvance();
137
- i0.ɵɵproperty("ngStyle", ctx_r1.getIconStyles(item_r7.icon, ctx_r1.activeItem));
138
- i0.ɵɵadvance();
139
- i0.ɵɵtextInterpolate(ctx_r1.multiLine ? item_r7 == null ? null : item_r7.label == null ? null : item_r7.label.primaryText : item_r7 == null ? null : item_r7.label);
139
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(3, _c10, item_r7.icon ? "90%" : "100%", ctx_r1.multiLine() ? "flex" : "inherit", ctx_r1.multiLine() ? "column" : "inherit"));
140
+ i0.ɵɵadvance(2);
141
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.multiLine() ? item_r7 == null ? null : item_r7.label == null ? null : item_r7.label.primaryText : item_r7 == null ? null : item_r7.label, " ");
140
142
  i0.ɵɵadvance();
141
- i0.ɵɵproperty("ngIf", ctx_r1.multiLine);
143
+ i0.ɵɵproperty("ngIf", ctx_r1.multiLine());
142
144
  } }
143
145
  function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_1_Template(rf, ctx) { if (rf & 1) {
144
146
  i0.ɵɵelementStart(0, "div", 46);
@@ -150,11 +152,11 @@ function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_di
150
152
  i0.ɵɵproperty("src", item_r7.icon, i0.ɵɵsanitizeUrl);
151
153
  } }
152
154
  function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
153
- i0.ɵɵtemplate(0, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_Template, 4, 8, "div", 41)(1, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_1_Template, 2, 1, "div", 42);
155
+ i0.ɵɵtemplate(0, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_Template, 4, 7, "div", 41)(1, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_1_Template, 2, 1, "div", 42);
154
156
  } if (rf & 2) {
155
157
  const item_r7 = i0.ɵɵnextContext().$implicit;
156
158
  const ctx_r1 = i0.ɵɵnextContext(4);
157
- i0.ɵɵproperty("ngIf", !ctx_r1.showOnlyIcon);
159
+ i0.ɵɵproperty("ngIf", !ctx_r1.showOnlyIcon());
158
160
  i0.ɵɵadvance();
159
161
  i0.ɵɵproperty("ngIf", item_r7.icon);
160
162
  } }
@@ -165,10 +167,11 @@ function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_di
165
167
  i0.ɵɵtemplate(1, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_container_1_Template, 2, 4, "ng-container", 39)(2, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_Template, 2, 2, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
166
168
  i0.ɵɵelementEnd();
167
169
  } if (rf & 2) {
170
+ let tmp_11_0;
168
171
  const item_r7 = ctx.$implicit;
169
172
  const standardItem_r8 = i0.ɵɵreference(3);
170
173
  const ctx_r1 = i0.ɵɵnextContext(4);
171
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(3, _c8, item_r7.disabled, ctx_r1.higlightSelectedValue && item_r7.value === (ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.value), ctx_r1.showOnlyIcon));
174
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(3, _c8, item_r7.disabled, ctx_r1.higlightSelectedValue() && item_r7.value === ((tmp_11_0 = ctx_r1.selectedItem()) == null ? null : tmp_11_0.value), ctx_r1.showOnlyIcon()));
172
175
  i0.ɵɵadvance();
173
176
  i0.ɵɵproperty("ngIf", ctx_r1.customItem)("ngIfElse", standardItem_r8);
174
177
  } }
@@ -178,7 +181,7 @@ function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_Te
178
181
  i0.ɵɵelementEnd();
179
182
  } if (rf & 2) {
180
183
  const ctx_r1 = i0.ɵɵnextContext(3);
181
- i0.ɵɵproperty("itemSize", ctx_r1.itemSizeForCdk || 36)("minBufferPx", 200)("maxBufferPx", 400);
184
+ i0.ɵɵproperty("itemSize", ctx_r1.itemSizeForCdk() || 36)("minBufferPx", 200)("maxBufferPx", 400);
182
185
  i0.ɵɵadvance();
183
186
  i0.ɵɵproperty("cdkVirtualForOf", ctx_r1.currentData);
184
187
  } }
@@ -189,7 +192,7 @@ function DropdownComponent_ng_template_10_div_4_div_3_Template(rf, ctx) { if (rf
189
192
  } if (rf & 2) {
190
193
  const ctx_r1 = i0.ɵɵnextContext(3);
191
194
  i0.ɵɵadvance();
192
- i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput === "" ? ctx_r1.noDataMessage : "No results", " ");
195
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput() === "" ? ctx_r1.noDataMessage() : "No results", " ");
193
196
  } }
194
197
  function DropdownComponent_ng_template_10_div_4_Template(rf, ctx) { if (rf & 1) {
195
198
  i0.ɵɵelementStart(0, "div", 33, 3);
@@ -211,141 +214,150 @@ function DropdownComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
211
214
  i0.ɵɵelementEnd();
212
215
  } if (rf & 2) {
213
216
  const ctx_r1 = i0.ɵɵnextContext();
214
- i0.ɵɵproperty("cdkTrapFocusAutoCapture", true)("ngStyle", i0.ɵɵpureFunction2(6, _c4, ctx_r1.dropdownListHeight, ctx_r1.dropdownListWidth));
217
+ i0.ɵɵproperty("cdkTrapFocusAutoCapture", true)("ngStyle", i0.ɵɵpureFunction2(6, _c4, ctx_r1.dropdownListHeight(), ctx_r1.dropdownListWidth()));
215
218
  i0.ɵɵadvance();
216
- i0.ɵɵproperty("ngIf", ctx_r1.searchEnabled);
219
+ i0.ɵɵproperty("ngIf", ctx_r1.searchEnabled());
217
220
  i0.ɵɵadvance();
218
- i0.ɵɵproperty("ngIf", ctx_r1.loading);
221
+ i0.ɵɵproperty("ngIf", ctx_r1.loading());
219
222
  i0.ɵɵadvance();
220
- i0.ɵɵproperty("ngIf", !ctx_r1.searchEnabled);
223
+ i0.ɵɵproperty("ngIf", !ctx_r1.searchEnabled());
221
224
  i0.ɵɵadvance();
222
- i0.ɵɵproperty("ngIf", !ctx_r1.loading);
225
+ i0.ɵɵproperty("ngIf", !ctx_r1.loading());
223
226
  } }
224
227
  export class DropdownComponent {
225
228
  set itemsContainer(container) {
226
229
  this._itemsContainer = container;
227
- if (container) {
230
+ if (container)
228
231
  this.measureAndUpdateHeight();
229
- }
230
232
  }
231
233
  constructor(eRef, overlay, viewContainerRef, cdr) {
232
234
  this.eRef = eRef;
233
235
  this.overlay = overlay;
234
236
  this.viewContainerRef = viewContainerRef;
235
237
  this.cdr = cdr;
236
- this.isOpen = false;
237
- this.loading = false;
238
- this.isSearchInputFocused = false;
239
- this.searchInput = "";
240
- this.searchData = [];
241
- this.visibleItems = 10;
242
- this.dynamicHeight = "auto";
243
- this.data = [];
244
- this.height = "";
245
- this.ariaLabel = "";
246
- this.width = "";
247
- this.label = "Select";
248
- this.showOnlyIcon = false;
249
- this.higlightSelectedValue = false;
250
- this.dropdownListHeight = "";
251
- this.dropdownListWidth = "";
252
- this.dropdownListPosition = "Left";
253
- this.searchEnabled = true;
254
- this.selectedItem = { value: "", label: "" };
255
- this.noDataMessage = "No Data";
256
- this.multiLine = false;
257
- this.scrollIntoView = false;
258
- this.searchLabel = "Search Keyword";
259
- this.activeItem = false;
260
- this.onChange = new EventEmitter();
238
+ // Internal signals
239
+ this.isOpen = signal(false);
240
+ this.loading = signal(false);
241
+ this.isSearchInputFocused = signal(false);
242
+ this.searchInput = signal("");
243
+ this.searchData = signal([]);
244
+ this.dynamicHeight = signal("auto");
245
+ // Writable signal for internal data
246
+ this.internalData = signal([]);
247
+ // Inputs
248
+ this.data = input([]);
249
+ this.height = input("");
250
+ this.ariaLabel = input("");
251
+ this.width = input("");
252
+ this.label = input("Select");
253
+ this.itemSizeForCdk = input();
254
+ this.showOnlyIcon = input(false);
255
+ this.higlightSelectedValue = input(false);
256
+ this.dropdownListHeight = input("");
257
+ this.dropdownListWidth = input("");
258
+ this.dropdownListPosition = input("Left");
259
+ this.config = input();
260
+ this.searchEnabled = input(true);
261
+ this.selectedItem = input({ value: "", label: "" });
262
+ this.noDataMessage = input("No Data");
263
+ this.multiLine = input(false);
264
+ this.additionalInfoMessage = input("");
265
+ this.scrollIntoView = input(false);
266
+ this.searchLabel = input("Search Keyword");
267
+ this.customStyles = input({});
268
+ this.activeItem = input(false);
269
+ // Output
270
+ this.onChange = output();
261
271
  this._itemsContainer = null;
272
+ // ✅ Keep internalData in sync with input data (and allow writes)
273
+ effect(() => {
274
+ this.internalData.set(this.data() || []);
275
+ }, { allowSignalWrites: true });
262
276
  }
263
- ngOnInit() {
264
- }
277
+ // ========== Core Logic ==========
265
278
  measureAndUpdateHeight() {
266
- if (!this.isOpen || !this._itemsContainer)
279
+ if (!this.isOpen() || !this._itemsContainer)
267
280
  return;
268
- const container = this._itemsContainer?.nativeElement;
269
- const items = container?.querySelectorAll('.item');
270
- if (!items || items?.length === 0) {
271
- this.dynamicHeight = "50px";
281
+ const container = this._itemsContainer.nativeElement;
282
+ const items = container.querySelectorAll(".item");
283
+ if (!items || items.length === 0) {
284
+ this.dynamicHeight.set("50px");
272
285
  return;
273
286
  }
274
287
  let totalMeasuredHeight = 0;
275
288
  let maxItemHeight = 0;
276
- Array.from(items)?.slice(0, Math.min(8, items?.length || 0))?.forEach((item) => {
289
+ Array.from(items)
290
+ .slice(0, Math.min(8, items.length))
291
+ .forEach((item) => {
277
292
  const htmlItem = item;
278
- let itemHeight = htmlItem?.offsetHeight || 0; //offsetHeight is more reliable than getBoundingClientRect
293
+ let itemHeight = htmlItem.offsetHeight || 0;
279
294
  totalMeasuredHeight += itemHeight;
280
295
  maxItemHeight = Math.max(maxItemHeight, itemHeight);
281
296
  });
282
- //Needed to handle the scrollbar coming for 2-3 items case
283
297
  const containerPadding = 8;
284
298
  const finalHeight = Math.max(50, Math.min(totalMeasuredHeight + containerPadding, 320));
285
- this.dynamicHeight = this.dropdownListHeight ? this.dropdownListHeight : `${finalHeight}px`;
299
+ this.dynamicHeight.set(this.dropdownListHeight() ? this.dropdownListHeight() : `${finalHeight}px`);
286
300
  }
287
301
  get currentData() {
288
- return this.searchInput ? this.searchData : this.data;
302
+ return this.searchInput() ? this.searchData() : this.internalData();
289
303
  }
290
304
  get itemsContainerStyle() {
291
305
  return {
292
- 'height': this.dynamicHeight,
293
- 'max-height': '320px',
294
- 'min-height': '50px'
295
- };
296
- }
297
- getIconStyles(item, activeItem) {
298
- return {
299
- 'color': item && activeItem ? '#0937B2' : '',
300
- 'font-weight': item && activeItem ? '700' : ''
306
+ height: this.dynamicHeight(),
307
+ "max-height": "320px",
308
+ "min-height": "50px",
301
309
  };
302
310
  }
303
311
  setUpAsyncDataSearch() {
304
- if (this.config) {
305
- this.loading = true;
306
- this.config?.dataStream()?.pipe()?.subscribe(res => {
307
- this.data = res || [];
308
- this.loading = false;
312
+ if (this.config()) {
313
+ this.loading.set(true);
314
+ this.config()
315
+ ?.dataStream()
316
+ ?.pipe()
317
+ .subscribe((res) => {
318
+ this.internalData.set(res || []); // ✅ safe
319
+ this.loading.set(false);
309
320
  setTimeout(() => this.measureAndUpdateHeight(), 60);
310
321
  });
311
322
  }
312
- const index = this.data?.findIndex((dataItem) => dataItem?.value === this.selectedItem?.value) || -1;
313
- if (this.scrollIntoView && this.viewPort)
314
- this.viewPort?.scrollToIndex(index, 'smooth');
315
- }
316
- filterByValue(array, string) {
317
- return array?.filter(o => o?.label?.toLowerCase()?.includes(string?.toLowerCase()?.trim())) || [];
318
- }
319
- filterByPrimaryText(array, string) {
320
- return array?.filter(o => o?.label?.primaryText?.toLowerCase()?.includes(string?.toLowerCase()?.trim())) || [];
323
+ const index = this.internalData()?.findIndex((dataItem) => dataItem?.value === this.selectedItem()?.value) || -1;
324
+ if (this.scrollIntoView() && this.viewPort) {
325
+ this.viewPort.scrollToIndex(index, "smooth");
326
+ }
321
327
  }
322
328
  searchInputOnChange(newValue) {
323
- this.searchInput = newValue;
329
+ this.searchInput.set(newValue);
324
330
  if (newValue) {
325
- this.searchData = this.multiLine ? this.filterByPrimaryText(this.data, newValue) : this.filterByValue(this.data, newValue);
331
+ this.searchData.set(this.multiLine()
332
+ ? this.filterByPrimaryText(this.internalData(), newValue)
333
+ : this.filterByValue(this.internalData(), newValue));
326
334
  }
327
335
  else {
328
- this.searchData = [];
329
- this.searchInput = "";
336
+ this.searchData.set([]);
330
337
  }
331
338
  requestAnimationFrame(() => this.measureAndUpdateHeight());
332
339
  }
340
+ filterByValue(array, string) {
341
+ return (array?.filter((o) => o?.label?.toLowerCase()?.includes(string?.toLowerCase()?.trim())) || []);
342
+ }
343
+ filterByPrimaryText(array, string) {
344
+ return (array?.filter((o) => o?.label?.primaryText
345
+ ?.toLowerCase()
346
+ ?.includes(string?.toLowerCase()?.trim())) || []);
347
+ }
333
348
  searchInputFocused(isFocused) {
334
- this.isSearchInputFocused = isFocused;
349
+ this.isSearchInputFocused.set(isFocused);
335
350
  }
336
351
  searchInputCanceled(event) {
337
- event?.stopPropagation();
338
- this.searchInput = "";
339
- this.isSearchInputFocused = false;
352
+ event.stopPropagation();
353
+ this.searchInput.set("");
354
+ this.isSearchInputFocused.set(false);
340
355
  requestAnimationFrame(() => this.measureAndUpdateHeight());
341
356
  }
342
357
  toggleDropdown() {
343
- this.isOpen = !this.isOpen;
344
- if (this.isOpen) {
358
+ this.isOpen.set(!this.isOpen());
359
+ if (this.isOpen()) {
345
360
  this.openDropdown(this.popupContainer, this.selectElement?.nativeElement);
346
- setTimeout(() => {
347
- this.measureAndUpdateHeight();
348
- }, 100);
349
361
  }
350
362
  else {
351
363
  this.onCancel();
@@ -354,18 +366,22 @@ export class DropdownComponent {
354
366
  openDropdown(template, origin) {
355
367
  const positionsBottom = [
356
368
  new ConnectionPositionPair({ originX: "start", originY: "bottom" }, { overlayX: "start", overlayY: "top" }, 0, 4),
357
- new ConnectionPositionPair({ originX: "end", originY: "bottom" }, { overlayX: "end", overlayY: "top" }, 0, 4)
369
+ new ConnectionPositionPair({ originX: "end", originY: "bottom" }, { overlayX: "end", overlayY: "top" }, 0, 4),
358
370
  ];
359
371
  const positionsTop = [
360
372
  new ConnectionPositionPair({ originX: "start", originY: "top" }, { overlayX: "start", overlayY: "bottom" }, 0, -4),
361
- new ConnectionPositionPair({ originX: "end", originY: "top" }, { overlayX: "end", overlayY: "bottom" }, 0, -4)
373
+ new ConnectionPositionPair({ originX: "end", originY: "top" }, { overlayX: "end", overlayY: "bottom" }, 0, -4),
362
374
  ];
363
375
  const positionStrategy = this.overlay
364
376
  .position()
365
377
  .flexibleConnectedTo(origin)
366
378
  .withPositions([
367
- ...(this.dropdownListPosition === "Right" ? positionsBottom.reverse() : positionsBottom),
368
- ...(this.dropdownListPosition === "Right" ? positionsTop.reverse() : positionsTop)
379
+ ...(this.dropdownListPosition() === "Right"
380
+ ? positionsBottom.reverse()
381
+ : positionsBottom),
382
+ ...(this.dropdownListPosition() === "Right"
383
+ ? positionsTop.reverse()
384
+ : positionsTop),
369
385
  ])
370
386
  .withPush(true);
371
387
  const configs = new OverlayConfig({
@@ -373,33 +389,35 @@ export class DropdownComponent {
373
389
  backdropClass: "cdk-overlay-transparent-backdrop",
374
390
  scrollStrategy: this.overlay.scrollStrategies.block(),
375
391
  positionStrategy,
376
- width: origin?.clientWidth
392
+ width: origin?.clientWidth,
377
393
  });
378
394
  this.overlayRef = this.overlay.create(configs);
379
- if (this.dropdownListWidth)
380
- this.overlayRef?.updateSize({ width: this.dropdownListWidth });
381
- if (this.dropdownListHeight)
382
- this.overlayRef?.updateSize({ height: this.dropdownListHeight });
383
- this.overlayRef?.attach(new TemplatePortal(template, this.viewContainerRef));
384
- this.overlayRef?.backdropClick()?.subscribe(res => {
395
+ if (this.dropdownListWidth()) {
396
+ this.overlayRef.updateSize({ width: this.dropdownListWidth() });
397
+ }
398
+ if (this.dropdownListHeight()) {
399
+ this.overlayRef.updateSize({ height: this.dropdownListHeight() });
400
+ }
401
+ this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));
402
+ this.overlayRef.backdropClick().subscribe(() => {
385
403
  this.onCancel();
386
404
  });
387
405
  }
388
406
  selectItem(item) {
389
- this.onChange?.emit(item);
407
+ this.onChange.emit(item);
390
408
  this.toggleDropdown();
391
409
  }
392
410
  onCancel() {
393
- this.isSearchInputFocused = false;
394
- this.isOpen = false;
411
+ this.isSearchInputFocused.set(false);
412
+ this.isOpen.set(false);
395
413
  this.overlayRef?.detach();
396
- this.searchInput = "";
397
- this._itemsContainer = null; // Reset container reference to ensure fresh setup on next open
414
+ this.searchInput.set("");
415
+ this._itemsContainer = null;
398
416
  }
399
417
  closeOnEsc(event) {
400
418
  this.onCancel();
401
- event?.stopPropagation();
402
- event?.preventDefault();
419
+ event.stopPropagation();
420
+ event.preventDefault();
403
421
  }
404
422
  static { this.ɵfac = function DropdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DropdownComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
405
423
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DropdownComponent, selectors: [["mis-dropdown"]], contentQueries: function DropdownComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
@@ -410,17 +428,17 @@ export class DropdownComponent {
410
428
  } }, viewQuery: function DropdownComponent_Query(rf, ctx) { if (rf & 1) {
411
429
  i0.ɵɵviewQuery(_c1, 5);
412
430
  i0.ɵɵviewQuery(_c2, 5);
413
- i0.ɵɵviewQuery(_c3, 5);
414
431
  i0.ɵɵviewQuery(CdkVirtualScrollViewport, 5);
432
+ i0.ɵɵviewQuery(_c3, 5);
415
433
  } if (rf & 2) {
416
434
  let _t;
417
435
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.selectElement = _t.first);
418
436
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupContainer = _t.first);
419
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemsContainer = _t.first);
420
437
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.viewPort = _t.first);
438
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemsContainer = _t.first);
421
439
  } }, hostBindings: function DropdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
422
440
  i0.ɵɵlistener("keyup.esc", function DropdownComponent_keyup_esc_HostBindingHandler($event) { return ctx.closeOnEsc($event); });
423
- } }, inputs: { data: "data", height: "height", ariaLabel: "ariaLabel", width: "width", label: "label", itemSizeForCdk: "itemSizeForCdk", showOnlyIcon: "showOnlyIcon", higlightSelectedValue: "higlightSelectedValue", dropdownListHeight: "dropdownListHeight", dropdownListWidth: "dropdownListWidth", dropdownListPosition: "dropdownListPosition", config: "config", searchEnabled: "searchEnabled", selectedItem: "selectedItem", noDataMessage: "noDataMessage", multiLine: "multiLine", additionalInfoMessage: "additionalInfoMessage", scrollIntoView: "scrollIntoView", searchLabel: "searchLabel", customStyles: "customStyles", activeItem: "activeItem" }, outputs: { onChange: "onChange" }, decls: 12, vars: 16, consts: [["select", ""], ["showIcon", ""], ["popupContainer", ""], ["itemsContainer", ""], ["standardItem", ""], [1, "main-container", 3, "click", "keyup.enter", "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle", "ngClass"], ["class", "img-container", 3, "width", "height", "src", 4, "ngIf"], [1, "label", 3, "ngStyle"], ["class", "text", 4, "ngIf", "ngIfElse"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "img-container", 3, "width", "height", "src"], [1, "text"], ["class", "text", 4, "ngIf"], ["class", "icon", "alt", "no img", 3, "src", 4, "ngIf"], ["alt", "no img", 1, "icon", 3, "src"], ["cdkTrapFocus", "", "tabindex", "0", "aria-label", "dropdown", 1, "popup-container", 3, "keyup.esc", "cdkTrapFocusAutoCapture", "ngStyle"], ["class", "search-container", 4, "ngIf"], ["class", "status-container", 4, "ngIf"], ["tabindex", "-1", "cdkFocusInitial", "", 4, "ngIf"], ["class", "items", 3, "ngStyle", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "tabIndex", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], [1, "status-container"], [3, "mobileView"], ["tabindex", "-1", "cdkFocusInitial", ""], [1, "items", 3, "ngStyle"], ["class", "dropdown-viewport", 3, "itemSize", "minBufferPx", "maxBufferPx", 4, "ngIf"], ["class", "noData", 4, "ngIf"], [1, "dropdown-viewport", 3, "itemSize", "minBufferPx", "maxBufferPx"], ["class", "item", "tabindex", "0", "tabIndex", "0", 3, "ngClass", "click", "keyup.enter", 4, "cdkVirtualFor", "cdkVirtualForOf"], ["tabindex", "0", "tabIndex", "0", 1, "item", 3, "click", "keyup.enter", "ngClass"], [4, "ngIf", "ngIfElse"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "label", 3, "ngStyle", 4, "ngIf"], ["class", "icon-container", 4, "ngIf"], [1, "primaryText", 3, "ngStyle"], ["class", "secondaryText", 3, "ngStyle", 4, "ngIf"], [1, "secondaryText", 3, "ngStyle"], [1, "icon-container"], [1, "noData"]], template: function DropdownComponent_Template(rf, ctx) { if (rf & 1) {
441
+ } }, inputs: { data: [1, "data"], height: [1, "height"], ariaLabel: [1, "ariaLabel"], width: [1, "width"], label: [1, "label"], itemSizeForCdk: [1, "itemSizeForCdk"], showOnlyIcon: [1, "showOnlyIcon"], higlightSelectedValue: [1, "higlightSelectedValue"], dropdownListHeight: [1, "dropdownListHeight"], dropdownListWidth: [1, "dropdownListWidth"], dropdownListPosition: [1, "dropdownListPosition"], config: [1, "config"], searchEnabled: [1, "searchEnabled"], selectedItem: [1, "selectedItem"], noDataMessage: [1, "noDataMessage"], multiLine: [1, "multiLine"], additionalInfoMessage: [1, "additionalInfoMessage"], scrollIntoView: [1, "scrollIntoView"], searchLabel: [1, "searchLabel"], customStyles: [1, "customStyles"], activeItem: [1, "activeItem"] }, outputs: { onChange: "onChange" }, decls: 12, vars: 16, consts: [["select", ""], ["showIcon", ""], ["popupContainer", ""], ["itemsContainer", ""], ["standardItem", ""], [1, "main-container", 3, "click", "keyup.enter", "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle", "ngClass"], ["class", "img-container", 3, "width", "height", "src", 4, "ngIf"], [1, "label", 3, "ngStyle"], ["class", "text", 4, "ngIf", "ngIfElse"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "img-container", 3, "width", "height", "src"], [1, "text"], ["class", "text", 4, "ngIf"], ["class", "icon", "alt", "no img", 3, "src", 4, "ngIf"], ["alt", "no img", 1, "icon", 3, "src"], ["cdkTrapFocus", "", "tabindex", "0", "aria-label", "dropdown", 1, "popup-container", 3, "keyup.esc", "cdkTrapFocusAutoCapture", "ngStyle"], ["class", "search-container", 4, "ngIf"], ["class", "status-container", 4, "ngIf"], ["tabindex", "-1", "cdkFocusInitial", "", 4, "ngIf"], ["class", "items", 3, "ngStyle", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "tabIndex", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], [1, "status-container"], [3, "mobileView"], ["tabindex", "-1", "cdkFocusInitial", ""], [1, "items", 3, "ngStyle"], ["class", "dropdown-viewport", 3, "itemSize", "minBufferPx", "maxBufferPx", 4, "ngIf"], ["class", "noData", 4, "ngIf"], [1, "dropdown-viewport", 3, "itemSize", "minBufferPx", "maxBufferPx"], ["class", "item", "tabindex", "0", "tabIndex", "0", 3, "ngClass", "click", "keyup.enter", 4, "cdkVirtualFor", "cdkVirtualForOf"], ["tabindex", "0", "tabIndex", "0", 1, "item", 3, "click", "keyup.enter", "ngClass"], [4, "ngIf", "ngIfElse"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "label", 3, "ngStyle", 4, "ngIf"], ["class", "icon-container", 4, "ngIf"], [1, "primaryText"], ["class", "secondaryText", 4, "ngIf"], [1, "secondaryText"], [1, "icon-container"], [1, "noData"]], template: function DropdownComponent_Template(rf, ctx) { if (rf & 1) {
424
442
  const _r1 = i0.ɵɵgetCurrentView();
425
443
  i0.ɵɵelementStart(0, "div", 5);
426
444
  i0.ɵɵlistener("click", function DropdownComponent_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setUpAsyncDataSearch()); })("keyup.enter", function DropdownComponent_Template_div_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setUpAsyncDataSearch()); });
@@ -436,86 +454,44 @@ export class DropdownComponent {
436
454
  i0.ɵɵelementEnd()()();
437
455
  i0.ɵɵtemplate(10, DropdownComponent_ng_template_10_Template, 5, 9, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
438
456
  } if (rf & 2) {
457
+ let tmp_7_0;
458
+ let tmp_8_0;
439
459
  const showIcon_r9 = i0.ɵɵreference(7);
440
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(9, _c4, ctx.height.length > 0 ? ctx.height : "", ctx.width.length > 0 ? ctx.width : ""));
460
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(9, _c4, ctx.height().length > 0 ? ctx.height() : "", ctx.width().length > 0 ? ctx.width() : ""));
441
461
  i0.ɵɵadvance();
442
- i0.ɵɵproperty("ngStyle", ctx.customStyles)("ngClass", ctx.isOpen ? "dropdown-port" : "");
443
- i0.ɵɵattribute("aria-label", ctx.ariaLabel);
462
+ i0.ɵɵproperty("ngStyle", ctx.customStyles())("ngClass", ctx.isOpen() ? "dropdown-port" : "");
463
+ i0.ɵɵattribute("aria-label", ctx.ariaLabel());
444
464
  i0.ɵɵadvance(2);
445
- i0.ɵɵproperty("ngIf", ctx.selectedItem == null ? null : ctx.selectedItem.customIcon);
465
+ i0.ɵɵproperty("ngIf", (tmp_7_0 = ctx.selectedItem()) == null ? null : tmp_7_0.customIcon);
446
466
  i0.ɵɵadvance();
447
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(12, _c5, (ctx.selectedItem == null ? null : ctx.selectedItem.customIcon) ? "calc(100% - 48px)" : "calc(100% - 32px)"));
467
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(12, _c5, ((tmp_8_0 = ctx.selectedItem()) == null ? null : tmp_8_0.customIcon) ? "calc(100% - 48px)" : "calc(100% - 32px)"));
448
468
  i0.ɵɵadvance();
449
- i0.ɵɵproperty("ngIf", !ctx.showOnlyIcon)("ngIfElse", showIcon_r9);
469
+ i0.ɵɵproperty("ngIf", !ctx.showOnlyIcon())("ngIfElse", showIcon_r9);
450
470
  i0.ɵɵadvance(3);
451
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(14, _c6, ctx.isOpen ? "rotate(180deg)" : "rotate(0deg)"));
452
- } }, dependencies: [i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.CdkFixedSizeVirtualScroll, i4.CdkVirtualForOf, i4.CdkVirtualScrollViewport, i5.LoaderComponent, i6.CdkTrapFocus], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.main-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid var(--border-primary, #E0E0E0);border-radius:6px;background-color:var(--bg-primary, #FFFFFF);cursor:pointer;display:flex;gap:4px;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:hover, .main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{background-color:var(--border-primary, #E0E0E0);border-radius:50%;padding:2px 7px;margin:0}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container[_ngcontent-%COMP%] .dropdown-port[_ngcontent-%COMP%]{background:var(--brand-primary-active, #DAE1F3)}.popup-container[_ngcontent-%COMP%]{width:100%;max-height:340px;padding-bottom:0;border:1px solid var(--border-primary, #E0E0E0);border-radius:8px;background-color:var(--bg-primary, #FFFFFF);box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:0;height:0}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{position:relative;box-sizing:border-box;padding:8px}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{height:40px;width:100%;padding:12px;border:1px solid var(--border-primary, #E0E0E0);box-sizing:border-box;border-radius:8px;outline:none;caret-color:var(--brand-primary, #0937B2);font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .cancel-icon[_ngcontent-%COMP%]{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]{padding:0 0 8px 8px;overflow-y:auto}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar{width:5px;height:0}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:10px}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .noData[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:44px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%]{height:100%}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:4px 12px;border-radius:6px;min-height:40px;height:auto;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover, .popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .primaryText[_ngcontent-%COMP%]{color:var(--text-primary, #181F33);font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .secondaryText[_ngcontent-%COMP%]{color:var(--text-secondary, #6A737D);font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:10%;display:flex;justify-content:flex-end}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:20px;height:20px}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]{cursor:not-allowed!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]:hover, .popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]:focus-visible{background-color:transparent!important;outline:none!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--text-tertiary, #929DAB)!important;-webkit-user-select:none!important;user-select:none!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-selected[_ngcontent-%COMP%]{background-color:var(--brand-primary-active, #DAE1F3);outline:none}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .icon-only[_ngcontent-%COMP%]{justify-content:center!important}[_ngcontent-%COMP%]::-webkit-scrollbar{height:8px;width:8px;background:var(--bg-primary, #FFFFFF);border-radius:13px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-disabled, #C8CDD3);border-radius:13px;cursor:pointer}.status-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:128px}.status-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:center}"] }); }
471
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(14, _c6, ctx.isOpen() ? "rotate(180deg)" : "rotate(0deg)"));
472
+ } }, dependencies: [i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.CdkFixedSizeVirtualScroll, i4.CdkVirtualForOf, i4.CdkVirtualScrollViewport, i5.LoaderComponent, i6.CdkTrapFocus], styles: [".main-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;gap:4px;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:hover, .main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:focus-visible{background-color:#f5f7fc;outline:none}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container[_ngcontent-%COMP%] .dropdown-port[_ngcontent-%COMP%]{background:#e6ebf7}.popup-container[_ngcontent-%COMP%]{width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:0;height:0}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{position:relative;box-sizing:border-box;padding:8px}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .cancel-icon[_ngcontent-%COMP%]{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]{padding:0 0 8px 8px;overflow-y:auto}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar{width:5px;height:0}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .noData[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:44px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%]{height:100%}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:4px 12px;border-radius:6px;min-height:40px;height:auto;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover, .popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:focus-visible{background-color:#f5f7fc;outline:none}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .primaryText[_ngcontent-%COMP%]{color:#181f33;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .secondaryText[_ngcontent-%COMP%]{color:#6a737d;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:10%;display:flex;justify-content:flex-end}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:20px;height:20px}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]{cursor:not-allowed!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]:hover, .popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]:focus-visible{background-color:transparent!important;outline:none!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#929dab!important;-webkit-user-select:none!important;user-select:none!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-selected[_ngcontent-%COMP%]{background-color:#e0e6f6;outline:none}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .icon-only[_ngcontent-%COMP%]{justify-content:center!important}[_ngcontent-%COMP%]::-webkit-scrollbar{height:8px;width:8px;background:#fff;border-radius:13px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#c8cdd3;border-radius:13px;cursor:pointer}.status-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:128px}.status-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:center}"] }); }
453
473
  }
454
474
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DropdownComponent, [{
455
475
  type: Component,
456
- args: [{ selector: "mis-dropdown", template: "<div (click)=\"setUpAsyncDataSearch()\"\n(keyup.enter)=\"setUpAsyncDataSearch()\"\n class=\"main-container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"customStyles\"\n [attr.aria-label]=\"ariaLabel\"\n [ngClass]=\"isOpen ? 'dropdown-port': ''\"\n >\n <img class=\"img-container\" [width]=\"16\" [height]=\"16\" [src]=\"selectedItem?.customIcon\" *ngIf=\"selectedItem?.customIcon\">\n <div class=\"label\" [ngStyle]=\"{width: selectedItem?.customIcon ? 'calc(100% - 48px)' : 'calc(100% - 32px)'}\">\n <p class=\"text\" *ngIf=\"!showOnlyIcon; else showIcon\">\n {{ multiLine ? selectedItem?.label?.primaryText : selectedItem?.label || label }}\n </p>\n <ng-template #showIcon>\n <p class=\"text\" *ngIf=\"!selectedItem?.icon\">\n {{ label }}\n </p>\n <img class=\"icon\" *ngIf=\"!!selectedItem?.icon\" [src]=\"selectedItem?.icon\" alt=\"no img\" />\n </ng-template>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\" tabindex=\"0\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n (keyup.esc)=\"closeOnEsc($event)\"\n aria-label=\"dropdown\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused ? '12px' : '45px',\n border: isSearchInputFocused ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused ? '45px' : '10px'\n }\"\n [tabIndex]=\"0\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : searchLabel\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n [attr.aria-label]=\"searchLabel\"\n />\n <svg\n *ngIf=\"isSearchInputFocused\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div class=\"status-container\" *ngIf=\"loading\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n <div tabindex=\"-1\" *ngIf=\"!searchEnabled\" cdkFocusInitial></div>\n <div class=\"items\" #itemsContainer [ngStyle]=\"itemsContainerStyle\" *ngIf=\"!loading \">\n <cdk-virtual-scroll-viewport *ngIf=\"currentData.length > 0\" \n [itemSize]=\"itemSizeForCdk || 36\" \n class=\"dropdown-viewport\"\n [minBufferPx]=\"200\"\n [maxBufferPx]=\"400\">\n <div\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item.disabled, 'item-selected': (higlightSelectedValue && item.value === selectedItem?.value), 'icon-only' : showOnlyIcon }\"\n (click)=\"item.disabled ? null : selectItem(item)\"\n (keyup.enter)=\"item.disabled ? null : selectItem(item)\"\n *cdkVirtualFor=\"let item of currentData; let i = index\"\n tabIndex=\"0\"\n >\n <ng-container *ngIf=\"customItem; else standardItem\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #standardItem>\n <div class=\"label\" *ngIf=\"!showOnlyIcon\" [ngStyle]=\"{ width: item.icon ? '90%' : '100%', 'display': multiLine ? 'flex': 'inherit', 'flex-direction': multiLine ? 'column': 'inherit' }\">\n <span class=\"primaryText\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\">{{ multiLine ? item?.label?.primaryText : item?.label }}</span>\n <span class=\"secondaryText\" *ngIf=\"multiLine\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\"> {{ item?.label?.secondaryText ? item?.label?.secondaryText : additionalInfoMessage }} </span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </ng-template>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"noData\" *ngIf=\"currentData.length === 0\">\n {{ searchInput === \"\" ? noDataMessage : \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.main-container{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container .dropdown{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid var(--border-primary, #E0E0E0);border-radius:6px;background-color:var(--bg-primary, #FFFFFF);cursor:pointer;display:flex;gap:4px;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container .dropdown:hover,.main-container .dropdown:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.main-container .dropdown .label{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.main-container .dropdown .label .text{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.main-container .dropdown .label .count{background-color:var(--border-primary, #E0E0E0);border-radius:50%;padding:2px 7px;margin:0}.main-container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container .dropdown-port{background:var(--brand-primary-active, #DAE1F3)}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid var(--border-primary, #E0E0E0);border-radius:8px;background-color:var(--bg-primary, #FFFFFF);box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid var(--border-primary, #E0E0E0);box-sizing:border-box;border-radius:8px;outline:none;caret-color:var(--brand-primary, #0937B2);font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:0 0 8px 8px;overflow-y:auto}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;height:44px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .items .dropdown-viewport{height:100%}.popup-container .items .dropdown-viewport .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:4px 12px;border-radius:6px;min-height:40px;height:auto;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .items .dropdown-viewport .item:hover,.popup-container .items .dropdown-viewport .item:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.popup-container .items .dropdown-viewport .item .label{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400}.popup-container .items .dropdown-viewport .item .label .primaryText{color:var(--text-primary, #181F33);font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container .items .dropdown-viewport .item .label .secondaryText{color:var(--text-secondary, #6A737D);font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container .items .dropdown-viewport .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .dropdown-viewport .item .icon-container .icon{width:20px;height:20px}.popup-container .items .item-disabled{cursor:not-allowed!important}.popup-container .items .item-disabled:hover,.popup-container .items .item-disabled:focus-visible{background-color:transparent!important;outline:none!important}.popup-container .items .item-disabled .label>span{color:var(--text-tertiary, #929DAB)!important;-webkit-user-select:none!important;user-select:none!important}.popup-container .items .item-selected{background-color:var(--brand-primary-active, #DAE1F3);outline:none}.popup-container .items .icon-only{justify-content:center!important}::-webkit-scrollbar{height:8px;width:8px;background:var(--bg-primary, #FFFFFF);border-radius:13px}::-webkit-scrollbar-thumb{background:var(--text-disabled, #C8CDD3);border-radius:13px;cursor:pointer}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}\n"] }]
457
- }], () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], { data: [{
458
- type: Input
459
- }], height: [{
460
- type: Input
461
- }], ariaLabel: [{
462
- type: Input
463
- }], width: [{
464
- type: Input
465
- }], label: [{
466
- type: Input
467
- }], itemSizeForCdk: [{
468
- type: Input
469
- }], showOnlyIcon: [{
470
- type: Input
471
- }], higlightSelectedValue: [{
472
- type: Input
473
- }], dropdownListHeight: [{
474
- type: Input
475
- }], dropdownListWidth: [{
476
- type: Input
477
- }], dropdownListPosition: [{
478
- type: Input
479
- }], config: [{
480
- type: Input
481
- }], searchEnabled: [{
482
- type: Input
483
- }], selectedItem: [{
484
- type: Input
485
- }], noDataMessage: [{
486
- type: Input
487
- }], multiLine: [{
488
- type: Input
489
- }], additionalInfoMessage: [{
490
- type: Input
491
- }], scrollIntoView: [{
492
- type: Input
493
- }], searchLabel: [{
494
- type: Input
495
- }], customStyles: [{
496
- type: Input
497
- }], activeItem: [{
498
- type: Input
499
- }], onChange: [{
500
- type: Output
501
- }], selectElement: [{
476
+ args: [{ selector: "mis-dropdown", template: "<div (click)=\"setUpAsyncDataSearch()\"\n(keyup.enter)=\"setUpAsyncDataSearch()\"\n class=\"main-container\"\n [ngStyle]=\"{\n height: height().length > 0 ? height() : '',\n width: width().length > 0 ? width() : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"customStyles()\"\n [attr.aria-label]=\"ariaLabel()\"\n [ngClass]=\"isOpen() ? 'dropdown-port': ''\"\n >\n <img class=\"img-container\" [width]=\"16\" [height]=\"16\" [src]=\"selectedItem()?.customIcon\" *ngIf=\"selectedItem()?.customIcon\">\n <div class=\"label\" [ngStyle]=\"{width: selectedItem()?.customIcon ? 'calc(100% - 48px)' : 'calc(100% - 32px)'}\">\n <p class=\"text\" *ngIf=\"!showOnlyIcon(); else showIcon\">\n {{ multiLine() ? selectedItem()?.label?.primaryText : selectedItem()?.label || label() }}\n </p>\n <ng-template #showIcon>\n <p class=\"text\" *ngIf=\"!selectedItem()?.icon\">\n {{ label() }}\n </p>\n <img class=\"icon\" *ngIf=\"!!selectedItem()?.icon\" [src]=\"selectedItem()?.icon\" alt=\"no img\" />\n </ng-template>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen() ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n\n<ng-template #popupContainer>\n <div\n class=\"popup-container\" \n cdkTrapFocus \n [cdkTrapFocusAutoCapture]=\"true\" \n tabindex=\"0\"\n [ngStyle]=\"{\n height: dropdownListHeight(),\n width: dropdownListWidth()\n }\"\n (keyup.esc)=\"closeOnEsc($event)\"\n aria-label=\"dropdown\"\n >\n <div *ngIf=\"searchEnabled()\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused()\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n [ngModel]=\"searchInput()\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused() ? '12px' : '45px',\n border: isSearchInputFocused() ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused() ? '45px' : '10px'\n }\"\n [tabIndex]=\"0\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused() ? '' : searchLabel()\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n [attr.aria-label]=\"searchLabel()\"\n />\n <svg\n *ngIf=\"isSearchInputFocused()\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div class=\"status-container\" *ngIf=\"loading()\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n <div tabindex=\"-1\" *ngIf=\"!searchEnabled()\" cdkFocusInitial></div>\n <div class=\"items\" #itemsContainer [ngStyle]=\"itemsContainerStyle\" *ngIf=\"!loading()\">\n <cdk-virtual-scroll-viewport *ngIf=\"currentData.length > 0\" \n [itemSize]=\"itemSizeForCdk() || 36\" \n class=\"dropdown-viewport\"\n [minBufferPx]=\"200\"\n [maxBufferPx]=\"400\">\n <div\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ \n 'item-disabled': item.disabled, \n 'item-selected': (higlightSelectedValue() && item.value === selectedItem()?.value), \n 'icon-only': showOnlyIcon() \n }\"\n (click)=\"item.disabled ? null : selectItem(item)\"\n (keyup.enter)=\"item.disabled ? null : selectItem(item)\"\n *cdkVirtualFor=\"let item of currentData; let i = index\"\n tabIndex=\"0\"\n >\n <ng-container *ngIf=\"customItem; else standardItem\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #standardItem>\n <div class=\"label\" *ngIf=\"!showOnlyIcon()\" [ngStyle]=\"{ \n width: item.icon ? '90%' : '100%', \n 'display': multiLine() ? 'flex': 'inherit', \n 'flex-direction': multiLine() ? 'column': 'inherit' \n }\">\n <span class=\"primaryText\">\n {{ multiLine() ? item?.label?.primaryText : item?.label }}\n </span>\n <span class=\"secondaryText\" *ngIf=\"multiLine()\">\n {{ item?.label?.secondaryText ? item?.label?.secondaryText : additionalInfoMessage() }}\n </span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </ng-template>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"noData\" *ngIf=\"currentData.length === 0\">\n {{ searchInput() === \"\" ? noDataMessage() : \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>", styles: [".main-container{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container .dropdown{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;gap:4px;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container .dropdown:hover,.main-container .dropdown:focus-visible{background-color:#f5f7fc;outline:none}.main-container .dropdown .label{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container .dropdown .label .text{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0}.main-container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container .dropdown-port{background:#e6ebf7}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:0 0 8px 8px;overflow-y:auto}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;height:44px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport{height:100%}.popup-container .items .dropdown-viewport .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:4px 12px;border-radius:6px;min-height:40px;height:auto;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport .item:hover,.popup-container .items .dropdown-viewport .item:focus-visible{background-color:#f5f7fc;outline:none}.popup-container .items .dropdown-viewport .item .label{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400}.popup-container .items .dropdown-viewport .item .label .primaryText{color:#181f33;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container .items .dropdown-viewport .item .label .secondaryText{color:#6a737d;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container .items .dropdown-viewport .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .dropdown-viewport .item .icon-container .icon{width:20px;height:20px}.popup-container .items .item-disabled{cursor:not-allowed!important}.popup-container .items .item-disabled:hover,.popup-container .items .item-disabled:focus-visible{background-color:transparent!important;outline:none!important}.popup-container .items .item-disabled .label>span{color:#929dab!important;-webkit-user-select:none!important;user-select:none!important}.popup-container .items .item-selected{background-color:#e0e6f6;outline:none}.popup-container .items .icon-only{justify-content:center!important}::-webkit-scrollbar{height:8px;width:8px;background:#fff;border-radius:13px}::-webkit-scrollbar-thumb{background:#c8cdd3;border-radius:13px;cursor:pointer}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}\n"] }]
477
+ }], () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], { selectElement: [{
502
478
  type: ViewChild,
503
479
  args: ["select", { static: false }]
504
480
  }], popupContainer: [{
505
481
  type: ViewChild,
506
482
  args: ["popupContainer", { static: false }]
507
- }], itemsContainer: [{
508
- type: ViewChild,
509
- args: ["itemsContainer", { static: false }]
510
483
  }], viewPort: [{
511
484
  type: ViewChild,
512
485
  args: [CdkVirtualScrollViewport]
513
486
  }], customItem: [{
514
487
  type: ContentChild,
515
488
  args: ["misCustomItem", { static: false }]
489
+ }], itemsContainer: [{
490
+ type: ViewChild,
491
+ args: ["itemsContainer", { static: false }]
516
492
  }], closeOnEsc: [{
517
493
  type: HostListener,
518
- args: ["keyup.esc", ['$event']]
494
+ args: ["keyup.esc", ["$event"]]
519
495
  }] }); })();
520
496
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DropdownComponent, { className: "DropdownComponent" }); })();
521
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNwTCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNlOUQsMEJBQXdIOzs7SUFBbEUsQUFBZCxBQUFiLDBCQUFZLGNBQWMsOEZBQWlDOzs7SUFFcEYsNkJBQXFEO0lBQ25ELFlBQ0Y7SUFBQSxpQkFBSTs7O0lBREYsY0FDRjtJQURFLDRQQUNGOzs7SUFFRSw2QkFBNEM7SUFDMUMsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixjQUNGO0lBREUsNkNBQ0Y7OztJQUNBLDBCQUF5Rjs7O0lBQTFDLHFHQUEwQjs7O0lBQXpFLEFBSEEsNkVBQTRDLG9FQUc2Qzs7O0lBSHhFLHVGQUF5QjtJQUd2QixjQUEwQjtJQUExQix3RkFBMEI7Ozs7SUFnQy9DLCtCQVFDO0lBQ0MsMkJBS0U7SUFDSixpQkFBTTs7Ozs7SUFlTiwrQkFTQztJQU5DLDJNQUFTLGtDQUEyQixLQUFDO0lBT3JDLDJCQUtFO0lBQ0osaUJBQU07Ozs7SUEvQ1IsK0JBQW9EO0lBQ2xELDZGQVFDO0lBUUQsaUNBYUU7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b0JBQW9CO2tCQUE1QixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDSSxRQUFRO2tCQUFqQixNQUFNO1lBQ2lDLGFBQWE7a0JBQXBELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNVLGNBQWM7a0JBQTdELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBRU0sY0FBYztrQkFBakUsU0FBUzttQkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFNVCxRQUFRO2tCQUE1QyxTQUFTO21CQUFDLHdCQUF3QjtZQUNlLFVBQVU7a0JBQTNELFlBQVk7bUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQThKaEQsVUFBVTtrQkFEVCxZQUFZO21CQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBck0xQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzT3BlbiA9IGZhbHNlO1xuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VhcmNoSW5wdXRGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHNlYXJjaElucHV0OiBzdHJpbmcgPSBcIlwiO1xuICBzZWFyY2hEYXRhOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICB2aXNpYmxlSXRlbXMgPSAxMDtcbiAgZHluYW1pY0hlaWdodDogc3RyaW5nID0gXCJhdXRvXCI7XG4gIEBJbnB1dCgpIGRhdGE6IERyb3Bkb3duSXRlbVtdICA9IFtdO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSBcIlNlbGVjdFwiO1xuICBASW5wdXQoKSBpdGVtU2l6ZUZvckNkazogbnVtYmVyO1xuICBASW5wdXQoKSBzaG93T25seUljb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaGlnbGlnaHRTZWxlY3RlZFZhbHVlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdEhlaWdodDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0V2lkdGg6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdFBvc2l0aW9uOiBcIkxlZnRcIiB8IFwiUmlnaHRcIiA9IFwiTGVmdFwiO1xuICBASW5wdXQoKSBjb25maWdcbiAgQElucHV0KCkgc2VhcmNoRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNlbGVjdGVkSXRlbTogRHJvcGRvd25JdGVtID0geyB2YWx1ZTogXCJcIiwgbGFiZWw6IFwiXCIgfTtcbiAgQElucHV0KCkgbm9EYXRhTWVzc2FnZTogc3RyaW5nID0gXCJObyBEYXRhXCI7XG4gIEBJbnB1dCgpIG11bHRpTGluZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhZGRpdGlvbmFsSW5mb01lc3NhZ2UgOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNjcm9sbEludG9WaWV3OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlYXJjaExhYmVsOnN0cmluZyA9IFwiU2VhcmNoIEtleXdvcmRcIjtcbiAgQElucHV0KCkgY3VzdG9tU3R5bGVzOiAgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgQElucHV0KCkgYWN0aXZlSXRlbTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKFwic2VsZWN0XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBzZWxlY3RFbGVtZW50OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFwicG9wdXBDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHBvcHVwQ29udGFpbmVyOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgcHJpdmF0ZSBfaXRlbXNDb250YWluZXI6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZChcIml0ZW1zQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBzZXQgaXRlbXNDb250YWluZXIoY29udGFpbmVyOiBFbGVtZW50UmVmIHwgbnVsbCkge1xuICAgIHRoaXMuX2l0ZW1zQ29udGFpbmVyID0gY29udGFpbmVyO1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIHRoaXMubWVhc3VyZUFuZFVwZGF0ZUhlaWdodCgpO1xuICAgIH1cbiAgfVxuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkgdmlld1BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgQENvbnRlbnRDaGlsZChcIm1pc0N1c3RvbUl0ZW1cIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIFxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVSZWY6IEVsZW1lbnRSZWYsIFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSwgXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG4gIFxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG5cbiAgbWVhc3VyZUFuZFVwZGF0ZUhlaWdodCgpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuIHx8ICF0aGlzLl9pdGVtc0NvbnRhaW5lcikgcmV0dXJuO1xuXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5faXRlbXNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgaXRlbXMgPSBjb250YWluZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pdGVtJyk7XG4gICAgXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcz8ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmR5bmFtaWNIZWlnaHQgPSBcIjUwcHhcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBcbiAgICBsZXQgdG90YWxNZWFzdXJlZEhlaWdodCA9IDA7XG4gICAgbGV0IG1heEl0ZW1IZWlnaHQgPSAwO1xuICAgIFxuICAgIEFycmF5LmZyb20oaXRlbXMpPy5zbGljZSgwLCBNYXRoLm1pbig4LCBpdGVtcz8ubGVuZ3RoIHx8IDApKT8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgaHRtbEl0ZW0gPSBpdGVtIGFzIEhUTUxFbGVtZW50O1xuICAgICAgbGV0IGl0ZW1IZWlnaHQgPSBodG1sSXRlbT8ub2Zmc2V0SGVpZ2h0IHx8IDA7IC8vb2Zmc2V0SGVpZ2h0IGlzIG1vcmUgcmVsaWFibGUgdGhhbiBnZXRCb3VuZGluZ0NsaWVudFJlY3RcbiAgICAgIHRvdGFsTWVhc3VyZWRIZWlnaHQgKz0gaXRlbUhlaWdodDtcbiAgICAgIG1heEl0ZW1IZWlnaHQgPSBNYXRoLm1heChtYXhJdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0KTtcbiAgICB9KTtcbiAgICAvL05lZWRlZCB0byBoYW5kbGUgdGhlIHNjcm9sbGJhciBjb21pbmcgZm9yIDItMyBpdGVtcyBjYXNlXG4gICAgY29uc3QgY29udGFpbmVyUGFkZGluZyA9IDg7XG4gICAgY29uc3QgZmluYWxIZWlnaHQgPSBNYXRoLm1heCg1MCwgTWF0aC5taW4odG90YWxNZWFzdXJlZEhlaWdodCArIGNvbnRhaW5lclBhZGRpbmcsIDMyMCkpO1xuICAgIFxuICAgIHRoaXMuZHluYW1pY0hlaWdodCA9IHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0ID8gdGhpcy5kcm9wZG93bkxpc3RIZWlnaHQgOiBgJHtmaW5hbEhlaWdodH1weGA7XG4gIH1cblxuICBnZXQgY3VycmVudERhdGEoKTogRHJvcGRvd25JdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaElucHV0ID8gdGhpcy5zZWFyY2hEYXRhIDogdGhpcy5kYXRhO1xuICB9XG5cbiAgZ2V0IGl0ZW1zQ29udGFpbmVyU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdoZWlnaHQnOiB0aGlzLmR5bmFtaWNIZWlnaHQsXG4gICAgICAnbWF4LWhlaWdodCc6ICczMjBweCcsXG4gICAgICAnbWluLWhlaWdodCc6ICc1MHB4J1xuICAgIH07XG4gIH1cblxuICBnZXRJY29uU3R5bGVzKGl0ZW06IGFueSwgYWN0aXZlSXRlbTogYm9vbGVhbik6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7XG4gICAgICAnY29sb3InOiBpdGVtICYmIGFjdGl2ZUl0ZW0gPyAnIzA5MzdCMicgOiAnJyxcbiAgICAgICdmb250LXdlaWdodCc6IGl0ZW0gJiYgYWN0aXZlSXRlbSA/ICc3MDAnIDogJydcbiAgICB9O1xuICB9XG5cbnNldFVwQXN5bmNEYXRhU2VhcmNoKClcbntcbiAgaWYodGhpcy5jb25maWcpXG4gIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmNvbmZpZz8uZGF0YVN0cmVhbSgpPy5waXBlKCk/LnN1YnNjcmliZShyZXM9PiB7XG4gICAgICAgICAgdGhpcy5kYXRhID0gcmVzIHx8IFtdXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubWVhc3VyZUFuZFVwZGF0ZUhlaWdodCgpLCA2MCk7XG4gICAgICB9KVxuICB9XG4gIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhPy5maW5kSW5kZXgoKGRhdGFJdGVtKSA9PiBkYXRhSXRlbT8udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRJdGVtPy52YWx1ZSkgfHwgLTE7XG4gIGlmICh0aGlzLnNjcm9sbEludG9WaWV3ICYmIHRoaXMudmlld1BvcnQpXG4gICAgdGhpcy52aWV3UG9ydD8uc2Nyb2xsVG9JbmRleChpbmRleCwgJ3Ntb290aCcpO1xufVxuICBmaWx0ZXJCeVZhbHVlKGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheT8uZmlsdGVyKG8gPT4gbz8ubGFiZWw/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKHN0cmluZz8udG9Mb3dlckNhc2UoKT8udHJpbSgpKSkgfHwgW107XG4gIH1cblxuICBmaWx0ZXJCeVByaW1hcnlUZXh0KGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheT8uZmlsdGVyKG8gPT4gbz8ubGFiZWw/LnByaW1hcnlUZXh0Py50b0xvd2VyQ2FzZSgpPy5pbmNsdWRlcyhzdHJpbmc/LnRvTG93ZXJDYXNlKCk/LnRyaW0oKSkpIHx8IFtdO1xuICB9XG4gIHNlYXJjaElucHV0T25DaGFuZ2UobmV3VmFsdWUpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gbmV3VmFsdWU7XG4gICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSB0aGlzLm11bHRpTGluZSA/IHRoaXMuZmlsdGVyQnlQcmltYXJ5VGV4dCh0aGlzLmRhdGEsIG5ld1ZhbHVlKSA6IHRoaXMuZmlsdGVyQnlWYWx1ZSh0aGlzLmRhdGEsIG5ld1ZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhID0gW107XG4gICAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgICB9XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMubWVhc3VyZUFuZFVwZGF0ZUhlaWdodCgpKTtcbiAgfVxuICBzZWFyY2hJbnB1dEZvY3VzZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgfVxuICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50KSB7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5tZWFzdXJlQW5kVXBkYXRlSGVpZ2h0KCkpO1xuICB9XG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Py5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1lYXN1cmVBbmRVcGRhdGVIZWlnaHQoKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24odGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+LCBvcmlnaW46IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25zQm90dG9tID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9LCAwLCA0KSxcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJlbmRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcImVuZFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9LCAwLCA0KVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25zVG9wID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwidG9wXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJib3R0b21cIiB9LCAwLCAtNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwidG9wXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSwgMCwgLTQpXG4gICAgXTtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAuLi4odGhpcy5kcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gXCJSaWdodFwiID8gcG9zaXRpb25zQm90dG9tLnJldmVyc2UoKSA6IHBvc2l0aW9uc0JvdHRvbSksXG4gICAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSBcIlJpZ2h0XCIgPyBwb3NpdGlvbnNUb3AucmV2ZXJzZSgpIDogcG9zaXRpb25zVG9wKVxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcbiAgICBjb25zdCBjb25maWdzID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiBcImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCIsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luPy5jbGllbnRXaWR0aFxuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlncyk7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25MaXN0V2lkdGgpIHRoaXMub3ZlcmxheVJlZj8udXBkYXRlU2l6ZSh7IHdpZHRoOiB0aGlzLmRyb3Bkb3duTGlzdFdpZHRoIH0pO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCkgdGhpcy5vdmVybGF5UmVmPy51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uYmFja2Ryb3BDbGljaygpPy5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9KTtcbiAgfVxuICBzZWxlY3RJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLm9uQ2hhbmdlPy5lbWl0KGl0ZW0pOyAgXG4gICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICB9XG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgdGhpcy5faXRlbXNDb250YWluZXIgPSBudWxsOyAvLyBSZXNldCBjb250YWluZXIgcmVmZXJlbmNlIHRvIGVuc3VyZSBmcmVzaCBzZXR1cCBvbiBuZXh0IG9wZW5cbiAgfVxuICBcbiAgQEhvc3RMaXN0ZW5lcihcImtleXVwLmVzY1wiLCBbJyRldmVudCddKVxuICBjbG9zZU9uRXNjKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bkl0ZW0ge1xuICBsYWJlbDogYW55IDtcbiAgdmFsdWU6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBjdXN0b21JY29uPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkl0ZW1MYWJlbCB7XG4gIHByaW1hcnlUZXh0ID86IHN0cmluZztcbiAgc2Vjb25kYXJ5VGV4dCA/OiBzdHJpbmc7XG59XG4iLCI8ZGl2IChjbGljayk9XCJzZXRVcEFzeW5jRGF0YVNlYXJjaCgpXCJcbihrZXl1cC5lbnRlcik9XCJzZXRVcEFzeW5jRGF0YVNlYXJjaCgpXCJcbiAgY2xhc3M9XCJtYWluLWNvbnRhaW5lclwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICBoZWlnaHQ6IGhlaWdodC5sZW5ndGggPiAwID8gaGVpZ2h0IDogJycsXG4gICAgd2lkdGg6IHdpZHRoLmxlbmd0aCA+IDAgPyB3aWR0aCA6ICcnXG4gIH1cIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgI3NlbGVjdFxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgKGtleXVwLmVudGVyKT1cInRvZ2dsZURyb3Bkb3duKClcIlxuICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICBbbmdTdHlsZV09XCJjdXN0b21TdHlsZXNcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbbmdDbGFzc109XCJpc09wZW4gPyAnZHJvcGRvd24tcG9ydCc6ICcnXCJcbiAgPlxuICAgIDxpbWcgY2xhc3M9XCJpbWctY29udGFpbmVyXCIgW3dpZHRoXT1cIjE2XCIgW2hlaWdodF09XCIxNlwiIFtzcmNdPVwic2VsZWN0ZWRJdGVtPy5jdXN0b21JY29uXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0/LmN1c3RvbUljb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdTdHlsZV09XCJ7d2lkdGg6IHNlbGVjdGVkSXRlbT8uY3VzdG9tSWNvbiA/ICdjYWxjKDEwMCUgLSA0OHB4KScgOiAnY2FsYygxMDAlIC0gMzJweCknfVwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCIhc2hvd09ubHlJY29uOyBlbHNlIHNob3dJY29uXCI+XG4gICAgICAgIHt7IG11bHRpTGluZSA/IHNlbGVjdGVkSXRlbT8ubGFiZWw/LnByaW1hcnlUZXh0IDogc2VsZWN0ZWRJdGVtPy5sYWJlbCB8fCBsYWJlbCB9fVxuICAgICAgPC9wPlxuICAgICAgPG5nLXRlbXBsYXRlICNzaG93SWNvbj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtPy5pY29uXCI+XG4gICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8aW1nIGNsYXNzPVwiaWNvblwiICpuZ0lmPVwiISFzZWxlY3RlZEl0ZW0/Lmljb25cIiBbc3JjXT1cInNlbGVjdGVkSXRlbT8uaWNvblwiIGFsdD1cIm5vIGltZ1wiIC8+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwiaGFuZGxlXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsgdHJhbnNmb3JtOiBpc09wZW4gPyAncm90YXRlKDE4MGRlZyknIDogJ3JvdGF0ZSgwZGVnKScgfVwiXG4gICAgICB3aWR0aD1cIjIwXCJcbiAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBkPVwiTTEzLjgyNSA3LjE1ODQ1TDEwIDEwLjk3NTFMNi4xNzUgNy4xNTg0NUw1IDguMzMzNDVMMTAgMTMuMzMzNEwxNSA4LjMzMzQ1TDEzLjgyNSA3LjE1ODQ1WlwiXG4gICAgICAgIGZpbGw9XCIjMTgxRjMzXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcHVwQ29udGFpbmVyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJwb3B1cC1jb250YWluZXJcIiBjZGtUcmFwRm9jdXMgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIiB0YWJpbmRleD1cIjBcIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgIGhlaWdodDogZHJvcGRvd25MaXN0SGVpZ2h0LFxuICAgICAgd2lkdGg6IGRyb3Bkb3duTGlzdFdpZHRoXG4gICAgfVwiXG4gICAgKGtleXVwLmVzYyk9XCJjbG9zZU9uRXNjKCRldmVudClcIlxuICAgIGFyaWEtbGFiZWw9XCJkcm9wZG93blwiXG4gID5cbiAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoRW5hYmxlZFwiIGNsYXNzPVwic2VhcmNoLWNvbnRhaW5lclwiPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdJZj1cIiFpc1NlYXJjaElucHV0Rm9jdXNlZFwiXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLWljb25cIlxuICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTQuMjE1MDggMTEuMTQ1NkM0LjIxNTA4IDcuMzE3OSA3LjMzNzIyIDQuMjExNjUgMTEuMTkyNiA0LjIxMTY1QzE1LjA0OCA0LjIxMTY1IDE4LjE3MDIgNy4zMTc5IDE4LjE3MDIgMTEuMTQ1NkMxOC4xNzAyIDEyLjY5MzEgMTcuNjU5OSAxNC4xMjI2IDE2Ljc5NzIgMTUuMjc2N0wxNS4zNjg1IDE2LjcwMTNDMTQuMjA0NCAxNy41NjY4IDEyLjc1OSAxOC4wNzk2IDExLjE5MjYgMTguMDc5NkM3LjMzNzIyIDE4LjA3OTYgNC4yMTUwOCAxNC45NzM0IDQuMjE1MDggMTEuMTQ1NlpNMTUuOTQyMSAxNy43ODM1QzE0LjYwMjEgMTguNzMyOSAxMi45NjI3IDE5LjI5MTMgMTEuMTkyNiAxOS4yOTEzQzYuNjY5NzcgMTkuMjkxMyAzIDE1LjY0NjEgMyAxMS4xNDU2QzMgNi42NDUxMiA2LjY2OTc3IDMgMTEuMTkyNiAzQzE1LjcxNTUgMyAxOS4zODUyIDYuNjQ1MTIgMTkuMzg1MiAxMS4xNDU2QzE5LjM4NTIgMTIuOTM3MSAxOC44MDM3IDE0LjU5MzEgMTcuODE4NCAxNS45Mzc1TDE5LjgzNjEgMTcuNDA0OEMyMC42NzA1IDE3LjkxMiAyMS43NTU0IDE4LjY1NDMgMjAuMjQ1NCAyMC4yMTVDMTguNzM1MyAyMS43NzU2IDE4LjAwOTkgMjAuNjY2MyAxNy40OTkxIDE5LjgzNjRMMTUuOTQyMSAxNy43ODM1WlwiXG4gICAgICAgICAgZmlsbD1cIiM2QTczN0RcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgICA8aW5wdXRcbiAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoSW5wdXRcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgcGFkZGluZ0xlZnQ6IGlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJzEycHgnIDogJzQ1cHgnLFxuICAgICAgICAgIGJvcmRlcjogaXNTZWFyY2hJbnB1dEZvY3VzZWQgPyAnMXB4IHNvbGlkICMwOTM3QjInIDogJzFweCBzb2xpZCAjZTBlMGUwJyxcbiAgICAgICAgICBwYWRkaW5nUmlnaHQ6IGlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJzQ1cHgnIDogJzEwcHgnXG4gICAgICAgIH1cIlxuICAgICAgICBbdGFiSW5kZXhdPVwiMFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaElucHV0T25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICcnIDogc2VhcmNoTGFiZWxcIlxuICAgICAgICAoZm9jdXMpPVwic2VhcmNoSW5wdXRGb2N1c2VkKHRydWUpXCJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNlYXJjaExhYmVsXCJcbiAgICAgIC8+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ0lmPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWRcIlxuICAgICAgICBjbGFzcz1cImNhbmNlbC1pY29uXCJcbiAgICAgICAgKGNsaWNrKT1cInNlYXJjaElucHV0Q2FuY2VsZWQoJGV2ZW50KVwiXG4gICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNOC44NzQ0NiA3LjMyMTQ0QzguNDQ1ODggNi44OTI4NSA3Ljc1MSA2Ljg5Mjg1IDcuMzIyNDIgNy4zMjE0NEM2Ljg5MzgzIDcuNzUwMDIgNi44OTM4MyA4LjQ0NDkgNy4zMjI0MiA4Ljg3MzQ5TDEwLjQ0ODggMTEuOTk5OUw3LjMyMzU3IDE1LjEyNTJDNi44OTQ5OCAxNS41NTM4IDYuODk0OTggMTYuMjQ4NiA3LjMyMzU3IDE2LjY3NzJDNy43NTIxNSAxNy4xMDU4IDguNDQ3MDMgMTcuMTA1OCA4Ljg3NTYxIDE2LjY3NzJMMTIuMDAwOSAxMy41NTJMMTUuMTI2MSAxNi42NzcyQzE1LjU1NDcgMTcuMTA1OCAxNi4yNDk2IDE3LjEwNTggMTYuNjc4MSAxNi42NzcyQzE3LjEwNjcgMTYuMjQ4NiAxNy4xMDY3IDE1LjU1MzcgMTYuNjc4MSAxNS4xMjUxTDEzLjU1MjkgMTEuOTk5OUwxNi42NzkzIDguODczNTRDMTcuMTA3OSA4LjQ0NDk2IDE3LjEwNzkgNy43NTAwOCAxNi42NzkzIDcuMzIxNUMxNi4yNTA3IDYuODkyOTEgMTUuNTU1OCA2Ljg5MjkxIDE1LjEyNzMgNy4zMjE1TDEyLjAwMDkgMTAuNDQ3OUw4Ljg3NDQ2IDcuMzIxNDRaXCJcbiAgICAgICAgICBmaWxsPVwiIzZBNzM3RFwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWNvbnRhaW5lclwiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgPG1pcy1sb2FkZXIgW21vYmlsZVZpZXddPVwidHJ1ZVwiPjwvbWlzLWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHRhYmluZGV4PVwiLTFcIiAqbmdJZj1cIiFzZWFyY2hFbmFibGVkXCIgY2RrRm9jdXNJbml0aWFsPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiICNpdGVtc0NvbnRhaW5lciBbbmdTdHlsZV09XCJpdGVtc0NvbnRhaW5lclN0eWxlXCIgKm5nSWY9XCIhbG9hZGluZyBcIj5cbiAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgKm5nSWY9XCJjdXJyZW50RGF0YS5sZW5ndGggPiAwXCIgXG4gICAgICAgIFtpdGVtU2l6ZV09XCJpdGVtU2l6ZUZvckNkayB8fCAzNlwiIFxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duLXZpZXdwb3J0XCJcbiAgICAgICAgW21pbkJ1ZmZlclB4XT1cIjIwMFwiXG4gICAgICAgIFttYXhCdWZmZXJQeF09XCI0MDBcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdpdGVtLWRpc2FibGVkJzogaXRlbS5kaXNhYmxlZCwgJ2l0ZW0tc2VsZWN0ZWQnOiAoaGlnbGlnaHRTZWxlY3RlZFZhbHVlICYmIGl0ZW0udmFsdWUgPT09IHNlbGVjdGVkSXRlbT8udmFsdWUpLCAnaWNvbi1vbmx5JyA6IHNob3dPbmx5SWNvbiB9XCJcbiAgICAgICAgKGNsaWNrKT1cIml0ZW0uZGlzYWJsZWQgPyBudWxsIDogc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJpdGVtLmRpc2FibGVkID8gbnVsbCA6IHNlbGVjdEl0ZW0oaXRlbSlcIlxuICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGN1cnJlbnREYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgdGFiSW5kZXg9XCIwXCJcbiAgICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tSXRlbTsgZWxzZSBzdGFuZGFyZEl0ZW1cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUl0ZW1cIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZEl0ZW0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgKm5nSWY9XCIhc2hvd09ubHlJY29uXCIgW25nU3R5bGVdPVwieyB3aWR0aDogaXRlbS5pY29uID8gJzkwJScgOiAnMTAwJScsICdkaXNwbGF5JzogbXVsdGlMaW5lID8gJ2ZsZXgnOiAnaW5oZXJpdCcsICdmbGV4LWRpcmVjdGlvbic6IG11bHRpTGluZSA/ICdjb2x1bW4nOiAnaW5oZXJpdCcgfVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmltYXJ5VGV4dFwiIFtuZ1N0eWxlXT1cImdldEljb25TdHlsZXMoaXRlbS5pY29uLCBhY3RpdmVJdGVtKVwiPnt7IG11bHRpTGluZSA/IGl0ZW0/LmxhYmVsPy5wcmltYXJ5VGV4dCA6IGl0ZW0/LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWNvbmRhcnlUZXh0XCIgKm5nSWY9XCJtdWx0aUxpbmVcIiBbbmdTdHlsZV09XCJnZXRJY29uU3R5bGVzKGl0ZW0uaWNvbiwgYWN0aXZlSXRlbSlcIj4ge3sgaXRlbT8ubGFiZWw/LnNlY29uZGFyeVRleHQgPyBpdGVtPy5sYWJlbD8uc2Vjb25kYXJ5VGV4dCA6IGFkZGl0aW9uYWxJbmZvTWVzc2FnZSAgfX0gPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbS5pY29uXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiaWNvblwiIFtzcmNdPVwiaXRlbS5pY29uXCIgYWx0PVwibm8gaW1nXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vRGF0YVwiICpuZ0lmPVwiY3VycmVudERhdGEubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIHt7IHNlYXJjaElucHV0ID09PSBcIlwiID8gbm9EYXRhTWVzc2FnZSA6IFwiTm8gcmVzdWx0c1wiIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBRVosU0FBUyxFQUdULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHNCQUFzQixFQUV0QixhQUFhLEdBRWQsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDSDlELDBCQUE0SDs7OztJQUF0RSxBQUFkLEFBQWIsMEJBQVksY0FBYyxnR0FBbUM7OztJQUV0Riw2QkFBdUQ7SUFDckQsWUFDRjtJQUFBLGlCQUFJOzs7O0lBREYsY0FDRjtJQURFLHdQQUNGOzs7SUFFRSw2QkFBOEM7SUFDNUMsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixjQUNGO0lBREUsK0NBQ0Y7OztJQUNBLDBCQUE2Rjs7OztJQUE1Qyx1R0FBNEI7OztJQUE3RSxBQUhBLDZFQUE4QyxvRUFHK0M7Ozs7O0lBSDVFLHlGQUEyQjtJQUd6QixjQUE0QjtJQUE1QiwwRkFBNEI7Ozs7SUFvQ2pELCtCQVFDO0lBQ0MsMkJBS0U7SUFDSixpQkFBTTs7Ozs7SUFlTiwrQkFTQztJQU5DLDJNQUFTLGtDQUEyQixLQUFDO0lBT3JDLDJCQUtFO0lBQ0osaUJBQU07Ozs7SUEvQ1IsK0JBQXNEO0lBQ3BELDZG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UUFBUSxDQUFDOztrRkEvUTFCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29udGVudENoaWxkLFxuICBzaWduYWwsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIGVmZmVjdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zY3JvbGxpbmdcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQge1xuICAvLyBJbnRlcm5hbCBzaWduYWxzXG4gIHJlYWRvbmx5IGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBpc1NlYXJjaElucHV0Rm9jdXNlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlYXJjaElucHV0ID0gc2lnbmFsKFwiXCIpO1xuICByZWFkb25seSBzZWFyY2hEYXRhID0gc2lnbmFsPERyb3Bkb3duSXRlbVtdPihbXSk7XG4gIHJlYWRvbmx5IGR5bmFtaWNIZWlnaHQgPSBzaWduYWwoXCJhdXRvXCIpO1xuXG4gIC8vIOKchSBXcml0YWJsZSBzaWduYWwgZm9yIGludGVybmFsIGRhdGFcbiAgcmVhZG9ubHkgaW50ZXJuYWxEYXRhID0gc2lnbmFsPERyb3Bkb3duSXRlbVtdPihbXSk7XG5cbiAgLy8gSW5wdXRzXG4gIHJlYWRvbmx5IGRhdGEgPSBpbnB1dDxEcm9wZG93bkl0ZW1bXT4oW10pO1xuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIlwiKTtcbiAgcmVhZG9ubHkgYXJpYUxhYmVsID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQoXCJTZWxlY3RcIik7XG4gIHJlYWRvbmx5IGl0ZW1TaXplRm9yQ2RrID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSBzaG93T25seUljb24gPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGhpZ2xpZ2h0U2VsZWN0ZWRWYWx1ZSA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgZHJvcGRvd25MaXN0SGVpZ2h0ID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IGRyb3Bkb3duTGlzdFdpZHRoID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IGRyb3Bkb3duTGlzdFBvc2l0aW9uID0gaW5wdXQ8XCJMZWZ0XCIgfCBcIlJpZ2h0XCI+KFwiTGVmdFwiKTtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQ8YW55PigpO1xuICByZWFkb25seSBzZWFyY2hFbmFibGVkID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkSXRlbSA9IGlucHV0PERyb3Bkb3duSXRlbT4oeyB2YWx1ZTogXCJcIiwgbGFiZWw6IFwiXCIgfSk7XG4gIHJlYWRvbmx5IG5vRGF0YU1lc3NhZ2UgPSBpbnB1dChcIk5vIERhdGFcIik7XG4gIHJlYWRvbmx5IG11bHRpTGluZSA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgYWRkaXRpb25hbEluZm9NZXNzYWdlID0gaW5wdXQ8c3RyaW5nPihcIlwiKTtcbiAgcmVhZG9ubHkgc2Nyb2xsSW50b1ZpZXcgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlYXJjaExhYmVsID0gaW5wdXQoXCJTZWFyY2ggS2V5d29yZFwiKTtcbiAgcmVhZG9ubHkgY3VzdG9tU3R5bGVzID0gaW5wdXQ8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4oe30pO1xuICByZWFkb25seSBhY3RpdmVJdGVtID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8vIE91dHB1dFxuICByZWFkb25seSBvbkNoYW5nZSA9IG91dHB1dDxEcm9wZG93bkl0ZW0+KCk7XG5cbiAgLy8gVGVtcGxhdGUgJiBET00gcmVmc1xuICBAVmlld0NoaWxkKFwic2VsZWN0XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBzZWxlY3RFbGVtZW50ITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChcInBvcHVwQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwb3B1cENvbnRhaW5lciE6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkgdmlld1BvcnQhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG4gIEBDb250ZW50Q2hpbGQoXCJtaXNDdXN0b21JdGVtXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21JdGVtITogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfaXRlbXNDb250YWluZXI6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZChcIml0ZW1zQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBzZXQgaXRlbXNDb250YWluZXIoXG4gICAgY29udGFpbmVyOiBFbGVtZW50UmVmIHwgbnVsbFxuICApIHtcbiAgICB0aGlzLl9pdGVtc0NvbnRhaW5lciA9IGNvbnRhaW5lcjtcbiAgICBpZiAoY29udGFpbmVyKSB0aGlzLm1lYXN1cmVBbmRVcGRhdGVIZWlnaHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3ZlcmxheVJlZiE6IE92ZXJsYXlSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIC8vIOKchSBLZWVwIGludGVybmFsRGF0YSBpbiBzeW5jIHdpdGggaW5wdXQgZGF0YSAoYW5kIGFsbG93IHdyaXRlcylcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxEYXRhLnNldCh0aGlzLmRhdGEoKSB8fCBbXSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT0gQ29yZSBMb2dpYyA9PT09PT09PT09XG5cbiAgbWVhc3VyZUFuZFVwZGF0ZUhlaWdodCgpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuKCkgfHwgIXRoaXMuX2l0ZW1zQ29udGFpbmVyKSByZXR1cm47XG5cbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl9pdGVtc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGl0ZW1zID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuaXRlbVwiKTtcblxuICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmR5bmFtaWNIZWlnaHQuc2V0KFwiNTBweFwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgdG90YWxNZWFzdXJlZEhlaWdodCA9IDA7XG4gICAgbGV0IG1heEl0ZW1IZWlnaHQgPSAwO1xuXG4gICAgQXJyYXkuZnJvbShpdGVtcylcbiAgICAgIC5zbGljZSgwLCBNYXRoLm1pbig4LCBpdGVtcy5sZW5ndGgpKVxuICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgaHRtbEl0ZW0gPSBpdGVtIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBsZXQgaXRlbUhlaWdodCA9IGh0bWxJdGVtLm9mZnNldEhlaWdodCB8fCAwO1xuICAgICAgICB0b3RhbE1lYXN1cmVkSGVpZ2h0ICs9IGl0ZW1IZWlnaHQ7XG4gICAgICAgIG1heEl0ZW1IZWlnaHQgPSBNYXRoLm1heChtYXhJdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0KTtcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgY29udGFpbmVyUGFkZGluZyA9IDg7XG4gICAgY29uc3QgZmluYWxIZWlnaHQgPSBNYXRoLm1heChcbiAgICAgIDUwLFxuICAgICAgTWF0aC5taW4odG90YWxNZWFzdXJlZEhlaWdodCArIGNvbnRhaW5lclBhZGRpbmcsIDMyMClcbiAgICApO1xuXG4gICAgdGhpcy5keW5hbWljSGVpZ2h0LnNldChcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0KCkgPyB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCgpIDogYCR7ZmluYWxIZWlnaHR9cHhgXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50RGF0YSgpOiBEcm9wZG93bkl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoSW5wdXQoKSA/IHRoaXMuc2VhcmNoRGF0YSgpIDogdGhpcy5pbnRlcm5hbERhdGEoKTtcbiAgfVxuXG4gIGdldCBpdGVtc0NvbnRhaW5lclN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBoZWlnaHQ6IHRoaXMuZHluYW1pY0hlaWdodCgpLFxuICAgICAgXCJtYXgtaGVpZ2h0XCI6IFwiMzIwcHhcIixcbiAgICAgIFwibWluLWhlaWdodFwiOiBcIjUwcHhcIixcbiAgICB9O1xuICB9XG5cbiAgc2V0VXBBc3luY0RhdGFTZWFyY2goKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnKCkpIHtcbiAgICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLmNvbmZpZygpXG4gICAgICAgID8uZGF0YVN0cmVhbSgpXG4gICAgICAgID8ucGlwZSgpXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlczogRHJvcGRvd25JdGVtW10pID0+IHtcbiAgICAgICAgICB0aGlzLmludGVybmFsRGF0YS5zZXQocmVzIHx8IFtdKTsgLy8g4pyFIHNhZmVcbiAgICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubWVhc3VyZUFuZFVwZGF0ZUhlaWdodCgpLCA2MCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBpbmRleCA9XG4gICAgICB0aGlzLmludGVybmFsRGF0YSgpPy5maW5kSW5kZXgoXG4gICAgICAgIChkYXRhSXRlbSkgPT4gZGF0YUl0ZW0/LnZhbHVlID09PSB0aGlzLnNlbGVjdGVkSXRlbSgpPy52YWx1ZVxuICAgICAgKSB8fCAtMTtcbiAgICBpZiAodGhpcy5zY3JvbGxJbnRvVmlldygpICYmIHRoaXMudmlld1BvcnQpIHtcbiAgICAgIHRoaXMudmlld1BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCwgXCJzbW9vdGhcIik7XG4gICAgfVxuICB9XG5cbiAgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dC5zZXQobmV3VmFsdWUpO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhLnNldChcbiAgICAgICAgdGhpcy5tdWx0aUxpbmUoKVxuICAgICAgICAgID8gdGhpcy5maWx0ZXJCeVByaW1hcnlUZXh0KHRoaXMuaW50ZXJuYWxEYXRhKCksIG5ld1ZhbHVlKVxuICAgICAgICAgIDogdGhpcy5maWx0ZXJCeVZhbHVlKHRoaXMuaW50ZXJuYWxEYXRhKCksIG5ld1ZhbHVlKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhLnNldChbXSk7XG4gICAgfVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLm1lYXN1cmVBbmRVcGRhdGVIZWlnaHQoKSk7XG4gIH1cblxuICBmaWx0ZXJCeVZhbHVlKGFycmF5OiBEcm9wZG93bkl0ZW1bXSwgc3RyaW5nOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJyYXk/LmZpbHRlcigobykgPT5cbiAgICAgICAgbz8ubGFiZWw/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKHN0cmluZz8udG9Mb3dlckNhc2UoKT8udHJpbSgpKVxuICAgICAgKSB8fCBbXVxuICAgICk7XG4gIH1cblxuICBmaWx0ZXJCeVByaW1hcnlUZXh0KGFycmF5OiBEcm9wZG93bkl0ZW1bXSwgc3RyaW5nOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJyYXk/LmZpbHRlcigobykgPT5cbiAgICAgICAgbz8ubGFiZWw/LnByaW1hcnlUZXh0XG4gICAgICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgPy5pbmNsdWRlcyhzdHJpbmc/LnRvTG93ZXJDYXNlKCk/LnRyaW0oKSlcbiAgICAgICkgfHwgW11cbiAgICApO1xuICB9XG5cbiAgc2VhcmNoSW5wdXRGb2N1c2VkKGlzRm9jdXNlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQuc2V0KGlzRm9jdXNlZCk7XG4gIH1cblxuICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VhcmNoSW5wdXQuc2V0KFwiXCIpO1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQuc2V0KGZhbHNlKTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5tZWFzdXJlQW5kVXBkYXRlSGVpZ2h0KCkpO1xuICB9XG5cbiAgdG9nZ2xlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5pc09wZW4uc2V0KCF0aGlzLmlzT3BlbigpKTtcbiAgICBpZiAodGhpcy5pc09wZW4oKSkge1xuICAgICAgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Py5uYXRpdmVFbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50Piwgb3JpZ2luOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uc0JvdHRvbSA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuICAgICAgICB7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LFxuICAgICAgICB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcInRvcFwiIH0sXG4gICAgICAgIDAsXG4gICAgICAgIDRcbiAgICAgICksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgICAgeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sXG4gICAgICAgIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcInRvcFwiIH0sXG4gICAgICAgIDAsXG4gICAgICAgIDRcbiAgICAgICksXG4gICAgXTtcbiAgICBjb25zdCBwb3NpdGlvbnNUb3AgPSBbXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgICAgeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwidG9wXCIgfSxcbiAgICAgICAgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJib3R0b21cIiB9LFxuICAgICAgICAwLFxuICAgICAgICAtNFxuICAgICAgKSxcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuICAgICAgICB7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwidG9wXCIgfSxcbiAgICAgICAgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSxcbiAgICAgICAgMCxcbiAgICAgICAgLTRcbiAgICAgICksXG4gICAgXTtcblxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uKCkgPT09IFwiUmlnaHRcIlxuICAgICAgICAgID8gcG9zaXRpb25zQm90dG9tLnJldmVyc2UoKVxuICAgICAgICAgIDogcG9zaXRpb25zQm90dG9tKSxcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24oKSA9PT0gXCJSaWdodFwiXG4gICAgICAgICAgPyBwb3NpdGlvbnNUb3AucmV2ZXJzZSgpXG4gICAgICAgICAgOiBwb3NpdGlvbnNUb3ApLFxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIGNvbnN0IGNvbmZpZ3MgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiBvcmlnaW4/LmNsaWVudFdpZHRoLFxuICAgIH0pO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcblxuICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdFdpZHRoKCkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgd2lkdGg6IHRoaXMuZHJvcGRvd25MaXN0V2lkdGgoKSB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0KCkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCgpIH0pO1xuICAgIH1cblxuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uQ2FuY2VsKCk7XG4gICAgfSk7XG4gIH1cblxuICBzZWxlY3RJdGVtKGl0ZW06IERyb3Bkb3duSXRlbSkge1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdChpdGVtKTtcbiAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICB0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkLnNldChmYWxzZSk7XG4gICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMuc2VhcmNoSW5wdXQuc2V0KFwiXCIpO1xuICAgIHRoaXMuX2l0ZW1zQ29udGFpbmVyID0gbnVsbDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJrZXl1cC5lc2NcIiwgW1wiJGV2ZW50XCJdKVxuICBjbG9zZU9uRXNjKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bkl0ZW0ge1xuICBsYWJlbDogYW55O1xuICB2YWx1ZTogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGN1c3RvbUljb24/OiBzdHJpbmc7XG59XG4iLCI8ZGl2IChjbGljayk9XCJzZXRVcEFzeW5jRGF0YVNlYXJjaCgpXCJcbihrZXl1cC5lbnRlcik9XCJzZXRVcEFzeW5jRGF0YVNlYXJjaCgpXCJcbiAgY2xhc3M9XCJtYWluLWNvbnRhaW5lclwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICBoZWlnaHQ6IGhlaWdodCgpLmxlbmd0aCA+IDAgPyBoZWlnaHQoKSA6ICcnLFxuICAgIHdpZHRoOiB3aWR0aCgpLmxlbmd0aCA+IDAgPyB3aWR0aCgpIDogJydcbiAgfVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImRyb3Bkb3duXCJcbiAgICAjc2VsZWN0XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIlxuICAgIFtuZ1N0eWxlXT1cImN1c3RvbVN0eWxlcygpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpXCJcbiAgICBbbmdDbGFzc109XCJpc09wZW4oKSA/ICdkcm9wZG93bi1wb3J0JzogJydcIlxuICA+XG4gICAgPGltZyBjbGFzcz1cImltZy1jb250YWluZXJcIiBbd2lkdGhdPVwiMTZcIiBbaGVpZ2h0XT1cIjE2XCIgW3NyY109XCJzZWxlY3RlZEl0ZW0oKT8uY3VzdG9tSWNvblwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtKCk/LmN1c3RvbUljb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdTdHlsZV09XCJ7d2lkdGg6IHNlbGVjdGVkSXRlbSgpPy5jdXN0b21JY29uID8gJ2NhbGMoMTAwJSAtIDQ4cHgpJyA6ICdjYWxjKDEwMCUgLSAzMnB4KSd9XCI+XG4gICAgICA8cCBjbGFzcz1cInRleHRcIiAqbmdJZj1cIiFzaG93T25seUljb24oKTsgZWxzZSBzaG93SWNvblwiPlxuICAgICAgICB7eyBtdWx0aUxpbmUoKSA/IHNlbGVjdGVkSXRlbSgpPy5sYWJlbD8ucHJpbWFyeVRleHQgOiBzZWxlY3RlZEl0ZW0oKT8ubGFiZWwgfHwgbGFiZWwoKSB9fVxuICAgICAgPC9wPlxuICAgICAgPG5nLXRlbXBsYXRlICNzaG93SWNvbj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtKCk/Lmljb25cIj5cbiAgICAgICAgICB7eyBsYWJlbCgpIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiAqbmdJZj1cIiEhc2VsZWN0ZWRJdGVtKCk/Lmljb25cIiBbc3JjXT1cInNlbGVjdGVkSXRlbSgpPy5pY29uXCIgYWx0PVwibm8gaW1nXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJoYW5kbGVcIlxuICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06IGlzT3BlbigpID8gJ3JvdGF0ZSgxODBkZWcpJyA6ICdyb3RhdGUoMGRlZyknIH1cIlxuICAgICAgd2lkdGg9XCIyMFwiXG4gICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgZD1cIk0xMy44MjUgNy4xNTg0NUwxMCAxMC45NzUxTDYuMTc1IDcuMTU4NDVMNSA4LjMzMzQ1TDEwIDEzLjMzMzRMMTUgOC4zMzM0NUwxMy44MjUgNy4xNTg0NVpcIlxuICAgICAgICBmaWxsPVwiIzE4MUYzM1wiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BvcHVwQ29udGFpbmVyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJwb3B1cC1jb250YWluZXJcIiBcbiAgICBjZGtUcmFwRm9jdXMgXG4gICAgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIiBcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgIGhlaWdodDogZHJvcGRvd25MaXN0SGVpZ2h0KCksXG4gICAgICB3aWR0aDogZHJvcGRvd25MaXN0V2lkdGgoKVxuICAgIH1cIlxuICAgIChrZXl1cC5lc2MpPVwiY2xvc2VPbkVzYygkZXZlbnQpXCJcbiAgICBhcmlhLWxhYmVsPVwiZHJvcGRvd25cIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cInNlYXJjaEVuYWJsZWQoKVwiIGNsYXNzPVwic2VhcmNoLWNvbnRhaW5lclwiPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdJZj1cIiFpc1NlYXJjaElucHV0Rm9jdXNlZCgpXCJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtaWNvblwiXG4gICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNNC4yMTUwOCAxMS4xNDU2QzQuMjE1MDggNy4zMTc5IDcuMzM3MjIgNC4yMTE2NSAxMS4xOTI2IDQuMjExNjVDMTUuMDQ4IDQuMjExNjUgMTguMTcwMiA3LjMxNzkgMTguMTcwMiAxMS4xNDU2QzE4LjE3MDIgMTIuNjkzMSAxNy42NTk5IDE0LjEyMjYgMTYuNzk3MiAxNS4yNzY3TDE1LjM2ODUgMTYuNzAxM0MxNC4yMDQ0IDE3LjU2NjggMTIuNzU5IDE4LjA3OTYgMTEuMTkyNiAxOC4wNzk2QzcuMzM3MjIgMTguMDc5NiA0LjIxNTA4IDE0Ljk3MzQgNC4yMTUwOCAxMS4xNDU2Wk0xNS45NDIxIDE3Ljc4MzVDMTQuNjAyMSAxOC43MzI5IDEyLjk2MjcgMTkuMjkxMyAxMS4xOTI2IDE5LjI5MTNDNi42Njk3NyAxOS4yOTEzIDMgMTUuNjQ2MSAzIDExLjE0NTZDMyA2LjY0NTEyIDYuNjY5NzcgMyAxMS4xOTI2IDNDMTUuNzE1NSAzIDE5LjM4NTIgNi42NDUxMiAxOS4zODUyIDExLjE0NTZDMTkuMzg1MiAxMi45MzcxIDE4LjgwMzcgMTQuNTkzMSAxNy44MTg0IDE1LjkzNzVMMTkuODM2MSAxNy40MDQ4QzIwLjY3MDUgMTcuOTEyIDIxLjc1NTQgMTguNjU0MyAyMC4yNDU0IDIwLjIxNUMxOC43MzUzIDIxLjc3NTYgMTguMDA5OSAyMC42NjYzIDE3LjQ5OTEgMTkuODM2NEwxNS45NDIxIDE3Ljc4MzVaXCJcbiAgICAgICAgICBmaWxsPVwiIzZBNzM3RFwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hJbnB1dCgpXCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIHBhZGRpbmdMZWZ0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCgpID8gJzEycHgnIDogJzQ1cHgnLFxuICAgICAgICAgIGJvcmRlcjogaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICcxcHggc29saWQgIzA5MzdCMicgOiAnMXB4IHNvbGlkICNlMGUwZTAnLFxuICAgICAgICAgIHBhZGRpbmdSaWdodDogaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICc0NXB4JyA6ICcxMHB4J1xuICAgICAgICB9XCJcbiAgICAgICAgW3RhYkluZGV4XT1cIjBcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hJbnB1dE9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICcnIDogc2VhcmNoTGFiZWwoKVwiXG4gICAgICAgIChmb2N1cyk9XCJzZWFyY2hJbnB1dEZvY3VzZWQodHJ1ZSlcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic2VhcmNoTGFiZWwoKVwiXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdJZj1cImlzU2VhcmNoSW5wdXRGb2N1c2VkKClcIlxuICAgICAgICBjbGFzcz1cImNhbmNlbC1pY29uXCJcbiAgICAgICAgKGNsaWNrKT1cInNlYXJjaElucHV0Q2FuY2VsZWQoJGV2ZW50KVwiXG4gICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNOC44NzQ0NiA3LjMyMTQ0QzguNDQ1ODggNi44OTI4NSA3Ljc1MSA2Ljg5Mjg1IDcuMzIyNDIgNy4zMjE0NEM2Ljg5MzgzIDcuNzUwMDIgNi44OTM4MyA4LjQ0NDkgNy4zMjI0MiA4Ljg3MzQ5TDEwLjQ0ODggMTEuOTk5OUw3LjMyMzU3IDE1LjEyNTJDNi44OTQ5OCAxNS41NTM4IDYuODk0OTggMTYuMjQ4NiA3LjMyMzU3IDE2LjY3NzJDNy43NTIxNSAxNy4xMDU4IDguNDQ3MDMgMTcuMTA1OCA4Ljg3NTYxIDE2LjY3NzJMMTIuMDAwOSAxMy41NTJMMTUuMTI2MSAxNi42NzcyQzE1LjU1NDcgMTcuMTA1OCAxNi4yNDk2IDE3LjEwNTggMTYuNjc4MSAxNi42NzcyQzE3LjEwNjcgMTYuMjQ4NiAxNy4xMDY3IDE1LjU1MzcgMTYuNjc4MSAxNS4xMjUxTDEzLjU1MjkgMTEuOTk5OUwxNi42NzkzIDguODczNTRDMTcuMTA3OSA4LjQ0NDk2IDE3LjEwNzkgNy43NTAwOCAxNi42NzkzIDcuMzIxNUMxNi4yNTA3IDYuODkyOTEgMTUuNTU1OCA2Ljg5MjkxIDE1LjEyNzMgNy4zMjE1TDEyLjAwMDkgMTAuNDQ3OUw4Ljg3NDQ2IDcuMzIxNDRaXCJcbiAgICAgICAgICBmaWxsPVwiIzZBNzM3RFwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWNvbnRhaW5lclwiICpuZ0lmPVwibG9hZGluZygpXCI+XG4gICAgICA8bWlzLWxvYWRlciBbbW9iaWxlVmlld109XCJ0cnVlXCI+PC9taXMtbG9hZGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgdGFiaW5kZXg9XCItMVwiICpuZ0lmPVwiIXNlYXJjaEVuYWJsZWQoKVwiIGNka0ZvY3VzSW5pdGlhbD48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiAjaXRlbXNDb250YWluZXIgW25nU3R5bGVdPVwiaXRlbXNDb250YWluZXJTdHlsZVwiICpuZ0lmPVwiIWxvYWRpbmcoKVwiPlxuICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCAqbmdJZj1cImN1cnJlbnREYXRhLmxlbmd0aCA+IDBcIiBcbiAgICAgICAgW2l0ZW1TaXplXT1cIml0ZW1TaXplRm9yQ2RrKCkgfHwgMzZcIiBcbiAgICAgICAgY2xhc3M9XCJkcm9wZG93bi12aWV3cG9ydFwiXG4gICAgICAgIFttaW5CdWZmZXJQeF09XCIyMDBcIlxuICAgICAgICBbbWF4QnVmZmVyUHhdPVwiNDAwXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyBcbiAgICAgICAgICAgICdpdGVtLWRpc2FibGVkJzogaXRlbS5kaXNhYmxlZCwgXG4gICAgICAgICAgICAnaXRlbS1zZWxlY3RlZCc6IChoaWdsaWdodFNlbGVjdGVkVmFsdWUoKSAmJiBpdGVtLnZhbHVlID09PSBzZWxlY3RlZEl0ZW0oKT8udmFsdWUpLCBcbiAgICAgICAgICAgICdpY29uLW9ubHknOiBzaG93T25seUljb24oKSBcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2spPVwiaXRlbS5kaXNhYmxlZCA/IG51bGwgOiBzZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaXRlbS5kaXNhYmxlZCA/IG51bGwgOiBzZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGN1cnJlbnREYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICB0YWJJbmRleD1cIjBcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUl0ZW07IGVsc2Ugc3RhbmRhcmRJdGVtXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUl0ZW1cIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZEl0ZW0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiAqbmdJZj1cIiFzaG93T25seUljb24oKVwiIFtuZ1N0eWxlXT1cInsgXG4gICAgICAgICAgICAgIHdpZHRoOiBpdGVtLmljb24gPyAnOTAlJyA6ICcxMDAlJywgXG4gICAgICAgICAgICAgICdkaXNwbGF5JzogbXVsdGlMaW5lKCkgPyAnZmxleCc6ICdpbmhlcml0JywgXG4gICAgICAgICAgICAgICdmbGV4LWRpcmVjdGlvbic6IG11bHRpTGluZSgpID8gJ2NvbHVtbic6ICdpbmhlcml0JyBcbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmltYXJ5VGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IG11bHRpTGluZSgpID8gaXRlbT8ubGFiZWw/LnByaW1hcnlUZXh0IDogaXRlbT8ubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY29uZGFyeVRleHRcIiAqbmdJZj1cIm11bHRpTGluZSgpXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbT8ubGFiZWw/LnNlY29uZGFyeVRleHQgPyBpdGVtPy5sYWJlbD8uc2Vjb25kYXJ5VGV4dCA6IGFkZGl0aW9uYWxJbmZvTWVzc2FnZSgpIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtLmljb25cIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiBbc3JjXT1cIml0ZW0uaWNvblwiIGFsdD1cIm5vIGltZ1wiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vRGF0YVwiICpuZ0lmPVwiY3VycmVudERhdGEubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIHt7IHNlYXJjaElucHV0KCkgPT09IFwiXCIgPyBub0RhdGFNZXNzYWdlKCkgOiBcIk5vIHJlc3VsdHNcIiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=