mis-crystal-design-system 17.0.0 → 17.0.2-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 (209) hide show
  1. package/analytics/analytics.service.d.ts +5 -1
  2. package/assets/images/close.svg +5 -0
  3. package/async-search-dropdown/async-dropdown.component.d.ts +9 -1
  4. package/async-search-dropdown/async-dropdown.module.d.ts +2 -1
  5. package/datepicker_v2/datepicker.module.d.ts +2 -1
  6. package/datepicker_v2/tz-datepicker.directive.d.ts +2 -0
  7. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +18 -1
  8. package/daterangepicker_v2/daterangepicker.module.d.ts +2 -1
  9. package/daterangepicker_v2/models/drp-config.model.d.ts +6 -0
  10. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +2 -0
  11. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +6 -2
  12. package/dropdown/calculate-container-height.directive.d.ts +1 -1
  13. package/dropdown/dropdown.component.d.ts +4 -1
  14. package/dropdown/dropdown.module.d.ts +2 -1
  15. package/dynamic-form/dynamic-form.component.d.ts +14 -4
  16. package/dynamic-form/dynamic-form.namespace.d.ts +1 -0
  17. package/esm2022/action-list/action-list.component.mjs +2 -2
  18. package/esm2022/action-list/action-list.module.mjs +2 -2
  19. package/esm2022/analytics/analytics.module.mjs +2 -2
  20. package/esm2022/analytics/analytics.service.mjs +8 -7
  21. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +98 -47
  22. package/esm2022/async-search-dropdown/async-dropdown.module.mjs +6 -5
  23. package/esm2022/button/button.component.mjs +2 -2
  24. package/esm2022/button/button.directive.mjs +2 -2
  25. package/esm2022/button/button.module.mjs +2 -2
  26. package/esm2022/checkbox/checkbox.component.mjs +5 -5
  27. package/esm2022/checkbox/checkbox.module.mjs +2 -2
  28. package/esm2022/chip/chip.component.mjs +14 -14
  29. package/esm2022/chip/chip.module.mjs +2 -2
  30. package/esm2022/datepicker_v2/datepicker.module.mjs +6 -5
  31. package/esm2022/datepicker_v2/public_api.mjs +1 -1
  32. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +22 -3
  33. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +281 -85
  34. package/esm2022/daterangepicker_v2/daterangepicker.module.mjs +6 -5
  35. package/esm2022/daterangepicker_v2/models/drp-config.model.mjs +1 -1
  36. package/esm2022/daterangepicker_v2/public_api.mjs +1 -1
  37. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +25 -4
  38. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +218 -110
  39. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +2 -2
  40. package/esm2022/drawer/drawer.module.mjs +2 -2
  41. package/esm2022/drawer/drawer.service.mjs +2 -2
  42. package/esm2022/dropdown/calculate-container-height.directive.mjs +6 -6
  43. package/esm2022/dropdown/dropdown.component.mjs +157 -97
  44. package/esm2022/dropdown/dropdown.module.mjs +6 -5
  45. package/esm2022/dynamic-form/dynamic-form.component.mjs +609 -221
  46. package/esm2022/dynamic-form/dynamic-form.module.mjs +2 -2
  47. package/esm2022/dynamic-form/dynamic-form.namespace.mjs +1 -1
  48. package/esm2022/fab/fab.component.mjs +2 -2
  49. package/esm2022/fab/fab.module.mjs +2 -2
  50. package/esm2022/filter/animations/slideFromRight.mjs +12 -0
  51. package/esm2022/filter/filter-panel/filter-panel.component.mjs +396 -0
  52. package/esm2022/filter/filters.module.mjs +66 -0
  53. package/esm2022/filter/has-value.pipe.mjs +31 -0
  54. package/esm2022/filter/index.mjs +2 -0
  55. package/esm2022/filter/mis-crystal-design-system-filter.mjs +5 -0
  56. package/esm2022/filter/public_api.mjs +4 -0
  57. package/esm2022/input/directives/input/input.directive.mjs +2 -2
  58. package/esm2022/input/mis-input.component.mjs +2 -2
  59. package/esm2022/input/mis-input.module.mjs +2 -2
  60. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +5 -5
  61. package/esm2022/input-stepper/input-stepper.module.mjs +2 -2
  62. package/esm2022/loader/loader.component.mjs +2 -2
  63. package/esm2022/loader/loader.module.mjs +2 -2
  64. package/esm2022/menu/menu-close.directive.mjs +3 -3
  65. package/esm2022/menu/menu.directive.mjs +3 -3
  66. package/esm2022/menu/menu.module.mjs +2 -2
  67. package/esm2022/mobile-filter/mobile-filter.component.mjs +10 -8
  68. package/esm2022/mobile-filter/mobile-filter.module.mjs +2 -2
  69. package/esm2022/modal/modal.module.mjs +2 -2
  70. package/esm2022/modal/modal.service.mjs +2 -2
  71. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +2 -2
  72. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +27 -15
  73. package/esm2022/multi-select-dropdown/multi-select-dropdown.module.mjs +2 -2
  74. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +15 -8
  75. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +2 -2
  76. package/esm2022/phone-input/phone-input.component.mjs +7 -51
  77. package/esm2022/phone-input/phone-input.module.mjs +2 -2
  78. package/esm2022/radio-button/radio-button.component.mjs +5 -5
  79. package/esm2022/radio-button/radio-button.module.mjs +2 -2
  80. package/esm2022/ske-loader/ske-loader.component.mjs +5 -5
  81. package/esm2022/ske-loader/ske-loader.module.mjs +2 -2
  82. package/esm2022/slider/slider.component.mjs +2 -2
  83. package/esm2022/slider/slider.module.mjs +2 -2
  84. package/esm2022/snackbar/snackbar/snackbar.component.mjs +2 -2
  85. package/esm2022/snackbar/snackbar.module.mjs +2 -2
  86. package/esm2022/snackbar/snackbar.service.mjs +2 -2
  87. package/esm2022/specificdatepicker/public_api.mjs +3 -3
  88. package/esm2022/specificdatepicker/specificdatepicker.module.mjs +2 -2
  89. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +90 -63
  90. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +2 -2
  91. package/esm2022/star-rating/star-rating.component.mjs +2 -2
  92. package/esm2022/star-rating/star-rating.module.mjs +2 -2
  93. package/esm2022/switch/switch.component.mjs +2 -2
  94. package/esm2022/switch/switch.module.mjs +2 -2
  95. package/esm2022/table/custom-table-cell.directive.mjs +2 -2
  96. package/esm2022/table/filter/filter.component.mjs +13 -5
  97. package/esm2022/table/public_api.mjs +2 -3
  98. package/esm2022/table/sub-table/sub-table.component.mjs +2 -2
  99. package/esm2022/table/table.component.mjs +28 -12
  100. package/esm2022/table/table.module.mjs +2 -2
  101. package/esm2022/timepicker/timepicker.component.mjs +69 -59
  102. package/esm2022/timepicker/timepicker.directive.mjs +3 -3
  103. package/esm2022/timepicker/timepicker.module.mjs +2 -2
  104. package/esm2022/timerangepicker/public_api.mjs +1 -1
  105. package/esm2022/timerangepicker/timerangepicker.component.mjs +58 -48
  106. package/esm2022/timerangepicker/timerangepicker.module.mjs +2 -2
  107. package/esm2022/toast/toast.component.mjs +2 -2
  108. package/esm2022/toast/toast.data.service.mjs +2 -2
  109. package/esm2022/toast/toast.module.mjs +2 -2
  110. package/esm2022/toast/toast.service.mjs +2 -2
  111. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +11 -10
  112. package/esm2022/tooltip/tooltip.directive.mjs +10 -4
  113. package/esm2022/tooltip/tooltip.module.mjs +2 -2
  114. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +2 -2
  115. package/esm2022/virtual-scroll/virtual-scroll.module.mjs +2 -2
  116. package/esm2022/widgets/services/widget.service.mjs +2 -2
  117. package/esm2022/widgets/widgets.module.mjs +2 -2
  118. package/fesm2022/mis-crystal-design-system-action-list.mjs +2 -2
  119. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
  120. package/fesm2022/mis-crystal-design-system-analytics.mjs +8 -7
  121. package/fesm2022/mis-crystal-design-system-analytics.mjs.map +1 -1
  122. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +102 -50
  123. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  124. package/fesm2022/mis-crystal-design-system-button.mjs +3 -3
  125. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
  126. package/fesm2022/mis-crystal-design-system-checkbox.mjs +5 -5
  127. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
  128. package/fesm2022/mis-crystal-design-system-chip.mjs +14 -14
  129. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
  130. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +306 -90
  131. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  132. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +246 -116
  133. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  134. package/fesm2022/mis-crystal-design-system-drawer.mjs +3 -3
  135. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  136. package/fesm2022/mis-crystal-design-system-dropdown.mjs +166 -105
  137. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
  138. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +609 -221
  139. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  140. package/fesm2022/mis-crystal-design-system-fab.mjs +2 -2
  141. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
  142. package/fesm2022/mis-crystal-design-system-filter.mjs +503 -0
  143. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -0
  144. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +5 -5
  145. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  146. package/fesm2022/mis-crystal-design-system-input.mjs +3 -3
  147. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  148. package/fesm2022/mis-crystal-design-system-loader.mjs +2 -2
  149. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  150. package/fesm2022/mis-crystal-design-system-menu.mjs +5 -5
  151. package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -1
  152. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +10 -8
  153. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
  154. package/fesm2022/mis-crystal-design-system-modal.mjs +3 -3
  155. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  156. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +27 -15
  157. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
  158. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +15 -8
  159. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
  160. package/fesm2022/mis-crystal-design-system-phone-input.mjs +7 -51
  161. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
  162. package/fesm2022/mis-crystal-design-system-radio-button.mjs +5 -5
  163. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  164. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +5 -5
  165. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
  166. package/fesm2022/mis-crystal-design-system-slider.mjs +2 -2
  167. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  168. package/fesm2022/mis-crystal-design-system-snackbar.mjs +3 -3
  169. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
  170. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +91 -64
  171. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  172. package/fesm2022/mis-crystal-design-system-star-rating.mjs +2 -2
  173. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
  174. package/fesm2022/mis-crystal-design-system-switch.mjs +2 -2
  175. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
  176. package/fesm2022/mis-crystal-design-system-table.mjs +46 -22
  177. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  178. package/fesm2022/mis-crystal-design-system-timepicker.mjs +71 -61
  179. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  180. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +58 -48
  181. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  182. package/fesm2022/mis-crystal-design-system-toast.mjs +4 -4
  183. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  184. package/fesm2022/mis-crystal-design-system-tooltip.mjs +20 -13
  185. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
  186. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +2 -2
  187. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
  188. package/fesm2022/mis-crystal-design-system-widgets.mjs +1 -1
  189. package/fesm2022/mis-crystal-design-system-widgets.mjs.map +1 -1
  190. package/filter/animations/slideFromRight.d.ts +1 -0
  191. package/filter/filter-panel/filter-panel.component.d.ts +51 -0
  192. package/filter/filters.module.d.ts +18 -0
  193. package/filter/has-value.pipe.d.ts +12 -0
  194. package/filter/index.d.ts +1 -0
  195. package/filter/public_api.d.ts +4 -0
  196. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +3 -1
  197. package/package.json +29 -23
  198. package/phone-input/phone-input.component.d.ts +6 -15
  199. package/specificdatepicker/public_api.d.ts +2 -3
  200. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +2 -1
  201. package/styles/mis-mixins.scss +46 -0
  202. package/styles/mis-old-icon-styles.scss +498 -0
  203. package/table/filter/filter.component.d.ts +1 -1
  204. package/table/public_api.d.ts +1 -2
  205. package/timepicker/timepicker.component.d.ts +4 -3
  206. package/timerangepicker/public_api.d.ts +1 -0
  207. package/timerangepicker/timerangepicker.component.d.ts +3 -1
  208. package/tooltip/tooltip-container/tooltip.component.d.ts +2 -1
  209. package/tooltip/tooltip.directive.d.ts +3 -1
@@ -1,5 +1,8 @@
1
1
  import { Renderer2 } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
+ type TCustomParameters = {
4
+ [key: string]: string | number | boolean;
5
+ };
3
6
  export declare class AnalyticsService {
4
7
  private document;
5
8
  private scriptLoaded;
@@ -7,8 +10,9 @@ export declare class AnalyticsService {
7
10
  constructor(document: any);
8
11
  insertScript(measurementId: string, renderer: Renderer2): void;
9
12
  private handlePendingEvents;
10
- send(eventAction: string, event_category: string, event_label?: string, event_value?: string, force?: boolean): void;
13
+ send(eventAction: string, event_category: string, event_label?: string, event_value?: string, force?: boolean, customParameters?: TCustomParameters): void;
11
14
  setIdentity(identifier: string): void;
12
15
  static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsService, never>;
13
16
  static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsService>;
14
17
  }
18
+ export {};
@@ -0,0 +1,5 @@
1
+ <svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="ic-navigation-cancel-24">
3
+ <path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M8.60468 6.64355C8.09036 6.12923 7.25649 6.12923 6.74218 6.64355C6.22787 7.15786 6.22787 7.99173 6.74218 8.50604L10.4938 12.2576L6.7431 16.0083C6.22879 16.5226 6.22879 17.3564 6.7431 17.8708C7.25742 18.3851 8.09129 18.3851 8.6056 17.8708L12.3562 14.1201L16.1068 17.8707C16.6211 18.385 17.455 18.385 17.9693 17.8707C18.4836 17.3564 18.4836 16.5225 17.9693 16.0082L14.2187 12.2576L17.9702 8.50613C18.4845 7.99181 18.4845 7.15794 17.9702 6.64363C17.4559 6.12932 16.622 6.12932 16.1077 6.64363L12.3562 10.3951L8.60468 6.64355Z" fill="#181F33"/>
4
+ </g>
5
+ </svg>
@@ -10,6 +10,7 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
10
10
  private _ngZone;
11
11
  constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, _ngZone: NgZone);
12
12
  height: any;
13
+ width: any;
13
14
  size: 'md' | 'sm';
14
15
  httpStream: (searchKey: string) => Observable<IListData>;
15
16
  displayKey: string;
@@ -23,6 +24,8 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
23
24
  disabled: boolean;
24
25
  readonly: boolean;
25
26
  disableCopyPaste: boolean;
27
+ dropdownListWidth: any;
28
+ dropdownListPosition: "Left" | "Right";
26
29
  origin: ElementRef;
27
30
  input: ElementRef;
28
31
  dd: TemplateRef<Element>;
@@ -34,7 +37,9 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
34
37
  opened: boolean;
35
38
  loading: boolean;
36
39
  error: boolean;
40
+ openPopUpOnTab: boolean;
37
41
  selections: Map<string, any>;
42
+ private httpStreamTrigger;
38
43
  private searchSubscription;
39
44
  private defaultCallSubscription;
40
45
  private overlayRef;
@@ -45,6 +50,7 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
45
50
  itemSelected: EventEmitter<any>;
46
51
  itemRemoved: EventEmitter<any>;
47
52
  ngOnInit(): void;
53
+ refreshHttpStream(query: string): void;
48
54
  ngOnChanges(changes: SimpleChanges): void;
49
55
  ngOnDestroy(): void;
50
56
  private handleControlChanges;
@@ -53,6 +59,8 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
53
59
  * closes the dropdown
54
60
  */
55
61
  closeDropdown(): void;
62
+ enablePopUpOnTab(): void;
63
+ handleKeyDown(event: KeyboardEvent): void;
56
64
  /**
57
65
  *
58
66
  * @param item item to select
@@ -73,6 +81,6 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
73
81
  removeInputValue(): void;
74
82
  defaultCall(): void;
75
83
  static ɵfac: i0.ɵɵFactoryDeclaration<AsyncDropdownComponent, never>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<AsyncDropdownComponent, "mis-async-search-dropdown", never, { "height": { "alias": "height"; "required": false; }; "size": { "alias": "size"; "required": false; }; "httpStream": { "alias": "httpStream"; "required": false; }; "displayKey": { "alias": "displayKey"; "required": false; }; "secondaryDisplayKey": { "alias": "secondaryDisplayKey"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "minInputLength": { "alias": "minInputLength"; "required": false; }; "multi": { "alias": "multi"; "required": false; }; "uniqueKey": { "alias": "uniqueKey"; "required": false; }; "control": { "alias": "control"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disableCopyPaste": { "alias": "disableCopyPaste"; "required": false; }; "selections": { "alias": "selections"; "required": false; }; "searchValue": { "alias": "searchValue"; "required": false; }; }, { "onSelect": "onSelect"; "searchQueryChange": "searchQueryChange"; "clear": "clear"; "itemSelected": "itemSelected"; "itemRemoved": "itemRemoved"; }, ["customItem", "customLoader"], never, false, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<AsyncDropdownComponent, "mis-async-search-dropdown", never, { "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "size": { "alias": "size"; "required": false; }; "httpStream": { "alias": "httpStream"; "required": false; }; "displayKey": { "alias": "displayKey"; "required": false; }; "secondaryDisplayKey": { "alias": "secondaryDisplayKey"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "minInputLength": { "alias": "minInputLength"; "required": false; }; "multi": { "alias": "multi"; "required": false; }; "uniqueKey": { "alias": "uniqueKey"; "required": false; }; "control": { "alias": "control"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disableCopyPaste": { "alias": "disableCopyPaste"; "required": false; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; }; "selections": { "alias": "selections"; "required": false; }; "searchValue": { "alias": "searchValue"; "required": false; }; }, { "onSelect": "onSelect"; "searchQueryChange": "searchQueryChange"; "clear": "clear"; "itemSelected": "itemSelected"; "itemRemoved": "itemRemoved"; }, ["customItem", "customLoader"], never, false, never>;
77
85
  }
78
86
  export {};
@@ -4,8 +4,9 @@ import * as i2 from "@angular/common";
4
4
  import * as i3 from "@angular/cdk/overlay";
5
5
  import * as i4 from "@angular/forms";
6
6
  import * as i5 from "mis-crystal-design-system/loader";
7
+ import * as i6 from "@angular/cdk/a11y";
7
8
  export declare class AsyncDropdownModule {
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<AsyncDropdownModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<AsyncDropdownModule, [typeof i1.AsyncDropdownComponent], [typeof i2.CommonModule, typeof i3.OverlayModule, typeof i4.ReactiveFormsModule, typeof i4.FormsModule, typeof i5.LoaderModule], [typeof i1.AsyncDropdownComponent]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AsyncDropdownModule, [typeof i1.AsyncDropdownComponent], [typeof i2.CommonModule, typeof i3.OverlayModule, typeof i4.ReactiveFormsModule, typeof i4.FormsModule, typeof i5.LoaderModule, typeof i6.A11yModule], [typeof i1.AsyncDropdownComponent]>;
10
11
  static ɵinj: i0.ɵɵInjectorDeclaration<AsyncDropdownModule>;
11
12
  }
@@ -5,8 +5,9 @@ import * as i3 from "@angular/common";
5
5
  import * as i4 from "@angular/cdk/overlay";
6
6
  import * as i5 from "mis-crystal-design-system/toast";
7
7
  import * as i6 from "mis-crystal-design-system/button";
8
+ import * as i7 from "@angular/cdk/a11y";
8
9
  export declare class DatepickerModuleV2 {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerModuleV2, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<DatepickerModuleV2, [typeof i1.TzDpContainerComponent, typeof i2.TzDatepickerDirective], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.ToastModule, typeof i6.ButtonModule], [typeof i1.TzDpContainerComponent, typeof i2.TzDatepickerDirective]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DatepickerModuleV2, [typeof i1.TzDpContainerComponent, typeof i2.TzDatepickerDirective], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.ToastModule, typeof i6.ButtonModule, typeof i7.A11yModule], [typeof i1.TzDpContainerComponent, typeof i2.TzDatepickerDirective]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<DatepickerModuleV2>;
12
13
  }
@@ -29,6 +29,8 @@ export declare class TzDatepickerDirective implements OnInit {
29
29
  ngOnChanges(changes: SimpleChanges): void;
30
30
  ngOnInit(): void;
31
31
  toggleDatePicker(): void;
32
+ toggleDatePickerOnEnter(): void;
33
+ closeOnEsc(): void;
32
34
  private open;
33
35
  applyDate(date?: string): void;
34
36
  close(): void;
@@ -17,15 +17,32 @@ export declare class TzDpContainerComponent implements OnInit {
17
17
  localSelectedDate: ICurrentMonthDates;
18
18
  allowBookingOnDisabledDay: boolean;
19
19
  currentSelection: any;
20
+ isSelectingMonth: boolean;
21
+ isSelectingYear: boolean;
22
+ availableYears: number[];
23
+ availableMonths: string[];
24
+ disabledMonths: boolean[];
25
+ disabledYears: boolean[];
26
+ selectedYear: number;
27
+ isYearSelectionFlow: boolean;
20
28
  constructor(data: IDatePickerData, toast: ToastService);
29
+ retractDayMonth(day: any, month: any, year: any): any;
21
30
  ngOnInit(): void;
22
31
  private currentDateInstance;
23
32
  private calculateMinMaxDays;
24
- navigateMonth(direction: "NEXT" | "PREVIOUS"): void;
33
+ calculateDisabledMonthsAndYears(): void;
34
+ get yearRange(): string;
35
+ navigateView(direction: "NEXT" | "PREVIOUS"): void;
25
36
  private generateDates;
26
37
  selectDay(day: ICurrentMonthDates): void;
27
38
  applyDate(day?: ICurrentMonthDates): void;
39
+ closeOnEsc(): void;
28
40
  cancelDatePicker(): void;
41
+ toggleMonthSelector(): void;
42
+ toggleYearSelector(): void;
43
+ resetDateSelection(): void;
44
+ selectMonth(month: string): void;
45
+ selectYear(year: number): void;
29
46
  static ɵfac: i0.ɵɵFactoryDeclaration<TzDpContainerComponent, never>;
30
47
  static ɵcmp: i0.ɵɵComponentDeclaration<TzDpContainerComponent, "mis-tz-dp", never, {}, {}, never, never, false, never>;
31
48
  }
@@ -5,8 +5,9 @@ import * as i3 from "@angular/common";
5
5
  import * as i4 from "@angular/cdk/overlay";
6
6
  import * as i5 from "mis-crystal-design-system/toast";
7
7
  import * as i6 from "mis-crystal-design-system/button";
8
+ import * as i7 from "@angular/cdk/a11y";
8
9
  export declare class DateRangepickerModuleV2 {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<DateRangepickerModuleV2, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<DateRangepickerModuleV2, [typeof i1.TzDrpContainerComponent, typeof i2.TzDaterangepickerDirective], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.ToastModule, typeof i6.ButtonModule], [typeof i1.TzDrpContainerComponent, typeof i2.TzDaterangepickerDirective]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DateRangepickerModuleV2, [typeof i1.TzDrpContainerComponent, typeof i2.TzDaterangepickerDirective], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.ToastModule, typeof i6.ButtonModule, typeof i7.A11yModule], [typeof i1.TzDrpContainerComponent, typeof i2.TzDaterangepickerDirective]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<DateRangepickerModuleV2>;
12
13
  }
@@ -3,6 +3,12 @@ export interface IDatePickerConfig {
3
3
  minDate: string;
4
4
  maxDate: string;
5
5
  timezone: string;
6
+ maxAllowedRange?: number;
7
+ ranges?: RangeItem[];
8
+ }
9
+ export interface RangeItem {
10
+ label: string;
11
+ value: [Date, Date];
6
12
  }
7
13
  export interface IDatePickerData {
8
14
  dates: ISelectedDatesConfig;
@@ -23,6 +23,8 @@ export declare class TzDaterangepickerDirective {
23
23
  private dpDisabledDates;
24
24
  constructor(control: NgControl, element: ElementRef, overlay: Overlay, viewContainerRef: ViewContainerRef);
25
25
  toggleDatePicker(): void;
26
+ toggleDatePickerOnEnter(): void;
27
+ closeOnEsc(): void;
26
28
  private open;
27
29
  applyDate(dates: ISelectedDatesConfig): void;
28
30
  close(): void;
@@ -1,11 +1,11 @@
1
1
  import { OnInit } from "@angular/core";
2
- import { ICurrentMonth, ICurrentMonthDates, IDatePickerData, IWeekDay, ISelectedDatesConfig } from "../models/drp-config.model";
2
+ import { ICurrentMonth, ICurrentMonthDates, IDatePickerData, IWeekDay, ISelectedDatesConfig, RangeItem } from "../models/drp-config.model";
3
3
  import { ToastService } from "mis-crystal-design-system/toast";
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class TzDrpContainerComponent implements OnInit {
6
6
  private toast;
7
7
  data: IDatePickerData;
8
- private parseZoneInstance;
8
+ private dayjsInstance;
9
9
  private rawWeekDays;
10
10
  weekDays: IWeekDay[];
11
11
  currentMonthNumber: number;
@@ -21,13 +21,17 @@ export declare class TzDrpContainerComponent implements OnInit {
21
21
  selectionStarted: boolean;
22
22
  localSelectedDates: ISelectedDatesConfig;
23
23
  isDatesValid: boolean;
24
+ selectedItemLabel: string;
24
25
  constructor(data: IDatePickerData, toast: ToastService);
25
26
  ngOnInit(): void;
27
+ retractDayMonth(day: any, month: any, year: any): any;
28
+ closeOnEsc(): void;
26
29
  private currentDateInstance;
27
30
  private calculateMinMaxDays;
28
31
  navigateMonth(direction: "NEXT" | "PREVIOUS"): void;
29
32
  private generateDates;
30
33
  selectDay(from: "LEFT" | "RIGHT", day: ICurrentMonthDates): void;
34
+ selectRange(item: RangeItem): void;
31
35
  applyDates(): void;
32
36
  cancelDatePicker(): void;
33
37
  static ɵfac: i0.ɵɵFactoryDeclaration<TzDrpContainerComponent, never>;
@@ -8,5 +8,5 @@ export declare class CalculateContainerHeightDirective implements AfterViewInit
8
8
  ngAfterViewInit(): void;
9
9
  private setContainerHeight;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<CalculateContainerHeightDirective, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<CalculateContainerHeightDirective, "[appcalculateContainerHeight]", never, { "items": { "alias": "items"; "required": false; }; "visibleItems": { "alias": "visibleItems"; "required": false; }; }, {}, never, never, false, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CalculateContainerHeightDirective, "[calculateContainerHeight]", never, { "items": { "alias": "items"; "required": false; }; "visibleItems": { "alias": "visibleItems"; "required": false; }; }, {}, never, never, false, never>;
12
12
  }
@@ -14,6 +14,7 @@ export declare class DropdownComponent implements OnInit {
14
14
  visibleItems: number;
15
15
  data: DropdownItem[];
16
16
  height: string;
17
+ ariaLabel: string;
17
18
  width: string;
18
19
  label: string;
19
20
  itemSizeForCdk: number;
@@ -38,6 +39,7 @@ export declare class DropdownComponent implements OnInit {
38
39
  selectElement: ElementRef;
39
40
  popupContainer: TemplateRef<Element>;
40
41
  viewPort: CdkVirtualScrollViewport;
42
+ customItem: TemplateRef<Element>;
41
43
  private overlayRef;
42
44
  constructor(eRef: ElementRef, overlay: Overlay, viewContainerRef: ViewContainerRef);
43
45
  ngOnInit(): void;
@@ -54,8 +56,9 @@ export declare class DropdownComponent implements OnInit {
54
56
  private openDropdown;
55
57
  selectItem(item: any): void;
56
58
  onCancel(): void;
59
+ closeOnEsc(event: KeyboardEvent): void;
57
60
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "mis-dropdown", never, { "data": { "alias": "data"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "label": { "alias": "label"; "required": false; }; "itemSizeForCdk": { "alias": "itemSizeForCdk"; "required": false; }; "showOnlyIcon": { "alias": "showOnlyIcon"; "required": false; }; "higlightSelectedValue": { "alias": "higlightSelectedValue"; "required": false; }; "dropdownListHeight": { "alias": "dropdownListHeight"; "required": false; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; }; "config": { "alias": "config"; "required": false; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; }; "multiLine": { "alias": "multiLine"; "required": false; }; "additionalInfoMessage": { "alias": "additionalInfoMessage"; "required": false; }; "scrollIntoView": { "alias": "scrollIntoView"; "required": false; }; "searchLabel": { "alias": "searchLabel"; "required": false; }; "customStyles": { "alias": "customStyles"; "required": false; }; "activeItem": { "alias": "activeItem"; "required": false; }; }, { "onChange": "onChange"; }, never, never, false, never>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "mis-dropdown", never, { "data": { "alias": "data"; "required": false; }; "height": { "alias": "height"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "width": { "alias": "width"; "required": false; }; "label": { "alias": "label"; "required": false; }; "itemSizeForCdk": { "alias": "itemSizeForCdk"; "required": false; }; "showOnlyIcon": { "alias": "showOnlyIcon"; "required": false; }; "higlightSelectedValue": { "alias": "higlightSelectedValue"; "required": false; }; "dropdownListHeight": { "alias": "dropdownListHeight"; "required": false; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; }; "config": { "alias": "config"; "required": false; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; }; "multiLine": { "alias": "multiLine"; "required": false; }; "additionalInfoMessage": { "alias": "additionalInfoMessage"; "required": false; }; "scrollIntoView": { "alias": "scrollIntoView"; "required": false; }; "searchLabel": { "alias": "searchLabel"; "required": false; }; "customStyles": { "alias": "customStyles"; "required": false; }; "activeItem": { "alias": "activeItem"; "required": false; }; }, { "onChange": "onChange"; }, ["customItem"], never, false, never>;
59
62
  }
60
63
  export interface DropdownItem {
61
64
  label: any;
@@ -7,9 +7,10 @@ import * as i4 from "@angular/forms";
7
7
  import * as i5 from "@angular/cdk/overlay";
8
8
  import * as i6 from "@angular/cdk-experimental/scrolling";
9
9
  import * as i7 from "mis-crystal-design-system/loader";
10
+ import * as i8 from "@angular/cdk/a11y";
10
11
  export declare class DropdownModule {
11
12
  static forRoot(): ModuleWithProviders<DropdownModule>;
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<DropdownModule, [typeof i1.DropdownComponent, typeof i2.CalculateContainerHeightDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.OverlayModule, typeof i6.ScrollingModule, typeof i7.LoaderModule], [typeof i1.DropdownComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DropdownModule, [typeof i1.DropdownComponent, typeof i2.CalculateContainerHeightDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.OverlayModule, typeof i6.ScrollingModule, typeof i7.LoaderModule, typeof i8.A11yModule], [typeof i1.DropdownComponent]>;
14
15
  static ɵinj: i0.ɵɵInjectorDeclaration<DropdownModule>;
15
16
  }
@@ -1,7 +1,6 @@
1
- import { EventEmitter, OnDestroy, OnInit } from "@angular/core";
1
+ import { EventEmitter, OnDestroy, OnInit, TemplateRef } from "@angular/core";
2
2
  import { NsDynamicForm } from "./dynamic-form.namespace";
3
3
  import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, ValidatorFn } from "@angular/forms";
4
- import "moment-timezone";
5
4
  import { Subscription } from "rxjs";
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class DynamicFormComponent implements OnInit, OnDestroy {
@@ -16,6 +15,8 @@ export declare class DynamicFormComponent implements OnInit, OnDestroy {
16
15
  };
17
16
  activeBtnIconUrl: string;
18
17
  calendarIconUrl: string;
18
+ removeIconUrl: string;
19
+ removeSepratorForSubFields: boolean;
19
20
  /**
20
21
  * dynamicForm: Constructed using formFields and formValues(in case of edit)
21
22
  */
@@ -34,6 +35,15 @@ export declare class DynamicFormComponent implements OnInit, OnDestroy {
34
35
  * formInitialized: Emits dynamic form API on form initilization
35
36
  */
36
37
  formInitialized: EventEmitter<any>;
38
+ fieldRemoved: EventEmitter<NsDynamicForm.IDynamicField>;
39
+ customInputTextNumber: TemplateRef<Element>;
40
+ customInputTextarea: TemplateRef<Element>;
41
+ customInputDate: TemplateRef<Element>;
42
+ customBooleanToggle: TemplateRef<Element>;
43
+ customSingleSelectDropdown: TemplateRef<Element>;
44
+ customSingleSelectRadio: TemplateRef<Element>;
45
+ customMultiSelectCheckbox: TemplateRef<Element>;
46
+ customMultiSelectDropdown: TemplateRef<Element>;
37
47
  dynamicFormAPI: NsDynamicForm.IDynamicFormAPI;
38
48
  valueChangesSubscription$: Subscription;
39
49
  constructor();
@@ -54,7 +64,7 @@ export declare class DynamicFormComponent implements OnInit, OnDestroy {
54
64
  label: string;
55
65
  value: string;
56
66
  }>): boolean;
57
- findSelectedIndex(subfields: any, value: any): any;
67
+ findSelectedSubFieldConfig(subfields: any, value: any, subFieldIndex: any): any;
58
68
  matchParentConfig(subfields: any, value: any): any;
59
69
  generateSubDynamicFields(formValues: any, parentField: NsDynamicForm.IDynamicField, parentValue: Array<{
60
70
  label: string;
@@ -66,6 +76,6 @@ export declare class DynamicFormComponent implements OnInit, OnDestroy {
66
76
  mapFormValueToFormField(formField: NsDynamicForm.IDynamicField, formValue: any): any;
67
77
  mapFormFieldToFormValue(formField: NsDynamicForm.IDynamicField, formValue: any): any;
68
78
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFormComponent, "mis-dynamic-form", never, { "formFields": { "alias": "formFields"; "required": false; }; "formValues": { "alias": "formValues"; "required": false; }; "activeBtnIconUrl": { "alias": "activeBtnIconUrl"; "required": false; }; "calendarIconUrl": { "alias": "calendarIconUrl"; "required": false; }; }, { "formUpdated": "formUpdated"; "formValid": "formValid"; "formInitialized": "formInitialized"; }, never, never, false, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFormComponent, "mis-dynamic-form", never, { "formFields": { "alias": "formFields"; "required": false; }; "formValues": { "alias": "formValues"; "required": false; }; "activeBtnIconUrl": { "alias": "activeBtnIconUrl"; "required": false; }; "calendarIconUrl": { "alias": "calendarIconUrl"; "required": false; }; "removeIconUrl": { "alias": "removeIconUrl"; "required": false; }; "removeSepratorForSubFields": { "alias": "removeSepratorForSubFields"; "required": false; }; }, { "formUpdated": "formUpdated"; "formValid": "formValid"; "formInitialized": "formInitialized"; "fieldRemoved": "fieldRemoved"; }, ["customInputTextNumber", "customInputTextarea", "customInputDate", "customBooleanToggle", "customSingleSelectDropdown", "customSingleSelectRadio", "customMultiSelectCheckbox", "customMultiSelectDropdown"], never, false, never>;
70
80
  }
71
81
  export declare const dynamicFieldValidator: (validators: Array<NsDynamicForm.IDynamicFieldValidator>) => ValidatorFn;
@@ -19,6 +19,7 @@ export declare namespace NsDynamicForm {
19
19
  value: any;
20
20
  }>;
21
21
  placeholderText?: string;
22
+ isRemoveable?: boolean;
22
23
  }
23
24
  interface IDynamicFieldValidator {
24
25
  message: string;
@@ -290,7 +290,7 @@ export class ActionListComponent {
290
290
  this.overlayRef?.detach();
291
291
  this.subOverlayRef?.detach();
292
292
  }
293
- static { this.ɵfac = function ActionListComponent_Factory(t) { return new (t || ActionListComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; }
293
+ static { this.ɵfac = function ActionListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionListComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; }
294
294
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionListComponent, selectors: [["mis-action-list"]], viewQuery: function ActionListComponent_Query(rf, ctx) { if (rf & 1) {
295
295
  i0.ɵɵviewQuery(_c0, 5);
296
296
  i0.ɵɵviewQuery(_c1, 5);
@@ -360,4 +360,4 @@ export class ActionListComponent {
360
360
  args: ["subPopupContainer", { static: false }]
361
361
  }] }); })();
362
362
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionListComponent, { className: "ActionListComponent" }); })();
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYWN0aW9uLWxpc3QvYWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYWN0aW9uLWxpc3QvYWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lDaUIvSCw2QkFBbUQ7SUFBQSxZQUFnQztJQUFBLGlCQUFJOzs7SUFBcEMsY0FBZ0M7SUFBaEMsdUdBQWdDOzs7SUF5Q2pGLCtCQUErQztJQUM3QywwQkFBbUQ7SUFDckQsaUJBQU07OztJQURjLGNBQWlCO0lBQWpCLG9EQUFpQjs7OztJQVp2QyxrQ0FPQztJQUZDLHdRQUFjLHdCQUFjLElBQUksZ0JBQWEsS0FBQztJQUk1QyxBQURGLCtCQUFzRSxXQUM5RDtJQUFBLFlBQWlCO0lBQ3pCLEFBRHlCLGlCQUFPLEVBQzFCO0lBQ04seUZBQStDO0lBR2pELGlCQUFNOzs7SUFWSiwrRkFBK0M7SUFJNUIsZUFBa0Q7SUFBbEQsOEdBQWtEO0lBQzdELGVBQWlCO0lBQWpCLDREQUFpQjtJQUVJLGNBQWdCO0lBQWhCLDREQUFnQjs7O0lBSS9DLCtCQUE4QztJQUM1QyxZQUNGO0lBQUEsaUJBQU07OztJQURKLGNBQ0Y7SUFERSxxRUFDRjs7O0lBbEJGLEFBUEYsK0JBTUMsY0FDb0I7SUFnQmpCLEFBZkEsbUZBT0Msc0VBUTZD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Q29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1hY3Rpb24tbGlzdFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9hY3Rpb24tbGlzdC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXNPcGVuID0gZmFsc2U7XG5cbiAgc3ViSXRlbXM6IEFjdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpIGRhdGE6IEFjdGlvbkl0ZW1zW10gPSBbXTtcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9IFwiU2VsZWN0XCI7XG5cbiAgQElucHV0KCkgZHJvcGRvd25MaXN0SGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0UG9zaXRpb246IFwiTGVmdFwiIHwgXCJSaWdodFwiID0gXCJMZWZ0XCI7XG5cbiAgQElucHV0KCkgc2VhcmNoRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIG5vRGF0YU1lc3NhZ2U6IHN0cmluZyA9IFwiTm8gRGF0YVwiO1xuICBzZWxlY3RlZEl0ZW1zOiBBY3Rpb25JdGVtW10gPSBbXTtcblxuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJzZWxlY3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJwb3B1cENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKFwic3ViUG9wdXBDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHN1YlBvcHVwQ29udGFpbmVyOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIHN1Yk92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc29sZS5sb2coXCJ0aGlzLmRhdFwiLCB0aGlzLmRhdGEpO1xuICAgIFxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgIHRoaXMuZGF0YT8uZm9yRWFjaChxID0+XG4gICAgICBxPy5jaGlsZHJlbi5mb3JFYWNoKHcgPT4ge1xuICAgICAgICBpZiAody5jaGVja2VkKSB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaCh3KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmxhYmVsID0gdGhpcy5zZWxlY3RlZEl0ZW1zWzBdPy5sYWJlbCB8fCB0aGlzLmxhYmVsO1xuICB9XG5cbiAgZmlsdGVyQnlWYWx1ZShhcnJheTogQWN0aW9uSXRlbVtdLCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxuICB0b2dnbGVEcm9wZG93bigpIHtcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgICBpZiAodGhpcy5pc09wZW4pIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMucG9wdXBDb250YWluZXIsIHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50LCBmYWxzZSk7XG4gICAgZWxzZSB0aGlzLm9uQ2FuY2VsKCk7XG4gIH1cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24odGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+LCBvcmlnaW46IEhUTUxFbGVtZW50LCBvcGVuUmlnaHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbnNCb3R0b20gPSBbXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcInRvcFwiIH0sIDAsIDQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcInRvcFwiIH0sIDAsIDQpXG4gICAgXTtcbiAgICBjb25zdCBwb3NpdGlvbnNUb3AgPSBbXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJ0b3BcIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0sIDAsIC00KSxcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJlbmRcIiwgb3JpZ2luWTogXCJ0b3BcIiB9LCB7IG92ZXJsYXlYOiBcImVuZFwiLCBvdmVybGF5WTogXCJib3R0b21cIiB9LCAwLCAtNClcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IFtcbiAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSBcIlJpZ2h0XCIgPyBwb3NpdGlvbnNCb3R0b20ucmV2ZXJzZSgpIDogcG9zaXRpb25zQm90dG9tKSxcbiAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSBcIlJpZ2h0XCIgPyBwb3NpdGlvbnNUb3AucmV2ZXJzZSgpIDogcG9zaXRpb25zVG9wKVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFxuICAgICAgICBvcGVuUmlnaHQgPyBbbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgOCldIDogcG9zaXRpb25zXG4gICAgICApXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiAhb3BlblJpZ2h0LFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoIHx8IDE0MFxuICAgIH0pO1xuICAgIGlmIChvcGVuUmlnaHQpIHtcbiAgICAgIHRoaXMuc3ViT3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlncyk7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5zdWJPdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCkgdGhpcy5zdWJPdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBoZWlnaHQ6IHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0IH0pO1xuICAgICAgdGhpcy5zdWJPdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgICAgdGhpcy5zdWJPdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uQ2FuY2VsKCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQpIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIH0pO1xuICB9XG4gIHNlbGVjdEl0ZW0oaXRlbTogQWN0aW9uSXRlbSkge1xuICAgIGlmICh0aGlzLmRhdGEuc29tZShxID0+IHEuY2hpbGRyZW4uc29tZSh3ID0+IHcudmFsdWUgPT09IGl0ZW0udmFsdWUgJiYgdy5jaGVja2VkKSkpIHtcbiAgICAgIGlmIChpdGVtLnR5cGUgPT09IFwiTVVMVElQTEVcIikgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihxID0+IHEudmFsdWUgIT09IGl0ZW0udmFsdWUpO1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLm1hcChxID0+ICh7XG4gICAgICAgIC4uLnEsXG4gICAgICAgIGNoaWxkcmVuOiBxPy5jaGlsZHJlbj8ubWFwKGUgPT4gKHtcbiAgICAgICAgICAuLi5lLFxuICAgICAgICAgIGNoZWNrZWQ6IGUuY2hlY2tlZCAmJiBlLnZhbHVlICE9PSBpdGVtLnZhbHVlXG4gICAgICAgIH0pKVxuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEubWFwKHEgPT4gKHtcbiAgICAgICAgLi4ucSxcbiAgICAgICAgY2hpbGRyZW46IHE/LmNoaWxkcmVuPy5tYXAoZSA9PiAoe1xuICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgY2hlY2tlZDogKGUudHlwZSA9PT0gXCJNVUxUSVBMRVwiICYmIChlLmNoZWNrZWQgfHwgZS52YWx1ZSA9PT0gaXRlbS52YWx1ZSkpIHx8IChlLnR5cGUgPT09IFwiU0lOR0xFXCIgJiYgZS52YWx1ZSA9PT0gaXRlbS52YWx1ZSlcbiAgICAgICAgfSkpXG4gICAgICB9KSk7XG4gICAgICBpZiAoaXRlbS50eXBlID09PSBcIk1VTFRJUExFXCIpIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHsgLi4uaXRlbSwgY2hlY2tlZDogdHJ1ZSB9KTtcbiAgICB9XG4gICAgdGhpcy5sYWJlbCA9XG4gICAgICBpdGVtLnR5cGUgPT09IFwiTVVMVElQTEVcIiA/ICh0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCA/IHRoaXMuc2VsZWN0ZWRJdGVtc1swXT8ubGFiZWwgOiBcIlNlbGVjdFwiKSA6IGl0ZW0uY2hlY2tlZCA/IFwiU2VsZWN0XCIgOiBpdGVtLmxhYmVsO1xuICAgIHRoaXMuc3ViSXRlbXMgPSB0aGlzLmRhdGEuZmluZChxID0+IHEuY2hpbGRyZW4/LnNvbWUodyA9PiB3LnZhbHVlID09PSBpdGVtLnZhbHVlKSk/LmNoaWxkcmVuIHx8IFtdO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmRhdGEpO1xuICAgIGlmIChpdGVtLnR5cGUgPT09IFwiU0lOR0xFXCIpIHRoaXMudG9nZ2xlRHJvcGRvd24oKTtcbiAgfVxuICBvbkhvdmVyKGl0ZW06IEFjdGlvbkl0ZW0sIGlzSG92ZXJlZCwgZWxlbWVudD86IGFueSkge1xuICAgIGlmIChpc0hvdmVyZWQpIHtcbiAgICAgIHRoaXMuc3ViSXRlbXMubGVuZ3RoID4gMCAmJiB0aGlzLnN1Yk92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgdGhpcy5zdWJJdGVtcyA9IHRoaXMuZGF0YS5maW5kKHEgPT4gcT8uY2hpbGRyZW4/LnNvbWUodyA9PiB3Py5wYXJlbnRWYWx1ZSA9PT0gaXRlbT8udmFsdWUpKT8uY2hpbGRyZW4gfHwgW107XG4gICAgICB0aGlzLnN1Ykl0ZW1zLmxlbmd0aCA+IDAgJiYgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5zdWJQb3B1cENvbnRhaW5lciwgZWxlbWVudD8ubmF0aXZlRWxlbWVudCB8fCBlbGVtZW50LCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJJdGVtcyA9IFtdO1xuICAgICAgdGhpcy5zdWJPdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB9XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMuc3ViT3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25JdGVtcyB7XG4gIGxhYmVsOiBBY3Rpb25JdGVtTGFiZWwgfCBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBBY3Rpb25JdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uSXRlbUxhYmVsIHtcbiAgcHJpbWFyeVRleHQgPzogc3RyaW5nO1xuICBzZWNvbmRhcnlUZXh0ID86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25JdGVtIHtcbiAgdHlwZTogXCJTSU5HTEVcIiB8IFwiTVVMVElQTEVcIjtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgcGFyZW50VmFsdWU6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgY2hlY2tlZDogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuIiwiPGRpdlxuICBjbGFzcz1cIm1haW4tY29udGFpbmVyXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIGhlaWdodDogaGVpZ2h0Lmxlbmd0aCA+IDAgPyBoZWlnaHQgOiAnJyxcbiAgICB3aWR0aDogd2lkdGgubGVuZ3RoID4gMCA/IHdpZHRoIDogJydcbiAgfVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImRyb3Bkb3duXCJcbiAgICAjc2VsZWN0XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIlxuICAgIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZDogaXNPcGVuID8gJyNFNkVCRjcnIDogJycgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dFwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9wPlxuICAgICAgPHAgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zPy5sZW5ndGggPiAxXCIgY2xhc3M9XCJjb3VudFwiPit7eyBzZWxlY3RlZEl0ZW1zPy5sZW5ndGggLSAxIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwiaGFuZGxlXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsgdHJhbnNmb3JtOiBpc09wZW4gPyAncm90YXRlKDE4MGRlZyknIDogJ3JvdGF0ZSgwZGVnKScgfVwiXG4gICAgICB3aWR0aD1cIjIwXCJcbiAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBkPVwiTTEzLjgyNSA3LjE1ODQ1TDEwIDEwLjk3NTFMNi4xNzUgNy4xNTg0NUw1IDguMzMzNDVMMTAgMTMuMzMzNEwxNSA4LjMzMzQ1TDEzLjgyNSA3LjE1ODQ1WlwiXG4gICAgICAgIGZpbGw9XCIjMTgxRjMzXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wdXBDb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgaGVpZ2h0OiBkcm9wZG93bkxpc3RIZWlnaHQsXG4gICAgICB3aWR0aDogZHJvcGRvd25MaXN0V2lkdGhcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiPlxuICAgICAgPGRpdlxuICAgICAgICAjc2luZ2xlSXRlbVxuICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdpdGVtLWRpc2FibGVkJzogaXRlbT8uZGlzYWJsZWQgfVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoaXRlbSwgdHJ1ZSwgc2luZ2xlSXRlbSlcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW25nU3R5bGVdPVwieyB3aWR0aDogaXRlbT8uaWNvbiA/ICc5MCUnIDogJzEwMCUnIH1cIj5cbiAgICAgICAgICA8c3Bhbj57eyBpdGVtPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbT8uaWNvblwiPlxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJpY29uXCIgW3NyY109XCJpdGVtLmljb25cIiBhbHQ9XCJubyBpbWdcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vRGF0YVwiICpuZ0lmPVwiZGF0YS5sZW5ndGggPT09IDBcIj5cbiAgICAgICAge3sgbm9EYXRhTWVzc2FnZSB8fCBcIk5vIHJlc3VsdHNcIiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzdWJQb3B1cENvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicG9wdXAtY29udGFpbmVyXCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICBoZWlnaHQ6IGRyb3Bkb3duTGlzdEhlaWdodCxcbiAgICAgIHdpZHRoOiBkcm9wZG93bkxpc3RXaWR0aFxuICAgIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW1zXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2l0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkIH1cIlxuICAgICAgICAoY2xpY2spPVwiIWl0ZW0uZGlzYWJsZWQgJiYgc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHN1Ykl0ZW1zXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbS50eXBlID09PSAnTVVMVElQTEUnXCI+XG4gICAgICAgICAgPG1pcy1jaGVja2JveCBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiIFtjaGVja2VkXT1cIml0ZW0uY2hlY2tlZFwiPjwvbWlzLWNoZWNrYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW25nU3R5bGVdPVwieyB3aWR0aDogaXRlbS5pY29uID8gJzkwJScgOiAnMTAwJScgfVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiAqbmdJZj1cIml0ZW0uaWNvbiB8fCBpdGVtLmNoZWNrZWRcIj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwiIWl0ZW0uY2hlY2tlZFwiIGNsYXNzPVwiaWNvblwiIFtzcmNdPVwiaXRlbS5pY29uXCIgYWx0PVwibm8gaW1nXCIgLz5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnU0lOR0xFJyAmJiBpdGVtLmNoZWNrZWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aWNrSWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vRGF0YVwiICpuZ0lmPVwiZGF0YS5sZW5ndGggPT09IDBcIj5cbiAgICAgICAge3sgbm9EYXRhTWVzc2FnZSB8fCBcIk5vIHJlc3VsdHNcIiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdGlja0ljb24+XG4gIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxwYXRoXG4gICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZD1cIk03LjQ3Njk3IDE0LjgyMzdMMy40OTkyMiAxMC41NTE5QzMuMjc3NiAxMC4zMTY5IDMuMjc3NiA5LjkzNDM3IDMuNDk5MjIgOS42OTY4NEw0LjMwMjczIDguODQyOThDNC41MjQzNCA4LjYwNzk1IDQuODg0NjIgOC42MDc5NSA1LjEwNjIzIDguODQyOThMNy44NzkyOSAxMS44MzM0TDE0LjA2MDcgNS4xNzYyN0MxNC4yODIzIDQuOTQxMjQgMTQuNjQyNiA0Ljk0MTI0IDE0Ljg2NDIgNS4xNzYyN0wxNS42Njc3IDYuMDMxMzhDMTUuODg5NCA2LjI2NjQxIDE1Ljg4OTQgNi42NTAyMSAxNS42Njc3IDYuODgzOTlMOC4yODA0OCAxNC44MjM3QzguMDU4ODYgMTUuMDU4OCA3LjY5ODU5IDE1LjA1ODggNy40NzY5NyAxNC44MjM3WlwiXG4gICAgICBmaWxsPVwiIzE4MUYzM1wiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYWN0aW9uLWxpc3QvYWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYWN0aW9uLWxpc3QvYWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lDaUIvSCw2QkFBbUQ7SUFBQSxZQUFnQztJQUFBLGlCQUFJOzs7SUFBcEMsY0FBZ0M7SUFBaEMsdUdBQWdDOzs7SUF5Q2pGLCtCQUErQztJQUM3QywwQkFBbUQ7SUFDckQsaUJBQU07OztJQURjLGNBQWlCO0lBQWpCLG9EQUFpQjs7OztJQVp2QyxrQ0FPQztJQUZDLHdRQUFjLHdCQUFjLElBQUksZ0JBQWEsS0FBQztJQUk1QyxBQURGLCtCQUFzRSxXQUM5RDtJQUFBLFlBQWlCO0lBQ3pCLEFBRHlCLGlCQUFPLEVBQzFCO0lBQ04seUZBQStDO0lBR2pELGlCQUFNOzs7SUFWSiwrRkFBK0M7SUFJNUIsZUFBa0Q7SUFBbEQsOEdBQWtEO0lBQzdELGVBQWlCO0lBQWpCLDREQUFpQjtJQUVJLGNBQWdCO0lBQWhCLDREQUFnQjs7O0lBSS9DLCtCQUE4QztJQUM1QyxZQUNGO0lBQUEsaUJBQU07OztJQURKLGNBQ0Y7SUFERSxxRUFDRjs7O0lBbEJGLEFBUEYsK0JBTUMsY0FDb0I7SUFnQmpCLEFBZkEsbUZBT0Msc0VBUTZDO0lBSWxELEFBREUsaUJBQU0sRUFDRjs7O0lBekJKLHlHQUdFO0lBU21CLGVBQU87SUFBUCxxQ0FBTztJQVNMLGNBQXVCO0lBQXZCLCtDQUF1Qjs7O0lBdUIxQywrQkFBaUU7SUFDL0QsbUNBQWlGO0lBQ25GLGlCQUFNOzs7SUFEVSxjQUEwQjtJQUFDLEFBQTNCLDJDQUEwQiw0QkFBeUI7OztJQU1qRSwwQkFBeUU7OztJQUFqQyxvREFBaUI7OztJQUV2RCx3QkFBMEQ7OztJQUQ1RCw2QkFBNkQ7SUFDM0QsaUlBQTJDOzs7OztJQUE1QixjQUEwQjtJQUExQiw4Q0FBMEI7OztJQUg3QywrQkFBOEQ7SUFFNUQsQUFEQSxnR0FBeUUscUdBQ1o7SUFHL0QsaUJBQU07OztJQUpFLGNBQW1CO0lBQW5CLHVDQUFtQjtJQUNWLGNBQTRDO0lBQTVDLG1FQUE0Qzs7OztJQWYvRCwrQkFNQztJQUZDLDJPQUEyQiwwQkFBZ0IsS0FBQztJQUc1QywwRkFBaUU7SUFJL0QsQUFERiwrQkFBcUUsV0FDN0Q7SUFBQSxZQUFnQjtJQUN4QixBQUR3QixpQkFBTyxFQUN6QjtJQUNOLDBGQUE4RDtJQU1oRSxpQkFBTTs7O0lBaEJKLHNFQUE4QztJQUliLGNBQThCO0lBQTlCLGtEQUE4QjtJQUc1QyxjQUFpRDtJQUFqRCxtRkFBaUQ7SUFDNUQsZUFBZ0I7SUFBaEIsbUNBQWdCO0lBRUssY0FBK0I7SUFBL0Isc0RBQStCOzs7SUFPOUQsK0JBQThDO0lBQzVDLFlBQ0Y7SUFBQSxpQkFBTTs7O0lBREosY0FDRjtJQURFLHFFQUNGOzs7SUF2QkYsQUFQRiwrQkFNQyxjQUNvQjtJQXFCakIsQUFwQkEsb0ZBTUMsdUVBYzZDO0lBSWxELEFBREUsaUJBQU0sRUFDRjs7O0lBOUJKLHlHQUdFO0lBUW1CLGVBQVc7SUFBWCx5Q0FBVztJQWVULGNBQXVCO0lBQXZCLCtDQUF1Qjs7OztJQU9oRCwrQkFBK0Y7SUFDN0YsMkJBS0U7SUFDSixpQkFBTTs7QUR6R1IsTUFBTSxPQUFPLG1CQUFtQjtJQTBCOUIsWUFBb0IsSUFBZ0IsRUFBVSxPQUFnQixFQUFVLGdCQUFrQztRQUF0RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QjFHLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixhQUFRLEdBQWlCLEVBQUUsQ0FBQztRQUVuQixTQUFJLEdBQWtCLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsVUFBSyxHQUFXLFFBQVEsQ0FBQztRQUV6Qix1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFDaEMsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBQy9CLHlCQUFvQixHQUFxQixNQUFNLENBQUM7UUFFaEQsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsa0JBQWEsR0FBVyxTQUFTLENBQUM7UUFDM0Msa0JBQWEsR0FBaUIsRUFBRSxDQUFDO1FBRXZCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVFrRCxDQUFDO0lBQzlHLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDckIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLENBQUMsT0FBTztnQkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzFELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBbUIsRUFBRSxNQUFjO1FBQy9DLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDOztZQUM1RixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNPLFlBQVksQ0FBQyxRQUE4QixFQUFFLE1BQW1CLEVBQUUsU0FBa0I7UUFDMUYsTUFBTSxlQUFlLEdBQUc7WUFDdEIsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqSCxJQUFJLHNCQUFzQixDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzlHLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRztZQUNuQixJQUFJLHNCQUFzQixDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEgsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9HLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRztZQUNoQixHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDeEYsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1NBQ25GLENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPO2FBQ2xDLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLE1BQU0sQ0FBQzthQUMzQixhQUFhLENBQ1osU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDcEk7YUFDQSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDaEMsV0FBVyxFQUFFLENBQUMsU0FBUztZQUN2QixhQUFhLEVBQUUsa0NBQWtDO1lBQ2pELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtZQUMxRCxnQkFBZ0I7WUFDaEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksR0FBRztTQUNqQyxDQUFDLENBQUM7UUFDSCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsRCxJQUFJLElBQUksQ0FBQyxpQkFBaUI7Z0JBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztZQUM3RixJQUFJLElBQUksQ0FBQyxrQkFBa0I7Z0JBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUNoRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLElBQUksSUFBSSxDQUFDLGtCQUFrQjtZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzdDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxVQUFVLENBQUMsSUFBZ0I7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkYsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVU7Z0JBQUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM5QixHQUFHLENBQUM7Z0JBQ0osUUFBUSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0IsR0FBRyxDQUFDO29CQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUs7aUJBQzdDLENBQUMsQ0FBQzthQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDOUIsR0FBRyxDQUFDO2dCQUNKLFFBQVEsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQy9CLEdBQUcsQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQztpQkFDN0gsQ0FBQyxDQUFDO2FBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVTtnQkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BGLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSztZQUNSLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUksSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQWdCLEVBQUUsU0FBUyxFQUFFLE9BQWE7UUFDaEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEtBQUssSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUM1RyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGFBQWEsSUFBSSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakgsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDO29IQXBJVSxtQkFBbUI7b0VBQW5CLG1CQUFtQjs7Ozs7Ozs7Ozs7WUNGOUIsQUFQRiw4QkFNQyxnQkFRRTtZQUZDLEFBREEsK0lBQWUsb0JBQWdCLEtBQUMsc0hBQ3ZCLG9CQUFnQixLQUFDO1lBSXhCLEFBREYsOEJBQW1CLFdBQ0Q7WUFDZCxZQUNGO1lBQUEsaUJBQUk7WUFDSixnRUFBbUQ7WUFDckQsaUJBQU07O1lBQ04sK0JBUUM7WUFDQywyQkFLRTtZQUdSLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0Y7WUFvRU4sQUFuQ0EsQUEvQkEscUhBQTZCLDBHQStCRywwR0FtQ1Q7O1lBeEdyQixvSUFHRTtZQVFBLGNBQW1EO1lBQW5ELGlGQUFtRDtZQUkvQyxlQUNGO1lBREUsMENBQ0Y7WUFDSSxjQUErQjtZQUEvQix3RkFBK0I7WUFJbkMsY0FBcUU7WUFBckUscUdBQXFFOzs7aUZEZDlELG1CQUFtQjtjQUwvQixTQUFTOzJCQUNFLGlCQUFpQjtnR0FTbEIsSUFBSTtrQkFBWixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBRUcsa0JBQWtCO2tCQUExQixLQUFLO1lBQ0csaUJBQWlCO2tCQUF6QixLQUFLO1lBQ0csb0JBQW9CO2tCQUE1QixLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFHSSxRQUFRO2tCQUFqQixNQUFNO1lBRWlDLGFBQWE7a0JBQXBELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNVLGNBQWM7a0JBQTdELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ0ssaUJBQWlCO2tCQUFuRSxTQUFTO21CQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7a0ZBdEJ0QyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1hY3Rpb24tbGlzdFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9hY3Rpb24tbGlzdC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXNPcGVuID0gZmFsc2U7XG5cbiAgc3ViSXRlbXM6IEFjdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpIGRhdGE6IEFjdGlvbkl0ZW1zW10gPSBbXTtcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9IFwiU2VsZWN0XCI7XG5cbiAgQElucHV0KCkgZHJvcGRvd25MaXN0SGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0UG9zaXRpb246IFwiTGVmdFwiIHwgXCJSaWdodFwiID0gXCJMZWZ0XCI7XG5cbiAgQElucHV0KCkgc2VhcmNoRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIG5vRGF0YU1lc3NhZ2U6IHN0cmluZyA9IFwiTm8gRGF0YVwiO1xuICBzZWxlY3RlZEl0ZW1zOiBBY3Rpb25JdGVtW10gPSBbXTtcblxuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJzZWxlY3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJwb3B1cENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKFwic3ViUG9wdXBDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHN1YlBvcHVwQ29udGFpbmVyOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIHN1Yk92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc29sZS5sb2coXCJ0aGlzLmRhdFwiLCB0aGlzLmRhdGEpO1xuICAgIFxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgIHRoaXMuZGF0YT8uZm9yRWFjaChxID0+XG4gICAgICBxPy5jaGlsZHJlbi5mb3JFYWNoKHcgPT4ge1xuICAgICAgICBpZiAody5jaGVja2VkKSB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaCh3KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmxhYmVsID0gdGhpcy5zZWxlY3RlZEl0ZW1zWzBdPy5sYWJlbCB8fCB0aGlzLmxhYmVsO1xuICB9XG5cbiAgZmlsdGVyQnlWYWx1ZShhcnJheTogQWN0aW9uSXRlbVtdLCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxuICB0b2dnbGVEcm9wZG93bigpIHtcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgICBpZiAodGhpcy5pc09wZW4pIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMucG9wdXBDb250YWluZXIsIHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50LCBmYWxzZSk7XG4gICAgZWxzZSB0aGlzLm9uQ2FuY2VsKCk7XG4gIH1cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24odGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+LCBvcmlnaW46IEhUTUxFbGVtZW50LCBvcGVuUmlnaHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbnNCb3R0b20gPSBbXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcInRvcFwiIH0sIDAsIDQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcInRvcFwiIH0sIDAsIDQpXG4gICAgXTtcbiAgICBjb25zdCBwb3NpdGlvbnNUb3AgPSBbXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJ0b3BcIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0sIDAsIC00KSxcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJlbmRcIiwgb3JpZ2luWTogXCJ0b3BcIiB9LCB7IG92ZXJsYXlYOiBcImVuZFwiLCBvdmVybGF5WTogXCJib3R0b21cIiB9LCAwLCAtNClcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IFtcbiAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSBcIlJpZ2h0XCIgPyBwb3NpdGlvbnNCb3R0b20ucmV2ZXJzZSgpIDogcG9zaXRpb25zQm90dG9tKSxcbiAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSBcIlJpZ2h0XCIgPyBwb3NpdGlvbnNUb3AucmV2ZXJzZSgpIDogcG9zaXRpb25zVG9wKVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFxuICAgICAgICBvcGVuUmlnaHQgPyBbbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgOCldIDogcG9zaXRpb25zXG4gICAgICApXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiAhb3BlblJpZ2h0LFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoIHx8IDE0MFxuICAgIH0pO1xuICAgIGlmIChvcGVuUmlnaHQpIHtcbiAgICAgIHRoaXMuc3ViT3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlncyk7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5zdWJPdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCkgdGhpcy5zdWJPdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBoZWlnaHQ6IHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0IH0pO1xuICAgICAgdGhpcy5zdWJPdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgICAgdGhpcy5zdWJPdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uQ2FuY2VsKCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQpIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIH0pO1xuICB9XG4gIHNlbGVjdEl0ZW0oaXRlbTogQWN0aW9uSXRlbSkge1xuICAgIGlmICh0aGlzLmRhdGEuc29tZShxID0+IHEuY2hpbGRyZW4uc29tZSh3ID0+IHcudmFsdWUgPT09IGl0ZW0udmFsdWUgJiYgdy5jaGVja2VkKSkpIHtcbiAgICAgIGlmIChpdGVtLnR5cGUgPT09IFwiTVVMVElQTEVcIikgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihxID0+IHEudmFsdWUgIT09IGl0ZW0udmFsdWUpO1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLm1hcChxID0+ICh7XG4gICAgICAgIC4uLnEsXG4gICAgICAgIGNoaWxkcmVuOiBxPy5jaGlsZHJlbj8ubWFwKGUgPT4gKHtcbiAgICAgICAgICAuLi5lLFxuICAgICAgICAgIGNoZWNrZWQ6IGUuY2hlY2tlZCAmJiBlLnZhbHVlICE9PSBpdGVtLnZhbHVlXG4gICAgICAgIH0pKVxuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEubWFwKHEgPT4gKHtcbiAgICAgICAgLi4ucSxcbiAgICAgICAgY2hpbGRyZW46IHE/LmNoaWxkcmVuPy5tYXAoZSA9PiAoe1xuICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgY2hlY2tlZDogKGUudHlwZSA9PT0gXCJNVUxUSVBMRVwiICYmIChlLmNoZWNrZWQgfHwgZS52YWx1ZSA9PT0gaXRlbS52YWx1ZSkpIHx8IChlLnR5cGUgPT09IFwiU0lOR0xFXCIgJiYgZS52YWx1ZSA9PT0gaXRlbS52YWx1ZSlcbiAgICAgICAgfSkpXG4gICAgICB9KSk7XG4gICAgICBpZiAoaXRlbS50eXBlID09PSBcIk1VTFRJUExFXCIpIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHsgLi4uaXRlbSwgY2hlY2tlZDogdHJ1ZSB9KTtcbiAgICB9XG4gICAgdGhpcy5sYWJlbCA9XG4gICAgICBpdGVtLnR5cGUgPT09IFwiTVVMVElQTEVcIiA/ICh0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCA/IHRoaXMuc2VsZWN0ZWRJdGVtc1swXT8ubGFiZWwgOiBcIlNlbGVjdFwiKSA6IGl0ZW0uY2hlY2tlZCA/IFwiU2VsZWN0XCIgOiBpdGVtLmxhYmVsO1xuICAgIHRoaXMuc3ViSXRlbXMgPSB0aGlzLmRhdGEuZmluZChxID0+IHEuY2hpbGRyZW4/LnNvbWUodyA9PiB3LnZhbHVlID09PSBpdGVtLnZhbHVlKSk/LmNoaWxkcmVuIHx8IFtdO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmRhdGEpO1xuICAgIGlmIChpdGVtLnR5cGUgPT09IFwiU0lOR0xFXCIpIHRoaXMudG9nZ2xlRHJvcGRvd24oKTtcbiAgfVxuICBvbkhvdmVyKGl0ZW06IEFjdGlvbkl0ZW0sIGlzSG92ZXJlZCwgZWxlbWVudD86IGFueSkge1xuICAgIGlmIChpc0hvdmVyZWQpIHtcbiAgICAgIHRoaXMuc3ViSXRlbXMubGVuZ3RoID4gMCAmJiB0aGlzLnN1Yk92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgdGhpcy5zdWJJdGVtcyA9IHRoaXMuZGF0YS5maW5kKHEgPT4gcT8uY2hpbGRyZW4/LnNvbWUodyA9PiB3Py5wYXJlbnRWYWx1ZSA9PT0gaXRlbT8udmFsdWUpKT8uY2hpbGRyZW4gfHwgW107XG4gICAgICB0aGlzLnN1Ykl0ZW1zLmxlbmd0aCA+IDAgJiYgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5zdWJQb3B1cENvbnRhaW5lciwgZWxlbWVudD8ubmF0aXZlRWxlbWVudCB8fCBlbGVtZW50LCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJJdGVtcyA9IFtdO1xuICAgICAgdGhpcy5zdWJPdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB9XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMuc3ViT3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25JdGVtcyB7XG4gIGxhYmVsOiBBY3Rpb25JdGVtTGFiZWwgfCBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBBY3Rpb25JdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uSXRlbUxhYmVsIHtcbiAgcHJpbWFyeVRleHQgPzogc3RyaW5nO1xuICBzZWNvbmRhcnlUZXh0ID86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25JdGVtIHtcbiAgdHlwZTogXCJTSU5HTEVcIiB8IFwiTVVMVElQTEVcIjtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgcGFyZW50VmFsdWU6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgY2hlY2tlZDogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuIiwiPGRpdlxuICBjbGFzcz1cIm1haW4tY29udGFpbmVyXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIGhlaWdodDogaGVpZ2h0Lmxlbmd0aCA+IDAgPyBoZWlnaHQgOiAnJyxcbiAgICB3aWR0aDogd2lkdGgubGVuZ3RoID4gMCA/IHdpZHRoIDogJydcbiAgfVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImRyb3Bkb3duXCJcbiAgICAjc2VsZWN0XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIlxuICAgIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZDogaXNPcGVuID8gJyNFNkVCRjcnIDogJycgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dFwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9wPlxuICAgICAgPHAgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zPy5sZW5ndGggPiAxXCIgY2xhc3M9XCJjb3VudFwiPit7eyBzZWxlY3RlZEl0ZW1zPy5sZW5ndGggLSAxIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwiaGFuZGxlXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsgdHJhbnNmb3JtOiBpc09wZW4gPyAncm90YXRlKDE4MGRlZyknIDogJ3JvdGF0ZSgwZGVnKScgfVwiXG4gICAgICB3aWR0aD1cIjIwXCJcbiAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBkPVwiTTEzLjgyNSA3LjE1ODQ1TDEwIDEwLjk3NTFMNi4xNzUgNy4xNTg0NUw1IDguMzMzNDVMMTAgMTMuMzMzNEwxNSA4LjMzMzQ1TDEzLjgyNSA3LjE1ODQ1WlwiXG4gICAgICAgIGZpbGw9XCIjMTgxRjMzXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wdXBDb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgaGVpZ2h0OiBkcm9wZG93bkxpc3RIZWlnaHQsXG4gICAgICB3aWR0aDogZHJvcGRvd25MaXN0V2lkdGhcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiPlxuICAgICAgPGRpdlxuICAgICAgICAjc2luZ2xlSXRlbVxuICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdpdGVtLWRpc2FibGVkJzogaXRlbT8uZGlzYWJsZWQgfVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoaXRlbSwgdHJ1ZSwgc2luZ2xlSXRlbSlcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW25nU3R5bGVdPVwieyB3aWR0aDogaXRlbT8uaWNvbiA/ICc5MCUnIDogJzEwMCUnIH1cIj5cbiAgICAgICAgICA8c3Bhbj57eyBpdGVtPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbT8uaWNvblwiPlxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJpY29uXCIgW3NyY109XCJpdGVtLmljb25cIiBhbHQ9XCJubyBpbWdcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vRGF0YVwiICpuZ0lmPVwiZGF0YS5sZW5ndGggPT09IDBcIj5cbiAgICAgICAge3sgbm9EYXRhTWVzc2FnZSB8fCBcIk5vIHJlc3VsdHNcIiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzdWJQb3B1cENvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicG9wdXAtY29udGFpbmVyXCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICBoZWlnaHQ6IGRyb3Bkb3duTGlzdEhlaWdodCxcbiAgICAgIHdpZHRoOiBkcm9wZG93bkxpc3RXaWR0aFxuICAgIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW1zXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2l0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkIH1cIlxuICAgICAgICAoY2xpY2spPVwiIWl0ZW0uZGlzYWJsZWQgJiYgc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHN1Ykl0ZW1zXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbS50eXBlID09PSAnTVVMVElQTEUnXCI+XG4gICAgICAgICAgPG1pcy1jaGVja2JveCBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiIFtjaGVja2VkXT1cIml0ZW0uY2hlY2tlZFwiPjwvbWlzLWNoZWNrYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW25nU3R5bGVdPVwieyB3aWR0aDogaXRlbS5pY29uID8gJzkwJScgOiAnMTAwJScgfVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiAqbmdJZj1cIml0ZW0uaWNvbiB8fCBpdGVtLmNoZWNrZWRcIj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwiIWl0ZW0uY2hlY2tlZFwiIGNsYXNzPVwiaWNvblwiIFtzcmNdPVwiaXRlbS5pY29uXCIgYWx0PVwibm8gaW1nXCIgLz5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnU0lOR0xFJyAmJiBpdGVtLmNoZWNrZWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aWNrSWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vRGF0YVwiICpuZ0lmPVwiZGF0YS5sZW5ndGggPT09IDBcIj5cbiAgICAgICAge3sgbm9EYXRhTWVzc2FnZSB8fCBcIk5vIHJlc3VsdHNcIiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdGlja0ljb24+XG4gIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxwYXRoXG4gICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZD1cIk03LjQ3Njk3IDE0LjgyMzdMMy40OTkyMiAxMC41NTE5QzMuMjc3NiAxMC4zMTY5IDMuMjc3NiA5LjkzNDM3IDMuNDk5MjIgOS42OTY4NEw0LjMwMjczIDguODQyOThDNC41MjQzNCA4LjYwNzk1IDQuODg0NjIgOC42MDc5NSA1LjEwNjIzIDguODQyOThMNy44NzkyOSAxMS44MzM0TDE0LjA2MDcgNS4xNzYyN0MxNC4yODIzIDQuOTQxMjQgMTQuNjQyNiA0Ljk0MTI0IDE0Ljg2NDIgNS4xNzYyN0wxNS42Njc3IDYuMDMxMzhDMTUuODg5NCA2LjI2NjQxIDE1Ljg4OTQgNi42NTAyMSAxNS42Njc3IDYuODgzOTlMOC4yODA0OCAxNC44MjM3QzguMDU4ODYgMTUuMDU4OCA3LjY5ODU5IDE1LjA1ODggNy40NzY5NyAxNC44MjM3WlwiXG4gICAgICBmaWxsPVwiIzE4MUYzM1wiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -9,7 +9,7 @@ export class ActionListModule {
9
9
  static forRoot() {
10
10
  return { ngModule: ActionListModule, providers: [] };
11
11
  }
12
- static { this.ɵfac = function ActionListModule_Factory(t) { return new (t || ActionListModule)(); }; }
12
+ static { this.ɵfac = function ActionListModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionListModule)(); }; }
13
13
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ActionListModule }); }
14
14
  static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, OverlayModule, CheckboxModule] }); }
15
15
  }
@@ -22,4 +22,4 @@ export class ActionListModule {
22
22
  }]
23
23
  }], null, null); })();
24
24
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ActionListModule, { declarations: [ActionListComponent], imports: [CommonModule, FormsModule, OverlayModule, CheckboxModule], exports: [ActionListComponent] }); })();
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYWN0aW9uLWxpc3QvYWN0aW9uLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFPckQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3ZELENBQUM7aUZBSFUsZ0JBQWdCO21FQUFoQixnQkFBZ0I7dUVBSGpCLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWM7O2lGQUd2RCxnQkFBZ0I7Y0FMNUIsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNuQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUM7Z0JBQ25FLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQy9COzt3RkFDWSxnQkFBZ0IsbUJBSlosbUJBQW1CLGFBQ3hCLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsYUFDeEQsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tIFwiLi9hY3Rpb24tbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vY2hlY2tib3hcIjtcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQWN0aW9uTGlzdENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBDaGVja2JveE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBY3Rpb25MaXN0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25MaXN0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBY3Rpb25MaXN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IEFjdGlvbkxpc3RNb2R1bGUsIHByb3ZpZGVyczogW10gfTtcbiAgfVxufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYWN0aW9uLWxpc3QvYWN0aW9uLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFPckQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3ZELENBQUM7aUhBSFUsZ0JBQWdCO21FQUFoQixnQkFBZ0I7dUVBSGpCLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWM7O2lGQUd2RCxnQkFBZ0I7Y0FMNUIsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNuQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUM7Z0JBQ25FLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQy9COzt3RkFDWSxnQkFBZ0IsbUJBSlosbUJBQW1CLGFBQ3hCLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsYUFDeEQsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tIFwiLi9hY3Rpb24tbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vY2hlY2tib3hcIjtcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQWN0aW9uTGlzdENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBDaGVja2JveE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBY3Rpb25MaXN0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25MaXN0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBY3Rpb25MaXN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IEFjdGlvbkxpc3RNb2R1bGUsIHByb3ZpZGVyczogW10gfTtcbiAgfVxufVxuIl19
@@ -8,11 +8,11 @@ export class AnalyticsModule {
8
8
  providers: [AnalyticsService]
9
9
  };
10
10
  }
11
- static { this.ɵfac = function AnalyticsModule_Factory(t) { return new (t || AnalyticsModule)(); }; }
11
+ static { this.ɵfac = function AnalyticsModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AnalyticsModule)(); }; }
12
12
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnalyticsModule }); }
13
13
  static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({}); }
14
14
  }
15
15
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsModule, [{
16
16
  type: NgModule
17
17
  }], null, null); })();
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2FuYWx5dGljcy9hbmFseXRpY3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUM5QixDQUFDO0lBQ0osQ0FBQztnRkFOVSxlQUFlO21FQUFmLGVBQWU7OztpRkFBZixlQUFlO2NBRDNCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSBcIi4vYW5hbHl0aWNzLnNlcnZpY2VcIjtcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuYWx5dGljc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5hbHl0aWNzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbQW5hbHl0aWNzU2VydmljZV1cbiAgICB9O1xuICB9XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2FuYWx5dGljcy9hbmFseXRpY3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUM5QixDQUFDO0lBQ0osQ0FBQztnSEFOVSxlQUFlO21FQUFmLGVBQWU7OztpRkFBZixlQUFlO2NBRDNCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSBcIi4vYW5hbHl0aWNzLnNlcnZpY2VcIjtcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuYWx5dGljc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5hbHl0aWNzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbQW5hbHl0aWNzU2VydmljZV1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -30,15 +30,16 @@ export class AnalyticsService {
30
30
  }
31
31
  });
32
32
  }
33
- send(eventAction, event_category, event_label, event_value, force = false) {
33
+ send(eventAction, event_category, event_label, event_value, force = false, customParameters) {
34
34
  if (!this.scriptLoaded && !force) {
35
- this.pendingEvents.push(["event", eventAction, event_category, event_label, event_value]);
35
+ this.pendingEvents.push(["event", eventAction, event_category, event_label, event_value, customParameters]);
36
36
  return;
37
37
  }
38
38
  gtag?.("event", eventAction, {
39
- event_category,
40
- event_label,
41
- event_value
39
+ event_category: event_category,
40
+ event_label: event_label,
41
+ event_value: event_value,
42
+ ...customParameters
42
43
  });
43
44
  }
44
45
  setIdentity(identifier) {
@@ -48,7 +49,7 @@ export class AnalyticsService {
48
49
  }
49
50
  gtag?.("set", { user_id: identifier });
50
51
  }
51
- static { this.ɵfac = function AnalyticsService_Factory(t) { return new (t || AnalyticsService)(i0.ɵɵinject(DOCUMENT)); }; }
52
+ static { this.ɵfac = function AnalyticsService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AnalyticsService)(i0.ɵɵinject(DOCUMENT)); }; }
52
53
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsService, factory: AnalyticsService.ɵfac, providedIn: "root" }); }
53
54
  }
54
55
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsService, [{
@@ -60,4 +61,4 @@ export class AnalyticsService {
60
61
  type: Inject,
61
62
  args: [DOCUMENT]
62
63
  }] }], null); })();
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9hbmFseXRpY3MvYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQU05RCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQXNDLFFBQWE7UUFBYixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBSDNDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGtCQUFhLEdBQXlCLEVBQUUsQ0FBQztJQUVLLENBQUM7SUFFdkQsWUFBWSxDQUFDLGFBQXFCLEVBQUUsUUFBbUI7UUFDckQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QyxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSwrQ0FBK0MsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUUvRixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELFVBQVUsQ0FBQyxTQUFTLEdBQUcsb0lBQW9JLGFBQWEsTUFBTSxDQUFDO1FBQy9LLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE1BQXlCO1FBQ25ELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLEtBQUssTUFBTSxZQUFZLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEYsQ0FBQztxQkFBTSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsV0FBbUIsRUFBRSxjQUFzQixFQUFFLFdBQW9CLEVBQUUsV0FBb0IsRUFBRSxLQUFLLEdBQUcsS0FBSztRQUN6RyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDMUYsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFO1lBQzNCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsVUFBa0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzdDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztpRkFqRFUsZ0JBQWdCLGNBSVAsUUFBUTt1RUFKakIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNOztpRkFFUCxnQkFBZ0I7Y0FINUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFLYyxNQUFNO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmRlY2xhcmUgY29uc3QgZ3RhZzogRnVuY3Rpb247XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgQW5hbHl0aWNzU2VydmljZSB7XG4gIHByaXZhdGUgc2NyaXB0TG9hZGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcGVuZGluZ0V2ZW50czogQXJyYXk8QXJyYXk8c3RyaW5nPj4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnkpIHt9XG5cbiAgaW5zZXJ0U2NyaXB0KG1lYXN1cmVtZW50SWQ6IHN0cmluZywgcmVuZGVyZXI6IFJlbmRlcmVyMik6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRTY3JpcHQgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgIGxvYWRTY3JpcHQuc2V0QXR0cmlidXRlKFwiYXN5bmNcIiwgdHJ1ZSk7XG4gICAgbG9hZFNjcmlwdC5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgYGh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9JHttZWFzdXJlbWVudElkfWApO1xuXG4gICAgY29uc3QgaW5pdFNjcmlwdCA9IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgaW5pdFNjcmlwdC5pbm5lclRleHQgPSBgd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107ZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fWd0YWcoXFwnanNcXCcsIG5ldyBEYXRlKCkpO2d0YWcoXFwnY29uZmlnXFwnLCBcXCcke21lYXN1cmVtZW50SWR9XFwnKTtgO1xuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuaGVhZCwgbG9hZFNjcmlwdCk7XG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCBpbml0U2NyaXB0KTtcbiAgICB0aGlzLmhhbmRsZVBlbmRpbmdFdmVudHMobG9hZFNjcmlwdCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBlbmRpbmdFdmVudHMoc2NyaXB0OiBIVE1MU2NyaXB0RWxlbWVudCk6IHZvaWQge1xuICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLCAoKSA9PiB7XG4gICAgICB0aGlzLnNjcmlwdExvYWRlZCA9IHRydWU7XG4gICAgICBmb3IgKGNvbnN0IGV2ZW50RGV0YWlscyBvZiB0aGlzLnBlbmRpbmdFdmVudHMpIHtcbiAgICAgICAgaWYgKGV2ZW50RGV0YWlsc1swXSA9PT0gXCJldmVudFwiKSB7XG4gICAgICAgICAgdGhpcy5zZW5kKGV2ZW50RGV0YWlsc1sxXSwgZXZlbnREZXRhaWxzWzJdLCBldmVudERldGFpbHNbM10sIGV2ZW50RGV0YWlsc1s0XSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnREZXRhaWxzWzBdID09PSBcInNldFwiKSB7XG4gICAgICAgICAgdGhpcy5zZXRJZGVudGl0eShldmVudERldGFpbHNbMV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZW5kKGV2ZW50QWN0aW9uOiBzdHJpbmcsIGV2ZW50X2NhdGVnb3J5OiBzdHJpbmcsIGV2ZW50X2xhYmVsPzogc3RyaW5nLCBldmVudF92YWx1ZT86IHN0cmluZywgZm9yY2UgPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zY3JpcHRMb2FkZWQgJiYgIWZvcmNlKSB7XG4gICAgICB0aGlzLnBlbmRpbmdFdmVudHMucHVzaChbXCJldmVudFwiLCBldmVudEFjdGlvbiwgZXZlbnRfY2F0ZWdvcnksIGV2ZW50X2xhYmVsLCBldmVudF92YWx1ZV0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBndGFnPy4oXCJldmVudFwiLCBldmVudEFjdGlvbiwge1xuICAgICAgZXZlbnRfY2F0ZWdvcnksXG4gICAgICBldmVudF9sYWJlbCxcbiAgICAgIGV2ZW50X3ZhbHVlXG4gICAgfSk7XG4gIH1cblxuICBzZXRJZGVudGl0eShpZGVudGlmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2NyaXB0TG9hZGVkKSB7XG4gICAgICB0aGlzLnBlbmRpbmdFdmVudHMucHVzaChbXCJzZXRcIiwgaWRlbnRpZmllcl0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBndGFnPy4oXCJzZXRcIiwgeyB1c2VyX2lkOiBpZGVudGlmaWVyIH0pO1xuICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9hbmFseXRpY3MvYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQVE5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQXNDLFFBQWE7UUFBYixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBSDNDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUVXLENBQUM7SUFFdkQsWUFBWSxDQUFDLGFBQXFCLEVBQUUsUUFBbUI7UUFDckQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QyxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSwrQ0FBK0MsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUUvRixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELFVBQVUsQ0FBQyxTQUFTLEdBQUcsb0lBQW9JLGFBQWEsTUFBTSxDQUFDO1FBQy9LLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE1BQXlCO1FBQ25ELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLEtBQUssTUFBTSxZQUFZLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEYsQ0FBQztxQkFBTSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQ0YsV0FBbUIsRUFDbkIsY0FBc0IsRUFDdEIsV0FBb0IsRUFDcEIsV0FBb0IsRUFDcEIsS0FBSyxHQUFHLEtBQUssRUFDYixnQkFBb0M7UUFFcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzVHLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRTtZQUMzQixjQUFjLEVBQUUsY0FBYztZQUM5QixXQUFXLEVBQUUsV0FBVztZQUN4QixXQUFXLEVBQUUsV0FBVztZQUN4QixHQUFHLGdCQUFnQjtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWtCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM3QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7aUhBekRVLGdCQUFnQixjQUlQLFFBQVE7dUVBSmpCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTs7aUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7c0JBS2MsTUFBTTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFJlbmRlcmVyMiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5kZWNsYXJlIGNvbnN0IGd0YWc6IEZ1bmN0aW9uO1xudHlwZSBUQ3VzdG9tUGFyYW1ldGVycyA9IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB9O1xudHlwZSBUUGVuZGluZ0V2ZW50cyA9IChbXCJldmVudFwiLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nPywgc3RyaW5nPywgVEN1c3RvbVBhcmFtZXRlcnM/XSB8IFtcInNldFwiLCBzdHJpbmddKVtdO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIEFuYWx5dGljc1NlcnZpY2Uge1xuICBwcml2YXRlIHNjcmlwdExvYWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIHBlbmRpbmdFdmVudHM6IFRQZW5kaW5nRXZlbnRzID0gW107XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55KSB7fVxuXG4gIGluc2VydFNjcmlwdChtZWFzdXJlbWVudElkOiBzdHJpbmcsIHJlbmRlcmVyOiBSZW5kZXJlcjIpOiB2b2lkIHtcbiAgICBjb25zdCBsb2FkU2NyaXB0ID0gcmVuZGVyZXIuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICBsb2FkU2NyaXB0LnNldEF0dHJpYnV0ZShcImFzeW5jXCIsIHRydWUpO1xuICAgIGxvYWRTY3JpcHQuc2V0QXR0cmlidXRlKFwic3JjXCIsIGBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPSR7bWVhc3VyZW1lbnRJZH1gKTtcblxuICAgIGNvbnN0IGluaXRTY3JpcHQgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgIGluaXRTY3JpcHQuaW5uZXJUZXh0ID0gYHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdO2Z1bmN0aW9uIGd0YWcoKXtkYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpO31ndGFnKFxcJ2pzXFwnLCBuZXcgRGF0ZSgpKTtndGFnKFxcJ2NvbmZpZ1xcJywgXFwnJHttZWFzdXJlbWVudElkfVxcJyk7YDtcbiAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmhlYWQsIGxvYWRTY3JpcHQpO1xuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuaGVhZCwgaW5pdFNjcmlwdCk7XG4gICAgdGhpcy5oYW5kbGVQZW5kaW5nRXZlbnRzKGxvYWRTY3JpcHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVQZW5kaW5nRXZlbnRzKHNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgKCkgPT4ge1xuICAgICAgdGhpcy5zY3JpcHRMb2FkZWQgPSB0cnVlO1xuICAgICAgZm9yIChjb25zdCBldmVudERldGFpbHMgb2YgdGhpcy5wZW5kaW5nRXZlbnRzKSB7XG4gICAgICAgIGlmIChldmVudERldGFpbHNbMF0gPT09IFwiZXZlbnRcIikge1xuICAgICAgICAgIHRoaXMuc2VuZChldmVudERldGFpbHNbMV0sIGV2ZW50RGV0YWlsc1syXSwgZXZlbnREZXRhaWxzWzNdLCBldmVudERldGFpbHNbNF0pO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50RGV0YWlsc1swXSA9PT0gXCJzZXRcIikge1xuICAgICAgICAgIHRoaXMuc2V0SWRlbnRpdHkoZXZlbnREZXRhaWxzWzFdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2VuZChcbiAgICBldmVudEFjdGlvbjogc3RyaW5nLCBcbiAgICBldmVudF9jYXRlZ29yeTogc3RyaW5nLCBcbiAgICBldmVudF9sYWJlbD86IHN0cmluZywgXG4gICAgZXZlbnRfdmFsdWU/OiBzdHJpbmcsIFxuICAgIGZvcmNlID0gZmFsc2UsIFxuICAgIGN1c3RvbVBhcmFtZXRlcnM/OiBUQ3VzdG9tUGFyYW1ldGVyc1xuICApOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2NyaXB0TG9hZGVkICYmICFmb3JjZSkge1xuICAgICAgdGhpcy5wZW5kaW5nRXZlbnRzLnB1c2goW1wiZXZlbnRcIiwgZXZlbnRBY3Rpb24sIGV2ZW50X2NhdGVnb3J5LCBldmVudF9sYWJlbCwgZXZlbnRfdmFsdWUsIGN1c3RvbVBhcmFtZXRlcnNdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZ3RhZz8uKFwiZXZlbnRcIiwgZXZlbnRBY3Rpb24sIHtcbiAgICAgIGV2ZW50X2NhdGVnb3J5OiBldmVudF9jYXRlZ29yeSxcbiAgICAgIGV2ZW50X2xhYmVsOiBldmVudF9sYWJlbCxcbiAgICAgIGV2ZW50X3ZhbHVlOiBldmVudF92YWx1ZSxcbiAgICAgIC4uLmN1c3RvbVBhcmFtZXRlcnNcbiAgICB9KTtcbiAgfVxuXG4gIHNldElkZW50aXR5KGlkZW50aWZpZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zY3JpcHRMb2FkZWQpIHtcbiAgICAgIHRoaXMucGVuZGluZ0V2ZW50cy5wdXNoKFtcInNldFwiLCBpZGVudGlmaWVyXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGd0YWc/LihcInNldFwiLCB7IHVzZXJfaWQ6IGlkZW50aWZpZXIgfSk7XG4gIH1cbn1cbiJdfQ==