@wavemaker/app-ng-runtime 11.7.5-rc.5649 → 11.8.0-next.1417111

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 (1422) hide show
  1. app-ng-runtime/build-task/.npmignore +2 -0
  2. app-ng-runtime/build-task/bundles/index.umd.js +10 -3
  3. app-ng-runtime/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +4 -2
  4. app-ng-runtime/build-task/esm2022/advanced/carousel/carousel.build.mjs +1 -1
  5. app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +1 -1
  6. app-ng-runtime/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +1 -1
  7. app-ng-runtime/build-task/esm2022/containers/accordion/accordion.build.mjs +1 -1
  8. app-ng-runtime/build-task/esm2022/containers/repeat-template.build.mjs +4 -2
  9. app-ng-runtime/build-task/esm2022/containers/tabs/tabs.build.mjs +1 -1
  10. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +1 -1
  11. app-ng-runtime/build-task/esm2022/data/form/form.build.mjs +5 -2
  12. app-ng-runtime/build-task/esm2022/data/list/list.build.mjs +1 -1
  13. app-ng-runtime/build-task/esm2022/data/media-list/media-list.build.mjs +1 -1
  14. app-ng-runtime/build-task/esm2022/data/table/table-column/table-column.build.mjs +1 -1
  15. app-ng-runtime/build-task/esm2022/data/table/table.build.mjs +1 -1
  16. app-ng-runtime/build-task/esm2022/dialogs/partial-dialog/partial-dialog.build.mjs +1 -1
  17. app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +1 -1
  18. app-ng-runtime/build-task/esm2022/navigation/menu/menu.build.mjs +1 -1
  19. app-ng-runtime/build-task/esm2022/navigation/popover/popover.build.mjs +1 -1
  20. app-ng-runtime/build-task/esm2022/page/page-content/page-content.build.mjs +1 -1
  21. app-ng-runtime/build-task/esm2022/page/page.build.mjs +1 -1
  22. app-ng-runtime/build-task/esm2022/utils/utils.mjs +1 -1
  23. app-ng-runtime/build-task/fesm2022/index.mjs +11 -4
  24. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  25. app-ng-runtime/components/advanced/carousel/.npmignore +2 -0
  26. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +21 -11
  27. app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +2 -2
  28. app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -2
  29. app-ng-runtime/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +12 -7
  30. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +1 -1
  31. app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +12 -7
  32. app-ng-runtime/components/advanced/carousel/esm2022/carousel.module.mjs +2 -2
  33. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +23 -13
  34. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  35. app-ng-runtime/components/advanced/login/.npmignore +2 -0
  36. app-ng-runtime/components/advanced/login/bundles/index.umd.js +14 -8
  37. app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +15 -9
  38. app-ng-runtime/components/advanced/login/esm2022/login.module.mjs +2 -2
  39. app-ng-runtime/components/advanced/login/fesm2022/index.mjs +16 -10
  40. app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
  41. app-ng-runtime/components/advanced/login/login.component.d.ts +2 -2
  42. app-ng-runtime/components/advanced/marquee/.npmignore +2 -0
  43. app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +11 -6
  44. app-ng-runtime/components/advanced/marquee/esm2022/marquee.directive.mjs +12 -7
  45. app-ng-runtime/components/advanced/marquee/esm2022/marquee.module.mjs +2 -2
  46. app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs +13 -8
  47. app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  48. app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -2
  49. app-ng-runtime/components/base/.npmignore +2 -0
  50. app-ng-runtime/components/base/bundles/index.umd.js +159 -104
  51. app-ng-runtime/components/base/esm2022/components.module.mjs +2 -2
  52. app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +4 -4
  53. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +24 -24
  54. app-ng-runtime/components/base/esm2022/pipes/image.pipe.mjs +2 -2
  55. app-ng-runtime/components/base/esm2022/pipes/sanitize.pipe.mjs +3 -3
  56. app-ng-runtime/components/base/esm2022/pipes/trust-as.pipe.mjs +3 -3
  57. app-ng-runtime/components/base/esm2022/pipes/wm-pipe.mjs +1 -1
  58. app-ng-runtime/components/base/esm2022/utils/data-utils.mjs +1 -1
  59. app-ng-runtime/components/base/esm2022/utils/form-utils.mjs +2 -2
  60. app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +1 -1
  61. app-ng-runtime/components/base/esm2022/utils/widget-utils.mjs +1 -1
  62. app-ng-runtime/components/base/esm2022/widgets/common/base/base-container.component.mjs +5 -5
  63. app-ng-runtime/components/base/esm2022/widgets/common/base/base-field-validations.mjs +1 -1
  64. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +32 -7
  65. app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +13 -5
  66. app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +4 -4
  67. app-ng-runtime/components/base/esm2022/widgets/common/base/stylable.component.mjs +3 -3
  68. app-ng-runtime/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -3
  69. app-ng-runtime/components/base/esm2022/widgets/common/container/container.directive.mjs +12 -7
  70. app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -3
  71. app-ng-runtime/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +12 -7
  72. app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -3
  73. app-ng-runtime/components/base/esm2022/widgets/common/message/message.component.mjs +16 -10
  74. app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +12 -7
  75. app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +7 -7
  76. app-ng-runtime/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +1 -1
  77. app-ng-runtime/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +4 -4
  78. app-ng-runtime/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +12 -7
  79. app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +6 -6
  80. app-ng-runtime/components/base/esm2022/widgets/framework/deviceview.mjs +1 -1
  81. app-ng-runtime/components/base/esm2022/widgets/framework/property-change-handler.mjs +1 -1
  82. app-ng-runtime/components/base/esm2022/widgets/framework/styler.mjs +1 -1
  83. app-ng-runtime/components/base/esm2022/widgets/framework/widget-props.mjs +1 -1
  84. app-ng-runtime/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +1 -1
  85. app-ng-runtime/components/base/esm2022/widgets/framework/widget-registry.mjs +1 -1
  86. app-ng-runtime/components/base/fesm2022/index.mjs +157 -100
  87. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  88. app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -1
  89. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +4 -2
  90. app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -1
  91. app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -2
  92. app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +2 -2
  93. app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -2
  94. app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +2 -2
  95. app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +2 -2
  96. app-ng-runtime/components/basic/default/.npmignore +2 -0
  97. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +2 -2
  98. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -2
  99. app-ng-runtime/components/basic/default/bundles/index.umd.js +149 -106
  100. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +31 -27
  101. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +13 -7
  102. app-ng-runtime/components/basic/default/esm2022/basic.module.mjs +2 -2
  103. app-ng-runtime/components/basic/default/esm2022/html/html.directive.mjs +13 -8
  104. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +19 -14
  105. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +15 -9
  106. app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +12 -7
  107. app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +12 -7
  108. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +1 -1
  109. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +30 -27
  110. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +21 -17
  111. app-ng-runtime/components/basic/default/fesm2022/index.mjs +151 -108
  112. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  113. app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -2
  114. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -2
  115. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -2
  116. app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -2
  117. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -2
  118. app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -2
  119. app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -2
  120. app-ng-runtime/components/basic/progress/.npmignore +2 -0
  121. app-ng-runtime/components/basic/progress/bundles/index.umd.js +29 -17
  122. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +19 -13
  123. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +13 -7
  124. app-ng-runtime/components/basic/progress/esm2022/progress.module.mjs +2 -2
  125. app-ng-runtime/components/basic/progress/esm2022/utils.mjs +1 -1
  126. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +31 -19
  127. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  128. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -2
  129. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -2
  130. app-ng-runtime/components/basic/rich-text-editor/.npmignore +2 -0
  131. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +6 -5
  132. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +6 -5
  133. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +2 -2
  134. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +7 -6
  135. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  136. app-ng-runtime/components/basic/search/.npmignore +2 -0
  137. app-ng-runtime/components/basic/search/bundles/index.umd.js +120 -111
  138. app-ng-runtime/components/basic/search/esm2022/data-provider/data-provider.mjs +1 -1
  139. app-ng-runtime/components/basic/search/esm2022/data-provider/local-data-provider.mjs +1 -1
  140. app-ng-runtime/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +1 -1
  141. app-ng-runtime/components/basic/search/esm2022/scrollable.directive.mjs +3 -3
  142. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +119 -110
  143. app-ng-runtime/components/basic/search/esm2022/search.module.mjs +2 -2
  144. app-ng-runtime/components/basic/search/fesm2022/index.mjs +121 -112
  145. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  146. app-ng-runtime/components/basic/search/search.component.d.ts +2 -2
  147. app-ng-runtime/components/basic/tree/.npmignore +2 -0
  148. app-ng-runtime/components/basic/tree/bundles/index.umd.js +15 -9
  149. app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +16 -10
  150. app-ng-runtime/components/basic/tree/esm2022/tree.module.mjs +2 -2
  151. app-ng-runtime/components/basic/tree/fesm2022/index.mjs +17 -11
  152. app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
  153. app-ng-runtime/components/basic/tree/tree.component.d.ts +2 -2
  154. app-ng-runtime/components/chart/.npmignore +2 -0
  155. app-ng-runtime/components/chart/bundles/index.umd.js +26 -22
  156. app-ng-runtime/components/chart/chart.component.d.ts +2 -2
  157. app-ng-runtime/components/chart/esm2022/chart.component.mjs +26 -22
  158. app-ng-runtime/components/chart/esm2022/chart.module.mjs +2 -2
  159. app-ng-runtime/components/chart/esm2022/chart.utils.mjs +1 -1
  160. app-ng-runtime/components/chart/fesm2022/index.mjs +27 -23
  161. app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
  162. app-ng-runtime/components/containers/accordion/.npmignore +2 -0
  163. app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -2
  164. app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +2 -2
  165. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +35 -24
  166. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +23 -17
  167. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.props.mjs +4 -4
  168. app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +12 -7
  169. app-ng-runtime/components/containers/accordion/esm2022/accordion.module.mjs +2 -2
  170. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +37 -26
  171. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  172. app-ng-runtime/components/containers/layout-grid/.npmignore +2 -0
  173. app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +32 -17
  174. app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +13 -8
  175. app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +12 -7
  176. app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +12 -7
  177. app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.module.mjs +2 -2
  178. app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs +34 -19
  179. app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  180. app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +2 -2
  181. app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -2
  182. app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -2
  183. app-ng-runtime/components/containers/linear-layout/.npmignore +2 -0
  184. app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +21 -11
  185. app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +12 -7
  186. app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +12 -7
  187. app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.module.mjs +2 -2
  188. app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs +23 -13
  189. app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  190. app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -2
  191. app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -2
  192. app-ng-runtime/components/containers/panel/.npmignore +2 -0
  193. app-ng-runtime/components/containers/panel/bundles/index.umd.js +80 -80
  194. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +81 -81
  195. app-ng-runtime/components/containers/panel/esm2022/panel.module.mjs +2 -2
  196. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +82 -82
  197. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  198. app-ng-runtime/components/containers/panel/panel.component.d.ts +2 -2
  199. app-ng-runtime/components/containers/tabs/.npmignore +2 -0
  200. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +58 -47
  201. app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +14 -8
  202. app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.props.mjs +4 -4
  203. app-ng-runtime/components/containers/tabs/esm2022/tabs.animator.mjs +1 -1
  204. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +44 -39
  205. app-ng-runtime/components/containers/tabs/esm2022/tabs.module.mjs +2 -2
  206. app-ng-runtime/components/containers/tabs/esm2022/tabs.props.mjs +1 -1
  207. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +60 -49
  208. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  209. app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -2
  210. app-ng-runtime/components/containers/tabs/tabs.component.d.ts +2 -2
  211. app-ng-runtime/components/containers/tile/.npmignore +2 -0
  212. app-ng-runtime/components/containers/tile/bundles/index.umd.js +11 -6
  213. app-ng-runtime/components/containers/tile/esm2022/tile.directive.mjs +12 -7
  214. app-ng-runtime/components/containers/tile/esm2022/tile.module.mjs +2 -2
  215. app-ng-runtime/components/containers/tile/fesm2022/index.mjs +13 -8
  216. app-ng-runtime/components/containers/tile/fesm2022/index.mjs.map +1 -1
  217. app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -2
  218. app-ng-runtime/components/containers/wizard/.npmignore +2 -0
  219. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +102 -98
  220. app-ng-runtime/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +13 -8
  221. app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +92 -93
  222. app-ng-runtime/components/containers/wizard/esm2022/wizard.module.mjs +2 -2
  223. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +104 -100
  224. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  225. app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -2
  226. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -2
  227. app-ng-runtime/components/data/card/.npmignore +2 -0
  228. app-ng-runtime/components/data/card/bundles/index.umd.js +70 -50
  229. app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -2
  230. app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -2
  231. app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -2
  232. app-ng-runtime/components/data/card/card.component.d.ts +2 -2
  233. app-ng-runtime/components/data/card/esm2022/card-actions/card-actions.directive.mjs +12 -7
  234. app-ng-runtime/components/data/card/esm2022/card-content/card-content.component.mjs +15 -9
  235. app-ng-runtime/components/data/card/esm2022/card-footer/card-footer.directive.mjs +12 -7
  236. app-ng-runtime/components/data/card/esm2022/card.component.mjs +38 -34
  237. app-ng-runtime/components/data/card/esm2022/card.module.mjs +2 -2
  238. app-ng-runtime/components/data/card/fesm2022/index.mjs +72 -52
  239. app-ng-runtime/components/data/card/fesm2022/index.mjs.map +1 -1
  240. app-ng-runtime/components/data/form/.npmignore +2 -0
  241. app-ng-runtime/components/data/form/bundles/index.umd.js +127 -115
  242. app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +13 -8
  243. app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +13 -7
  244. app-ng-runtime/components/data/form/esm2022/form-field/form-field.props.mjs +1 -1
  245. app-ng-runtime/components/data/form/esm2022/form-widget.directive.mjs +4 -4
  246. app-ng-runtime/components/data/form/esm2022/form.component.mjs +87 -84
  247. app-ng-runtime/components/data/form/esm2022/form.module.mjs +2 -2
  248. app-ng-runtime/components/data/form/esm2022/form.props.mjs +1 -1
  249. app-ng-runtime/components/data/form/esm2022/live-actions/dependson.directive.mjs +4 -4
  250. app-ng-runtime/components/data/form/esm2022/live-actions/live-actions.directive.mjs +4 -4
  251. app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +5 -5
  252. app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +6 -8
  253. app-ng-runtime/components/data/form/fesm2022/index.mjs +129 -117
  254. app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
  255. app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -2
  256. app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +2 -2
  257. app-ng-runtime/components/data/form/form.component.d.ts +2 -2
  258. app-ng-runtime/components/data/list/.npmignore +2 -0
  259. app-ng-runtime/components/data/list/bundles/index.umd.js +142 -142
  260. app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +4 -4
  261. app-ng-runtime/components/data/list/esm2022/list.animator.mjs +1 -1
  262. app-ng-runtime/components/data/list/esm2022/list.component.mjs +140 -140
  263. app-ng-runtime/components/data/list/esm2022/list.module.mjs +2 -2
  264. app-ng-runtime/components/data/list/fesm2022/index.mjs +144 -144
  265. app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
  266. app-ng-runtime/components/data/list/list.component.d.ts +2 -2
  267. app-ng-runtime/components/data/live-table/.npmignore +2 -0
  268. app-ng-runtime/components/data/live-table/bundles/index.umd.js +13 -7
  269. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +14 -8
  270. app-ng-runtime/components/data/live-table/esm2022/live-table.module.mjs +2 -2
  271. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +15 -9
  272. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  273. app-ng-runtime/components/data/live-table/live-table.component.d.ts +2 -2
  274. app-ng-runtime/components/data/pagination/.npmignore +2 -0
  275. app-ng-runtime/components/data/pagination/bundles/index.umd.js +98 -96
  276. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +99 -97
  277. app-ng-runtime/components/data/pagination/esm2022/pagination.module.mjs +2 -2
  278. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +100 -98
  279. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  280. app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -2
  281. app-ng-runtime/components/data/table/.npmignore +2 -0
  282. app-ng-runtime/components/data/table/bundles/index.umd.js +128 -97
  283. app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +13 -8
  284. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +13 -8
  285. app-ng-runtime/components/data/table/esm2022/table-column/table-column.props.mjs +2 -2
  286. app-ng-runtime/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +13 -8
  287. app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +4 -4
  288. app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +4 -4
  289. app-ng-runtime/components/data/table/esm2022/table-row/table-row.directive.mjs +13 -8
  290. app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +12 -7
  291. app-ng-runtime/components/data/table/esm2022/table.component.mjs +66 -60
  292. app-ng-runtime/components/data/table/esm2022/table.module.mjs +2 -2
  293. app-ng-runtime/components/data/table/esm2022/table.props.mjs +2 -2
  294. app-ng-runtime/components/data/table/fesm2022/index.mjs +130 -99
  295. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  296. app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -2
  297. app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +2 -2
  298. app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -2
  299. app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -2
  300. app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -2
  301. app-ng-runtime/components/data/table/table.component.d.ts +2 -2
  302. app-ng-runtime/components/dialogs/alert-dialog/.npmignore +2 -0
  303. app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -2
  304. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +15 -9
  305. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +16 -10
  306. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +2 -2
  307. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +17 -11
  308. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  309. app-ng-runtime/components/dialogs/confirm-dialog/.npmignore +2 -0
  310. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +17 -11
  311. app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -2
  312. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +18 -12
  313. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +2 -2
  314. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +19 -13
  315. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  316. app-ng-runtime/components/dialogs/default/.npmignore +2 -0
  317. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +2 -2
  318. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +73 -69
  319. app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -2
  320. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +13 -8
  321. app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +4 -4
  322. app-ng-runtime/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +12 -7
  323. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +49 -55
  324. app-ng-runtime/components/dialogs/default/esm2022/dialog.module.mjs +2 -2
  325. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +75 -71
  326. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  327. app-ng-runtime/components/dialogs/design-dialog/.npmignore +2 -0
  328. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +20 -14
  329. app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -2
  330. app-ng-runtime/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +2 -2
  331. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +21 -15
  332. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +22 -16
  333. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  334. app-ng-runtime/components/dialogs/iframe-dialog/.npmignore +2 -0
  335. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -14
  336. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -15
  337. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +2 -2
  338. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +22 -16
  339. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  340. app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -2
  341. app-ng-runtime/components/dialogs/login-dialog/.npmignore +2 -0
  342. app-ng-runtime/components/dialogs/login-dialog/bundles/index.umd.js +4 -4
  343. app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +4 -4
  344. app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +2 -2
  345. app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs +4 -4
  346. app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  347. app-ng-runtime/components/dialogs/partial-dialog/.npmignore +2 -0
  348. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +16 -10
  349. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +17 -11
  350. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +2 -2
  351. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +18 -12
  352. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  353. app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +2 -2
  354. app-ng-runtime/components/input/calendar/.npmignore +2 -0
  355. app-ng-runtime/components/input/calendar/bundles/index.umd.js +14 -8
  356. app-ng-runtime/components/input/calendar/calendar.component.d.ts +2 -2
  357. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +15 -9
  358. app-ng-runtime/components/input/calendar/esm2022/calendar.module.mjs +2 -2
  359. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +16 -10
  360. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  361. app-ng-runtime/components/input/chips/.npmignore +2 -0
  362. app-ng-runtime/components/input/chips/bundles/index.umd.js +41 -34
  363. app-ng-runtime/components/input/chips/chips.component.d.ts +2 -2
  364. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +42 -35
  365. app-ng-runtime/components/input/chips/esm2022/chips.module.mjs +2 -2
  366. app-ng-runtime/components/input/chips/fesm2022/index.mjs +42 -35
  367. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  368. app-ng-runtime/components/input/color-picker/.npmignore +2 -0
  369. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +24 -11
  370. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -2
  371. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +25 -12
  372. app-ng-runtime/components/input/color-picker/esm2022/color-picker.module.mjs +2 -2
  373. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +25 -12
  374. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  375. app-ng-runtime/components/input/currency/.npmignore +2 -0
  376. app-ng-runtime/components/input/currency/bundles/index.umd.js +18 -11
  377. app-ng-runtime/components/input/currency/currency.component.d.ts +2 -2
  378. app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +19 -12
  379. app-ng-runtime/components/input/currency/esm2022/currency.module.mjs +2 -2
  380. app-ng-runtime/components/input/currency/fesm2022/index.mjs +19 -12
  381. app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
  382. app-ng-runtime/components/input/default/.npmignore +2 -0
  383. app-ng-runtime/components/input/default/bundles/index.umd.js +540 -416
  384. app-ng-runtime/components/input/default/button/button.component.d.ts +2 -2
  385. app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -2
  386. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +2 -2
  387. app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -2
  388. app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -2
  389. app-ng-runtime/components/input/default/esm2022/base-form-custom.component.mjs +3 -3
  390. app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +4 -4
  391. app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +32 -28
  392. app-ng-runtime/components/input/default/esm2022/button-group/button-group.directive.mjs +12 -7
  393. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +5 -4
  394. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +23 -14
  395. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +103 -101
  396. app-ng-runtime/components/input/default/esm2022/composite/composite.directive.mjs +12 -7
  397. app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +4 -4
  398. app-ng-runtime/components/input/default/esm2022/input.module.mjs +2 -2
  399. app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +17 -10
  400. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +103 -101
  401. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +72 -55
  402. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +34 -28
  403. app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +13 -8
  404. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +21 -11
  405. app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +21 -11
  406. app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +20 -11
  407. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +16 -7
  408. app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +21 -12
  409. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +20 -11
  410. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +21 -12
  411. app-ng-runtime/components/input/default/fesm2022/index.mjs +540 -414
  412. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  413. app-ng-runtime/components/input/default/number/number.component.d.ts +2 -2
  414. app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -2
  415. app-ng-runtime/components/input/default/select/select.component.d.ts +4 -3
  416. app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -2
  417. app-ng-runtime/components/input/default/text/base/base-input.d.ts +2 -2
  418. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -2
  419. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -2
  420. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -2
  421. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -1
  422. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -2
  423. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -2
  424. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -2
  425. app-ng-runtime/components/input/epoch/.npmignore +2 -0
  426. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -1
  427. app-ng-runtime/components/input/epoch/bundles/index.umd.js +145 -112
  428. app-ng-runtime/components/input/epoch/date/date.component.d.ts +2 -2
  429. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -2
  430. app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +11 -6
  431. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +26 -19
  432. app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -2
  433. app-ng-runtime/components/input/epoch/esm2022/date/imaskUtil.mjs +1 -1
  434. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +40 -40
  435. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +41 -31
  436. app-ng-runtime/components/input/epoch/esm2022/epoch.module.mjs +2 -2
  437. app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +7 -5
  438. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +28 -19
  439. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +147 -114
  440. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  441. app-ng-runtime/components/input/epoch/time/time.component.d.ts +2 -2
  442. app-ng-runtime/components/input/file-upload/.npmignore +2 -0
  443. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +119 -121
  444. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +120 -122
  445. app-ng-runtime/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
  446. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +121 -123
  447. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  448. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +2 -2
  449. app-ng-runtime/components/input/rating/.npmignore +2 -0
  450. app-ng-runtime/components/input/rating/bundles/index.umd.js +46 -39
  451. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +47 -40
  452. app-ng-runtime/components/input/rating/esm2022/rating.module.mjs +2 -2
  453. app-ng-runtime/components/input/rating/fesm2022/index.mjs +47 -40
  454. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  455. app-ng-runtime/components/input/rating/rating.component.d.ts +2 -2
  456. app-ng-runtime/components/input/slider/.npmignore +2 -0
  457. app-ng-runtime/components/input/slider/bundles/index.umd.js +21 -12
  458. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +22 -13
  459. app-ng-runtime/components/input/slider/esm2022/slider.module.mjs +2 -2
  460. app-ng-runtime/components/input/slider/fesm2022/index.mjs +22 -13
  461. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  462. app-ng-runtime/components/input/slider/slider.component.d.ts +2 -2
  463. app-ng-runtime/components/navigation/breadcrumb/.npmignore +2 -0
  464. app-ng-runtime/components/navigation/breadcrumb/breadcrumb.component.d.ts +2 -2
  465. app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +33 -28
  466. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +34 -29
  467. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +2 -2
  468. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +35 -30
  469. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  470. app-ng-runtime/components/navigation/menu/.npmignore +2 -0
  471. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +133 -117
  472. app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +11 -6
  473. app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +5 -4
  474. app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +23 -23
  475. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +37 -34
  476. app-ng-runtime/components/navigation/menu/esm2022/menu.module.mjs +2 -2
  477. app-ng-runtime/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +12 -7
  478. app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +52 -50
  479. app-ng-runtime/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +3 -3
  480. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +135 -119
  481. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  482. app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -1
  483. app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -2
  484. app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -2
  485. app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +2 -2
  486. app-ng-runtime/components/navigation/navbar/.npmignore +2 -0
  487. app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +29 -22
  488. app-ng-runtime/components/navigation/navbar/esm2022/navbar.component.mjs +30 -23
  489. app-ng-runtime/components/navigation/navbar/esm2022/navbar.module.mjs +2 -2
  490. app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs +31 -24
  491. app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  492. app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -2
  493. app-ng-runtime/components/navigation/popover/.npmignore +2 -0
  494. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +18 -11
  495. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +19 -12
  496. app-ng-runtime/components/navigation/popover/esm2022/popover.module.mjs +2 -2
  497. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +20 -13
  498. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  499. app-ng-runtime/components/navigation/popover/popover.component.d.ts +2 -2
  500. app-ng-runtime/components/page/default/.npmignore +2 -0
  501. app-ng-runtime/components/page/default/bundles/index.umd.js +63 -31
  502. app-ng-runtime/components/page/default/content/content.component.d.ts +2 -2
  503. app-ng-runtime/components/page/default/esm2022/content/content.component.mjs +13 -7
  504. app-ng-runtime/components/page/default/esm2022/layout.directive.mjs +12 -7
  505. app-ng-runtime/components/page/default/esm2022/page-content/page-content.component.mjs +13 -7
  506. app-ng-runtime/components/page/default/esm2022/page.directive.mjs +12 -7
  507. app-ng-runtime/components/page/default/esm2022/page.module.mjs +2 -2
  508. app-ng-runtime/components/page/default/esm2022/router-outlet.directive.mjs +12 -7
  509. app-ng-runtime/components/page/default/esm2022/spa-page.directive.mjs +12 -7
  510. app-ng-runtime/components/page/default/fesm2022/index.mjs +65 -33
  511. app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
  512. app-ng-runtime/components/page/default/layout.directive.d.ts +2 -2
  513. app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +2 -2
  514. app-ng-runtime/components/page/default/page.directive.d.ts +2 -2
  515. app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -2
  516. app-ng-runtime/components/page/default/spa-page.directive.d.ts +2 -2
  517. app-ng-runtime/components/page/footer/.npmignore +2 -0
  518. app-ng-runtime/components/page/footer/bundles/index.umd.js +11 -6
  519. app-ng-runtime/components/page/footer/esm2022/footer.directive.mjs +12 -7
  520. app-ng-runtime/components/page/footer/esm2022/footer.module.mjs +2 -2
  521. app-ng-runtime/components/page/footer/fesm2022/index.mjs +13 -8
  522. app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
  523. app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -2
  524. app-ng-runtime/components/page/header/.npmignore +2 -0
  525. app-ng-runtime/components/page/header/bundles/index.umd.js +12 -6
  526. app-ng-runtime/components/page/header/esm2022/header.component.mjs +13 -7
  527. app-ng-runtime/components/page/header/esm2022/header.module.mjs +2 -2
  528. app-ng-runtime/components/page/header/fesm2022/index.mjs +14 -8
  529. app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
  530. app-ng-runtime/components/page/header/header.component.d.ts +2 -2
  531. app-ng-runtime/components/page/left-panel/.npmignore +2 -0
  532. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +12 -7
  533. app-ng-runtime/components/page/left-panel/esm2022/left-panel.animator.mjs +1 -1
  534. app-ng-runtime/components/page/left-panel/esm2022/left-panel.directive.mjs +13 -8
  535. app-ng-runtime/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
  536. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +14 -9
  537. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  538. app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +2 -2
  539. app-ng-runtime/components/page/right-panel/.npmignore +2 -0
  540. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +11 -6
  541. app-ng-runtime/components/page/right-panel/esm2022/right-panel.directive.mjs +12 -7
  542. app-ng-runtime/components/page/right-panel/esm2022/right-panel.module.mjs +2 -2
  543. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +13 -8
  544. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  545. app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -2
  546. app-ng-runtime/components/page/top-nav/.npmignore +2 -0
  547. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +11 -6
  548. app-ng-runtime/components/page/top-nav/esm2022/top-nav.directive.mjs +12 -7
  549. app-ng-runtime/components/page/top-nav/esm2022/top-nav.module.mjs +2 -2
  550. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +13 -8
  551. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  552. app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -2
  553. app-ng-runtime/components/prefab/.npmignore +2 -0
  554. app-ng-runtime/components/prefab/bundles/index.umd.js +22 -12
  555. app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +12 -7
  556. app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +13 -8
  557. app-ng-runtime/components/prefab/esm2022/prefab.module.mjs +2 -2
  558. app-ng-runtime/components/prefab/fesm2022/index.mjs +23 -13
  559. app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
  560. app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +2 -2
  561. app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -2
  562. app-ng-runtime/core/.npmignore +2 -0
  563. app-ng-runtime/core/bundles/index.umd.js +16 -16
  564. app-ng-runtime/core/esm2022/core.module.mjs +2 -2
  565. app-ng-runtime/core/esm2022/services/constant.service.mjs +2 -2
  566. app-ng-runtime/core/esm2022/services/field-type.service.mjs +3 -3
  567. app-ng-runtime/core/esm2022/services/field-widget.service.mjs +3 -3
  568. app-ng-runtime/core/esm2022/services/pagination.service.mjs +2 -2
  569. app-ng-runtime/core/esm2022/services/script-loader.service.mjs +3 -3
  570. app-ng-runtime/core/esm2022/services/state-persistence.service.mjs +2 -2
  571. app-ng-runtime/core/esm2022/services/user-custom-pipe-manager.service.mjs +2 -2
  572. app-ng-runtime/core/esm2022/services/utils.service.mjs +3 -3
  573. app-ng-runtime/core/esm2022/services/viewport.service.mjs +3 -3
  574. app-ng-runtime/core/esm2022/utils/build-utils.mjs +1 -1
  575. app-ng-runtime/core/esm2022/utils/dom.mjs +1 -1
  576. app-ng-runtime/core/esm2022/utils/event-notifier.mjs +1 -1
  577. app-ng-runtime/core/esm2022/utils/expression-parser.mjs +2 -2
  578. app-ng-runtime/core/esm2022/utils/id-generator.mjs +1 -1
  579. app-ng-runtime/core/esm2022/utils/lru-cache.mjs +1 -1
  580. app-ng-runtime/core/esm2022/utils/utils.mjs +1 -1
  581. app-ng-runtime/core/esm2022/utils/watcher.mjs +1 -1
  582. app-ng-runtime/core/esm2022/utils/wm-project-properties.mjs +1 -1
  583. app-ng-runtime/core/fesm2022/index.mjs +17 -17
  584. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  585. app-ng-runtime/http/.npmignore +2 -0
  586. app-ng-runtime/http/bundles/index.umd.js +3 -3
  587. app-ng-runtime/http/esm2022/http-service.module.mjs +2 -2
  588. app-ng-runtime/http/esm2022/http.service.mjs +3 -3
  589. app-ng-runtime/http/fesm2022/index.mjs +3 -3
  590. app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
  591. app-ng-runtime/locales/angular/global/af-na.js +4 -4
  592. app-ng-runtime/locales/angular/global/af.js +4 -4
  593. app-ng-runtime/locales/angular/global/agq.js +4 -4
  594. app-ng-runtime/locales/angular/global/ak.js +4 -4
  595. app-ng-runtime/locales/angular/global/am.js +4 -4
  596. app-ng-runtime/locales/angular/global/ar-ae.js +4 -4
  597. app-ng-runtime/locales/angular/global/ar-bh.js +4 -4
  598. app-ng-runtime/locales/angular/global/ar-dj.js +4 -4
  599. app-ng-runtime/locales/angular/global/ar-dz.js +4 -4
  600. app-ng-runtime/locales/angular/global/ar-eg.js +4 -4
  601. app-ng-runtime/locales/angular/global/ar-eh.js +4 -4
  602. app-ng-runtime/locales/angular/global/ar-er.js +4 -4
  603. app-ng-runtime/locales/angular/global/ar-il.js +4 -4
  604. app-ng-runtime/locales/angular/global/ar-iq.js +4 -4
  605. app-ng-runtime/locales/angular/global/ar-jo.js +4 -4
  606. app-ng-runtime/locales/angular/global/ar-km.js +4 -4
  607. app-ng-runtime/locales/angular/global/ar-kw.js +4 -4
  608. app-ng-runtime/locales/angular/global/ar-lb.js +4 -4
  609. app-ng-runtime/locales/angular/global/ar-ly.js +4 -4
  610. app-ng-runtime/locales/angular/global/ar-ma.js +4 -4
  611. app-ng-runtime/locales/angular/global/ar-mr.js +4 -4
  612. app-ng-runtime/locales/angular/global/ar-om.js +4 -4
  613. app-ng-runtime/locales/angular/global/ar-ps.js +4 -4
  614. app-ng-runtime/locales/angular/global/ar-qa.js +4 -4
  615. app-ng-runtime/locales/angular/global/ar-sa.js +4 -4
  616. app-ng-runtime/locales/angular/global/ar-sd.js +4 -4
  617. app-ng-runtime/locales/angular/global/ar-so.js +4 -4
  618. app-ng-runtime/locales/angular/global/ar-ss.js +4 -4
  619. app-ng-runtime/locales/angular/global/ar-sy.js +4 -4
  620. app-ng-runtime/locales/angular/global/ar-td.js +4 -4
  621. app-ng-runtime/locales/angular/global/ar-tn.js +4 -4
  622. app-ng-runtime/locales/angular/global/ar-ye.js +4 -4
  623. app-ng-runtime/locales/angular/global/ar.js +4 -4
  624. app-ng-runtime/locales/angular/global/as.js +4 -4
  625. app-ng-runtime/locales/angular/global/asa.js +4 -4
  626. app-ng-runtime/locales/angular/global/ast.js +4 -4
  627. app-ng-runtime/locales/angular/global/az-cyrl.js +4 -4
  628. app-ng-runtime/locales/angular/global/az-latn.js +4 -4
  629. app-ng-runtime/locales/angular/global/az.js +4 -4
  630. app-ng-runtime/locales/angular/global/bas.js +4 -4
  631. app-ng-runtime/locales/angular/global/be-tarask.js +4 -4
  632. app-ng-runtime/locales/angular/global/be.js +4 -4
  633. app-ng-runtime/locales/angular/global/bem.js +4 -4
  634. app-ng-runtime/locales/angular/global/bez.js +4 -4
  635. app-ng-runtime/locales/angular/global/bg.js +4 -4
  636. app-ng-runtime/locales/angular/global/bm.js +4 -4
  637. app-ng-runtime/locales/angular/global/bn-in.js +4 -4
  638. app-ng-runtime/locales/angular/global/bn.js +4 -4
  639. app-ng-runtime/locales/angular/global/bo-in.js +4 -4
  640. app-ng-runtime/locales/angular/global/bo.js +4 -4
  641. app-ng-runtime/locales/angular/global/br.js +4 -4
  642. app-ng-runtime/locales/angular/global/brx.js +4 -4
  643. app-ng-runtime/locales/angular/global/bs-cyrl.js +4 -4
  644. app-ng-runtime/locales/angular/global/bs-latn.js +4 -4
  645. app-ng-runtime/locales/angular/global/bs.js +4 -4
  646. app-ng-runtime/locales/angular/global/ca-ad.js +4 -4
  647. app-ng-runtime/locales/angular/global/ca-es-valencia.js +4 -4
  648. app-ng-runtime/locales/angular/global/ca-fr.js +4 -4
  649. app-ng-runtime/locales/angular/global/ca-it.js +4 -4
  650. app-ng-runtime/locales/angular/global/ca.js +4 -4
  651. app-ng-runtime/locales/angular/global/ccp-in.js +4 -4
  652. app-ng-runtime/locales/angular/global/ccp.js +4 -4
  653. app-ng-runtime/locales/angular/global/ce.js +4 -4
  654. app-ng-runtime/locales/angular/global/ceb.js +4 -4
  655. app-ng-runtime/locales/angular/global/cgg.js +4 -4
  656. app-ng-runtime/locales/angular/global/chr.js +4 -4
  657. app-ng-runtime/locales/angular/global/ckb-ir.js +4 -4
  658. app-ng-runtime/locales/angular/global/ckb.js +4 -4
  659. app-ng-runtime/locales/angular/global/cs.js +4 -4
  660. app-ng-runtime/locales/angular/global/cy.js +4 -4
  661. app-ng-runtime/locales/angular/global/da-gl.js +4 -4
  662. app-ng-runtime/locales/angular/global/da.js +4 -4
  663. app-ng-runtime/locales/angular/global/dav.js +4 -4
  664. app-ng-runtime/locales/angular/global/de-at.js +4 -4
  665. app-ng-runtime/locales/angular/global/de-be.js +4 -4
  666. app-ng-runtime/locales/angular/global/de-ch.js +4 -4
  667. app-ng-runtime/locales/angular/global/de-it.js +4 -4
  668. app-ng-runtime/locales/angular/global/de-li.js +4 -4
  669. app-ng-runtime/locales/angular/global/de-lu.js +4 -4
  670. app-ng-runtime/locales/angular/global/de.js +4 -4
  671. app-ng-runtime/locales/angular/global/dje.js +4 -4
  672. app-ng-runtime/locales/angular/global/doi.js +4 -4
  673. app-ng-runtime/locales/angular/global/dsb.js +4 -4
  674. app-ng-runtime/locales/angular/global/dua.js +4 -4
  675. app-ng-runtime/locales/angular/global/dyo.js +4 -4
  676. app-ng-runtime/locales/angular/global/dz.js +4 -4
  677. app-ng-runtime/locales/angular/global/ebu.js +4 -4
  678. app-ng-runtime/locales/angular/global/ee-tg.js +4 -4
  679. app-ng-runtime/locales/angular/global/ee.js +4 -4
  680. app-ng-runtime/locales/angular/global/el-cy.js +4 -4
  681. app-ng-runtime/locales/angular/global/el.js +4 -4
  682. app-ng-runtime/locales/angular/global/en-001.js +4 -4
  683. app-ng-runtime/locales/angular/global/en-150.js +4 -4
  684. app-ng-runtime/locales/angular/global/en-ae.js +4 -4
  685. app-ng-runtime/locales/angular/global/en-ag.js +4 -4
  686. app-ng-runtime/locales/angular/global/en-ai.js +4 -4
  687. app-ng-runtime/locales/angular/global/en-as.js +4 -4
  688. app-ng-runtime/locales/angular/global/en-at.js +4 -4
  689. app-ng-runtime/locales/angular/global/en-au.js +4 -4
  690. app-ng-runtime/locales/angular/global/en-bb.js +4 -4
  691. app-ng-runtime/locales/angular/global/en-be.js +4 -4
  692. app-ng-runtime/locales/angular/global/en-bi.js +4 -4
  693. app-ng-runtime/locales/angular/global/en-bm.js +4 -4
  694. app-ng-runtime/locales/angular/global/en-bs.js +4 -4
  695. app-ng-runtime/locales/angular/global/en-bw.js +4 -4
  696. app-ng-runtime/locales/angular/global/en-bz.js +4 -4
  697. app-ng-runtime/locales/angular/global/en-ca.js +4 -4
  698. app-ng-runtime/locales/angular/global/en-cc.js +4 -4
  699. app-ng-runtime/locales/angular/global/en-ch.js +4 -4
  700. app-ng-runtime/locales/angular/global/en-ck.js +4 -4
  701. app-ng-runtime/locales/angular/global/en-cm.js +4 -4
  702. app-ng-runtime/locales/angular/global/en-cx.js +4 -4
  703. app-ng-runtime/locales/angular/global/en-cy.js +4 -4
  704. app-ng-runtime/locales/angular/global/en-de.js +4 -4
  705. app-ng-runtime/locales/angular/global/en-dg.js +4 -4
  706. app-ng-runtime/locales/angular/global/en-dk.js +4 -4
  707. app-ng-runtime/locales/angular/global/en-dm.js +4 -4
  708. app-ng-runtime/locales/angular/global/en-er.js +4 -4
  709. app-ng-runtime/locales/angular/global/en-fi.js +4 -4
  710. app-ng-runtime/locales/angular/global/en-fj.js +4 -4
  711. app-ng-runtime/locales/angular/global/en-fk.js +4 -4
  712. app-ng-runtime/locales/angular/global/en-fm.js +4 -4
  713. app-ng-runtime/locales/angular/global/en-gb.js +4 -4
  714. app-ng-runtime/locales/angular/global/en-gd.js +4 -4
  715. app-ng-runtime/locales/angular/global/en-gg.js +4 -4
  716. app-ng-runtime/locales/angular/global/en-gh.js +4 -4
  717. app-ng-runtime/locales/angular/global/en-gi.js +4 -4
  718. app-ng-runtime/locales/angular/global/en-gm.js +4 -4
  719. app-ng-runtime/locales/angular/global/en-gu.js +4 -4
  720. app-ng-runtime/locales/angular/global/en-gy.js +4 -4
  721. app-ng-runtime/locales/angular/global/en-hk.js +4 -4
  722. app-ng-runtime/locales/angular/global/en-ie.js +4 -4
  723. app-ng-runtime/locales/angular/global/en-il.js +4 -4
  724. app-ng-runtime/locales/angular/global/en-im.js +4 -4
  725. app-ng-runtime/locales/angular/global/en-in.js +4 -4
  726. app-ng-runtime/locales/angular/global/en-io.js +4 -4
  727. app-ng-runtime/locales/angular/global/en-je.js +4 -4
  728. app-ng-runtime/locales/angular/global/en-jm.js +4 -4
  729. app-ng-runtime/locales/angular/global/en-ke.js +4 -4
  730. app-ng-runtime/locales/angular/global/en-ki.js +4 -4
  731. app-ng-runtime/locales/angular/global/en-kn.js +4 -4
  732. app-ng-runtime/locales/angular/global/en-ky.js +4 -4
  733. app-ng-runtime/locales/angular/global/en-lc.js +4 -4
  734. app-ng-runtime/locales/angular/global/en-lr.js +4 -4
  735. app-ng-runtime/locales/angular/global/en-ls.js +4 -4
  736. app-ng-runtime/locales/angular/global/en-mg.js +4 -4
  737. app-ng-runtime/locales/angular/global/en-mh.js +4 -4
  738. app-ng-runtime/locales/angular/global/en-mo.js +4 -4
  739. app-ng-runtime/locales/angular/global/en-mp.js +4 -4
  740. app-ng-runtime/locales/angular/global/en-ms.js +4 -4
  741. app-ng-runtime/locales/angular/global/en-mt.js +4 -4
  742. app-ng-runtime/locales/angular/global/en-mu.js +4 -4
  743. app-ng-runtime/locales/angular/global/en-mv.js +4 -4
  744. app-ng-runtime/locales/angular/global/en-mw.js +4 -4
  745. app-ng-runtime/locales/angular/global/en-my.js +4 -4
  746. app-ng-runtime/locales/angular/global/en-na.js +4 -4
  747. app-ng-runtime/locales/angular/global/en-nf.js +4 -4
  748. app-ng-runtime/locales/angular/global/en-ng.js +4 -4
  749. app-ng-runtime/locales/angular/global/en-nl.js +4 -4
  750. app-ng-runtime/locales/angular/global/en-nr.js +4 -4
  751. app-ng-runtime/locales/angular/global/en-nu.js +4 -4
  752. app-ng-runtime/locales/angular/global/en-nz.js +4 -4
  753. app-ng-runtime/locales/angular/global/en-pg.js +4 -4
  754. app-ng-runtime/locales/angular/global/en-ph.js +4 -4
  755. app-ng-runtime/locales/angular/global/en-pk.js +4 -4
  756. app-ng-runtime/locales/angular/global/en-pn.js +4 -4
  757. app-ng-runtime/locales/angular/global/en-pr.js +4 -4
  758. app-ng-runtime/locales/angular/global/en-pw.js +4 -4
  759. app-ng-runtime/locales/angular/global/en-rw.js +4 -4
  760. app-ng-runtime/locales/angular/global/en-sb.js +4 -4
  761. app-ng-runtime/locales/angular/global/en-sc.js +4 -4
  762. app-ng-runtime/locales/angular/global/en-sd.js +4 -4
  763. app-ng-runtime/locales/angular/global/en-se.js +4 -4
  764. app-ng-runtime/locales/angular/global/en-sg.js +4 -4
  765. app-ng-runtime/locales/angular/global/en-sh.js +4 -4
  766. app-ng-runtime/locales/angular/global/en-si.js +4 -4
  767. app-ng-runtime/locales/angular/global/en-sl.js +4 -4
  768. app-ng-runtime/locales/angular/global/en-ss.js +4 -4
  769. app-ng-runtime/locales/angular/global/en-sx.js +4 -4
  770. app-ng-runtime/locales/angular/global/en-sz.js +4 -4
  771. app-ng-runtime/locales/angular/global/en-tc.js +4 -4
  772. app-ng-runtime/locales/angular/global/en-tk.js +4 -4
  773. app-ng-runtime/locales/angular/global/en-to.js +4 -4
  774. app-ng-runtime/locales/angular/global/en-tt.js +4 -4
  775. app-ng-runtime/locales/angular/global/en-tv.js +4 -4
  776. app-ng-runtime/locales/angular/global/en-tz.js +4 -4
  777. app-ng-runtime/locales/angular/global/en-ug.js +4 -4
  778. app-ng-runtime/locales/angular/global/en-um.js +4 -4
  779. app-ng-runtime/locales/angular/global/en-vc.js +4 -4
  780. app-ng-runtime/locales/angular/global/en-vg.js +4 -4
  781. app-ng-runtime/locales/angular/global/en-vi.js +4 -4
  782. app-ng-runtime/locales/angular/global/en-vu.js +4 -4
  783. app-ng-runtime/locales/angular/global/en-ws.js +4 -4
  784. app-ng-runtime/locales/angular/global/en-za.js +4 -4
  785. app-ng-runtime/locales/angular/global/en-zm.js +4 -4
  786. app-ng-runtime/locales/angular/global/en-zw.js +4 -4
  787. app-ng-runtime/locales/angular/global/en.js +4 -4
  788. app-ng-runtime/locales/angular/global/eo.js +4 -4
  789. app-ng-runtime/locales/angular/global/es-419.js +4 -4
  790. app-ng-runtime/locales/angular/global/es-ar.js +4 -4
  791. app-ng-runtime/locales/angular/global/es-bo.js +4 -4
  792. app-ng-runtime/locales/angular/global/es-br.js +4 -4
  793. app-ng-runtime/locales/angular/global/es-bz.js +4 -4
  794. app-ng-runtime/locales/angular/global/es-cl.js +4 -4
  795. app-ng-runtime/locales/angular/global/es-co.js +4 -4
  796. app-ng-runtime/locales/angular/global/es-cr.js +4 -4
  797. app-ng-runtime/locales/angular/global/es-cu.js +4 -4
  798. app-ng-runtime/locales/angular/global/es-do.js +4 -4
  799. app-ng-runtime/locales/angular/global/es-ea.js +4 -4
  800. app-ng-runtime/locales/angular/global/es-ec.js +4 -4
  801. app-ng-runtime/locales/angular/global/es-gq.js +4 -4
  802. app-ng-runtime/locales/angular/global/es-gt.js +4 -4
  803. app-ng-runtime/locales/angular/global/es-hn.js +4 -4
  804. app-ng-runtime/locales/angular/global/es-ic.js +4 -4
  805. app-ng-runtime/locales/angular/global/es-mx.js +4 -4
  806. app-ng-runtime/locales/angular/global/es-ni.js +4 -4
  807. app-ng-runtime/locales/angular/global/es-pa.js +4 -4
  808. app-ng-runtime/locales/angular/global/es-pe.js +4 -4
  809. app-ng-runtime/locales/angular/global/es-ph.js +4 -4
  810. app-ng-runtime/locales/angular/global/es-pr.js +4 -4
  811. app-ng-runtime/locales/angular/global/es-py.js +4 -4
  812. app-ng-runtime/locales/angular/global/es-sv.js +4 -4
  813. app-ng-runtime/locales/angular/global/es-us.js +4 -4
  814. app-ng-runtime/locales/angular/global/es-uy.js +4 -4
  815. app-ng-runtime/locales/angular/global/es-ve.js +4 -4
  816. app-ng-runtime/locales/angular/global/es.js +4 -4
  817. app-ng-runtime/locales/angular/global/et.js +4 -4
  818. app-ng-runtime/locales/angular/global/eu.js +4 -4
  819. app-ng-runtime/locales/angular/global/ewo.js +4 -4
  820. app-ng-runtime/locales/angular/global/fa-af.js +4 -4
  821. app-ng-runtime/locales/angular/global/fa.js +4 -4
  822. app-ng-runtime/locales/angular/global/ff-adlm-bf.js +4 -4
  823. app-ng-runtime/locales/angular/global/ff-adlm-cm.js +4 -4
  824. app-ng-runtime/locales/angular/global/ff-adlm-gh.js +4 -4
  825. app-ng-runtime/locales/angular/global/ff-adlm-gm.js +4 -4
  826. app-ng-runtime/locales/angular/global/ff-adlm-gw.js +4 -4
  827. app-ng-runtime/locales/angular/global/ff-adlm-lr.js +4 -4
  828. app-ng-runtime/locales/angular/global/ff-adlm-mr.js +4 -4
  829. app-ng-runtime/locales/angular/global/ff-adlm-ne.js +4 -4
  830. app-ng-runtime/locales/angular/global/ff-adlm-ng.js +4 -4
  831. app-ng-runtime/locales/angular/global/ff-adlm-sl.js +4 -4
  832. app-ng-runtime/locales/angular/global/ff-adlm-sn.js +4 -4
  833. app-ng-runtime/locales/angular/global/ff-adlm.js +4 -4
  834. app-ng-runtime/locales/angular/global/ff-cm.js +58 -44
  835. app-ng-runtime/locales/angular/global/ff-gn.js +58 -44
  836. app-ng-runtime/locales/angular/global/ff-latn-bf.js +4 -4
  837. app-ng-runtime/locales/angular/global/ff-latn-cm.js +4 -4
  838. app-ng-runtime/locales/angular/global/ff-latn-gh.js +4 -4
  839. app-ng-runtime/locales/angular/global/ff-latn-gm.js +4 -4
  840. app-ng-runtime/locales/angular/global/ff-latn-gn.js +4 -4
  841. app-ng-runtime/locales/angular/global/ff-latn-gw.js +4 -4
  842. app-ng-runtime/locales/angular/global/ff-latn-lr.js +4 -4
  843. app-ng-runtime/locales/angular/global/ff-latn-mr.js +4 -4
  844. app-ng-runtime/locales/angular/global/ff-latn-ne.js +4 -4
  845. app-ng-runtime/locales/angular/global/ff-latn-ng.js +4 -4
  846. app-ng-runtime/locales/angular/global/ff-latn-sl.js +4 -4
  847. app-ng-runtime/locales/angular/global/ff-latn.js +4 -4
  848. app-ng-runtime/locales/angular/global/ff-mr.js +58 -44
  849. app-ng-runtime/locales/angular/global/ff.js +4 -4
  850. app-ng-runtime/locales/angular/global/fi.js +4 -4
  851. app-ng-runtime/locales/angular/global/fil.js +4 -4
  852. app-ng-runtime/locales/angular/global/fo-dk.js +4 -4
  853. app-ng-runtime/locales/angular/global/fo.js +4 -4
  854. app-ng-runtime/locales/angular/global/fr-be.js +4 -4
  855. app-ng-runtime/locales/angular/global/fr-bf.js +4 -4
  856. app-ng-runtime/locales/angular/global/fr-bi.js +4 -4
  857. app-ng-runtime/locales/angular/global/fr-bj.js +4 -4
  858. app-ng-runtime/locales/angular/global/fr-bl.js +4 -4
  859. app-ng-runtime/locales/angular/global/fr-ca.js +4 -4
  860. app-ng-runtime/locales/angular/global/fr-cd.js +4 -4
  861. app-ng-runtime/locales/angular/global/fr-cf.js +4 -4
  862. app-ng-runtime/locales/angular/global/fr-cg.js +4 -4
  863. app-ng-runtime/locales/angular/global/fr-ch.js +4 -4
  864. app-ng-runtime/locales/angular/global/fr-ci.js +4 -4
  865. app-ng-runtime/locales/angular/global/fr-cm.js +4 -4
  866. app-ng-runtime/locales/angular/global/fr-dj.js +4 -4
  867. app-ng-runtime/locales/angular/global/fr-dz.js +4 -4
  868. app-ng-runtime/locales/angular/global/fr-ga.js +4 -4
  869. app-ng-runtime/locales/angular/global/fr-gf.js +4 -4
  870. app-ng-runtime/locales/angular/global/fr-gn.js +4 -4
  871. app-ng-runtime/locales/angular/global/fr-gp.js +4 -4
  872. app-ng-runtime/locales/angular/global/fr-gq.js +4 -4
  873. app-ng-runtime/locales/angular/global/fr-ht.js +4 -4
  874. app-ng-runtime/locales/angular/global/fr-km.js +4 -4
  875. app-ng-runtime/locales/angular/global/fr-lu.js +4 -4
  876. app-ng-runtime/locales/angular/global/fr-ma.js +4 -4
  877. app-ng-runtime/locales/angular/global/fr-mc.js +4 -4
  878. app-ng-runtime/locales/angular/global/fr-mf.js +4 -4
  879. app-ng-runtime/locales/angular/global/fr-mg.js +4 -4
  880. app-ng-runtime/locales/angular/global/fr-ml.js +4 -4
  881. app-ng-runtime/locales/angular/global/fr-mq.js +4 -4
  882. app-ng-runtime/locales/angular/global/fr-mr.js +4 -4
  883. app-ng-runtime/locales/angular/global/fr-mu.js +4 -4
  884. app-ng-runtime/locales/angular/global/fr-nc.js +4 -4
  885. app-ng-runtime/locales/angular/global/fr-ne.js +4 -4
  886. app-ng-runtime/locales/angular/global/fr-pf.js +4 -4
  887. app-ng-runtime/locales/angular/global/fr-pm.js +4 -4
  888. app-ng-runtime/locales/angular/global/fr-re.js +4 -4
  889. app-ng-runtime/locales/angular/global/fr-rw.js +4 -4
  890. app-ng-runtime/locales/angular/global/fr-sc.js +4 -4
  891. app-ng-runtime/locales/angular/global/fr-sn.js +4 -4
  892. app-ng-runtime/locales/angular/global/fr-sy.js +4 -4
  893. app-ng-runtime/locales/angular/global/fr-td.js +4 -4
  894. app-ng-runtime/locales/angular/global/fr-tg.js +4 -4
  895. app-ng-runtime/locales/angular/global/fr-tn.js +4 -4
  896. app-ng-runtime/locales/angular/global/fr-vu.js +4 -4
  897. app-ng-runtime/locales/angular/global/fr-wf.js +4 -4
  898. app-ng-runtime/locales/angular/global/fr-yt.js +4 -4
  899. app-ng-runtime/locales/angular/global/fr.js +4 -4
  900. app-ng-runtime/locales/angular/global/fur.js +4 -4
  901. app-ng-runtime/locales/angular/global/fy.js +4 -4
  902. app-ng-runtime/locales/angular/global/ga-gb.js +4 -4
  903. app-ng-runtime/locales/angular/global/ga.js +4 -4
  904. app-ng-runtime/locales/angular/global/gd.js +4 -4
  905. app-ng-runtime/locales/angular/global/gl.js +4 -4
  906. app-ng-runtime/locales/angular/global/gsw-fr.js +4 -4
  907. app-ng-runtime/locales/angular/global/gsw-li.js +4 -4
  908. app-ng-runtime/locales/angular/global/gsw.js +4 -4
  909. app-ng-runtime/locales/angular/global/gu.js +4 -4
  910. app-ng-runtime/locales/angular/global/guz.js +4 -4
  911. app-ng-runtime/locales/angular/global/gv.js +4 -4
  912. app-ng-runtime/locales/angular/global/ha-gh.js +4 -4
  913. app-ng-runtime/locales/angular/global/ha-ne.js +4 -4
  914. app-ng-runtime/locales/angular/global/ha.js +4 -4
  915. app-ng-runtime/locales/angular/global/haw.js +4 -4
  916. app-ng-runtime/locales/angular/global/he.js +4 -4
  917. app-ng-runtime/locales/angular/global/hi-latn.js +4 -4
  918. app-ng-runtime/locales/angular/global/hi.js +4 -4
  919. app-ng-runtime/locales/angular/global/hr-ba.js +4 -4
  920. app-ng-runtime/locales/angular/global/hr.js +4 -4
  921. app-ng-runtime/locales/angular/global/hsb.js +4 -4
  922. app-ng-runtime/locales/angular/global/hu.js +4 -4
  923. app-ng-runtime/locales/angular/global/hy.js +4 -4
  924. app-ng-runtime/locales/angular/global/ia.js +4 -4
  925. app-ng-runtime/locales/angular/global/id.js +4 -4
  926. app-ng-runtime/locales/angular/global/ig.js +4 -4
  927. app-ng-runtime/locales/angular/global/ii.js +4 -4
  928. app-ng-runtime/locales/angular/global/is.js +4 -4
  929. app-ng-runtime/locales/angular/global/it-ch.js +4 -4
  930. app-ng-runtime/locales/angular/global/it-sm.js +4 -4
  931. app-ng-runtime/locales/angular/global/it-va.js +4 -4
  932. app-ng-runtime/locales/angular/global/it.js +4 -4
  933. app-ng-runtime/locales/angular/global/ja.js +4 -4
  934. app-ng-runtime/locales/angular/global/jgo.js +4 -4
  935. app-ng-runtime/locales/angular/global/jmc.js +4 -4
  936. app-ng-runtime/locales/angular/global/jv.js +4 -4
  937. app-ng-runtime/locales/angular/global/ka.js +4 -4
  938. app-ng-runtime/locales/angular/global/kab.js +4 -4
  939. app-ng-runtime/locales/angular/global/kam.js +4 -4
  940. app-ng-runtime/locales/angular/global/kde.js +4 -4
  941. app-ng-runtime/locales/angular/global/kea.js +4 -4
  942. app-ng-runtime/locales/angular/global/kgp.js +4 -4
  943. app-ng-runtime/locales/angular/global/khq.js +4 -4
  944. app-ng-runtime/locales/angular/global/ki.js +4 -4
  945. app-ng-runtime/locales/angular/global/kk.js +4 -4
  946. app-ng-runtime/locales/angular/global/kkj.js +4 -4
  947. app-ng-runtime/locales/angular/global/kl.js +4 -4
  948. app-ng-runtime/locales/angular/global/kln.js +4 -4
  949. app-ng-runtime/locales/angular/global/km.js +4 -4
  950. app-ng-runtime/locales/angular/global/kn.js +4 -4
  951. app-ng-runtime/locales/angular/global/ko-kp.js +4 -4
  952. app-ng-runtime/locales/angular/global/ko.js +4 -4
  953. app-ng-runtime/locales/angular/global/kok.js +4 -4
  954. app-ng-runtime/locales/angular/global/ks-arab.js +4 -4
  955. app-ng-runtime/locales/angular/global/ks-deva.js +4 -4
  956. app-ng-runtime/locales/angular/global/ks.js +4 -4
  957. app-ng-runtime/locales/angular/global/ksb.js +4 -4
  958. app-ng-runtime/locales/angular/global/ksf.js +4 -4
  959. app-ng-runtime/locales/angular/global/ksh.js +4 -4
  960. app-ng-runtime/locales/angular/global/ku.js +4 -4
  961. app-ng-runtime/locales/angular/global/kw.js +4 -4
  962. app-ng-runtime/locales/angular/global/ky.js +4 -4
  963. app-ng-runtime/locales/angular/global/lag.js +4 -4
  964. app-ng-runtime/locales/angular/global/lb.js +4 -4
  965. app-ng-runtime/locales/angular/global/lg.js +4 -4
  966. app-ng-runtime/locales/angular/global/lkt.js +4 -4
  967. app-ng-runtime/locales/angular/global/ln-ao.js +4 -4
  968. app-ng-runtime/locales/angular/global/ln-cf.js +4 -4
  969. app-ng-runtime/locales/angular/global/ln-cg.js +4 -4
  970. app-ng-runtime/locales/angular/global/ln.js +4 -4
  971. app-ng-runtime/locales/angular/global/lo.js +4 -4
  972. app-ng-runtime/locales/angular/global/lrc-iq.js +4 -4
  973. app-ng-runtime/locales/angular/global/lrc.js +4 -4
  974. app-ng-runtime/locales/angular/global/lt.js +4 -4
  975. app-ng-runtime/locales/angular/global/lu.js +4 -4
  976. app-ng-runtime/locales/angular/global/luo.js +4 -4
  977. app-ng-runtime/locales/angular/global/luy.js +4 -4
  978. app-ng-runtime/locales/angular/global/lv.js +4 -4
  979. app-ng-runtime/locales/angular/global/mai.js +4 -4
  980. app-ng-runtime/locales/angular/global/mas-tz.js +4 -4
  981. app-ng-runtime/locales/angular/global/mas.js +4 -4
  982. app-ng-runtime/locales/angular/global/mer.js +4 -4
  983. app-ng-runtime/locales/angular/global/mfe.js +4 -4
  984. app-ng-runtime/locales/angular/global/mg.js +4 -4
  985. app-ng-runtime/locales/angular/global/mgh.js +4 -4
  986. app-ng-runtime/locales/angular/global/mgo.js +4 -4
  987. app-ng-runtime/locales/angular/global/mi.js +4 -4
  988. app-ng-runtime/locales/angular/global/mk.js +4 -4
  989. app-ng-runtime/locales/angular/global/ml.js +4 -4
  990. app-ng-runtime/locales/angular/global/mn.js +4 -4
  991. app-ng-runtime/locales/angular/global/mni-beng.js +4 -4
  992. app-ng-runtime/locales/angular/global/mni.js +4 -4
  993. app-ng-runtime/locales/angular/global/mr.js +4 -4
  994. app-ng-runtime/locales/angular/global/ms-bn.js +4 -4
  995. app-ng-runtime/locales/angular/global/ms-id.js +4 -4
  996. app-ng-runtime/locales/angular/global/ms-sg.js +4 -4
  997. app-ng-runtime/locales/angular/global/ms.js +4 -4
  998. app-ng-runtime/locales/angular/global/mt.js +4 -4
  999. app-ng-runtime/locales/angular/global/mua.js +4 -4
  1000. app-ng-runtime/locales/angular/global/my.js +4 -4
  1001. app-ng-runtime/locales/angular/global/mzn.js +4 -4
  1002. app-ng-runtime/locales/angular/global/naq.js +4 -4
  1003. app-ng-runtime/locales/angular/global/nb-sj.js +4 -4
  1004. app-ng-runtime/locales/angular/global/nb.js +4 -4
  1005. app-ng-runtime/locales/angular/global/nd.js +4 -4
  1006. app-ng-runtime/locales/angular/global/nds-nl.js +4 -4
  1007. app-ng-runtime/locales/angular/global/nds.js +4 -4
  1008. app-ng-runtime/locales/angular/global/ne-in.js +4 -4
  1009. app-ng-runtime/locales/angular/global/ne.js +4 -4
  1010. app-ng-runtime/locales/angular/global/nl-aw.js +4 -4
  1011. app-ng-runtime/locales/angular/global/nl-be.js +4 -4
  1012. app-ng-runtime/locales/angular/global/nl-bq.js +4 -4
  1013. app-ng-runtime/locales/angular/global/nl-cw.js +4 -4
  1014. app-ng-runtime/locales/angular/global/nl-sr.js +4 -4
  1015. app-ng-runtime/locales/angular/global/nl-sx.js +4 -4
  1016. app-ng-runtime/locales/angular/global/nl.js +4 -4
  1017. app-ng-runtime/locales/angular/global/nmg.js +4 -4
  1018. app-ng-runtime/locales/angular/global/nn.js +4 -4
  1019. app-ng-runtime/locales/angular/global/nnh.js +4 -4
  1020. app-ng-runtime/locales/angular/global/no.js +4 -4
  1021. app-ng-runtime/locales/angular/global/nus.js +4 -4
  1022. app-ng-runtime/locales/angular/global/nyn.js +4 -4
  1023. app-ng-runtime/locales/angular/global/om-ke.js +4 -4
  1024. app-ng-runtime/locales/angular/global/om.js +4 -4
  1025. app-ng-runtime/locales/angular/global/or.js +4 -4
  1026. app-ng-runtime/locales/angular/global/os-ru.js +4 -4
  1027. app-ng-runtime/locales/angular/global/os.js +4 -4
  1028. app-ng-runtime/locales/angular/global/pa-arab.js +4 -4
  1029. app-ng-runtime/locales/angular/global/pa-guru.js +4 -4
  1030. app-ng-runtime/locales/angular/global/pa.js +4 -4
  1031. app-ng-runtime/locales/angular/global/pcm.js +4 -4
  1032. app-ng-runtime/locales/angular/global/pl.js +4 -4
  1033. app-ng-runtime/locales/angular/global/ps-pk.js +4 -4
  1034. app-ng-runtime/locales/angular/global/ps.js +4 -4
  1035. app-ng-runtime/locales/angular/global/pt-ao.js +4 -4
  1036. app-ng-runtime/locales/angular/global/pt-ch.js +4 -4
  1037. app-ng-runtime/locales/angular/global/pt-cv.js +4 -4
  1038. app-ng-runtime/locales/angular/global/pt-gq.js +4 -4
  1039. app-ng-runtime/locales/angular/global/pt-gw.js +4 -4
  1040. app-ng-runtime/locales/angular/global/pt-lu.js +4 -4
  1041. app-ng-runtime/locales/angular/global/pt-mo.js +4 -4
  1042. app-ng-runtime/locales/angular/global/pt-mz.js +4 -4
  1043. app-ng-runtime/locales/angular/global/pt-pt.js +4 -4
  1044. app-ng-runtime/locales/angular/global/pt-st.js +4 -4
  1045. app-ng-runtime/locales/angular/global/pt-tl.js +4 -4
  1046. app-ng-runtime/locales/angular/global/pt.js +4 -4
  1047. app-ng-runtime/locales/angular/global/qu-bo.js +4 -4
  1048. app-ng-runtime/locales/angular/global/qu-ec.js +4 -4
  1049. app-ng-runtime/locales/angular/global/qu.js +4 -4
  1050. app-ng-runtime/locales/angular/global/rm.js +4 -4
  1051. app-ng-runtime/locales/angular/global/rn.js +4 -4
  1052. app-ng-runtime/locales/angular/global/ro-md.js +4 -4
  1053. app-ng-runtime/locales/angular/global/ro.js +4 -4
  1054. app-ng-runtime/locales/angular/global/rof.js +4 -4
  1055. app-ng-runtime/locales/angular/global/ru-by.js +4 -4
  1056. app-ng-runtime/locales/angular/global/ru-kg.js +4 -4
  1057. app-ng-runtime/locales/angular/global/ru-kz.js +4 -4
  1058. app-ng-runtime/locales/angular/global/ru-md.js +4 -4
  1059. app-ng-runtime/locales/angular/global/ru-ua.js +4 -4
  1060. app-ng-runtime/locales/angular/global/ru.js +4 -4
  1061. app-ng-runtime/locales/angular/global/rw.js +4 -4
  1062. app-ng-runtime/locales/angular/global/rwk.js +4 -4
  1063. app-ng-runtime/locales/angular/global/sa.js +4 -4
  1064. app-ng-runtime/locales/angular/global/sah.js +4 -4
  1065. app-ng-runtime/locales/angular/global/saq.js +4 -4
  1066. app-ng-runtime/locales/angular/global/sat-olck.js +4 -4
  1067. app-ng-runtime/locales/angular/global/sat.js +4 -4
  1068. app-ng-runtime/locales/angular/global/sbp.js +4 -4
  1069. app-ng-runtime/locales/angular/global/sc.js +4 -4
  1070. app-ng-runtime/locales/angular/global/sd-arab.js +4 -4
  1071. app-ng-runtime/locales/angular/global/sd-deva.js +4 -4
  1072. app-ng-runtime/locales/angular/global/sd.js +4 -4
  1073. app-ng-runtime/locales/angular/global/se-fi.js +4 -4
  1074. app-ng-runtime/locales/angular/global/se-se.js +4 -4
  1075. app-ng-runtime/locales/angular/global/se.js +4 -4
  1076. app-ng-runtime/locales/angular/global/seh.js +4 -4
  1077. app-ng-runtime/locales/angular/global/ses.js +4 -4
  1078. app-ng-runtime/locales/angular/global/sg.js +4 -4
  1079. app-ng-runtime/locales/angular/global/shi-latn.js +4 -4
  1080. app-ng-runtime/locales/angular/global/shi-tfng.js +4 -4
  1081. app-ng-runtime/locales/angular/global/shi.js +4 -4
  1082. app-ng-runtime/locales/angular/global/si.js +4 -4
  1083. app-ng-runtime/locales/angular/global/sk.js +4 -4
  1084. app-ng-runtime/locales/angular/global/sl.js +4 -4
  1085. app-ng-runtime/locales/angular/global/smn.js +4 -4
  1086. app-ng-runtime/locales/angular/global/sn.js +4 -4
  1087. app-ng-runtime/locales/angular/global/so-dj.js +4 -4
  1088. app-ng-runtime/locales/angular/global/so-et.js +4 -4
  1089. app-ng-runtime/locales/angular/global/so-ke.js +4 -4
  1090. app-ng-runtime/locales/angular/global/so.js +4 -4
  1091. app-ng-runtime/locales/angular/global/sq-mk.js +4 -4
  1092. app-ng-runtime/locales/angular/global/sq-xk.js +4 -4
  1093. app-ng-runtime/locales/angular/global/sq.js +4 -4
  1094. app-ng-runtime/locales/angular/global/sr-cyrl-ba.js +4 -4
  1095. app-ng-runtime/locales/angular/global/sr-cyrl-me.js +4 -4
  1096. app-ng-runtime/locales/angular/global/sr-cyrl-xk.js +4 -4
  1097. app-ng-runtime/locales/angular/global/sr-cyrl.js +4 -4
  1098. app-ng-runtime/locales/angular/global/sr-latn-ba.js +4 -4
  1099. app-ng-runtime/locales/angular/global/sr-latn-me.js +4 -4
  1100. app-ng-runtime/locales/angular/global/sr-latn-xk.js +4 -4
  1101. app-ng-runtime/locales/angular/global/sr-latn.js +4 -4
  1102. app-ng-runtime/locales/angular/global/sr.js +4 -4
  1103. app-ng-runtime/locales/angular/global/su-latn.js +4 -4
  1104. app-ng-runtime/locales/angular/global/su.js +4 -4
  1105. app-ng-runtime/locales/angular/global/sv-ax.js +4 -4
  1106. app-ng-runtime/locales/angular/global/sv-fi.js +4 -4
  1107. app-ng-runtime/locales/angular/global/sv.js +4 -4
  1108. app-ng-runtime/locales/angular/global/sw-cd.js +4 -4
  1109. app-ng-runtime/locales/angular/global/sw-ke.js +4 -4
  1110. app-ng-runtime/locales/angular/global/sw-ug.js +4 -4
  1111. app-ng-runtime/locales/angular/global/sw.js +4 -4
  1112. app-ng-runtime/locales/angular/global/ta-lk.js +4 -4
  1113. app-ng-runtime/locales/angular/global/ta-my.js +4 -4
  1114. app-ng-runtime/locales/angular/global/ta-sg.js +4 -4
  1115. app-ng-runtime/locales/angular/global/ta.js +4 -4
  1116. app-ng-runtime/locales/angular/global/te.js +4 -4
  1117. app-ng-runtime/locales/angular/global/teo-ke.js +4 -4
  1118. app-ng-runtime/locales/angular/global/teo.js +4 -4
  1119. app-ng-runtime/locales/angular/global/tg.js +4 -4
  1120. app-ng-runtime/locales/angular/global/th.js +4 -4
  1121. app-ng-runtime/locales/angular/global/ti-er.js +4 -4
  1122. app-ng-runtime/locales/angular/global/ti.js +4 -4
  1123. app-ng-runtime/locales/angular/global/tk.js +4 -4
  1124. app-ng-runtime/locales/angular/global/to.js +4 -4
  1125. app-ng-runtime/locales/angular/global/tr-cy.js +4 -4
  1126. app-ng-runtime/locales/angular/global/tr.js +4 -4
  1127. app-ng-runtime/locales/angular/global/tt.js +4 -4
  1128. app-ng-runtime/locales/angular/global/twq.js +4 -4
  1129. app-ng-runtime/locales/angular/global/tzm.js +4 -4
  1130. app-ng-runtime/locales/angular/global/ug.js +4 -4
  1131. app-ng-runtime/locales/angular/global/uk.js +4 -4
  1132. app-ng-runtime/locales/angular/global/und.js +4 -4
  1133. app-ng-runtime/locales/angular/global/ur-in.js +4 -4
  1134. app-ng-runtime/locales/angular/global/ur.js +4 -4
  1135. app-ng-runtime/locales/angular/global/uz-arab.js +4 -4
  1136. app-ng-runtime/locales/angular/global/uz-cyrl.js +4 -4
  1137. app-ng-runtime/locales/angular/global/uz-latn.js +4 -4
  1138. app-ng-runtime/locales/angular/global/uz.js +4 -4
  1139. app-ng-runtime/locales/angular/global/vai-latn.js +4 -4
  1140. app-ng-runtime/locales/angular/global/vai-vaii.js +4 -4
  1141. app-ng-runtime/locales/angular/global/vai.js +4 -4
  1142. app-ng-runtime/locales/angular/global/vi.js +4 -4
  1143. app-ng-runtime/locales/angular/global/vun.js +4 -4
  1144. app-ng-runtime/locales/angular/global/wae.js +4 -4
  1145. app-ng-runtime/locales/angular/global/wo.js +4 -4
  1146. app-ng-runtime/locales/angular/global/xh.js +4 -4
  1147. app-ng-runtime/locales/angular/global/xog.js +4 -4
  1148. app-ng-runtime/locales/angular/global/yav.js +4 -4
  1149. app-ng-runtime/locales/angular/global/yi.js +4 -4
  1150. app-ng-runtime/locales/angular/global/yo-bj.js +4 -4
  1151. app-ng-runtime/locales/angular/global/yo.js +4 -4
  1152. app-ng-runtime/locales/angular/global/yrl-co.js +4 -4
  1153. app-ng-runtime/locales/angular/global/yrl-ve.js +4 -4
  1154. app-ng-runtime/locales/angular/global/yrl.js +4 -4
  1155. app-ng-runtime/locales/angular/global/yue-hans.js +4 -4
  1156. app-ng-runtime/locales/angular/global/yue-hant.js +4 -4
  1157. app-ng-runtime/locales/angular/global/yue.js +4 -4
  1158. app-ng-runtime/locales/angular/global/zgh.js +4 -4
  1159. app-ng-runtime/locales/angular/global/zh-hans-hk.js +4 -4
  1160. app-ng-runtime/locales/angular/global/zh-hans-mo.js +4 -4
  1161. app-ng-runtime/locales/angular/global/zh-hans-sg.js +4 -4
  1162. app-ng-runtime/locales/angular/global/zh-hans.js +4 -4
  1163. app-ng-runtime/locales/angular/global/zh-hant-hk.js +4 -4
  1164. app-ng-runtime/locales/angular/global/zh-hant-mo.js +4 -4
  1165. app-ng-runtime/locales/angular/global/zh-hant.js +4 -4
  1166. app-ng-runtime/locales/angular/global/zh.js +4 -4
  1167. app-ng-runtime/locales/angular/global/zu.js +4 -4
  1168. app-ng-runtime/mobile/components/basic/default/.npmignore +2 -0
  1169. app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +125 -124
  1170. app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +4 -4
  1171. app-ng-runtime/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +7 -6
  1172. app-ng-runtime/mobile/components/basic/default/esm2022/basic.module.mjs +2 -2
  1173. app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +36 -36
  1174. app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +3 -3
  1175. app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +4 -4
  1176. app-ng-runtime/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +49 -47
  1177. app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +2 -2
  1178. app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +28 -30
  1179. app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +126 -125
  1180. app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
  1181. app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +2 -2
  1182. app-ng-runtime/mobile/components/basic/search/.npmignore +2 -0
  1183. app-ng-runtime/mobile/components/basic/search/bundles/index.umd.js +3 -3
  1184. app-ng-runtime/mobile/components/basic/search/esm2022/search.directive.mjs +3 -3
  1185. app-ng-runtime/mobile/components/basic/search/esm2022/search.module.mjs +2 -2
  1186. app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs +3 -3
  1187. app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs.map +1 -1
  1188. app-ng-runtime/mobile/components/containers/segmented-control/.npmignore +2 -0
  1189. app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +37 -25
  1190. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +14 -8
  1191. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +26 -20
  1192. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +2 -2
  1193. app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs +39 -27
  1194. app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
  1195. app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -2
  1196. app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -2
  1197. app-ng-runtime/mobile/components/data/media-list/.npmignore +2 -0
  1198. app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +46 -41
  1199. app-ng-runtime/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +2 -2
  1200. app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.component.mjs +46 -41
  1201. app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.module.mjs +2 -2
  1202. app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs +48 -43
  1203. app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
  1204. app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -2
  1205. app-ng-runtime/mobile/components/device/barcode-scanner/.npmignore +2 -0
  1206. app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -2
  1207. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +14 -8
  1208. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +15 -9
  1209. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +2 -2
  1210. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +16 -10
  1211. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
  1212. app-ng-runtime/mobile/components/device/camera/.npmignore +2 -0
  1213. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +15 -9
  1214. app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -2
  1215. app-ng-runtime/mobile/components/device/camera/esm2022/camera.component.mjs +16 -10
  1216. app-ng-runtime/mobile/components/device/camera/esm2022/camera.module.mjs +2 -2
  1217. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +17 -11
  1218. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
  1219. app-ng-runtime/mobile/components/input/file-upload/.npmignore +2 -0
  1220. app-ng-runtime/mobile/components/input/file-upload/bundles/index.umd.js +3 -3
  1221. app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +3 -3
  1222. app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
  1223. app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs +3 -3
  1224. app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  1225. app-ng-runtime/mobile/components/page/default/.npmignore +2 -0
  1226. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +6 -5
  1227. app-ng-runtime/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +4 -3
  1228. app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +3 -3
  1229. app-ng-runtime/mobile/components/page/default/esm2022/page.module.mjs +2 -2
  1230. app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +6 -5
  1231. app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
  1232. app-ng-runtime/mobile/components/page/left-panel/.npmignore +2 -0
  1233. app-ng-runtime/mobile/components/page/left-panel/bundles/index.umd.js +3 -3
  1234. app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -3
  1235. app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
  1236. app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs +3 -3
  1237. app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  1238. app-ng-runtime/mobile/components/page/mobile-navbar/.npmignore +2 -0
  1239. app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +40 -35
  1240. app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +41 -36
  1241. app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +2 -2
  1242. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs +41 -36
  1243. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
  1244. app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +2 -2
  1245. app-ng-runtime/mobile/components/page/tab-bar/.npmignore +2 -0
  1246. app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +43 -37
  1247. app-ng-runtime/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +2 -2
  1248. app-ng-runtime/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +44 -38
  1249. app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +45 -39
  1250. app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
  1251. app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -2
  1252. app-ng-runtime/mobile/core/.npmignore +2 -0
  1253. app-ng-runtime/mobile/core/bundles/index.umd.js +18 -18
  1254. app-ng-runtime/mobile/core/esm2022/core.module.mjs +3 -3
  1255. app-ng-runtime/mobile/core/esm2022/native.xhr.mjs +1 -1
  1256. app-ng-runtime/mobile/core/esm2022/services/device-file-cache.service.mjs +3 -3
  1257. app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +3 -3
  1258. app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +3 -3
  1259. app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +3 -3
  1260. app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +3 -3
  1261. app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +3 -3
  1262. app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +3 -3
  1263. app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +3 -3
  1264. app-ng-runtime/mobile/core/fesm2022/index.mjs +18 -18
  1265. app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
  1266. app-ng-runtime/mobile/offline/.npmignore +2 -0
  1267. app-ng-runtime/mobile/offline/bundles/index.umd.js +15 -15
  1268. app-ng-runtime/mobile/offline/esm2022/models/local-db-store.mjs +1 -1
  1269. app-ng-runtime/mobile/offline/esm2022/offline.module.mjs +3 -3
  1270. app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +3 -3
  1271. app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +3 -3
  1272. app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +3 -3
  1273. app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +3 -3
  1274. app-ng-runtime/mobile/offline/esm2022/services/local-key-value.service.mjs +2 -2
  1275. app-ng-runtime/mobile/offline/esm2022/services/push.service.mjs +3 -3
  1276. app-ng-runtime/mobile/offline/esm2022/services/workers/error-blocker.mjs +1 -1
  1277. app-ng-runtime/mobile/offline/esm2022/services/workers/file-handler.mjs +1 -1
  1278. app-ng-runtime/mobile/offline/esm2022/services/workers/id-resolver.mjs +3 -3
  1279. app-ng-runtime/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +1 -1
  1280. app-ng-runtime/mobile/offline/esm2022/utils/file-upload.utils.mjs +1 -1
  1281. app-ng-runtime/mobile/offline/esm2022/utils/live-variable.utils.mjs +1 -1
  1282. app-ng-runtime/mobile/offline/esm2022/utils/query-executor.utils.mjs +1 -1
  1283. app-ng-runtime/mobile/offline/esm2022/utils/security.utils.mjs +1 -1
  1284. app-ng-runtime/mobile/offline/esm2022/utils/utils.mjs +1 -1
  1285. app-ng-runtime/mobile/offline/fesm2022/index.mjs +16 -16
  1286. app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
  1287. app-ng-runtime/mobile/placeholder/runtime/.npmignore +2 -0
  1288. app-ng-runtime/mobile/placeholder/runtime/bundles/index.umd.js +3 -2
  1289. app-ng-runtime/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +3 -2
  1290. app-ng-runtime/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +2 -2
  1291. app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs +3 -2
  1292. app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs.map +1 -1
  1293. app-ng-runtime/mobile/placeholder/runtime-dynamic/.npmignore +2 -0
  1294. app-ng-runtime/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +1 -1
  1295. app-ng-runtime/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +2 -2
  1296. app-ng-runtime/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +1 -1
  1297. app-ng-runtime/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +1 -1
  1298. app-ng-runtime/mobile/runtime/.npmignore +2 -0
  1299. app-ng-runtime/mobile/runtime/bundles/index.umd.js +10 -9
  1300. app-ng-runtime/mobile/runtime/esm2022/components/app-ext.component.mjs +4 -3
  1301. app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +3 -3
  1302. app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +2 -2
  1303. app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +3 -3
  1304. app-ng-runtime/mobile/runtime/esm2022/services/webprocess.service.mjs +3 -3
  1305. app-ng-runtime/mobile/runtime/fesm2022/index.mjs +10 -9
  1306. app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
  1307. app-ng-runtime/mobile/runtime-dynamic/.npmignore +2 -0
  1308. app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +3 -3
  1309. app-ng-runtime/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +2 -2
  1310. app-ng-runtime/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +3 -3
  1311. app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +3 -3
  1312. app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
  1313. app-ng-runtime/mobile/variables/.npmignore +2 -0
  1314. app-ng-runtime/mobile/variables/bundles/index.umd.js +5 -5
  1315. app-ng-runtime/mobile/variables/esm2022/services/camera-service.mjs +4 -4
  1316. app-ng-runtime/mobile/variables/esm2022/services/contacts-service.mjs +1 -1
  1317. app-ng-runtime/mobile/variables/esm2022/services/datasync-service.mjs +1 -1
  1318. app-ng-runtime/mobile/variables/esm2022/services/device-service/device-service.mjs +1 -1
  1319. app-ng-runtime/mobile/variables/esm2022/services/device-service/location-service.mjs +1 -1
  1320. app-ng-runtime/mobile/variables/esm2022/services/file-service.mjs +1 -1
  1321. app-ng-runtime/mobile/variables/esm2022/services/scan-service.mjs +1 -1
  1322. app-ng-runtime/mobile/variables/esm2022/variables.module.mjs +3 -3
  1323. app-ng-runtime/mobile/variables/fesm2022/index.mjs +5 -5
  1324. app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
  1325. app-ng-runtime/oAuth/.npmignore +2 -0
  1326. app-ng-runtime/oAuth/bundles/index.umd.js +3 -3
  1327. app-ng-runtime/oAuth/esm2022/oAuth.module.mjs +2 -2
  1328. app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +3 -3
  1329. app-ng-runtime/oAuth/esm2022/oAuth.utils.mjs +1 -1
  1330. app-ng-runtime/oAuth/fesm2022/index.mjs +3 -3
  1331. app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
  1332. app-ng-runtime/package.json +1 -1
  1333. app-ng-runtime/runtime/base/.npmignore +2 -0
  1334. app-ng-runtime/runtime/base/bundles/index.umd.js +122 -118
  1335. app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +27 -27
  1336. app-ng-runtime/runtime/base/esm2022/components/app-spinner.component.mjs +9 -8
  1337. app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +2 -2
  1338. app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +3 -3
  1339. app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +3 -3
  1340. app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +3 -3
  1341. app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -3
  1342. app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +13 -12
  1343. app-ng-runtime/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
  1344. app-ng-runtime/runtime/base/esm2022/components/prefab-preview.component.mjs +4 -3
  1345. app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +3 -3
  1346. app-ng-runtime/runtime/base/esm2022/directives/prefab.directive.mjs +4 -4
  1347. app-ng-runtime/runtime/base/esm2022/guards/auth.guard.mjs +3 -3
  1348. app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +3 -3
  1349. app-ng-runtime/runtime/base/esm2022/guards/page-not-found.guard.mjs +3 -3
  1350. app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +3 -3
  1351. app-ng-runtime/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +4 -4
  1352. app-ng-runtime/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +5 -5
  1353. app-ng-runtime/runtime/base/esm2022/resolves/app-extension.resolve.mjs +3 -3
  1354. app-ng-runtime/runtime/base/esm2022/resolves/app-js.resolve.mjs +3 -3
  1355. app-ng-runtime/runtime/base/esm2022/resolves/app-variables.resolve.mjs +3 -3
  1356. app-ng-runtime/runtime/base/esm2022/resolves/i18n.resolve.mjs +3 -3
  1357. app-ng-runtime/runtime/base/esm2022/resolves/metadata.resolve.mjs +3 -3
  1358. app-ng-runtime/runtime/base/esm2022/resolves/security-config.resolve.mjs +3 -3
  1359. app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +3 -3
  1360. app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +3 -3
  1361. app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +3 -3
  1362. app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +3 -3
  1363. app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +3 -3
  1364. app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +3 -3
  1365. app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +3 -3
  1366. app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +3 -3
  1367. app-ng-runtime/runtime/base/esm2022/services/pipe-provider.service.mjs +3 -3
  1368. app-ng-runtime/runtime/base/esm2022/services/pipe.service.mjs +3 -3
  1369. app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +3 -3
  1370. app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +3 -3
  1371. app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +3 -3
  1372. app-ng-runtime/runtime/base/esm2022/util/fragment-monitor.mjs +3 -3
  1373. app-ng-runtime/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +2 -2
  1374. app-ng-runtime/runtime/base/fesm2022/index.mjs +134 -130
  1375. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  1376. app-ng-runtime/runtime/base/overrides/wm_dom_renderer.d.ts +2 -2
  1377. app-ng-runtime/runtime/dynamic/.npmignore +2 -0
  1378. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +15 -14
  1379. app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +1 -1
  1380. app-ng-runtime/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +4 -3
  1381. app-ng-runtime/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +3 -3
  1382. app-ng-runtime/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +3 -3
  1383. app-ng-runtime/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +3 -3
  1384. app-ng-runtime/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +3 -3
  1385. app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +3 -3
  1386. app-ng-runtime/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +3 -3
  1387. app-ng-runtime/runtime/dynamic/esm2022/main.mjs +1 -1
  1388. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +17 -16
  1389. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  1390. app-ng-runtime/scripts/datatable/datatable.js +0 -1
  1391. app-ng-runtime/security/.npmignore +2 -0
  1392. app-ng-runtime/security/bundles/index.umd.js +3 -3
  1393. app-ng-runtime/security/esm2022/security.module.mjs +2 -2
  1394. app-ng-runtime/security/esm2022/security.service.mjs +3 -3
  1395. app-ng-runtime/security/fesm2022/index.mjs +3 -3
  1396. app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
  1397. app-ng-runtime/swipey/.npmignore +2 -0
  1398. app-ng-runtime/swipey/esm2022/swipe.animation.mjs +1 -1
  1399. app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
  1400. app-ng-runtime/transpiler/.npmignore +2 -0
  1401. app-ng-runtime/transpiler/esm2022/build.mjs +1 -1
  1402. app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
  1403. app-ng-runtime/variables/.npmignore +2 -0
  1404. app-ng-runtime/variables/bundles/index.umd.js +5 -5
  1405. app-ng-runtime/variables/esm2022/factory/variable.factory.mjs +1 -1
  1406. app-ng-runtime/variables/esm2022/manager/action/login-action.manager.mjs +1 -1
  1407. app-ng-runtime/variables/esm2022/manager/action/logout-action.manager.mjs +1 -1
  1408. app-ng-runtime/variables/esm2022/manager/action/notification-action.manager.mjs +1 -1
  1409. app-ng-runtime/variables/esm2022/manager/variable/base-variable.manager.mjs +1 -1
  1410. app-ng-runtime/variables/esm2022/manager/variable/device-variable-manager.mjs +1 -1
  1411. app-ng-runtime/variables/esm2022/manager/variable/device-variable-service.mjs +1 -1
  1412. app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +1 -1
  1413. app-ng-runtime/variables/esm2022/model/action/notification-action.mjs +1 -1
  1414. app-ng-runtime/variables/esm2022/service/metadata-service/metadata.service.mjs +3 -3
  1415. app-ng-runtime/variables/esm2022/service/variables.service.mjs +3 -3
  1416. app-ng-runtime/variables/esm2022/util/action/navigation-action.utils.mjs +1 -1
  1417. app-ng-runtime/variables/esm2022/util/variable/pagination.utils.mjs +1 -1
  1418. app-ng-runtime/variables/esm2022/util/variable/service-variable.utils.mjs +1 -1
  1419. app-ng-runtime/variables/esm2022/util/variable/variables.utils.mjs +1 -1
  1420. app-ng-runtime/variables/esm2022/variables.module.mjs +2 -2
  1421. app-ng-runtime/variables/fesm2022/index.mjs +5 -5
  1422. app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
@@ -24,24 +24,24 @@ function AppComponent_ng_container_0_div_2_Template(rf, ctx) { if (rf & 1) {
24
24
  i0.ɵɵelement(0, "div", 11);
25
25
  } }
26
26
  function AppComponent_ng_container_0_ng_template_5_li_1_Template(rf, ctx) { if (rf & 1) {
27
- const _r10 = i0.ɵɵgetCurrentView();
27
+ const _r1 = i0.ɵɵgetCurrentView();
28
28
  i0.ɵɵelementStart(0, "li", 14)(1, "button", 15);
29
- i0.ɵɵlistener("click", function AppComponent_ng_container_0_ng_template_5_li_1_Template_button_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r10); const provider_r8 = restoredCtx.$implicit; return i0.ɵɵresetView(provider_r8.invoke()); });
29
+ 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()); });
30
30
  i0.ɵɵtext(2);
31
31
  i0.ɵɵelementEnd()();
32
32
  } if (rf & 2) {
33
- const provider_r8 = ctx.$implicit;
33
+ const provider_r2 = ctx.$implicit;
34
34
  i0.ɵɵadvance(2);
35
- i0.ɵɵtextInterpolate(provider_r8.name);
35
+ i0.ɵɵtextInterpolate(provider_r2.name);
36
36
  } }
37
37
  function AppComponent_ng_container_0_ng_template_5_Template(rf, ctx) { if (rf & 1) {
38
38
  i0.ɵɵelementStart(0, "ul", 12);
39
39
  i0.ɵɵtemplate(1, AppComponent_ng_container_0_ng_template_5_li_1_Template, 3, 1, "li", 13);
40
40
  i0.ɵɵelementEnd();
41
41
  } if (rf & 2) {
42
- const ctx_r4 = i0.ɵɵnextContext(2);
43
- i0.ɵɵadvance(1);
44
- i0.ɵɵproperty("ngForOf", ctx_r4.providersConfig);
42
+ const ctx_r2 = i0.ɵɵnextContext(2);
43
+ i0.ɵɵadvance();
44
+ i0.ɵɵproperty("ngForOf", ctx_r2.providersConfig);
45
45
  } }
46
46
  function AppComponent_ng_container_0_div_8_Template(rf, ctx) { if (rf & 1) {
47
47
  i0.ɵɵelement(0, "div", 16);
@@ -52,27 +52,26 @@ function AppComponent_ng_container_0_div_9_Template(rf, ctx) { if (rf & 1) {
52
52
  function AppComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
53
53
  i0.ɵɵelementContainerStart(0);
54
54
  i0.ɵɵelement(1, "router-outlet");
55
- i0.ɵɵtemplate(2, AppComponent_ng_container_0_div_2_Template, 1, 0, "div", 2);
56
- i0.ɵɵelement(3, "app-spinner", 3);
57
- i0.ɵɵelementStart(4, "div", 4);
58
- i0.ɵɵtemplate(5, AppComponent_ng_container_0_ng_template_5_Template, 2, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
55
+ i0.ɵɵtemplate(2, AppComponent_ng_container_0_div_2_Template, 1, 0, "div", 3);
56
+ i0.ɵɵelement(3, "app-spinner", 4);
57
+ i0.ɵɵelementStart(4, "div", 5);
58
+ i0.ɵɵtemplate(5, AppComponent_ng_container_0_ng_template_5_Template, 2, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
59
59
  i0.ɵɵelementEnd();
60
60
  i0.ɵɵelement(7, "div", 6);
61
- i0.ɵɵtemplate(8, AppComponent_ng_container_0_div_8_Template, 1, 0, "div", 7);
62
- i0.ɵɵtemplate(9, AppComponent_ng_container_0_div_9_Template, 1, 0, "div", 8);
61
+ 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);
63
62
  i0.ɵɵelement(10, "div", 9)(11, "i", 10);
64
63
  i0.ɵɵelementContainerEnd();
65
64
  } if (rf & 2) {
66
- const ctx_r0 = i0.ɵɵnextContext();
65
+ const ctx_r2 = i0.ɵɵnextContext();
67
66
  i0.ɵɵadvance(2);
68
- i0.ɵɵproperty("ngIf", ctx_r0.isApplicationType);
69
- i0.ɵɵadvance(1);
70
- i0.ɵɵproperty("show", ctx_r0.spinner.show)("spinnermessages", ctx_r0.spinner.messages);
71
- i0.ɵɵattribute("aria-label", ctx_r0.spinner.arialabel || "Loading");
67
+ i0.ɵɵproperty("ngIf", ctx_r2.isApplicationType);
68
+ i0.ɵɵadvance();
69
+ i0.ɵɵproperty("show", ctx_r2.spinner.show)("spinnermessages", ctx_r2.spinner.messages);
70
+ i0.ɵɵattribute("aria-label", ctx_r2.spinner.arialabel || "Loading");
72
71
  i0.ɵɵadvance(5);
73
- i0.ɵɵproperty("ngIf", !ctx_r0.isApplicationType);
74
- i0.ɵɵadvance(1);
75
- i0.ɵɵproperty("ngIf", !ctx_r0.isApplicationType);
72
+ i0.ɵɵproperty("ngIf", !ctx_r2.isApplicationType);
73
+ i0.ɵɵadvance();
74
+ i0.ɵɵproperty("ngIf", !ctx_r2.isApplicationType);
76
75
  } }
77
76
  export class AppComponent {
78
77
  constructor(_pipeProvider, _appRef, elRef, oAuthService, dialogService, spinnerService, ngZone, router, app, appManager) {
@@ -214,21 +213,22 @@ export class AppComponent {
214
213
  let _t;
215
214
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.routerOutlet = _t.first);
216
215
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dynamicComponentContainerRef = _t.first);
217
- } }, decls: 3, vars: 1, consts: [[4, "ngIf"], ["dynamicComponent", ""], ["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()"], ["dialogBody", ""], ["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) {
218
- i0.ɵɵtemplate(0, AppComponent_ng_container_0_Template, 12, 6, "ng-container", 0);
219
- i0.ɵɵelementContainer(1, null, 1);
216
+ } }, 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) {
217
+ i0.ɵɵtemplate(0, AppComponent_ng_container_0_Template, 12, 6, "ng-container", 2);
218
+ i0.ɵɵelementContainer(1, null, 0);
220
219
  } if (rf & 2) {
221
220
  i0.ɵɵproperty("ngIf", ctx.startApp);
222
221
  } }, 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 }); }
223
222
  }
224
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppComponent, [{
223
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppComponent, [{
225
224
  type: Component,
226
225
  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" }]
227
- }], function () { return [{ 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 }]; }, { routerOutlet: [{
226
+ }], () => [{ 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 }], { routerOutlet: [{
228
227
  type: ViewChild,
229
228
  args: [RouterOutlet]
230
229
  }], dynamicComponentContainerRef: [{
231
230
  type: ViewChild,
232
231
  args: ['dynamicComponent', { read: ViewContainerRef }]
233
232
  }] }); })();
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9hcHAtY29tcG9uZW50L2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQVcsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RKLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDak0sT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNQaEUsMEJBQTBHOzs7O0lBTTlGLDhCQUErRCxpQkFBQTtJQUN2QyxrTkFBUyxlQUFBLG9CQUFp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QyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsT0FBTyxZQUFZLENBQUM7UUFDeEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbkU7YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsZUFBZSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs2RUEzSlEsWUFBWTtvRUFBWixZQUFZOzJCQUlWLFlBQVk7bUNBRWUsZ0JBQWdCOzs7Ozs7WUM1QjFELGdGQXlCZTtZQUVmLGlDQUErQzs7WUEzQmhDLG1DQUFjOzs7dUZEc0JoQixZQUFZO2NBTHhCLFNBQVM7MkJBQ0ksVUFBVSxpQkFFTCxpQkFBaUIsQ0FBQyxJQUFJO3FUQU1aLFlBQVk7a0JBQXBDLFNBQVM7bUJBQUMsWUFBWTtZQUVrQyw0QkFBNEI7a0JBQXBGLFNBQVM7bUJBQUMsa0JBQWtCLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBOZ1pvbmUsIFZpZXdFbmNhcHN1bGF0aW9uLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvciwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IHNldFRoZW1lIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC91dGlscyc7XG5cbmltcG9ydCB7bm9vcH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgJGludm9rZVdhdGNoZXJzLCBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsIEFic3RyYWN0U3Bpbm5lclNlcnZpY2UsIGdldFdtUHJvamVjdFByb3BlcnRpZXMsIGhhc0NvcmRvdmEsIHNldEFwcFJlZiwgc2V0Tmdab25lLCBzZXRQaXBlUHJvdmlkZXIsIEFwcCwgYWRkQ2xhc3MsIHJlbW92ZUNsYXNzIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnQHdtL29BdXRoJztcbmltcG9ydCB7IEFwcE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBwLm1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQaXBlUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9waXBlLXByb3ZpZGVyLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgU1BJTk5FUiB7XG4gICAgc2hvdzogYm9vbGVhbjtcbiAgICBtZXNzYWdlczogQXJyYXk8c3RyaW5nPjtcbiAgICBhcmlhbGFiZWw6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcm9vdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FwcC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBcHBDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrLCBBZnRlclZpZXdJbml0IHtcbiAgICBwdWJsaWMgc3RhcnRBcHAgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNBcHBsaWNhdGlvblR5cGUgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoUm91dGVyT3V0bGV0KSByb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldDtcblxuICAgIEBWaWV3Q2hpbGQoJ2R5bmFtaWNDb21wb25lbnQnLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pIGR5bmFtaWNDb21wb25lbnRDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBzcGlubmVyOiBTUElOTkVSID0ge3Nob3c6IGZhbHNlLCBtZXNzYWdlczogW10sIGFyaWFsYWJlbDogJyd9O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBfcGlwZVByb3ZpZGVyOiBQaXBlUHJvdmlkZXIsXG4gICAgICAgIF9hcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIG9BdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IEFic3RyYWN0RGlhbG9nU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzcGlubmVyU2VydmljZTogQWJzdHJhY3RTcGlubmVyU2VydmljZSxcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHAsXG4gICAgICAgIHByaXZhdGUgYXBwTWFuYWdlcjogQXBwTWFuYWdlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc2V0UGlwZVByb3ZpZGVyKF9waXBlUHJvdmlkZXIpO1xuICAgICAgICBzZXROZ1pvbmUobmdab25lKTtcbiAgICAgICAgc2V0QXBwUmVmKF9hcHBSZWYpO1xuXG4gICAgICAgIHRoaXMuaXNBcHBsaWNhdGlvblR5cGUgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkudHlwZSA9PT0gJ0FQUExJQ0FUSU9OJztcblxuICAgICAgICB0aGlzLmFwcE1hbmFnZXIuYmVmb3JlQXBwUmVhZHkoKTtcblxuICAgICAgICAvLyBzdWJzY3JpYmUgdG8gT0F1dGggY2hhbmdlc1xuICAgICAgICBvQXV0aFNlcnZpY2UuZ2V0T0F1dGhQcm92aWRlcnNBc09ic2VydmFibGUoKS5zdWJzY3JpYmUoKHByb3ZpZGVyczogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnByb3ZpZGVyc0NvbmZpZyA9IHByb3ZpZGVycztcbiAgICAgICAgICAgIGlmIChwcm92aWRlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93T0F1dGhEaWFsb2coKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZU9BdXRoRGlhbG9nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgbWVzc2FnZSBzb3VyY2UgdG8gc2hvdy9oaWRlIGFwcCBzcGlubmVyXG4gICAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuZ2V0TWVzc2FnZVNvdXJjZSgpLmFzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAvLyBzZXRUaW1lb3V0IGlzIHRvIGF2b2lkICdFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yJ1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zcGlubmVyLnNob3cgPSBkYXRhLnNob3c7XG4gICAgICAgICAgICAgICAgdGhpcy5zcGlubmVyLm1lc3NhZ2VzID0gZGF0YS5tZXNzYWdlcztcbiAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXIuYXJpYWxhYmVsID0gZGF0YS5tZXNzYWdlcy50b1N0cmluZygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHNldCB0aGVtZSB0byBiczMgb24gbmd4LWJvb3RzdHJhcC4gVGhpcyBhdm9pZHMgcnVudGltZSBjYWxjdWxhdGlvbiB0byBkZXRlcm1pbmUgYnMgdGhlbWUuIFRodXMgcmVzb2x2ZXMgcGVyZm9ybWFuY2UuXG4gICAgICAgIHNldFRoZW1lKCdiczMnKTtcblxuICAgICAgICBsZXQgc3Bpbm5lcklkO1xuXG4gICAgICAgIGxldCBvblBhZ2VSZW5kZXJlZCA9IG5vb3A7XG5cbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgbGV0IHBhZ2UgPSBlLnVybC5zcGxpdCgnPycpWzBdO1xuICAgICAgICAgICAgICAgIHBhZ2UgPSBwYWdlLnN1YnN0cmluZygxKTtcblxuICAgICAgICAgICAgICAgIGlmICghcGFnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcC5hY3RpdmVMYXlvdXROYW1lID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwLmxheW91dFBhZ2VzID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmKHRoaXMuYXBwLmFjdGl2ZUxheW91dE5hbWUgJiYgdGhpcy5hcHAubGF5b3V0UGFnZXMgJiYgdGhpcy5hcHAubGF5b3V0UGFnZXMubGVuZ3RoICYmIHRoaXMuYXBwLmxheW91dFBhZ2VzLmluY2x1ZGVzKHBhZ2UpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNwaW5uZXJJZCA9IHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygnJywgJ3dtUm91dGVyT3V0bGV0JywgJycsICd3bVJvdXRlck91dGxldCcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNwaW5uZXJJZCA9IHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygnJywgJ2dsb2JhbFNwaW5uZXInKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYXBwLXBhZ2Utb3V0bGV0JykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkQ2xhc3Mobm9kZSwgJ3BhZ2UtbG9hZC1pbi1wcm9ncmVzcycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VMb2FkU3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgICBvblBhZ2VSZW5kZXJlZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKHNwaW5uZXJJZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhcHAtcGFnZS1vdXRsZXQnKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUNsYXNzKG5vZGUsICdwYWdlLWxvYWQtaW4tcHJvZ3Jlc3MnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvblBhZ2VSZW5kZXJlZCA9IG5vb3A7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwLmFjdGl2ZVBhZ2VMb2FkVGltZSA9IERhdGUubm93KCkgLSBwYWdlTG9hZFN0YXJ0VGltZTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PntcbiAgICAgICAgICAgICAgICAgICAgb25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5zdWJzY3JpYmUoJ3BhZ2VSZWFkeScsICgpID0+IHtcbiAgICAgICAgICAgIG9uUGFnZVJlbmRlcmVkKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFwcE1hbmFnZXIuc3Vic2NyaWJlKCdwYWdlQXR0YWNoJywgKCkgPT4ge1xuICAgICAgICAgICAgb25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdmlkZXJzQ29uZmlnO1xuICAgIGlzT0F1dGhEaWFsb2dPcGVuID0gZmFsc2U7XG5cbiAgICBzaG93T0F1dGhEaWFsb2coKSB7XG4gICAgICAgIGlmICghdGhpcy5pc09BdXRoRGlhbG9nT3Blbikge1xuICAgICAgICAgICAgdGhpcy5pc09BdXRoRGlhbG9nT3BlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3Blbignb0F1dGhMb2dpbkRpYWxvZycsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2VPQXV0aERpYWxvZygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPQXV0aERpYWxvZ09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuaXNPQXV0aERpYWxvZ09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5jbG9zZSgnb0F1dGhMb2dpbkRpYWxvZycsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydCgpIHtcbiAgICAgICAgLy90byBmaXggdGhlIGlzc3VlIHRoYXQgaGFwcGVucyBvbmx5IGluIHRoZSBkZXZlbG9wbWVudCBtb2RlXG4gICAgICAgIC8vRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuICAgICAgICAvL2ZpeDogaHR0cHM6Ly9ibG9nLmFuZ3VsYXItdW5pdmVyc2l0eS5pby9hbmd1bGFyLWRlYnVnZ2luZy9cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0QXBwID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHAuZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclJlZiA9IHRoaXMuZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclJlZjtcbiAgICAgICAgICAgIHRoaXMub3ZlcnJpZGVSb3V0ZXJPdXRsZXQoKTtcbiAgICAgICAgfSwgMTApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3ZlcnJpZGVSb3V0ZXJPdXRsZXQoKSB7XG4gICAgICAgIC8vb3ZlcnJpZGUgdGhlIGF0dGFjaC9kZXRhY2ggbWV0aG9kc1xuICAgICAgICBjb25zdCBvQXR0YWNoID0gdGhpcy5yb3V0ZXJPdXRsZXQuYXR0YWNoO1xuICAgICAgICBjb25zdCBvRGV0YWNoID0gdGhpcy5yb3V0ZXJPdXRsZXQuZGV0YWNoO1xuICAgICAgICB0aGlzLnJvdXRlck91dGxldC5hdHRhY2ggPSAoY29tcG9uZW50UmVmOiBhbnkpID0+IHtcbiAgICAgICAgICAgIG9BdHRhY2guY2FsbCh0aGlzLnJvdXRlck91dGxldCwgY29tcG9uZW50UmVmKTtcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5uZ09uQXR0YWNoKCk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucm91dGVyT3V0bGV0LmRldGFjaCA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwLmFjdGl2ZVBhZ2UubmdPbkRldGFjaCgpO1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gb0RldGFjaC5jYWxsKHRoaXMucm91dGVyT3V0bGV0KTtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAoaGFzQ29yZG92YSgpICYmICF3aW5kb3dbJ3dtRGV2aWNlUmVhZHknXSkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd21EZXZpY2VSZWFkeScgLCAoKSA9PiB0aGlzLnN0YXJ0KCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdGFydCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICAkaW52b2tlV2F0Y2hlcnMoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhcnRBcHBcIj5cbiAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgPGRpdiB3bUNvbnRhaW5lciBwYXJ0aWFsQ29udGFpbmVyIGNvbnRlbnQ9XCJDb21tb25cIiBoaWRkZW4gY2xhc3M9XCJuZy1oaWRlXCIgKm5nSWY9XCJpc0FwcGxpY2F0aW9uVHlwZVwiPjwvZGl2PlxuICAgIDxhcHAtc3Bpbm5lciBuYW1lPVwiZ2xvYmFsc3Bpbm5lclwiIGNsYXNzbmFtZT1cImdsb2JhbC1zcGlubmVyXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJzcGlubmVyLmFyaWFsYWJlbCB8fCAnTG9hZGluZydcIiBbc2hvd109XCJzcGlubmVyLnNob3dcIiBbc3Bpbm5lcm1lc3NhZ2VzXT1cInNwaW5uZXIubWVzc2FnZXNcIj48L2FwcC1zcGlubmVyPlxuICAgIDxkaXYgd21EaWFsb2cgbmFtZT1cIm9BdXRoTG9naW5EaWFsb2dcIiB0aXRsZT1cIkFwcGxpY2F0aW9uIGlzIHJlcXVlc3RpbmcgeW91IHRvIHNpZ24gaW4gd2l0aFwiXG4gICAgICAgICBjbG9zZS5ldmVudD1cImNsb3NlT0F1dGhEaWFsb2coKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RpYWxvZ0JvZHk+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1pdGVtXCIgKm5nRm9yPVwibGV0IHByb3ZpZGVyIG9mIHByb3ZpZGVyc0NvbmZpZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cInByb3ZpZGVyLmludm9rZSgpXCI+e3twcm92aWRlci5uYW1lfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHdtQ29uZmlybURpYWxvZyBuYW1lPVwiX2FwcC1jb25maXJtLWRpYWxvZ1wiIHRpdGxlLmJpbmQ9XCJ0aXRsZVwiIG1lc3NhZ2UuYmluZD1cIm1lc3NhZ2VcIiBva3RleHQuYmluZD1cIm9rdGV4dFwiXG4gICAgICAgICBjYW5jZWx0ZXh0LmJpbmQ9XCJjYW5jZWx0ZXh0XCIgY2xvc2FibGU9XCJmYWxzZVwiIGljb25jbGFzcy5iaW5kPVwiaWNvbmNsYXNzXCJcbiAgICAgICAgIGVzY2FwZS5ldmVudD1cIm9uRXNjYXBlKClcIiBvay5ldmVudD1cIm9uT2soKVwiIGNhbmNlbC5ldmVudD1cIm9uQ2FuY2VsKClcIiBjbG9zZS5ldmVudD1cIm9uQ2xvc2UoKVwiIG9wZW5lZC5ldmVudD1cIm9uT3BlbigpXCI+PC9kaXY+XG4gICAgPGRpdiAgKm5nSWY9XCIhaXNBcHBsaWNhdGlvblR5cGVcIiB3bUNvbmZpcm1EaWFsb2cgbmFtZT1cIlByZWZhYkNvbmZpcm1EaWFsb2dcIiB0aXRsZS5iaW5kPVwidGl0bGVcIiBtZXNzYWdlLmJpbmQ9XCJ0ZXh0XCIgb2t0ZXh0LmJpbmQ9XCJva0J1dHRvblRleHRcIlxuICAgICAgICAgY2FuY2VsdGV4dC5iaW5kPVwiY2FuY2VsQnV0dG9uVGV4dFwiIGNsb3NhYmxlPVwiZmFsc2VcIiBpY29uY2xhc3MuYmluZD1cImljb25jbGFzc1wiXG4gICAgICAgICBlc2NhcGUuZXZlbnQ9XCJvbkVzY2FwZSgpXCIgb2suZXZlbnQ9XCJvbk9rKClcIiBjYW5jZWwuZXZlbnQ9XCJvbkNhbmNlbCgpXCIgY2xvc2UuZXZlbnQ9XCJvbkNsb3NlKClcIiBvcGVuZWQuZXZlbnQ9XCJvbk9wZW4oKVwiPjwvZGl2PlxuICAgIDxkaXYgICpuZ0lmPVwiIWlzQXBwbGljYXRpb25UeXBlXCIgd21BbGVydERpYWxvZyBuYW1lPVwiUHJlZmFiQWxlcnREaWFsb2dcIiB0aXRsZS5iaW5kPVwidGl0bGVcIiBtZXNzYWdlLmJpbmQ9XCJ0ZXh0XCIgb2t0ZXh0LmJpbmQ9XCJva0J1dHRvblRleHRcIlxuICAgICAgICAgY2FuY2VsdGV4dC5iaW5kPVwiY2FuY2VsQnV0dG9uVGV4dFwiIGNsb3NhYmxlPVwiZmFsc2VcIiBpY29uY2xhc3MuYmluZD1cImljb25jbGFzc1wiXG4gICAgICAgICBlc2NhcGUuZXZlbnQ9XCJvbkVzY2FwZSgpXCIgb2suZXZlbnQ9XCJvbk9rKClcIiBjYW5jZWwuZXZlbnQ9XCJvbkNhbmNlbCgpXCIgY2xvc2UuZXZlbnQ9XCJvbkNsb3NlKClcIiBvcGVuZWQuZXZlbnQ9XCJvbk9wZW4oKVwiPjwvZGl2PlxuICAgIDxkaXYgd21BcHBFeHQ+PC9kaXY+XG4gICAgPGkgaWQ9XCJ3bS1tb2JpbGUtZGlzcGxheVwiPjwvaT5cbjwvbmctY29udGFpbmVyPlxuPCEtLUR1bW15IGNvbnRhaW5lciB0byBjcmVhdGUgdGhlIGNvbXBvbmVudCBkeW5hbWljYWxseS0tPlxuPG5nLWNvbnRhaW5lciAjZHluYW1pY0NvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiJdfQ==
233
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AppComponent, { className: "AppComponent", filePath: "components/app-component/app.component.ts", lineNumber: 23 }); })();
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9hcHAtY29tcG9uZW50L2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQVcsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RKLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDak0sT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNQaEUsMEJBQTBHOzs7O0lBTzFGLEFBREosOEJBQStELGlCQUNYO0lBQTVCLCtMQUFTLG9CQUFp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RyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsT0FBTyxZQUFZLENBQUM7UUFDeEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDM0MsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxlQUFlLEVBQUUsQ0FBQztJQUN0QixDQUFDOzZFQTNKUSxZQUFZO29FQUFaLFlBQVk7MkJBSVYsWUFBWTttQ0FFZSxnQkFBZ0I7Ozs7OztZQzVCMUQsZ0ZBQStCO1lBMkIvQixpQ0FBK0M7O1lBM0JoQyxtQ0FBYzs7O2lGRHNCaEIsWUFBWTtjQUx4QixTQUFTOzJCQUNJLFVBQVUsaUJBRUwsaUJBQWlCLENBQUMsSUFBSTttU0FNWixZQUFZO2tCQUFwQyxTQUFTO21CQUFDLFlBQVk7WUFFa0MsNEJBQTRCO2tCQUFwRixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDOztrRkFOOUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIE5nWm9uZSwgVmlld0VuY2Fwc3VsYXRpb24sIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciwgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgc2V0VGhlbWUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3V0aWxzJztcblxuaW1wb3J0IHtub29wfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyAkaW52b2tlV2F0Y2hlcnMsIEFic3RyYWN0RGlhbG9nU2VydmljZSwgQWJzdHJhY3RTcGlubmVyU2VydmljZSwgZ2V0V21Qcm9qZWN0UHJvcGVydGllcywgaGFzQ29yZG92YSwgc2V0QXBwUmVmLCBzZXROZ1pvbmUsIHNldFBpcGVQcm92aWRlciwgQXBwLCBhZGRDbGFzcywgcmVtb3ZlQ2xhc3MgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdAd20vb0F1dGgnO1xuaW1wb3J0IHsgQXBwTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAubWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBpcGVQcm92aWRlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BpcGUtcHJvdmlkZXIuc2VydmljZSc7XG5cbmludGVyZmFjZSBTUElOTkVSIHtcbiAgICBzaG93OiBib29sZWFuO1xuICAgIG1lc3NhZ2VzOiBBcnJheTxzdHJpbmc+O1xuICAgIGFyaWFsYWJlbDogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCBpbXBsZW1lbnRzIERvQ2hlY2ssIEFmdGVyVmlld0luaXQge1xuICAgIHB1YmxpYyBzdGFydEFwcCA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0FwcGxpY2F0aW9uVHlwZSA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZChSb3V0ZXJPdXRsZXQpIHJvdXRlck91dGxldDogUm91dGVyT3V0bGV0O1xuXG4gICAgQFZpZXdDaGlsZCgnZHluYW1pY0NvbXBvbmVudCcsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSkgZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIHNwaW5uZXI6IFNQSU5ORVIgPSB7c2hvdzogZmFsc2UsIG1lc3NhZ2VzOiBbXSwgYXJpYWxhYmVsOiAnJ307XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIF9waXBlUHJvdmlkZXI6IFBpcGVQcm92aWRlcixcbiAgICAgICAgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogQWJzdHJhY3REaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNwaW5uZXJTZXJ2aWNlOiBBYnN0cmFjdFNwaW5uZXJTZXJ2aWNlLFxuICAgICAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgcHJpdmF0ZSBhcHBNYW5hZ2VyOiBBcHBNYW5hZ2VyU2VydmljZVxuICAgICkge1xuICAgICAgICBzZXRQaXBlUHJvdmlkZXIoX3BpcGVQcm92aWRlcik7XG4gICAgICAgIHNldE5nWm9uZShuZ1pvbmUpO1xuICAgICAgICBzZXRBcHBSZWYoX2FwcFJlZik7XG5cbiAgICAgICAgdGhpcy5pc0FwcGxpY2F0aW9uVHlwZSA9IGdldFdtUHJvamVjdFByb3BlcnRpZXMoKS50eXBlID09PSAnQVBQTElDQVRJT04nO1xuXG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5iZWZvcmVBcHBSZWFkeSgpO1xuXG4gICAgICAgIC8vIHN1YnNjcmliZSB0byBPQXV0aCBjaGFuZ2VzXG4gICAgICAgIG9BdXRoU2VydmljZS5nZXRPQXV0aFByb3ZpZGVyc0FzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZSgocHJvdmlkZXJzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvdmlkZXJzQ29uZmlnID0gcHJvdmlkZXJzO1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dPQXV0aERpYWxvZygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlT0F1dGhEaWFsb2coKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBtZXNzYWdlIHNvdXJjZSB0byBzaG93L2hpZGUgYXBwIHNwaW5uZXJcbiAgICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5nZXRNZXNzYWdlU291cmNlKCkuYXNPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vIHNldFRpbWVvdXQgaXMgdG8gYXZvaWQgJ0V4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3InXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXIuc2hvdyA9IGRhdGEuc2hvdztcbiAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXIubWVzc2FnZXMgPSBkYXRhLm1lc3NhZ2VzO1xuICAgICAgICAgICAgICAgIHRoaXMuc3Bpbm5lci5hcmlhbGFiZWwgPSBkYXRhLm1lc3NhZ2VzLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc2V0IHRoZW1lIHRvIGJzMyBvbiBuZ3gtYm9vdHN0cmFwLiBUaGlzIGF2b2lkcyBydW50aW1lIGNhbGN1bGF0aW9uIHRvIGRldGVybWluZSBicyB0aGVtZS4gVGh1cyByZXNvbHZlcyBwZXJmb3JtYW5jZS5cbiAgICAgICAgc2V0VGhlbWUoJ2JzMycpO1xuXG4gICAgICAgIGxldCBzcGlubmVySWQ7XG5cbiAgICAgICAgbGV0IG9uUGFnZVJlbmRlcmVkID0gbm9vcDtcblxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFnZSA9IGUudXJsLnNwbGl0KCc/JylbMF07XG4gICAgICAgICAgICAgICAgcGFnZSA9IHBhZ2Uuc3Vic3RyaW5nKDEpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFwYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwLmFjdGl2ZUxheW91dE5hbWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHAubGF5b3V0UGFnZXMgPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYodGhpcy5hcHAuYWN0aXZlTGF5b3V0TmFtZSAmJiB0aGlzLmFwcC5sYXlvdXRQYWdlcyAmJiB0aGlzLmFwcC5sYXlvdXRQYWdlcy5sZW5ndGggJiYgdGhpcy5hcHAubGF5b3V0UGFnZXMuaW5jbHVkZXMocGFnZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Bpbm5lcklkID0gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCcnLCAnd21Sb3V0ZXJPdXRsZXQnLCAnJywgJ3dtUm91dGVyT3V0bGV0Jyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3Bpbm5lcklkID0gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCcnLCAnZ2xvYmFsU3Bpbm5lcicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhcHAtcGFnZS1vdXRsZXQnKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRDbGFzcyhub2RlLCAncGFnZS1sb2FkLWluLXByb2dyZXNzJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgcGFnZUxvYWRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgIG9uUGFnZVJlbmRlcmVkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoc3Bpbm5lcklkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2FwcC1wYWdlLW91dGxldCcpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3Mobm9kZSwgJ3BhZ2UtbG9hZC1pbi1wcm9ncmVzcycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9uUGFnZVJlbmRlcmVkID0gbm9vcDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHAuYWN0aXZlUGFnZUxvYWRUaW1lID0gRGF0ZS5ub3coKSAtIHBhZ2VMb2FkU3RhcnRUaW1lO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+e1xuICAgICAgICAgICAgICAgICAgICBvblBhZ2VSZW5kZXJlZCgpO1xuICAgICAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLnN1YnNjcmliZSgncGFnZVJlYWR5JywgKCkgPT4ge1xuICAgICAgICAgICAgb25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5zdWJzY3JpYmUoJ3BhZ2VBdHRhY2gnLCAoKSA9PiB7XG4gICAgICAgICAgICBvblBhZ2VSZW5kZXJlZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm92aWRlcnNDb25maWc7XG4gICAgaXNPQXV0aERpYWxvZ09wZW4gPSBmYWxzZTtcblxuICAgIHNob3dPQXV0aERpYWxvZygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT0F1dGhEaWFsb2dPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmlzT0F1dGhEaWFsb2dPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKCdvQXV0aExvZ2luRGlhbG9nJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZU9BdXRoRGlhbG9nKCkge1xuICAgICAgICBpZiAodGhpcy5pc09BdXRoRGlhbG9nT3Blbikge1xuICAgICAgICAgICAgdGhpcy5pc09BdXRoRGlhbG9nT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsb3NlKCdvQXV0aExvZ2luRGlhbG9nJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0KCkge1xuICAgICAgICAvL3RvIGZpeCB0aGUgaXNzdWUgdGhhdCBoYXBwZW5zIG9ubHkgaW4gdGhlIGRldmVsb3BtZW50IG1vZGVcbiAgICAgICAgLy9FeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4gICAgICAgIC8vZml4OiBodHRwczovL2Jsb2cuYW5ndWxhci11bml2ZXJzaXR5LmlvL2FuZ3VsYXItZGVidWdnaW5nL1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRBcHAgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcC5keW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmID0gdGhpcy5keW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmO1xuICAgICAgICAgICAgdGhpcy5vdmVycmlkZVJvdXRlck91dGxldCgpO1xuICAgICAgICB9LCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvdmVycmlkZVJvdXRlck91dGxldCgpIHtcbiAgICAgICAgLy9vdmVycmlkZSB0aGUgYXR0YWNoL2RldGFjaCBtZXRob2RzXG4gICAgICAgIGNvbnN0IG9BdHRhY2ggPSB0aGlzLnJvdXRlck91dGxldC5hdHRhY2g7XG4gICAgICAgIGNvbnN0IG9EZXRhY2ggPSB0aGlzLnJvdXRlck91dGxldC5kZXRhY2g7XG4gICAgICAgIHRoaXMucm91dGVyT3V0bGV0LmF0dGFjaCA9IChjb21wb25lbnRSZWY6IGFueSkgPT4ge1xuICAgICAgICAgICAgb0F0dGFjaC5jYWxsKHRoaXMucm91dGVyT3V0bGV0LCBjb21wb25lbnRSZWYpO1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm5nT25BdHRhY2goKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5yb3V0ZXJPdXRsZXQuZGV0YWNoID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHAuYWN0aXZlUGFnZS5uZ09uRGV0YWNoKCk7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBvRGV0YWNoLmNhbGwodGhpcy5yb3V0ZXJPdXRsZXQpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmIChoYXNDb3Jkb3ZhKCkgJiYgIXdpbmRvd1snd21EZXZpY2VSZWFkeSddKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3bURldmljZVJlYWR5JyAsICgpID0+IHRoaXMuc3RhcnQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgICRpbnZva2VXYXRjaGVycygpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGFydEFwcFwiPlxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICA8ZGl2IHdtQ29udGFpbmVyIHBhcnRpYWxDb250YWluZXIgY29udGVudD1cIkNvbW1vblwiIGhpZGRlbiBjbGFzcz1cIm5nLWhpZGVcIiAqbmdJZj1cImlzQXBwbGljYXRpb25UeXBlXCI+PC9kaXY+XG4gICAgPGFwcC1zcGlubmVyIG5hbWU9XCJnbG9iYWxzcGlubmVyXCIgY2xhc3NuYW1lPVwiZ2xvYmFsLXNwaW5uZXJcIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInNwaW5uZXIuYXJpYWxhYmVsIHx8ICdMb2FkaW5nJ1wiIFtzaG93XT1cInNwaW5uZXIuc2hvd1wiIFtzcGlubmVybWVzc2FnZXNdPVwic3Bpbm5lci5tZXNzYWdlc1wiPjwvYXBwLXNwaW5uZXI+XG4gICAgPGRpdiB3bURpYWxvZyBuYW1lPVwib0F1dGhMb2dpbkRpYWxvZ1wiIHRpdGxlPVwiQXBwbGljYXRpb24gaXMgcmVxdWVzdGluZyB5b3UgdG8gc2lnbiBpbiB3aXRoXCJcbiAgICAgICAgIGNsb3NlLmV2ZW50PVwiY2xvc2VPQXV0aERpYWxvZygpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlhbG9nQm9keT5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtaXRlbXNcIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWl0ZW1cIiAqbmdGb3I9XCJsZXQgcHJvdmlkZXIgb2YgcHJvdmlkZXJzQ29uZmlnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiAoY2xpY2spPVwicHJvdmlkZXIuaW52b2tlKClcIj57e3Byb3ZpZGVyLm5hbWV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgd21Db25maXJtRGlhbG9nIG5hbWU9XCJfYXBwLWNvbmZpcm0tZGlhbG9nXCIgdGl0bGUuYmluZD1cInRpdGxlXCIgbWVzc2FnZS5iaW5kPVwibWVzc2FnZVwiIG9rdGV4dC5iaW5kPVwib2t0ZXh0XCJcbiAgICAgICAgIGNhbmNlbHRleHQuYmluZD1cImNhbmNlbHRleHRcIiBjbG9zYWJsZT1cImZhbHNlXCIgaWNvbmNsYXNzLmJpbmQ9XCJpY29uY2xhc3NcIlxuICAgICAgICAgZXNjYXBlLmV2ZW50PVwib25Fc2NhcGUoKVwiIG9rLmV2ZW50PVwib25PaygpXCIgY2FuY2VsLmV2ZW50PVwib25DYW5jZWwoKVwiIGNsb3NlLmV2ZW50PVwib25DbG9zZSgpXCIgb3BlbmVkLmV2ZW50PVwib25PcGVuKClcIj48L2Rpdj5cbiAgICA8ZGl2ICAqbmdJZj1cIiFpc0FwcGxpY2F0aW9uVHlwZVwiIHdtQ29uZmlybURpYWxvZyBuYW1lPVwiUHJlZmFiQ29uZmlybURpYWxvZ1wiIHRpdGxlLmJpbmQ9XCJ0aXRsZVwiIG1lc3NhZ2UuYmluZD1cInRleHRcIiBva3RleHQuYmluZD1cIm9rQnV0dG9uVGV4dFwiXG4gICAgICAgICBjYW5jZWx0ZXh0LmJpbmQ9XCJjYW5jZWxCdXR0b25UZXh0XCIgY2xvc2FibGU9XCJmYWxzZVwiIGljb25jbGFzcy5iaW5kPVwiaWNvbmNsYXNzXCJcbiAgICAgICAgIGVzY2FwZS5ldmVudD1cIm9uRXNjYXBlKClcIiBvay5ldmVudD1cIm9uT2soKVwiIGNhbmNlbC5ldmVudD1cIm9uQ2FuY2VsKClcIiBjbG9zZS5ldmVudD1cIm9uQ2xvc2UoKVwiIG9wZW5lZC5ldmVudD1cIm9uT3BlbigpXCI+PC9kaXY+XG4gICAgPGRpdiAgKm5nSWY9XCIhaXNBcHBsaWNhdGlvblR5cGVcIiB3bUFsZXJ0RGlhbG9nIG5hbWU9XCJQcmVmYWJBbGVydERpYWxvZ1wiIHRpdGxlLmJpbmQ9XCJ0aXRsZVwiIG1lc3NhZ2UuYmluZD1cInRleHRcIiBva3RleHQuYmluZD1cIm9rQnV0dG9uVGV4dFwiXG4gICAgICAgICBjYW5jZWx0ZXh0LmJpbmQ9XCJjYW5jZWxCdXR0b25UZXh0XCIgY2xvc2FibGU9XCJmYWxzZVwiIGljb25jbGFzcy5iaW5kPVwiaWNvbmNsYXNzXCJcbiAgICAgICAgIGVzY2FwZS5ldmVudD1cIm9uRXNjYXBlKClcIiBvay5ldmVudD1cIm9uT2soKVwiIGNhbmNlbC5ldmVudD1cIm9uQ2FuY2VsKClcIiBjbG9zZS5ldmVudD1cIm9uQ2xvc2UoKVwiIG9wZW5lZC5ldmVudD1cIm9uT3BlbigpXCI+PC9kaXY+XG4gICAgPGRpdiB3bUFwcEV4dD48L2Rpdj5cbiAgICA8aSBpZD1cIndtLW1vYmlsZS1kaXNwbGF5XCI+PC9pPlxuPC9uZy1jb250YWluZXI+XG48IS0tRHVtbXkgY29udGFpbmVyIHRvIGNyZWF0ZSB0aGUgY29tcG9uZW50IGR5bmFtaWNhbGx5LS0+XG48bmctY29udGFpbmVyICNkeW5hbWljQ29tcG9uZW50PjwvbmctY29udGFpbmVyPlxuIl19
@@ -5,8 +5,8 @@ import * as i2 from "@wm/components/base";
5
5
  function AppSpinnerComponent_div_0_p_4_Template(rf, ctx) { if (rf & 1) {
6
6
  i0.ɵɵelement(0, "p", 6);
7
7
  } if (rf & 2) {
8
- const value_r2 = ctx.$implicit;
9
- i0.ɵɵproperty("textContent", value_r2);
8
+ const value_r1 = ctx.$implicit;
9
+ i0.ɵɵproperty("textContent", value_r1);
10
10
  } }
11
11
  function AppSpinnerComponent_div_0_Template(rf, ctx) { if (rf & 1) {
12
12
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
@@ -15,10 +15,10 @@ function AppSpinnerComponent_div_0_Template(rf, ctx) { if (rf & 1) {
15
15
  i0.ɵɵtemplate(4, AppSpinnerComponent_div_0_p_4_Template, 1, 1, "p", 5);
16
16
  i0.ɵɵelementEnd()()();
17
17
  } if (rf & 2) {
18
- const ctx_r0 = i0.ɵɵnextContext();
19
- i0.ɵɵproperty("ngClass", ctx_r0.classname);
18
+ const ctx_r1 = i0.ɵɵnextContext();
19
+ i0.ɵɵproperty("ngClass", ctx_r1.classname);
20
20
  i0.ɵɵadvance(4);
21
- i0.ɵɵproperty("ngForOf", ctx_r0.spinnermessages);
21
+ i0.ɵɵproperty("ngForOf", ctx_r1.spinnermessages);
22
22
  } }
23
23
  export class AppSpinnerComponent {
24
24
  constructor() { }
@@ -29,7 +29,7 @@ export class AppSpinnerComponent {
29
29
  i0.ɵɵproperty("ngIf", ctx.show);
30
30
  } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.TextContentDirective], encapsulation: 2 }); }
31
31
  }
32
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppSpinnerComponent, [{
32
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppSpinnerComponent, [{
33
33
  type: Component,
34
34
  args: [{
35
35
  selector: 'app-spinner',
@@ -44,7 +44,7 @@ export class AppSpinnerComponent {
44
44
  </div>
45
45
  `
46
46
  }]
47
- }], function () { return []; }, { show: [{
47
+ }], () => [], { show: [{
48
48
  type: Input
49
49
  }], spinnermessages: [{
50
50
  type: Input
@@ -53,4 +53,5 @@ export class AppSpinnerComponent {
53
53
  }], arialabel: [{
54
54
  type: Input
55
55
  }] }); })();
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNwaW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2FwcC1zcGlubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7SUFTN0IsdUJBQW1FOzs7SUFBMUIsc0NBQXFCOzs7SUFKMUUsOEJBQTRELGFBQUE7SUFFcEQsdUJBQTRFO0lBQzVFLDhCQUE4QjtJQUMxQixzRUFBbUU7SUFDdkUsaUJBQU0sRUFBQSxFQUFBOzs7SUFMVywwQ0FBcUI7SUFJYixlQUFrQjtJQUFsQixnREFBa0I7O0FBTTNELE1BQU0sT0FBTyxtQkFBbUI7SUFLNUIsZ0JBQWUsQ0FBQztvRkFMUCxtQkFBbUI7b0VBQW5CLG1CQUFtQjtZQVZ4QixvRUFPTTs7WUFQMEMsK0JBQVU7Ozt1RkFVckQsbUJBQW1CO2NBYi9CLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFOzs7Ozs7Ozs7S0FTVDthQUNKO3NDQUVZLElBQUk7a0JBQVosS0FBSztZQUNHLGVBQWU7a0JBQXZCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtc3Bpbm5lcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1zcGlubmVyXCIgW25nQ2xhc3NdPVwiY2xhc3NuYW1lXCIgKm5nSWY9XCJzaG93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzcGlubmVyLWltYWdlIGFuaW1hdGVkIGluZmluaXRlIGZhIGZhLWNpcmNsZS1vLW5vdGNoIGZhLXNwaW5cIj48L2k+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItbWVzc2FnZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgKm5nRm9yPVwibGV0IHZhbHVlIG9mIHNwaW5uZXJtZXNzYWdlc1wiIFt0ZXh0Q29udGVudF09XCJ2YWx1ZVwiPjwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIEFwcFNwaW5uZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHNob3c6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc3Bpbm5lcm1lc3NhZ2VzOiBBcnJheTxzdHJpbmc+O1xuICAgIEBJbnB1dCgpIGNsYXNzbmFtZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGFyaWFsYWJlbDogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
56
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AppSpinnerComponent, { className: "AppSpinnerComponent", filePath: "components/app-spinner.component.ts", lineNumber: 16 }); })();
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNwaW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2FwcC1zcGlubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7SUFTN0IsdUJBQW1FOzs7SUFBMUIsc0NBQXFCOzs7SUFIdEUsQUFESiw4QkFBNEQsYUFDM0I7SUFDekIsdUJBQTRFO0lBQzVFLDhCQUE4QjtJQUMxQixzRUFBK0Q7SUFHM0UsQUFESSxBQURJLGlCQUFNLEVBQ0osRUFDSjs7O0lBUG1CLDBDQUFxQjtJQUliLGVBQWtCO0lBQWxCLGdEQUFrQjs7QUFNM0QsTUFBTSxPQUFPLG1CQUFtQjtJQUs1QixnQkFBZSxDQUFDO29GQUxQLG1CQUFtQjtvRUFBbkIsbUJBQW1CO1lBVnhCLG9FQUE0RDs7WUFBWiwrQkFBVTs7O2lGQVVyRCxtQkFBbUI7Y0FiL0IsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUU7Ozs7Ozs7OztLQVNUO2FBQ0o7b0JBRVksSUFBSTtrQkFBWixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLOztrRkFKRyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXNwaW5uZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtc3Bpbm5lclwiIFtuZ0NsYXNzXT1cImNsYXNzbmFtZVwiICpuZ0lmPVwic2hvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic3Bpbm5lci1pbWFnZSBhbmltYXRlZCBpbmZpbml0ZSBmYSBmYS1jaXJjbGUtby1ub3RjaCBmYS1zcGluXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLW1lc3NhZ2VzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBzcGlubmVybWVzc2FnZXNcIiBbdGV4dENvbnRlbnRdPVwidmFsdWVcIj48L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBBcHBTcGlubmVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzaG93OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNwaW5uZXJtZXNzYWdlczogQXJyYXk8c3RyaW5nPjtcbiAgICBASW5wdXQoKSBjbGFzc25hbWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBhcmlhbGFiZWw6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
@@ -64,7 +64,7 @@ export class BaseLayoutComponent {
64
64
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pageDirective = _t.first);
65
65
  } } }); }
66
66
  }
67
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseLayoutComponent, [{
67
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseLayoutComponent, [{
68
68
  type: Directive
69
69
  }], null, { routerOutlet: [{
70
70
  type: ViewChild,
@@ -73,4 +73,4 @@ export class BaseLayoutComponent {
73
73
  type: ViewChild,
74
74
  args: [PageDirective]
75
75
  }] }); })();
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2Jhc2UtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUtqRCxNQUFNLE9BQWdCLG1CQUFtQjtJQVdyQzs7OztPQUlHO0lBQ0gsbUJBQW1CO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBQyxFQUFFO1lBQzVCLGdCQUFnQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLG9DQUFvQztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLFlBQWlCLEVBQUUsRUFBRTtZQUM3QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDOUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsT0FBTyxZQUFZLENBQUM7UUFDeEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDWCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXhDLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsMkZBQTJGO0lBQzNGLFdBQVc7SUFDWCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVO0lBQ1YsQ0FBQztJQUVELFVBQVU7SUFDVixDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLFVBQVUsQ0FBQyxhQUFrQjtRQUN6QixrSEFBa0g7UUFDbEgsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbEMsQ0FBQztvRkFyRWlCLG1CQUFtQjtvRUFBbkIsbUJBQW1COzJCQU0xQixZQUFZOzJCQUNaLGFBQWE7Ozs7Ozs7dUZBUE4sbUJBQW1CO2NBRHhDLFNBQVM7Z0JBT21CLFlBQVk7a0JBQXBDLFNBQVM7bUJBQUMsWUFBWTtZQUNHLGFBQWE7a0JBQXRDLFNBQVM7bUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBQYWdlRGlyZWN0aXZlIH0gZnJvbSBcIkB3bS9jb21wb25lbnRzL3BhZ2VcIjtcbmltcG9ydCB7IHJlZ2lzdGVyRm5CeUV4cHIsIEFwcCB9IGZyb20gXCJAd20vY29yZVwiO1xuXG5kZWNsYXJlIGNvbnN0IF87XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICBBcHA6IEFwcDtcbiAgICBsYXlvdXROYW1lOiBzdHJpbmc7XG4gICAgbGF5b3V0UGFnZXM6IHN0cmluZ1tdO1xuXG4gICAgQFZpZXdDaGlsZChSb3V0ZXJPdXRsZXQpIHJvdXRlck91dGxldDogUm91dGVyT3V0bGV0O1xuICAgIEBWaWV3Q2hpbGQoUGFnZURpcmVjdGl2ZSkgcGFnZURpcmVjdGl2ZTogUGFnZURpcmVjdGl2ZTtcblxuICAgIGFic3RyYWN0IGdldEV4cHJlc3Npb25zKCk7XG5cbiAgICAvKipcbiAgICAgKiBmdW5jdGlvbiB0byByZWdpc3RlciBiaW5kIGV4cHJlc3Npb25zIGdlbmVyYXRlZCBpbiB0aGlzIHBhZ2UgaW5zdGFuY2VcbiAgICAgKiBnZXRFeHByZXNzaW9ucyBmdW5jdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBnZW5lcmF0ZWQgcGFnZS5jb21wLnRzIGZpbGVcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbnMsIG1hcCBvZiBiaW5kIGV4cHJlc3Npb24gdnMgZ2VuZXJhdGVkIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcmVnaXN0ZXJFeHByZXNzaW9ucygpIHtcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbnMgPSB0aGlzLmdldEV4cHJlc3Npb25zKCk7XG4gICAgICAgIF8uZWFjaChleHByZXNzaW9ucywgKGZuLCBleHByKT0+e1xuICAgICAgICAgICAgcmVnaXN0ZXJGbkJ5RXhwcihleHByLCBmblswXSwgZm5bMV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG92ZXJyaWRlUm91dGVyT3V0bGV0KCkge1xuICAgICAgICAvL292ZXJyaWRlIHRoZSBhdHRhY2gvZGV0YWNoIG1ldGhvZHNcbiAgICAgICAgY29uc3Qgb0F0dGFjaCA9IHRoaXMucm91dGVyT3V0bGV0LmF0dGFjaDtcbiAgICAgICAgY29uc3Qgb0RldGFjaCA9IHRoaXMucm91dGVyT3V0bGV0LmRldGFjaDtcbiAgICAgICAgdGhpcy5yb3V0ZXJPdXRsZXQuYXR0YWNoID0gKGNvbXBvbmVudFJlZjogYW55KSA9PiB7XG4gICAgICAgICAgICBvQXR0YWNoLmNhbGwodGhpcy5yb3V0ZXJPdXRsZXQsIGNvbXBvbmVudFJlZik7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubmdPbkF0dGFjaCgpO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLnJvdXRlck91dGxldC5kZXRhY2ggPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBvRGV0YWNoLmNhbGwodGhpcy5yb3V0ZXJPdXRsZXQpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vdmVycmlkZVJvdXRlck91dGxldCgpO1xuICAgICAgICB9LCAxMCk7XG4gICAgfVxuXG4gICAgaW5pdCgpIHtcbiAgICAgICAgdGhpcy5BcHAgPSB0aGlzLmluamVjdG9yLmdldChBcHApO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVMYXlvdXROYW1lID0gdGhpcy5sYXlvdXROYW1lO1xuICAgICAgICB0aGlzLkFwcC5sYXlvdXRQYWdlcyA9IHRoaXMubGF5b3V0UGFnZXM7XG5cbiAgICAgICAgLy8gcmVnaXN0ZXIgZnVuY3Rpb25zIGZvciBiaW5kaW5nIGV2YWx1YXRpb25cbiAgICAgICAgdGhpcy5yZWdpc3RlckV4cHJlc3Npb25zKCk7XG4gICAgfVxuXG4gICAgLy9UT0RPOiBUbyB3b3JrIGNhY2hlIHByb3Blcmx5IG5lZWQgdG8gaW1wbGVtZW50IHRoZSBiZWxvdyBtZXRob2RzIGFuZCBXbVJvdXRlUmV1c2VTdHJhdGVneVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIH1cblxuICAgIGNhblJldXNlKCkge1xuICAgIH1cblxuICAgIG5nT25BdHRhY2goKSB7XG4gICAgfVxuXG4gICAgbmdPbkRldGFjaCgpIHtcbiAgICB9XG5cbiAgICAvLyBUaGlzIHdpbGwgYmUgY2FsbGVkIHdoZW4gY2hpbGQgcm91dGUgKFBhZ2UgY29tcG9uZW50IGluIHRoZSBsYXlvdXQpIGlzIGFjdGl2YXRlZFxuICAgIG9uQWN0aXZhdGUocGFnZUNvbXBvbmVudDogYW55KSB7XG4gICAgICAgIC8vQWRkIHBhZ2UgY29tcG9uZW50IHNjb3BlIHRvIGxheW91dCBjb21wb25lbnQgc28gdGhhdCBiaW5kaW5ncyBhbmQgd2F0Y2hlcnMgaW4gdGhlIGxheW91dCB3aWxsIHVzZSB0aGUgcGFnZSBzY29wZVxuICAgICAgICBfLmV4dGVuZCh0aGlzLCBwYWdlQ29tcG9uZW50KTtcbiAgICB9XG59XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2Jhc2UtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUtqRCxNQUFNLE9BQWdCLG1CQUFtQjtJQVdyQzs7OztPQUlHO0lBQ0gsbUJBQW1CO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBQyxFQUFFO1lBQzVCLGdCQUFnQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLG9DQUFvQztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLFlBQWlCLEVBQUUsRUFBRTtZQUM3QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDOUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsT0FBTyxZQUFZLENBQUM7UUFDeEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDWCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXhDLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsMkZBQTJGO0lBQzNGLFdBQVc7SUFDWCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVO0lBQ1YsQ0FBQztJQUVELFVBQVU7SUFDVixDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLFVBQVUsQ0FBQyxhQUFrQjtRQUN6QixrSEFBa0g7UUFDbEgsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbEMsQ0FBQztvRkFyRWlCLG1CQUFtQjtvRUFBbkIsbUJBQW1COzJCQU0xQixZQUFZOzJCQUNaLGFBQWE7Ozs7Ozs7aUZBUE4sbUJBQW1CO2NBRHhDLFNBQVM7Z0JBT21CLFlBQVk7a0JBQXBDLFNBQVM7bUJBQUMsWUFBWTtZQUNHLGFBQWE7a0JBQXRDLFNBQVM7bUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBQYWdlRGlyZWN0aXZlIH0gZnJvbSBcIkB3bS9jb21wb25lbnRzL3BhZ2VcIjtcbmltcG9ydCB7IHJlZ2lzdGVyRm5CeUV4cHIsIEFwcCB9IGZyb20gXCJAd20vY29yZVwiO1xuXG5kZWNsYXJlIGNvbnN0IF87XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICBBcHA6IEFwcDtcbiAgICBsYXlvdXROYW1lOiBzdHJpbmc7XG4gICAgbGF5b3V0UGFnZXM6IHN0cmluZ1tdO1xuXG4gICAgQFZpZXdDaGlsZChSb3V0ZXJPdXRsZXQpIHJvdXRlck91dGxldDogUm91dGVyT3V0bGV0O1xuICAgIEBWaWV3Q2hpbGQoUGFnZURpcmVjdGl2ZSkgcGFnZURpcmVjdGl2ZTogUGFnZURpcmVjdGl2ZTtcblxuICAgIGFic3RyYWN0IGdldEV4cHJlc3Npb25zKCk7XG5cbiAgICAvKipcbiAgICAgKiBmdW5jdGlvbiB0byByZWdpc3RlciBiaW5kIGV4cHJlc3Npb25zIGdlbmVyYXRlZCBpbiB0aGlzIHBhZ2UgaW5zdGFuY2VcbiAgICAgKiBnZXRFeHByZXNzaW9ucyBmdW5jdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBnZW5lcmF0ZWQgcGFnZS5jb21wLnRzIGZpbGVcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbnMsIG1hcCBvZiBiaW5kIGV4cHJlc3Npb24gdnMgZ2VuZXJhdGVkIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcmVnaXN0ZXJFeHByZXNzaW9ucygpIHtcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbnMgPSB0aGlzLmdldEV4cHJlc3Npb25zKCk7XG4gICAgICAgIF8uZWFjaChleHByZXNzaW9ucywgKGZuLCBleHByKT0+e1xuICAgICAgICAgICAgcmVnaXN0ZXJGbkJ5RXhwcihleHByLCBmblswXSwgZm5bMV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG92ZXJyaWRlUm91dGVyT3V0bGV0KCkge1xuICAgICAgICAvL292ZXJyaWRlIHRoZSBhdHRhY2gvZGV0YWNoIG1ldGhvZHNcbiAgICAgICAgY29uc3Qgb0F0dGFjaCA9IHRoaXMucm91dGVyT3V0bGV0LmF0dGFjaDtcbiAgICAgICAgY29uc3Qgb0RldGFjaCA9IHRoaXMucm91dGVyT3V0bGV0LmRldGFjaDtcbiAgICAgICAgdGhpcy5yb3V0ZXJPdXRsZXQuYXR0YWNoID0gKGNvbXBvbmVudFJlZjogYW55KSA9PiB7XG4gICAgICAgICAgICBvQXR0YWNoLmNhbGwodGhpcy5yb3V0ZXJPdXRsZXQsIGNvbXBvbmVudFJlZik7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubmdPbkF0dGFjaCgpO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLnJvdXRlck91dGxldC5kZXRhY2ggPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBvRGV0YWNoLmNhbGwodGhpcy5yb3V0ZXJPdXRsZXQpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vdmVycmlkZVJvdXRlck91dGxldCgpO1xuICAgICAgICB9LCAxMCk7XG4gICAgfVxuXG4gICAgaW5pdCgpIHtcbiAgICAgICAgdGhpcy5BcHAgPSB0aGlzLmluamVjdG9yLmdldChBcHApO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVMYXlvdXROYW1lID0gdGhpcy5sYXlvdXROYW1lO1xuICAgICAgICB0aGlzLkFwcC5sYXlvdXRQYWdlcyA9IHRoaXMubGF5b3V0UGFnZXM7XG5cbiAgICAgICAgLy8gcmVnaXN0ZXIgZnVuY3Rpb25zIGZvciBiaW5kaW5nIGV2YWx1YXRpb25cbiAgICAgICAgdGhpcy5yZWdpc3RlckV4cHJlc3Npb25zKCk7XG4gICAgfVxuXG4gICAgLy9UT0RPOiBUbyB3b3JrIGNhY2hlIHByb3Blcmx5IG5lZWQgdG8gaW1wbGVtZW50IHRoZSBiZWxvdyBtZXRob2RzIGFuZCBXbVJvdXRlUmV1c2VTdHJhdGVneVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIH1cblxuICAgIGNhblJldXNlKCkge1xuICAgIH1cblxuICAgIG5nT25BdHRhY2goKSB7XG4gICAgfVxuXG4gICAgbmdPbkRldGFjaCgpIHtcbiAgICB9XG5cbiAgICAvLyBUaGlzIHdpbGwgYmUgY2FsbGVkIHdoZW4gY2hpbGQgcm91dGUgKFBhZ2UgY29tcG9uZW50IGluIHRoZSBsYXlvdXQpIGlzIGFjdGl2YXRlZFxuICAgIG9uQWN0aXZhdGUocGFnZUNvbXBvbmVudDogYW55KSB7XG4gICAgICAgIC8vQWRkIHBhZ2UgY29tcG9uZW50IHNjb3BlIHRvIGxheW91dCBjb21wb25lbnQgc28gdGhhdCBiaW5kaW5ncyBhbmQgd2F0Y2hlcnMgaW4gdGhlIGxheW91dCB3aWxsIHVzZSB0aGUgcGFnZSBzY29wZVxuICAgICAgICBfLmV4dGVuZCh0aGlzLCBwYWdlQ29tcG9uZW50KTtcbiAgICB9XG59XG4iXX0=
@@ -349,7 +349,7 @@ export class BasePageComponent extends FragmentMonitor {
349
349
  BasePageComponent.lastPageSnapShot = null;
350
350
  }
351
351
  }
352
- static { this.ɵfac = /*@__PURE__*/ function () { let ɵBasePageComponent_BaseFactory; return function BasePageComponent_Factory(t) { return (ɵBasePageComponent_BaseFactory || (ɵBasePageComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BasePageComponent)))(t || BasePageComponent); }; }(); }
352
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵBasePageComponent_BaseFactory; return function BasePageComponent_Factory(t) { return (ɵBasePageComponent_BaseFactory || (ɵBasePageComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BasePageComponent)))(t || BasePageComponent); }; })(); }
353
353
  static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: BasePageComponent, viewQuery: function BasePageComponent_Query(rf, ctx) { if (rf & 1) {
354
354
  i0.ɵɵviewQuery(PageDirective, 5);
355
355
  } if (rf & 2) {
@@ -359,7 +359,7 @@ export class BasePageComponent extends FragmentMonitor {
359
359
  i0.ɵɵlistener("beforeunload", function BasePageComponent_beforeunload_HostBindingHandler() { return ctx.canDeactivate(); }, false, i0.ɵɵresolveWindow);
360
360
  } }, features: [i0.ɵɵInheritDefinitionFeature] }); }
361
361
  }
362
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BasePageComponent, [{
362
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BasePageComponent, [{
363
363
  type: Directive
364
364
  }], null, { pageDirective: [{
365
365
  type: ViewChild,
@@ -368,4 +368,4 @@ export class BasePageComponent extends FragmentMonitor {
368
368
  type: HostListener,
369
369
  args: ['window:beforeunload']
370
370
  }] }); })();
371
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9iYXNlLXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFHTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFlBQVksRUFDWixJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsWUFBWSxFQUNaLFFBQVEsRUFDWCxNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUc5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFLM0QsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxlQUFlO0lBRC9EOztRQWtCSSwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDL0IsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBTWhDLGFBQVEsR0FBRyxJ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SUFBSSxFQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1IsSUFBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QyxpQkFBaUIsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7U0FDN0M7SUFDTCxDQUFDOzZPQXhaaUIsaUJBQWlCLFNBQWpCLGlCQUFpQjtvRUFBakIsaUJBQWlCOzJCQW1CeEIsYUFBYTs7Ozs7Z0hBbkJOLG1CQUFlOzs7dUZBQWYsaUJBQWlCO2NBRHRDLFNBQVM7Z0JBb0JvQixhQUFhO2tCQUF0QyxTQUFTO21CQUFDLGFBQWE7WUF5UHhCLGFBQWE7a0JBRFosWUFBWTttQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICAgIEFic3RyYWN0STE4blNlcnZpY2UsXG4gICAgQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZSxcbiAgICBBcHAsXG4gICAgZ2V0V21Qcm9qZWN0UHJvcGVydGllcyxcbiAgICBpc0FuZHJvaWQsXG4gICAgaXNJb3MsXG4gICAgaXNNb2JpbGVBcHAsXG4gICAgbXV0ZVdhdGNoZXJzLFxuICAgIG5vb3AsXG4gICAgcmVnaXN0ZXJGbkJ5RXhwcixcbiAgICBTY3JpcHRMb2FkZXJTZXJ2aWNlLFxuICAgIHVuTXV0ZVdhdGNoZXJzLFxuICAgIFV0aWxzU2VydmljZSxcbiAgICBWaWV3cG9ydFxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge1BhZ2VEaXJlY3RpdmV9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UnO1xuXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjb21tb25QYXJ0aWFsV2lkZ2V0c30gZnJvbSAnLi9iYXNlLXBhcnRpYWwuY29tcG9uZW50JztcblxuXG5pbXBvcnQge1ZhcmlhYmxlc1NlcnZpY2V9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuaW1wb3J0IHtBcHBNYW5hZ2VyU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvYXBwLm1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQge0ZyYWdtZW50TW9uaXRvcn0gZnJvbSAnLi4vdXRpbC9mcmFnbWVudC1tb25pdG9yJztcbmltcG9ydCB7Q0FDSEVfUEFHRX0gZnJvbSAnLi4vdXRpbC93bS1yb3V0ZS1yZXVzZS1zdHJhdGVneSc7XG5cbmRlY2xhcmUgY29uc3QgJCwgXywgaHRtbDJjYW52YXM7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VQYWdlQ29tcG9uZW50IGV4dGVuZHMgRnJhZ21lbnRNb25pdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBzdGF0aWMgbGFzdFBhZ2VTbmFwU2hvdCA9IG51bGw7XG4gICAgV2lkZ2V0czogYW55O1xuICAgIFZhcmlhYmxlczogYW55O1xuICAgIEFjdGlvbnM6IGFueTtcbiAgICBBcHA6IEFwcDtcbiAgICBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgcGFnZU5hbWU6IHN0cmluZztcbiAgICBhY3RpdmVQYWdlTmFtZTogc3RyaW5nO1xuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBhcHBNYW5hZ2VyOiBBcHBNYW5hZ2VyU2VydmljZTtcbiAgICBuYXZpZ2F0aW9uU2VydmljZTogQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZTtcbiAgICByb3V0ZXI6IFJvdXRlcjtcbiAgICBwYWdlUGFyYW1zOiBhbnk7XG4gICAgc2hvd1BhZ2VDb250ZW50OiBib29sZWFuO1xuICAgIGkxOG5TZXJ2aWNlOiBBYnN0cmFjdEkxOG5TZXJ2aWNlO1xuICAgIGFwcExvY2FsZTogYW55O1xuICAgIHN0YXJ0dXBWYXJpYWJsZXNMb2FkZWQgPSBmYWxzZTtcbiAgICBwYWdlVHJhbnNpdGlvbkNvbXBsZXRlZCA9IGZhbHNlO1xuICAgIEBWaWV3Q2hpbGQoUGFnZURpcmVjdGl2ZSkgcGFnZURpcmVjdGl2ZTtcbiAgICAkcGFnZTtcbiAgICBzY3JpcHRMb2FkZXJTZXJ2aWNlOiBTY3JpcHRMb2FkZXJTZXJ2aWNlO1xuICAgIFZpZXdwb3J0OiBWaWV3cG9ydDtcblxuICAgIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgICB2aWV3SW5pdCQgPSBuZXcgU3ViamVjdCgpO1xuICAgIGZvcm1hdHNCeUxvY2FsZSA9IHsndGltZXpvbmUnOiAnJ307XG5cblxuICAgIGFic3RyYWN0IGV2YWxVc2VyU2NyaXB0KHByZWZhYkNvbnRleHQ6IGFueSwgYXBwQ29udGV4dDogYW55LCB1dGlsczogYW55KTtcbiAgICBhYnN0cmFjdCBnZXRWYXJpYWJsZXMoKTtcbiAgICBhYnN0cmFjdCBnZXRFeHByZXNzaW9ucygpO1xuXG4gICAgaW5pdCgpIHtcblxuICAgICAgICBtdXRlV2F0Y2hlcnMoKTtcblxuICAgICAgICB0aGlzLkFwcCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBcHApIDogaW5qZWN0KEFwcCk7XG4gICAgICAgIHRoaXMucm91dGUgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpIDogaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcE1hbmFnZXJTZXJ2aWNlKSA6IGluamVjdChBcHBNYW5hZ2VyU2VydmljZSk7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZSkgOiBpbmplY3QoQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZSk7XG4gICAgICAgIHRoaXMuc2NyaXB0TG9hZGVyU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChTY3JpcHRMb2FkZXJTZXJ2aWNlKSA6IGluamVjdChTY3JpcHRMb2FkZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5pMThuU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBYnN0cmFjdEkxOG5TZXJ2aWNlKSA6IGluamVjdChBYnN0cmFjdEkxOG5TZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKSA6IGluamVjdChSb3V0ZXIpO1xuICAgICAgICB0aGlzLlZpZXdwb3J0ID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFZpZXdwb3J0KSA6IGluamVjdChWaWV3cG9ydCk7XG5cbiAgICAgICAgLy8gcmVnaXN0ZXIgZnVuY3Rpb25zIGZvciBiaW5kaW5nIGV2YWx1YXRpb25cbiAgICAgICAgdGhpcy5yZWdpc3RlckV4cHJlc3Npb25zKCk7XG4gICAgICAgIHRoaXMuaW5pdFVzZXJTY3JpcHQoKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyV2lkZ2V0cygpO1xuICAgICAgICB0aGlzLmluaXRWYXJpYWJsZXMoKTtcblxuICAgICAgICB0aGlzLkFwcC5sYXN0QWN0aXZlUGFnZU5hbWUgPSB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZTtcbiAgICAgICAgdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLnBhZ2VOYW1lO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVQYWdlID0gdGhpcztcbiAgICAgICAgdGhpcy5hY3RpdmVQYWdlTmFtZSA9IHRoaXMucGFnZU5hbWU7IC8vIFRvZG86IHJlbW92ZSB0aGlzXG5cbiAgICAgICAgdGhpcy5yZWdpc3RlclBhZ2VQYXJhbXMoKTtcbiAgICAgICAgdGhpcy5kZWZpbmVJMThuUHJvcHMoKTtcbiAgICAgICAgc3VwZXIuaW5pdCgpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyV2lkZ2V0cygpIHtcbiAgICAgICAgLy8gY29tbW9uIHBhcnRpYWwgd2lkZ2V0cyBzaG91bGQgYmUgYWNjZXNzaWJsZSBmcm9tIHBhZ2VcbiAgICAgICAgdGhpcy5XaWRnZXRzID0gT2JqZWN0LmNyZWF0ZShjb21tb25QYXJ0aWFsV2lkZ2V0cyk7XG5cbiAgICAgICAgLy8gZXhwb3NlIGN1cnJlbnQgcGFnZSB3aWRnZXRzIG9uIGFwcFxuICAgICAgICAodGhpcy5BcHAgYXMgYW55KS5XaWRnZXRzID0gT2JqZWN0LmNyZWF0ZSh0aGlzLldpZGdldHMpO1xuICAgIH1cblxuICAgIGluaXRVc2VyU2NyaXB0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5ldmFsVXNlclNjcmlwdCh0aGlzLCB0aGlzLkFwcCwgdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFV0aWxzU2VydmljZSkgOiBpbmplY3QoVXRpbHNTZXJ2aWNlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGluIGV2YWx1YXRpbmcgcGFnZSAoJHt0aGlzLnBhZ2VOYW1lfSkgc2NyaXB0XFxuYCwgZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlclBhZ2VQYXJhbXMoKSB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB0aGlzLnBhZ2VQYXJhbXMgPSAodGhpcy5BcHAgYXMgYW55KS5wYWdlUGFyYW1zID0gXy5leHRlbmQoe30sIHBhcmFtcykpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcihmbjogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4gZm4oKSk7XG4gICAgfVxuXG4gICAgZGVmaW5lSTE4blByb3BzKCkge1xuICAgICAgICB0aGlzLmFwcExvY2FsZSA9IHRoaXMuaTE4blNlcnZpY2UuZ2V0QXBwTG9jYWxlKCk7XG4gICAgfVxuXG4gICAgaW5pdFZhcmlhYmxlcygpIHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVzU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChWYXJpYWJsZXNTZXJ2aWNlKSA6IGluamVjdChWYXJpYWJsZXNTZXJ2aWNlKTtcblxuICAgICAgICAvLyBnZXQgdmFyaWFibGVzIGFuZCBhY3Rpb25zIGluc3RhbmNlcyBmb3IgdGhlIHBhZ2VcbiAgICAgICAgY29uc3QgdmFyaWFibGVDb2xsZWN0aW9uID0gdmFyaWFibGVzU2VydmljZS5yZWdpc3Rlcih0aGlzLnBhZ2VOYW1lLCB0aGlzLmdldFZhcmlhYmxlcygpLCB0aGlzKTtcblxuICAgICAgICAvLyBjcmVhdGUgbmFtZXNwYWNlIGZvciBWYXJpYWJsZXMgbmFkIEFjdGlvbnMgb24gcGFnZS9wYXJ0aWFsLCB3aGljaCBpbmhlcml0cyB0aGUgVmFyaWFibGVzIGFuZCBBY3Rpb25zIGZyb20gQXBwIGluc3RhbmNlXG4gICAgICAgIHRoaXMuVmFyaWFibGVzID0gT2JqZWN0LmNyZWF0ZSh0aGlzLkFwcC5WYXJpYWJsZXMpO1xuICAgICAgICB0aGlzLkFjdGlvbnMgPSBPYmplY3QuY3JlYXRlKHRoaXMuQXBwLkFjdGlvbnMpO1xuXG4gICAgICAgIC8vIGFzc2lnbiBhbGwgdGhlIHBhZ2UgdmFyaWFibGVzIHRvIHRoZSBwYWdlSW5zdGFuY2VcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFyaWFibGVDb2xsZWN0aW9uLlZhcmlhYmxlcykuZm9yRWFjaCgoW25hbWUsIHZhcmlhYmxlXSkgPT4gdGhpcy5WYXJpYWJsZXNbbmFtZV0gPSB2YXJpYWJsZSk7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHZhcmlhYmxlQ29sbGVjdGlvbi5BY3Rpb25zKS5mb3JFYWNoKChbbmFtZSwgYWN0aW9uXSkgPT4gdGhpcy5BY3Rpb25zW25hbWVdID0gYWN0aW9uKTtcblxuXG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy52aWV3SW5pdCQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IHtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmFwcE1hbmFnZXIuaXNBcHBWYXJpYWJsZXNGaXJlZCgpKSB7XG4gICAgICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHRoaXMuQXBwLlZhcmlhYmxlcykuY2F0Y2gobm9vcCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ2FwcC12YXJpYWJsZXMtZGF0YS1sb2FkZWQnLCB7cGFnZU5hbWU6IHRoaXMucGFnZU5hbWV9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodGhpcy5BcHAuQWN0aW9ucyk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLmFwcFZhcmlhYmxlc1JlYWR5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLmlzQXBwVmFyaWFibGVzRmlyZWQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh2YXJpYWJsZUNvbGxlY3Rpb24uVmFyaWFibGVzKVxuICAgICAgICAgICAgICAgIC5jYXRjaChub29wKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZS12YXJpYWJsZXMtZGF0YS1sb2FkZWQnLCB7cGFnZU5hbWU6IHRoaXMucGFnZU5hbWV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydHVwVmFyaWFibGVzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaGlkZSB0aGUgbG9hZGVyIG9ubHkgYWZ0ZXIgdGhlIHNvbWUgc2V0VGltZW91dCBmb3Igc21vb3RoIHBhZ2UgbG9hZC5cbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dQYWdlQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodmFyaWFibGVDb2xsZWN0aW9uLkFjdGlvbnMpO1xuXG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0VGltZXpvbmUobG9jYWxlKSB7XG4gICAgICAgIHRoaXMuaTE4blNlcnZpY2Uuc2V0VGltZXpvbmUobG9jYWxlLCB0aGlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmdW5jdGlvbiB0byByZWdpc3RlciBiaW5kIGV4cHJlc3Npb25zIGdlbmVyYXRlZCBpbiB0aGlzIHBhZ2UgaW5zdGFuY2VcbiAgICAgKiBnZXRFeHByZXNzaW9ucyBmdW5jdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBnZW5lcmF0ZWQgcGFnZS5jb21wLnRzIGZpbGVcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbnMsIG1hcCBvZiBiaW5kIGV4cHJlc3Npb24gdnMgZ2VuZXJhdGVkIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcmVnaXN0ZXJFeHByZXNzaW9ucygpIHtcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbnMgPSB0aGlzLmdldEV4cHJlc3Npb25zKCk7XG4gICAgICAgIF8uZWFjaChleHByZXNzaW9ucywgKGZuLCBleHByKT0+e1xuICAgICAgICAgICAgcmVnaXN0ZXJGbkJ5RXhwcihleHByLCBmblswXSwgZm5bMV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBydW5QYWdlVHJhbnNpdGlvbih0cmFuc2l0aW9uPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRyYW5zaXRpb24gPSB0cmFuc2l0aW9uIHx8IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0UGFnZVRyYW5zaXRpb24oKTtcbiAgICAgICAgY29uc3QgbGFzdFBhZ2UgPSBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgICAgICAgIGlmICh0cmFuc2l0aW9uXG4gICAgICAgICAgICAgICAgJiYgIXRyYW5zaXRpb24uc3RhcnRzV2l0aCgnbm9uZScpXG4gICAgICAgICAgICAgICAgJiYgbGFzdFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCAkdGFyZ2V0ID0gbGFzdFBhZ2UucGFyZW50KCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgb25UcmFuc2l0aW9uRW5kID0gKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc29sdmUgJiYgIShlICYmIGUucHNldWRvRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXQub2ZmKCdhbmltYXRpb25lbmQnLCBvblRyYW5zaXRpb25FbmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldC5yZW1vdmVDbGFzcyh0cmFuc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXQuY2hpbGRyZW4oKS5maXJzdCgpLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gPSAncGFnZS10cmFuc2l0aW9uIHBhZ2UtdHJhbnNpdGlvbi0nICsgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgICAgICBsYXN0UGFnZS5hZGRDbGFzcygncGFnZS1leGl0Jyk7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFnZS5hZGRDbGFzcygncGFnZS1lbnRyeScpO1xuICAgICAgICAgICAgICAgICR0YXJnZXQuYWRkQ2xhc3ModHJhbnNpdGlvbik7XG4gICAgICAgICAgICAgICAgJHRhcmdldC5vbignYW5pbWF0aW9uZW5kJywgb25UcmFuc2l0aW9uRW5kKTtcbiAgICAgICAgICAgICAgICAvLyBXYWl0IGZvciBhIG1heGltdW0gb2YgMSBzZWNvbmQgZm9yIHRyYW5zaXRpb24gdG8gZW5kLlxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQob25UcmFuc2l0aW9uRW5kLCAxMDAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJHBhZ2UgJiYgdGhpcy4kcGFnZS5yZW1vdmVDbGFzcygncGFnZS1lbnRyeScpO1xuICAgICAgICAgICAgaWYgKGxhc3RQYWdlKSB7XG4gICAgICAgICAgICAgICAgbGFzdFBhZ2UucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhZ2VUcmFuc2l0aW9uQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW52b2tlT25SZWFkeSgpIHtcbiAgICAgICAgdGhpcy5vblJlYWR5KCk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ3BhZ2VSZWFkeScsIHsnbmFtZScgOiB0aGlzLnBhZ2VOYW1lLCBpbnN0YW5jZTogdGhpc30pO1xuICAgICAgICAodGhpcy5BcHAub25QYWdlUmVhZHkgfHwgbm9vcCkodGhpcy5wYWdlTmFtZSwgdGhpcyk7XG5cbiAgICAgICAgY29uc3QgaG9tZVBhZ2UgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCk/LmhvbWVQYWdlO1xuICAgICAgICBpZiAod2luZG93LnRvcC5uYW1lICE9PSB3aW5kb3cubmFtZSAmJiBob21lUGFnZSA9PT0gdGhpcy5wYWdlTmFtZSkge1xuICAgICAgICAgICAgd2luZG93LnRvcC5wb3N0TWVzc2FnZSh7a2V5OiAnb25Ib21lcGFnZUxvYWQnfSwgXCIqXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHRzUmVxdWlyZWQgPSB0aGlzLnBhZ2VEaXJlY3RpdmUgJiYgdGhpcy5wYWdlRGlyZWN0aXZlLiRlbGVtZW50LmF0dHIoJ3NjcmlwdHMtdG8tbG9hZCcpO1xuICAgICAgICAgICAgaWYgKHNjcmlwdHNSZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2NyaXB0TG9hZGVyU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAubG9hZCguLi5zY3JpcHRzUmVxdWlyZWQuc3BsaXQoJywnKSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzb2x2ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN0b3JlTGFzdFBhZ2VTbmFwc2hvdCgpIHtcbiAgICAgICAgaWYgKGlzTW9iaWxlQXBwKCkgJiYgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCAmJiB0aGlzLiRwYWdlKSB7XG4gICAgICAgICAgICB0aGlzLiRwYWdlLnBhcmVudCgpLnByZXBlbmQoQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVQYWdlU25hcFNob3QoKSB7XG4gICAgICAgIGlmIChCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90KSB7XG4gICAgICAgICAgICBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90LnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc01vYmlsZUFwcCgpICYmIHRoaXMuJHBhZ2UpIHtcbiAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QgPSB0aGlzLiRwYWdlLmNsb25lKCk7XG4gICAgICAgICAgICB0aGlzLiRwYWdlLnBhcmVudHMoJ2FwcC1yb290JykucHJlcGVuZChCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZVNjcm9sbFBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBmbiA9ICgkZWwsIGtleSwgcmVjdXJzaXZlID0gdHJ1ZSwgJHRhcmdldCA9ICRlbCkgID0+IHtcbiAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHtcbiAgICAgICAgICAgICAgICAkZWwuY2hpbGRyZW4oKS5lYWNoKChpLCB2KSA9PiBmbigkKHYpLCBrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbERhdGEgPSB7XG4gICAgICAgICAgICAgICAgeDogJHRhcmdldC5zY3JvbGxMZWZ0KCksXG4gICAgICAgICAgICAgICAgeTogJHRhcmdldC5zY3JvbGxUb3AoKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmKHNjcm9sbERhdGEueCA+IDAgfHwgc2Nyb2xsRGF0YS55ID4gMCkge1xuICAgICAgICAgICAgICAgICRlbC5hdHRyKGtleSwgc2Nyb2xsRGF0YS54ICsgJywnICsgc2Nyb2xsRGF0YS55KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZm4odGhpcy4kcGFnZSwgJ2RhdGEtc2Nyb2xsLXBvc2l0aW9uJyk7XG4gICAgICAgIHRoaXMuJHBhZ2UuYXR0cignZGF0YS13aW5kb3ctc2Nyb2xsLXBvc2l0aW9uJywgd2luZG93LnNjcm9sbFggKyAnLCcgKyB3aW5kb3cuc2Nyb2xsWSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGZuID0gKCRlbCwga2V5LCByZWN1cnNpdmUgID0gdHJ1ZSwgJHRhcmdldCA9ICRlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsRGF0YSA9ICgkZWwuYXR0cihrZXkpIHx8ICcnKS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgaWYoc2Nyb2xsRGF0YS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgJHRhcmdldC5zY3JvbGxMZWZ0KHNjcm9sbERhdGFbMF0pO1xuICAgICAgICAgICAgICAgICR0YXJnZXQuc2Nyb2xsVG9wKHNjcm9sbERhdGFbMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGVsLnJlbW92ZUF0dHIoa2V5KTtcbiAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHtcbiAgICAgICAgICAgICAgICAkZWwuY2hpbGRyZW4oKS5lYWNoKChpLCB2KSA9PiBmbigkKHYpLCBrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZm4odGhpcy4kcGFnZSwgJ2RhdGEtc2Nyb2xsLXBvc2l0aW9uJyk7XG4gICAgICAgIGZuKHRoaXMuJHBhZ2UsICdkYXRhLXdpbmRvdy1zY3JvbGwtcG9zaXRpb24nLCBmYWxzZSwgJCh3aW5kb3cpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjYW5EZWFjdGl2YXRlIGlzIGNhbGxlZCBiZWZvcmUgYSByb3V0ZSBjaGFuZ2UuXG4gICAgICogVGhpcyB3aWxsIGludGVybmFsbHkgY2FsbCBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudFxuICAgICAqIGF0IHBhZ2UgbGV2ZWwgYW5kIGFwcCBsZXZlbCBpbiB0aGUgYXBwbGljYXRpb24gYW5kIGRlY2lkZVxuICAgICAqIHdoZXRoZXIgdG8gY2hhbmdlIHJvdXRlIG9yIG5vdCBiYXNlZCBvbiByZXR1cm4gdmFsdWUuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcpXG4gICAgY2FuRGVhY3RpdmF0ZSgpIHtcbiAgICAgICAgbGV0IHJldFZhbDtcbiAgICAgICAgLy8gQ2FsbGluZyBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudCBhdCBwYWdlIGxldmVsXG4gICAgICAgIHJldFZhbCA9IHRoaXMub25CZWZvcmVQYWdlTGVhdmUoKTtcbiAgICAgICAgLy8gQ2FsbGluZyBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudCBhdCBhcHAgbGV2ZWwgb25seSBpZiBwYWdlIGxldmVsIG1ldGhvZCByZXR1cm4gdHJ1ZVxuICAgICAgICAvLyBvciBpZiB0aGVyZSBpcyBubyBwYWdlIGxldmVsIG1ldGhvZFxuICAgICAgICBpZiAocmV0VmFsICE9PSBmYWxzZSApIHtcbiAgICAgICAgICAgIHJldFZhbCA9ICAodGhpcy5BcHAub25CZWZvcmVQYWdlTGVhdmUgfHwgbm9vcCkodGhpcy5BcHAuYWN0aXZlUGFnZU5hbWUsIHRoaXMuQXBwLmFjdGl2ZVBhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXRWYWwgPT09IHVuZGVmaW5lZCA/IHRydWUgOiByZXRWYWw7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbQ0FDSEVfUEFHRV0gPSB0aGlzLmNhblJldXNlKCk7XG4gICAgICAgIGlmICh0aGlzLnBhZ2VEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuJHBhZ2UgPSB0aGlzLnBhZ2VEaXJlY3RpdmUuJGVsZW1lbnQucGFyZW50KCk7XG4gICAgICAgICAgICBpZiAoaXNJb3MoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHBhZ2UuYWRkQ2xhc3MoJ2lvcy1wYWdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNBbmRyb2lkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRwYWdlLmFkZENsYXNzKCdhbmRyb2lkLXBhZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc3RvcmVMYXN0UGFnZVNuYXBzaG90KCk7XG4gICAgICAgIHRoaXMubG9hZFNjcmlwdHMoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucnVuUGFnZVRyYW5zaXRpb24oKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMgYXMgYW55KS5jb21waWxlUGFnZUNvbnRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25QYWdlQ29udGVudFJlYWR5ID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnJhZ21lbnRzTG9hZGVkJC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludm9rZU9uUmVhZHkoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bk11dGVXYXRjaGVycygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlld0luaXQkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblBhZ2VDb250ZW50UmVhZHkgPSBub29wO1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL3RoaXMuY2FwdHVyZUFwcGxpY2F0aW9uVGh1bWJuYWlsKCk7XG4gICAgICAgIHRoaXMuc2F2ZVBhZ2VTbmFwU2hvdCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgY2FwdHVyZUFwcGxpY2F0aW9uVGh1bWJuYWlsKCkge1xuICAgICAgICBjb25zdCByb290ID0gdGhpcztcbiAgICAgICAgbGV0IGNhcHR1cmVBcHBsaWNhdGlvblRodW1ibmFpbCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY2FwdHVyZUFwcGxpY2F0aW9uVGh1bWJuYWlsXCIpID09PSBcInRydWVcIiA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgaWYgKGNhcHR1cmVBcHBsaWNhdGlvblRodW1ibmFpbCAmJiB0aGlzLkFwcC5sYW5kaW5nUGFnZU5hbWUgPT09IHRoaXMucGFnZU5hbWUgJiYgISg8YW55PnRoaXMpLkFwcC5pc0FwcGxpY2F0aW9uVGh1bWJuYWlsQ2FwdHVyZWQpIHtcbiAgICAgICAgICAgIGh0bWwyY2FudmFzKGRvY3VtZW50LmJvZHkpXG4gICAgICAgICAgICAgICAgLnRoZW4oY2FudmFzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICg8YW55PnJvb3QpLkFwcC5pc0FwcGxpY2F0aW9uVGh1bWJuYWlsQ2FwdHVyZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2NyZWVuc2hvdFVybCA9IGNhbnZhcy50b0RhdGFVUkwoXCJpbWFnZS9wbmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhzY3JlZW5zaG90VXJsKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYS5ocmVmID0gc2NyZWVuc2hvdFVybDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEuZG93bmxvYWQgPSBcInNjcmVlbnNob3QuanBnXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBodG1sMmNhbnZhcyB0aGVuIGJsb2NrOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gaHRtbDJjYW52YXMgcHJvbWlzZTonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVhZHkoKSB7fVxuXG4gICAgb25CZWZvcmVQYWdlUmVhZHkoKSB7fVxuXG4gICAgb25CZWZvcmVQYWdlTGVhdmUoKSB7fVxuXG4gICAgb25QYWdlQ29udGVudFJlYWR5KCkge31cblxuICAgIGNhblJldXNlKCkge1xuICAgICAgICByZXR1cm4gISEodGhpcy5wYWdlRGlyZWN0aXZlICYmIHRoaXMucGFnZURpcmVjdGl2ZS5jYWNoZSk7XG4gICAgfVxuXG4gICAgbXV0ZSgpIHtcbiAgICAgICAgY29uc3QgbSA9IG8gPT4geyBvICYmIG8ubXV0ZSAmJiBvLm11dGUoKTsgfTtcbiAgICAgICAgXy5lYWNoKHRoaXMuV2lkZ2V0cywgbSk7XG4gICAgICAgIF8uZWFjaCh0aGlzLlZhcmlhYmxlcywgbSk7XG4gICAgICAgIF8uZWFjaCh0aGlzLkFjdGlvbnMsIG0pO1xuICAgIH1cblxuICAgIHVubXV0ZShjID0gdGhpcykge1xuICAgICAgICBjb25zdCB1bSA9IG8gPT4geyBvICYmIG8udW5tdXRlICYmIG8udW5tdXRlKCk7IH07XG4gICAgICAgIF8uZWFjaCh0aGlzLldpZGdldHMsIHVtKTtcbiAgICAgICAgXy5lYWNoKHRoaXMuVmFyaWFibGVzLCB1bSk7XG4gICAgICAgIF8uZWFjaCh0aGlzLkFjdGlvbnMsIHVtKTtcbiAgICB9XG5cbiAgICBuZ09uQXR0YWNoKCkge1xuICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbQ0FDSEVfUEFHRV0gPSB0aGlzLmNhblJldXNlKCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJQYWdlUGFyYW1zKCk7XG4gICAgICAgIHRoaXMuQXBwLmxhc3RBY3RpdmVQYWdlTmFtZSA9IHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZSA9IHRoaXMucGFnZU5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZVBhZ2UgPSB0aGlzO1xuICAgICAgICB0aGlzLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5wYWdlTmFtZTtcbiAgICAgICAgdGhpcy5yZXN0b3JlTGFzdFBhZ2VTbmFwc2hvdCgpO1xuICAgICAgICB0aGlzLnVubXV0ZSgpO1xuICAgICAgICAvLyBleHBvc2UgY3VycmVudCBwYWdlIHdpZGdldHMgb24gYXBwXG4gICAgICAgICh0aGlzLkFwcCBhcyBhbnkpLldpZGdldHMgPSBPYmplY3QuY3JlYXRlKHRoaXMuV2lkZ2V0cyk7XG4gICAgICAgIGlmKHRoaXMucGFnZURpcmVjdGl2ZSAmJiB0aGlzLnBhZ2VEaXJlY3RpdmUucmVmcmVzaGRhdGFvbmF0dGFjaCkge1xuICAgICAgICAgICAgY29uc3QgcmVmcmVzaCA9IHYgPT4geyB2ICYmIHYuc3RhcnRVcGRhdGUgJiYgdi5pbnZva2UgJiYgdi5pbnZva2UoKTsgfTtcbiAgICAgICAgICAgIF8uZWFjaCh0aGlzLlZhcmlhYmxlcywgcmVmcmVzaCk7XG4gICAgICAgICAgICBfLmVhY2godGhpcy5BY3Rpb25zLCByZWZyZXNoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJ1blBhZ2VUcmFuc2l0aW9uKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVzdG9yZVNjcm9sbFBvc2l0aW9uKCksIDEwMCk7XG4gICAgICAgICAgICBfLmVhY2godGhpcy5XaWRnZXRzLCB3ID0+IHcgJiYgdy5uZ09uQXR0YWNoICYmIHcubmdPbkF0dGFjaCgpKTtcbiAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ3BhZ2VBdHRhY2gnLCB7J25hbWUnIDogdGhpcy5wYWdlTmFtZSwgaW5zdGFuY2U6IHRoaXN9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRldGFjaCgpIHtcbiAgICAgICAgdGhpcy5zYXZlU2Nyb2xsUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5zYXZlUGFnZVNuYXBTaG90KCk7XG4gICAgICAgIHRoaXMubXV0ZSgpO1xuICAgICAgICBfLmVhY2godGhpcy5XaWRnZXRzLCB3ID0+IHcgJiYgdy5uZ09uRGV0YWNoICYmIHcubmdPbkRldGFjaCgpKTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZURldGFjaCcsIHsnbmFtZScgOiB0aGlzLnBhZ2VOYW1lLCBpbnN0YW5jZTogdGhpc30pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vbkJlZm9yZVBhZ2VSZWFkeSgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBjbGVhcigpIHtcbiAgICAgICAgaWYoQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCkge1xuICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdC5yZW1vdmUoKTtcbiAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9iYXNlLXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFHTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFlBQVksRUFDWixJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsWUFBWSxFQUNaLFFBQVEsRUFDWCxNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUc5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFLM0QsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxlQUFlO0lBRC9EOztRQWtCSSwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDL0IsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBTWhDLGFBQVEsR0FBRyxJ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QUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1IsSUFBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3BDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVDLGlCQUFpQixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQzt3T0F4WmlCLGlCQUFpQixTQUFqQixpQkFBaUI7b0VBQWpCLGlCQUFpQjsyQkFtQnhCLGFBQWE7Ozs7O1lBbkJOLG9HQUFBLG1CQUFlLCtCQUFFOzs7aUZBQWpCLGlCQUFpQjtjQUR0QyxTQUFTO2dCQW9Cb0IsYUFBYTtrQkFBdEMsU0FBUzttQkFBQyxhQUFhO1lBeVB4QixhQUFhO2tCQURaLFlBQVk7bUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtcbiAgICBBYnN0cmFjdEkxOG5TZXJ2aWNlLFxuICAgIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgQXBwLFxuICAgIGdldFdtUHJvamVjdFByb3BlcnRpZXMsXG4gICAgaXNBbmRyb2lkLFxuICAgIGlzSW9zLFxuICAgIGlzTW9iaWxlQXBwLFxuICAgIG11dGVXYXRjaGVycyxcbiAgICBub29wLFxuICAgIHJlZ2lzdGVyRm5CeUV4cHIsXG4gICAgU2NyaXB0TG9hZGVyU2VydmljZSxcbiAgICB1bk11dGVXYXRjaGVycyxcbiAgICBVdGlsc1NlcnZpY2UsXG4gICAgVmlld3BvcnRcbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtQYWdlRGlyZWN0aXZlfSBmcm9tICdAd20vY29tcG9uZW50cy9wYWdlJztcblxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y29tbW9uUGFydGlhbFdpZGdldHN9IGZyb20gJy4vYmFzZS1wYXJ0aWFsLmNvbXBvbmVudCc7XG5cblxuaW1wb3J0IHtWYXJpYWJsZXNTZXJ2aWNlfSBmcm9tICdAd20vdmFyaWFibGVzJztcbmltcG9ydCB7QXBwTWFuYWdlclNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2FwcC5tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtGcmFnbWVudE1vbml0b3J9IGZyb20gJy4uL3V0aWwvZnJhZ21lbnQtbW9uaXRvcic7XG5pbXBvcnQge0NBQ0hFX1BBR0V9IGZyb20gJy4uL3V0aWwvd20tcm91dGUtcmV1c2Utc3RyYXRlZ3knO1xuXG5kZWNsYXJlIGNvbnN0ICQsIF8sIGh0bWwyY2FudmFzO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUGFnZUNvbXBvbmVudCBleHRlbmRzIEZyYWdtZW50TW9uaXRvciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgc3RhdGljIGxhc3RQYWdlU25hcFNob3QgPSBudWxsO1xuICAgIFdpZGdldHM6IGFueTtcbiAgICBWYXJpYWJsZXM6IGFueTtcbiAgICBBY3Rpb25zOiBhbnk7XG4gICAgQXBwOiBBcHA7XG4gICAgaW5qZWN0b3I6IEluamVjdG9yO1xuICAgIHBhZ2VOYW1lOiBzdHJpbmc7XG4gICAgYWN0aXZlUGFnZU5hbWU6IHN0cmluZztcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICAgYXBwTWFuYWdlcjogQXBwTWFuYWdlclNlcnZpY2U7XG4gICAgbmF2aWdhdGlvblNlcnZpY2U6IEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2U7XG4gICAgcm91dGVyOiBSb3V0ZXI7XG4gICAgcGFnZVBhcmFtczogYW55O1xuICAgIHNob3dQYWdlQ29udGVudDogYm9vbGVhbjtcbiAgICBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZTtcbiAgICBhcHBMb2NhbGU6IGFueTtcbiAgICBzdGFydHVwVmFyaWFibGVzTG9hZGVkID0gZmFsc2U7XG4gICAgcGFnZVRyYW5zaXRpb25Db21wbGV0ZWQgPSBmYWxzZTtcbiAgICBAVmlld0NoaWxkKFBhZ2VEaXJlY3RpdmUpIHBhZ2VEaXJlY3RpdmU7XG4gICAgJHBhZ2U7XG4gICAgc2NyaXB0TG9hZGVyU2VydmljZTogU2NyaXB0TG9hZGVyU2VydmljZTtcbiAgICBWaWV3cG9ydDogVmlld3BvcnQ7XG5cbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgdmlld0luaXQkID0gbmV3IFN1YmplY3QoKTtcbiAgICBmb3JtYXRzQnlMb2NhbGUgPSB7J3RpbWV6b25lJzogJyd9O1xuXG5cbiAgICBhYnN0cmFjdCBldmFsVXNlclNjcmlwdChwcmVmYWJDb250ZXh0OiBhbnksIGFwcENvbnRleHQ6IGFueSwgdXRpbHM6IGFueSk7XG4gICAgYWJzdHJhY3QgZ2V0VmFyaWFibGVzKCk7XG4gICAgYWJzdHJhY3QgZ2V0RXhwcmVzc2lvbnMoKTtcblxuICAgIGluaXQoKSB7XG5cbiAgICAgICAgbXV0ZVdhdGNoZXJzKCk7XG5cbiAgICAgICAgdGhpcy5BcHAgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQXBwKSA6IGluamVjdChBcHApO1xuICAgICAgICB0aGlzLnJvdXRlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKSA6IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlciA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBcHBNYW5hZ2VyU2VydmljZSkgOiBpbmplY3QoQXBwTWFuYWdlclNlcnZpY2UpO1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UpIDogaW5qZWN0KEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UpO1xuICAgICAgICB0aGlzLnNjcmlwdExvYWRlclNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoU2NyaXB0TG9hZGVyU2VydmljZSkgOiBpbmplY3QoU2NyaXB0TG9hZGVyU2VydmljZSk7XG4gICAgICAgIHRoaXMuaTE4blNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQWJzdHJhY3RJMThuU2VydmljZSkgOiBpbmplY3QoQWJzdHJhY3RJMThuU2VydmljZSk7XG4gICAgICAgIHRoaXMucm91dGVyID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcikgOiBpbmplY3QoUm91dGVyKTtcbiAgICAgICAgdGhpcy5WaWV3cG9ydCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChWaWV3cG9ydCkgOiBpbmplY3QoVmlld3BvcnQpO1xuXG4gICAgICAgIC8vIHJlZ2lzdGVyIGZ1bmN0aW9ucyBmb3IgYmluZGluZyBldmFsdWF0aW9uXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFeHByZXNzaW9ucygpO1xuICAgICAgICB0aGlzLmluaXRVc2VyU2NyaXB0KCk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlcldpZGdldHMoKTtcbiAgICAgICAgdGhpcy5pbml0VmFyaWFibGVzKCk7XG5cbiAgICAgICAgdGhpcy5BcHAubGFzdEFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5wYWdlTmFtZTtcbiAgICAgICAgdGhpcy5BcHAuYWN0aXZlUGFnZSA9IHRoaXM7XG4gICAgICAgIHRoaXMuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLnBhZ2VOYW1lOyAvLyBUb2RvOiByZW1vdmUgdGhpc1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJQYWdlUGFyYW1zKCk7XG4gICAgICAgIHRoaXMuZGVmaW5lSTE4blByb3BzKCk7XG4gICAgICAgIHN1cGVyLmluaXQoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlcldpZGdldHMoKSB7XG4gICAgICAgIC8vIGNvbW1vbiBwYXJ0aWFsIHdpZGdldHMgc2hvdWxkIGJlIGFjY2Vzc2libGUgZnJvbSBwYWdlXG4gICAgICAgIHRoaXMuV2lkZ2V0cyA9IE9iamVjdC5jcmVhdGUoY29tbW9uUGFydGlhbFdpZGdldHMpO1xuXG4gICAgICAgIC8vIGV4cG9zZSBjdXJyZW50IHBhZ2Ugd2lkZ2V0cyBvbiBhcHBcbiAgICAgICAgKHRoaXMuQXBwIGFzIGFueSkuV2lkZ2V0cyA9IE9iamVjdC5jcmVhdGUodGhpcy5XaWRnZXRzKTtcbiAgICB9XG5cbiAgICBpbml0VXNlclNjcmlwdCgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuZXZhbFVzZXJTY3JpcHQodGhpcywgdGhpcy5BcHAsIHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChVdGlsc1NlcnZpY2UpIDogaW5qZWN0KFV0aWxzU2VydmljZSkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBpbiBldmFsdWF0aW5nIHBhZ2UgKCR7dGhpcy5wYWdlTmFtZX0pIHNjcmlwdFxcbmAsIGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJQYWdlUGFyYW1zKCkge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4gdGhpcy5wYWdlUGFyYW1zID0gKHRoaXMuQXBwIGFzIGFueSkucGFnZVBhcmFtcyA9IF8uZXh0ZW5kKHt9LCBwYXJhbXMpKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoZm46IEZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IGZuKCkpO1xuICAgIH1cblxuICAgIGRlZmluZUkxOG5Qcm9wcygpIHtcbiAgICAgICAgdGhpcy5hcHBMb2NhbGUgPSB0aGlzLmkxOG5TZXJ2aWNlLmdldEFwcExvY2FsZSgpO1xuICAgIH1cblxuICAgIGluaXRWYXJpYWJsZXMoKSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlc1NlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoVmFyaWFibGVzU2VydmljZSkgOiBpbmplY3QoVmFyaWFibGVzU2VydmljZSk7XG5cbiAgICAgICAgLy8gZ2V0IHZhcmlhYmxlcyBhbmQgYWN0aW9ucyBpbnN0YW5jZXMgZm9yIHRoZSBwYWdlXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlQ29sbGVjdGlvbiA9IHZhcmlhYmxlc1NlcnZpY2UucmVnaXN0ZXIodGhpcy5wYWdlTmFtZSwgdGhpcy5nZXRWYXJpYWJsZXMoKSwgdGhpcyk7XG5cbiAgICAgICAgLy8gY3JlYXRlIG5hbWVzcGFjZSBmb3IgVmFyaWFibGVzIG5hZCBBY3Rpb25zIG9uIHBhZ2UvcGFydGlhbCwgd2hpY2ggaW5oZXJpdHMgdGhlIFZhcmlhYmxlcyBhbmQgQWN0aW9ucyBmcm9tIEFwcCBpbnN0YW5jZVxuICAgICAgICB0aGlzLlZhcmlhYmxlcyA9IE9iamVjdC5jcmVhdGUodGhpcy5BcHAuVmFyaWFibGVzKTtcbiAgICAgICAgdGhpcy5BY3Rpb25zID0gT2JqZWN0LmNyZWF0ZSh0aGlzLkFwcC5BY3Rpb25zKTtcblxuICAgICAgICAvLyBhc3NpZ24gYWxsIHRoZSBwYWdlIHZhcmlhYmxlcyB0byB0aGUgcGFnZUluc3RhbmNlXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHZhcmlhYmxlQ29sbGVjdGlvbi5WYXJpYWJsZXMpLmZvckVhY2goKFtuYW1lLCB2YXJpYWJsZV0pID0+IHRoaXMuVmFyaWFibGVzW25hbWVdID0gdmFyaWFibGUpO1xuICAgICAgICBPYmplY3QuZW50cmllcyh2YXJpYWJsZUNvbGxlY3Rpb24uQWN0aW9ucykuZm9yRWFjaCgoW25hbWUsIGFjdGlvbl0pID0+IHRoaXMuQWN0aW9uc1tuYW1lXSA9IGFjdGlvbik7XG5cblxuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMudmlld0luaXQkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiB7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5hcHBNYW5hZ2VyLmlzQXBwVmFyaWFibGVzRmlyZWQoKSkge1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh0aGlzLkFwcC5WYXJpYWJsZXMpLmNhdGNoKG5vb3ApLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdhcHAtdmFyaWFibGVzLWRhdGEtbG9hZGVkJywge3BhZ2VOYW1lOiB0aGlzLnBhZ2VOYW1lfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHRoaXMuQXBwLkFjdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5hcHBWYXJpYWJsZXNSZWFkeSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5pc0FwcFZhcmlhYmxlc0ZpcmVkKHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodmFyaWFibGVDb2xsZWN0aW9uLlZhcmlhYmxlcylcbiAgICAgICAgICAgICAgICAuY2F0Y2gobm9vcClcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ3BhZ2UtdmFyaWFibGVzLWRhdGEtbG9hZGVkJywge3BhZ2VOYW1lOiB0aGlzLnBhZ2VOYW1lfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnR1cFZhcmlhYmxlc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGhpZGUgdGhlIGxvYWRlciBvbmx5IGFmdGVyIHRoZSBzb21lIHNldFRpbWVvdXQgZm9yIHNtb290aCBwYWdlIGxvYWQuXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93UGFnZUNvbnRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHZhcmlhYmxlQ29sbGVjdGlvbi5BY3Rpb25zKTtcblxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldFRpbWV6b25lKGxvY2FsZSkge1xuICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlLnNldFRpbWV6b25lKGxvY2FsZSwgdGhpcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZnVuY3Rpb24gdG8gcmVnaXN0ZXIgYmluZCBleHByZXNzaW9ucyBnZW5lcmF0ZWQgaW4gdGhpcyBwYWdlIGluc3RhbmNlXG4gICAgICogZ2V0RXhwcmVzc2lvbnMgZnVuY3Rpb24gaXMgZGVmaW5lZCBpbiB0aGUgZ2VuZXJhdGVkIHBhZ2UuY29tcC50cyBmaWxlXG4gICAgICogQHBhcmFtIGV4cHJlc3Npb25zLCBtYXAgb2YgYmluZCBleHByZXNzaW9uIHZzIGdlbmVyYXRlZCBmdW5jdGlvblxuICAgICAqL1xuICAgIHJlZ2lzdGVyRXhwcmVzc2lvbnMoKSB7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gdGhpcy5nZXRFeHByZXNzaW9ucygpO1xuICAgICAgICBfLmVhY2goZXhwcmVzc2lvbnMsIChmbiwgZXhwcik9PntcbiAgICAgICAgICAgIHJlZ2lzdGVyRm5CeUV4cHIoZXhwciwgZm5bMF0sIGZuWzFdKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcnVuUGFnZVRyYW5zaXRpb24odHJhbnNpdGlvbj86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0cmFuc2l0aW9uID0gdHJhbnNpdGlvbiB8fCB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmdldFBhZ2VUcmFuc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IGxhc3RQYWdlID0gQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICBpZiAodHJhbnNpdGlvblxuICAgICAgICAgICAgICAgICYmICF0cmFuc2l0aW9uLnN0YXJ0c1dpdGgoJ25vbmUnKVxuICAgICAgICAgICAgICAgICYmIGxhc3RQYWdlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgJHRhcmdldCA9IGxhc3RQYWdlLnBhcmVudCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9uVHJhbnNpdGlvbkVuZCA9IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNvbHZlICYmICEoZSAmJiBlLnBzZXVkb0VsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0Lm9mZignYW5pbWF0aW9uZW5kJywgb25UcmFuc2l0aW9uRW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXQucmVtb3ZlQ2xhc3ModHJhbnNpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0LmNoaWxkcmVuKCkuZmlyc3QoKS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uID0gJ3BhZ2UtdHJhbnNpdGlvbiBwYWdlLXRyYW5zaXRpb24tJyArIHRyYW5zaXRpb247XG4gICAgICAgICAgICAgICAgbGFzdFBhZ2UuYWRkQ2xhc3MoJ3BhZ2UtZXhpdCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuJHBhZ2UuYWRkQ2xhc3MoJ3BhZ2UtZW50cnknKTtcbiAgICAgICAgICAgICAgICAkdGFyZ2V0LmFkZENsYXNzKHRyYW5zaXRpb24pO1xuICAgICAgICAgICAgICAgICR0YXJnZXQub24oJ2FuaW1hdGlvbmVuZCcsIG9uVHJhbnNpdGlvbkVuZCk7XG4gICAgICAgICAgICAgICAgLy8gV2FpdCBmb3IgYSBtYXhpbXVtIG9mIDEgc2Vjb25kIGZvciB0cmFuc2l0aW9uIHRvIGVuZC5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KG9uVHJhbnNpdGlvbkVuZCwgMTAwMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRwYWdlICYmIHRoaXMuJHBhZ2UucmVtb3ZlQ2xhc3MoJ3BhZ2UtZW50cnknKTtcbiAgICAgICAgICAgIGlmIChsYXN0UGFnZSkge1xuICAgICAgICAgICAgICAgIGxhc3RQYWdlLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wYWdlVHJhbnNpdGlvbkNvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGludm9rZU9uUmVhZHkoKSB7XG4gICAgICAgIHRoaXMub25SZWFkeSgpO1xuICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdwYWdlUmVhZHknLCB7J25hbWUnIDogdGhpcy5wYWdlTmFtZSwgaW5zdGFuY2U6IHRoaXN9KTtcbiAgICAgICAgKHRoaXMuQXBwLm9uUGFnZVJlYWR5IHx8IG5vb3ApKHRoaXMucGFnZU5hbWUsIHRoaXMpO1xuXG4gICAgICAgIGNvbnN0IGhvbWVQYWdlID0gZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpPy5ob21lUGFnZTtcbiAgICAgICAgaWYgKHdpbmRvdy50b3AubmFtZSAhPT0gd2luZG93Lm5hbWUgJiYgaG9tZVBhZ2UgPT09IHRoaXMucGFnZU5hbWUpIHtcbiAgICAgICAgICAgIHdpbmRvdy50b3AucG9zdE1lc3NhZ2Uoe2tleTogJ29uSG9tZXBhZ2VMb2FkJ30sIFwiKlwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFNjcmlwdHMoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2NyaXB0c1JlcXVpcmVkID0gdGhpcy5wYWdlRGlyZWN0aXZlICYmIHRoaXMucGFnZURpcmVjdGl2ZS4kZWxlbWVudC5hdHRyKCdzY3JpcHRzLXRvLWxvYWQnKTtcbiAgICAgICAgICAgIGlmIChzY3JpcHRzUmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcmlwdExvYWRlclNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmxvYWQoLi4uc2NyaXB0c1JlcXVpcmVkLnNwbGl0KCcsJykpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdG9yZUxhc3RQYWdlU25hcHNob3QoKSB7XG4gICAgICAgIGlmIChpc01vYmlsZUFwcCgpICYmIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QgJiYgdGhpcy4kcGFnZSkge1xuICAgICAgICAgICAgdGhpcy4kcGFnZS5wYXJlbnQoKS5wcmVwZW5kKEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlUGFnZVNuYXBTaG90KCkge1xuICAgICAgICBpZiAoQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCkge1xuICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNNb2JpbGVBcHAoKSAmJiB0aGlzLiRwYWdlKSB7XG4gICAgICAgICAgICBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90ID0gdGhpcy4kcGFnZS5jbG9uZSgpO1xuICAgICAgICAgICAgdGhpcy4kcGFnZS5wYXJlbnRzKCdhcHAtcm9vdCcpLnByZXBlbmQoQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVTY3JvbGxQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3QgZm4gPSAoJGVsLCBrZXksIHJlY3Vyc2l2ZSA9IHRydWUsICR0YXJnZXQgPSAkZWwpICA9PiB7XG4gICAgICAgICAgICBpZiAocmVjdXJzaXZlKSB7XG4gICAgICAgICAgICAgICAgJGVsLmNoaWxkcmVuKCkuZWFjaCgoaSwgdikgPT4gZm4oJCh2KSwga2V5KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxEYXRhID0ge1xuICAgICAgICAgICAgICAgIHg6ICR0YXJnZXQuc2Nyb2xsTGVmdCgpLFxuICAgICAgICAgICAgICAgIHk6ICR0YXJnZXQuc2Nyb2xsVG9wKClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZihzY3JvbGxEYXRhLnggPiAwIHx8IHNjcm9sbERhdGEueSA+IDApIHtcbiAgICAgICAgICAgICAgICAkZWwuYXR0cihrZXksIHNjcm9sbERhdGEueCArICcsJyArIHNjcm9sbERhdGEueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGZuKHRoaXMuJHBhZ2UsICdkYXRhLXNjcm9sbC1wb3NpdGlvbicpO1xuICAgICAgICB0aGlzLiRwYWdlLmF0dHIoJ2RhdGEtd2luZG93LXNjcm9sbC1wb3NpdGlvbicsIHdpbmRvdy5zY3JvbGxYICsgJywnICsgd2luZG93LnNjcm9sbFkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBmbiA9ICgkZWwsIGtleSwgcmVjdXJzaXZlICA9IHRydWUsICR0YXJnZXQgPSAkZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbERhdGEgPSAoJGVsLmF0dHIoa2V5KSB8fCAnJykuc3BsaXQoJywnKTtcbiAgICAgICAgICAgIGlmKHNjcm9sbERhdGEubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICR0YXJnZXQuc2Nyb2xsTGVmdChzY3JvbGxEYXRhWzBdKTtcbiAgICAgICAgICAgICAgICAkdGFyZ2V0LnNjcm9sbFRvcChzY3JvbGxEYXRhWzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRlbC5yZW1vdmVBdHRyKGtleSk7XG4gICAgICAgICAgICBpZiAocmVjdXJzaXZlKSB7XG4gICAgICAgICAgICAgICAgJGVsLmNoaWxkcmVuKCkuZWFjaCgoaSwgdikgPT4gZm4oJCh2KSwga2V5KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGZuKHRoaXMuJHBhZ2UsICdkYXRhLXNjcm9sbC1wb3NpdGlvbicpO1xuICAgICAgICBmbih0aGlzLiRwYWdlLCAnZGF0YS13aW5kb3ctc2Nyb2xsLXBvc2l0aW9uJywgZmFsc2UsICQod2luZG93KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2FuRGVhY3RpdmF0ZSBpcyBjYWxsZWQgYmVmb3JlIGEgcm91dGUgY2hhbmdlLlxuICAgICAqIFRoaXMgd2lsbCBpbnRlcm5hbGx5IGNhbGwgb25CZWZvcmVQYWdlTGVhdmUgbWV0aG9kIHByZXNlbnRcbiAgICAgKiBhdCBwYWdlIGxldmVsIGFuZCBhcHAgbGV2ZWwgaW4gdGhlIGFwcGxpY2F0aW9uIGFuZCBkZWNpZGVcbiAgICAgKiB3aGV0aGVyIHRvIGNoYW5nZSByb3V0ZSBvciBub3QgYmFzZWQgb24gcmV0dXJuIHZhbHVlLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnKVxuICAgIGNhbkRlYWN0aXZhdGUoKSB7XG4gICAgICAgIGxldCByZXRWYWw7XG4gICAgICAgIC8vIENhbGxpbmcgb25CZWZvcmVQYWdlTGVhdmUgbWV0aG9kIHByZXNlbnQgYXQgcGFnZSBsZXZlbFxuICAgICAgICByZXRWYWwgPSB0aGlzLm9uQmVmb3JlUGFnZUxlYXZlKCk7XG4gICAgICAgIC8vIENhbGxpbmcgb25CZWZvcmVQYWdlTGVhdmUgbWV0aG9kIHByZXNlbnQgYXQgYXBwIGxldmVsIG9ubHkgaWYgcGFnZSBsZXZlbCBtZXRob2QgcmV0dXJuIHRydWVcbiAgICAgICAgLy8gb3IgaWYgdGhlcmUgaXMgbm8gcGFnZSBsZXZlbCBtZXRob2RcbiAgICAgICAgaWYgKHJldFZhbCAhPT0gZmFsc2UgKSB7XG4gICAgICAgICAgICByZXRWYWwgPSAgKHRoaXMuQXBwLm9uQmVmb3JlUGFnZUxlYXZlIHx8IG5vb3ApKHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lLCB0aGlzLkFwcC5hY3RpdmVQYWdlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV0VmFsID09PSB1bmRlZmluZWQgPyB0cnVlIDogcmV0VmFsO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW0NBQ0hFX1BBR0VdID0gdGhpcy5jYW5SZXVzZSgpO1xuICAgICAgICBpZiAodGhpcy5wYWdlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLiRwYWdlID0gdGhpcy5wYWdlRGlyZWN0aXZlLiRlbGVtZW50LnBhcmVudCgpO1xuICAgICAgICAgICAgaWYgKGlzSW9zKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRwYWdlLmFkZENsYXNzKCdpb3MtcGFnZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzQW5kcm9pZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFnZS5hZGRDbGFzcygnYW5kcm9pZC1wYWdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXN0b3JlTGFzdFBhZ2VTbmFwc2hvdCgpO1xuICAgICAgICB0aGlzLmxvYWRTY3JpcHRzKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJ1blBhZ2VUcmFuc2l0aW9uKClcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzIGFzIGFueSkuY29tcGlsZVBhZ2VDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUGFnZUNvbnRlbnRSZWFkeSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZyYWdtZW50c0xvYWRlZCQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnZva2VPblJlYWR5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5NdXRlV2F0Y2hlcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdJbml0JC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25QYWdlQ29udGVudFJlYWR5ID0gbm9vcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy90aGlzLmNhcHR1cmVBcHBsaWNhdGlvblRodW1ibmFpbCgpO1xuICAgICAgICB0aGlzLnNhdmVQYWdlU25hcFNob3QoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNhcHR1cmVBcHBsaWNhdGlvblRodW1ibmFpbCgpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IHRoaXM7XG4gICAgICAgIGxldCBjYXB0dXJlQXBwbGljYXRpb25UaHVtYm5haWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImNhcHR1cmVBcHBsaWNhdGlvblRodW1ibmFpbFwiKSA9PT0gXCJ0cnVlXCIgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIGlmIChjYXB0dXJlQXBwbGljYXRpb25UaHVtYm5haWwgJiYgdGhpcy5BcHAubGFuZGluZ1BhZ2VOYW1lID09PSB0aGlzLnBhZ2VOYW1lICYmICEoPGFueT50aGlzKS5BcHAuaXNBcHBsaWNhdGlvblRodW1ibmFpbENhcHR1cmVkKSB7XG4gICAgICAgICAgICBodG1sMmNhbnZhcyhkb2N1bWVudC5ib2R5KVxuICAgICAgICAgICAgICAgIC50aGVuKGNhbnZhcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoPGFueT5yb290KS5BcHAuaXNBcHBsaWNhdGlvblRodW1ibmFpbENhcHR1cmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcmVlbnNob3RVcmwgPSBjYW52YXMudG9EYXRhVVJMKFwiaW1hZ2UvcG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coc2NyZWVuc2hvdFVybCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEuaHJlZiA9IHNjcmVlbnNob3RVcmw7XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmRvd25sb2FkID0gXCJzY3JlZW5zaG90LmpwZ1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYS5jbGljaygpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gaHRtbDJjYW52YXMgdGhlbiBibG9jazonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGh0bWwyY2FudmFzIHByb21pc2U6JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlYWR5KCkge31cblxuICAgIG9uQmVmb3JlUGFnZVJlYWR5KCkge31cblxuICAgIG9uQmVmb3JlUGFnZUxlYXZlKCkge31cblxuICAgIG9uUGFnZUNvbnRlbnRSZWFkeSgpIHt9XG5cbiAgICBjYW5SZXVzZSgpIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMucGFnZURpcmVjdGl2ZSAmJiB0aGlzLnBhZ2VEaXJlY3RpdmUuY2FjaGUpO1xuICAgIH1cblxuICAgIG11dGUoKSB7XG4gICAgICAgIGNvbnN0IG0gPSBvID0+IHsgbyAmJiBvLm11dGUgJiYgby5tdXRlKCk7IH07XG4gICAgICAgIF8uZWFjaCh0aGlzLldpZGdldHMsIG0pO1xuICAgICAgICBfLmVhY2godGhpcy5WYXJpYWJsZXMsIG0pO1xuICAgICAgICBfLmVhY2godGhpcy5BY3Rpb25zLCBtKTtcbiAgICB9XG5cbiAgICB1bm11dGUoYyA9IHRoaXMpIHtcbiAgICAgICAgY29uc3QgdW0gPSBvID0+IHsgbyAmJiBvLnVubXV0ZSAmJiBvLnVubXV0ZSgpOyB9O1xuICAgICAgICBfLmVhY2godGhpcy5XaWRnZXRzLCB1bSk7XG4gICAgICAgIF8uZWFjaCh0aGlzLlZhcmlhYmxlcywgdW0pO1xuICAgICAgICBfLmVhY2godGhpcy5BY3Rpb25zLCB1bSk7XG4gICAgfVxuXG4gICAgbmdPbkF0dGFjaCgpIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW0NBQ0hFX1BBR0VdID0gdGhpcy5jYW5SZXVzZSgpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyUGFnZVBhcmFtcygpO1xuICAgICAgICB0aGlzLkFwcC5sYXN0QWN0aXZlUGFnZU5hbWUgPSB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZTtcbiAgICAgICAgdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLnBhZ2VOYW1lO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVQYWdlID0gdGhpcztcbiAgICAgICAgdGhpcy5hY3RpdmVQYWdlTmFtZSA9IHRoaXMucGFnZU5hbWU7XG4gICAgICAgIHRoaXMucmVzdG9yZUxhc3RQYWdlU25hcHNob3QoKTtcbiAgICAgICAgdGhpcy51bm11dGUoKTtcbiAgICAgICAgLy8gZXhwb3NlIGN1cnJlbnQgcGFnZSB3aWRnZXRzIG9uIGFwcFxuICAgICAgICAodGhpcy5BcHAgYXMgYW55KS5XaWRnZXRzID0gT2JqZWN0LmNyZWF0ZSh0aGlzLldpZGdldHMpO1xuICAgICAgICBpZih0aGlzLnBhZ2VEaXJlY3RpdmUgJiYgdGhpcy5wYWdlRGlyZWN0aXZlLnJlZnJlc2hkYXRhb25hdHRhY2gpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2ggPSB2ID0+IHsgdiAmJiB2LnN0YXJ0VXBkYXRlICYmIHYuaW52b2tlICYmIHYuaW52b2tlKCk7IH07XG4gICAgICAgICAgICBfLmVhY2godGhpcy5WYXJpYWJsZXMsIHJlZnJlc2gpO1xuICAgICAgICAgICAgXy5lYWNoKHRoaXMuQWN0aW9ucywgcmVmcmVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ydW5QYWdlVHJhbnNpdGlvbigpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlc3RvcmVTY3JvbGxQb3NpdGlvbigpLCAxMDApO1xuICAgICAgICAgICAgXy5lYWNoKHRoaXMuV2lkZ2V0cywgdyA9PiB3ICYmIHcubmdPbkF0dGFjaCAmJiB3Lm5nT25BdHRhY2goKSk7XG4gICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdwYWdlQXR0YWNoJywgeyduYW1lJyA6IHRoaXMucGFnZU5hbWUsIGluc3RhbmNlOiB0aGlzfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXRhY2goKSB7XG4gICAgICAgIHRoaXMuc2F2ZVNjcm9sbFBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuc2F2ZVBhZ2VTbmFwU2hvdCgpO1xuICAgICAgICB0aGlzLm11dGUoKTtcbiAgICAgICAgXy5lYWNoKHRoaXMuV2lkZ2V0cywgdyA9PiB3ICYmIHcubmdPbkRldGFjaCAmJiB3Lm5nT25EZXRhY2goKSk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ3BhZ2VEZXRhY2gnLCB7J25hbWUnIDogdGhpcy5wYWdlTmFtZSwgaW5zdGFuY2U6IHRoaXN9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMub25CZWZvcmVQYWdlUmVhZHkoKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY2xlYXIoKSB7XG4gICAgICAgIGlmKEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QpIHtcbiAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QucmVtb3ZlKCk7XG4gICAgICAgICAgICBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==