@wavemaker/app-ng-runtime 11.13.0-rc.222 → 11.14.0-rc.226

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 (1024) hide show
  1. package/build-task/bundles/index.umd.js +34 -5
  2. package/build-task/esm2022/basic/anchor/anchor.build.mjs +15 -0
  3. package/build-task/esm2022/basic/audio/audio.build.mjs +10 -0
  4. package/build-task/esm2022/basic/html/html.build.mjs +15 -0
  5. package/build-task/esm2022/basic/icon/icon.build.mjs +10 -0
  6. package/build-task/esm2022/basic/iframe/iframe.build.mjs +10 -0
  7. package/build-task/esm2022/basic/label/label.build.mjs +25 -0
  8. package/build-task/esm2022/basic/picture/picture.build.mjs +14 -0
  9. package/build-task/esm2022/basic/spinner/spinner.build.mjs +15 -0
  10. package/build-task/esm2022/basic/video/video.build.mjs +10 -0
  11. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +8 -3
  12. package/build-task/esm2022/data/form/form.build.mjs +8 -1
  13. package/build-task/esm2022/data/table/table-column/table-column.build.mjs +14 -3
  14. package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +2 -2
  15. package/build-task/esm2022/page/page-content/page-content.build.mjs +8 -2
  16. package/build-task/esm2022/public_api.mjs +10 -10
  17. package/build-task/fesm2022/index.mjs +36 -7
  18. package/build-task/fesm2022/index.mjs.map +1 -1
  19. package/build-task/package.json +3 -6
  20. package/build-task/public_api.d.ts +9 -9
  21. package/components/advanced/carousel/bundles/index.umd.js +33 -38
  22. package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +16 -16
  23. package/components/advanced/carousel/esm2022/carousel.directive.mjs +19 -24
  24. package/components/advanced/carousel/fesm2022/index.mjs +34 -39
  25. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  26. package/components/advanced/carousel/package.json +0 -3
  27. package/components/advanced/custom/bundles/index.umd.js +48 -48
  28. package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +1 -1
  29. package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +31 -31
  30. package/components/advanced/custom/esm2022/custom-widget.directive.mjs +15 -15
  31. package/components/advanced/custom/fesm2022/index.mjs +45 -45
  32. package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  33. package/components/advanced/custom/package.json +0 -3
  34. package/components/advanced/login/bundles/index.umd.js +33 -53
  35. package/components/advanced/login/esm2022/login.component.mjs +26 -47
  36. package/components/advanced/login/fesm2022/index.mjs +27 -47
  37. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  38. package/components/advanced/login/login.component.d.ts +1 -1
  39. package/components/advanced/login/package.json +0 -3
  40. package/components/advanced/marquee/bundles/index.umd.js +19 -19
  41. package/components/advanced/marquee/esm2022/marquee.directive.mjs +20 -20
  42. package/components/advanced/marquee/fesm2022/index.mjs +20 -20
  43. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  44. package/components/advanced/marquee/package.json +0 -3
  45. package/components/base/bundles/index.umd.js +4272 -4243
  46. package/components/base/esm2022/pipes/custom-pipes.mjs +14 -12
  47. package/components/base/esm2022/pipes/wm-pipe.mjs +3 -3
  48. package/components/base/esm2022/public_api.mjs +1 -2
  49. package/components/base/esm2022/widgets/common/container/container.directive.mjs +154 -1
  50. package/components/base/esm2022/widgets/common/container/container.props.mjs +7 -2
  51. package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +1 -1
  52. package/components/base/fesm2022/index.mjs +4280 -4251
  53. package/components/base/fesm2022/index.mjs.map +1 -1
  54. package/components/base/package.json +2 -2
  55. package/components/base/pipes/custom-pipes.d.ts +4 -2
  56. package/components/base/pipes/wm-pipe.d.ts +1 -1
  57. package/components/base/public_api.d.ts +0 -1
  58. package/components/base/widgets/common/container/container.directive.d.ts +9 -0
  59. package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +0 -2
  60. package/components/basic/anchor/bundles/index.umd.js +192 -0
  61. package/components/basic/anchor/esm2022/anchor.component.mjs +143 -0
  62. package/components/basic/anchor/esm2022/anchor.props.mjs +27 -0
  63. package/components/basic/anchor/esm2022/index.mjs +5 -0
  64. package/components/basic/anchor/esm2022/public_api.mjs +2 -0
  65. package/components/basic/anchor/fesm2022/index.mjs +175 -0
  66. package/components/basic/anchor/fesm2022/index.mjs.map +1 -0
  67. package/components/basic/{progress → anchor}/index.d.ts +1 -1
  68. package/components/basic/{default → anchor}/package.json +1 -4
  69. package/components/basic/anchor/public_api.d.ts +1 -0
  70. package/components/basic/audio/bundles/index.umd.js +83 -0
  71. package/components/basic/audio/esm2022/audio.component.mjs +41 -0
  72. package/components/basic/audio/esm2022/audio.props.mjs +19 -0
  73. package/components/{input/epoch → basic/audio}/esm2022/index.mjs +1 -1
  74. package/components/basic/audio/esm2022/public_api.mjs +2 -0
  75. package/components/basic/audio/fesm2022/index.mjs +65 -0
  76. package/components/basic/audio/fesm2022/index.mjs.map +1 -0
  77. package/components/{input/epoch → basic/audio}/index.d.ts +1 -1
  78. package/components/{input/default → basic/audio}/package.json +2 -5
  79. package/components/basic/audio/public_api.d.ts +1 -0
  80. package/components/basic/html/bundles/index.umd.js +110 -0
  81. package/components/basic/html/esm2022/html.directive.mjs +76 -0
  82. package/components/basic/html/esm2022/html.props.mjs +12 -0
  83. package/components/basic/html/esm2022/index.mjs +5 -0
  84. package/components/basic/html/esm2022/public_api.mjs +2 -0
  85. package/components/basic/html/fesm2022/index.mjs +93 -0
  86. package/components/basic/html/fesm2022/index.mjs.map +1 -0
  87. package/components/basic/{default → html}/index.d.ts +1 -1
  88. package/components/{input/epoch → basic/html}/package.json +1 -4
  89. package/components/basic/html/public_api.d.ts +1 -0
  90. package/components/basic/icon/bundles/index.umd.js +80 -0
  91. package/components/basic/icon/esm2022/icon.component.mjs +38 -0
  92. package/components/basic/icon/esm2022/icon.props.mjs +19 -0
  93. package/components/basic/icon/esm2022/index.mjs +5 -0
  94. package/components/basic/icon/esm2022/public_api.mjs +2 -0
  95. package/components/basic/icon/fesm2022/index.mjs +62 -0
  96. package/components/basic/icon/fesm2022/index.mjs.map +1 -0
  97. package/components/{input/default → basic/icon}/index.d.ts +1 -1
  98. package/components/basic/{progress → icon}/package.json +1 -4
  99. package/components/basic/icon/public_api.d.ts +1 -0
  100. package/components/basic/iframe/.npmignore +2 -0
  101. package/components/basic/iframe/bundles/index.umd.js +101 -0
  102. package/components/basic/iframe/esm2022/iframe.component.mjs +65 -0
  103. package/components/basic/iframe/esm2022/iframe.props.mjs +15 -0
  104. package/components/basic/iframe/esm2022/index.mjs +5 -0
  105. package/components/basic/iframe/esm2022/public_api.mjs +2 -0
  106. package/components/basic/iframe/fesm2022/index.mjs +84 -0
  107. package/components/basic/iframe/fesm2022/index.mjs.map +1 -0
  108. package/components/basic/iframe/index.d.ts +5 -0
  109. package/components/basic/iframe/package.json +20 -0
  110. package/components/basic/iframe/public_api.d.ts +1 -0
  111. package/components/basic/label/.npmignore +2 -0
  112. package/components/basic/label/bundles/index.umd.js +109 -0
  113. package/components/basic/label/esm2022/index.mjs +5 -0
  114. package/components/basic/label/esm2022/label.directive.mjs +71 -0
  115. package/components/basic/label/esm2022/label.props.mjs +17 -0
  116. package/components/basic/label/esm2022/public_api.mjs +2 -0
  117. package/components/basic/label/fesm2022/index.mjs +93 -0
  118. package/components/basic/label/fesm2022/index.mjs.map +1 -0
  119. package/components/basic/label/index.d.ts +5 -0
  120. package/components/basic/{default/label → label}/label.directive.d.ts +1 -1
  121. package/components/basic/label/package.json +20 -0
  122. package/components/basic/label/public_api.d.ts +1 -0
  123. package/components/basic/picture/.npmignore +2 -0
  124. package/components/basic/picture/bundles/index.umd.js +138 -0
  125. package/components/basic/{default → picture}/esm2022/index.mjs +1 -1
  126. package/components/basic/picture/esm2022/picture.directive.mjs +93 -0
  127. package/components/basic/picture/esm2022/picture.props.mjs +23 -0
  128. package/components/basic/picture/esm2022/public_api.mjs +2 -0
  129. package/components/basic/picture/fesm2022/index.mjs +121 -0
  130. package/components/basic/picture/fesm2022/index.mjs.map +1 -0
  131. package/components/basic/picture/index.d.ts +5 -0
  132. package/components/basic/picture/package.json +20 -0
  133. package/components/basic/picture/public_api.d.ts +1 -0
  134. package/components/basic/progress/progress-bar/.npmignore +2 -0
  135. package/components/basic/progress/progress-bar/bundles/index.umd.js +170 -0
  136. package/components/basic/progress/progress-bar/esm2022/index.mjs +5 -0
  137. package/components/basic/progress/progress-bar/esm2022/progress-bar.component.mjs +130 -0
  138. package/components/basic/progress/{esm2022/progress-bar → progress-bar/esm2022}/progress-bar.props.mjs +1 -1
  139. package/components/basic/progress/progress-bar/esm2022/public_api.mjs +2 -0
  140. package/components/basic/progress/progress-bar/fesm2022/index.mjs +154 -0
  141. package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -0
  142. package/components/basic/progress/progress-bar/index.d.ts +5 -0
  143. package/components/basic/progress/progress-bar/package.json +20 -0
  144. package/components/basic/progress/progress-bar/public_api.d.ts +1 -0
  145. package/components/basic/progress/progress-circle/.npmignore +2 -0
  146. package/components/basic/progress/progress-circle/bundles/index.umd.js +161 -0
  147. package/components/basic/progress/progress-circle/esm2022/index.mjs +5 -0
  148. package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +120 -0
  149. package/components/basic/progress/{esm2022/progress-circle → progress-circle/esm2022}/progress-circle.props.mjs +1 -1
  150. package/components/basic/progress/progress-circle/esm2022/public_api.mjs +2 -0
  151. package/components/basic/progress/progress-circle/fesm2022/index.mjs +145 -0
  152. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -0
  153. package/components/basic/progress/progress-circle/index.d.ts +5 -0
  154. package/components/basic/progress/progress-circle/package.json +20 -0
  155. package/components/basic/progress/progress-circle/public_api.d.ts +1 -0
  156. package/components/basic/progress/progress-utils/.npmignore +2 -0
  157. package/components/basic/progress/progress-utils/bundles/index.umd.js +35 -0
  158. package/components/basic/progress/progress-utils/esm2022/index.mjs +5 -0
  159. package/components/basic/progress/progress-utils/esm2022/progress-utils.mjs +25 -0
  160. package/components/basic/progress/progress-utils/esm2022/public_api.mjs +2 -0
  161. package/components/basic/progress/progress-utils/fesm2022/index.mjs +32 -0
  162. package/components/basic/progress/progress-utils/fesm2022/index.mjs.map +1 -0
  163. package/components/basic/progress/progress-utils/index.d.ts +5 -0
  164. package/components/basic/progress/progress-utils/package.json +20 -0
  165. package/components/basic/progress/progress-utils/public_api.d.ts +1 -0
  166. package/components/basic/rich-text-editor/bundles/index.umd.js +23 -40
  167. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +19 -38
  168. package/components/basic/rich-text-editor/fesm2022/index.mjs +21 -39
  169. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  170. package/components/basic/rich-text-editor/package.json +0 -3
  171. package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
  172. package/components/basic/search/bundles/index.umd.js +109 -313
  173. package/components/basic/search/esm2022/scrollable.directive.mjs +13 -14
  174. package/components/basic/search/esm2022/search.component.mjs +40 -246
  175. package/components/basic/search/fesm2022/index.mjs +52 -256
  176. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  177. package/components/basic/search/package.json +0 -3
  178. package/components/basic/search/scrollable.directive.d.ts +2 -3
  179. package/components/basic/search/search.component.d.ts +1 -1
  180. package/components/basic/spinner/.npmignore +2 -0
  181. package/components/basic/spinner/bundles/index.umd.js +118 -0
  182. package/components/{input/default → basic/spinner}/esm2022/index.mjs +1 -1
  183. package/components/basic/spinner/esm2022/public_api.mjs +2 -0
  184. package/components/basic/spinner/esm2022/spinner.component.mjs +79 -0
  185. package/components/basic/spinner/esm2022/spinner.props.mjs +20 -0
  186. package/components/basic/spinner/fesm2022/index.mjs +103 -0
  187. package/components/basic/spinner/fesm2022/index.mjs.map +1 -0
  188. package/components/basic/spinner/index.d.ts +5 -0
  189. package/components/basic/spinner/package.json +20 -0
  190. package/components/basic/spinner/public_api.d.ts +1 -0
  191. package/components/basic/tree/bundles/index.umd.js +34 -38
  192. package/components/basic/tree/esm2022/tree.component.mjs +31 -36
  193. package/components/basic/tree/fesm2022/index.mjs +32 -36
  194. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  195. package/components/basic/tree/package.json +0 -3
  196. package/components/basic/video/.npmignore +2 -0
  197. package/components/basic/video/bundles/index.umd.js +116 -0
  198. package/components/basic/video/esm2022/index.mjs +5 -0
  199. package/components/basic/video/esm2022/public_api.mjs +2 -0
  200. package/components/basic/video/esm2022/video.component.mjs +70 -0
  201. package/components/basic/video/esm2022/video.props.mjs +24 -0
  202. package/components/basic/video/fesm2022/index.mjs +99 -0
  203. package/components/basic/video/fesm2022/index.mjs.map +1 -0
  204. package/components/basic/video/index.d.ts +5 -0
  205. package/components/basic/video/package.json +20 -0
  206. package/components/basic/video/public_api.d.ts +1 -0
  207. package/components/chart/bundles/index.umd.js +22 -75
  208. package/components/chart/esm2022/chart.component.mjs +20 -74
  209. package/components/chart/fesm2022/index.mjs +21 -74
  210. package/components/chart/fesm2022/index.mjs.map +1 -1
  211. package/components/chart/package.json +0 -3
  212. package/components/containers/accordion/bundles/index.umd.js +45 -100
  213. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +19 -70
  214. package/components/containers/accordion/esm2022/accordion.directive.mjs +24 -29
  215. package/components/containers/accordion/fesm2022/index.mjs +43 -98
  216. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  217. package/components/containers/accordion/package.json +0 -3
  218. package/components/containers/layout-grid/bundles/index.umd.js +60 -60
  219. package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +23 -23
  220. package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +20 -20
  221. package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +20 -20
  222. package/components/containers/layout-grid/fesm2022/index.mjs +61 -61
  223. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  224. package/components/containers/layout-grid/package.json +0 -3
  225. package/components/containers/linear-layout/bundles/index.umd.js +38 -38
  226. package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +20 -20
  227. package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +20 -20
  228. package/components/containers/linear-layout/fesm2022/index.mjs +39 -39
  229. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  230. package/components/containers/linear-layout/package.json +0 -3
  231. package/components/containers/panel/bundles/index.umd.js +62 -223
  232. package/components/containers/panel/esm2022/panel.component.mjs +29 -190
  233. package/components/containers/panel/fesm2022/index.mjs +29 -190
  234. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  235. package/components/containers/panel/package.json +0 -3
  236. package/components/containers/tabs/bundles/index.umd.js +95 -204
  237. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +34 -51
  238. package/components/containers/tabs/esm2022/tabs.component.mjs +29 -123
  239. package/components/containers/tabs/fesm2022/index.mjs +61 -170
  240. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  241. package/components/containers/tabs/package.json +0 -3
  242. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -4
  243. package/components/containers/tile/bundles/index.umd.js +19 -19
  244. package/components/containers/tile/esm2022/tile.directive.mjs +20 -20
  245. package/components/containers/tile/fesm2022/index.mjs +20 -20
  246. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  247. package/components/containers/tile/package.json +0 -3
  248. package/components/containers/wizard/bundles/index.umd.js +119 -302
  249. package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +21 -21
  250. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +32 -45
  251. package/components/containers/wizard/esm2022/wizard.component.mjs +30 -201
  252. package/components/containers/wizard/fesm2022/index.mjs +81 -264
  253. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  254. package/components/containers/wizard/package.json +0 -3
  255. package/components/containers/wizard/wizard.component.d.ts +1 -1
  256. package/components/data/card/bundles/index.umd.js +108 -208
  257. package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +15 -15
  258. package/components/data/card/esm2022/card-content/card-content.component.mjs +19 -34
  259. package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +15 -15
  260. package/components/data/card/esm2022/card.component.mjs +21 -107
  261. package/components/data/card/fesm2022/index.mjs +67 -167
  262. package/components/data/card/fesm2022/index.mjs.map +1 -1
  263. package/components/data/card/package.json +0 -3
  264. package/components/data/form/bundles/index.umd.js +287 -467
  265. package/components/data/form/esm2022/form-action/form-action.directive.mjs +22 -22
  266. package/components/data/form/esm2022/form-field/form-field.directive.mjs +80 -91
  267. package/components/data/form/esm2022/form-widget.directive.mjs +31 -31
  268. package/components/data/form/esm2022/form.component.mjs +88 -251
  269. package/components/data/form/esm2022/form.props.mjs +1 -1
  270. package/components/data/form/esm2022/live-actions/dependson.directive.mjs +19 -24
  271. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +15 -15
  272. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +15 -15
  273. package/components/data/form/esm2022/live-form/live-form.directive.mjs +23 -25
  274. package/components/data/form/fesm2022/index.mjs +288 -468
  275. package/components/data/form/fesm2022/index.mjs.map +1 -1
  276. package/components/data/form/package.json +0 -3
  277. package/components/data/list/bundles/index.umd.js +80 -360
  278. package/components/data/list/esm2022/list-item.directive.mjs +27 -34
  279. package/components/data/list/esm2022/list.animator.mjs +1 -1
  280. package/components/data/list/esm2022/list.component.mjs +55 -330
  281. package/components/data/list/esm2022/list.props.mjs +1 -1
  282. package/components/data/list/fesm2022/index.mjs +79 -358
  283. package/components/data/list/fesm2022/index.mjs.map +1 -1
  284. package/components/data/list/list-item.directive.d.ts +3 -3
  285. package/components/data/list/list.component.d.ts +2 -4
  286. package/components/data/list/package.json +0 -3
  287. package/components/data/live-table/bundles/index.umd.js +28 -39
  288. package/components/data/live-table/esm2022/live-table.component.mjs +25 -37
  289. package/components/data/live-table/fesm2022/index.mjs +26 -37
  290. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  291. package/components/data/live-table/package.json +0 -3
  292. package/components/data/pagination/bundles/index.umd.js +33 -505
  293. package/components/data/pagination/esm2022/pagination.component.mjs +33 -507
  294. package/components/data/pagination/esm2022/pagination.props.mjs +1 -1
  295. package/components/data/pagination/fesm2022/index.mjs +32 -505
  296. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  297. package/components/data/pagination/package.json +0 -3
  298. package/components/data/pagination/pagination.component.d.ts +1 -1
  299. package/components/data/table/bundles/index.umd.js +310 -457
  300. package/components/data/table/esm2022/table-action/table-action.directive.mjs +22 -22
  301. package/components/data/table/esm2022/table-column/table-column.directive.mjs +50 -71
  302. package/components/data/table/esm2022/table-column/table-column.props.mjs +1 -1
  303. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +26 -26
  304. package/components/data/table/esm2022/table-cud.directive.mjs +15 -15
  305. package/components/data/table/esm2022/table-filter.directive.mjs +16 -16
  306. package/components/data/table/esm2022/table-row/table-row.directive.mjs +24 -24
  307. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +29 -29
  308. package/components/data/table/esm2022/table.component.mjs +135 -263
  309. package/components/data/table/esm2022/table.props.mjs +2 -1
  310. package/components/data/table/fesm2022/index.mjs +312 -459
  311. package/components/data/table/fesm2022/index.mjs.map +1 -1
  312. package/components/data/table/package.json +0 -3
  313. package/components/data/table/table-column/table-column.directive.d.ts +1 -1
  314. package/components/data/table/table.component.d.ts +3 -0
  315. package/components/dialogs/alert-dialog/bundles/index.umd.js +50 -79
  316. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +32 -62
  317. package/components/dialogs/alert-dialog/fesm2022/index.mjs +32 -61
  318. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  319. package/components/dialogs/alert-dialog/package.json +0 -3
  320. package/components/dialogs/confirm-dialog/bundles/index.umd.js +36 -72
  321. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +34 -71
  322. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +35 -71
  323. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  324. package/components/dialogs/confirm-dialog/package.json +0 -3
  325. package/components/dialogs/default/bundles/index.umd.js +85 -232
  326. package/components/dialogs/default/esm2022/base-dialog.mjs +14 -14
  327. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -18
  328. package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +20 -20
  329. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +34 -179
  330. package/components/dialogs/default/fesm2022/index.mjs +80 -227
  331. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  332. package/components/dialogs/default/package.json +0 -3
  333. package/components/dialogs/design-dialog/bundles/index.umd.js +52 -108
  334. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +50 -107
  335. package/components/dialogs/design-dialog/fesm2022/index.mjs +51 -107
  336. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  337. package/components/dialogs/design-dialog/package.json +0 -3
  338. package/components/dialogs/iframe-dialog/bundles/index.umd.js +33 -81
  339. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +32 -82
  340. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +33 -82
  341. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  342. package/components/dialogs/iframe-dialog/package.json +0 -3
  343. package/components/dialogs/login-dialog/bundles/index.umd.js +22 -29
  344. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +23 -30
  345. package/components/dialogs/login-dialog/fesm2022/index.mjs +23 -30
  346. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  347. package/components/dialogs/login-dialog/package.json +0 -3
  348. package/components/dialogs/partial-dialog/bundles/index.umd.js +39 -85
  349. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +38 -85
  350. package/components/dialogs/partial-dialog/fesm2022/index.mjs +39 -85
  351. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  352. package/components/dialogs/partial-dialog/package.json +0 -3
  353. package/components/input/base-form/.npmignore +2 -0
  354. package/components/input/base-form/bundles/index.umd.js +133 -0
  355. package/components/input/base-form/esm2022/base-form.component.mjs +110 -0
  356. package/components/input/base-form/esm2022/index.mjs +5 -0
  357. package/components/input/base-form/esm2022/public_api.mjs +2 -0
  358. package/components/input/base-form/fesm2022/index.mjs +117 -0
  359. package/components/input/base-form/fesm2022/index.mjs.map +1 -0
  360. package/components/input/base-form/index.d.ts +5 -0
  361. package/components/input/base-form/package.json +20 -0
  362. package/components/input/base-form/public_api.d.ts +1 -0
  363. package/components/input/base-form-custom/.npmignore +2 -0
  364. package/components/input/{default → base-form-custom}/base-form-custom.component.d.ts +1 -1
  365. package/components/input/base-form-custom/bundles/index.umd.js +118 -0
  366. package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +94 -0
  367. package/components/input/base-form-custom/esm2022/index.mjs +5 -0
  368. package/components/input/base-form-custom/esm2022/public_api.mjs +2 -0
  369. package/components/input/base-form-custom/fesm2022/index.mjs +101 -0
  370. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -0
  371. package/components/input/base-form-custom/index.d.ts +5 -0
  372. package/components/input/base-form-custom/package.json +20 -0
  373. package/components/input/base-form-custom/public_api.d.ts +1 -0
  374. package/components/input/button/.npmignore +2 -0
  375. package/components/input/button/bundles/index.umd.js +98 -0
  376. package/components/input/button/esm2022/button.component.mjs +50 -0
  377. package/components/input/button/esm2022/button.props.mjs +26 -0
  378. package/components/input/button/esm2022/index.mjs +5 -0
  379. package/components/input/button/esm2022/public_api.mjs +2 -0
  380. package/components/input/button/fesm2022/index.mjs +81 -0
  381. package/components/input/button/fesm2022/index.mjs.map +1 -0
  382. package/components/input/button/index.d.ts +5 -0
  383. package/components/input/button/package.json +20 -0
  384. package/components/input/button/public_api.d.ts +1 -0
  385. package/components/input/button-group/.npmignore +2 -0
  386. package/components/input/button-group/bundles/index.umd.js +80 -0
  387. package/components/input/button-group/esm2022/button-group.directive.mjs +47 -0
  388. package/components/input/button-group/esm2022/button-group.props.mjs +10 -0
  389. package/components/input/button-group/esm2022/index.mjs +5 -0
  390. package/components/input/button-group/esm2022/public_api.mjs +2 -0
  391. package/components/input/button-group/fesm2022/index.mjs +62 -0
  392. package/components/input/button-group/fesm2022/index.mjs.map +1 -0
  393. package/components/input/button-group/index.d.ts +5 -0
  394. package/components/input/button-group/package.json +20 -0
  395. package/components/input/button-group/public_api.d.ts +1 -0
  396. package/components/input/calendar/bundles/index.umd.js +25 -38
  397. package/components/input/calendar/esm2022/calendar.component.mjs +22 -36
  398. package/components/input/calendar/fesm2022/index.mjs +23 -36
  399. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  400. package/components/input/calendar/package.json +0 -3
  401. package/components/input/caption-position/.npmignore +2 -0
  402. package/components/input/caption-position/bundles/index.umd.js +196 -0
  403. package/components/input/caption-position/esm2022/caption-position.directive.mjs +172 -0
  404. package/components/input/caption-position/esm2022/index.mjs +5 -0
  405. package/components/input/caption-position/esm2022/public_api.mjs +2 -0
  406. package/components/input/caption-position/fesm2022/index.mjs +178 -0
  407. package/components/input/caption-position/fesm2022/index.mjs.map +1 -0
  408. package/components/input/caption-position/index.d.ts +5 -0
  409. package/components/input/caption-position/package.json +20 -0
  410. package/components/input/caption-position/public_api.d.ts +1 -0
  411. package/components/input/checkbox/.npmignore +2 -0
  412. package/components/input/checkbox/bundles/index.umd.js +190 -0
  413. package/components/input/{default/checkbox → checkbox}/checkbox.component.d.ts +1 -1
  414. package/components/input/checkbox/esm2022/checkbox.component.mjs +145 -0
  415. package/components/input/checkbox/esm2022/checkbox.props.mjs +27 -0
  416. package/components/{basic/progress → input/checkbox}/esm2022/index.mjs +1 -1
  417. package/components/input/checkbox/esm2022/public_api.mjs +2 -0
  418. package/components/input/checkbox/fesm2022/index.mjs +175 -0
  419. package/components/input/checkbox/fesm2022/index.mjs.map +1 -0
  420. package/components/input/checkbox/index.d.ts +5 -0
  421. package/components/input/checkbox/package.json +20 -0
  422. package/components/input/checkbox/public_api.d.ts +1 -0
  423. package/components/input/checkboxset/.npmignore +2 -0
  424. package/components/input/checkboxset/bundles/index.umd.js +151 -0
  425. package/components/input/{default/checkboxset → checkboxset}/checkboxset.component.d.ts +1 -1
  426. package/components/input/checkboxset/esm2022/checkboxset.component.mjs +99 -0
  427. package/components/input/checkboxset/esm2022/checkboxset.props.mjs +35 -0
  428. package/components/input/checkboxset/esm2022/index.mjs +5 -0
  429. package/components/input/checkboxset/esm2022/public_api.mjs +2 -0
  430. package/components/input/checkboxset/fesm2022/index.mjs +138 -0
  431. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -0
  432. package/components/input/checkboxset/index.d.ts +5 -0
  433. package/components/input/checkboxset/package.json +20 -0
  434. package/components/input/checkboxset/public_api.d.ts +1 -0
  435. package/components/input/chips/bundles/index.umd.js +94 -153
  436. package/components/input/chips/chips.component.d.ts +1 -1
  437. package/components/input/chips/esm2022/chips.component.mjs +41 -101
  438. package/components/input/chips/fesm2022/index.mjs +42 -101
  439. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  440. package/components/input/chips/package.json +0 -3
  441. package/components/input/color-picker/bundles/index.umd.js +35 -74
  442. package/components/input/color-picker/color-picker.component.d.ts +2 -2
  443. package/components/input/color-picker/esm2022/color-picker.component.mjs +34 -75
  444. package/components/input/color-picker/fesm2022/index.mjs +36 -75
  445. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  446. package/components/input/color-picker/package.json +0 -3
  447. package/components/input/composite/.npmignore +2 -0
  448. package/components/input/composite/bundles/index.umd.js +111 -0
  449. package/components/input/composite/esm2022/composite.directive.mjs +79 -0
  450. package/components/input/composite/esm2022/composite.props.mjs +10 -0
  451. package/components/input/composite/esm2022/index.mjs +5 -0
  452. package/components/input/composite/esm2022/public_api.mjs +2 -0
  453. package/components/input/composite/fesm2022/index.mjs +94 -0
  454. package/components/input/composite/fesm2022/index.mjs.map +1 -0
  455. package/components/input/composite/index.d.ts +5 -0
  456. package/components/input/composite/package.json +20 -0
  457. package/components/input/composite/public_api.d.ts +1 -0
  458. package/components/input/currency/bundles/index.umd.js +31 -52
  459. package/components/input/currency/currency.component.d.ts +1 -1
  460. package/components/input/currency/esm2022/currency.component.mjs +28 -50
  461. package/components/input/currency/fesm2022/index.mjs +30 -51
  462. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  463. package/components/input/currency/package.json +0 -3
  464. package/components/input/dataset-aware-form/.npmignore +2 -0
  465. package/components/input/dataset-aware-form/bundles/index.umd.js +328 -0
  466. package/components/input/{default → dataset-aware-form}/dataset-aware-form.component.d.ts +1 -1
  467. package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +307 -0
  468. package/components/input/dataset-aware-form/esm2022/index.mjs +5 -0
  469. package/components/input/dataset-aware-form/esm2022/public_api.mjs +2 -0
  470. package/components/input/dataset-aware-form/fesm2022/index.mjs +314 -0
  471. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -0
  472. package/components/input/dataset-aware-form/index.d.ts +5 -0
  473. package/components/input/dataset-aware-form/package.json +20 -0
  474. package/components/input/dataset-aware-form/public_api.d.ts +1 -0
  475. package/components/input/epoch/base-date-time/.npmignore +2 -0
  476. package/components/input/epoch/{base-date-time.component.d.ts → base-date-time/base-date-time.component.d.ts} +1 -1
  477. package/components/input/epoch/base-date-time/bundles/index.umd.js +1086 -0
  478. package/components/input/epoch/{esm2022 → base-date-time/esm2022}/base-date-time.component.mjs +22 -31
  479. package/components/input/epoch/base-date-time/esm2022/index.mjs +5 -0
  480. package/components/input/epoch/base-date-time/esm2022/public_api.mjs +2 -0
  481. package/components/input/epoch/base-date-time/fesm2022/index.mjs +1077 -0
  482. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -0
  483. package/components/input/epoch/base-date-time/index.d.ts +5 -0
  484. package/components/input/epoch/base-date-time/package.json +20 -0
  485. package/components/input/epoch/base-date-time/public_api.d.ts +1 -0
  486. package/components/input/epoch/date/.npmignore +2 -0
  487. package/components/input/epoch/date/bundles/index.umd.js +492 -0
  488. package/components/input/epoch/date/date.component.d.ts +2 -2
  489. package/components/input/epoch/date/esm2022/date.component.mjs +322 -0
  490. package/components/input/epoch/{esm2022/date → date/esm2022}/date.props.mjs +1 -1
  491. package/components/input/epoch/{esm2022/date → date/esm2022}/imaskUtil.mjs +1 -1
  492. package/components/input/epoch/date/esm2022/index.mjs +5 -0
  493. package/components/input/epoch/date/esm2022/public_api.mjs +2 -0
  494. package/components/input/epoch/date/fesm2022/index.mjs +482 -0
  495. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -0
  496. package/components/input/epoch/date/index.d.ts +5 -0
  497. package/components/input/epoch/date/package.json +20 -0
  498. package/components/input/epoch/date/public_api.d.ts +1 -0
  499. package/components/input/epoch/date-time/.npmignore +2 -0
  500. package/components/input/epoch/date-time/bundles/index.umd.js +518 -0
  501. package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
  502. package/components/input/epoch/date-time/esm2022/date-time.component.mjs +458 -0
  503. package/components/input/epoch/{esm2022/date-time → date-time/esm2022}/date-time.props.mjs +1 -1
  504. package/components/input/epoch/date-time/esm2022/index.mjs +5 -0
  505. package/components/input/epoch/date-time/esm2022/public_api.mjs +2 -0
  506. package/components/input/epoch/date-time/fesm2022/index.mjs +509 -0
  507. package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -0
  508. package/components/input/epoch/date-time/index.d.ts +5 -0
  509. package/components/input/epoch/date-time/package.json +20 -0
  510. package/components/input/epoch/date-time/public_api.d.ts +1 -0
  511. package/components/input/epoch/date-time-picker/.npmignore +2 -0
  512. package/components/input/epoch/date-time-picker/bundles/index.umd.js +453 -0
  513. package/components/input/epoch/date-time-picker/esm2022/date-time-picker.component.mjs +433 -0
  514. package/components/input/epoch/date-time-picker/esm2022/index.mjs +5 -0
  515. package/components/input/epoch/date-time-picker/esm2022/public_api.mjs +2 -0
  516. package/components/input/epoch/date-time-picker/fesm2022/index.mjs +439 -0
  517. package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -0
  518. package/components/input/epoch/date-time-picker/index.d.ts +5 -0
  519. package/components/input/epoch/date-time-picker/package.json +20 -0
  520. package/components/input/epoch/date-time-picker/public_api.d.ts +1 -0
  521. package/components/input/epoch/picker/.npmignore +2 -0
  522. package/components/input/epoch/picker/bundles/index.umd.js +192 -0
  523. package/components/input/epoch/picker/esm2022/index.mjs +5 -0
  524. package/components/input/epoch/picker/esm2022/picker.component.mjs +165 -0
  525. package/components/input/epoch/picker/esm2022/public_api.mjs +3 -0
  526. package/components/input/epoch/picker/fesm2022/index.mjs +172 -0
  527. package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -0
  528. package/components/input/epoch/picker/index.d.ts +5 -0
  529. package/components/input/epoch/picker/package.json +20 -0
  530. package/components/input/epoch/picker/public_api.d.ts +2 -0
  531. package/components/input/epoch/time/.npmignore +2 -0
  532. package/components/input/epoch/time/bundles/index.umd.js +397 -0
  533. package/components/input/epoch/time/esm2022/index.mjs +5 -0
  534. package/components/input/epoch/time/esm2022/public_api.mjs +2 -0
  535. package/components/input/epoch/time/esm2022/time.component.mjs +348 -0
  536. package/components/input/epoch/{esm2022/time → time/esm2022}/time.props.mjs +1 -1
  537. package/components/input/epoch/time/fesm2022/index.mjs +387 -0
  538. package/components/input/epoch/time/fesm2022/index.mjs.map +1 -0
  539. package/components/input/epoch/time/index.d.ts +5 -0
  540. package/components/input/epoch/time/package.json +20 -0
  541. package/components/input/epoch/time/public_api.d.ts +1 -0
  542. package/components/input/epoch/time/time.component.d.ts +1 -1
  543. package/components/input/file-upload/bundles/index.umd.js +56 -348
  544. package/components/input/file-upload/esm2022/file-upload.component.mjs +20 -313
  545. package/components/input/file-upload/fesm2022/index.mjs +20 -312
  546. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  547. package/components/input/file-upload/package.json +0 -3
  548. package/components/input/number/.npmignore +2 -0
  549. package/components/input/number/bundles/index.umd.js +101 -0
  550. package/components/input/number/esm2022/index.mjs +5 -0
  551. package/components/input/number/esm2022/number.component.mjs +49 -0
  552. package/components/input/number/esm2022/number.props.mjs +35 -0
  553. package/components/input/number/esm2022/public_api.mjs +2 -0
  554. package/components/input/number/fesm2022/index.mjs +87 -0
  555. package/components/input/number/fesm2022/index.mjs.map +1 -0
  556. package/components/input/number/index.d.ts +5 -0
  557. package/components/input/{default/number → number}/number.component.d.ts +1 -1
  558. package/components/input/number/package.json +20 -0
  559. package/components/input/number/public_api.d.ts +1 -0
  560. package/components/input/radioset/.npmignore +2 -0
  561. package/components/input/radioset/bundles/index.umd.js +136 -0
  562. package/components/input/radioset/esm2022/index.mjs +5 -0
  563. package/components/input/radioset/esm2022/public_api.mjs +2 -0
  564. package/components/input/radioset/esm2022/radioset.component.mjs +84 -0
  565. package/components/input/radioset/esm2022/radioset.props.mjs +35 -0
  566. package/components/input/radioset/fesm2022/index.mjs +123 -0
  567. package/components/input/radioset/fesm2022/index.mjs.map +1 -0
  568. package/components/input/radioset/index.d.ts +5 -0
  569. package/components/input/radioset/package.json +20 -0
  570. package/components/input/radioset/public_api.d.ts +1 -0
  571. package/components/input/{default/radioset → radioset}/radioset.component.d.ts +1 -1
  572. package/components/input/rating/bundles/index.umd.js +49 -103
  573. package/components/input/rating/esm2022/rating.component.mjs +24 -79
  574. package/components/input/rating/fesm2022/index.mjs +25 -79
  575. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  576. package/components/input/rating/package.json +0 -3
  577. package/components/input/rating/rating.component.d.ts +1 -1
  578. package/components/input/select/.npmignore +2 -0
  579. package/components/input/select/bundles/index.umd.js +219 -0
  580. package/components/input/select/esm2022/index.mjs +5 -0
  581. package/components/input/select/esm2022/public_api.mjs +2 -0
  582. package/components/input/select/esm2022/select.component.mjs +166 -0
  583. package/components/input/select/esm2022/select.props.mjs +36 -0
  584. package/components/input/select/fesm2022/index.mjs +205 -0
  585. package/components/input/select/fesm2022/index.mjs.map +1 -0
  586. package/components/input/select/index.d.ts +5 -0
  587. package/components/input/select/package.json +20 -0
  588. package/components/input/select/public_api.d.ts +1 -0
  589. package/components/input/{default/select → select}/select.component.d.ts +1 -1
  590. package/components/input/slider/bundles/index.umd.js +44 -111
  591. package/components/input/slider/esm2022/slider.component.mjs +25 -95
  592. package/components/input/slider/esm2022/slider.props.mjs +1 -1
  593. package/components/input/slider/fesm2022/index.mjs +25 -93
  594. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  595. package/components/input/slider/package.json +0 -3
  596. package/components/input/slider/slider.component.d.ts +2 -2
  597. package/components/input/switch/.npmignore +2 -0
  598. package/components/input/switch/bundles/index.umd.js +204 -0
  599. package/components/input/switch/esm2022/index.mjs +5 -0
  600. package/components/input/switch/esm2022/public_api.mjs +2 -0
  601. package/components/input/switch/esm2022/switch.component.mjs +159 -0
  602. package/components/input/switch/esm2022/switch.props.mjs +28 -0
  603. package/components/input/switch/fesm2022/index.mjs +191 -0
  604. package/components/input/switch/fesm2022/index.mjs.map +1 -0
  605. package/components/input/switch/index.d.ts +5 -0
  606. package/components/input/switch/package.json +20 -0
  607. package/components/input/switch/public_api.d.ts +1 -0
  608. package/components/input/{default/switch → switch}/switch.component.d.ts +1 -1
  609. package/components/input/text/.npmignore +2 -0
  610. package/components/input/{default/text/base → text/base-input}/base-input.d.ts +1 -1
  611. package/components/input/text/bundles/index.umd.js +1070 -0
  612. package/components/input/text/esm2022/base-input/base-input.mjs +93 -0
  613. package/components/input/text/esm2022/index.mjs +5 -0
  614. package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +46 -0
  615. package/components/input/text/esm2022/input-calendar/input-calendar.props.mjs +30 -0
  616. package/components/input/text/esm2022/input-color/input-color.component.mjs +46 -0
  617. package/components/input/text/esm2022/input-color/input-color.props.mjs +27 -0
  618. package/components/input/text/esm2022/input-email/input-email.component.mjs +46 -0
  619. package/components/input/text/esm2022/input-email/input-email.props.mjs +29 -0
  620. package/components/input/text/esm2022/input-number/input-number.component.mjs +56 -0
  621. package/components/input/text/esm2022/input-number/input-number.props.mjs +32 -0
  622. package/components/input/text/esm2022/input-text/input-text.component.mjs +121 -0
  623. package/components/input/text/esm2022/input-text/input-text.props.mjs +46 -0
  624. package/components/input/text/esm2022/number-locale/number-locale.mjs +539 -0
  625. package/components/input/text/esm2022/public_api.mjs +8 -0
  626. package/components/input/text/fesm2022/index.mjs +1054 -0
  627. package/components/input/text/fesm2022/index.mjs.map +1 -0
  628. package/components/input/text/index.d.ts +5 -0
  629. package/components/input/{default/text/calendar → text/input-calendar}/input-calendar.component.d.ts +1 -1
  630. package/components/input/{default/text/color → text/input-color}/input-color.component.d.ts +1 -1
  631. package/components/input/{default/text/email → text/input-email}/input-email.component.d.ts +1 -1
  632. package/components/input/{default/text/number → text/input-number}/input-number.component.d.ts +1 -1
  633. package/components/input/{default/text/text → text/input-text}/input-text.component.d.ts +1 -1
  634. package/components/input/{default/text/locale → text/number-locale}/number-locale.d.ts +1 -1
  635. package/components/input/text/package.json +20 -0
  636. package/components/input/text/public_api.d.ts +7 -0
  637. package/components/input/textarea/.npmignore +2 -0
  638. package/components/input/textarea/bundles/index.umd.js +101 -0
  639. package/components/input/textarea/esm2022/index.mjs +5 -0
  640. package/components/input/textarea/esm2022/public_api.mjs +2 -0
  641. package/components/input/textarea/esm2022/textarea.component.mjs +53 -0
  642. package/components/input/textarea/esm2022/textarea.props.mjs +30 -0
  643. package/components/input/textarea/fesm2022/index.mjs +87 -0
  644. package/components/input/textarea/fesm2022/index.mjs.map +1 -0
  645. package/components/input/textarea/index.d.ts +5 -0
  646. package/components/input/textarea/package.json +20 -0
  647. package/components/input/textarea/public_api.d.ts +1 -0
  648. package/components/input/{default/textarea → textarea}/textarea.component.d.ts +1 -1
  649. package/components/navigation/breadcrumb/bundles/index.umd.js +37 -79
  650. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +20 -64
  651. package/components/navigation/breadcrumb/fesm2022/index.mjs +21 -64
  652. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  653. package/components/navigation/breadcrumb/package.json +0 -3
  654. package/components/navigation/menu/bundles/index.umd.js +247 -442
  655. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +14 -19
  656. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +13 -29
  657. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +43 -100
  658. package/components/navigation/menu/esm2022/menu.component.mjs +53 -104
  659. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +30 -37
  660. package/components/navigation/menu/esm2022/nav/nav.component.mjs +20 -88
  661. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +14 -14
  662. package/components/navigation/menu/fesm2022/index.mjs +174 -369
  663. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  664. package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +2 -3
  665. package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +3 -3
  666. package/components/navigation/menu/package.json +0 -3
  667. package/components/navigation/navbar/bundles/index.umd.js +32 -83
  668. package/components/navigation/navbar/esm2022/navbar.component.mjs +20 -72
  669. package/components/navigation/navbar/fesm2022/index.mjs +20 -71
  670. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  671. package/components/navigation/navbar/package.json +0 -3
  672. package/components/navigation/popover/bundles/index.umd.js +31 -59
  673. package/components/navigation/popover/esm2022/popover.component.mjs +29 -58
  674. package/components/navigation/popover/fesm2022/index.mjs +31 -59
  675. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  676. package/components/navigation/popover/package.json +0 -3
  677. package/components/page/default/bundles/index.umd.js +109 -123
  678. package/components/page/default/esm2022/content/content.component.mjs +16 -25
  679. package/components/page/default/esm2022/layout.directive.mjs +21 -21
  680. package/components/page/default/esm2022/page-content/page-content.component.mjs +16 -23
  681. package/components/page/default/esm2022/page.directive.mjs +21 -21
  682. package/components/page/default/esm2022/router-outlet.directive.mjs +20 -20
  683. package/components/page/default/esm2022/spa-page.directive.mjs +21 -21
  684. package/components/page/default/fesm2022/index.mjs +111 -125
  685. package/components/page/default/fesm2022/index.mjs.map +1 -1
  686. package/components/page/default/package.json +0 -3
  687. package/components/page/footer/bundles/index.umd.js +20 -20
  688. package/components/page/footer/esm2022/footer.directive.mjs +21 -21
  689. package/components/page/footer/fesm2022/index.mjs +21 -21
  690. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  691. package/components/page/footer/package.json +0 -3
  692. package/components/page/header/bundles/index.umd.js +19 -26
  693. package/components/page/header/esm2022/header.component.mjs +16 -24
  694. package/components/page/header/fesm2022/index.mjs +17 -24
  695. package/components/page/header/fesm2022/index.mjs.map +1 -1
  696. package/components/page/header/package.json +0 -3
  697. package/components/page/left-panel/bundles/index.umd.js +30 -30
  698. package/components/page/left-panel/esm2022/left-panel.directive.mjs +31 -31
  699. package/components/page/left-panel/fesm2022/index.mjs +31 -31
  700. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  701. package/components/page/left-panel/package.json +0 -3
  702. package/components/page/right-panel/bundles/index.umd.js +23 -23
  703. package/components/page/right-panel/esm2022/right-panel.directive.mjs +24 -24
  704. package/components/page/right-panel/fesm2022/index.mjs +24 -24
  705. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  706. package/components/page/right-panel/package.json +0 -3
  707. package/components/page/top-nav/bundles/index.umd.js +20 -20
  708. package/components/page/top-nav/esm2022/top-nav.directive.mjs +21 -21
  709. package/components/page/top-nav/fesm2022/index.mjs +21 -21
  710. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  711. package/components/page/top-nav/package.json +0 -3
  712. package/components/prefab/bundles/index.umd.js +41 -41
  713. package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +20 -20
  714. package/components/prefab/esm2022/prefab.directive.mjs +23 -23
  715. package/components/prefab/fesm2022/index.mjs +42 -42
  716. package/components/prefab/fesm2022/index.mjs.map +1 -1
  717. package/components/prefab/package.json +0 -3
  718. package/core/bundles/index.umd.js +80 -61
  719. package/core/esm2022/services/constant.service.mjs +7 -7
  720. package/core/esm2022/services/custom-icons-loader.service.mjs +7 -7
  721. package/core/esm2022/services/field-type.service.mjs +7 -7
  722. package/core/esm2022/services/field-widget.service.mjs +7 -7
  723. package/core/esm2022/services/pagination.service.mjs +7 -7
  724. package/core/esm2022/services/script-loader.service.mjs +7 -7
  725. package/core/esm2022/services/state-persistence.service.mjs +7 -7
  726. package/core/esm2022/services/user-custom-pipe-manager.service.mjs +7 -7
  727. package/core/esm2022/services/utils.service.mjs +7 -7
  728. package/core/esm2022/services/viewport.service.mjs +7 -7
  729. package/core/esm2022/types/types.mjs +1 -1
  730. package/core/esm2022/utils/build-utils.mjs +21 -2
  731. package/core/fesm2022/index.mjs +80 -61
  732. package/core/fesm2022/index.mjs.map +1 -1
  733. package/core/package.json +3 -6
  734. package/core/types/types.d.ts +2 -1
  735. package/http/bundles/index.umd.js +8 -8
  736. package/http/esm2022/http.service.mjs +9 -9
  737. package/http/fesm2022/index.mjs +8 -8
  738. package/http/fesm2022/index.mjs.map +1 -1
  739. package/http/package.json +2 -5
  740. package/locales/moment/ar-dz.js +8 -8
  741. package/locales/moment/ar-ly.js +8 -8
  742. package/locales/moment/ar-ps.js +123 -0
  743. package/locales/moment/ar.js +8 -8
  744. package/locales/moment/be.js +2 -2
  745. package/locales/moment/bs.js +14 -4
  746. package/locales/moment/ca.js +6 -6
  747. package/locales/moment/cs.js +5 -4
  748. package/locales/moment/cv.js +2 -2
  749. package/locales/moment/en-au.js +6 -6
  750. package/locales/moment/en-ca.js +6 -6
  751. package/locales/moment/en-gb.js +6 -6
  752. package/locales/moment/en-ie.js +6 -6
  753. package/locales/moment/en-il.js +6 -6
  754. package/locales/moment/en-in.js +6 -6
  755. package/locales/moment/en-nz.js +6 -6
  756. package/locales/moment/en-sg.js +6 -6
  757. package/locales/moment/it.js +4 -4
  758. package/locales/moment/ku-kmr.js +125 -0
  759. package/locales/moment/lt.js +2 -2
  760. package/locales/moment/me.js +2 -2
  761. package/locales/moment/nb.js +4 -4
  762. package/locales/moment/nl-be.js +1 -1
  763. package/locales/moment/nl.js +1 -1
  764. package/locales/moment/oc-lnc.js +6 -6
  765. package/locales/moment/ru.js +2 -2
  766. package/locales/moment/sv.js +6 -6
  767. package/locales/moment/tet.js +6 -6
  768. package/locales/moment/tlh.js +8 -8
  769. package/locales/moment/tzl.js +2 -2
  770. package/locales/moment/uk.js +4 -4
  771. package/locales/moment/x-pseudo.js +6 -6
  772. package/locales/moment-timezone/moment-timezone-with-data.js +2 -2
  773. package/npm-shrinkwrap.json +2 -2
  774. package/oAuth/bundles/index.umd.js +5 -5
  775. package/oAuth/esm2022/oAuth.service.mjs +6 -6
  776. package/oAuth/fesm2022/index.mjs +5 -5
  777. package/oAuth/fesm2022/index.mjs.map +1 -1
  778. package/oAuth/package.json +2 -5
  779. package/package-lock.json +2 -2
  780. package/package.json +1 -1
  781. package/runtime/base/bundles/index.umd.js +3162 -3100
  782. package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -0
  783. package/runtime/base/esm2022/components/app-component/app.component.mjs +14 -95
  784. package/runtime/base/esm2022/components/app-spinner.component.mjs +34 -45
  785. package/runtime/base/esm2022/components/base-custom-widget.component.mjs +8 -7
  786. package/runtime/base/esm2022/components/base-layout.component.mjs +14 -21
  787. package/runtime/base/esm2022/components/base-page.component.mjs +12 -19
  788. package/runtime/base/esm2022/components/base-partial.component.mjs +9 -14
  789. package/runtime/base/esm2022/components/base-prefab.component.mjs +9 -14
  790. package/runtime/base/esm2022/components/base-spa-page.component.mjs +12 -19
  791. package/runtime/base/esm2022/components/custom-toaster.component.mjs +30 -52
  792. package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +33 -15
  793. package/runtime/base/esm2022/components/prefab-preview.component.mjs +19 -26
  794. package/runtime/base/esm2022/directives/accessroles.directive.mjs +17 -17
  795. package/runtime/base/esm2022/directives/prefab.directive.mjs +15 -15
  796. package/runtime/base/esm2022/guards/auth.guard.mjs +6 -6
  797. package/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +11 -11
  798. package/runtime/base/esm2022/guards/page-not-found.guard.mjs +6 -6
  799. package/runtime/base/esm2022/guards/role.guard.mjs +6 -6
  800. package/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +12 -12
  801. package/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +14 -14
  802. package/runtime/base/esm2022/public_api.mjs +5 -2
  803. package/runtime/base/esm2022/resolves/app-before-load.resolve.mjs +22 -0
  804. package/runtime/base/esm2022/resolves/app-extension.resolve.mjs +6 -6
  805. package/runtime/base/esm2022/resolves/app-js.resolve.mjs +6 -6
  806. package/runtime/base/esm2022/resolves/app-variables.resolve.mjs +9 -9
  807. package/runtime/base/esm2022/resolves/i18n.resolve.mjs +6 -6
  808. package/runtime/base/esm2022/resolves/metadata.resolve.mjs +9 -9
  809. package/runtime/base/esm2022/resolves/security-config.resolve.mjs +9 -9
  810. package/runtime/base/esm2022/runtime-base.module.mjs +457 -316
  811. package/runtime/base/esm2022/services/app-defaults.service.mjs +6 -6
  812. package/runtime/base/esm2022/services/app.manager.service.mjs +25 -9
  813. package/runtime/base/esm2022/services/app.service.mjs +39 -18
  814. package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +6 -6
  815. package/runtime/base/esm2022/services/http-interceptor.services.mjs +6 -6
  816. package/runtime/base/esm2022/services/i18n.service.mjs +37 -34
  817. package/runtime/base/esm2022/services/navigation.service.mjs +6 -6
  818. package/runtime/base/esm2022/services/pipe-provider.service.mjs +13 -13
  819. package/runtime/base/esm2022/services/pipe.service.mjs +10 -8
  820. package/runtime/base/esm2022/services/prefab-manager.service.mjs +6 -6
  821. package/runtime/base/esm2022/services/spinner.service.mjs +6 -6
  822. package/runtime/base/esm2022/services/toaster.service.mjs +6 -6
  823. package/runtime/base/esm2022/util/fragment-monitor.mjs +6 -6
  824. package/runtime/base/esm2022/util/utils.mjs +15 -1
  825. package/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +1 -1
  826. package/runtime/base/fesm2022/index.mjs +3145 -3071
  827. package/runtime/base/fesm2022/index.mjs.map +1 -1
  828. package/runtime/base/package.json +2 -5
  829. package/runtime/base/public_api.d.ts +4 -1
  830. package/runtime/base/resolves/app-before-load.resolve.d.ts +11 -0
  831. package/runtime/base/runtime-base.module.d.ts +96 -59
  832. package/runtime/base/services/app.manager.service.d.ts +2 -1
  833. package/runtime/base/services/app.service.d.ts +3 -2
  834. package/runtime/base/services/i18n.service.d.ts +2 -1
  835. package/runtime/base/util/utils.d.ts +2 -1
  836. package/runtime/dynamic/app/app.config.d.ts +1 -1
  837. package/runtime/dynamic/app/services/app-variables-provider.service.d.ts +3 -1
  838. package/runtime/dynamic/bundles/index.umd.js +145 -114
  839. package/runtime/dynamic/esm2022/app/app.config.mjs +11 -10
  840. package/runtime/dynamic/esm2022/app/app.module.mjs +35 -5
  841. package/runtime/dynamic/esm2022/app/app.routes.mjs +2 -11
  842. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +11 -16
  843. package/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +9 -9
  844. package/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +9 -9
  845. package/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +6 -6
  846. package/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +15 -11
  847. package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +57 -8
  848. package/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +6 -6
  849. package/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +6 -6
  850. package/runtime/dynamic/fesm2022/index.mjs +143 -88
  851. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  852. package/runtime/dynamic/package.json +2 -5
  853. package/scripts/datatable/datatable.js +26 -5
  854. package/scripts/jquery-ui/ui/widgets/droppable.js +3 -3
  855. package/scripts/jquery-ui/ui/widgets/resizable.js +72 -19
  856. package/scripts/jquery-ui/ui/widgets/sortable.js +9 -16
  857. package/security/bundles/index.umd.js +5 -5
  858. package/security/esm2022/security.service.mjs +6 -6
  859. package/security/fesm2022/index.mjs +5 -5
  860. package/security/fesm2022/index.mjs.map +1 -1
  861. package/security/package.json +2 -5
  862. package/swipey/fesm2022/index.mjs.map +1 -1
  863. package/swipey/package.json +2 -5
  864. package/transpiler/build.d.ts +1 -1
  865. package/transpiler/bundles/index.umd.js +94 -56
  866. package/transpiler/esm2022/build.mjs +5 -2
  867. package/transpiler/esm2022/imports.mjs +92 -57
  868. package/transpiler/fesm2022/index.mjs +94 -56
  869. package/transpiler/fesm2022/index.mjs.map +1 -1
  870. package/transpiler/package.json +3 -6
  871. package/variables/bundles/index.umd.js +20 -10
  872. package/variables/constants/variables.constants.d.ts +9 -0
  873. package/variables/esm2022/constants/variables.constants.mjs +10 -1
  874. package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -6
  875. package/variables/esm2022/service/variables.service.mjs +6 -6
  876. package/variables/fesm2022/index.mjs +20 -11
  877. package/variables/fesm2022/index.mjs.map +1 -1
  878. package/variables/package.json +2 -5
  879. package/variables/service/variables.service.d.ts +1 -1
  880. package/build-task/esm2022/basic/default/anchor/anchor.build.mjs +0 -15
  881. package/build-task/esm2022/basic/default/audio/audio.build.mjs +0 -10
  882. package/build-task/esm2022/basic/default/html/html.build.mjs +0 -15
  883. package/build-task/esm2022/basic/default/icon/icon.build.mjs +0 -10
  884. package/build-task/esm2022/basic/default/iframe/iframe.build.mjs +0 -10
  885. package/build-task/esm2022/basic/default/label/label.build.mjs +0 -25
  886. package/build-task/esm2022/basic/default/picture/picture.build.mjs +0 -14
  887. package/build-task/esm2022/basic/default/spinner/spinner.build.mjs +0 -15
  888. package/build-task/esm2022/basic/default/video/video.build.mjs +0 -10
  889. package/components/base/components.module.d.ts +0 -25
  890. package/components/base/esm2022/components.module.mjs +0 -152
  891. package/components/basic/default/bundles/index.umd.js +0 -1036
  892. package/components/basic/default/esm2022/anchor/anchor.component.mjs +0 -198
  893. package/components/basic/default/esm2022/anchor/anchor.props.mjs +0 -27
  894. package/components/basic/default/esm2022/audio/audio.component.mjs +0 -59
  895. package/components/basic/default/esm2022/audio/audio.props.mjs +0 -19
  896. package/components/basic/default/esm2022/html/html.directive.mjs +0 -76
  897. package/components/basic/default/esm2022/html/html.props.mjs +0 -12
  898. package/components/basic/default/esm2022/icon/icon.component.mjs +0 -70
  899. package/components/basic/default/esm2022/icon/icon.props.mjs +0 -19
  900. package/components/basic/default/esm2022/iframe/iframe.component.mjs +0 -85
  901. package/components/basic/default/esm2022/iframe/iframe.props.mjs +0 -15
  902. package/components/basic/default/esm2022/label/label.directive.mjs +0 -71
  903. package/components/basic/default/esm2022/label/label.props.mjs +0 -17
  904. package/components/basic/default/esm2022/picture/picture.directive.mjs +0 -95
  905. package/components/basic/default/esm2022/picture/picture.props.mjs +0 -23
  906. package/components/basic/default/esm2022/public_api.mjs +0 -10
  907. package/components/basic/default/esm2022/spinner/spinner.component.mjs +0 -130
  908. package/components/basic/default/esm2022/spinner/spinner.props.mjs +0 -20
  909. package/components/basic/default/esm2022/video/video.component.mjs +0 -113
  910. package/components/basic/default/esm2022/video/video.props.mjs +0 -24
  911. package/components/basic/default/fesm2022/index.mjs +0 -1012
  912. package/components/basic/default/fesm2022/index.mjs.map +0 -1
  913. package/components/basic/default/public_api.d.ts +0 -9
  914. package/components/basic/progress/bundles/index.umd.js +0 -361
  915. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +0 -154
  916. package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +0 -132
  917. package/components/basic/progress/esm2022/public_api.mjs +0 -3
  918. package/components/basic/progress/esm2022/utils.mjs +0 -25
  919. package/components/basic/progress/fesm2022/index.mjs +0 -344
  920. package/components/basic/progress/fesm2022/index.mjs.map +0 -1
  921. package/components/basic/progress/public_api.d.ts +0 -2
  922. package/components/input/default/bundles/index.umd.js +0 -3559
  923. package/components/input/default/esm2022/base-form-custom.component.mjs +0 -94
  924. package/components/input/default/esm2022/base-form.component.mjs +0 -110
  925. package/components/input/default/esm2022/button/button.component.mjs +0 -106
  926. package/components/input/default/esm2022/button/button.props.mjs +0 -26
  927. package/components/input/default/esm2022/button-group/button-group.directive.mjs +0 -51
  928. package/components/input/default/esm2022/button-group/button-group.props.mjs +0 -10
  929. package/components/input/default/esm2022/caption-position.directive.mjs +0 -172
  930. package/components/input/default/esm2022/checkbox/checkbox.component.mjs +0 -179
  931. package/components/input/default/esm2022/checkbox/checkbox.props.mjs +0 -27
  932. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +0 -268
  933. package/components/input/default/esm2022/checkboxset/checkboxset.props.mjs +0 -35
  934. package/components/input/default/esm2022/composite/composite.directive.mjs +0 -84
  935. package/components/input/default/esm2022/composite/composite.props.mjs +0 -10
  936. package/components/input/default/esm2022/dataset-aware-form.component.mjs +0 -307
  937. package/components/input/default/esm2022/number/number.component.mjs +0 -68
  938. package/components/input/default/esm2022/number/number.props.mjs +0 -35
  939. package/components/input/default/esm2022/public_api.mjs +0 -21
  940. package/components/input/default/esm2022/radioset/radioset.component.mjs +0 -251
  941. package/components/input/default/esm2022/radioset/radioset.props.mjs +0 -35
  942. package/components/input/default/esm2022/select/select.component.mjs +0 -230
  943. package/components/input/default/esm2022/select/select.props.mjs +0 -36
  944. package/components/input/default/esm2022/switch/switch.component.mjs +0 -227
  945. package/components/input/default/esm2022/switch/switch.props.mjs +0 -28
  946. package/components/input/default/esm2022/text/base/base-input.mjs +0 -93
  947. package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +0 -69
  948. package/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +0 -30
  949. package/components/input/default/esm2022/text/color/input-color.component.mjs +0 -69
  950. package/components/input/default/esm2022/text/color/input-color.props.mjs +0 -27
  951. package/components/input/default/esm2022/text/email/input-email.component.mjs +0 -68
  952. package/components/input/default/esm2022/text/email/input-email.props.mjs +0 -29
  953. package/components/input/default/esm2022/text/locale/number-locale.mjs +0 -539
  954. package/components/input/default/esm2022/text/number/input-number.component.mjs +0 -79
  955. package/components/input/default/esm2022/text/number/input-number.props.mjs +0 -32
  956. package/components/input/default/esm2022/text/text/input-text.component.mjs +0 -145
  957. package/components/input/default/esm2022/text/text/input-text.props.mjs +0 -46
  958. package/components/input/default/esm2022/textarea/textarea.component.mjs +0 -85
  959. package/components/input/default/esm2022/textarea/textarea.props.mjs +0 -30
  960. package/components/input/default/fesm2022/index.mjs +0 -3529
  961. package/components/input/default/fesm2022/index.mjs.map +0 -1
  962. package/components/input/default/public_api.d.ts +0 -20
  963. package/components/input/epoch/bundles/index.umd.js +0 -3292
  964. package/components/input/epoch/esm2022/date/date.component.mjs +0 -376
  965. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +0 -473
  966. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +0 -563
  967. package/components/input/epoch/esm2022/picker/picker.component.mjs +0 -184
  968. package/components/input/epoch/esm2022/public_api.mjs +0 -6
  969. package/components/input/epoch/esm2022/time/time.component.mjs +0 -432
  970. package/components/input/epoch/fesm2022/index.mjs +0 -3280
  971. package/components/input/epoch/fesm2022/index.mjs.map +0 -1
  972. package/components/input/epoch/public_api.d.ts +0 -5
  973. /package/build-task/basic/{default/anchor → anchor}/anchor.build.d.ts +0 -0
  974. /package/build-task/basic/{default/audio → audio}/audio.build.d.ts +0 -0
  975. /package/build-task/basic/{default/html → html}/html.build.d.ts +0 -0
  976. /package/build-task/basic/{default/icon → icon}/icon.build.d.ts +0 -0
  977. /package/build-task/basic/{default/iframe → iframe}/iframe.build.d.ts +0 -0
  978. /package/build-task/basic/{default/label → label}/label.build.d.ts +0 -0
  979. /package/build-task/basic/{default/picture → picture}/picture.build.d.ts +0 -0
  980. /package/build-task/basic/{default/spinner → spinner}/spinner.build.d.ts +0 -0
  981. /package/build-task/basic/{default/video → video}/video.build.d.ts +0 -0
  982. /package/components/basic/{default → anchor}/.npmignore +0 -0
  983. /package/components/basic/{default/anchor → anchor}/anchor.component.d.ts +0 -0
  984. /package/components/basic/{default/anchor → anchor}/anchor.props.d.ts +0 -0
  985. /package/components/basic/{progress → audio}/.npmignore +0 -0
  986. /package/components/basic/{default/audio → audio}/audio.component.d.ts +0 -0
  987. /package/components/basic/{default/audio → audio}/audio.props.d.ts +0 -0
  988. /package/components/{input/default → basic/html}/.npmignore +0 -0
  989. /package/components/basic/{default/html → html}/html.directive.d.ts +0 -0
  990. /package/components/basic/{default/html → html}/html.props.d.ts +0 -0
  991. /package/components/{input/epoch → basic/icon}/.npmignore +0 -0
  992. /package/components/basic/{default/icon → icon}/icon.component.d.ts +0 -0
  993. /package/components/basic/{default/icon → icon}/icon.props.d.ts +0 -0
  994. /package/components/basic/{default/iframe → iframe}/iframe.component.d.ts +0 -0
  995. /package/components/basic/{default/iframe → iframe}/iframe.props.d.ts +0 -0
  996. /package/components/basic/{default/label → label}/label.props.d.ts +0 -0
  997. /package/components/basic/{default/picture → picture}/picture.directive.d.ts +0 -0
  998. /package/components/basic/{default/picture → picture}/picture.props.d.ts +0 -0
  999. /package/components/basic/progress/{utils.d.ts → progress-utils/progress-utils.d.ts} +0 -0
  1000. /package/components/basic/{default/spinner → spinner}/spinner.component.d.ts +0 -0
  1001. /package/components/basic/{default/spinner → spinner}/spinner.props.d.ts +0 -0
  1002. /package/components/basic/{default/video → video}/video.component.d.ts +0 -0
  1003. /package/components/basic/{default/video → video}/video.props.d.ts +0 -0
  1004. /package/components/input/{default → base-form}/base-form.component.d.ts +0 -0
  1005. /package/components/input/{default/button → button}/button.component.d.ts +0 -0
  1006. /package/components/input/{default/button → button}/button.props.d.ts +0 -0
  1007. /package/components/input/{default/button-group → button-group}/button-group.directive.d.ts +0 -0
  1008. /package/components/input/{default/button-group → button-group}/button-group.props.d.ts +0 -0
  1009. /package/components/input/{default → caption-position}/caption-position.directive.d.ts +0 -0
  1010. /package/components/input/{default/checkbox → checkbox}/checkbox.props.d.ts +0 -0
  1011. /package/components/input/{default/checkboxset → checkboxset}/checkboxset.props.d.ts +0 -0
  1012. /package/components/input/{default/composite → composite}/composite.directive.d.ts +0 -0
  1013. /package/components/input/{default/composite → composite}/composite.props.d.ts +0 -0
  1014. /package/components/input/epoch/{date-time → date-time-picker}/date-time-picker.component.d.ts +0 -0
  1015. /package/components/input/{default/number → number}/number.props.d.ts +0 -0
  1016. /package/components/input/{default/radioset → radioset}/radioset.props.d.ts +0 -0
  1017. /package/components/input/{default/select → select}/select.props.d.ts +0 -0
  1018. /package/components/input/{default/switch → switch}/switch.props.d.ts +0 -0
  1019. /package/components/input/{default/text/calendar → text/input-calendar}/input-calendar.props.d.ts +0 -0
  1020. /package/components/input/{default/text/color → text/input-color}/input-color.props.d.ts +0 -0
  1021. /package/components/input/{default/text/email → text/input-email}/input-email.props.d.ts +0 -0
  1022. /package/components/input/{default/text/number → text/input-number}/input-number.props.d.ts +0 -0
  1023. /package/components/input/{default/text/text → text/input-text}/input-text.props.d.ts +0 -0
  1024. /package/components/input/{default/textarea → textarea}/textarea.props.d.ts +0 -0
@@ -1170,9 +1170,14 @@
1170
1170
  return provider;
1171
1171
  },
1172
1172
  imports: (attrs) => {
1173
- const requiredWidget = core.getRequiredFormWidget(attrs.get('__widgetType') || attrs.get('type'));
1173
+ const widgetType = attrs.get('__widgetType') || attrs.get('type');
1174
+ const requiredWidget = core.getRequiredFormWidget(widgetType);
1174
1175
  attrs.delete('__widgetType');
1175
- return [requiredWidget, 'wm-form'];
1176
+ let pipeImports = [];
1177
+ if (widgetType && [core.FormWidgetType.DATE, core.FormWidgetType.DATETIME, core.FormWidgetType.TIME, core.FormWidgetType.TIMESTAMP].includes(widgetType)) {
1178
+ pipeImports.push('toDate');
1179
+ }
1180
+ return [requiredWidget, 'wm-form', ...pipeImports];
1176
1181
  }
1177
1182
  };
1178
1183
  };
@@ -1344,6 +1349,13 @@
1344
1349
  const provider = new Map();
1345
1350
  provider.set('form_reference', shared.get('counter'));
1346
1351
  return provider;
1352
+ },
1353
+ imports: (attrs) => {
1354
+ const formlayout = attrs.get('formlayout');
1355
+ if (formlayout === 'dialog') {
1356
+ return ['wm-dialog'];
1357
+ }
1358
+ return [];
1347
1359
  }
1348
1360
  };
1349
1361
  };
@@ -2223,7 +2235,13 @@
2223
2235
  }
2224
2236
  },
2225
2237
  pre: attrs => `<${tagName$h} wmPageContent ${attrs.get('spa') && 'wmSpaPage' || ''} wmSmoothscroll="${attrs.get('smoothscroll') || 'false'}" ${transpiler.getAttrMarkup(attrs)}>`,
2226
- post: () => `</${tagName$h}>`
2238
+ post: () => `</${tagName$h}>`,
2239
+ imports: (attrs) => {
2240
+ if (attrs.get('spa')) {
2241
+ return ['spa-page-content'];
2242
+ }
2243
+ return [];
2244
+ }
2227
2245
  };
2228
2246
  });
2229
2247
  var pageContent_build = () => { };
@@ -2532,7 +2550,8 @@
2532
2550
  break;
2533
2551
  case 'hover':
2534
2552
  default:
2535
- validationErrorTmpl = `@if(getValidationMessage() && getControl() && getControl().invalid && getControl().touched){<span placement="top" container="body" tooltip="{{getValidationMessage()}}" class="text-danger wi wi-error">
2553
+ // added app-label class as in foundation.css the default class(app-label) has been written for label tag
2554
+ validationErrorTmpl = `@if(getValidationMessage() && getControl() && getControl().invalid && getControl().touched){<span placement="top" container="body" tooltip="{{getValidationMessage()}}" class="app-label text-danger wi wi-error">
2536
2555
  </span>}`;
2537
2556
  }
2538
2557
  return validationErrorTmpl;
@@ -2650,7 +2669,17 @@
2650
2669
  imports: (attrs) => {
2651
2670
  const editWidgetType = attrs.get('edit-widget-type');
2652
2671
  const filterWidgetType = attrs.get('filterwidget') || getDataTableFilterWidget(attrs.get('type') || core.DataType.STRING);
2653
- return [core.getRequiredFormWidget(editWidgetType), core.getRequiredFormWidget(filterWidgetType), 'wm-table'];
2672
+ const formatpattern = attrs.get('custompipeformat') || attrs.get('formatpattern');
2673
+ let pipeImports = [];
2674
+ if (!!formatpattern) {
2675
+ if (core.checkIsCustomPipeExpression(formatpattern)) {
2676
+ pipeImports.push('custom');
2677
+ }
2678
+ else {
2679
+ pipeImports.push(formatpattern);
2680
+ }
2681
+ }
2682
+ return [core.getRequiredFormWidget(editWidgetType), core.getRequiredFormWidget(filterWidgetType), 'wm-table', ...pipeImports];
2654
2683
  }
2655
2684
  };
2656
2685
  });
@@ -0,0 +1,15 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ import { IDGenerator } from "@wm/core";
3
+ const tagName = 'a';
4
+ const idGen = new IDGenerator('wm_anchor');
5
+ register('wm-anchor', () => {
6
+ return {
7
+ pre: (attrs) => {
8
+ const counter = idGen.nextUid();
9
+ return `<${tagName} wmAnchor #${counter}="wmAnchor" role="link" data-identifier="anchor" [attr.aria-label]="${counter}.arialabel || (${counter}.badgevalue ? ${counter}.caption + ' ' + ${counter}.badgevalue : ${counter}.caption) || null" ${getAttrMarkup(attrs)}>`;
10
+ },
11
+ post: () => `</${tagName}>`
12
+ };
13
+ });
14
+ export default () => { };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy90cmFuc3BpbGUvc3JjL2Jhc2ljL2FuY2hvci9hbmNob3IuYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVyQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFM0MsUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFrQixFQUFFO0lBQ3RDLE9BQU87UUFDSCxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNYLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksT0FBTyxjQUFjLE9BQU8sdUVBQXVFLE9BQU8sa0JBQWtCLE9BQU8saUJBQWlCLE9BQU8sb0JBQW9CLE9BQU8saUJBQWlCLE9BQU8sc0JBQXNCLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzNRLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxPQUFPLEdBQUc7S0FDOUIsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge0lER2VuZXJhdG9yfSBmcm9tIFwiQHdtL2NvcmVcIjtcblxuY29uc3QgdGFnTmFtZSA9ICdhJztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCd3bV9hbmNob3InKTtcblxucmVnaXN0ZXIoJ3dtLWFuY2hvcicsICgpOiBJQnVpbGRUYXNrRGVmID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcmU6IChhdHRycykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY291bnRlciA9IGlkR2VuLm5leHRVaWQoKTtcbiAgICAgICAgICAgIHJldHVybiBgPCR7dGFnTmFtZX0gd21BbmNob3IgIyR7Y291bnRlcn09XCJ3bUFuY2hvclwiIHJvbGU9XCJsaW5rXCIgZGF0YS1pZGVudGlmaWVyPVwiYW5jaG9yXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIke2NvdW50ZXJ9LmFyaWFsYWJlbCB8fCAoJHtjb3VudGVyfS5iYWRnZXZhbHVlID8gJHtjb3VudGVyfS5jYXB0aW9uICsgJyAnICsgJHtjb3VudGVyfS5iYWRnZXZhbHVlIDogJHtjb3VudGVyfS5jYXB0aW9uKSB8fCBudWxsXCIgJHtnZXRBdHRyTWFya3VwKGF0dHJzKX0+YDtcbiAgICAgICAgfSxcbiAgICAgICAgcG9zdDogKCkgPT4gYDwvJHt0YWdOYW1lfT5gXG4gICAgfTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ const tagName = 'div';
3
+ register('wm-audio', () => {
4
+ return {
5
+ pre: attrs => `<${tagName} wmAudio ${getAttrMarkup(attrs)}>`,
6
+ post: () => `</${tagName}>`
7
+ };
8
+ });
9
+ export default () => { };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3RyYW5zcGlsZS9zcmMvYmFzaWMvYXVkaW8vYXVkaW8uYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBaUIsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBRXRCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBa0IsRUFBRTtJQUNyQyxPQUFPO1FBQ0gsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLFlBQVksYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHO1FBQzVELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLE9BQU8sR0FBRztLQUM5QixDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUM7QUFFSCxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyIH0gZnJvbSAnQHdtL3RyYW5zcGlsZXInO1xuXG5jb25zdCB0YWdOYW1lID0gJ2Rpdic7XG5cbnJlZ2lzdGVyKCd3bS1hdWRpbycsICgpOiBJQnVpbGRUYXNrRGVmID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcmU6IGF0dHJzID0+IGA8JHt0YWdOYW1lfSB3bUF1ZGlvICR7Z2V0QXR0ck1hcmt1cChhdHRycyl9PmAsXG4gICAgICAgIHBvc3Q6ICgpID0+IGA8LyR7dGFnTmFtZX0+YFxuICAgIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ import { IDGenerator } from "@wm/core";
3
+ const tagName = 'div';
4
+ const idGen = new IDGenerator('wm_html');
5
+ register('wm-html', () => {
6
+ return {
7
+ pre: (attrs) => {
8
+ const counter = idGen.nextUid();
9
+ return `<${tagName} wmHtml #${counter}="wmHtml" role="application" [attr.aria-label]="${counter}.arialabel || 'HTML content'" ${getAttrMarkup(attrs)}>`;
10
+ },
11
+ post: () => `</${tagName}>`
12
+ };
13
+ });
14
+ export default () => { };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9iYXNpYy9odG1sL2h0bWwuYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFekMsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFrQixFQUFFO0lBQ3BDLE9BQU87UUFDSCxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNYLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksT0FBTyxZQUFZLE9BQU8sbURBQW1ELE9BQU8saUNBQWlDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzVKLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxPQUFPLEdBQUc7S0FDOUIsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge0lER2VuZXJhdG9yfSBmcm9tIFwiQHdtL2NvcmVcIjtcblxuY29uc3QgdGFnTmFtZSA9ICdkaXYnO1xuY29uc3QgaWRHZW4gPSBuZXcgSURHZW5lcmF0b3IoJ3dtX2h0bWwnKTtcblxucmVnaXN0ZXIoJ3dtLWh0bWwnLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiAoYXR0cnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICByZXR1cm4gYDwke3RhZ05hbWV9IHdtSHRtbCAjJHtjb3VudGVyfT1cIndtSHRtbFwiIHJvbGU9XCJhcHBsaWNhdGlvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJHtjb3VudGVyfS5hcmlhbGFiZWwgfHwgJ0hUTUwgY29udGVudCdcIiAke2dldEF0dHJNYXJrdXAoYXR0cnMpfT5gO1xuICAgICAgICB9LFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmBcbiAgICB9O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHt9O1xuIl19
@@ -0,0 +1,10 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ const tagName = 'span';
3
+ register('wm-icon', () => {
4
+ return {
5
+ pre: attrs => `<${tagName} wmIcon ${getAttrMarkup(attrs)}>`,
6
+ post: () => `</${tagName}>`
7
+ };
8
+ });
9
+ export default () => { };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9iYXNpYy9pY29uL2ljb24uYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBRXZCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBa0IsRUFBRTtJQUNwQyxPQUFPO1FBQ0gsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLFdBQVcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHO1FBQzNELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLE9BQU8sR0FBRztLQUM5QixDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUM7QUFFSCxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2V0QXR0ck1hcmt1cCwgSUJ1aWxkVGFza0RlZiwgcmVnaXN0ZXJ9IGZyb20gJ0B3bS90cmFuc3BpbGVyJztcblxuY29uc3QgdGFnTmFtZSA9ICdzcGFuJztcblxucmVnaXN0ZXIoJ3dtLWljb24nLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiBhdHRycyA9PiBgPCR7dGFnTmFtZX0gd21JY29uICR7Z2V0QXR0ck1hcmt1cChhdHRycyl9PmAsXG4gICAgICAgIHBvc3Q6ICgpID0+IGA8LyR7dGFnTmFtZX0+YFxuICAgIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ const tagName = 'div';
3
+ register('wm-iframe', () => {
4
+ return {
5
+ pre: attrs => `<${tagName} wmIframe ${getAttrMarkup(attrs)}>`,
6
+ post: () => `</${tagName}>`
7
+ };
8
+ });
9
+ export default () => { };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLmJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy90cmFuc3BpbGUvc3JjL2Jhc2ljL2lmcmFtZS9pZnJhbWUuYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBaUIsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBRXRCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsR0FBa0IsRUFBRTtJQUN0QyxPQUFPO1FBQ0gsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLGFBQWEsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHO1FBQzdELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLE9BQU8sR0FBRztLQUM5QixDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUM7QUFFSCxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyIH0gZnJvbSAnQHdtL3RyYW5zcGlsZXInO1xuXG5jb25zdCB0YWdOYW1lID0gJ2Rpdic7XG5cbnJlZ2lzdGVyKCd3bS1pZnJhbWUnLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiBhdHRycyA9PiBgPCR7dGFnTmFtZX0gd21JZnJhbWUgJHtnZXRBdHRyTWFya3VwKGF0dHJzKX0+YCxcbiAgICAgICAgcG9zdDogKCkgPT4gYDwvJHt0YWdOYW1lfT5gXG4gICAgfTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ import { IDGenerator } from "@wm/core";
3
+ let tagName = 'p';
4
+ const idGen = new IDGenerator('wm_label');
5
+ register('wm-label', () => {
6
+ return {
7
+ pre: (attrs) => {
8
+ if (!attrs.get("notag")) {
9
+ if (!attrs.get('type')) {
10
+ const classList = attrs.get('class') ? attrs.get('class').split(' ').filter(element => ["h1", "h2", "h3", "h4", "h5", "h6", "p"].includes(element)) : [];
11
+ attrs.set('type', classList.length ? classList[0] : "p");
12
+ }
13
+ tagName = attrs.get('type');
14
+ }
15
+ else {
16
+ tagName = 'label';
17
+ }
18
+ const counter = idGen.nextUid();
19
+ return `<${tagName} wmLabel #${counter}="wmLabel" ${getAttrMarkup(attrs)}>`;
20
+ },
21
+ post: () => `</${tagName}>`
22
+ };
23
+ });
24
+ export default () => { };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3RyYW5zcGlsZS9zcmMvYmFzaWMvbGFiZWwvbGFiZWwuYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVyQyxJQUFJLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7QUFFMUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFrQixFQUFFO0lBQ3JDLE9BQU87UUFDSCxHQUFHLEVBQUUsQ0FBQyxLQUFTLEVBQUUsRUFBRTtZQUNmLElBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUM7Z0JBQ3BCLElBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7b0JBQzNCLE1BQU0sU0FBUyxHQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQztvQkFDL0ksS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxHQUFHLENBQUMsQ0FBQztnQkFDckQsQ0FBQztnQkFDTCxPQUFPLEdBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQixDQUFDO2lCQUNHLENBQUM7Z0JBQ0QsT0FBTyxHQUFDLE9BQU8sQ0FBQztZQUNwQixDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxPQUFPLGFBQWEsT0FBTyxjQUFjLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxPQUFPLEdBQUc7S0FDOUIsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge0lER2VuZXJhdG9yfSBmcm9tIFwiQHdtL2NvcmVcIjtcblxubGV0IHRhZ05hbWUgPSAncCc7XG5jb25zdCBpZEdlbiA9IG5ldyBJREdlbmVyYXRvcignd21fbGFiZWwnKTtcblxucmVnaXN0ZXIoJ3dtLWxhYmVsJywgKCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZTogKGF0dHJzOmFueSkgPT4ge1xuICAgICAgICAgICAgaWYoIWF0dHJzLmdldChcIm5vdGFnXCIpKXtcbiAgICAgICAgICAgICAgICBpZighYXR0cnMuZ2V0KCd0eXBlJykpe1xuICAgICAgICAgICAgY29uc3QgY2xhc3NMaXN0PWF0dHJzLmdldCgnY2xhc3MnKSA/IGF0dHJzLmdldCgnY2xhc3MnKS5zcGxpdCgnICcpLmZpbHRlcihlbGVtZW50ID0+IFtcImgxXCIsXCJoMlwiLFwiaDNcIixcImg0XCIsXCJoNVwiLFwiaDZcIixcInBcIl0uaW5jbHVkZXMoZWxlbWVudCkpOltdO1xuICAgICAgICAgICAgYXR0cnMuc2V0KCd0eXBlJyxjbGFzc0xpc3QubGVuZ3RoID8gY2xhc3NMaXN0WzBdIDogIFwicFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWdOYW1lPSBhdHRycy5nZXQoJ3R5cGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgICAgdGFnTmFtZT0nbGFiZWwnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY291bnRlciA9IGlkR2VuLm5leHRVaWQoKTtcbiAgICAgICAgICAgIHJldHVybiBgPCR7dGFnTmFtZX0gd21MYWJlbCAjJHtjb3VudGVyfT1cIndtTGFiZWxcIiAke2dldEF0dHJNYXJrdXAoYXR0cnMpfT5gO1xuICAgICAgICB9LFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmBcbiAgICB9O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHt9O1xuIl19
@@ -0,0 +1,14 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ import { IDGenerator } from "@wm/core";
3
+ const tagName = 'img';
4
+ const idGen = new IDGenerator('wm_picture');
5
+ register('wm-picture', () => {
6
+ return {
7
+ pre: (attrs) => {
8
+ const counter = idGen.nextUid();
9
+ return `<${tagName} wmPicture #${counter}="wmPicture" [alt]="${counter}.alttext" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.arialabel || 'Image'" ${getAttrMarkup(attrs)}>`;
10
+ }
11
+ };
12
+ });
13
+ export default () => { };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9iYXNpYy9waWN0dXJlL3BpY3R1cmUuYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFNUMsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFrQixFQUFFO0lBQ3ZDLE9BQU87UUFDSCxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNYLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksT0FBTyxlQUFlLE9BQU8sdUJBQXVCLE9BQU8sMkJBQTJCLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSx3QkFBd0IsT0FBTywwQkFBMEIsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDcE4sQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQztBQUVILGVBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRBdHRyTWFya3VwLCBJQnVpbGRUYXNrRGVmLCByZWdpc3Rlcn0gZnJvbSAnQHdtL3RyYW5zcGlsZXInO1xuaW1wb3J0IHtJREdlbmVyYXRvcn0gZnJvbSBcIkB3bS9jb3JlXCI7XG5cbmNvbnN0IHRhZ05hbWUgPSAnaW1nJztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCd3bV9waWN0dXJlJyk7XG5cbnJlZ2lzdGVyKCd3bS1waWN0dXJlJywgKCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZTogKGF0dHJzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gaWRHZW4ubmV4dFVpZCgpO1xuICAgICAgICAgICAgcmV0dXJuIGA8JHt0YWdOYW1lfSB3bVBpY3R1cmUgIyR7Y291bnRlcn09XCJ3bVBpY3R1cmVcIiBbYWx0XT1cIiR7Y291bnRlcn0uYWx0dGV4dFwiIHdtSW1hZ2VDYWNoZT1cIiR7YXR0cnMuZ2V0KCdvZmZsaW5lJykgfHwgJ3RydWUnfVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJHtjb3VudGVyfS5hcmlhbGFiZWwgfHwgJ0ltYWdlJ1wiICR7Z2V0QXR0ck1hcmt1cChhdHRycyl9PmA7XG4gICAgICAgIH1cbiAgICB9O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHt9O1xuIl19
@@ -0,0 +1,15 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ import { IDGenerator } from "@wm/core";
3
+ const tagName = 'div';
4
+ const idGen = new IDGenerator('wm_spinner');
5
+ register('wm-spinner', () => {
6
+ return {
7
+ pre: (attrs) => {
8
+ const counter = idGen.nextUid();
9
+ return `<${tagName} wmSpinner #${counter}="wmSpinner" role="alert" [attr.aria-label]="${counter}.arialabel || 'Loading...'" aria-live="assertive" aria-busy="true" ${getAttrMarkup(attrs)}>`;
10
+ },
11
+ post: () => `</${tagName}>`
12
+ };
13
+ });
14
+ export default () => { };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9iYXNpYy9zcGlubmVyL3NwaW5uZXIuYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFNUMsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFrQixFQUFFO0lBQ3ZDLE9BQU87UUFDSCxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNYLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksT0FBTyxlQUFlLE9BQU8sZ0RBQWdELE9BQU8sc0VBQXNFLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2pNLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxPQUFPLEdBQUc7S0FDOUIsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge0lER2VuZXJhdG9yfSBmcm9tIFwiQHdtL2NvcmVcIjtcblxuY29uc3QgdGFnTmFtZSA9ICdkaXYnO1xuY29uc3QgaWRHZW4gPSBuZXcgSURHZW5lcmF0b3IoJ3dtX3NwaW5uZXInKTtcblxucmVnaXN0ZXIoJ3dtLXNwaW5uZXInLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiAoYXR0cnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICByZXR1cm4gYDwke3RhZ05hbWV9IHdtU3Bpbm5lciAjJHtjb3VudGVyfT1cIndtU3Bpbm5lclwiIHJvbGU9XCJhbGVydFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJHtjb3VudGVyfS5hcmlhbGFiZWwgfHwgJ0xvYWRpbmcuLi4nXCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgYXJpYS1idXN5PVwidHJ1ZVwiICR7Z2V0QXR0ck1hcmt1cChhdHRycyl9PmA7XG4gICAgICAgIH0sXG4gICAgICAgIHBvc3Q6ICgpID0+IGA8LyR7dGFnTmFtZX0+YFxuICAgIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { getAttrMarkup, register } from '@wm/transpiler';
2
+ const tagName = 'div';
3
+ register('wm-video', () => {
4
+ return {
5
+ pre: attrs => `<${tagName} wmVideo ${getAttrMarkup(attrs)}>`,
6
+ post: () => `</${tagName}>`
7
+ };
8
+ });
9
+ export default () => { };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3RyYW5zcGlsZS9zcmMvYmFzaWMvdmlkZW8vdmlkZW8uYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBaUIsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBRXRCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBa0IsRUFBRTtJQUNyQyxPQUFPO1FBQ0gsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLFlBQVksYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHO1FBQzVELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLE9BQU8sR0FBRztLQUM5QixDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUM7QUFFSCxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyIH0gZnJvbSAnQHdtL3RyYW5zcGlsZXInO1xuXG5jb25zdCB0YWdOYW1lID0gJ2Rpdic7XG5cbnJlZ2lzdGVyKCd3bS12aWRlbycsICgpOiBJQnVpbGRUYXNrRGVmID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcmU6IGF0dHJzID0+IGA8JHt0YWdOYW1lfSB3bVZpZGVvICR7Z2V0QXR0ck1hcmt1cChhdHRycyl9PmAsXG4gICAgICAgIHBvc3Q6ICgpID0+IGA8LyR7dGFnTmFtZX0+YFxuICAgIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
@@ -156,13 +156,18 @@ const registerFormField = (isFormField) => {
156
156
  return provider;
157
157
  },
158
158
  imports: (attrs) => {
159
- const requiredWidget = getRequiredFormWidget(attrs.get('__widgetType') || attrs.get('type'));
159
+ const widgetType = attrs.get('__widgetType') || attrs.get('type');
160
+ const requiredWidget = getRequiredFormWidget(widgetType);
160
161
  attrs.delete('__widgetType');
161
- return [requiredWidget, 'wm-form'];
162
+ let pipeImports = [];
163
+ if (widgetType && [FormWidgetType.DATE, FormWidgetType.DATETIME, FormWidgetType.TIME, FormWidgetType.TIMESTAMP].includes(widgetType)) {
164
+ pipeImports.push('toDate');
165
+ }
166
+ return [requiredWidget, 'wm-form', ...pipeImports];
162
167
  }
163
168
  };
164
169
  };
165
170
  register('wm-form-field', registerFormField.bind(this, true));
166
171
  register('wm-filter-field', registerFormField.bind(this, false));
167
172
  export default () => { };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9kYXRhL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUNILGNBQWMsRUFDZCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixXQUFXLEVBQ2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFNUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2hDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM1QixLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUMxQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLEdBQUcsS0FBSyxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsS0FBSyxHQUFHLHlCQUF5QixLQUFLLEVBQUUsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLElBQUksR0FBRyxLQUFLLFlBQVksRUFBRSxDQUFDO2dCQUM5QixLQUFLLEdBQUcsd0JBQXdCLEtBQUssRUFBRSxDQUFDO1lBQzVDLENBQUM7WUFDRCxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNqQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRixDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9GLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzlFLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDaEQsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEYsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDOUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDNUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEYsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztDQUNwRCxDQUFDLENBQUM7QUFFSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN2RCxNQUFNLElBQUksR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVELElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsSUFBSSxXQUFXLElBQUksV0FBVyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3BDLE9BQU87SUFDWCxDQUFDO0lBQ0QsV0FBVyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNkLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3pDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNyQixJQUFHLE9BQU8sQ0FBQyxVQUFVLEtBQUssZUFBZSxFQUFFLENBQUM7UUFDeEMsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RCLFdBQVcsSUFBSSxHQUFHLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixTQUFTLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsT0FBTyxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUM3TCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BILE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDL0QsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLE9BQU8sQ0FBQyxRQUFRLG9CQUFvQixPQUFPLENBQUMsT0FBTyxrQ0FBa0MsV0FBVyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksZ0JBQWdCLElBQUksT0FBTyxJQUFJLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxnQkFBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQSxDQUFDLENBQUEsRUFBRSxFQUFFLENBQUU7SUFDeFIsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7QUFDakksQ0FBQyxDQUFDO0FBR0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQy9FLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTSxDQUFDO0lBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE9BQU8saUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUMvQixPQUFPLGVBQWUsV0FBVyxLQUFLLGlCQUFpQixDQUFDLEtBQUssRUFBRSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxDQUFDOzhCQUNqRixXQUFXLEtBQUssaUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQyxRQUFRLENBQUM7QUFDL0ksQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDdEQsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLE9BQU8sR0FBRyxPQUFPLG1CQUFtQixDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksT0FBTyxHQUFHLEdBQUcsT0FBTyxRQUFRLENBQUM7SUFDakMsSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLFFBQVEsSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BGLE9BQU8sSUFBSSxhQUFhLE9BQU8sb0RBQW9ELENBQUM7UUFDcEYsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksVUFBVSxLQUFLLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksYUFBYSxPQUFPLHNDQUFzQyxDQUFDO1FBQ3RFLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckMsT0FBTyxJQUFJLGFBQWEsT0FBTywyQ0FBMkMsQ0FBQztRQUMzRSxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLE1BQU0sSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9FLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEUsT0FBTyxHQUFHLE9BQU8sbUJBQW1CLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sR0FBRyxPQUFPLGVBQWUsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsV0FBVyxFQUFpQixFQUFFO0lBQ3JELE9BQU87UUFDSCxRQUFRLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUM7UUFDaEUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUN6RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxJQUFJLGNBQWMsSUFBSSxZQUFZLENBQUM7WUFDNUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDO1lBQ3BFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQztZQUM5RCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQzdELE1BQU0sbUJBQW1CLEdBQUcscUJBQXFCLEdBQUcsWUFBWSxFQUFFLENBQUM7WUFDbkUsTUFBTSxhQUFhLEdBQUcsUUFBUSxPQUFPLHlCQUF5QixPQUFPLHlCQUF5QixRQUFRO2dLQUM4QyxPQUFPLDJCQUEyQixtQkFBbUI7OEZBQ3ZILE9BQU87d0RBQzdDLENBQUM7WUFDN0MsTUFBTSxVQUFVLEdBQUcsVUFBVSxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEYsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDO1lBQ2xDLE1BQU0sUUFBUSxHQUFHLFFBQVEsS0FBSyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztZQUN0RixLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDakQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUUvQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ25DLHFCQUFxQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLHFCQUFxQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUVELE9BQU8sSUFBSSxPQUFPLGVBQWUsUUFBUSxrQkFBa0IsUUFBUSwyQ0FBMkMsT0FBTyw4QkFBOEIsVUFBVSxLQUFLLGlCQUFpQixDQUFDLEtBQUssQ0FBQztvR0FDbEcsUUFBUSwrQkFBK0IsVUFBVTtnREFDckcsT0FBTyxrRUFBa0UsUUFBUTs2REFDcEUsUUFBUSw2Q0FBNkMsT0FBTyx5QkFBeUIsT0FBTyx5QkFBeUIsUUFBUTtxREFDckksUUFBUSxvQkFBb0IsT0FBTyw4QkFBOEIsT0FBTzs4Q0FDL0UsT0FBTyxrQkFBa0IsUUFBUSxvQkFBb0IsYUFBYTs7bURBRTdELFFBQVEsb0JBQW9CLE9BQU8sb0NBQW9DLE9BQU8sMENBQTBDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDO2tDQUN2TCxXQUFXLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7c0NBQ25FLE9BQU87d0NBQ0wsT0FBTyx5QkFBeUIsT0FBTywwQkFBMEIsUUFBUSwyR0FBMkcsT0FBTztrQ0FDak0sYUFBYTs7K0JBRWhCLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLE9BQU8sR0FBRztRQUMzQixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUMzQixRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0RCxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsS0FBMEIsRUFBWSxFQUFFO1lBQzlDLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzdGLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDN0IsT0FBTyxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2QyxDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFakUsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEZvcm1NYXJrdXBBdHRyLCBJQnVpbGRUYXNrRGVmLCByZWdpc3Rlcn0gZnJvbSAnQHdtL3RyYW5zcGlsZXInO1xuaW1wb3J0IHtcbiAgICBGb3JtV2lkZ2V0VHlwZSxcbiAgICBnZW5lcmF0ZUdVSWQsXG4gICAgZ2V0Rm9ybVdpZGdldFRlbXBsYXRlLFxuICAgIGdldFJlcXVpcmVkRm9ybVdpZGdldCxcbiAgICBJREdlbmVyYXRvclxufSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7QUxMRklFTERTLCBpc0RhdGFTZXRXaWRnZXR9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7Zm9yRWFjaH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCB0YWdOYW1lID0gJ2Rpdic7XG5jb25zdCBpZEdlbiA9IG5ldyBJREdlbmVyYXRvcignZm9ybWZpZWxkXycpO1xuXG5jb25zdCBnZXRFdmVudHNUZW1wbGF0ZSA9IChhdHRycykgPT4ge1xuICAgIGNvbnN0IGV2ZW50QXR0cnMgPSBuZXcgTWFwKCk7XG4gICAgaWYgKCFhdHRycy5oYXMoJ2ZvY3VzLmV2ZW50JykpIHtcbiAgICAgICAgYXR0cnMuc2V0KCdmb2N1cy5ldmVudCcsICcnKTtcbiAgICB9XG4gICAgaWYgKCFhdHRycy5oYXMoJ2JsdXIuZXZlbnQnKSkge1xuICAgICAgICBhdHRycy5zZXQoJ2JsdXIuZXZlbnQnLCAnJyk7XG4gICAgfVxuICAgIGF0dHJzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICBpZiAoa2V5LmVuZHNXaXRoKCcuZXZlbnQnKSkge1xuICAgICAgICAgICBpZiAoa2V5ID09PSAnZm9jdXMuZXZlbnQnKSB7XG4gICAgICAgICAgICAgICB2YWx1ZSA9IGBfb25Gb2N1c0ZpZWxkKCRldmVudCk7JHt2YWx1ZX1gO1xuICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2JsdXIuZXZlbnQnKSB7XG4gICAgICAgICAgICAgICB2YWx1ZSA9IGBfb25CbHVyRmllbGQoJGV2ZW50KTske3ZhbHVlfWA7XG4gICAgICAgICAgIH1cbiAgICAgICAgICAgZXZlbnRBdHRycy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgIGF0dHJzLmRlbGV0ZShrZXkpO1xuICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZ2V0Rm9ybU1hcmt1cEF0dHIoZXZlbnRBdHRycyk7XG59O1xuXG5jb25zdCBERUZBVUxUX1BMQUNFSE9MREVSUyA9IG5ldyBNYXAoW1xuICAgIFtGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsIFsnU2VsZWN0IE1pbiB2YWx1ZScsICdTZWxlY3QgTWF4IHZhbHVlJywgJ1NlbGVjdCB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuREFURVRJTUUsIFsnU2VsZWN0IE1pbiBkYXRlIHRpbWUnLCAnU2VsZWN0IE1heCBkYXRlIHRpbWUnLCAnU2VsZWN0IGRhdGUgdGltZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVElNRSwgWydTZWxlY3QgTWluIHRpbWUnLCAnU2VsZWN0IE1heCB0aW1lJywgJ1NlbGVjdCB0aW1lJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5EQVRFLCBbJ1NlbGVjdCBNaW4gZGF0ZScsICdTZWxlY3QgTWF4IGRhdGUnLCAnU2VsZWN0IGRhdGUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlRFWFRBUkVBLCBbJycsICcnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlJJQ0hURVhULCBbJycsICcnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkNPTE9SUElDS0VSLCBbJ1NlbGVjdCBDb2xvcicsICdTZWxlY3QgQ29sb3InLCAnU2VsZWN0IENvbG9yJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5DSElQUywgWycnLCAnJywgJ1R5cGUgaGVyZS4uLiddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuUEFTU1dPUkQsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuTlVNQkVSLCBbJ0VudGVyIE1pbiB2YWx1ZScsICdFbnRlciBNYXggdmFsdWUnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlRFWFQsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQ1VSUkVOQ1ksIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQVVUT0NPTVBMRVRFLCBbJycsICcnLCAnU2VhcmNoJ11dLFxuXSk7XG5cbmNvbnN0IHNldERlZmF1bHRQbGFjZWhvbGRlciA9IChhdHRycywgd2lkZ2V0VHlwZSwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwcm9wID0gaW5kZXggPT09IDEgPyAnbWF4cGxhY2Vob2xkZXInIDogJ3BsYWNlaG9sZGVyJztcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSBhdHRycy5nZXQocHJvcCk7XG4gICAgaWYgKHBsYWNlaG9sZGVyIHx8IHBsYWNlaG9sZGVyID09PSAnJykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUlMuZ2V0KHdpZGdldFR5cGUpICYmIERFRkFVTFRfUExBQ0VIT0xERVJTLmdldCh3aWRnZXRUeXBlKVtpbmRleF07XG4gICAgaWYgKHBsYWNlaG9sZGVyKSB7XG4gICAgICAgIGF0dHJzLnNldChwcm9wLCBwbGFjZWhvbGRlcik7XG4gICAgfVxufTtcblxuY29uc3QgZ2V0V2lkZ2V0VGVtcGxhdGUgPSAoYXR0cnMsIG9wdGlvbnMpID0+IHtcbiAgICBsZXQgY3VzdG9tQXR0cnMgPSBgYDtcbiAgICBpZihvcHRpb25zLndpZGdldFR5cGUgPT09IFwiY3VzdG9tLXdpZGdldFwiKSB7XG4gICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBhdHRycykge1xuICAgICAgICAgICAgaWYoa2V5LnN0YXJ0c1dpdGgoJ3Byb3AtJykpXG4gICAgICAgICAgICAgICAgY3VzdG9tQXR0cnMgKz0ga2V5ICsgJz1cIicgKyB2YWx1ZSArICdcIiAnO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5hbWUgPSBhdHRycy5nZXQoJ25hbWUnKTtcbiAgICBjb25zdCBjdXN0b21XaWRnZXROYW1lID0gYXR0cnMuZ2V0KCd3aWRnZXRuYW1lJyk7XG4gICAgY29uc3QgZmllbGROYW1lID0gKGF0dHJzLmdldCgna2V5JykgfHwgbmFtZSB8fCAnJykudHJpbSgpO1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gb3B0aW9ucy5pc01heFdpZGdldCA/IGBmb3JtQ29udHJvbE5hbWU9XCIke2ZpZWxkTmFtZX1fbWF4XCJgIDogKG9wdGlvbnMuaXNJbkxpc3QgPyBgW2Zvcm1Db250cm9sTmFtZV09XCIke29wdGlvbnMuY291bnRlcn0uX2ZpZWxkTmFtZVwiYCA6IGBmb3JtQ29udHJvbE5hbWU9XCIke2ZpZWxkTmFtZX1cImApO1xuICAgIGNvbnN0IHRtcGxSZWYgPSBvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYCNmb3JtV2lkZ2V0TWF4YCA6IGAjZm9ybVdpZGdldGA7XG4gICAgY29uc3Qgd2lkZ2V0TmFtZSA9IG5hbWUgPyAob3B0aW9ucy5pc01heFdpZGdldCA/IGBuYW1lPVwiJHtuYW1lfV9mb3JtV2lkZ2V0TWF4XCJgIDogYG5hbWU9XCIke25hbWV9X2Zvcm1XaWRnZXRcImApIDogJyc7XG4gICAgY29uc3QgY29uZGl0aW9uYWxDbGFzcyA9IGBbbmdDbGFzc109XCIke2F0dHJzLmdldCgnbmdjbGFzcycpfVwiYDtcbiAgICBjb25zdCBkZWZhdWx0VG1wbCA9IGBbY2xhc3MuaGlkZGVuXT1cIiEke29wdGlvbnMucENvdW50ZXJ9LmlzVXBkYXRlTW9kZSAmJiAke29wdGlvbnMuY291bnRlcn0udmlld21vZGV3aWRnZXQgIT09ICdkZWZhdWx0J1wiICR7Zm9ybUNvbnRyb2x9ICR7b3B0aW9ucy5ldmVudHNUbXBsfSAke2NvbmRpdGlvbmFsQ2xhc3N9ICR7dG1wbFJlZn0gJHt3aWRnZXROYW1lfSAke2N1c3RvbVdpZGdldE5hbWUgPyBgd2lkZ2V0bmFtZT0ke2N1c3RvbVdpZGdldE5hbWV9ICR7Y3VzdG9tQXR0cnN9YDonJ31gIDtcbiAgICByZXR1cm4gZ2V0Rm9ybVdpZGdldFRlbXBsYXRlKG9wdGlvbnMud2lkZ2V0VHlwZSwgZGVmYXVsdFRtcGwsIGF0dHJzLCB7Y291bnRlcjogb3B0aW9ucy5jb3VudGVyLCBwQ291bnRlcjogb3B0aW9ucy5wQ291bnRlcn0pO1xufTtcblxuXG5jb25zdCBnZXRUZW1wbGF0ZSA9IChhdHRycywgd2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzSW5MaXN0KSA9PiB7XG4gICAgY29uc3QgaXNSYW5nZSA9IGF0dHJzLmdldCgnaXMtcmFuZ2UnKSA9PT0gJ3RydWUnO1xuICAgIGlmICghaXNSYW5nZSkge1xuICAgICAgICByZXR1cm4gZ2V0V2lkZ2V0VGVtcGxhdGUoYXR0cnMsIHt3aWRnZXRUeXBlLCBldmVudHNUbXBsLCBjb3VudGVyLCBwQ291bnRlciwgaXNJbkxpc3R9KTtcbiAgICB9XG4gICAgY29uc3QgbGF5b3V0Q2xhc3MgPSAnY29sLXNtLTYnO1xuICAgIHJldHVybiBgPGRpdiBjbGFzcz1cIiR7bGF5b3V0Q2xhc3N9XCI+JHtnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyfSl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiR7bGF5b3V0Q2xhc3N9XCI+JHtnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyLCBpc01heFdpZGdldDogdHJ1ZX0pfTwvZGl2PmA7XG59O1xuXG5jb25zdCBnZXRDYXB0aW9uQnlXaWRnZXQgPSAoYXR0cnMsIHdpZGdldFR5cGUsIGNvdW50ZXIpID0+IHtcbiAgICBpZiAoYXR0cnMuZ2V0KCdpcy1yZWxhdGVkJykgPT09ICd0cnVlJykge1xuICAgICAgICByZXR1cm4gYCR7Y291bnRlcn0uZ2V0RGlzcGxheUV4cHIoKWA7XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5QQVNTV09SRCkge1xuICAgICAgICByZXR1cm4gJ1xcJyoqKioqKioqXFwnJztcbiAgICB9XG4gICAgbGV0IGNhcHRpb24gPSBgJHtjb3VudGVyfS52YWx1ZWA7XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLkRBVEVUSU1FIHx8IHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlRJTUVTVEFNUCkge1xuICAgICAgICBjYXB0aW9uICs9IGAgfCB0b0RhdGU6JHtjb3VudGVyfS5mb3JtV2lkZ2V0LmRhdGVwYXR0ZXJuIHx8ICd5eXl5LU1NLWRkIGhoOm1tOnNzIGEnYDtcbiAgICAgICAgcmV0dXJuIGNhcHRpb247XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5USU1FKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQudGltZXBhdHRlcm4gfHwgJ2hoOm1tIGEnYDtcbiAgICAgICAgcmV0dXJuIGNhcHRpb247XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5EQVRFKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQuZGF0ZXBhdHRlcm4gfHwgICd5eXl5LU1NTS1kZCdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlJBVElORyB8fCB3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5VUExPQUQpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAoaXNEYXRhU2V0V2lkZ2V0KHdpZGdldFR5cGUpICYmIGF0dHJzLmdldCgnZGF0YWZpZWxkJykgPT09IEFMTEZJRUxEUykge1xuICAgICAgICByZXR1cm4gYCR7Y291bnRlcn0uZ2V0RGlzcGxheUV4cHIoKWA7XG4gICAgfVxuICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXRDYXB0aW9uKClgO1xufTtcblxuY29uc3QgcmVnaXN0ZXJGb3JtRmllbGQgPSAoaXNGb3JtRmllbGQpOiBJQnVpbGRUYXNrRGVmID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXF1aXJlczogWyd3bS1mb3JtJywgJ3dtLWxpdmVmb3JtJywgJ3dtLWxpdmVmaWx0ZXInLCAnd20tbGlzdCddLFxuICAgICAgICBwcmU6IChhdHRycywgc2hhcmVkLCBwYXJlbnRGb3JtLCBwYXJlbnRMaXZlRm9ybSwgcGFyZW50RmlsdGVyLCBwYXJlbnRMaXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gaWRHZW4ubmV4dFVpZCgpO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gcGFyZW50Rm9ybSB8fCBwYXJlbnRMaXZlRm9ybSB8fCBwYXJlbnRGaWx0ZXI7XG4gICAgICAgICAgICBjb25zdCBwQ291bnRlciA9IChwYXJlbnQgJiYgcGFyZW50LmdldCgnZm9ybV9yZWZlcmVuY2UnKSkgfHwgJ2Zvcm0nO1xuICAgICAgICAgICAgY29uc3Qgd2lkZ2V0VHlwZSA9IGF0dHJzLmdldCgnd2lkZ2V0JykgfHwgRm9ybVdpZGdldFR5cGUuVEVYVDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFSb2xlID0gaXNGb3JtRmllbGQgPyAnZm9ybS1maWVsZCcgOiAnZmlsdGVyLWZpZWxkJztcbiAgICAgICAgICAgIGNvbnN0IGZvcm1GaWVsZEVycm9yTXNnSWQgPSAnd21mb3JtLWZpZWxkLWVycm9yLScgKyBnZW5lcmF0ZUdVSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25Nc2cgPSBgQGlmICgke2NvdW50ZXJ9Ll9jb250cm9sPy5pbnZhbGlkICYmICR7Y291bnRlcn0uX2NvbnRyb2w/LnRvdWNoZWQgJiYgJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiaGVscC1ibG9jayB0ZXh0LWRhbmdlclwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIiR7Y291bnRlcn0udmFsaWRhdGlvbm1lc3NhZ2VcIiBpZD1cIiR7Zm9ybUZpZWxkRXJyb3JNc2dJZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBbdGV4dENvbnRlbnRdPVwiJHtjb3VudGVyfS52YWxpZGF0aW9ubWVzc2FnZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPn1gO1xuICAgICAgICAgICAgY29uc3QgZXZlbnRzVG1wbCA9IHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlVQTE9BRCA/ICcnIDogZ2V0RXZlbnRzVGVtcGxhdGUoYXR0cnMpO1xuICAgICAgICAgICAgY29uc3QgY29udHJvbExheW91dCA9ICdjb2wtc20tMTInO1xuICAgICAgICAgICAgY29uc3QgaXNJbkxpc3QgPSBwQ291bnRlciA9PT0gKHBhcmVudExpc3QgJiYgcGFyZW50TGlzdC5nZXQoJ3BhcmVudF9mb3JtX3JlZmVyZW5jZScpKTtcbiAgICAgICAgICAgIGF0dHJzLnNldCgnX192YWxpZGF0aW9uSWQnLCBmb3JtRmllbGRFcnJvck1zZ0lkKTtcbiAgICAgICAgICAgIGF0dHJzLnNldCgnX193aWRnZXRUeXBlJywgd2lkZ2V0VHlwZSk7XG4gICAgICAgICAgICBhdHRycy5kZWxldGUoJ3dpZGdldCcpO1xuICAgICAgICAgICAgc2hhcmVkLnNldCgnY291bnRlcicsIGNvdW50ZXIpO1xuXG4gICAgICAgICAgICBpZiAoYXR0cnMuZ2V0KCdpcy1yYW5nZScpID09PSAndHJ1ZScpIHtcbiAgICAgICAgICAgICAgICBzZXREZWZhdWx0UGxhY2Vob2xkZXIoYXR0cnMsIHdpZGdldFR5cGUsIDApO1xuICAgICAgICAgICAgICAgIHNldERlZmF1bHRQbGFjZWhvbGRlcihhdHRycywgd2lkZ2V0VHlwZSwgMSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldERlZmF1bHRQbGFjZWhvbGRlcihhdHRycywgd2lkZ2V0VHlwZSwgMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBgPCR7dGFnTmFtZX0gZGF0YS1yb2xlPVwiJHtkYXRhUm9sZX1cIiBbZm9ybUdyb3VwXT1cIiR7cENvdW50ZXJ9Lm5nZm9ybVwiIHdtRm9ybUZpZWxkIHdtQ2FwdGlvblBvc2l0aW9uICMke2NvdW50ZXJ9PVwid21Gb3JtRmllbGRcIiB3aWRnZXR0eXBlPVwiJHt3aWRnZXRUeXBlfVwiICR7Z2V0Rm9ybU1hcmt1cEF0dHIoYXR0cnMpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXZlLWZpZWxkIGZvcm0tZ3JvdXAgYXBwLWNvbXBvc2l0ZS13aWRnZXQgY2xlYXJmaXggY2FwdGlvbi17eyR7cENvdW50ZXJ9LmNhcHRpb25wb3NpdGlvbn19XCIgd2lkZ2V0PVwiJHt3aWRnZXRUeXBlfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbaGlkZGVuXT1cIiEke2NvdW50ZXJ9LmRpc3BsYXluYW1lXCIgY2xhc3M9XCJhcHAtbGFiZWwgY29udHJvbC1sYWJlbCBmb3JtZmllbGQtbGFiZWwge3ske3BDb3VudGVyfS5fY2FwdGlvbkNsYXNzfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInt3aWR0aDogJHtwQ291bnRlcn0uY2FwdGlvbnNpemV9XCIgW25nQ2xhc3NdPVwieyd0ZXh0LWRhbmdlcic6ICR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCAmJiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGUgJiYgJHtjb3VudGVyfS5yZXF1aXJlZH1cIiBbdGV4dENvbnRlbnRdPVwiJHtjb3VudGVyfS5kaXNwbGF5bmFtZVwiPiA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJHtjb3VudGVyfS5kaXNwbGF5bmFtZSA/ICR7cENvdW50ZXJ9Ll93aWRnZXRDbGFzcyA6ICcke2NvbnRyb2xMYXlvdXR9J1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNvbnRyb2wtc3RhdGljIGFwcC1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIiR7cENvdW50ZXJ9LmlzVXBkYXRlTW9kZSB8fCAke2NvdW50ZXJ9LnZpZXdtb2Rld2lkZ2V0ID09PSAnZGVmYXVsdCcgfHwgJHtjb3VudGVyfS53aWRnZXR0eXBlID09PSAndXBsb2FkJ1wiIFtpbm5lckhUTUxdPVwiJHtnZXRDYXB0aW9uQnlXaWRnZXQoYXR0cnMsIHdpZGdldFR5cGUsIGNvdW50ZXIpfVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtnZXRUZW1wbGF0ZShhdHRycywgd2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzSW5MaXN0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKCR7Y291bnRlcn0uc2hvd1BlbmRpbmdTcGlubmVyKXsgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJmb3JtLWZpZWxkLXNwaW5uZXIgZmEgZmEtY2lyY2xlLW8tbm90Y2ggZmEtc3BpbiBmb3JtLWNvbnRyb2wtZmVlZGJhY2tcIj48L3NwYW4+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoISgke2NvdW50ZXJ9Ll9jb250cm9sPy5pbnZhbGlkICYmICR7Y291bnRlcn0uX2NvbnRyb2w/LnRvdWNoZWQpICYmICR7cENvdW50ZXJ9LmlzVXBkYXRlTW9kZSl7IDxwIGNsYXNzPVwiaGVscC1ibG9ja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIFt0ZXh0Q29udGVudF09XCIke2NvdW50ZXJ9LmhpbnRcIj48L3A+IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHt2YWxpZGF0aW9uTXNnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgfSxcbiAgICAgICAgcG9zdDogKCkgPT4gYDwvJHt0YWdOYW1lfT5gLFxuICAgICAgICBwcm92aWRlOiAoYXR0cnMsIHNoYXJlZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBwcm92aWRlci5zZXQoJ2Zvcm1fcmVmZXJlbmNlJywgc2hhcmVkLmdldCgnY291bnRlcicpKTtcbiAgICAgICAgICAgIHJldHVybiBwcm92aWRlcjtcbiAgICAgICAgfSxcbiAgICAgICAgaW1wb3J0czogKGF0dHJzOiBNYXA8U3RyaW5nLCBTdHJpbmc+KTogc3RyaW5nW10gPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVxdWlyZWRXaWRnZXQgPSBnZXRSZXF1aXJlZEZvcm1XaWRnZXQoYXR0cnMuZ2V0KCdfX3dpZGdldFR5cGUnKSB8fCBhdHRycy5nZXQoJ3R5cGUnKSk7XG4gICAgICAgICAgICBhdHRycy5kZWxldGUoJ19fd2lkZ2V0VHlwZScpO1xuICAgICAgICAgICAgcmV0dXJuIFtyZXF1aXJlZFdpZGdldCwgJ3dtLWZvcm0nXTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuXG5yZWdpc3Rlcignd20tZm9ybS1maWVsZCcsIHJlZ2lzdGVyRm9ybUZpZWxkLmJpbmQodGhpcywgdHJ1ZSkpO1xucmVnaXN0ZXIoJ3dtLWZpbHRlci1maWVsZCcsIHJlZ2lzdGVyRm9ybUZpZWxkLmJpbmQodGhpcywgZmFsc2UpKTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9kYXRhL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUNILGNBQWMsRUFDZCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixXQUFXLEVBQ2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFNUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2hDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM1QixLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUMxQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLEdBQUcsS0FBSyxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsS0FBSyxHQUFHLHlCQUF5QixLQUFLLEVBQUUsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLElBQUksR0FBRyxLQUFLLFlBQVksRUFBRSxDQUFDO2dCQUM5QixLQUFLLEdBQUcsd0JBQXdCLEtBQUssRUFBRSxDQUFDO1lBQzVDLENBQUM7WUFDRCxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNqQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRixDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9GLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzlFLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDaEQsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEYsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDOUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDNUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEYsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztDQUNwRCxDQUFDLENBQUM7QUFFSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN2RCxNQUFNLElBQUksR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVELElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsSUFBSSxXQUFXLElBQUksV0FBVyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3BDLE9BQU87SUFDWCxDQUFDO0lBQ0QsV0FBVyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNkLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3pDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNyQixJQUFHLE9BQU8sQ0FBQyxVQUFVLEtBQUssZUFBZSxFQUFFLENBQUM7UUFDeEMsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RCLFdBQVcsSUFBSSxHQUFHLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixTQUFTLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsT0FBTyxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUM3TCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BILE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDL0QsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLE9BQU8sQ0FBQyxRQUFRLG9CQUFvQixPQUFPLENBQUMsT0FBTyxrQ0FBa0MsV0FBVyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksZ0JBQWdCLElBQUksT0FBTyxJQUFJLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxnQkFBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQSxDQUFDLENBQUEsRUFBRSxFQUFFLENBQUU7SUFDeFIsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7QUFDakksQ0FBQyxDQUFDO0FBR0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQy9FLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTSxDQUFDO0lBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE9BQU8saUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUMvQixPQUFPLGVBQWUsV0FBVyxLQUFLLGlCQUFpQixDQUFDLEtBQUssRUFBRSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxDQUFDOzhCQUNqRixXQUFXLEtBQUssaUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQyxRQUFRLENBQUM7QUFDL0ksQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDdEQsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLE9BQU8sR0FBRyxPQUFPLG1CQUFtQixDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksT0FBTyxHQUFHLEdBQUcsT0FBTyxRQUFRLENBQUM7SUFDakMsSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLFFBQVEsSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BGLE9BQU8sSUFBSSxhQUFhLE9BQU8sb0RBQW9ELENBQUM7UUFDcEYsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksVUFBVSxLQUFLLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksYUFBYSxPQUFPLHNDQUFzQyxDQUFDO1FBQ3RFLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckMsT0FBTyxJQUFJLGFBQWEsT0FBTywyQ0FBMkMsQ0FBQztRQUMzRSxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLE1BQU0sSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9FLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEUsT0FBTyxHQUFHLE9BQU8sbUJBQW1CLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sR0FBRyxPQUFPLGVBQWUsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsV0FBVyxFQUFpQixFQUFFO0lBQ3JELE9BQU87UUFDSCxRQUFRLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUM7UUFDaEUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUN6RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxJQUFJLGNBQWMsSUFBSSxZQUFZLENBQUM7WUFDNUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDO1lBQ3BFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQztZQUM5RCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQzdELE1BQU0sbUJBQW1CLEdBQUcscUJBQXFCLEdBQUcsWUFBWSxFQUFFLENBQUM7WUFDbkUsTUFBTSxhQUFhLEdBQUcsUUFBUSxPQUFPLHlCQUF5QixPQUFPLHlCQUF5QixRQUFRO2dLQUM4QyxPQUFPLDJCQUEyQixtQkFBbUI7OEZBQ3ZILE9BQU87d0RBQzdDLENBQUM7WUFDN0MsTUFBTSxVQUFVLEdBQUcsVUFBVSxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEYsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDO1lBQ2xDLE1BQU0sUUFBUSxHQUFHLFFBQVEsS0FBSyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztZQUN0RixLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDakQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUUvQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ25DLHFCQUFxQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLHFCQUFxQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUVELE9BQU8sSUFBSSxPQUFPLGVBQWUsUUFBUSxrQkFBa0IsUUFBUSwyQ0FBMkMsT0FBTyw4QkFBOEIsVUFBVSxLQUFLLGlCQUFpQixDQUFDLEtBQUssQ0FBQztvR0FDbEcsUUFBUSwrQkFBK0IsVUFBVTtnREFDckcsT0FBTyxrRUFBa0UsUUFBUTs2REFDcEUsUUFBUSw2Q0FBNkMsT0FBTyx5QkFBeUIsT0FBTyx5QkFBeUIsUUFBUTtxREFDckksUUFBUSxvQkFBb0IsT0FBTyw4QkFBOEIsT0FBTzs4Q0FDL0UsT0FBTyxrQkFBa0IsUUFBUSxvQkFBb0IsYUFBYTs7bURBRTdELFFBQVEsb0JBQW9CLE9BQU8sb0NBQW9DLE9BQU8sMENBQTBDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDO2tDQUN2TCxXQUFXLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7c0NBQ25FLE9BQU87d0NBQ0wsT0FBTyx5QkFBeUIsT0FBTywwQkFBMEIsUUFBUSwyR0FBMkcsT0FBTztrQ0FDak0sYUFBYTs7K0JBRWhCLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLE9BQU8sR0FBRztRQUMzQixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUMzQixRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0RCxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsS0FBMEIsRUFBWSxFQUFFO1lBQzlDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRSxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6RCxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRTdCLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLFVBQVUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQzFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUVELE9BQU8sQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDdkQsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixRQUFRLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM5RCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRWpFLGVBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRGb3JtTWFya3VwQXR0ciwgSUJ1aWxkVGFza0RlZiwgcmVnaXN0ZXJ9IGZyb20gJ0B3bS90cmFuc3BpbGVyJztcbmltcG9ydCB7XG4gICAgRm9ybVdpZGdldFR5cGUsXG4gICAgZ2VuZXJhdGVHVUlkLFxuICAgIGdldEZvcm1XaWRnZXRUZW1wbGF0ZSxcbiAgICBnZXRSZXF1aXJlZEZvcm1XaWRnZXQsXG4gICAgSURHZW5lcmF0b3Jcbn0gZnJvbSAnQHdtL2NvcmUnO1xuXG5pbXBvcnQge0FMTEZJRUxEUywgaXNEYXRhU2V0V2lkZ2V0fSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlscyc7XG5cbmNvbnN0IHRhZ05hbWUgPSAnZGl2JztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCdmb3JtZmllbGRfJyk7XG5cbmNvbnN0IGdldEV2ZW50c1RlbXBsYXRlID0gKGF0dHJzKSA9PiB7XG4gICAgY29uc3QgZXZlbnRBdHRycyA9IG5ldyBNYXAoKTtcbiAgICBpZiAoIWF0dHJzLmhhcygnZm9jdXMuZXZlbnQnKSkge1xuICAgICAgICBhdHRycy5zZXQoJ2ZvY3VzLmV2ZW50JywgJycpO1xuICAgIH1cbiAgICBpZiAoIWF0dHJzLmhhcygnYmx1ci5ldmVudCcpKSB7XG4gICAgICAgIGF0dHJzLnNldCgnYmx1ci5ldmVudCcsICcnKTtcbiAgICB9XG4gICAgYXR0cnMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgIGlmIChrZXkuZW5kc1dpdGgoJy5ldmVudCcpKSB7XG4gICAgICAgICAgIGlmIChrZXkgPT09ICdmb2N1cy5ldmVudCcpIHtcbiAgICAgICAgICAgICAgIHZhbHVlID0gYF9vbkZvY3VzRmllbGQoJGV2ZW50KTske3ZhbHVlfWA7XG4gICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnYmx1ci5ldmVudCcpIHtcbiAgICAgICAgICAgICAgIHZhbHVlID0gYF9vbkJsdXJGaWVsZCgkZXZlbnQpOyR7dmFsdWV9YDtcbiAgICAgICAgICAgfVxuICAgICAgICAgICBldmVudEF0dHJzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgYXR0cnMuZGVsZXRlKGtleSk7XG4gICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBnZXRGb3JtTWFya3VwQXR0cihldmVudEF0dHJzKTtcbn07XG5cbmNvbnN0IERFRkFVTFRfUExBQ0VIT0xERVJTID0gbmV3IE1hcChbXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlNFTEVDVCwgWydTZWxlY3QgTWluIHZhbHVlJywgJ1NlbGVjdCBNYXggdmFsdWUnLCAnU2VsZWN0IHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5EQVRFVElNRSwgWydTZWxlY3QgTWluIGRhdGUgdGltZScsICdTZWxlY3QgTWF4IGRhdGUgdGltZScsICdTZWxlY3QgZGF0ZSB0aW1lJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5USU1FLCBbJ1NlbGVjdCBNaW4gdGltZScsICdTZWxlY3QgTWF4IHRpbWUnLCAnU2VsZWN0IHRpbWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkRBVEUsIFsnU2VsZWN0IE1pbiBkYXRlJywgJ1NlbGVjdCBNYXggZGF0ZScsICdTZWxlY3QgZGF0ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVEVYVEFSRUEsIFsnJywgJycsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuUklDSFRFWFQsIFsnJywgJycsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQ09MT1JQSUNLRVIsIFsnU2VsZWN0IENvbG9yJywgJ1NlbGVjdCBDb2xvcicsICdTZWxlY3QgQ29sb3InXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkNISVBTLCBbJycsICcnLCAnVHlwZSBoZXJlLi4uJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5QQVNTV09SRCwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5OVU1CRVIsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVEVYVCwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5DVVJSRU5DWSwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5BVVRPQ09NUExFVEUsIFsnJywgJycsICdTZWFyY2gnXV0sXG5dKTtcblxuY29uc3Qgc2V0RGVmYXVsdFBsYWNlaG9sZGVyID0gKGF0dHJzLCB3aWRnZXRUeXBlLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHByb3AgPSBpbmRleCA9PT0gMSA/ICdtYXhwbGFjZWhvbGRlcicgOiAncGxhY2Vob2xkZXInO1xuICAgIGxldCBwbGFjZWhvbGRlciA9IGF0dHJzLmdldChwcm9wKTtcbiAgICBpZiAocGxhY2Vob2xkZXIgfHwgcGxhY2Vob2xkZXIgPT09ICcnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcGxhY2Vob2xkZXIgPSBERUZBVUxUX1BMQUNFSE9MREVSUy5nZXQod2lkZ2V0VHlwZSkgJiYgREVGQVVMVF9QTEFDRUhPTERFUlMuZ2V0KHdpZGdldFR5cGUpW2luZGV4XTtcbiAgICBpZiAocGxhY2Vob2xkZXIpIHtcbiAgICAgICAgYXR0cnMuc2V0KHByb3AsIHBsYWNlaG9sZGVyKTtcbiAgICB9XG59O1xuXG5jb25zdCBnZXRXaWRnZXRUZW1wbGF0ZSA9IChhdHRycywgb3B0aW9ucykgPT4ge1xuICAgIGxldCBjdXN0b21BdHRycyA9IGBgO1xuICAgIGlmKG9wdGlvbnMud2lkZ2V0VHlwZSA9PT0gXCJjdXN0b20td2lkZ2V0XCIpIHtcbiAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIGF0dHJzKSB7XG4gICAgICAgICAgICBpZihrZXkuc3RhcnRzV2l0aCgncHJvcC0nKSlcbiAgICAgICAgICAgICAgICBjdXN0b21BdHRycyArPSBrZXkgKyAnPVwiJyArIHZhbHVlICsgJ1wiICc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IGF0dHJzLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGN1c3RvbVdpZGdldE5hbWUgPSBhdHRycy5nZXQoJ3dpZGdldG5hbWUnKTtcbiAgICBjb25zdCBmaWVsZE5hbWUgPSAoYXR0cnMuZ2V0KCdrZXknKSB8fCBuYW1lIHx8ICcnKS50cmltKCk7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSBvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYGZvcm1Db250cm9sTmFtZT1cIiR7ZmllbGROYW1lfV9tYXhcImAgOiAob3B0aW9ucy5pc0luTGlzdCA/IGBbZm9ybUNvbnRyb2xOYW1lXT1cIiR7b3B0aW9ucy5jb3VudGVyfS5fZmllbGROYW1lXCJgIDogYGZvcm1Db250cm9sTmFtZT1cIiR7ZmllbGROYW1lfVwiYCk7XG4gICAgY29uc3QgdG1wbFJlZiA9IG9wdGlvbnMuaXNNYXhXaWRnZXQgPyBgI2Zvcm1XaWRnZXRNYXhgIDogYCNmb3JtV2lkZ2V0YDtcbiAgICBjb25zdCB3aWRnZXROYW1lID0gbmFtZSA/IChvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYG5hbWU9XCIke25hbWV9X2Zvcm1XaWRnZXRNYXhcImAgOiBgbmFtZT1cIiR7bmFtZX1fZm9ybVdpZGdldFwiYCkgOiAnJztcbiAgICBjb25zdCBjb25kaXRpb25hbENsYXNzID0gYFtuZ0NsYXNzXT1cIiR7YXR0cnMuZ2V0KCduZ2NsYXNzJyl9XCJgO1xuICAgIGNvbnN0IGRlZmF1bHRUbXBsID0gYFtjbGFzcy5oaWRkZW5dPVwiISR7b3B0aW9ucy5wQ291bnRlcn0uaXNVcGRhdGVNb2RlICYmICR7b3B0aW9ucy5jb3VudGVyfS52aWV3bW9kZXdpZGdldCAhPT0gJ2RlZmF1bHQnXCIgJHtmb3JtQ29udHJvbH0gJHtvcHRpb25zLmV2ZW50c1RtcGx9ICR7Y29uZGl0aW9uYWxDbGFzc30gJHt0bXBsUmVmfSAke3dpZGdldE5hbWV9ICR7Y3VzdG9tV2lkZ2V0TmFtZSA/IGB3aWRnZXRuYW1lPSR7Y3VzdG9tV2lkZ2V0TmFtZX0gJHtjdXN0b21BdHRyc31gOicnfWAgO1xuICAgIHJldHVybiBnZXRGb3JtV2lkZ2V0VGVtcGxhdGUob3B0aW9ucy53aWRnZXRUeXBlLCBkZWZhdWx0VG1wbCwgYXR0cnMsIHtjb3VudGVyOiBvcHRpb25zLmNvdW50ZXIsIHBDb3VudGVyOiBvcHRpb25zLnBDb3VudGVyfSk7XG59O1xuXG5cbmNvbnN0IGdldFRlbXBsYXRlID0gKGF0dHJzLCB3aWRnZXRUeXBlLCBldmVudHNUbXBsLCBjb3VudGVyLCBwQ291bnRlciwgaXNJbkxpc3QpID0+IHtcbiAgICBjb25zdCBpc1JhbmdlID0gYXR0cnMuZ2V0KCdpcy1yYW5nZScpID09PSAndHJ1ZSc7XG4gICAgaWYgKCFpc1JhbmdlKSB7XG4gICAgICAgIHJldHVybiBnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyLCBpc0luTGlzdH0pO1xuICAgIH1cbiAgICBjb25zdCBsYXlvdXRDbGFzcyA9ICdjb2wtc20tNic7XG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiJHtsYXlvdXRDbGFzc31cIj4ke2dldFdpZGdldFRlbXBsYXRlKGF0dHJzLCB7d2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXJ9KX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiJHtsYXlvdXRDbGFzc31cIj4ke2dldFdpZGdldFRlbXBsYXRlKGF0dHJzLCB7d2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzTWF4V2lkZ2V0OiB0cnVlfSl9PC9kaXY+YDtcbn07XG5cbmNvbnN0IGdldENhcHRpb25CeVdpZGdldCA9IChhdHRycywgd2lkZ2V0VHlwZSwgY291bnRlcikgPT4ge1xuICAgIGlmIChhdHRycy5nZXQoJ2lzLXJlbGF0ZWQnKSA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXREaXNwbGF5RXhwcigpYDtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlBBU1NXT1JEKSB7XG4gICAgICAgIHJldHVybiAnXFwnKioqKioqKipcXCcnO1xuICAgIH1cbiAgICBsZXQgY2FwdGlvbiA9IGAke2NvdW50ZXJ9LnZhbHVlYDtcbiAgICBpZiAod2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuREFURVRJTUUgfHwgd2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuVElNRVNUQU1QKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQuZGF0ZXBhdHRlcm4gfHwgJ3l5eXktTU0tZGQgaGg6bW06c3MgYSdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlRJTUUpIHtcbiAgICAgICAgY2FwdGlvbiArPSBgIHwgdG9EYXRlOiR7Y291bnRlcn0uZm9ybVdpZGdldC50aW1lcGF0dGVybiB8fCAnaGg6bW0gYSdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLkRBVEUpIHtcbiAgICAgICAgY2FwdGlvbiArPSBgIHwgdG9EYXRlOiR7Y291bnRlcn0uZm9ybVdpZGdldC5kYXRlcGF0dGVybiB8fCAgJ3l5eXktTU1NLWRkJ2A7XG4gICAgICAgIHJldHVybiBjYXB0aW9uO1xuICAgIH1cbiAgICBpZiAod2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuUkFUSU5HIHx8IHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlVQTE9BRCkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChpc0RhdGFTZXRXaWRnZXQod2lkZ2V0VHlwZSkgJiYgYXR0cnMuZ2V0KCdkYXRhZmllbGQnKSA9PT0gQUxMRklFTERTKSB7XG4gICAgICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXREaXNwbGF5RXhwcigpYDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2NvdW50ZXJ9LmdldENhcHRpb24oKWA7XG59O1xuXG5jb25zdCByZWdpc3RlckZvcm1GaWVsZCA9IChpc0Zvcm1GaWVsZCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVzOiBbJ3dtLWZvcm0nLCAnd20tbGl2ZWZvcm0nLCAnd20tbGl2ZWZpbHRlcicsICd3bS1saXN0J10sXG4gICAgICAgIHByZTogKGF0dHJzLCBzaGFyZWQsIHBhcmVudEZvcm0sIHBhcmVudExpdmVGb3JtLCBwYXJlbnRGaWx0ZXIsIHBhcmVudExpc3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBwYXJlbnRGb3JtIHx8IHBhcmVudExpdmVGb3JtIHx8IHBhcmVudEZpbHRlcjtcbiAgICAgICAgICAgIGNvbnN0IHBDb3VudGVyID0gKHBhcmVudCAmJiBwYXJlbnQuZ2V0KCdmb3JtX3JlZmVyZW5jZScpKSB8fCAnZm9ybSc7XG4gICAgICAgICAgICBjb25zdCB3aWRnZXRUeXBlID0gYXR0cnMuZ2V0KCd3aWRnZXQnKSB8fCBGb3JtV2lkZ2V0VHlwZS5URVhUO1xuICAgICAgICAgICAgY29uc3QgZGF0YVJvbGUgPSBpc0Zvcm1GaWVsZCA/ICdmb3JtLWZpZWxkJyA6ICdmaWx0ZXItZmllbGQnO1xuICAgICAgICAgICAgY29uc3QgZm9ybUZpZWxkRXJyb3JNc2dJZCA9ICd3bWZvcm0tZmllbGQtZXJyb3ItJyArIGdlbmVyYXRlR1VJZCgpO1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvbk1zZyA9IGBAaWYgKCR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCAmJiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoZWxwLWJsb2NrIHRleHQtZGFuZ2VyXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJHtjb3VudGVyfS52YWxpZGF0aW9ubWVzc2FnZVwiIGlkPVwiJHtmb3JtRmllbGRFcnJvck1zZ0lkfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFt0ZXh0Q29udGVudF09XCIke2NvdW50ZXJ9LnZhbGlkYXRpb25tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+fWA7XG4gICAgICAgICAgICBjb25zdCBldmVudHNUbXBsID0gd2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuVVBMT0FEID8gJycgOiBnZXRFdmVudHNUZW1wbGF0ZShhdHRycyk7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sTGF5b3V0ID0gJ2NvbC1zbS0xMic7XG4gICAgICAgICAgICBjb25zdCBpc0luTGlzdCA9IHBDb3VudGVyID09PSAocGFyZW50TGlzdCAmJiBwYXJlbnRMaXN0LmdldCgncGFyZW50X2Zvcm1fcmVmZXJlbmNlJykpO1xuICAgICAgICAgICAgYXR0cnMuc2V0KCdfX3ZhbGlkYXRpb25JZCcsIGZvcm1GaWVsZEVycm9yTXNnSWQpO1xuICAgICAgICAgICAgYXR0cnMuc2V0KCdfX3dpZGdldFR5cGUnLCB3aWRnZXRUeXBlKTtcbiAgICAgICAgICAgIGF0dHJzLmRlbGV0ZSgnd2lkZ2V0Jyk7XG4gICAgICAgICAgICBzaGFyZWQuc2V0KCdjb3VudGVyJywgY291bnRlcik7XG5cbiAgICAgICAgICAgIGlmIChhdHRycy5nZXQoJ2lzLXJhbmdlJykgPT09ICd0cnVlJykge1xuICAgICAgICAgICAgICAgIHNldERlZmF1bHRQbGFjZWhvbGRlcihhdHRycywgd2lkZ2V0VHlwZSwgMCk7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBsYWNlaG9sZGVyKGF0dHJzLCB3aWRnZXRUeXBlLCAxKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBsYWNlaG9sZGVyKGF0dHJzLCB3aWRnZXRUeXBlLCAyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGA8JHt0YWdOYW1lfSBkYXRhLXJvbGU9XCIke2RhdGFSb2xlfVwiIFtmb3JtR3JvdXBdPVwiJHtwQ291bnRlcn0ubmdmb3JtXCIgd21Gb3JtRmllbGQgd21DYXB0aW9uUG9zaXRpb24gIyR7Y291bnRlcn09XCJ3bUZvcm1GaWVsZFwiIHdpZGdldHR5cGU9XCIke3dpZGdldFR5cGV9XCIgJHtnZXRGb3JtTWFya3VwQXR0cihhdHRycyl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpdmUtZmllbGQgZm9ybS1ncm91cCBhcHAtY29tcG9zaXRlLXdpZGdldCBjbGVhcmZpeCBjYXB0aW9uLXt7JHtwQ291bnRlcn0uY2FwdGlvbnBvc2l0aW9ufX1cIiB3aWRnZXQ9XCIke3dpZGdldFR5cGV9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtoaWRkZW5dPVwiISR7Y291bnRlcn0uZGlzcGxheW5hbWVcIiBjbGFzcz1cImFwcC1sYWJlbCBjb250cm9sLWxhYmVsIGZvcm1maWVsZC1sYWJlbCB7eyR7cENvdW50ZXJ9Ll9jYXB0aW9uQ2xhc3N9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie3dpZHRoOiAke3BDb3VudGVyfS5jYXB0aW9uc2l6ZX1cIiBbbmdDbGFzc109XCJ7J3RleHQtZGFuZ2VyJzogJHtjb3VudGVyfS5fY29udHJvbD8uaW52YWxpZCAmJiAke2NvdW50ZXJ9Ll9jb250cm9sPy50b3VjaGVkICYmICR7cENvdW50ZXJ9LmlzVXBkYXRlTW9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICR7cENvdW50ZXJ9LmlzVXBkYXRlTW9kZSAmJiAke2NvdW50ZXJ9LnJlcXVpcmVkfVwiIFt0ZXh0Q29udGVudF09XCIke2NvdW50ZXJ9LmRpc3BsYXluYW1lXCI+IDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCIke2NvdW50ZXJ9LmRpc3BsYXluYW1lID8gJHtwQ291bnRlcn0uX3dpZGdldENsYXNzIDogJyR7Y29udHJvbExheW91dH0nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY29udHJvbC1zdGF0aWMgYXBwLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlIHx8ICR7Y291bnRlcn0udmlld21vZGV3aWRnZXQgPT09ICdkZWZhdWx0JyB8fCAke2NvdW50ZXJ9LndpZGdldHR5cGUgPT09ICd1cGxvYWQnXCIgW2lubmVySFRNTF09XCIke2dldENhcHRpb25CeVdpZGdldChhdHRycywgd2lkZ2V0VHlwZSwgY291bnRlcil9XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2dldFRlbXBsYXRlKGF0dHJzLCB3aWRnZXRUeXBlLCBldmVudHNUbXBsLCBjb3VudGVyLCBwQ291bnRlciwgaXNJbkxpc3QpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoJHtjb3VudGVyfS5zaG93UGVuZGluZ1NwaW5uZXIpeyA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImZvcm0tZmllbGQtc3Bpbm5lciBmYSBmYS1jaXJjbGUtby1ub3RjaCBmYS1zcGluIGZvcm0tY29udHJvbC1mZWVkYmFja1wiPjwvc3Bhbj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZighKCR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCkgJiYgJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlKXsgPHAgY2xhc3M9XCJoZWxwLWJsb2NrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCIgW3RleHRDb250ZW50XT1cIiR7Y291bnRlcn0uaGludFwiPjwvcD4gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ZhbGlkYXRpb25Nc2d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gO1xuICAgICAgICB9LFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmAsXG4gICAgICAgIHByb3ZpZGU6IChhdHRycywgc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIHByb3ZpZGVyLnNldCgnZm9ybV9yZWZlcmVuY2UnLCBzaGFyZWQuZ2V0KCdjb3VudGVyJykpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICB9LFxuICAgICAgICBpbXBvcnRzOiAoYXR0cnM6IE1hcDxTdHJpbmcsIFN0cmluZz4pOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3aWRnZXRUeXBlID0gYXR0cnMuZ2V0KCdfX3dpZGdldFR5cGUnKSB8fCBhdHRycy5nZXQoJ3R5cGUnKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkV2lkZ2V0ID0gZ2V0UmVxdWlyZWRGb3JtV2lkZ2V0KHdpZGdldFR5cGUpO1xuICAgICAgICAgICAgYXR0cnMuZGVsZXRlKCdfX3dpZGdldFR5cGUnKTtcblxuICAgICAgICAgICAgbGV0IHBpcGVJbXBvcnRzID0gW107XG4gICAgICAgICAgICBpZiAod2lkZ2V0VHlwZSAmJiBbRm9ybVdpZGdldFR5cGUuREFURSwgRm9ybVdpZGdldFR5cGUuREFURVRJTUUsIEZvcm1XaWRnZXRUeXBlLlRJTUUsIEZvcm1XaWRnZXRUeXBlLlRJTUVTVEFNUF0uaW5jbHVkZXMod2lkZ2V0VHlwZSBhcyBhbnkpKSB7XG4gICAgICAgICAgICAgICAgcGlwZUltcG9ydHMucHVzaCgndG9EYXRlJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBbcmVxdWlyZWRXaWRnZXQsICd3bS1mb3JtJywgLi4ucGlwZUltcG9ydHNdO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbnJlZ2lzdGVyKCd3bS1mb3JtLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCB0cnVlKSk7XG5yZWdpc3Rlcignd20tZmlsdGVyLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCBmYWxzZSkpO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==
@@ -144,6 +144,13 @@ const buildTask = (directiveAttr = '') => {
144
144
  const provider = new Map();
145
145
  provider.set('form_reference', shared.get('counter'));
146
146
  return provider;
147
+ },
148
+ imports: (attrs) => {
149
+ const formlayout = attrs.get('formlayout');
150
+ if (formlayout === 'dialog') {
151
+ return ['wm-dialog'];
152
+ }
153
+ return [];
147
154
  }
148
155
  };
149
156
  };
@@ -151,4 +158,4 @@ register('wm-form', buildTask);
151
158
  register('wm-liveform', () => buildTask('wmLiveForm'));
152
159
  register('wm-livefilter', () => buildTask('wmLiveFilter'));
153
160
  export default () => { };
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9kYXRhL2Zvcm0vZm9ybS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBaUIsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRXZDLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3hCLFNBQVM7SUFDVCxhQUFhO0lBQ2IsYUFBYTtJQUNiLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLFdBQVc7SUFDWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixTQUFTO0lBQ1QsU0FBUztJQUNULGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVztJQUNYLGFBQWE7SUFDYixXQUFXO0lBQ1gsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixVQUFVO0NBQ2IsQ0FBQyxDQUFDO0FBRUgsSUFBSSxjQUFjLENBQUM7QUFFbkIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFFBQVEsR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3pCLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUNyQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxD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RSxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQy9CLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDdkQsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUUzRCxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcblxuaW1wb3J0IHsgZ2V0QXR0ck1hcmt1cCwgSUJ1aWxkVGFza0RlZiwgcmVnaXN0ZXIsIGdldERhdGFTb3VyY2UgfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQgeyBJREdlbmVyYXRvciB9IGZyb20gJ0B3bS9jb3JlJztcblxuY29uc3QgdGFnTmFtZSA9ICdmb3JtJztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCdmb3JtXycpO1xuXG5jb25zdCBmb3JtV2lkZ2V0cyA9IG5ldyBTZXQoW1xuICAgICd3bS10ZXh0JyxcbiAgICAnd20tdGV4dGFyZWEnLFxuICAgICd3bS1jaGVja2JveCcsXG4gICAgJ3dtLXNsaWRlcicsXG4gICAgJ3dtLXJpY2h0ZXh0ZWRpdG9yJyxcbiAgICAnd20tY3VycmVuY3knLFxuICAgICd3bS1zd2l0Y2gnLFxuICAgICd3bS1zZWxlY3QnLFxuICAgICd3bS1jaGVja2JveHNldCcsXG4gICAgJ3dtLXJhZGlvc2V0JyxcbiAgICAnd20tZGF0ZScsXG4gICAgJ3dtLXRpbWUnLFxuICAgICd3bS10aW1lc3RhbXAnLFxuICAgICd3bS11cGxvYWQnLFxuICAgICd3bS1yYXRpbmcnLFxuICAgICd3bS1kYXRldGltZScsXG4gICAgJ3dtLXNlYXJjaCcsXG4gICAgJ3dtLWNoaXBzJyxcbiAgICAnd20tY29sb3JwaWNrZXInLFxuICAgICd3bS10YWJsZSdcbl0pO1xuXG5sZXQgbnVtYmVyT2ZGaWVsZHM7XG5cbmNvbnN0IGFkZEZvcm1Db250cm9sTmFtZSA9IChjaGlsZHJlbiA9IFtdKSA9PiB7XG4gICAgY2hpbGRyZW4uZm9yRWFjaChjaGlsZE5vZGUgPT4ge1xuICAgICAgICBpZiAoY2hpbGROb2RlLm5hbWUgPT09ICd3bS1mb3JtLWZpZWxkJykge1xuICAgICAgICAgICAgbnVtYmVyT2ZGaWVsZHMrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybVdpZGdldHMuaGFzKGNoaWxkTm9kZS5uYW1lKSkge1xuICAgICAgICAgICAgbGV0IGtleSA9IGNoaWxkTm9kZS5hdHRycy5maW5kKChhdHRyKSA9PiBhdHRyLm5hbWUgPT09ICdrZXknIHx8IGF0dHIubmFtZSA9PT0gJ25hbWUnKTtcbiAgICAgICAgICAgIGtleSA9IGtleSAmJiBrZXkudmFsdWU7XG4gICAgICAgICAgICBpZiAoIWtleSkge1xuICAgICAgICAgICAgICAgIC8vIGZvciBjaGVja2JveCBpbnNpZGUgdGFibGUgaW5zaWRlIGZvcm0sIGtleSBhbmQgbmFtZSBhdHRycyBhcmUgbm90IGF2YWlsYWJsZS4gVXNpbmcgZGF0YXZhbHVlIHRvIGNvbnN0cnVjdCBmb3JtQ29udHJvbE5hbWUgaW5zdGVhZC5cbiAgICAgICAgICAgICAgICBsZXQgZGF0YVZhbHVlID0gY2hpbGROb2RlLmF0dHJzLmZpbmQoKGF0dHIpID0+IGF0dHIubmFtZSA9PT0gJ2RhdGF2YWx1ZScpO1xuICAgICAgICAgICAgICAgIGlmIChkYXRhVmFsdWUgJiYgZGF0YVZhbHVlLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gL1xcKCguKilcXCkvO1xuICAgICAgICAgICAgICAgICAgICBkYXRhVmFsdWUgPSBkYXRhVmFsdWUudmFsdWUubWF0Y2gocmVnZXgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVZhbHVlICYmIGRhdGFWYWx1ZS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSBkYXRhVmFsdWVbMV0ucmVwbGFjZSgvW1wiJ10vZywgJycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hpbGROb2RlLmF0dHJzLnB1c2gobmV3IEF0dHJpYnV0ZSgnZm9ybUNvbnRyb2xOYW1lJywga2V5LCA8YW55PjEsIDxhbnk+MSwgPGFueT4xLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkpO1xuICAgICAgICAgICAgY2hpbGROb2RlLmF0dHJzLnB1c2gobmV3IEF0dHJpYnV0ZSgnd21Gb3JtV2lkZ2V0JywgJycsIDxhbnk+MSwgPGFueT4xLCA8YW55PjEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKSk7XG4gICAgICAgIH1cbiAgICAgICAgYWRkRm9ybUNvbnRyb2xOYW1lKGNoaWxkTm9kZS5jaGlsZHJlbik7XG4gICAgfSk7XG59O1xuXG5jb25zdCB1cGRhdGVGb3JtRGF0YVNvdXJjZSA9IChhdHRyTWFwKSA9PiB7XG4gICAgaWYgKGF0dHJNYXAuZ2V0KCdmb3JtZGF0YS5iaW5kJykpIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGFTb3VyY2UgPSBnZXREYXRhU291cmNlKGF0dHJNYXAuZ2V0KCdmb3JtZGF0YS5iaW5kJykpO1xuICAgICAgICBpZiAoZm9ybURhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIGF0dHJNYXAuc2V0KCdmb3JtZGF0YXNvdXJjZS5iaW5kJywgZm9ybURhdGFTb3VyY2UpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuY29uc3QgYnVpbGRUYXNrID0gKGRpcmVjdGl2ZUF0dHIgPSAnJyk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVzOiBbJ3dtLWxpdmV0YWJsZScsICd3bS1sb2dpbiddLFxuICAgICAgICB0ZW1wbGF0ZTogKG5vZGU6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICBudW1iZXJPZkZpZWxkcyA9IDA7XG4gICAgICAgICAgICBhZGRGb3JtQ29udHJvbE5hbWUobm9kZS5jaGlsZHJlbik7XG4gICAgICAgIH0sXG4gICAgICAgIHByZTogKGF0dHJzLCBzaGFyZWQsIHBhcmVudExpdmVUYWJsZSwgcGFyZW50TG9naW5XaWRnZXQpID0+IHtcbiAgICAgICAgICAgIGxldCB0bXBsO1xuICAgICAgICAgICAgbGV0IGRpYWxvZ0lkO1xuICAgICAgICAgICAgY29uc3Qgcm9sZSA9IHBhcmVudExvZ2luV2lkZ2V0ICYmIHBhcmVudExvZ2luV2lkZ2V0LmdldCgnaXNMb2dpbicpID8gJ2FwcC1sb2dpbicgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICBjb25zdCBkZXBlbmRzT24gPSBhdHRycy5nZXQoJ2RlcGVuZHNvbicpID8gYGRlcGVuZHNvbj1cIiR7YXR0cnMuZ2V0KCdkZXBlbmRzb24nKX1cImAgOiAnJztcbiAgICAgICAgICAgIGlmKGRlcGVuZHNPbikge1xuICAgICAgICAgICAgICAgIGF0dHJzLnNldCgnZGVwZW5kc29udGFibGUnLCBhdHRycy5nZXQoJ2RlcGVuZHNvbicpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNsYXNzUHJvcCA9IGF0dHJzLmdldCgnZm9ybWxheW91dCcpID09PSAncGFnZScgPyAnYXBwLWRldmljZS1saXZlZm9ybSBwYW5lbCBsaXZlZm9ybS1pbmxpbmUnIDogJyc7XG4gICAgICAgICAgICBjb25zdCBkaWFsb2dBdHRyaWJ1dGVzID0gWyd0aXRsZScsICd0aXRsZS5iaW5kJywgJ2ljb25jbGFzcycsICdpY29uY2xhc3MuYmluZCcsICd3aWR0aCddO1xuICAgICAgICAgICAgYXR0cnMuZGVsZXRlKCdkZXBlbmRzb24nKTtcbiAgICAgICAgICAgIGNvbnN0IGxpdmVGb3JtVG1wbCA9IGA8JHt0YWdOYW1lfSB3bUZvcm0gZGF0YS1yb2xlPVwiJHtyb2xlfVwiICR7ZGlyZWN0aXZlQXR0cn0gIyR7Y291bnRlcn0gbmdOYXRpdmVWYWxpZGF0ZSBbZm9ybUdyb3VwXT1cIiR7Y291bnRlcn0ubmdmb3JtXCIgW25vVmFsaWRhdGVdPVwiJHtjb3VudGVyfS52YWxpZGF0aW9udHlwZSAhPT0gJ2h0bWwnXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCIke2NsYXNzUHJvcH1cIiBbY2xhc3NdPVwiJHtjb3VudGVyfS5jYXB0aW9uQWxpZ25DbGFzc1wiIFthdXRvY29tcGxldGVdPVwiJHtjb3VudGVyfS5hdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIiBjYXB0aW9ucG9zaXRpb249JHthdHRycy5nZXQoJ2NhcHRpb25wb3NpdGlvbicpfWA7XG4gICAgICAgICAgICBhdHRycy5zZXQoJ251bWJlck9mRmllbGRzJywgYCR7bnVtYmVyT2ZGaWVsZHN9YCk7XG4gICAgICAgICAgICBzaGFyZWQuc2V0KCdjb3VudGVyJywgY291bnRlcik7XG4gICAgICAgICAgICB1cGRhdGVGb3JtRGF0YVNvdXJjZShhdHRycyk7XG4gICAgICAgICAgICBpZiAoYXR0cnMuZ2V0KCdmb3JtbGF5b3V0JykgPT09ICdkaWFsb2cnKSB7XG4gICAgICAgICAgICAgICAgZGlhbG9nSWQgPSBwYXJlbnRMaXZlVGFibGUgPyBwYXJlbnRMaXZlVGFibGUuZ2V0KCdsaXZlZm9ybV9kaWFsb2dfaWQnKSA6IGBsaXZlZm9ybV9kaWFsb2dfaWRfJHtjb3VudGVyfWA7XG4gICAgICAgICAgICAgICAgYXR0cnMuc2V0KCdkaWFsb2dJZCcsIGRpYWxvZ0lkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWFsb2dBdHRyc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgICAgICAgICAgZGlhbG9nQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgaWYgKGF0dHJzLmdldChhdHRyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICBkaWFsb2dBdHRyc01hcC5zZXQoYXR0ciwgYXR0cnMuZ2V0KGF0dHIpKTtcbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXR0cnMuc2V0KCd3aWR0aCcsICcxMDAlJyk7XG4gICAgICAgICAgICAgICAgdG1wbCA9IGdldEF0dHJNYXJrdXAoYXR0cnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBgPGRpdiBkYXRhLWlkZW50aWZpZXI9XCJsaXZlZm9ybVwiIGluaXQtd2lkZ2V0IGNsYXNzPVwiYXBwLWxpdmVmb3JtIGxpdmVmb3JtLWRpYWxvZ1wiICR7ZGVwZW5kc09ufSBkaWFsb2dpZD1cIiR7ZGlhbG9nSWR9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB3bURpYWxvZyBjbGFzcz1cImFwcC1saXZlZm9ybS1kaWFsb2dcIiBuYW1lPVwiJHtkaWFsb2dJZH1cIiByb2xlPVwiZm9ybVwiICR7Z2V0QXR0ck1hcmt1cChkaWFsb2dBdHRyc01hcCl9IG1vZGFsPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlhbG9nQm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpdmVGb3JtVG1wbH0gJHt0bXBsfT5gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG1vYmlsZUZvcm1Db250ZW50VG1wbCA9ICcnO1xuICAgICAgICAgICAgbGV0IGJ1dHRvblRlbXBsYXRlID0gJyc7XG4gICAgICAgICAgICAvLyBJbmNsdWRlIG1vYmlsZS1uYXZiYXIgYWJvdmUgdGhlIGZvcm0gd2hlbiBmb3JtbGF5b3V0IGlzIHNldCB0byBwYWdlXG4gICAgICAgICAgICBpZiAoYXR0cnMuZ2V0KCdmb3JtbGF5b3V0JykgPT09ICdwYWdlJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBgZGV2aWNlX2xpdmVmb3JtX2hlYWRlcl8ke2NvdW50ZXJ9YDtcbiAgICAgICAgICAgICAgICBjb25zdCBuYXZiYXJBdHRyc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgICAgICAgICAgbmF2YmFyQXR0cnNNYXAuc2V0KCd0aXRsZScsIGF0dHJzLmdldCgndGl0bGUnKSk7XG4gICAgICAgICAgICAgICAgbmF2YmFyQXR0cnNNYXAuc2V0KCdiYWNrYnRuY2xpY2suZXZlbnQnLCBhdHRycy5nZXQoJ2JhY2tidG5jbGljay5ldmVudCcpKTtcbiAgICAgICAgICAgICAgICBidXR0b25UZW1wbGF0ZSA9IGA8bmctdGVtcGxhdGUgI2J1dHRvblJlZiBsZXQtYnRuPVwiYnRuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gIHdtQnV0dG9uIG5hbWU9XCJ7e2J0bi5rZXl9fVwiIGNsYXNzPVwibmF2YmFyLWJ0biBidG4tcHJpbWFyeSBidG4tdHJhbnNwYXJlbnRcIiBpY29uY2xhc3MuYmluZD1cImJ0bi5pY29uY2xhc3NcIiBzaG93LmJpbmQ9XCJidG4uc2hvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIke2NvdW50ZXJ9Lmludm9rZUFjdGlvbkV2ZW50KCRldmVudCwgYnRuLmFjdGlvbilcIiB0eXBlLmJpbmQ9XCJidG4udHlwZVwiIGhpbnQuYmluZD1cImJ0bi50aXRsZVwiIHNob3J0Y3V0a2V5LmJpbmQ9XCJidG4uc2hvcnRjdXRrZXlcIiBkaXNhYmxlZC5iaW5kPVwiYnRuLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXguYmluZD1cImJ0bi50YWJpbmRleFwiIFtjbGFzcy5oaWRkZW5dPVwiYnRuLnVwZGF0ZU1vZGUgPyAhJHtjb3VudGVyfS5pc1VwZGF0ZU1vZGUgOiAke2NvdW50ZXJ9LmlzVXBkYXRlTW9kZVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+YDtcbiAgICAgICAgICAgICAgICBtb2JpbGVGb3JtQ29udGVudFRtcGwgPSBgPGhlYWRlciB3bU1vYmlsZU5hdmJhciBuYW1lPVwiJHtuYW1lfVwiICR7Z2V0QXR0ck1hcmt1cChuYXZiYXJBdHRyc01hcCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidG4gb2YgJHtjb3VudGVyfS5idXR0b25BcnJheTsgdHJhY2sgYnRuOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25SZWZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntidG46YnRufVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldEluamVjdG9yXT1cIiR7Y291bnRlcn0uY3JlYXRlQ3VzdG9tSW5qZWN0b3IoJ21vYmlsZV8nICsgaSwge2l0ZW06aXRlbSwgaW5kZXg6aX0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWVsZW1lbnRzIHBhbmVsLWJvZHlcIiA+YDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG1wbCA9IGdldEF0dHJNYXJrdXAoYXR0cnMpO1xuICAgICAgICAgICAgY29uc3QgZGVwZW5kc09uVG1wbCA9IGRlcGVuZHNPbiA/IGA8ZGl2ICR7ZGVwZW5kc09ufT5gIDogJyc7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZGVwZW5kc09uVG1wbH0ke2xpdmVGb3JtVG1wbH0gJHt0bXBsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgJHtidXR0b25UZW1wbGF0ZX0gJHttb2JpbGVGb3JtQ29udGVudFRtcGx9YDtcbiAgICAgICAgfSxcbiAgICAgICAgcG9zdDogKGF0dHJzKSA9PiB7XG4gICAgICAgICAgICBpZiAoYXR0cnMuZ2V0KCdmb3JtbGF5b3V0JykgPT09ICdkaWFsb2cnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICc8L2Zvcm0+PC9uZy10ZW1wbGF0ZT48L2Rpdj48L2Rpdj4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGF0dHJzLmdldCgnZm9ybWxheW91dCcpID09PSAncGFnZScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYDwvZGl2PjwvJHt0YWdOYW1lfT5gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYoYXR0cnMuZ2V0KCdkZXBlbmRzb250YWJsZScpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8LyR7dGFnTmFtZX0+PC9kaXY+YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBgPC8ke3RhZ05hbWV9PmA7XG4gICAgICAgIH0sXG4gICAgICAgIHByb3ZpZGU6IChhdHRycywgc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIHByb3ZpZGVyLnNldCgnZm9ybV9yZWZlcmVuY2UnLCBzaGFyZWQuZ2V0KCdjb3VudGVyJykpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbnJlZ2lzdGVyKCd3bS1mb3JtJywgYnVpbGRUYXNrKTtcbnJlZ2lzdGVyKCd3bS1saXZlZm9ybScsICgpID0+IGJ1aWxkVGFzaygnd21MaXZlRm9ybScpKTtcbnJlZ2lzdGVyKCd3bS1saXZlZmlsdGVyJywgKCkgPT4gYnVpbGRUYXNrKCd3bUxpdmVGaWx0ZXInKSk7XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHt9O1xuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9kYXRhL2Zvcm0vZm9ybS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBaUIsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRXZDLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3hCLFNBQVM7SUFDVCxhQUFhO0lBQ2IsYUFBYTtJQUNiLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLFdBQVc7SUFDWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixTQUFTO0lBQ1QsU0FBUztJQUNULGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVztJQUNYLGFBQWE7SUFDYixXQUFXO0lBQ1gsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixVQUFVO0NBQ2IsQ0FBQyxDQUFDO0FBRUgsSUFBSSxjQUFjLENBQUM7QUFFbkIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFFBQVEsR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3pCLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUNyQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxD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RSxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLEtBQTBCLEVBQVksRUFBRTtZQUM5QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNDLElBQUksVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekIsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQy9CLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDdkQsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUUzRCxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcblxuaW1wb3J0IHsgZ2V0QXR0ck1hcmt1cCwgSUJ1aWxkVGFza0RlZiwgcmVnaXN0ZXIsIGdldERhdGFTb3VyY2UgfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQgeyBJREdlbmVyYXRvciB9IGZyb20gJ0B3bS9jb3JlJztcblxuY29uc3QgdGFnTmFtZSA9ICdmb3JtJztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCdmb3JtXycpO1xuXG5jb25zdCBmb3JtV2lkZ2V0cyA9IG5ldyBTZXQoW1xuICAgICd3bS10ZXh0JyxcbiAgICAnd20tdGV4dGFyZWEnLFxuICAgICd3bS1jaGVja2JveCcsXG4gICAgJ3dtLXNsaWRlcicsXG4gICAgJ3dtLXJpY2h0ZXh0ZWRpdG9yJyxcbiAgICAnd20tY3VycmVuY3knLFxuICAgICd3bS1zd2l0Y2gnLFxuICAgICd3bS1zZWxlY3QnLFxuICAgICd3bS1jaGVja2JveHNldCcsXG4gICAgJ3dtLXJhZGlvc2V0JyxcbiAgICAnd20tZGF0ZScsXG4gICAgJ3dtLXRpbWUnLFxuICAgICd3bS10aW1lc3RhbXAnLFxuICAgICd3bS11cGxvYWQnLFxuICAgICd3bS1yYXRpbmcnLFxuICAgICd3bS1kYXRldGltZScsXG4gICAgJ3dtLXNlYXJjaCcsXG4gICAgJ3dtLWNoaXBzJyxcbiAgICAnd20tY29sb3JwaWNrZXInLFxuICAgICd3bS10YWJsZSdcbl0pO1xuXG5sZXQgbnVtYmVyT2ZGaWVsZHM7XG5cbmNvbnN0IGFkZEZvcm1Db250cm9sTmFtZSA9IChjaGlsZHJlbiA9IFtdKSA9PiB7XG4gICAgY2hpbGRyZW4uZm9yRWFjaChjaGlsZE5vZGUgPT4ge1xuICAgICAgICBpZiAoY2hpbGROb2RlLm5hbWUgPT09ICd3bS1mb3JtLWZpZWxkJykge1xuICAgICAgICAgICAgbnVtYmVyT2ZGaWVsZHMrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybVdpZGdldHMuaGFzKGNoaWxkTm9kZS5uYW1lKSkge1xuICAgICAgICAgICAgbGV0IGtleSA9IGNoaWxkTm9kZS5hdHRycy5maW5kKChhdHRyKSA9PiBhdHRyLm5hbWUgPT09ICdrZXknIHx8IGF0dHIubmFtZSA9PT0gJ25hbWUnKTtcbiAgICAgICAgICAgIGtleSA9IGtleSAmJiBrZXkudmFsdWU7XG4gICAgICAgICAgICBpZiAoIWtleSkge1xuICAgICAgICAgICAgICAgIC8vIGZvciBjaGVja2JveCBpbnNpZGUgdGFibGUgaW5zaWRlIGZvcm0sIGtleSBhbmQgbmFtZSBhdHRycyBhcmUgbm90IGF2YWlsYWJsZS4gVXNpbmcgZGF0YXZhbHVlIHRvIGNvbnN0cnVjdCBmb3JtQ29udHJvbE5hbWUgaW5zdGVhZC5cbiAgICAgICAgICAgICAgICBsZXQgZGF0YVZhbHVlID0gY2hpbGROb2RlLmF0dHJzLmZpbmQoKGF0dHIpID0+IGF0dHIubmFtZSA9PT0gJ2RhdGF2YWx1ZScpO1xuICAgICAgICAgICAgICAgIGlmIChkYXRhVmFsdWUgJiYgZGF0YVZhbHVlLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gL1xcKCguKilcXCkvO1xuICAgICAgICAgICAgICAgICAgICBkYXRhVmFsdWUgPSBkYXRhVmFsdWUudmFsdWUubWF0Y2gocmVnZXgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVZhbHVlICYmIGRhdGFWYWx1ZS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSBkYXRhVmFsdWVbMV0ucmVwbGFjZSgvW1wiJ10vZywgJycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hpbGROb2RlLmF0dHJzLnB1c2gobmV3IEF0dHJpYnV0ZSgnZm9ybUNvbnRyb2xOYW1lJywga2V5LCA8YW55PjEsIDxhbnk+MSwgPGFueT4xLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkpO1xuICAgICAgICAgICAgY2hpbGROb2RlLmF0dHJzLnB1c2gobmV3IEF0dHJpYnV0ZSgnd21Gb3JtV2lkZ2V0JywgJycsIDxhbnk+MSwgPGFueT4xLCA8YW55PjEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKSk7XG4gICAgICAgIH1cbiAgICAgICAgYWRkRm9ybUNvbnRyb2xOYW1lKGNoaWxkTm9kZS5jaGlsZHJlbik7XG4gICAgfSk7XG59O1xuXG5jb25zdCB1cGRhdGVGb3JtRGF0YVNvdXJjZSA9IChhdHRyTWFwKSA9PiB7XG4gICAgaWYgKGF0dHJNYXAuZ2V0KCdmb3JtZGF0YS5iaW5kJykpIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGFTb3VyY2UgPSBnZXREYXRhU291cmNlKGF0dHJNYXAuZ2V0KCdmb3JtZGF0YS5iaW5kJykpO1xuICAgICAgICBpZiAoZm9ybURhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIGF0dHJNYXAuc2V0KCdmb3JtZGF0YXNvdXJjZS5iaW5kJywgZm9ybURhdGFTb3VyY2UpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuY29uc3QgYnVpbGRUYXNrID0gKGRpcmVjdGl2ZUF0dHIgPSAnJyk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVzOiBbJ3dtLWxpdmV0YWJsZScsICd3bS1sb2dpbiddLFxuICAgICAgICB0ZW1wbGF0ZTogKG5vZGU6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICBudW1iZXJPZkZpZWxkcyA9IDA7XG4gICAgICAgICAgICBhZGRGb3JtQ29udHJvbE5hbWUobm9kZS5jaGlsZHJlbik7XG4gICAgICAgIH0sXG4gICAgICAgIHByZTogKGF0dHJzLCBzaGFyZWQsIHBhcmVudExpdmVUYWJsZSwgcGFyZW50TG9naW5XaWRnZXQpID0+IHtcbiAgICAgICAgICAgIGxldCB0bXBsO1xuICAgICAgICAgICAgbGV0IGRpYWxvZ0lkO1xuICAgICAgICAgICAgY29uc3Qgcm9sZSA9IHBhcmVudExvZ2luV2lkZ2V0ICYmIHBhcmVudExvZ2luV2lkZ2V0LmdldCgnaXNMb2dpbicpID8gJ2FwcC1sb2dpbicgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICBjb25zdCBkZXBlbmRzT24gPSBhdHRycy5nZXQoJ2RlcGVuZHNvbicpID8gYGRlcGVuZHNvbj1cIiR7YXR0cnMuZ2V0KCdkZXBlbmRzb24nKX1cImAgOiAnJztcbiAgICAgICAgICAgIGlmKGRlcGVuZHNPbikge1xuICAgICAgICAgICAgICAgIGF0dHJzLnNldCgnZGVwZW5kc29udGFibGUnLCBhdHRycy5nZXQoJ2RlcGVuZHNvbicpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNsYXNzUHJvcCA9IGF0dHJzLmdldCgnZm9ybWxheW91dCcpID09PSAncGFnZScgPyAnYXBwLWRldmljZS1saXZlZm9ybSBwYW5lbCBsaXZlZm9ybS1pbmxpbmUnIDogJyc7XG4gICAgICAgICAgICBjb25zdCBkaWFsb2dBdHRyaWJ1dGVzID0gWyd0aXRsZScsICd0aXRsZS5iaW5kJywgJ2ljb25jbGFzcycsICdpY29uY2xhc3MuYmluZCcsICd3aWR0aCddO1xuICAgICAgICAgICAgYXR0cnMuZGVsZXRlKCdkZXBlbmRzb24nKTtcbiAgICAgICAgICAgIGNvbnN0IGxpdmVGb3JtVG1wbCA9IGA8JHt0YWdOYW1lfSB3bUZvcm0gZGF0YS1yb2xlPVwiJHtyb2xlfVwiICR7ZGlyZWN0aXZlQXR0cn0gIyR7Y291bnRlcn0gbmdOYXRpdmVWYWxpZGF0ZSBbZm9ybUdyb3VwXT1cIiR7Y291bnRlcn0ubmdmb3JtXCIgW25vVmFsaWRhdGVdPVwiJHtjb3VudGVyfS52YWxpZGF0aW9udHlwZSAhPT0gJ2h0bWwnXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCIke2NsYXNzUHJvcH1cIiBbY2xhc3NdPVwiJHtjb3VudGVyfS5jYXB0aW9uQWxpZ25DbGFzc1wiIFthdXRvY29tcGxldGVdPVwiJHtjb3VudGVyfS5hdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIiBjYXB0aW9ucG9zaXRpb249JHthdHRycy5nZXQoJ2NhcHRpb25wb3NpdGlvbicpfWA7XG4gICAgICAgICAgICBhdHRycy5zZXQoJ251bWJlck9mRmllbGRzJywgYCR7bnVtYmVyT2ZGaWVsZHN9YCk7XG4gICAgICAgICAgICBzaGFyZWQuc2V0KCdjb3VudGVyJywgY291bnRlcik7XG4gICAgICAgICAgICB1cGRhdGVGb3JtRGF0YVNvdXJjZShhdHRycyk7XG4gICAgICAgICAgICBpZiAoYXR0cnMuZ2V0KCdmb3JtbGF5b3V0JykgPT09ICdkaWFsb2cnKSB7XG4gICAgICAgICAgICAgICAgZGlhbG9nSWQgPSBwYXJlbnRMaXZlVGFibGUgPyBwYXJlbnRMaXZlVGFibGUuZ2V0KCdsaXZlZm9ybV9kaWFsb2dfaWQnKSA6IGBsaXZlZm9ybV9kaWFsb2dfaWRfJHtjb3VudGVyfWA7XG4gICAgICAgICAgICAgICAgYXR0cnMuc2V0KCdkaWFsb2dJZCcsIGRpYWxvZ0lkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWFsb2dBdHRyc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgICAgICAgICAgZGlhbG9nQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgaWYgKGF0dHJzLmdldChhdHRyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICBkaWFsb2dBdHRyc01hcC5zZXQoYXR0ciwgYXR0cnMuZ2V0KGF0dHIpKTtcbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXR0cnMuc2V0KCd3aWR0aCcsICcxMDAlJyk7XG4gICAgICAgICAgICAgICAgdG1wbCA9IGdldEF0dHJNYXJrdXAoYXR0cnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBgPGRpdiBkYXRhLWlkZW50aWZpZXI9XCJsaXZlZm9ybVwiIGluaXQtd2lkZ2V0IGNsYXNzPVwiYXBwLWxpdmVmb3JtIGxpdmVmb3JtLWRpYWxvZ1wiICR7ZGVwZW5kc09ufSBkaWFsb2dpZD1cIiR7ZGlhbG9nSWR9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB3bURpYWxvZyBjbGFzcz1cImFwcC1saXZlZm9ybS1kaWFsb2dcIiBuYW1lPVwiJHtkaWFsb2dJZH1cIiByb2xlPVwiZm9ybVwiICR7Z2V0QXR0ck1hcmt1cChkaWFsb2dBdHRyc01hcCl9IG1vZGFsPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlhbG9nQm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpdmVGb3JtVG1wbH0gJHt0bXBsfT5gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG1vYmlsZUZvcm1Db250ZW50VG1wbCA9ICcnO1xuICAgICAgICAgICAgbGV0IGJ1dHRvblRlbXBsYXRlID0gJyc7XG4gICAgICAgICAgICAvLyBJbmNsdWRlIG1vYmlsZS1uYXZiYXIgYWJvdmUgdGhlIGZvcm0gd2hlbiBmb3JtbGF5b3V0IGlzIHNldCB0byBwYWdlXG4gICAgICAgICAgICBpZiAoYXR0cnMuZ2V0KCdmb3JtbGF5b3V0JykgPT09ICdwYWdlJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBgZGV2aWNlX2xpdmVmb3JtX2hlYWRlcl8ke2NvdW50ZXJ9YDtcbiAgICAgICAgICAgICAgICBjb25zdCBuYXZiYXJBdHRyc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgICAgICAgICAgbmF2YmFyQXR0cnNNYXAuc2V0KCd0aXRsZScsIGF0dHJzLmdldCgndGl0bGUnKSk7XG4gICAgICAgICAgICAgICAgbmF2YmFyQXR0cnNNYXAuc2V0KCdiYWNrYnRuY2xpY2suZXZlbnQnLCBhdHRycy5nZXQoJ2JhY2tidG5jbGljay5ldmVudCcpKTtcbiAgICAgICAgICAgICAgICBidXR0b25UZW1wbGF0ZSA9IGA8bmctdGVtcGxhdGUgI2J1dHRvblJlZiBsZXQtYnRuPVwiYnRuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gIHdtQnV0dG9uIG5hbWU9XCJ7e2J0bi5rZXl9fVwiIGNsYXNzPVwibmF2YmFyLWJ0biBidG4tcHJpbWFyeSBidG4tdHJhbnNwYXJlbnRcIiBpY29uY2xhc3MuYmluZD1cImJ0bi5pY29uY2xhc3NcIiBzaG93LmJpbmQ9XCJidG4uc2hvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIke2NvdW50ZXJ9Lmludm9rZUFjdGlvbkV2ZW50KCRldmVudCwgYnRuLmFjdGlvbilcIiB0eXBlLmJpbmQ9XCJidG4udHlwZVwiIGhpbnQuYmluZD1cImJ0bi50aXRsZVwiIHNob3J0Y3V0a2V5LmJpbmQ9XCJidG4uc2hvcnRjdXRrZXlcIiBkaXNhYmxlZC5iaW5kPVwiYnRuLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXguYmluZD1cImJ0bi50YWJpbmRleFwiIFtjbGFzcy5oaWRkZW5dPVwiYnRuLnVwZGF0ZU1vZGUgPyAhJHtjb3VudGVyfS5pc1VwZGF0ZU1vZGUgOiAke2NvdW50ZXJ9LmlzVXBkYXRlTW9kZVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+YDtcbiAgICAgICAgICAgICAgICBtb2JpbGVGb3JtQ29udGVudFRtcGwgPSBgPGhlYWRlciB3bU1vYmlsZU5hdmJhciBuYW1lPVwiJHtuYW1lfVwiICR7Z2V0QXR0ck1hcmt1cChuYXZiYXJBdHRyc01hcCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidG4gb2YgJHtjb3VudGVyfS5idXR0b25BcnJheTsgdHJhY2sgYnRuOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25SZWZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntidG46YnRufVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldEluamVjdG9yXT1cIiR7Y291bnRlcn0uY3JlYXRlQ3VzdG9tSW5qZWN0b3IoJ21vYmlsZV8nICsgaSwge2l0ZW06aXRlbSwgaW5kZXg6aX0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWVsZW1lbnRzIHBhbmVsLWJvZHlcIiA+YDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG1wbCA9IGdldEF0dHJNYXJrdXAoYXR0cnMpO1xuICAgICAgICAgICAgY29uc3QgZGVwZW5kc09uVG1wbCA9IGRlcGVuZHNPbiA/IGA8ZGl2ICR7ZGVwZW5kc09ufT5gIDogJyc7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZGVwZW5kc09uVG1wbH0ke2xpdmVGb3JtVG1wbH0gJHt0bXBsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgJHtidXR0b25UZW1wbGF0ZX0gJHttb2JpbGVGb3JtQ29udGVudFRtcGx9YDtcbiAgICAgICAgfSxcbiAgICAgICAgcG9zdDogKGF0dHJzKSA9PiB7XG4gICAgICAgICAgICBpZiAoYXR0cnMuZ2V0KCdmb3JtbGF5b3V0JykgPT09ICdkaWFsb2cnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICc8L2Zvcm0+PC9uZy10ZW1wbGF0ZT48L2Rpdj48L2Rpdj4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGF0dHJzLmdldCgnZm9ybWxheW91dCcpID09PSAncGFnZScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYDwvZGl2PjwvJHt0YWdOYW1lfT5gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYoYXR0cnMuZ2V0KCdkZXBlbmRzb250YWJsZScpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8LyR7dGFnTmFtZX0+PC9kaXY+YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBgPC8ke3RhZ05hbWV9PmA7XG4gICAgICAgIH0sXG4gICAgICAgIHByb3ZpZGU6IChhdHRycywgc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIHByb3ZpZGVyLnNldCgnZm9ybV9yZWZlcmVuY2UnLCBzaGFyZWQuZ2V0KCdjb3VudGVyJykpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICB9LFxuICAgICAgICBpbXBvcnRzOiAoYXR0cnM6IE1hcDxTdHJpbmcsIFN0cmluZz4pOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3JtbGF5b3V0ID0gYXR0cnMuZ2V0KCdmb3JtbGF5b3V0Jyk7XG4gICAgICAgICAgICBpZiAoZm9ybWxheW91dCA9PT0gJ2RpYWxvZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWyd3bS1kaWFsb2cnXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuXG5yZWdpc3Rlcignd20tZm9ybScsIGJ1aWxkVGFzayk7XG5yZWdpc3Rlcignd20tbGl2ZWZvcm0nLCAoKSA9PiBidWlsZFRhc2soJ3dtTGl2ZUZvcm0nKSk7XG5yZWdpc3Rlcignd20tbGl2ZWZpbHRlcicsICgpID0+IGJ1aWxkVGFzaygnd21MaXZlRmlsdGVyJykpO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==