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

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 (170) hide show
  1. package/build-task/bundles/index.umd.js +5 -3
  2. package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +4 -2
  3. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +3 -3
  4. package/build-task/fesm2022/index.mjs +5 -3
  5. package/build-task/fesm2022/index.mjs.map +1 -1
  6. package/components/basic/default/bundles/index.umd.js +68 -71
  7. package/components/basic/default/esm2022/anchor/anchor.component.mjs +18 -18
  8. package/components/basic/default/esm2022/icon/icon.component.mjs +12 -13
  9. package/components/basic/default/esm2022/iframe/iframe.component.mjs +9 -10
  10. package/components/basic/default/esm2022/picture/picture.directive.mjs +2 -5
  11. package/components/basic/default/esm2022/spinner/spinner.component.mjs +21 -21
  12. package/components/basic/default/esm2022/video/video.component.mjs +14 -15
  13. package/components/basic/default/fesm2022/index.mjs +68 -71
  14. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  15. package/components/basic/progress/bundles/index.umd.js +16 -17
  16. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +7 -8
  17. package/components/basic/progress/fesm2022/index.mjs +8 -9
  18. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  19. package/components/basic/rich-text-editor/bundles/index.umd.js +11 -12
  20. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +8 -9
  21. package/components/basic/rich-text-editor/fesm2022/index.mjs +7 -8
  22. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  23. package/components/basic/search/bundles/index.umd.js +63 -67
  24. package/components/basic/search/esm2022/search.component.mjs +63 -67
  25. package/components/basic/search/esm2022/search.module.mjs +2 -2
  26. package/components/basic/search/fesm2022/index.mjs +63 -67
  27. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  28. package/components/chart/bundles/index.umd.js +17 -17
  29. package/components/chart/esm2022/chart.component.mjs +18 -18
  30. package/components/chart/fesm2022/index.mjs +17 -17
  31. package/components/chart/fesm2022/index.mjs.map +1 -1
  32. package/components/containers/panel/bundles/index.umd.js +39 -39
  33. package/components/containers/panel/esm2022/panel.component.mjs +40 -40
  34. package/components/containers/panel/fesm2022/index.mjs +39 -39
  35. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  36. package/components/containers/tabs/bundles/index.umd.js +29 -29
  37. package/components/containers/tabs/esm2022/tabs.component.mjs +30 -30
  38. package/components/containers/tabs/fesm2022/index.mjs +29 -29
  39. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  40. package/components/containers/wizard/bundles/index.umd.js +49 -49
  41. package/components/containers/wizard/esm2022/wizard.component.mjs +50 -50
  42. package/components/containers/wizard/fesm2022/index.mjs +49 -49
  43. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  44. package/components/data/card/bundles/index.umd.js +29 -29
  45. package/components/data/card/esm2022/card.component.mjs +30 -30
  46. package/components/data/card/fesm2022/index.mjs +29 -29
  47. package/components/data/card/fesm2022/index.mjs.map +1 -1
  48. package/components/data/form/bundles/index.umd.js +91 -96
  49. package/components/data/form/esm2022/form.component.mjs +92 -97
  50. package/components/data/form/fesm2022/index.mjs +91 -96
  51. package/components/data/form/fesm2022/index.mjs.map +1 -1
  52. package/components/data/list/bundles/index.umd.js +171 -173
  53. package/components/data/list/esm2022/list.component.mjs +171 -173
  54. package/components/data/list/esm2022/list.module.mjs +2 -2
  55. package/components/data/list/fesm2022/index.mjs +171 -173
  56. package/components/data/list/fesm2022/index.mjs.map +1 -1
  57. package/components/data/pagination/bundles/index.umd.js +32 -32
  58. package/components/data/pagination/esm2022/pagination.component.mjs +33 -33
  59. package/components/data/pagination/fesm2022/index.mjs +32 -32
  60. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  61. package/components/data/table/bundles/index.umd.js +69 -39
  62. package/components/data/table/esm2022/table-column/table-column.directive.mjs +2 -1
  63. package/components/data/table/esm2022/table-column/table-column.props.mjs +2 -1
  64. package/components/data/table/esm2022/table-filter.directive.mjs +29 -2
  65. package/components/data/table/esm2022/table.component.mjs +40 -39
  66. package/components/data/table/esm2022/table.props.mjs +2 -1
  67. package/components/data/table/fesm2022/index.mjs +72 -41
  68. package/components/data/table/fesm2022/index.mjs.map +1 -1
  69. package/components/data/table/table-column/table-column.directive.d.ts +1 -0
  70. package/components/data/table/table-filter.directive.d.ts +1 -0
  71. package/components/dialogs/default/bundles/index.umd.js +66 -95
  72. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +67 -96
  73. package/components/dialogs/default/fesm2022/index.mjs +66 -95
  74. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  75. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -7
  76. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -8
  77. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -7
  78. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  79. package/components/dialogs/iframe-dialog/bundles/index.umd.js +24 -25
  80. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +15 -16
  81. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +14 -15
  82. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  83. package/components/dialogs/partial-dialog/bundles/index.umd.js +8 -8
  84. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +9 -9
  85. package/components/dialogs/partial-dialog/fesm2022/index.mjs +8 -8
  86. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  87. package/components/input/chips/bundles/index.umd.js +21 -21
  88. package/components/input/chips/esm2022/chips.component.mjs +22 -22
  89. package/components/input/chips/fesm2022/index.mjs +21 -21
  90. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  91. package/components/input/default/bundles/index.umd.js +201 -209
  92. package/components/input/default/esm2022/button/button.component.mjs +18 -18
  93. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +68 -69
  94. package/components/input/default/esm2022/radioset/radioset.component.mjs +68 -69
  95. package/components/input/default/esm2022/select/select.component.mjs +21 -27
  96. package/components/input/default/esm2022/switch/switch.component.mjs +24 -24
  97. package/components/input/default/esm2022/textarea/textarea.component.mjs +8 -8
  98. package/components/input/default/fesm2022/index.mjs +201 -209
  99. package/components/input/default/fesm2022/index.mjs.map +1 -1
  100. package/components/input/epoch/bundles/index.umd.js +171 -164
  101. package/components/input/epoch/esm2022/date/date.component.mjs +14 -15
  102. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +64 -59
  103. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +18 -19
  104. package/components/input/epoch/esm2022/picker/picker.component.mjs +26 -25
  105. package/components/input/epoch/esm2022/time/time.component.mjs +17 -18
  106. package/components/input/epoch/fesm2022/index.mjs +124 -117
  107. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  108. package/components/input/file-upload/bundles/index.umd.js +111 -114
  109. package/components/input/file-upload/esm2022/file-upload.component.mjs +112 -115
  110. package/components/input/file-upload/fesm2022/index.mjs +111 -114
  111. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  112. package/components/input/rating/bundles/index.umd.js +14 -14
  113. package/components/input/rating/esm2022/rating.component.mjs +15 -15
  114. package/components/input/rating/fesm2022/index.mjs +14 -14
  115. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  116. package/components/input/slider/bundles/index.umd.js +39 -40
  117. package/components/input/slider/esm2022/slider.component.mjs +10 -11
  118. package/components/input/slider/fesm2022/index.mjs +9 -10
  119. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  120. package/components/navigation/breadcrumb/bundles/index.umd.js +16 -15
  121. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +17 -16
  122. package/components/navigation/breadcrumb/fesm2022/index.mjs +16 -15
  123. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  124. package/components/navigation/menu/bundles/index.umd.js +82 -74
  125. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +14 -4
  126. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +7 -7
  127. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +15 -15
  128. package/components/navigation/menu/esm2022/menu.component.mjs +22 -26
  129. package/components/navigation/menu/esm2022/menu.module.mjs +4 -4
  130. package/components/navigation/menu/esm2022/nav/nav.component.mjs +26 -24
  131. package/components/navigation/menu/fesm2022/index.mjs +82 -74
  132. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  133. package/components/navigation/menu/menu-adapator.component.d.ts +1 -0
  134. package/components/navigation/navbar/bundles/index.umd.js +12 -12
  135. package/components/navigation/navbar/esm2022/navbar.component.mjs +13 -13
  136. package/components/navigation/navbar/fesm2022/index.mjs +12 -12
  137. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  138. package/mobile/components/basic/default/bundles/index.umd.js +102 -111
  139. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +39 -40
  140. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +35 -44
  141. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +27 -28
  142. package/mobile/components/basic/default/fesm2022/index.mjs +98 -107
  143. package/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
  144. package/mobile/components/containers/segmented-control/bundles/index.umd.js +16 -16
  145. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +8 -9
  146. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +10 -10
  147. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +16 -16
  148. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
  149. package/mobile/components/data/media-list/bundles/index.umd.js +28 -28
  150. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +29 -29
  151. package/mobile/components/data/media-list/fesm2022/index.mjs +28 -28
  152. package/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
  153. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +29 -29
  154. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +30 -30
  155. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +29 -29
  156. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
  157. package/mobile/components/page/tab-bar/bundles/index.umd.js +28 -28
  158. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +29 -29
  159. package/mobile/components/page/tab-bar/fesm2022/index.mjs +28 -28
  160. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
  161. package/npm-shrinkwrap.json +2 -2
  162. package/package-lock.json +2 -2
  163. package/package.json +1 -1
  164. package/runtime/base/bundles/index.umd.js +219 -215
  165. package/runtime/base/esm2022/components/app-component/app.component.mjs +38 -41
  166. package/runtime/base/esm2022/components/app-spinner.component.mjs +25 -21
  167. package/runtime/base/esm2022/components/custom-toaster.component.mjs +18 -16
  168. package/runtime/base/fesm2022/index.mjs +99 -95
  169. package/runtime/base/fesm2022/index.mjs.map +1 -1
  170. package/scripts/datatable/datatable.js +1 -0
@@ -11,21 +11,20 @@ import * as i2 from "@wm/oAuth";
11
11
  import * as i3 from "@wm/core";
12
12
  import * as i4 from "@angular/router";
13
13
  import * as i5 from "../../services/app.manager.service";
14
- import * as i6 from "@angular/common";
15
- import * as i7 from "@wm/components/base";
16
- import * as i8 from "@wm/mobile/runtime";
17
- import * as i9 from "@wm/components/dialogs/confirm-dialog";
18
- import * as i10 from "@wm/components/dialogs/design-dialog";
19
- import * as i11 from "@wm/components/dialogs/alert-dialog";
20
- import * as i12 from "../app-spinner.component";
14
+ import * as i6 from "@wm/components/base";
15
+ import * as i7 from "@wm/mobile/runtime";
16
+ import * as i8 from "@wm/components/dialogs/confirm-dialog";
17
+ import * as i9 from "@wm/components/dialogs/design-dialog";
18
+ import * as i10 from "@wm/components/dialogs/alert-dialog";
19
+ import * as i11 from "../app-spinner.component";
21
20
  const _c0 = ["dynamicComponent"];
22
- function AppComponent_ng_container_0_div_2_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelement(0, "div", 11);
21
+ function AppComponent_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelement(0, "div", 2);
24
23
  } }
25
- function AppComponent_ng_container_0_ng_template_5_li_1_Template(rf, ctx) { if (rf & 1) {
24
+ function AppComponent_Conditional_0_ng_template_4_For_2_Template(rf, ctx) { if (rf & 1) {
26
25
  const _r1 = i0.ɵɵgetCurrentView();
27
- i0.ɵɵelementStart(0, "li", 14)(1, "button", 15);
28
- i0.ɵɵlistener("click", function AppComponent_ng_container_0_ng_template_5_li_1_Template_button_click_1_listener() { const provider_r2 = i0.ɵɵrestoreView(_r1).$implicit; return i0.ɵɵresetView(provider_r2.invoke()); });
26
+ i0.ɵɵelementStart(0, "li", 11)(1, "button", 12);
27
+ i0.ɵɵlistener("click", function AppComponent_Conditional_0_ng_template_4_For_2_Template_button_click_1_listener() { const provider_r2 = i0.ɵɵrestoreView(_r1).$implicit; return i0.ɵɵresetView(provider_r2.invoke()); });
29
28
  i0.ɵɵtext(2);
30
29
  i0.ɵɵelementEnd()();
31
30
  } if (rf & 2) {
@@ -33,44 +32,42 @@ function AppComponent_ng_container_0_ng_template_5_li_1_Template(rf, ctx) { if (
33
32
  i0.ɵɵadvance(2);
34
33
  i0.ɵɵtextInterpolate(provider_r2.name);
35
34
  } }
36
- function AppComponent_ng_container_0_ng_template_5_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "ul", 12);
38
- i0.ɵɵtemplate(1, AppComponent_ng_container_0_ng_template_5_li_1_Template, 3, 1, "li", 13);
35
+ function AppComponent_Conditional_0_ng_template_4_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵelementStart(0, "ul", 10);
37
+ i0.ɵɵrepeaterCreate(1, AppComponent_Conditional_0_ng_template_4_For_2_Template, 3, 1, "li", 11, i0.ɵɵrepeaterTrackByIdentity);
39
38
  i0.ɵɵelementEnd();
40
39
  } if (rf & 2) {
41
40
  const ctx_r2 = i0.ɵɵnextContext(2);
42
41
  i0.ɵɵadvance();
43
- i0.ɵɵproperty("ngForOf", ctx_r2.providersConfig);
42
+ i0.ɵɵrepeater(ctx_r2.providersConfig);
44
43
  } }
45
- function AppComponent_ng_container_0_div_8_Template(rf, ctx) { if (rf & 1) {
46
- i0.ɵɵelement(0, "div", 16);
44
+ function AppComponent_Conditional_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelement(0, "div", 6);
47
46
  } }
48
- function AppComponent_ng_container_0_div_9_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵelement(0, "div", 17);
47
+ function AppComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelement(0, "div", 7);
50
49
  } }
51
- function AppComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
52
- i0.ɵɵelementContainerStart(0);
53
- i0.ɵɵelement(1, "router-outlet");
54
- i0.ɵɵtemplate(2, AppComponent_ng_container_0_div_2_Template, 1, 0, "div", 3);
55
- i0.ɵɵelement(3, "app-spinner", 4);
56
- i0.ɵɵelementStart(4, "div", 5);
57
- i0.ɵɵtemplate(5, AppComponent_ng_container_0_ng_template_5_Template, 2, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
50
+ function AppComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
51
+ i0.ɵɵelement(0, "router-outlet");
52
+ i0.ɵɵtemplate(1, AppComponent_Conditional_0_Conditional_1_Template, 1, 0, "div", 2);
53
+ i0.ɵɵelement(2, "app-spinner", 3);
54
+ i0.ɵɵelementStart(3, "div", 4);
55
+ i0.ɵɵtemplate(4, AppComponent_Conditional_0_ng_template_4_Template, 3, 0, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
58
56
  i0.ɵɵelementEnd();
59
- i0.ɵɵelement(7, "div", 6);
60
- i0.ɵɵtemplate(8, AppComponent_ng_container_0_div_8_Template, 1, 0, "div", 7)(9, AppComponent_ng_container_0_div_9_Template, 1, 0, "div", 8);
61
- i0.ɵɵelement(10, "div", 9)(11, "i", 10);
62
- i0.ɵɵelementContainerEnd();
57
+ i0.ɵɵelement(6, "div", 5);
58
+ i0.ɵɵtemplate(7, AppComponent_Conditional_0_Conditional_7_Template, 1, 0, "div", 6)(8, AppComponent_Conditional_0_Conditional_8_Template, 1, 0, "div", 7);
59
+ i0.ɵɵelement(9, "div", 8)(10, "i", 9);
63
60
  } if (rf & 2) {
64
61
  const ctx_r2 = i0.ɵɵnextContext();
65
- i0.ɵɵadvance(2);
66
- i0.ɵɵproperty("ngIf", ctx_r2.isApplicationType);
62
+ i0.ɵɵadvance();
63
+ i0.ɵɵconditional(ctx_r2.isApplicationType ? 1 : -1);
67
64
  i0.ɵɵadvance();
68
65
  i0.ɵɵproperty("show", ctx_r2.spinner.show)("spinnermessages", ctx_r2.spinner.messages);
69
66
  i0.ɵɵattribute("aria-label", ctx_r2.spinner.arialabel || "Loading");
70
67
  i0.ɵɵadvance(5);
71
- i0.ɵɵproperty("ngIf", !ctx_r2.isApplicationType);
68
+ i0.ɵɵconditional(!ctx_r2.isApplicationType ? 7 : -1);
72
69
  i0.ɵɵadvance();
73
- i0.ɵɵproperty("ngIf", !ctx_r2.isApplicationType);
70
+ i0.ɵɵconditional(!ctx_r2.isApplicationType ? 8 : -1);
74
71
  } }
75
72
  export class AppComponent {
76
73
  constructor(_pipeProvider, _appRef, elRef, oAuthService, dialogService, spinnerService, ngZone, router, app, appManager, customIconsLoaderService) {
@@ -217,16 +214,16 @@ export class AppComponent {
217
214
  let _t;
218
215
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.routerOutlet = _t.first);
219
216
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dynamicComponentContainerRef = _t.first);
220
- } }, decls: 3, vars: 1, consts: [["dynamicComponent", ""], ["dialogBody", ""], [4, "ngIf"], ["wmContainer", "", "partialContainer", "", "content", "Common", "hidden", "", "class", "ng-hide", 4, "ngIf"], ["name", "globalspinner", "classname", "global-spinner", "role", "alert", "aria-live", "assertive", 3, "show", "spinnermessages"], ["wmDialog", "", "name", "oAuthLoginDialog", "title", "Application is requesting you to sign in with", "close.event", "closeOAuthDialog()"], ["wmConfirmDialog", "", "name", "_app-confirm-dialog", "title.bind", "title", "message.bind", "message", "oktext.bind", "oktext", "canceltext.bind", "canceltext", "closable", "false", "iconclass.bind", "iconclass", "escape.event", "onEscape()", "ok.event", "onOk()", "cancel.event", "onCancel()", "close.event", "onClose()", "opened.event", "onOpen()"], ["wmConfirmDialog", "", "name", "PrefabConfirmDialog", "title.bind", "title", "message.bind", "text", "oktext.bind", "okButtonText", "canceltext.bind", "cancelButtonText", "closable", "false", "iconclass.bind", "iconclass", "escape.event", "onEscape()", "ok.event", "onOk()", "cancel.event", "onCancel()", "close.event", "onClose()", "opened.event", "onOpen()", 4, "ngIf"], ["wmAlertDialog", "", "name", "PrefabAlertDialog", "title.bind", "title", "message.bind", "text", "oktext.bind", "okButtonText", "canceltext.bind", "cancelButtonText", "closable", "false", "iconclass.bind", "iconclass", "escape.event", "onEscape()", "ok.event", "onOk()", "cancel.event", "onCancel()", "close.event", "onClose()", "opened.event", "onOpen()", 4, "ngIf"], ["wmAppExt", ""], ["id", "wm-mobile-display"], ["wmContainer", "", "partialContainer", "", "content", "Common", "hidden", "", 1, "ng-hide"], [1, "list-items"], ["class", "list-item", 4, "ngFor", "ngForOf"], [1, "list-item"], [1, "btn", 3, "click"], ["wmConfirmDialog", "", "name", "PrefabConfirmDialog", "title.bind", "title", "message.bind", "text", "oktext.bind", "okButtonText", "canceltext.bind", "cancelButtonText", "closable", "false", "iconclass.bind", "iconclass", "escape.event", "onEscape()", "ok.event", "onOk()", "cancel.event", "onCancel()", "close.event", "onClose()", "opened.event", "onOpen()"], ["wmAlertDialog", "", "name", "PrefabAlertDialog", "title.bind", "title", "message.bind", "text", "oktext.bind", "okButtonText", "canceltext.bind", "cancelButtonText", "closable", "false", "iconclass.bind", "iconclass", "escape.event", "onEscape()", "ok.event", "onOk()", "cancel.event", "onCancel()", "close.event", "onClose()", "opened.event", "onOpen()"]], template: function AppComponent_Template(rf, ctx) { if (rf & 1) {
221
- i0.ɵɵtemplate(0, AppComponent_ng_container_0_Template, 12, 6, "ng-container", 2);
217
+ } }, decls: 3, vars: 1, consts: [["dynamicComponent", ""], ["dialogBody", ""], ["wmContainer", "", "partialContainer", "", "content", "Common", "hidden", "", 1, "ng-hide"], ["name", "globalspinner", "classname", "global-spinner", "role", "alert", "aria-live", "assertive", 3, "show", "spinnermessages"], ["wmDialog", "", "name", "oAuthLoginDialog", "title", "Application is requesting you to sign in with", "close.event", "closeOAuthDialog()"], ["wmConfirmDialog", "", "name", "_app-confirm-dialog", "title.bind", "title", "message.bind", "message", "oktext.bind", "oktext", "canceltext.bind", "canceltext", "closable", "false", "iconclass.bind", "iconclass", "escape.event", "onEscape()", "ok.event", "onOk()", "cancel.event", "onCancel()", "close.event", "onClose()", "opened.event", "onOpen()"], ["wmConfirmDialog", "", "name", "PrefabConfirmDialog", "title.bind", "title", "message.bind", "text", "oktext.bind", "okButtonText", "canceltext.bind", "cancelButtonText", "closable", "false", "iconclass.bind", "iconclass", "escape.event", "onEscape()", "ok.event", "onOk()", "cancel.event", "onCancel()", "close.event", "onClose()", "opened.event", "onOpen()"], ["wmAlertDialog", "", "name", "PrefabAlertDialog", "title.bind", "title", "message.bind", "text", "oktext.bind", "okButtonText", "canceltext.bind", "cancelButtonText", "closable", "false", "iconclass.bind", "iconclass", "escape.event", "onEscape()", "ok.event", "onOk()", "cancel.event", "onCancel()", "close.event", "onClose()", "opened.event", "onOpen()"], ["wmAppExt", ""], ["id", "wm-mobile-display"], [1, "list-items"], [1, "list-item"], [1, "btn", 3, "click"]], template: function AppComponent_Template(rf, ctx) { if (rf & 1) {
218
+ i0.ɵɵtemplate(0, AppComponent_Conditional_0_Template, 11, 6);
222
219
  i0.ɵɵelementContainer(1, null, 0);
223
220
  } if (rf & 2) {
224
- i0.ɵɵproperty("ngIf", ctx.startApp);
225
- } }, dependencies: [i6.NgForOf, i6.NgIf, i4.RouterOutlet, i7.ContainerDirective, i7.PartialParamHandlerDirective, i7.PartialContainerDirective, i8.AppExtComponent, i9.ConfirmDialogComponent, i10.DialogComponent, i11.AlertDialogComponent, i12.AppSpinnerComponent], encapsulation: 2 }); }
221
+ i0.ɵɵconditional(ctx.startApp ? 0 : -1);
222
+ } }, dependencies: [i4.RouterOutlet, i6.ContainerDirective, i6.PartialParamHandlerDirective, i6.PartialContainerDirective, i7.AppExtComponent, i8.ConfirmDialogComponent, i9.DialogComponent, i10.AlertDialogComponent, i11.AppSpinnerComponent], encapsulation: 2 }); }
226
223
  }
227
224
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppComponent, [{
228
225
  type: Component,
229
- args: [{ selector: 'app-root', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"startApp\">\n <router-outlet></router-outlet>\n <div wmContainer partialContainer content=\"Common\" hidden class=\"ng-hide\" *ngIf=\"isApplicationType\"></div>\n <app-spinner name=\"globalspinner\" classname=\"global-spinner\" role=\"alert\" aria-live=\"assertive\" [attr.aria-label]=\"spinner.arialabel || 'Loading'\" [show]=\"spinner.show\" [spinnermessages]=\"spinner.messages\"></app-spinner>\n <div wmDialog name=\"oAuthLoginDialog\" title=\"Application is requesting you to sign in with\"\n close.event=\"closeOAuthDialog()\">\n <ng-template #dialogBody>\n <ul class=\"list-items\">\n <li class=\"list-item\" *ngFor=\"let provider of providersConfig\">\n <button class=\"btn\" (click)=\"provider.invoke()\">{{provider.name}}</button>\n </li>\n </ul>\n </ng-template>\n </div>\n <div wmConfirmDialog name=\"_app-confirm-dialog\" title.bind=\"title\" message.bind=\"message\" oktext.bind=\"oktext\"\n canceltext.bind=\"canceltext\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n <div *ngIf=\"!isApplicationType\" wmConfirmDialog name=\"PrefabConfirmDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n <div *ngIf=\"!isApplicationType\" wmAlertDialog name=\"PrefabAlertDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n <div wmAppExt></div>\n <i id=\"wm-mobile-display\"></i>\n</ng-container>\n<!--Dummy container to create the component dynamically-->\n<ng-container #dynamicComponent></ng-container>\n" }]
226
+ args: [{ selector: 'app-root', encapsulation: ViewEncapsulation.None, template: "@if (startApp) {\n <router-outlet></router-outlet>\n @if (isApplicationType) {\n <div wmContainer partialContainer content=\"Common\" hidden class=\"ng-hide\"></div>\n }\n <app-spinner name=\"globalspinner\" classname=\"global-spinner\" role=\"alert\" aria-live=\"assertive\" [attr.aria-label]=\"spinner.arialabel || 'Loading'\" [show]=\"spinner.show\" [spinnermessages]=\"spinner.messages\"></app-spinner>\n <div wmDialog name=\"oAuthLoginDialog\" title=\"Application is requesting you to sign in with\"\n close.event=\"closeOAuthDialog()\">\n <ng-template #dialogBody>\n <ul class=\"list-items\">\n @for (provider of providersConfig; track provider) {\n <li class=\"list-item\">\n <button class=\"btn\" (click)=\"provider.invoke()\">{{provider.name}}</button>\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <div wmConfirmDialog name=\"_app-confirm-dialog\" title.bind=\"title\" message.bind=\"message\" oktext.bind=\"oktext\"\n canceltext.bind=\"canceltext\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n @if (!isApplicationType) {\n <div wmConfirmDialog name=\"PrefabConfirmDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n }\n @if (!isApplicationType) {\n <div wmAlertDialog name=\"PrefabAlertDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n }\n <div wmAppExt></div>\n <i id=\"wm-mobile-display\"></i>\n}\n<!--Dummy container to create the component dynamically-->\n<ng-container #dynamicComponent></ng-container>\n" }]
230
227
  }], () => [{ type: i1.PipeProvider }, { type: i0.ApplicationRef }, { type: i0.ElementRef }, { type: i2.OAuthService }, { type: i3.AbstractDialogService }, { type: i3.AbstractSpinnerService }, { type: i0.NgZone }, { type: i4.Router }, { type: i3.App }, { type: i5.AppManagerService }, { type: i3.CustomIconsLoaderService }], { routerOutlet: [{
231
228
  type: ViewChild,
232
229
  args: [RouterOutlet]
@@ -235,4 +232,4 @@ export class AppComponent {
235
232
  args: ['dynamicComponent', { read: ViewContainerRef }]
236
233
  }] }); })();
237
234
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AppComponent, { className: "AppComponent", filePath: "components/app-component/app.component.ts", lineNumber: 46 }); })();
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9hcHAtY29tcG9uZW50L2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGNBQWMsRUFDZCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXhILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsUUFBUSxFQUNSLEdBQUcsRUFDSCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsRUFDVCxTQUFTLEVBQ1QsZUFBZSxFQUNsQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQzlCOUQsMEJBQTBHOzs7O0lBTzFGLEFBREosOEJBQStELGlCQUNYO0lBQTVCLCtMQUFTLG9CQUFpQixLQUFDO0lBQUMs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QUM7O2tGQU45QyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyLCBSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7c2V0VGhlbWV9IGZyb20gJ25neC1ib290c3RyYXAvdXRpbHMnO1xuXG5pbXBvcnQge1xuICAgICRpbnZva2VXYXRjaGVycyxcbiAgICBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgQWJzdHJhY3RTcGlubmVyU2VydmljZSxcbiAgICBhZGRDbGFzcyxcbiAgICBBcHAsXG4gICAgQ3VzdG9tSWNvbnNMb2FkZXJTZXJ2aWNlLFxuICAgIGdldFdtUHJvamVjdFByb3BlcnRpZXMsXG4gICAgaGFzQ29yZG92YSxcbiAgICBub29wLFxuICAgIHJlbW92ZUNsYXNzLFxuICAgIHNldEFwcFJlZixcbiAgICBzZXROZ1pvbmUsXG4gICAgc2V0UGlwZVByb3ZpZGVyXG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7T0F1dGhTZXJ2aWNlfSBmcm9tICdAd20vb0F1dGgnO1xuaW1wb3J0IHtBcHBNYW5hZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBwLm1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQge1BpcGVQcm92aWRlcn0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGlwZS1wcm92aWRlci5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFNQSU5ORVIge1xuICAgIHNob3c6IGJvb2xlYW47XG4gICAgbWVzc2FnZXM6IEFycmF5PHN0cmluZz47XG4gICAgYXJpYWxhYmVsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXJvb3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjaywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHVibGljIHN0YXJ0QXBwID0gZmFsc2U7XG4gICAgcHVibGljIGlzQXBwbGljYXRpb25UeXBlID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKFJvdXRlck91dGxldCkgcm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQ7XG5cbiAgICBAVmlld0NoaWxkKCdkeW5hbWljQ29tcG9uZW50Jywge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KSBkeW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgc3Bpbm5lcjogU1BJTk5FUiA9IHtzaG93OiBmYWxzZSwgbWVzc2FnZXM6IFtdLCBhcmlhbGFiZWw6ICcnfTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgX3BpcGVQcm92aWRlcjogUGlwZVByb3ZpZGVyLFxuICAgICAgICBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBvQXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc3Bpbm5lclNlcnZpY2U6IEFic3RyYWN0U3Bpbm5lclNlcnZpY2UsXG4gICAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIGFwcDogQXBwLFxuICAgICAgICBwcml2YXRlIGFwcE1hbmFnZXI6IEFwcE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1c3RvbUljb25zTG9hZGVyU2VydmljZTogQ3VzdG9tSWNvbnNMb2FkZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHNldFBpcGVQcm92aWRlcihfcGlwZVByb3ZpZGVyKTtcbiAgICAgICAgc2V0Tmdab25lKG5nWm9uZSk7XG4gICAgICAgIHNldEFwcFJlZihfYXBwUmVmKTtcblxuICAgICAgICB0aGlzLmlzQXBwbGljYXRpb25UeXBlID0gZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpLnR5cGUgPT09ICdBUFBMSUNBVElPTic7XG4gICAgICAgIGlmKHRoaXMuaXNBcHBsaWNhdGlvblR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tSWNvbnNMb2FkZXJTZXJ2aWNlLmxvYWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5iZWZvcmVBcHBSZWFkeSgpO1xuXG4gICAgICAgIC8vIHN1YnNjcmliZSB0byBPQXV0aCBjaGFuZ2VzXG4gICAgICAgIG9BdXRoU2VydmljZS5nZXRPQXV0aFByb3ZpZGVyc0FzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZSgocHJvdmlkZXJzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvdmlkZXJzQ29uZmlnID0gcHJvdmlkZXJzO1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dPQXV0aERpYWxvZygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlT0F1dGhEaWFsb2coKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBtZXNzYWdlIHNvdXJjZSB0byBzaG93L2hpZGUgYXBwIHNwaW5uZXJcbiAgICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5nZXRNZXNzYWdlU291cmNlKCkuYXNPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vIHNldFRpbWVvdXQgaXMgdG8gYXZvaWQgJ0V4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3InXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXIuc2hvdyA9IGRhdGEuc2hvdztcbiAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXIubWVzc2FnZXMgPSBkYXRhLm1lc3NhZ2VzO1xuICAgICAgICAgICAgICAgIHRoaXMuc3Bpbm5lci5hcmlhbGFiZWwgPSBkYXRhLm1lc3NhZ2VzLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc2V0IHRoZW1lIHRvIGJzMyBvbiBuZ3gtYm9vdHN0cmFwLiBUaGlzIGF2b2lkcyBydW50aW1lIGNhbGN1bGF0aW9uIHRvIGRldGVybWluZSBicyB0aGVtZS4gVGh1cyByZXNvbHZlcyBwZXJmb3JtYW5jZS5cbiAgICAgICAgc2V0VGhlbWUoJ2JzMycpO1xuXG4gICAgICAgIGxldCBzcGlubmVySWQ7XG5cbiAgICAgICAgbGV0IG9uUGFnZVJlbmRlcmVkID0gbm9vcDtcblxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFnZSA9IGUudXJsLnNwbGl0KCc/JylbMF07XG4gICAgICAgICAgICAgICAgcGFnZSA9IHBhZ2Uuc3Vic3RyaW5nKDEpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFwYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwLmFjdGl2ZUxheW91dE5hbWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHAubGF5b3V0UGFnZXMgPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYodGhpcy5hcHAuYWN0aXZlTGF5b3V0TmFtZSAmJiB0aGlzLmFwcC5sYXlvdXRQYWdlcyAmJiB0aGlzLmFwcC5sYXlvdXRQYWdlcy5sZW5ndGggJiYgdGhpcy5hcHAubGF5b3V0UGFnZXMuaW5jbHVkZXMocGFnZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Bpbm5lcklkID0gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCcnLCAnd21Sb3V0ZXJPdXRsZXQnLCAnJywgJ3dtUm91dGVyT3V0bGV0Jyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3Bpbm5lcklkID0gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCcnLCAnZ2xvYmFsU3Bpbm5lcicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhcHAtcGFnZS1vdXRsZXQnKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRDbGFzcyhub2RlLCAncGFnZS1sb2FkLWluLXByb2dyZXNzJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgcGFnZUxvYWRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgIG9uUGFnZVJlbmRlcmVkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoc3Bpbm5lcklkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2FwcC1wYWdlLW91dGxldCcpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3Mobm9kZSwgJ3BhZ2UtbG9hZC1pbi1wcm9ncmVzcycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9uUGFnZVJlbmRlcmVkID0gbm9vcDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHAuYWN0aXZlUGFnZUxvYWRUaW1lID0gRGF0ZS5ub3coKSAtIHBhZ2VMb2FkU3RhcnRUaW1lO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+e1xuICAgICAgICAgICAgICAgICAgICBvblBhZ2VSZW5kZXJlZCgpO1xuICAgICAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLnN1YnNjcmliZSgncGFnZVJlYWR5JywgKCkgPT4ge1xuICAgICAgICAgICAgb25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5zdWJzY3JpYmUoJ3BhZ2VBdHRhY2gnLCAoKSA9PiB7XG4gICAgICAgICAgICBvblBhZ2VSZW5kZXJlZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm92aWRlcnNDb25maWc7XG4gICAgaXNPQXV0aERpYWxvZ09wZW4gPSBmYWxzZTtcblxuICAgIHNob3dPQXV0aERpYWxvZygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT0F1dGhEaWFsb2dPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmlzT0F1dGhEaWFsb2dPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKCdvQXV0aExvZ2luRGlhbG9nJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZU9BdXRoRGlhbG9nKCkge1xuICAgICAgICBpZiAodGhpcy5pc09BdXRoRGlhbG9nT3Blbikge1xuICAgICAgICAgICAgdGhpcy5pc09BdXRoRGlhbG9nT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsb3NlKCdvQXV0aExvZ2luRGlhbG9nJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0KCkge1xuICAgICAgICAvL3RvIGZpeCB0aGUgaXNzdWUgdGhhdCBoYXBwZW5zIG9ubHkgaW4gdGhlIGRldmVsb3BtZW50IG1vZGVcbiAgICAgICAgLy9FeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4gICAgICAgIC8vZml4OiBodHRwczovL2Jsb2cuYW5ndWxhci11bml2ZXJzaXR5LmlvL2FuZ3VsYXItZGVidWdnaW5nL1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRBcHAgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcC5keW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmID0gdGhpcy5keW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmO1xuICAgICAgICAgICAgdGhpcy5vdmVycmlkZVJvdXRlck91dGxldCgpO1xuICAgICAgICB9LCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvdmVycmlkZVJvdXRlck91dGxldCgpIHtcbiAgICAgICAgLy9vdmVycmlkZSB0aGUgYXR0YWNoL2RldGFjaCBtZXRob2RzXG4gICAgICAgIGNvbnN0IG9BdHRhY2ggPSB0aGlzLnJvdXRlck91dGxldC5hdHRhY2g7XG4gICAgICAgIGNvbnN0IG9EZXRhY2ggPSB0aGlzLnJvdXRlck91dGxldC5kZXRhY2g7XG4gICAgICAgIHRoaXMucm91dGVyT3V0bGV0LmF0dGFjaCA9IChjb21wb25lbnRSZWY6IGFueSkgPT4ge1xuICAgICAgICAgICAgb0F0dGFjaC5jYWxsKHRoaXMucm91dGVyT3V0bGV0LCBjb21wb25lbnRSZWYpO1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm5nT25BdHRhY2goKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5yb3V0ZXJPdXRsZXQuZGV0YWNoID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHAuYWN0aXZlUGFnZS5uZ09uRGV0YWNoKCk7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBvRGV0YWNoLmNhbGwodGhpcy5yb3V0ZXJPdXRsZXQpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2xhbmcnLCBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuZGVmYXVsdExhbmd1YWdlKTtcbiAgICAgICAgaWYgKGhhc0NvcmRvdmEoKSAmJiAhd2luZG93Wyd3bURldmljZVJlYWR5J10pIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3dtRGV2aWNlUmVhZHknICwgKCkgPT4gdGhpcy5zdGFydCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgJGludm9rZVdhdGNoZXJzKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXJ0QXBwXCI+XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDxkaXYgd21Db250YWluZXIgcGFydGlhbENvbnRhaW5lciBjb250ZW50PVwiQ29tbW9uXCIgaGlkZGVuIGNsYXNzPVwibmctaGlkZVwiICpuZ0lmPVwiaXNBcHBsaWNhdGlvblR5cGVcIj48L2Rpdj5cbiAgICA8YXBwLXNwaW5uZXIgbmFtZT1cImdsb2JhbHNwaW5uZXJcIiBjbGFzc25hbWU9XCJnbG9iYWwtc3Bpbm5lclwiIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwic3Bpbm5lci5hcmlhbGFiZWwgfHwgJ0xvYWRpbmcnXCIgW3Nob3ddPVwic3Bpbm5lci5zaG93XCIgW3NwaW5uZXJtZXNzYWdlc109XCJzcGlubmVyLm1lc3NhZ2VzXCI+PC9hcHAtc3Bpbm5lcj5cbiAgICA8ZGl2IHdtRGlhbG9nIG5hbWU9XCJvQXV0aExvZ2luRGlhbG9nXCIgdGl0bGU9XCJBcHBsaWNhdGlvbiBpcyByZXF1ZXN0aW5nIHlvdSB0byBzaWduIGluIHdpdGhcIlxuICAgICAgICAgY2xvc2UuZXZlbnQ9XCJjbG9zZU9BdXRoRGlhbG9nKClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkaWFsb2dCb2R5PlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC1pdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtaXRlbVwiICpuZ0Zvcj1cImxldCBwcm92aWRlciBvZiBwcm92aWRlcnNDb25maWdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJwcm92aWRlci5pbnZva2UoKVwiPnt7cHJvdmlkZXIubmFtZX19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiB3bUNvbmZpcm1EaWFsb2cgbmFtZT1cIl9hcHAtY29uZmlybS1kaWFsb2dcIiB0aXRsZS5iaW5kPVwidGl0bGVcIiBtZXNzYWdlLmJpbmQ9XCJtZXNzYWdlXCIgb2t0ZXh0LmJpbmQ9XCJva3RleHRcIlxuICAgICAgICAgY2FuY2VsdGV4dC5iaW5kPVwiY2FuY2VsdGV4dFwiIGNsb3NhYmxlPVwiZmFsc2VcIiBpY29uY2xhc3MuYmluZD1cImljb25jbGFzc1wiXG4gICAgICAgICBlc2NhcGUuZXZlbnQ9XCJvbkVzY2FwZSgpXCIgb2suZXZlbnQ9XCJvbk9rKClcIiBjYW5jZWwuZXZlbnQ9XCJvbkNhbmNlbCgpXCIgY2xvc2UuZXZlbnQ9XCJvbkNsb3NlKClcIiBvcGVuZWQuZXZlbnQ9XCJvbk9wZW4oKVwiPjwvZGl2PlxuICAgIDxkaXYgICpuZ0lmPVwiIWlzQXBwbGljYXRpb25UeXBlXCIgd21Db25maXJtRGlhbG9nIG5hbWU9XCJQcmVmYWJDb25maXJtRGlhbG9nXCIgdGl0bGUuYmluZD1cInRpdGxlXCIgbWVzc2FnZS5iaW5kPVwidGV4dFwiIG9rdGV4dC5iaW5kPVwib2tCdXR0b25UZXh0XCJcbiAgICAgICAgIGNhbmNlbHRleHQuYmluZD1cImNhbmNlbEJ1dHRvblRleHRcIiBjbG9zYWJsZT1cImZhbHNlXCIgaWNvbmNsYXNzLmJpbmQ9XCJpY29uY2xhc3NcIlxuICAgICAgICAgZXNjYXBlLmV2ZW50PVwib25Fc2NhcGUoKVwiIG9rLmV2ZW50PVwib25PaygpXCIgY2FuY2VsLmV2ZW50PVwib25DYW5jZWwoKVwiIGNsb3NlLmV2ZW50PVwib25DbG9zZSgpXCIgb3BlbmVkLmV2ZW50PVwib25PcGVuKClcIj48L2Rpdj5cbiAgICA8ZGl2ICAqbmdJZj1cIiFpc0FwcGxpY2F0aW9uVHlwZVwiIHdtQWxlcnREaWFsb2cgbmFtZT1cIlByZWZhYkFsZXJ0RGlhbG9nXCIgdGl0bGUuYmluZD1cInRpdGxlXCIgbWVzc2FnZS5iaW5kPVwidGV4dFwiIG9rdGV4dC5iaW5kPVwib2tCdXR0b25UZXh0XCJcbiAgICAgICAgIGNhbmNlbHRleHQuYmluZD1cImNhbmNlbEJ1dHRvblRleHRcIiBjbG9zYWJsZT1cImZhbHNlXCIgaWNvbmNsYXNzLmJpbmQ9XCJpY29uY2xhc3NcIlxuICAgICAgICAgZXNjYXBlLmV2ZW50PVwib25Fc2NhcGUoKVwiIG9rLmV2ZW50PVwib25PaygpXCIgY2FuY2VsLmV2ZW50PVwib25DYW5jZWwoKVwiIGNsb3NlLmV2ZW50PVwib25DbG9zZSgpXCIgb3BlbmVkLmV2ZW50PVwib25PcGVuKClcIj48L2Rpdj5cbiAgICA8ZGl2IHdtQXBwRXh0PjwvZGl2PlxuICAgIDxpIGlkPVwid20tbW9iaWxlLWRpc3BsYXlcIj48L2k+XG48L25nLWNvbnRhaW5lcj5cbjwhLS1EdW1teSBjb250YWluZXIgdG8gY3JlYXRlIHRoZSBjb21wb25lbnQgZHluYW1pY2FsbHktLT5cbjxuZy1jb250YWluZXIgI2R5bmFtaWNDb21wb25lbnQ+PC9uZy1jb250YWluZXI+XG4iXX0=
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9hcHAtY29tcG9uZW50L2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGNBQWMsRUFDZCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXhILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsUUFBUSxFQUNSLEdBQUcsRUFDSCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsRUFDVCxTQUFTLEVBQ1QsZUFBZSxFQUNsQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDN0I5RCx5QkFBZ0Y7Ozs7SUFTeEUsQUFERiw4QkFBc0IsaUJBQzRCO0lBQTVCLCtMQUFTLG9CQUFpQixLQUFDO0lBQUMs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OlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyLCBSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7c2V0VGhlbWV9IGZyb20gJ25neC1ib290c3RyYXAvdXRpbHMnO1xuXG5pbXBvcnQge1xuICAgICRpbnZva2VXYXRjaGVycyxcbiAgICBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgQWJzdHJhY3RTcGlubmVyU2VydmljZSxcbiAgICBhZGRDbGFzcyxcbiAgICBBcHAsXG4gICAgQ3VzdG9tSWNvbnNMb2FkZXJTZXJ2aWNlLFxuICAgIGdldFdtUHJvamVjdFByb3BlcnRpZXMsXG4gICAgaGFzQ29yZG92YSxcbiAgICBub29wLFxuICAgIHJlbW92ZUNsYXNzLFxuICAgIHNldEFwcFJlZixcbiAgICBzZXROZ1pvbmUsXG4gICAgc2V0UGlwZVByb3ZpZGVyXG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7T0F1dGhTZXJ2aWNlfSBmcm9tICdAd20vb0F1dGgnO1xuaW1wb3J0IHtBcHBNYW5hZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBwLm1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQge1BpcGVQcm92aWRlcn0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGlwZS1wcm92aWRlci5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFNQSU5ORVIge1xuICAgIHNob3c6IGJvb2xlYW47XG4gICAgbWVzc2FnZXM6IEFycmF5PHN0cmluZz47XG4gICAgYXJpYWxhYmVsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXJvb3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjaywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHVibGljIHN0YXJ0QXBwID0gZmFsc2U7XG4gICAgcHVibGljIGlzQXBwbGljYXRpb25UeXBlID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKFJvdXRlck91dGxldCkgcm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQ7XG5cbiAgICBAVmlld0NoaWxkKCdkeW5hbWljQ29tcG9uZW50Jywge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KSBkeW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgc3Bpbm5lcjogU1BJTk5FUiA9IHtzaG93OiBmYWxzZSwgbWVzc2FnZXM6IFtdLCBhcmlhbGFiZWw6ICcnfTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgX3BpcGVQcm92aWRlcjogUGlwZVByb3ZpZGVyLFxuICAgICAgICBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBvQXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc3Bpbm5lclNlcnZpY2U6IEFic3RyYWN0U3Bpbm5lclNlcnZpY2UsXG4gICAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIGFwcDogQXBwLFxuICAgICAgICBwcml2YXRlIGFwcE1hbmFnZXI6IEFwcE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1c3RvbUljb25zTG9hZGVyU2VydmljZTogQ3VzdG9tSWNvbnNMb2FkZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHNldFBpcGVQcm92aWRlcihfcGlwZVByb3ZpZGVyKTtcbiAgICAgICAgc2V0Tmdab25lKG5nWm9uZSk7XG4gICAgICAgIHNldEFwcFJlZihfYXBwUmVmKTtcblxuICAgICAgICB0aGlzLmlzQXBwbGljYXRpb25UeXBlID0gZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpLnR5cGUgPT09ICdBUFBMSUNBVElPTic7XG4gICAgICAgIGlmKHRoaXMuaXNBcHBsaWNhdGlvblR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tSWNvbnNMb2FkZXJTZXJ2aWNlLmxvYWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5iZWZvcmVBcHBSZWFkeSgpO1xuXG4gICAgICAgIC8vIHN1YnNjcmliZSB0byBPQXV0aCBjaGFuZ2VzXG4gICAgICAgIG9BdXRoU2VydmljZS5nZXRPQXV0aFByb3ZpZGVyc0FzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZSgocHJvdmlkZXJzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvdmlkZXJzQ29uZmlnID0gcHJvdmlkZXJzO1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dPQXV0aERpYWxvZygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlT0F1dGhEaWFsb2coKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBtZXNzYWdlIHNvdXJjZSB0byBzaG93L2hpZGUgYXBwIHNwaW5uZXJcbiAgICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5nZXRNZXNzYWdlU291cmNlKCkuYXNPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vIHNldFRpbWVvdXQgaXMgdG8gYXZvaWQgJ0V4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3InXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXIuc2hvdyA9IGRhdGEuc2hvdztcbiAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXIubWVzc2FnZXMgPSBkYXRhLm1lc3NhZ2VzO1xuICAgICAgICAgICAgICAgIHRoaXMuc3Bpbm5lci5hcmlhbGFiZWwgPSBkYXRhLm1lc3NhZ2VzLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc2V0IHRoZW1lIHRvIGJzMyBvbiBuZ3gtYm9vdHN0cmFwLiBUaGlzIGF2b2lkcyBydW50aW1lIGNhbGN1bGF0aW9uIHRvIGRldGVybWluZSBicyB0aGVtZS4gVGh1cyByZXNvbHZlcyBwZXJmb3JtYW5jZS5cbiAgICAgICAgc2V0VGhlbWUoJ2JzMycpO1xuXG4gICAgICAgIGxldCBzcGlubmVySWQ7XG5cbiAgICAgICAgbGV0IG9uUGFnZVJlbmRlcmVkID0gbm9vcDtcblxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFnZSA9IGUudXJsLnNwbGl0KCc/JylbMF07XG4gICAgICAgICAgICAgICAgcGFnZSA9IHBhZ2Uuc3Vic3RyaW5nKDEpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFwYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwLmFjdGl2ZUxheW91dE5hbWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHAubGF5b3V0UGFnZXMgPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYodGhpcy5hcHAuYWN0aXZlTGF5b3V0TmFtZSAmJiB0aGlzLmFwcC5sYXlvdXRQYWdlcyAmJiB0aGlzLmFwcC5sYXlvdXRQYWdlcy5sZW5ndGggJiYgdGhpcy5hcHAubGF5b3V0UGFnZXMuaW5jbHVkZXMocGFnZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Bpbm5lcklkID0gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCcnLCAnd21Sb3V0ZXJPdXRsZXQnLCAnJywgJ3dtUm91dGVyT3V0bGV0Jyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3Bpbm5lcklkID0gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCcnLCAnZ2xvYmFsU3Bpbm5lcicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhcHAtcGFnZS1vdXRsZXQnKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRDbGFzcyhub2RlLCAncGFnZS1sb2FkLWluLXByb2dyZXNzJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgcGFnZUxvYWRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgIG9uUGFnZVJlbmRlcmVkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoc3Bpbm5lcklkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2FwcC1wYWdlLW91dGxldCcpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3Mobm9kZSwgJ3BhZ2UtbG9hZC1pbi1wcm9ncmVzcycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9uUGFnZVJlbmRlcmVkID0gbm9vcDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHAuYWN0aXZlUGFnZUxvYWRUaW1lID0gRGF0ZS5ub3coKSAtIHBhZ2VMb2FkU3RhcnRUaW1lO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+e1xuICAgICAgICAgICAgICAgICAgICBvblBhZ2VSZW5kZXJlZCgpO1xuICAgICAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLnN1YnNjcmliZSgncGFnZVJlYWR5JywgKCkgPT4ge1xuICAgICAgICAgICAgb25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5zdWJzY3JpYmUoJ3BhZ2VBdHRhY2gnLCAoKSA9PiB7XG4gICAgICAgICAgICBvblBhZ2VSZW5kZXJlZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm92aWRlcnNDb25maWc7XG4gICAgaXNPQXV0aERpYWxvZ09wZW4gPSBmYWxzZTtcblxuICAgIHNob3dPQXV0aERpYWxvZygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT0F1dGhEaWFsb2dPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmlzT0F1dGhEaWFsb2dPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKCdvQXV0aExvZ2luRGlhbG9nJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZU9BdXRoRGlhbG9nKCkge1xuICAgICAgICBpZiAodGhpcy5pc09BdXRoRGlhbG9nT3Blbikge1xuICAgICAgICAgICAgdGhpcy5pc09BdXRoRGlhbG9nT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsb3NlKCdvQXV0aExvZ2luRGlhbG9nJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0KCkge1xuICAgICAgICAvL3RvIGZpeCB0aGUgaXNzdWUgdGhhdCBoYXBwZW5zIG9ubHkgaW4gdGhlIGRldmVsb3BtZW50IG1vZGVcbiAgICAgICAgLy9FeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4gICAgICAgIC8vZml4OiBodHRwczovL2Jsb2cuYW5ndWxhci11bml2ZXJzaXR5LmlvL2FuZ3VsYXItZGVidWdnaW5nL1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRBcHAgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcC5keW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmID0gdGhpcy5keW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmO1xuICAgICAgICAgICAgdGhpcy5vdmVycmlkZVJvdXRlck91dGxldCgpO1xuICAgICAgICB9LCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvdmVycmlkZVJvdXRlck91dGxldCgpIHtcbiAgICAgICAgLy9vdmVycmlkZSB0aGUgYXR0YWNoL2RldGFjaCBtZXRob2RzXG4gICAgICAgIGNvbnN0IG9BdHRhY2ggPSB0aGlzLnJvdXRlck91dGxldC5hdHRhY2g7XG4gICAgICAgIGNvbnN0IG9EZXRhY2ggPSB0aGlzLnJvdXRlck91dGxldC5kZXRhY2g7XG4gICAgICAgIHRoaXMucm91dGVyT3V0bGV0LmF0dGFjaCA9IChjb21wb25lbnRSZWY6IGFueSkgPT4ge1xuICAgICAgICAgICAgb0F0dGFjaC5jYWxsKHRoaXMucm91dGVyT3V0bGV0LCBjb21wb25lbnRSZWYpO1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm5nT25BdHRhY2goKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5yb3V0ZXJPdXRsZXQuZGV0YWNoID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHAuYWN0aXZlUGFnZS5uZ09uRGV0YWNoKCk7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBvRGV0YWNoLmNhbGwodGhpcy5yb3V0ZXJPdXRsZXQpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2xhbmcnLCBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuZGVmYXVsdExhbmd1YWdlKTtcbiAgICAgICAgaWYgKGhhc0NvcmRvdmEoKSAmJiAhd2luZG93Wyd3bURldmljZVJlYWR5J10pIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3dtRGV2aWNlUmVhZHknICwgKCkgPT4gdGhpcy5zdGFydCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgJGludm9rZVdhdGNoZXJzKCk7XG4gICAgfVxufVxuIiwiQGlmIChzdGFydEFwcCkge1xuICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gIEBpZiAoaXNBcHBsaWNhdGlvblR5cGUpIHtcbiAgICA8ZGl2IHdtQ29udGFpbmVyIHBhcnRpYWxDb250YWluZXIgY29udGVudD1cIkNvbW1vblwiIGhpZGRlbiBjbGFzcz1cIm5nLWhpZGVcIj48L2Rpdj5cbiAgfVxuICA8YXBwLXNwaW5uZXIgbmFtZT1cImdsb2JhbHNwaW5uZXJcIiBjbGFzc25hbWU9XCJnbG9iYWwtc3Bpbm5lclwiIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwic3Bpbm5lci5hcmlhbGFiZWwgfHwgJ0xvYWRpbmcnXCIgW3Nob3ddPVwic3Bpbm5lci5zaG93XCIgW3NwaW5uZXJtZXNzYWdlc109XCJzcGlubmVyLm1lc3NhZ2VzXCI+PC9hcHAtc3Bpbm5lcj5cbiAgPGRpdiB3bURpYWxvZyBuYW1lPVwib0F1dGhMb2dpbkRpYWxvZ1wiIHRpdGxlPVwiQXBwbGljYXRpb24gaXMgcmVxdWVzdGluZyB5b3UgdG8gc2lnbiBpbiB3aXRoXCJcbiAgICBjbG9zZS5ldmVudD1cImNsb3NlT0F1dGhEaWFsb2coKVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGlhbG9nQm9keT5cbiAgICAgIDx1bCBjbGFzcz1cImxpc3QtaXRlbXNcIj5cbiAgICAgICAgQGZvciAocHJvdmlkZXIgb2YgcHJvdmlkZXJzQ29uZmlnOyB0cmFjayBwcm92aWRlcikge1xuICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtaXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJwcm92aWRlci5pbnZva2UoKVwiPnt7cHJvdmlkZXIubmFtZX19PC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgICAgPC91bD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiB3bUNvbmZpcm1EaWFsb2cgbmFtZT1cIl9hcHAtY29uZmlybS1kaWFsb2dcIiB0aXRsZS5iaW5kPVwidGl0bGVcIiBtZXNzYWdlLmJpbmQ9XCJtZXNzYWdlXCIgb2t0ZXh0LmJpbmQ9XCJva3RleHRcIlxuICAgIGNhbmNlbHRleHQuYmluZD1cImNhbmNlbHRleHRcIiBjbG9zYWJsZT1cImZhbHNlXCIgaWNvbmNsYXNzLmJpbmQ9XCJpY29uY2xhc3NcIlxuICBlc2NhcGUuZXZlbnQ9XCJvbkVzY2FwZSgpXCIgb2suZXZlbnQ9XCJvbk9rKClcIiBjYW5jZWwuZXZlbnQ9XCJvbkNhbmNlbCgpXCIgY2xvc2UuZXZlbnQ9XCJvbkNsb3NlKClcIiBvcGVuZWQuZXZlbnQ9XCJvbk9wZW4oKVwiPjwvZGl2PlxuICBAaWYgKCFpc0FwcGxpY2F0aW9uVHlwZSkge1xuICAgIDxkaXYgIHdtQ29uZmlybURpYWxvZyBuYW1lPVwiUHJlZmFiQ29uZmlybURpYWxvZ1wiIHRpdGxlLmJpbmQ9XCJ0aXRsZVwiIG1lc3NhZ2UuYmluZD1cInRleHRcIiBva3RleHQuYmluZD1cIm9rQnV0dG9uVGV4dFwiXG4gICAgICBjYW5jZWx0ZXh0LmJpbmQ9XCJjYW5jZWxCdXR0b25UZXh0XCIgY2xvc2FibGU9XCJmYWxzZVwiIGljb25jbGFzcy5iaW5kPVwiaWNvbmNsYXNzXCJcbiAgICBlc2NhcGUuZXZlbnQ9XCJvbkVzY2FwZSgpXCIgb2suZXZlbnQ9XCJvbk9rKClcIiBjYW5jZWwuZXZlbnQ9XCJvbkNhbmNlbCgpXCIgY2xvc2UuZXZlbnQ9XCJvbkNsb3NlKClcIiBvcGVuZWQuZXZlbnQ9XCJvbk9wZW4oKVwiPjwvZGl2PlxuICB9XG4gIEBpZiAoIWlzQXBwbGljYXRpb25UeXBlKSB7XG4gICAgPGRpdiAgd21BbGVydERpYWxvZyBuYW1lPVwiUHJlZmFiQWxlcnREaWFsb2dcIiB0aXRsZS5iaW5kPVwidGl0bGVcIiBtZXNzYWdlLmJpbmQ9XCJ0ZXh0XCIgb2t0ZXh0LmJpbmQ9XCJva0J1dHRvblRleHRcIlxuICAgICAgY2FuY2VsdGV4dC5iaW5kPVwiY2FuY2VsQnV0dG9uVGV4dFwiIGNsb3NhYmxlPVwiZmFsc2VcIiBpY29uY2xhc3MuYmluZD1cImljb25jbGFzc1wiXG4gICAgZXNjYXBlLmV2ZW50PVwib25Fc2NhcGUoKVwiIG9rLmV2ZW50PVwib25PaygpXCIgY2FuY2VsLmV2ZW50PVwib25DYW5jZWwoKVwiIGNsb3NlLmV2ZW50PVwib25DbG9zZSgpXCIgb3BlbmVkLmV2ZW50PVwib25PcGVuKClcIj48L2Rpdj5cbiAgfVxuICA8ZGl2IHdtQXBwRXh0PjwvZGl2PlxuICA8aSBpZD1cIndtLW1vYmlsZS1kaXNwbGF5XCI+PC9pPlxufVxuPCEtLUR1bW15IGNvbnRhaW5lciB0byBjcmVhdGUgdGhlIGNvbXBvbmVudCBkeW5hbWljYWxseS0tPlxuPG5nLWNvbnRhaW5lciAjZHluYW1pY0NvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -2,47 +2,51 @@ import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "@wm/components/base";
5
- function AppSpinnerComponent_div_0_p_4_Template(rf, ctx) { if (rf & 1) {
6
- i0.ɵɵelement(0, "p", 6);
5
+ function AppSpinnerComponent_Conditional_0_For_5_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelement(0, "p", 4);
7
7
  } if (rf & 2) {
8
8
  const value_r1 = ctx.$implicit;
9
9
  i0.ɵɵproperty("textContent", value_r1);
10
10
  } }
11
- function AppSpinnerComponent_div_0_Template(rf, ctx) { if (rf & 1) {
12
- i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
13
- i0.ɵɵelement(2, "i", 3);
14
- i0.ɵɵelementStart(3, "div", 4);
15
- i0.ɵɵtemplate(4, AppSpinnerComponent_div_0_p_4_Template, 1, 1, "p", 5);
11
+ function AppSpinnerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
13
+ i0.ɵɵelement(2, "i", 2);
14
+ i0.ɵɵelementStart(3, "div", 3);
15
+ i0.ɵɵrepeaterCreate(4, AppSpinnerComponent_Conditional_0_For_5_Template, 1, 1, "p", 4, i0.ɵɵrepeaterTrackByIdentity);
16
16
  i0.ɵɵelementEnd()()();
17
17
  } if (rf & 2) {
18
18
  const ctx_r1 = i0.ɵɵnextContext();
19
19
  i0.ɵɵproperty("ngClass", ctx_r1.classname);
20
20
  i0.ɵɵadvance(4);
21
- i0.ɵɵproperty("ngForOf", ctx_r1.spinnermessages);
21
+ i0.ɵɵrepeater(ctx_r1.spinnermessages);
22
22
  } }
23
23
  export class AppSpinnerComponent {
24
24
  constructor() { }
25
25
  static { this.ɵfac = function AppSpinnerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AppSpinnerComponent)(); }; }
26
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppSpinnerComponent, selectors: [["app-spinner"]], inputs: { show: "show", spinnermessages: "spinnermessages", classname: "classname", arialabel: "arialabel" }, decls: 1, vars: 1, consts: [["class", "app-spinner", 3, "ngClass", 4, "ngIf"], [1, "app-spinner", 3, "ngClass"], [1, "spinner-message"], [1, "spinner-image", "animated", "infinite", "fa", "fa-circle-o-notch", "fa-spin"], [1, "spinner-messages"], [3, "textContent", 4, "ngFor", "ngForOf"], [3, "textContent"]], template: function AppSpinnerComponent_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵtemplate(0, AppSpinnerComponent_div_0_Template, 5, 2, "div", 0);
26
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppSpinnerComponent, selectors: [["app-spinner"]], inputs: { show: "show", spinnermessages: "spinnermessages", classname: "classname", arialabel: "arialabel" }, decls: 1, vars: 1, consts: [[1, "app-spinner", 3, "ngClass"], [1, "spinner-message"], [1, "spinner-image", "animated", "infinite", "fa", "fa-circle-o-notch", "fa-spin"], [1, "spinner-messages"], [3, "textContent"]], template: function AppSpinnerComponent_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵtemplate(0, AppSpinnerComponent_Conditional_0_Template, 6, 1, "div", 0);
28
28
  } if (rf & 2) {
29
- i0.ɵɵproperty("ngIf", ctx.show);
30
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.TextContentDirective], encapsulation: 2 }); }
29
+ i0.ɵɵconditional(ctx.show ? 0 : -1);
30
+ } }, dependencies: [i1.NgClass, i2.TextContentDirective], encapsulation: 2 }); }
31
31
  }
32
32
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppSpinnerComponent, [{
33
33
  type: Component,
34
34
  args: [{
35
35
  selector: 'app-spinner',
36
36
  template: `
37
- <div class="app-spinner" [ngClass]="classname" *ngIf="show">
37
+ @if (show) {
38
+ <div class="app-spinner" [ngClass]="classname">
38
39
  <div class="spinner-message">
39
- <i class="spinner-image animated infinite fa fa-circle-o-notch fa-spin"></i>
40
- <div class="spinner-messages">
41
- <p *ngFor="let value of spinnermessages" [textContent]="value"></p>
42
- </div>
40
+ <i class="spinner-image animated infinite fa fa-circle-o-notch fa-spin"></i>
41
+ <div class="spinner-messages">
42
+ @for (value of spinnermessages; track value) {
43
+ <p [textContent]="value"></p>
44
+ }
45
+ </div>
43
46
  </div>
44
- </div>
45
- `
47
+ </div>
48
+ }
49
+ `
46
50
  }]
47
51
  }], () => [], { show: [{
48
52
  type: Input
@@ -53,5 +57,5 @@ export class AppSpinnerComponent {
53
57
  }], arialabel: [{
54
58
  type: Input
55
59
  }] }); })();
56
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AppSpinnerComponent, { className: "AppSpinnerComponent", filePath: "components/app-spinner.component.ts", lineNumber: 16 }); })();
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNwaW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2FwcC1zcGlubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7SUFTN0IsdUJBQW1FOzs7SUFBMUIsc0NBQXFCOzs7SUFIdEUsQUFESiw4QkFBNEQsYUFDM0I7SUFDekIsdUJBQTRFO0lBQzVFLDhCQUE4QjtJQUMxQixzRUFBK0Q7SUFHM0UsQUFESSxBQURJLGlCQUFNLEVBQ0osRUFDSjs7O0lBUG1CLDBDQUFxQjtJQUliLGVBQWtCO0lBQWxCLGdEQUFrQjs7QUFNM0QsTUFBTSxPQUFPLG1CQUFtQjtJQUs1QixnQkFBZSxDQUFDO29IQUxQLG1CQUFtQjtvRUFBbkIsbUJBQW1CO1lBVnhCLG9FQUE0RDs7WUFBWiwrQkFBVTs7O2lGQVVyRCxtQkFBbUI7Y0FiL0IsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUU7Ozs7Ozs7OztLQVNUO2FBQ0o7b0JBRVksSUFBSTtrQkFBWixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLOztrRkFKRyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXNwaW5uZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtc3Bpbm5lclwiIFtuZ0NsYXNzXT1cImNsYXNzbmFtZVwiICpuZ0lmPVwic2hvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic3Bpbm5lci1pbWFnZSBhbmltYXRlZCBpbmZpbml0ZSBmYSBmYS1jaXJjbGUtby1ub3RjaCBmYS1zcGluXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLW1lc3NhZ2VzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBzcGlubmVybWVzc2FnZXNcIiBbdGV4dENvbnRlbnRdPVwidmFsdWVcIj48L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBBcHBTcGlubmVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzaG93OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNwaW5uZXJtZXNzYWdlczogQXJyYXk8c3RyaW5nPjtcbiAgICBASW5wdXQoKSBjbGFzc25hbWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBhcmlhbGFiZWw6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
60
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AppSpinnerComponent, { className: "AppSpinnerComponent", filePath: "components/app-spinner.component.ts", lineNumber: 20 }); })();
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNwaW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2FwcC1zcGlubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7SUFXL0IsdUJBQTZCOzs7SUFBMUIsc0NBQXFCOzs7SUFKOUIsQUFERiw4QkFBK0MsYUFDaEI7SUFDM0IsdUJBQTRFO0lBQzVFLDhCQUE4QjtJQUM1QixvSEFFQztJQUdQLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0Y7OztJQVRtQiwwQ0FBcUI7SUFJeEMsZUFFQztJQUZELHFDQUVDOztBQU9qQixNQUFNLE9BQU8sbUJBQW1CO0lBSzVCLGdCQUFlLENBQUM7b0hBTFAsbUJBQW1CO29FQUFuQixtQkFBbUI7WUFkeEIsNEVBQVk7O1lBQVosbUNBV0M7OztpRkFHSSxtQkFBbUI7Y0FqQi9CLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O1NBYUw7YUFDUjtvQkFFWSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxlQUFlO2tCQUF2QixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7O2tGQUpHLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtc3Bpbm5lcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGlmIChzaG93KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1zcGlubmVyXCIgW25nQ2xhc3NdPVwiY2xhc3NuYW1lXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwic3Bpbm5lci1pbWFnZSBhbmltYXRlZCBpbmZpbml0ZSBmYSBmYS1jaXJjbGUtby1ub3RjaCBmYS1zcGluXCI+PC9pPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1tZXNzYWdlc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKHZhbHVlIG9mIHNwaW5uZXJtZXNzYWdlczsgdHJhY2sgdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIDxwIFt0ZXh0Q29udGVudF09XCJ2YWx1ZVwiPjwvcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgYFxufSlcbmV4cG9ydCBjbGFzcyBBcHBTcGlubmVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzaG93OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNwaW5uZXJtZXNzYWdlczogQXJyYXk8c3RyaW5nPjtcbiAgICBASW5wdXQoKSBjbGFzc25hbWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBhcmlhbGFiZWw6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
@@ -4,26 +4,26 @@ import { $watch, $appDigest } from '@wm/core';
4
4
  import { forEach, isString } from "lodash-es";
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "ngx-toastr";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@wm/components/base";
7
+ import * as i2 from "@wm/components/base";
8
+ import * as i3 from "@angular/common";
9
9
  const _c0 = ["customToast"];
10
10
  const _c1 = ["customToastTmpl"];
11
11
  const _c2 = ["custom-toaster-component", ""];
12
- function CustomToasterComponent_ng_template_3_div_1_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelement(0, "div", 5);
12
+ function CustomToasterComponent_ng_template_3_For_2_Template(rf, ctx) { if (rf & 1) {
13
+ i0.ɵɵelement(0, "div", 4);
14
14
  } if (rf & 2) {
15
15
  const param_r1 = ctx.$implicit;
16
16
  i0.ɵɵproperty("name", param_r1.key)("value", param_r1.value);
17
17
  } }
18
18
  function CustomToasterComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
19
19
  i0.ɵɵelementStart(0, "div", 3);
20
- i0.ɵɵtemplate(1, CustomToasterComponent_ng_template_3_div_1_Template, 1, 2, "div", 4);
21
- i0.ɵɵpipe(2, "keyvalue");
20
+ i0.ɵɵrepeaterCreate(1, CustomToasterComponent_ng_template_3_For_2_Template, 1, 2, "div", 4, i0.ɵɵrepeaterTrackByIdentity);
21
+ i0.ɵɵpipe(3, "keyvalue");
22
22
  i0.ɵɵelementEnd();
23
23
  } if (rf & 2) {
24
24
  const ctx_r1 = i0.ɵɵnextContext();
25
25
  i0.ɵɵadvance();
26
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx_r1.params));
26
+ i0.ɵɵrepeater(i0.ɵɵpipeBind1(3, 0, ctx_r1.params));
27
27
  } }
28
28
  export class CustomToasterComponent extends Toast {
29
29
  // constructor is only necessary when not using AoT
@@ -71,11 +71,11 @@ export class CustomToasterComponent extends Toast {
71
71
  let _t;
72
72
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customToastRef = _t.first);
73
73
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customToastTmpl = _t.first);
74
- } }, features: [i0.ɵɵInheritDefinitionFeature], attrs: _c2, decls: 5, vars: 0, consts: [["customToast", ""], ["customToastTmpl", ""], [1, "parent-custom-toast"], ["wmContainer", "", "partialContainer", "", "content.bind", "pagename"], ["wmParam", "", "hidden", "", 3, "name", "value", 4, "ngFor", "ngForOf"], ["wmParam", "", "hidden", "", 3, "name", "value"]], template: function CustomToasterComponent_Template(rf, ctx) { if (rf & 1) {
74
+ } }, features: [i0.ɵɵInheritDefinitionFeature], attrs: _c2, decls: 5, vars: 0, consts: [["customToast", ""], ["customToastTmpl", ""], [1, "parent-custom-toast"], ["wmContainer", "", "partialContainer", "", "content.bind", "pagename"], ["wmParam", "", "hidden", "", 3, "name", "value"]], template: function CustomToasterComponent_Template(rf, ctx) { if (rf & 1) {
75
75
  i0.ɵɵelement(0, "div", 2);
76
76
  i0.ɵɵelementContainer(1, null, 0);
77
- i0.ɵɵtemplate(3, CustomToasterComponent_ng_template_3_Template, 3, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
78
- } }, dependencies: [i2.NgForOf, i3.ContainerDirective, i3.PartialParamHandlerDirective, i3.PartialParamDirective, i3.PartialContainerDirective, i2.KeyValuePipe], encapsulation: 2 }); }
77
+ i0.ɵɵtemplate(3, CustomToasterComponent_ng_template_3_Template, 4, 2, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
78
+ } }, dependencies: [i2.ContainerDirective, i2.PartialParamHandlerDirective, i2.PartialParamDirective, i2.PartialContainerDirective, i3.KeyValuePipe], encapsulation: 2 }); }
79
79
  }
80
80
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomToasterComponent, [{
81
81
  type: Component,
@@ -85,10 +85,12 @@ export class CustomToasterComponent extends Toast {
85
85
  <div class="parent-custom-toast"></div>
86
86
  <ng-container #customToast></ng-container>
87
87
  <ng-template #customToastTmpl>
88
- <div wmContainer partialContainer content.bind="pagename">
89
- <div *ngFor="let param of params | keyvalue" wmParam hidden
90
- [name]="param.key" [value]="param.value"></div>
91
- </div>
88
+ <div wmContainer partialContainer content.bind="pagename">
89
+ @for (param of params | keyvalue; track param) {
90
+ <div wmParam hidden
91
+ [name]="param.key" [value]="param.value"></div>
92
+ }
93
+ </div>
92
94
  </ng-template>`,
93
95
  preserveWhitespaces: false
94
96
  }]
@@ -99,5 +101,5 @@ export class CustomToasterComponent extends Toast {
99
101
  type: ViewChild,
100
102
  args: ['customToastTmpl']
101
103
  }] }); })();
102
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CustomToasterComponent, { className: "CustomToasterComponent", filePath: "components/custom-toaster.component.ts", lineNumber: 23 }); })();
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRvYXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2N1c3RvbS10b2FzdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7O0lBVzVCLHlCQUNtRDs7O0lBQTVCLEFBQW5CLG1DQUFrQix5QkFBc0I7OztJQUZoRCw4QkFBMEQ7SUFDdEQscUZBQzZDOztJQUNqRCxpQkFBTTs7O0lBRnFCLGNBQW9CO0lBQXBCLDZEQUFvQjs7QUFNM0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLEtBQUs7SUFRN0MsbURBQW1EO0lBQ25ELFlBQ2MsYUFBNEIsRUFDL0IsWUFBMEI7UUFFakMsS0FBSyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUh6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQU5yQyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFRYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQseUZBQXlGO0lBQ3pGLGNBQWM7UUFDVixPQUFPLENBQU8sSUFBSSxDQUFDLE9BQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlELDZFQUE2RTtnQkFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNyQixLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDZixJQUFJLENBQUMsT0FBUSxDQUFDLE9BQU8sRUFDM0IsRUFBRSxFQUNGLEVBQUUsQ0FBQyxFQUFFO29CQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDN0IsVUFBVSxFQUFFLENBQUM7Z0JBQ2pCLENBQUMsQ0FDSixDQUFDLENBQUM7WUFDUCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMxQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLHdCQUF3QjtRQUMxQixNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTVCLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3QyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzt1SEFyRFEsc0JBQXNCO29FQUF0QixzQkFBc0I7bUNBRWlCLGdCQUFnQjs7Ozs7OztZQVo1RCx5QkFBdUM7WUFDdkMsaUNBQTBDO1lBQzFDLHdIQUE4Qjs7O2lGQVF6QixzQkFBc0I7Y0FibEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7dUJBUVM7Z0JBQ25CLG1CQUFtQixFQUFFLEtBQUs7YUFDN0I7eUVBR3VFLGNBQWM7a0JBQWpGLFNBQVM7bUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDcEMsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUI7O2tGQUhuQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgVGVtcGxhdGVSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUb2FzdCwgVG9hc3RQYWNrYWdlLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5cbmltcG9ydCB7ICR3YXRjaCwgJGFwcERpZ2VzdCB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7Zm9yRWFjaCwgaXNTdHJpbmd9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tjdXN0b20tdG9hc3Rlci1jb21wb25lbnRdJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFyZW50LWN1c3RvbS10b2FzdFwiPjwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICNjdXN0b21Ub2FzdD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjdXN0b21Ub2FzdFRtcGw+XG4gICAgICAgICAgICA8ZGl2IHdtQ29udGFpbmVyIHBhcnRpYWxDb250YWluZXIgY29udGVudC5iaW5kPVwicGFnZW5hbWVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwYXJhbSBvZiBwYXJhbXMgfCBrZXl2YWx1ZVwiIHdtUGFyYW0gaGlkZGVuXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInBhcmFtLmtleVwiIFt2YWx1ZV09XCJwYXJhbS52YWx1ZVwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21Ub2FzdGVyQ29tcG9uZW50IGV4dGVuZHMgVG9hc3QgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQFZpZXdDaGlsZCgnY3VzdG9tVG9hc3QnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBjdXN0b21Ub2FzdFJlZjogVmlld0NvbnRhaW5lclJlZjtcbiAgICBAVmlld0NoaWxkKCdjdXN0b21Ub2FzdFRtcGwnKSBjdXN0b21Ub2FzdFRtcGw6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcGFnZW5hbWU6IGFueTtcbiAgICB3YXRjaGVyczogYW55ID0gW107XG4gICAgcGFyYW1zOiBhbnkgPSB7fTtcblxuICAgIC8vIGNvbnN0cnVjdG9yIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gbm90IHVzaW5nIEFvVFxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICAgICAgcHVibGljIHRvYXN0UGFja2FnZTogVG9hc3RQYWNrYWdlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHRvYXN0clNlcnZpY2UsIHRvYXN0UGFja2FnZSk7XG4gICAgICAgIHRoaXMucGFnZW5hbWUgPSB0aGlzLm1lc3NhZ2UgfHwgJyc7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVQYXJhbXMoKTtcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSB0aGUgcGFyYW1zIGZvciBwYXJ0aWFsIHBhZ2UuIElmIGJvdW5kLCB3YXRjaCB0aGUgZXhwcmVzc2lvbiBhbmQgc2V0IHRoZSB2YWx1ZVxuICAgIGdlbmVyYXRlUGFyYW1zKCkge1xuICAgICAgICBmb3JFYWNoKCg8YW55PnRoaXMub3B0aW9ucykucGFydGlhbFBhcmFtcywgKHBhcmFtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNTdHJpbmcocGFyYW0udmFsdWUpICYmIHBhcmFtLnZhbHVlLmluZGV4T2YoJ2JpbmQ6JykgPT09IDApIHtcbiAgICAgICAgICAgICAgICAvL1tUb2RvLUNTUF06IGJpbmQgZXhwciBmbiBzaG91bGQgYmUgZ2VuZXJhdGVkIGluIHRoZSB0b2FzdGVyIGFjdGlvbiBmb3IgdGhpc1xuICAgICAgICAgICAgICAgIHRoaXMud2F0Y2hlcnMucHVzaCgkd2F0Y2goXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtLnZhbHVlLnN1YnN0cig1KSxcbiAgICAgICAgICAgICAgICAgICAgKDxhbnk+dGhpcy5vcHRpb25zKS5jb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICAgICAgbnYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbXNbcGFyYW0ubmFtZV0gPSBudjtcbiAgICAgICAgICAgICAgICAgICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmFtc1twYXJhbS5uYW1lXSA9IHBhcmFtLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBnZW5lcmF0ZUR5bmFtaWNDb21wb25lbnQoKSB7XG4gICAgICAgIGNvbnN0ICR0YXJnZXRMYXlvdXQgPSAkKCcucGFyZW50LWN1c3RvbS10b2FzdCcpO1xuXG4gICAgICAgIHRoaXMuY3VzdG9tVG9hc3RSZWYuY2xlYXIoKTtcblxuICAgICAgICAkdGFyZ2V0TGF5b3V0WzBdLmFwcGVuZENoaWxkKHRoaXMuY3VzdG9tVG9hc3RSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY3VzdG9tVG9hc3RUbXBsKS5yb290Tm9kZXNbMF0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUR5bmFtaWNDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgZm9yRWFjaCh0aGlzLndhdGNoZXJzLCB3YXRjaGVyID0+IHdhdGNoZXIoKSk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
104
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CustomToasterComponent, { className: "CustomToasterComponent", filePath: "components/custom-toaster.component.ts", lineNumber: 25 }); })();
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRvYXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2N1c3RvbS10b2FzdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7O0lBWTlCLHlCQUMrQzs7O0lBQTVCLEFBQW5CLG1DQUFrQix5QkFBc0I7OztJQUg1Qyw4QkFBMEQ7SUFDeEQseUhBR0M7O0lBQ0gsaUJBQU07OztJQUpKLGNBR0M7SUFIRCxrREFHQzs7QUFLYixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsS0FBSztJQVE3QyxtREFBbUQ7SUFDbkQsWUFDYyxhQUE0QixFQUMvQixZQUEwQjtRQUVqQyxLQUFLLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBSHpCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBTnJDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQVFiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCx5RkFBeUY7SUFDekYsY0FBYztRQUNWLE9BQU8sQ0FBTyxJQUFJLENBQUMsT0FBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUQsNkVBQTZFO2dCQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNmLElBQUksQ0FBQyxPQUFRLENBQUMsT0FBTyxFQUMzQixFQUFFLEVBQ0YsRUFBRSxDQUFDLEVBQUU7b0JBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUM3QixVQUFVLEVBQUUsQ0FBQztnQkFDakIsQ0FBQyxDQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsd0JBQXdCO1FBQzFCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUIsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDO3VIQXJEUSxzQkFBc0I7b0VBQXRCLHNCQUFzQjttQ0FFaUIsZ0JBQWdCOzs7Ozs7O1lBZDVELHlCQUF1QztZQUN2QyxpQ0FBMEM7WUFDMUMsd0hBQThCOzs7aUZBVXpCLHNCQUFzQjtjQWZsQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsUUFBUSxFQUFFOzs7Ozs7Ozs7O3VCQVVTO2dCQUNuQixtQkFBbUIsRUFBRSxLQUFLO2FBQzdCO3lFQUd1RSxjQUFjO2tCQUFqRixTQUFTO21CQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3BDLGVBQWU7a0JBQTVDLFNBQVM7bUJBQUMsaUJBQWlCOztrRkFIbkIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIFRlbXBsYXRlUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVG9hc3QsIFRvYXN0UGFja2FnZSwgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuXG5pbXBvcnQgeyAkd2F0Y2gsICRhcHBEaWdlc3QgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge2ZvckVhY2gsIGlzU3RyaW5nfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmRlY2xhcmUgY29uc3QgJDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbY3VzdG9tLXRvYXN0ZXItY29tcG9uZW50XScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInBhcmVudC1jdXN0b20tdG9hc3RcIj48L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAjY3VzdG9tVG9hc3Q+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tVG9hc3RUbXBsPlxuICAgICAgICAgIDxkaXYgd21Db250YWluZXIgcGFydGlhbENvbnRhaW5lciBjb250ZW50LmJpbmQ9XCJwYWdlbmFtZVwiPlxuICAgICAgICAgICAgQGZvciAocGFyYW0gb2YgcGFyYW1zIHwga2V5dmFsdWU7IHRyYWNrIHBhcmFtKSB7XG4gICAgICAgICAgICAgIDxkaXYgd21QYXJhbSBoaWRkZW5cbiAgICAgICAgICAgICAgW25hbWVdPVwicGFyYW0ua2V5XCIgW3ZhbHVlXT1cInBhcmFtLnZhbHVlXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21Ub2FzdGVyQ29tcG9uZW50IGV4dGVuZHMgVG9hc3QgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQFZpZXdDaGlsZCgnY3VzdG9tVG9hc3QnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBjdXN0b21Ub2FzdFJlZjogVmlld0NvbnRhaW5lclJlZjtcbiAgICBAVmlld0NoaWxkKCdjdXN0b21Ub2FzdFRtcGwnKSBjdXN0b21Ub2FzdFRtcGw6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcGFnZW5hbWU6IGFueTtcbiAgICB3YXRjaGVyczogYW55ID0gW107XG4gICAgcGFyYW1zOiBhbnkgPSB7fTtcblxuICAgIC8vIGNvbnN0cnVjdG9yIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gbm90IHVzaW5nIEFvVFxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICAgICAgcHVibGljIHRvYXN0UGFja2FnZTogVG9hc3RQYWNrYWdlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHRvYXN0clNlcnZpY2UsIHRvYXN0UGFja2FnZSk7XG4gICAgICAgIHRoaXMucGFnZW5hbWUgPSB0aGlzLm1lc3NhZ2UgfHwgJyc7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVQYXJhbXMoKTtcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSB0aGUgcGFyYW1zIGZvciBwYXJ0aWFsIHBhZ2UuIElmIGJvdW5kLCB3YXRjaCB0aGUgZXhwcmVzc2lvbiBhbmQgc2V0IHRoZSB2YWx1ZVxuICAgIGdlbmVyYXRlUGFyYW1zKCkge1xuICAgICAgICBmb3JFYWNoKCg8YW55PnRoaXMub3B0aW9ucykucGFydGlhbFBhcmFtcywgKHBhcmFtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNTdHJpbmcocGFyYW0udmFsdWUpICYmIHBhcmFtLnZhbHVlLmluZGV4T2YoJ2JpbmQ6JykgPT09IDApIHtcbiAgICAgICAgICAgICAgICAvL1tUb2RvLUNTUF06IGJpbmQgZXhwciBmbiBzaG91bGQgYmUgZ2VuZXJhdGVkIGluIHRoZSB0b2FzdGVyIGFjdGlvbiBmb3IgdGhpc1xuICAgICAgICAgICAgICAgIHRoaXMud2F0Y2hlcnMucHVzaCgkd2F0Y2goXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtLnZhbHVlLnN1YnN0cig1KSxcbiAgICAgICAgICAgICAgICAgICAgKDxhbnk+dGhpcy5vcHRpb25zKS5jb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICAgICAgbnYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbXNbcGFyYW0ubmFtZV0gPSBudjtcbiAgICAgICAgICAgICAgICAgICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmFtc1twYXJhbS5uYW1lXSA9IHBhcmFtLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBnZW5lcmF0ZUR5bmFtaWNDb21wb25lbnQoKSB7XG4gICAgICAgIGNvbnN0ICR0YXJnZXRMYXlvdXQgPSAkKCcucGFyZW50LWN1c3RvbS10b2FzdCcpO1xuXG4gICAgICAgIHRoaXMuY3VzdG9tVG9hc3RSZWYuY2xlYXIoKTtcblxuICAgICAgICAkdGFyZ2V0TGF5b3V0WzBdLmFwcGVuZENoaWxkKHRoaXMuY3VzdG9tVG9hc3RSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY3VzdG9tVG9hc3RUbXBsKS5yb290Tm9kZXNbMF0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUR5bmFtaWNDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgZm9yRWFjaCh0aGlzLndhdGNoZXJzLCB3YXRjaGVyID0+IHdhdGNoZXIoKSk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19