@wavemaker/app-ng-runtime 12.0.0-next.45752 → 12.0.0-next.46502

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +53 -45
  2. app-ng-runtime/build-task/esm2022/basic/default/anchor/anchor.build.mjs +2 -2
  3. app-ng-runtime/build-task/esm2022/basic/default/html/html.build.mjs +2 -2
  4. app-ng-runtime/build-task/esm2022/basic/default/icon/icon.build.mjs +2 -2
  5. app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +2 -2
  6. app-ng-runtime/build-task/esm2022/basic/default/picture/picture.build.mjs +2 -2
  7. app-ng-runtime/build-task/esm2022/basic/default/spinner/spinner.build.mjs +2 -2
  8. app-ng-runtime/build-task/esm2022/basic/progress/progress-circle/progress-circle.build.mjs +7 -2
  9. app-ng-runtime/build-task/esm2022/basic/rich-text-editor/rich-text-editor.build.mjs +2 -2
  10. app-ng-runtime/build-task/esm2022/containers/accordion/accordion-pane/accordion-pane.build.mjs +2 -2
  11. app-ng-runtime/build-task/esm2022/containers/accordion/accordion.build.mjs +3 -3
  12. app-ng-runtime/build-task/esm2022/containers/tile/tile.build.mjs +2 -2
  13. app-ng-runtime/build-task/esm2022/containers/wizard/wizard.build.mjs +2 -2
  14. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +4 -4
  15. app-ng-runtime/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +2 -2
  16. app-ng-runtime/build-task/esm2022/device/camera/camera.build.mjs +2 -2
  17. app-ng-runtime/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +2 -2
  18. app-ng-runtime/build-task/esm2022/input/calendar/calendar.build.mjs +2 -2
  19. app-ng-runtime/build-task/esm2022/input/chips/chips.build.mjs +2 -2
  20. app-ng-runtime/build-task/esm2022/input/color-picker/color-picker.build.mjs +3 -3
  21. app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
  22. app-ng-runtime/build-task/esm2022/input/default/button/button.build.mjs +2 -2
  23. app-ng-runtime/build-task/esm2022/input/default/button-group/button-group.build.mjs +2 -2
  24. app-ng-runtime/build-task/esm2022/input/default/switch/switch.build.mjs +2 -2
  25. app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +6 -2
  26. app-ng-runtime/build-task/esm2022/page/footer/footer.build.mjs +2 -2
  27. app-ng-runtime/build-task/esm2022/page/header/header.build.mjs +2 -2
  28. app-ng-runtime/build-task/esm2022/page/layout.build.mjs +2 -2
  29. app-ng-runtime/build-task/esm2022/page/left-panel/left-panel.build.mjs +2 -2
  30. app-ng-runtime/build-task/esm2022/page/page.build.mjs +2 -2
  31. app-ng-runtime/build-task/esm2022/page/right-panel/right-panel.build.mjs +2 -2
  32. app-ng-runtime/build-task/esm2022/page/top-nav/top-nav.build.mjs +2 -2
  33. app-ng-runtime/build-task/fesm2022/index.mjs +53 -45
  34. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  35. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +1 -1
  36. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +2 -2
  37. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +1 -1
  38. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  39. app-ng-runtime/components/base/bundles/index.umd.js +1 -6
  40. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
  41. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +1 -6
  42. app-ng-runtime/components/base/fesm2022/index.mjs +1 -6
  43. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  44. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  45. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
  46. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +3 -0
  47. app-ng-runtime/components/basic/default/bundles/index.umd.js +39 -19
  48. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
  49. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.props.mjs +2 -1
  50. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +14 -6
  51. app-ng-runtime/components/basic/default/esm2022/audio/audio.props.mjs +2 -1
  52. app-ng-runtime/components/basic/default/esm2022/html/html.props.mjs +2 -1
  53. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -7
  54. app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
  55. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +3 -3
  56. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.props.mjs +3 -2
  57. app-ng-runtime/components/basic/default/esm2022/label/label.props.mjs +1 -1
  58. app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +2 -2
  59. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +3 -1
  60. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.props.mjs +3 -2
  61. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +8 -4
  62. app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
  63. app-ng-runtime/components/basic/default/fesm2022/index.mjs +39 -19
  64. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  65. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
  66. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +1 -0
  67. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -1
  68. app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -0
  69. app-ng-runtime/components/basic/progress/bundles/index.umd.js +17 -9
  70. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +9 -5
  71. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.props.mjs +2 -1
  72. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  73. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.props.mjs +2 -1
  74. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +17 -9
  75. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  76. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -0
  77. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -1
  78. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -0
  79. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
  80. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +2 -1
  81. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +2 -0
  82. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  83. app-ng-runtime/components/basic/search/bundles/index.umd.js +16 -9
  84. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +19 -13
  85. app-ng-runtime/components/basic/search/esm2022/search.props.mjs +2 -1
  86. app-ng-runtime/components/basic/search/fesm2022/index.mjs +16 -9
  87. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  88. app-ng-runtime/components/basic/search/search.component.d.ts +4 -2
  89. app-ng-runtime/components/chart/bundles/index.umd.js +1 -0
  90. app-ng-runtime/components/chart/esm2022/chart.utils.mjs +2 -1
  91. app-ng-runtime/components/chart/fesm2022/index.mjs +1 -0
  92. app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
  93. app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -0
  94. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +15 -9
  95. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +13 -10
  96. app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +4 -1
  97. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +15 -9
  98. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  99. app-ng-runtime/components/containers/panel/bundles/index.umd.js +14 -14
  100. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +15 -15
  101. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +14 -14
  102. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  103. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +2 -2
  104. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +3 -3
  105. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +2 -2
  106. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  107. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +6 -6
  108. app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +7 -7
  109. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +6 -6
  110. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  111. app-ng-runtime/components/data/list/bundles/index.umd.js +19 -11
  112. app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +10 -1
  113. app-ng-runtime/components/data/list/esm2022/list.component.mjs +12 -12
  114. app-ng-runtime/components/data/list/fesm2022/index.mjs +20 -12
  115. app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
  116. app-ng-runtime/components/data/live-table/bundles/index.umd.js +2 -2
  117. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +3 -3
  118. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +2 -2
  119. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  120. app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
  121. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
  122. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
  123. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  124. app-ng-runtime/components/data/table/bundles/index.umd.js +42 -8
  125. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +14 -5
  126. app-ng-runtime/components/data/table/esm2022/table.component.mjs +28 -5
  127. app-ng-runtime/components/data/table/esm2022/table.props.mjs +3 -1
  128. app-ng-runtime/components/data/table/fesm2022/index.mjs +43 -9
  129. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  130. app-ng-runtime/components/data/table/table.component.d.ts +7 -0
  131. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
  132. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
  133. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
  134. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  135. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -5
  136. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -6
  137. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -5
  138. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  139. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +9 -3
  140. app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
  141. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +2 -1
  142. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +9 -4
  143. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +9 -3
  144. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  145. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +4 -4
  146. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +5 -5
  147. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +4 -4
  148. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  149. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
  150. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
  151. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
  152. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  153. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
  154. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
  155. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
  156. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  157. app-ng-runtime/components/input/calendar/bundles/index.umd.js +2 -4
  158. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +3 -5
  159. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +2 -4
  160. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  161. app-ng-runtime/components/input/chips/bundles/index.umd.js +25 -7
  162. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +25 -8
  163. app-ng-runtime/components/input/chips/esm2022/chips.props.mjs +2 -1
  164. app-ng-runtime/components/input/chips/fesm2022/index.mjs +25 -7
  165. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  166. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +5 -3
  167. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +1 -0
  168. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +6 -5
  169. app-ng-runtime/components/input/color-picker/esm2022/color-picker.props.mjs +2 -1
  170. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +5 -3
  171. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  172. app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -3
  173. app-ng-runtime/components/input/currency/currency.component.d.ts +1 -0
  174. app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +6 -6
  175. app-ng-runtime/components/input/currency/esm2022/currency.props.mjs +2 -1
  176. app-ng-runtime/components/input/currency/fesm2022/index.mjs +4 -3
  177. app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
  178. app-ng-runtime/components/input/default/bundles/index.umd.js +171 -94
  179. app-ng-runtime/components/input/default/button/button.component.d.ts +1 -0
  180. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
  181. app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +3 -3
  182. app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +1 -1
  183. app-ng-runtime/components/input/default/esm2022/button/button.props.mjs +2 -1
  184. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
  185. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +7 -7
  186. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.props.mjs +2 -1
  187. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +21 -16
  188. app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +5 -5
  189. app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +3 -1
  190. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +28 -23
  191. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +7 -7
  192. app-ng-runtime/components/input/default/esm2022/select/select.props.mjs +2 -1
  193. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
  194. app-ng-runtime/components/input/default/esm2022/switch/switch.props.mjs +2 -1
  195. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -5
  196. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +2 -1
  197. app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +5 -5
  198. app-ng-runtime/components/input/default/esm2022/text/color/input-color.props.mjs +2 -1
  199. app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +5 -5
  200. app-ng-runtime/components/input/default/esm2022/text/email/input-email.props.mjs +2 -1
  201. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +66 -13
  202. app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +5 -5
  203. app-ng-runtime/components/input/default/esm2022/text/number/input-number.props.mjs +2 -1
  204. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +5 -5
  205. app-ng-runtime/components/input/default/esm2022/text/text/input-text.props.mjs +2 -1
  206. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +6 -6
  207. app-ng-runtime/components/input/default/esm2022/textarea/textarea.props.mjs +2 -1
  208. app-ng-runtime/components/input/default/fesm2022/index.mjs +171 -94
  209. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  210. app-ng-runtime/components/input/default/number/number.component.d.ts +1 -0
  211. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -0
  212. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +1 -0
  213. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +1 -0
  214. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +1 -0
  215. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
  216. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +1 -0
  217. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +1 -0
  218. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +1 -0
  219. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -1
  220. app-ng-runtime/components/input/epoch/bundles/index.umd.js +28 -21
  221. app-ng-runtime/components/input/epoch/date/date.component.d.ts +1 -0
  222. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -1
  223. app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +10 -6
  224. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +8 -8
  225. app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
  226. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +9 -9
  227. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.props.mjs +2 -1
  228. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +7 -7
  229. app-ng-runtime/components/input/epoch/esm2022/time/time.props.mjs +2 -1
  230. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +25 -18
  231. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  232. app-ng-runtime/components/input/epoch/time/time.component.d.ts +1 -0
  233. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +224 -121
  234. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +220 -123
  235. app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +7 -1
  236. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +225 -122
  237. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  238. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +18 -11
  239. app-ng-runtime/components/input/rating/bundles/index.umd.js +2 -2
  240. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +3 -3
  241. app-ng-runtime/components/input/rating/fesm2022/index.mjs +2 -2
  242. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  243. app-ng-runtime/components/input/slider/bundles/index.umd.js +5 -6
  244. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +6 -8
  245. app-ng-runtime/components/input/slider/esm2022/slider.props.mjs +2 -1
  246. app-ng-runtime/components/input/slider/fesm2022/index.mjs +5 -6
  247. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  248. app-ng-runtime/components/input/slider/slider.component.d.ts +1 -0
  249. app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +6 -6
  250. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +7 -7
  251. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +6 -6
  252. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  253. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +8 -6
  254. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +8 -7
  255. app-ng-runtime/components/navigation/menu/esm2022/menu.props.mjs +2 -1
  256. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +8 -6
  257. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  258. app-ng-runtime/components/navigation/menu/menu.component.d.ts +1 -0
  259. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +121 -13
  260. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +122 -15
  261. app-ng-runtime/components/navigation/popover/esm2022/popover.props.mjs +2 -1
  262. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +121 -13
  263. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  264. app-ng-runtime/components/navigation/popover/popover.component.d.ts +15 -3
  265. app-ng-runtime/components/page/default/bundles/index.umd.js +2 -1
  266. app-ng-runtime/components/page/default/esm2022/page.props.mjs +4 -3
  267. app-ng-runtime/components/page/default/fesm2022/index.mjs +2 -1
  268. app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
  269. app-ng-runtime/components/page/footer/bundles/index.umd.js +2 -1
  270. app-ng-runtime/components/page/footer/esm2022/footer.props.mjs +3 -2
  271. app-ng-runtime/components/page/footer/fesm2022/index.mjs +2 -1
  272. app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
  273. app-ng-runtime/components/page/header/bundles/index.umd.js +2 -1
  274. app-ng-runtime/components/page/header/esm2022/header.props.mjs +3 -2
  275. app-ng-runtime/components/page/header/fesm2022/index.mjs +2 -1
  276. app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
  277. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +2 -1
  278. app-ng-runtime/components/page/left-panel/esm2022/left-panel.props.mjs +3 -2
  279. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +2 -1
  280. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  281. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +2 -1
  282. app-ng-runtime/components/page/right-panel/esm2022/right-panel.props.mjs +3 -2
  283. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +2 -1
  284. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  285. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +2 -1
  286. app-ng-runtime/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  287. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +2 -1
  288. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  289. app-ng-runtime/core/bundles/index.umd.js +15 -13
  290. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  291. app-ng-runtime/core/esm2022/utils/build-utils.mjs +7 -7
  292. app-ng-runtime/core/esm2022/utils/utils.mjs +4 -5
  293. app-ng-runtime/core/fesm2022/index.mjs +11 -11
  294. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  295. app-ng-runtime/core/public_api.d.ts +1 -1
  296. app-ng-runtime/core/utils/utils.d.ts +1 -1
  297. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +2 -1
  298. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +3 -2
  299. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +2 -1
  300. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
  301. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +2 -1
  302. app-ng-runtime/mobile/components/device/camera/esm2022/camera.props.mjs +3 -2
  303. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +2 -1
  304. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
  305. app-ng-runtime/package.json +1 -1
  306. app-ng-runtime/runtime/base/bundles/index.umd.js +6 -4
  307. app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +2 -3
  308. app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +5 -5
  309. app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +5 -4
  310. app-ng-runtime/runtime/base/fesm2022/index.mjs +6 -4
  311. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  312. app-ng-runtime/runtime/base/guards/can-deactivate-page.guard.d.ts +2 -1
  313. app-ng-runtime/scripts/datatable/datatable.js +32 -31
  314. app-ng-runtime/variables/bundles/index.umd.js +34 -16
  315. app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +35 -17
  316. app-ng-runtime/variables/fesm2022/index.mjs +34 -16
  317. app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
  318. app-ng-runtime/variables/manager/variable/web-socket-variable.manager.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/accordion/src/accordion.props.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.props.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.component.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.component.html","../../../../../projects/components/widgets/containers/accordion/src/accordion.directive.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion.module.ts","../../../../../projects/components/widgets/containers/accordion/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-accordion',\n new Map(\n [\n ['class', PROP_STRING],\n ['closeothers', {value: true, ...PROP_BOOLEAN}],\n ['dataset', PROP_ANY],\n ['defaultpaneindex', {value: 0, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['nodatamessage', {value: 'No Data Found', ... PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['statehandler', {value: 'none', ...PROP_STRING}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","import { PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-accordionpane',\n new Map(\n [\n ['active', PROP_BOOLEAN], // internal property\n ['badgetype', {value: 'default', ...PROP_STRING}],\n ['badgevalue', PROP_STRING],\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['dynamicPaneIndex', PROP_NUMBER], // internal property\n ['iconclass', PROP_STRING],\n ['isdefaultpane', PROP_BOOLEAN],\n ['isdynamic', PROP_STRING], // internal property\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['smoothscroll', {value: false, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['title', {value: 'Title', ...PROP_STRING}]\n ]\n )\n );\n};\n","import {AfterViewInit, Component, ContentChildren, Inject, Injector, Optional} from '@angular/core';\n\nimport {noop, removeAttr} from '@wm/core';\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, RedrawableDirective, StylableComponent, styler, } from '@wm/components/base';\n\nimport { registerProps } from './accordion-pane.props';\nimport { AccordionDirective } from '../accordion.directive';\n\nconst DEFAULT_CLS = 'app-accordion-panel panel';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-accordionpane', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: 'div[wmAccordionPane]',\n templateUrl: './accordion-pane.component.html',\n providers: [\n provideAsWidgetRef(AccordionPaneComponent)\n ],\n exportAs: 'wmAccordionPane'\n})\nexport class AccordionPaneComponent extends StylableComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n public isActive = false;\n public iconclass: string;\n public title: any;\n public subheading: string;\n public badgetype: any;\n public badgevalue: string;\n public smoothscroll: any;\n private $lazyLoad = noop;\n private isdynamic: boolean;\n\n public name: string;\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, {descendants: true}) reDrawableComponents;\n\n constructor(inj: Injector, private accordionRef: AccordionDirective, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n // title property here serves the purpose of heading.\n // remove title property as attribute\n removeAttr(this.nativeElement, 'title');\n }\n\n /**\n * handles the pane expand\n * invoke $lazyLoad method which takes care of loading the partial when the content property is provided - lazyLoading or partial\n * invoke redraw on the re-drawable children\n * invoke expand callback\n * notify parent about the change\n * @param {Event} evt\n */\n public expand(evt?: Event) {\n if (this.isActive) {\n return;\n }\n this.isActive = true;\n this.$lazyLoad();\n this.redrawChildren();\n this.invokeEventCallback('expand', {$event: evt});\n this.notifyParent(true, evt);\n }\n\n /**\n * handles the pane collapse\n * invoke collapse callback\n * notify parent about the change\n * @param {Event} evt\n */\n public collapse(evt?: Event) {\n if (!this.isActive) {\n return;\n }\n this.isActive = false;\n this.invokeEventCallback('collapse', {$event: evt});\n this.notifyParent(false, evt);\n }\n\n public remove() {\n const paneIndex = (this as any).accordionRef.getPaneIndexByRef(this);\n if (this.isActive && this.accordionRef.panes.length > 1) {\n this === this.accordionRef.panes.last ? this.accordionRef.panes.toArray()[paneIndex - 1].expand() : this.accordionRef.panes.toArray()[paneIndex + 1].expand();\n }\n const availablePanes = this.accordionRef.panes.toArray();\n availablePanes.splice((this as any).accordionRef.getPaneIndexByRef(this), 1);\n this.accordionRef.panes.reset([...availablePanes]);\n this.nativeElement.remove();\n }\n\n public toggle(evt: Event) {\n if (this.isActive) {\n this.collapse(evt);\n } else {\n this.expand(evt);\n }\n }\n\n // Todo - Vinay externalize\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n }, 100);\n }\n\n private notifyParent(isExpand: boolean, evt: Event) {\n this.accordionRef.notifyChange(this, isExpand, evt);\n }\n\n onPropertyChange(key, nv, ov) {\n if (key === 'content') {\n if (this.isActive) {\n setTimeout(() => this.$lazyLoad(), 100);\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n if (this.isdynamic) {\n this.accordionRef.registerDynamicPane(this);\n }\n }\n}\n","<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a href=\"javascript:void(0);\" role=\"button\" class=\"accordion-toggle\" [attr.aria-label]=\"title\" [attr.aria-expanded]=\"isActive\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n </h3>\n <div class=\"panel-actions\">\n <span class=\"label label-{{badgetype}}\">{{badgevalue}}</span>\n <button type=\"button\" aria-label=\"Collapse/Expand\" [attr.aria-expanded]=\"isActive\"\n class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </button>\n </div>\n</div>\n<div class=\"panel-collapse collapse\" role=\"tabpanel\" aria-labelledby=\"panel description\" [ngClass]=\"isActive ? 'collapse in' : 'collapse'\">\n <div class=\"panel-body\" [wmSmoothscroll]=\"smoothscroll\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n","import {AfterContentInit, ContentChildren, Directive, Inject, Injector, Optional, QueryList} from '@angular/core';\nimport {DynamicComponentRefProvider, noop, StatePersistence} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n createArrayFrom,\n IWidgetConfig,\n provideAsWidgetRef,\n StylableComponent,\n styler\n} from '@wm/components/base';\n\nimport { registerProps } from './accordion.props';\nimport { AccordionPaneComponent } from './accordion-pane/accordion-pane.component';\nimport {find, forEach, get, indexOf, isArray, isNumber} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-accordion panel-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-accordion',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n selector: 'div[wmAccordion]',\n exportAs: 'wmAccordion',\n providers: [\n provideAsWidgetRef(AccordionDirective)\n ]\n})\nexport class AccordionDirective extends StylableComponent implements AfterContentInit {\n static initializeProps = registerProps();\n\n public defaultpaneindex: number;\n public closeothers: boolean;\n public statehandler: any;\n private statePersistence: StatePersistence;\n\n private activePaneIndex: number;\n private activePane: AccordionPaneComponent;\n private promiseResolverFn: Function;\n private dynamicComponentProvider;\n private _dynamicContext;\n private dynamicPaneIndex;\n private dynamicPanes;\n public fieldDefs;\n\n @ContentChildren(AccordionPaneComponent) panes: QueryList<AccordionPaneComponent>;\n\n constructor(inj: Injector, statePersistence: StatePersistence, dynamicComponentProvider: DynamicComponentRefProvider, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n let resolveFn: Function = noop;\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n this.promiseResolverFn = resolveFn;\n this.statePersistence = statePersistence;\n this.dynamicComponentProvider = dynamicComponentProvider;\n this.dynamicPanes = [];\n this.dynamicPaneIndex = 0;\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n }\n\n /**\n * AccordionPane children components invoke this method to communicate with the parent\n * if isExpand is true and when closeothers is true, all the other panes are collapsed\n * if the evt argument is defined on-change callback will be invoked.\n * updates the activePane index property\n * @param {AccordionPaneComponent} paneRef\n * @param {boolean} isExpand\n * @param {Event} evt\n */\n public notifyChange(paneRef: AccordionPaneComponent, isExpand: boolean, evt: Event) {\n if (isExpand) {\n this.closePanesExcept(paneRef);\n const index = this.getPaneIndexByRef(paneRef);\n this.activePane = paneRef.getWidget();\n // if the event is defined invoke the change callback.\n // programmatic invocations of expand/collapse on accordion-pane will not trigger change event\n if (evt) {\n this.invokeEventCallback('change', {\n $event: evt,\n newPaneIndex: index,\n oldPaneIndex: this.activePaneIndex\n });\n }\n this.activePaneIndex = index;\n }\n const mode = this.statePersistence.computeMode(this.statehandler);\n if (evt && mode && mode.toLowerCase() !== 'none') {\n const activePanes = [];\n this.panes.forEach(function(pane) {\n if (pane.isActive) {\n activePanes.push(pane.name);\n }\n });\n if (activePanes.length) {\n this.statePersistence.setWidgetState(this, activePanes);\n } else {\n this.statePersistence.removeWidgetState(this);\n }\n }\n }\n\n /**\n * This method is used to register the dynamic panes.\n * After all panes are initialzed, update the querylist manually based on index.\n * @param paneRef - refrence of the tabpane\n */\n public registerDynamicPane(paneRef) {\n this.dynamicPanes.push(paneRef);\n const isLastPane = this.dynamicPanes.length === this.dynamicPaneIndex;\n if (isLastPane) {\n for (let i = 0; i < this.dynamicPanes.length; i++) {\n const newPaneRef = find(this.dynamicPanes, pane => pane.dynamicPaneIndex === i);\n const isDuplicatePane = find(this.panes.toArray(), newPaneRef);\n if (!isDuplicatePane) {\n this.panes.reset([...this.panes.toArray(), newPaneRef]);\n if (newPaneRef.active) {\n newPaneRef.expand();\n }\n }\n }\n }\n }\n\n /**\n * This method is to add the tabpane dynamically\n * @param tabpanes - list of tabpanes\n */\n public addPane(tabpanes) {\n if (!isArray(tabpanes)) {\n tabpanes = [tabpanes];\n }\n const paneNamesList = [];\n forEach(tabpanes, (pane, index) => {\n const isPaneAlreadyCreated = find(this.panes.toArray(), {name: pane.name});\n const isPaneNameExist = indexOf(paneNamesList, pane.name);\n // If user tries to add tabpane with the same name which is already exists then do not create the pane\n if (isPaneAlreadyCreated || isPaneNameExist > 0) {\n console.warn(`The tab pane with name ${pane.name} already exists`);\n return;\n }\n\n let paramMarkup = '';\n let propsTmpl = '';\n this.dynamicPaneIndex++;\n const name = pane.name ? pane.name : `accordionpane${this.panes.toArray().length + (index + 1)}`;\n paneNamesList.push(name);\n const partialParams = get(pane, 'params');\n\n forEach(pane, (value, key) => {\n if (key !== 'params') {\n propsTmpl = `${propsTmpl} ${key}=\"${value}\"`;\n }\n });\n forEach(partialParams, (value, key) => {\n paramMarkup = `${paramMarkup} <wm-param name=\"${key}\" value=\"${value}\"></wm-param>`;\n });\n const markup = `<wm-accordionpane dynamicPaneIndex=\"${this.dynamicPaneIndex - 1}\" isdynamic=\"true\" name=\"${name}\" ${propsTmpl}>\n ${paramMarkup}\n </wm-accordionpane>`;\n\n if (!this._dynamicContext) {\n this._dynamicContext = Object.create(this.viewParent);\n this._dynamicContext[this.getAttr('wmAccordian')] = this;\n }\n\n this.dynamicComponentProvider.addComponent(this.getNativeElement(), markup, this._dynamicContext, {inj: this.inj});\n });\n return paneNamesList;\n }\n\n /**\n * This method is to remove the tabpane\n * @param paneName - name of the pane\n */\n public removePane(paneName) {\n const paneRef = this.getPaneRefByName(paneName);\n if (paneRef) {\n paneRef.remove();\n }\n }\n\n private isValidPaneIndex(index: number): boolean {\n return (index >= 0 && index < this.panes.length);\n }\n\n private getPaneRefByName(name: string): AccordionPaneComponent {\n return find(this.panes.toArray(), {name: name});\n }\n\n private getPaneIndexByRef(paneRef: AccordionPaneComponent): number {\n return this.panes.toArray().indexOf(paneRef);\n }\n\n private getPaneRefByIndex(index: number): AccordionPaneComponent {\n return this.panes.toArray()[index];\n }\n\n // Except the pane provided close all other panes\n private closePanesExcept(paneRef: AccordionPaneComponent | number) {\n if (isNumber(paneRef)) {\n paneRef = this.getPaneRefByIndex(paneRef as number);\n }\n if (this.closeothers) {\n this.panes.forEach(pane => {\n if (pane !== paneRef) {\n pane.collapse();\n }\n });\n }\n }\n\n private expandPane(index: number) {\n this.closePanesExcept(index);\n this.panes.toArray()[index].expand();\n }\n private onDataChange(newVal) {\n this.fieldDefs = createArrayFrom(newVal);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'defaultpaneindex') {\n this.defaultpaneindex = nv;\n } else if (key === 'dataset') {\n this.onDataChange(nv);\n } else if (key === 'statehandler') {\n const widgetState = this.statePersistence.getWidgetState(this);\n let paneToSelect: any = [];\n if (nv !== 'none' && isArray(widgetState)) {\n widgetState.forEach(paneName => {\n paneToSelect = this.panes.filter(function(pane) {\n return paneName === pane.name;\n });\n if (!paneToSelect.length) {\n console.warn('Accordion pane name ' + paneName + ' in State is incorrect.');\n } else {\n this.expandPane(this.getPaneIndexByRef(paneToSelect[0]));\n }\n });\n } else {\n if (this.isValidPaneIndex(this.defaultpaneindex)) {\n this.expandPane(this.defaultpaneindex);\n }\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n this.panes.changes.subscribe( slides => {\n if (this.panes.length) {\n this.expandPane(this.defaultpaneindex);\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { AccordionDirective } from './accordion.directive';\nimport { AccordionPaneComponent } from './accordion-pane/accordion-pane.component';\n\nconst components = [\n AccordionPaneComponent,\n AccordionDirective\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class AccordionModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/accordion/src/accordion.props.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.props.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.component.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.component.html","../../../../../projects/components/widgets/containers/accordion/src/accordion.directive.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion.module.ts","../../../../../projects/components/widgets/containers/accordion/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-accordion',\n new Map(\n [\n ['class', PROP_STRING],\n ['closeothers', {value: true, ...PROP_BOOLEAN}],\n ['dataset', PROP_ANY],\n ['defaultpaneindex', {value: 0, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['nodatamessage', {value: 'No Data Found', ... PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['statehandler', {value: 'none', ...PROP_STRING}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","import { PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-accordionpane',\n new Map(\n [\n ['active', PROP_BOOLEAN], // internal property\n ['badgetype', {value: 'default', ...PROP_STRING}],\n ['badgevalue', PROP_STRING],\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['dynamicPaneIndex', PROP_NUMBER], // internal property\n ['iconclass', PROP_STRING],\n ['isdefaultpane', PROP_BOOLEAN],\n ['isdynamic', PROP_STRING], // internal property\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['smoothscroll', {value: false, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['title', {value: 'Title', ...PROP_STRING}]\n ]\n )\n );\n};\n","import {AfterViewInit, Component, ContentChildren, Inject, Injector, Optional} from '@angular/core';\n\nimport {noop, removeAttr} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n IWidgetConfig,\n provideAsWidgetRef,\n RedrawableDirective,\n StylableComponent,\n styler,\n} from '@wm/components/base';\n\nimport {registerProps} from './accordion-pane.props';\nimport {AccordionDirective} from '../accordion.directive';\n\nconst DEFAULT_CLS = 'app-accordion-panel panel';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-accordionpane', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: 'div[wmAccordionPane]',\n templateUrl: './accordion-pane.component.html',\n providers: [\n provideAsWidgetRef(AccordionPaneComponent)\n ],\n exportAs: 'wmAccordionPane'\n})\nexport class AccordionPaneComponent extends StylableComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n public isActive = false;\n public iconclass: string;\n public title: any;\n public subheading: string;\n public badgetype: any;\n public badgevalue: string;\n public smoothscroll: any;\n private $lazyLoad = noop;\n private isdynamic: boolean;\n public tabindex;\n\n public name: string;\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, {descendants: true}) reDrawableComponents;\n\n constructor(inj: Injector, private accordionRef: AccordionDirective, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n // title property here serves the purpose of heading.\n // remove title property as attribute\n removeAttr(this.nativeElement, 'title');\n }\n\n /**\n * handles the pane expand\n * invoke $lazyLoad method which takes care of loading the partial when the content property is provided - lazyLoading or partial\n * invoke redraw on the re-drawable children\n * invoke expand callback\n * notify parent about the change\n * @param {Event} evt\n */\n public expand(evt?: Event) {\n if (this.isActive) {\n return;\n }\n this.isActive = true;\n this.$lazyLoad();\n this.redrawChildren();\n this.invokeEventCallback('expand', {$event: evt});\n this.notifyParent(true, evt);\n }\n\n /**\n * handles the pane collapse\n * invoke collapse callback\n * notify parent about the change\n * @param {Event} evt\n */\n public collapse(evt?: Event) {\n if (!this.isActive) {\n return;\n }\n this.isActive = false;\n this.invokeEventCallback('collapse', {$event: evt});\n this.notifyParent(false, evt);\n }\n\n public remove() {\n const paneIndex = (this as any).accordionRef.getPaneIndexByRef(this);\n if (this.isActive && this.accordionRef.panes.length > 1) {\n this === this.accordionRef.panes.last ? this.accordionRef.panes.toArray()[paneIndex - 1].expand() : this.accordionRef.panes.toArray()[paneIndex + 1].expand();\n }\n const availablePanes = this.accordionRef.panes.toArray();\n availablePanes.splice((this as any).accordionRef.getPaneIndexByRef(this), 1);\n this.accordionRef.panes.reset([...availablePanes]);\n this.nativeElement.remove();\n }\n\n public toggle(evt: Event) {\n if (this.isActive) {\n this.collapse(evt);\n } else {\n this.expand(evt);\n }\n }\n\n // Todo - Vinay externalize\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n }, 100);\n }\n\n private notifyParent(isExpand: boolean, evt: Event) {\n this.accordionRef.notifyChange(this, isExpand, evt);\n }\n\n onPropertyChange(key, nv, ov) {\n if (key === 'content') {\n if (this.isActive) {\n setTimeout(() => this.$lazyLoad(), 100);\n }\n } else if (key === 'tabindex') {\n return;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n if (this.isdynamic) {\n this.accordionRef.registerDynamicPane(this);\n }\n }\n}\n","<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a [attr.aria-expanded]=\"isActive\" [tabindex]=\"tabindex\"\n class=\"accordion-toggle clearfix\"\n href=\"javascript:void(0);\" role=\"button\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"panel-actions pull-right\">\n <span class=\"label label-{{badgetype}}\">{{ badgevalue }}</span>\n <span class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </span>\n </div>\n </a>\n </h3>\n</div>\n<div [ngClass]=\"isActive ? 'collapse in' : 'collapse'\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\" [wmSmoothscroll]=\"smoothscroll\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n","import {AfterContentInit, ContentChildren, Directive, Inject, Injector, Optional, QueryList} from '@angular/core';\nimport {DynamicComponentRefProvider, noop, StatePersistence} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n createArrayFrom,\n IWidgetConfig,\n provideAsWidgetRef,\n StylableComponent,\n styler\n} from '@wm/components/base';\n\nimport {registerProps} from './accordion.props';\nimport {AccordionPaneComponent} from './accordion-pane/accordion-pane.component';\nimport {find, forEach, get, indexOf, isArray, isNumber} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-accordion panel-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-accordion',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n selector: 'div[wmAccordion]',\n exportAs: 'wmAccordion',\n providers: [\n provideAsWidgetRef(AccordionDirective)\n ]\n})\nexport class AccordionDirective extends StylableComponent implements AfterContentInit {\n static initializeProps = registerProps();\n\n public defaultpaneindex: number;\n public closeothers: boolean;\n public statehandler: any;\n private statePersistence: StatePersistence;\n\n private activePaneIndex: number;\n private activePane: AccordionPaneComponent;\n private promiseResolverFn: Function;\n private dynamicComponentProvider;\n private _dynamicContext;\n private dynamicPaneIndex;\n private dynamicPanes;\n public fieldDefs;\n\n @ContentChildren(AccordionPaneComponent) panes: QueryList<AccordionPaneComponent>;\n\n constructor(inj: Injector, statePersistence: StatePersistence, dynamicComponentProvider: DynamicComponentRefProvider, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n let resolveFn: Function = noop;\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n this.promiseResolverFn = resolveFn;\n this.statePersistence = statePersistence;\n this.dynamicComponentProvider = dynamicComponentProvider;\n this.dynamicPanes = [];\n this.dynamicPaneIndex = 0;\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n }\n\n /**\n * AccordionPane children components invoke this method to communicate with the parent\n * if isExpand is true and when closeothers is true, all the other panes are collapsed\n * if the evt argument is defined on-change callback will be invoked.\n * updates the activePane index property\n * @param {AccordionPaneComponent} paneRef\n * @param {boolean} isExpand\n * @param {Event} evt\n */\n public notifyChange(paneRef: AccordionPaneComponent, isExpand: boolean, evt: Event) {\n if (isExpand) {\n this.closePanesExcept(paneRef);\n const index = this.getPaneIndexByRef(paneRef);\n this.activePane = paneRef.getWidget();\n // if the event is defined invoke the change callback.\n // programmatic invocations of expand/collapse on accordion-pane will not trigger change event\n if (evt) {\n this.invokeEventCallback('change', {\n $event: evt,\n newPaneIndex: index,\n oldPaneIndex: this.activePaneIndex\n });\n }\n this.activePaneIndex = index;\n }\n const mode = this.statePersistence.computeMode(this.statehandler);\n if (evt && mode && mode.toLowerCase() !== 'none') {\n const activePanes = [];\n this.panes.forEach(function(pane) {\n if (pane.isActive) {\n activePanes.push(pane.name);\n }\n });\n if (activePanes.length) {\n this.statePersistence.setWidgetState(this, activePanes);\n } else {\n this.statePersistence.removeWidgetState(this);\n }\n }\n }\n\n /**\n * This method is used to register the dynamic panes.\n * After all panes are initialzed, update the querylist manually based on index.\n * @param paneRef - refrence of the tabpane\n */\n public registerDynamicPane(paneRef) {\n this.dynamicPanes.push(paneRef);\n const isLastPane = this.dynamicPanes.length === this.dynamicPaneIndex;\n if (isLastPane) {\n for (let i = 0; i < this.dynamicPanes.length; i++) {\n const newPaneRef = find(this.dynamicPanes, pane => pane.dynamicPaneIndex === i);\n const isDuplicatePane = find(this.panes.toArray(), newPaneRef);\n if (!isDuplicatePane) {\n this.panes.reset([...this.panes.toArray(), newPaneRef]);\n if (newPaneRef.active) {\n newPaneRef.expand();\n }\n }\n }\n }\n }\n\n /**\n * This method is to add the tabpane dynamically\n * @param tabpanes - list of tabpanes\n */\n public addPane(tabpanes) {\n if (!isArray(tabpanes)) {\n tabpanes = [tabpanes];\n }\n const paneNamesList = [];\n forEach(tabpanes, (pane, index) => {\n const isPaneAlreadyCreated = find(this.panes.toArray(), {name: pane.name});\n const isPaneNameExist = indexOf(paneNamesList, pane.name);\n // If user tries to add tabpane with the same name which is already exists then do not create the pane\n if (isPaneAlreadyCreated || isPaneNameExist > 0) {\n console.warn(`The tab pane with name ${pane.name} already exists`);\n return;\n }\n\n let paramMarkup = '';\n let propsTmpl = '';\n this.dynamicPaneIndex++;\n const name = pane.name ? pane.name : `accordionpane${this.panes.toArray().length + (index + 1)}`;\n paneNamesList.push(name);\n const partialParams = get(pane, 'params');\n\n forEach(pane, (value, key) => {\n if (key !== 'params') {\n propsTmpl = `${propsTmpl} ${key}=\"${value}\"`;\n }\n });\n forEach(partialParams, (value, key) => {\n paramMarkup = `${paramMarkup} <wm-param name=\"${key}\" value=\"${value}\"></wm-param>`;\n });\n const markup = `<wm-accordionpane dynamicPaneIndex=\"${this.dynamicPaneIndex - 1}\" isdynamic=\"true\" name=\"${name}\" ${propsTmpl}>\n ${paramMarkup}\n </wm-accordionpane>`;\n\n if (!this._dynamicContext) {\n this._dynamicContext = Object.create(this.viewParent);\n this._dynamicContext[this.getAttr('wmAccordian')] = this;\n }\n\n this.dynamicComponentProvider.addComponent(this.getNativeElement(), markup, this._dynamicContext, {inj: this.inj});\n });\n return paneNamesList;\n }\n\n /**\n * This method is to remove the tabpane\n * @param paneName - name of the pane\n */\n public removePane(paneName) {\n const paneRef = this.getPaneRefByName(paneName);\n if (paneRef) {\n paneRef.remove();\n }\n }\n\n private isValidPaneIndex(index: number): boolean {\n return (index >= 0 && index < this.panes.length);\n }\n\n private getPaneRefByName(name: string): AccordionPaneComponent {\n return find(this.panes.toArray(), {name: name});\n }\n\n private getPaneIndexByRef(paneRef: AccordionPaneComponent): number {\n return this.panes.toArray().indexOf(paneRef);\n }\n\n private getPaneRefByIndex(index: number): AccordionPaneComponent {\n return this.panes.toArray()[index];\n }\n\n // Except the pane provided close all other panes\n private closePanesExcept(paneRef: AccordionPaneComponent | number) {\n if (isNumber(paneRef)) {\n paneRef = this.getPaneRefByIndex(paneRef as number);\n }\n if (this.closeothers) {\n this.panes.forEach(pane => {\n if (pane !== paneRef) {\n pane.collapse();\n }\n });\n }\n }\n\n private expandPane(index: number) {\n this.closePanesExcept(index);\n this.panes.toArray()[index].expand();\n }\n private onDataChange(newVal) {\n this.fieldDefs = createArrayFrom(newVal);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'defaultpaneindex') {\n this.defaultpaneindex = nv;\n } else if (key === 'dataset') {\n this.onDataChange(nv);\n } else if (key === 'statehandler') {\n const widgetState = this.statePersistence.getWidgetState(this);\n let paneToSelect: any = [];\n if (nv !== 'none' && isArray(widgetState)) {\n widgetState.forEach(paneName => {\n paneToSelect = this.panes.filter(function(pane) {\n return paneName === pane.name;\n });\n if (!paneToSelect.length) {\n console.warn('Accordion pane name ' + paneName + ' in State is incorrect.');\n } else {\n this.expandPane(this.getPaneIndexByRef(paneToSelect[0]));\n }\n });\n } else {\n if (this.isValidPaneIndex(this.defaultpaneindex)) {\n this.expandPane(this.defaultpaneindex);\n }\n }\n } else if (key === 'tabindex') {\n return;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n this.panes.changes.subscribe( slides => {\n if (this.panes.length) {\n this.expandPane(this.defaultpaneindex);\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { AccordionDirective } from './accordion.directive';\nimport { AccordionPaneComponent } from './accordion-pane/accordion-pane.component';\n\nconst components = [\n AccordionPaneComponent,\n AccordionDirective\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class AccordionModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}
@@ -79,14 +79,14 @@
79
79
  i0__namespace.ɵɵclassMapInterpolate1("app-icon panel-icon ", ctx_r1.iconclass, "");
80
80
  } }
81
81
  function PanelComponent_div_0_img_6_Template(rf, ctx) { if (rf & 1) {
82
- i0__namespace.ɵɵelement(0, "img", 23);
82
+ i0__namespace.ɵɵelement(0, "img", 22);
83
83
  i0__namespace.ɵɵpipe(1, "image");
84
84
  } if (rf & 2) {
85
85
  const ctx_r1 = i0__namespace.ɵɵnextContext(2);
86
86
  i0__namespace.ɵɵproperty("src", i0__namespace.ɵɵpipeBind1(1, 2, ctx_r1.iconurl), i0__namespace.ɵɵsanitizeUrl)("ngStyle", i0__namespace.ɵɵpureFunction3(4, _c7, ctx_r1.iconwidth, ctx_r1.iconheight, ctx_r1.iconmargin));
87
87
  } }
88
88
  function PanelComponent_div_0_span_11_Template(rf, ctx) { if (rf & 1) {
89
- i0__namespace.ɵɵelementStart(0, "span", 24);
89
+ i0__namespace.ɵɵelementStart(0, "span");
90
90
  i0__namespace.ɵɵtext(1);
91
91
  i0__namespace.ɵɵelementEnd();
92
92
  } if (rf & 2) {
@@ -96,13 +96,13 @@
96
96
  i0__namespace.ɵɵtextInterpolate(ctx_r1.badgevalue);
97
97
  } }
98
98
  function PanelComponent_div_0_div_12_Template(rf, ctx) { if (rf & 1) {
99
- i0__namespace.ɵɵelement(0, "div", 25);
99
+ i0__namespace.ɵɵelement(0, "div", 23);
100
100
  } }
101
101
  function PanelComponent_div_0_button_13_Template(rf, ctx) { if (rf & 1) {
102
102
  const _r3 = i0__namespace.ɵɵgetCurrentView();
103
- i0__namespace.ɵɵelementStart(0, "button", 26);
103
+ i0__namespace.ɵɵelementStart(0, "button", 24);
104
104
  i0__namespace.ɵɵlistener("click", function PanelComponent_div_0_button_13_Template_button_click_0_listener() { i0__namespace.ɵɵrestoreView(_r3); const ctx_r1 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r1.toggleHelp()); });
105
- i0__namespace.ɵɵelement(1, "i", 27);
105
+ i0__namespace.ɵɵelement(1, "i", 25);
106
106
  i0__namespace.ɵɵelementEnd();
107
107
  } if (rf & 2) {
108
108
  const ctx_r1 = i0__namespace.ɵɵnextContext(2);
@@ -110,9 +110,9 @@
110
110
  } }
111
111
  function PanelComponent_div_0_button_14_Template(rf, ctx) { if (rf & 1) {
112
112
  const _r4 = i0__namespace.ɵɵgetCurrentView();
113
- i0__namespace.ɵɵelementStart(0, "button", 28);
113
+ i0__namespace.ɵɵelementStart(0, "button", 26);
114
114
  i0__namespace.ɵɵlistener("click", function PanelComponent_div_0_button_14_Template_button_click_0_listener($event) { i0__namespace.ɵɵrestoreView(_r4); const ctx_r1 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r1.toggle($event)); });
115
- i0__namespace.ɵɵelement(1, "i", 29);
115
+ i0__namespace.ɵɵelement(1, "i", 27);
116
116
  i0__namespace.ɵɵelementEnd();
117
117
  } if (rf & 2) {
118
118
  const ctx_r1 = i0__namespace.ɵɵnextContext(2);
@@ -123,9 +123,9 @@
123
123
  } }
124
124
  function PanelComponent_div_0_button_15_Template(rf, ctx) { if (rf & 1) {
125
125
  const _r5 = i0__namespace.ɵɵgetCurrentView();
126
- i0__namespace.ɵɵelementStart(0, "button", 30);
126
+ i0__namespace.ɵɵelementStart(0, "button", 28);
127
127
  i0__namespace.ɵɵlistener("click", function PanelComponent_div_0_button_15_Template_button_click_0_listener($event) { i0__namespace.ɵɵrestoreView(_r5); const ctx_r1 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r1.toggleFullScreen($event)); });
128
- i0__namespace.ɵɵelement(1, "i", 29);
128
+ i0__namespace.ɵɵelement(1, "i", 27);
129
129
  i0__namespace.ɵɵelementEnd();
130
130
  } if (rf & 2) {
131
131
  const ctx_r1 = i0__namespace.ɵɵnextContext(2);
@@ -135,9 +135,9 @@
135
135
  } }
136
136
  function PanelComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1) {
137
137
  const _r6 = i0__namespace.ɵɵgetCurrentView();
138
- i0__namespace.ɵɵelementStart(0, "button", 31);
138
+ i0__namespace.ɵɵelementStart(0, "button", 29);
139
139
  i0__namespace.ɵɵlistener("click", function PanelComponent_div_0_button_16_Template_button_click_0_listener($event) { i0__namespace.ɵɵrestoreView(_r6); const ctx_r1 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r1.close($event)); });
140
- i0__namespace.ɵɵelement(1, "i", 32);
140
+ i0__namespace.ɵɵelement(1, "i", 30);
141
141
  i0__namespace.ɵɵelementEnd();
142
142
  } if (rf & 2) {
143
143
  const ctx_r1 = i0__namespace.ɵɵnextContext(2);
@@ -154,7 +154,7 @@
154
154
  i0__namespace.ɵɵelement(8, "div", 14)(9, "div", 15);
155
155
  i0__namespace.ɵɵelementEnd()();
156
156
  i0__namespace.ɵɵelementStart(10, "div", 16);
157
- i0__namespace.ɵɵtemplate(11, PanelComponent_div_0_span_11_Template, 2, 4, "span", 17)(12, PanelComponent_div_0_div_12_Template, 1, 0, "div", 18)(13, PanelComponent_div_0_button_13_Template, 2, 1, "button", 19)(14, PanelComponent_div_0_button_14_Template, 2, 3, "button", 20)(15, PanelComponent_div_0_button_15_Template, 2, 2, "button", 21)(16, PanelComponent_div_0_button_16_Template, 2, 1, "button", 22);
157
+ i0__namespace.ɵɵtemplate(11, PanelComponent_div_0_span_11_Template, 2, 4, "span", 3)(12, PanelComponent_div_0_div_12_Template, 1, 0, "div", 17)(13, PanelComponent_div_0_button_13_Template, 2, 1, "button", 18)(14, PanelComponent_div_0_button_14_Template, 2, 3, "button", 19)(15, PanelComponent_div_0_button_15_Template, 2, 2, "button", 20)(16, PanelComponent_div_0_button_16_Template, 2, 1, "button", 21);
158
158
  i0__namespace.ɵɵelementEnd()()();
159
159
  } if (rf & 2) {
160
160
  const ctx_r1 = i0__namespace.ɵɵnextContext();
@@ -313,7 +313,7 @@
313
313
  i0__namespace.ɵɵqueryRefresh(_t = i0__namespace.ɵɵloadQuery()) && (ctx.panelBody = _t.first);
314
314
  } }, exportAs: ["wmPanel"], features: [i0__namespace.ɵɵProvidersFeature([
315
315
  i4.provideAsWidgetRef(PanelComponent)
316
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c3, ngContentSelectors: _c5, decls: 12, vars: 12, consts: [["panelContent", ""], ["panelBody", ""], ["panelHeading", ""], [3, "class", 4, "ngIf"], [1, "panel-content", 3, "hidden"], ["partial-container-target", "", 3, "ngClass"], [1, "panel-help-message", 3, "ngClass"], [1, "panel-help-header", 3, "textContent"], [1, "panel-help-content", 3, "innerHTML"], [1, "app-panel-footer", "panel-footer", "clearfix", 3, "hidden"], [1, "panel-title"], ["href", "javascript:void(0)", 1, "panel-toggle", 3, "click"], [1, "pull-left"], ["data-identifier", "img", "title", "iconurl", "alt", "Panel icon", "class", "panel-image-icon", 3, "src", "ngStyle", 4, "ngIf"], [1, "heading", 3, "innerHTML", "title"], [1, "description", 3, "innerHTML"], [1, "panel-actions"], ["aria-label", "badge", 3, "class", 4, "ngIf"], ["wmMenu", "", "aria-label", "dropdown", "dropdown", "", "type", "anchor", "class", "panel-action", "dataset.bind", "actions", "caption", "", "menuposition", "down,left", "iconclass", "wi wi-more-vert", "autoclose.bind", "autoclose", "datafield.bind", "datafield", "select.event", "menuActionItemClick($event,$item)", 4, "ngIf"], ["type", "button", "aria-label", "Help", "class", "app-icon panel-action wi", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Collapse/Expand", "class", "app-icon wi panel-action", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Fullscreen/Exit", "class", "app-icon panel-action wi", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Close button", "class", "app-icon panel-action", 3, "title", "click", 4, "ngIf"], ["data-identifier", "img", "title", "iconurl", "alt", "Panel icon", 1, "panel-image-icon", 3, "src", "ngStyle"], ["aria-label", "badge"], ["wmMenu", "", "aria-label", "dropdown", "dropdown", "", "type", "anchor", "dataset.bind", "actions", "caption", "", "menuposition", "down,left", "iconclass", "wi wi-more-vert", "autoclose.bind", "autoclose", "datafield.bind", "datafield", "select.event", "menuActionItemClick($event,$item)", 1, "panel-action"], ["type", "button", "aria-label", "Help", 1, "app-icon", "panel-action", "wi", 3, "click", "title"], [1, "wi-question"], ["type", "button", "aria-label", "Collapse/Expand", 1, "app-icon", "wi", "panel-action", 3, "click", "title"], [3, "ngClass"], ["type", "button", "aria-label", "Fullscreen/Exit", 1, "app-icon", "panel-action", "wi", 3, "click", "title"], ["type", "button", "aria-label", "Close button", 1, "app-icon", "panel-action", 3, "click", "title"], [1, "wi", "wi-close"]], template: function PanelComponent_Template(rf, ctx) { if (rf & 1) {
316
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c3, ngContentSelectors: _c5, decls: 12, vars: 12, consts: [["panelContent", ""], ["panelBody", ""], ["panelHeading", ""], [3, "class", 4, "ngIf"], [1, "panel-content", 3, "hidden"], ["partial-container-target", "", 3, "ngClass"], [1, "panel-help-message", 3, "ngClass"], [1, "panel-help-header", 3, "textContent"], [1, "panel-help-content", 3, "innerHTML"], [1, "app-panel-footer", "panel-footer", "clearfix", 3, "hidden"], [1, "panel-title"], ["href", "javascript:void(0)", 1, "panel-toggle", 3, "click"], [1, "pull-left"], ["data-identifier", "img", "title", "iconurl", "alt", "Panel icon", "class", "panel-image-icon", 3, "src", "ngStyle", 4, "ngIf"], [1, "heading", 3, "innerHTML", "title"], [1, "description", 3, "innerHTML"], [1, "panel-actions"], ["wmMenu", "", "aria-label", "dropdown", "dropdown", "", "type", "anchor", "class", "panel-action", "dataset.bind", "actions", "caption", "", "menuposition", "down,left", "iconclass", "wi wi-more-vert", "autoclose.bind", "autoclose", "datafield.bind", "datafield", "select.event", "menuActionItemClick($event,$item)", 4, "ngIf"], ["type", "button", "aria-label", "Help", "class", "app-icon panel-action wi", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Collapse/Expand", "class", "app-icon wi panel-action", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Fullscreen/Exit", "class", "app-icon panel-action wi", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Close button", "class", "app-icon panel-action", 3, "title", "click", 4, "ngIf"], ["data-identifier", "img", "title", "iconurl", "alt", "Panel icon", 1, "panel-image-icon", 3, "src", "ngStyle"], ["wmMenu", "", "aria-label", "dropdown", "dropdown", "", "type", "anchor", "dataset.bind", "actions", "caption", "", "menuposition", "down,left", "iconclass", "wi wi-more-vert", "autoclose.bind", "autoclose", "datafield.bind", "datafield", "select.event", "menuActionItemClick($event,$item)", 1, "panel-action"], ["type", "button", "aria-label", "Help", 1, "app-icon", "panel-action", "wi", 3, "click", "title"], [1, "wi-question"], ["type", "button", "aria-label", "Collapse/Expand", 1, "app-icon", "wi", "panel-action", 3, "click", "title"], [3, "ngClass"], ["type", "button", "aria-label", "Fullscreen/Exit", 1, "app-icon", "panel-action", "wi", 3, "click", "title"], ["type", "button", "aria-label", "Close button", 1, "app-icon", "panel-action", 3, "click", "title"], [1, "wi", "wi-close"]], template: function PanelComponent_Template(rf, ctx) { if (rf & 1) {
317
317
  i0__namespace.ɵɵprojectionDef(_c4);
318
318
  i0__namespace.ɵɵtemplate(0, PanelComponent_div_0_Template, 17, 15, "div", 3);
319
319
  i0__namespace.ɵɵelementStart(1, "div", 4, 0)(3, "div", 5, 1);
@@ -346,7 +346,7 @@
346
346
  type: i0.Component,
347
347
  args: [{ selector: '[wmPanel]', providers: [
348
348
  i4.provideAsWidgetRef(PanelComponent)
349
- ], exportAs: 'wmPanel', template: "<div class=\"panel-heading {{helpClass}}\" *ngIf=\"showHeader\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" *ngIf=\"iconclass && !iconurl\"></i>\n <img data-identifier=\"img\" title=\"iconurl\" alt=\"Panel icon\" class=\"panel-image-icon\"\n [src]=\"iconurl | image\" *ngIf=\"iconurl\"\n [ngStyle]=\"{width: iconwidth ,height: iconheight, margin: iconmargin}\" />\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n <span *ngIf=\"badgevalue\" aria-label=\"badge\"\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n *ngIf=\"actions\" caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n *ngIf=\"helptext\" (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\" *ngIf=\"collapsible\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\" *ngIf=\"enablefullscreen\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" *ngIf=\"closable\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n </div>\n </div>\n</div>\n<div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n</div>\n<div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n</div>\n" }]
349
+ ], exportAs: 'wmPanel', template: "<div class=\"panel-heading {{helpClass}}\" *ngIf=\"showHeader\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" *ngIf=\"iconclass && !iconurl\"></i>\n <img data-identifier=\"img\" title=\"iconurl\" alt=\"Panel icon\" class=\"panel-image-icon\"\n [src]=\"iconurl | image\" *ngIf=\"iconurl\"\n [ngStyle]=\"{width: iconwidth ,height: iconheight, margin: iconmargin}\" />\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n <span *ngIf=\"badgevalue\"\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n *ngIf=\"actions\" caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n *ngIf=\"helptext\" (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\" *ngIf=\"collapsible\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\" *ngIf=\"enablefullscreen\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" *ngIf=\"closable\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n </div>\n </div>\n</div>\n<div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n</div>\n<div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n</div>\n" }]
350
350
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
351
351
  type: i0.Inject,
352
352
  args: ['EXPLICIT_CONTEXT']
@@ -24,14 +24,14 @@ function PanelComponent_div_0_i_5_Template(rf, ctx) { if (rf & 1) {
24
24
  i0.ɵɵclassMapInterpolate1("app-icon panel-icon ", ctx_r1.iconclass, "");
25
25
  } }
26
26
  function PanelComponent_div_0_img_6_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelement(0, "img", 23);
27
+ i0.ɵɵelement(0, "img", 22);
28
28
  i0.ɵɵpipe(1, "image");
29
29
  } if (rf & 2) {
30
30
  const ctx_r1 = i0.ɵɵnextContext(2);
31
31
  i0.ɵɵproperty("src", i0.ɵɵpipeBind1(1, 2, ctx_r1.iconurl), i0.ɵɵsanitizeUrl)("ngStyle", i0.ɵɵpureFunction3(4, _c7, ctx_r1.iconwidth, ctx_r1.iconheight, ctx_r1.iconmargin));
32
32
  } }
33
33
  function PanelComponent_div_0_span_11_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelementStart(0, "span", 24);
34
+ i0.ɵɵelementStart(0, "span");
35
35
  i0.ɵɵtext(1);
36
36
  i0.ɵɵelementEnd();
37
37
  } if (rf & 2) {
@@ -41,13 +41,13 @@ function PanelComponent_div_0_span_11_Template(rf, ctx) { if (rf & 1) {
41
41
  i0.ɵɵtextInterpolate(ctx_r1.badgevalue);
42
42
  } }
43
43
  function PanelComponent_div_0_div_12_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelement(0, "div", 25);
44
+ i0.ɵɵelement(0, "div", 23);
45
45
  } }
46
46
  function PanelComponent_div_0_button_13_Template(rf, ctx) { if (rf & 1) {
47
47
  const _r3 = i0.ɵɵgetCurrentView();
48
- i0.ɵɵelementStart(0, "button", 26);
48
+ i0.ɵɵelementStart(0, "button", 24);
49
49
  i0.ɵɵlistener("click", function PanelComponent_div_0_button_13_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleHelp()); });
50
- i0.ɵɵelement(1, "i", 27);
50
+ i0.ɵɵelement(1, "i", 25);
51
51
  i0.ɵɵelementEnd();
52
52
  } if (rf & 2) {
53
53
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -55,9 +55,9 @@ function PanelComponent_div_0_button_13_Template(rf, ctx) { if (rf & 1) {
55
55
  } }
56
56
  function PanelComponent_div_0_button_14_Template(rf, ctx) { if (rf & 1) {
57
57
  const _r4 = i0.ɵɵgetCurrentView();
58
- i0.ɵɵelementStart(0, "button", 28);
58
+ i0.ɵɵelementStart(0, "button", 26);
59
59
  i0.ɵɵlistener("click", function PanelComponent_div_0_button_14_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggle($event)); });
60
- i0.ɵɵelement(1, "i", 29);
60
+ i0.ɵɵelement(1, "i", 27);
61
61
  i0.ɵɵelementEnd();
62
62
  } if (rf & 2) {
63
63
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -68,9 +68,9 @@ function PanelComponent_div_0_button_14_Template(rf, ctx) { if (rf & 1) {
68
68
  } }
69
69
  function PanelComponent_div_0_button_15_Template(rf, ctx) { if (rf & 1) {
70
70
  const _r5 = i0.ɵɵgetCurrentView();
71
- i0.ɵɵelementStart(0, "button", 30);
71
+ i0.ɵɵelementStart(0, "button", 28);
72
72
  i0.ɵɵlistener("click", function PanelComponent_div_0_button_15_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleFullScreen($event)); });
73
- i0.ɵɵelement(1, "i", 29);
73
+ i0.ɵɵelement(1, "i", 27);
74
74
  i0.ɵɵelementEnd();
75
75
  } if (rf & 2) {
76
76
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -80,9 +80,9 @@ function PanelComponent_div_0_button_15_Template(rf, ctx) { if (rf & 1) {
80
80
  } }
81
81
  function PanelComponent_div_0_button_16_Template(rf, ctx) { if (rf & 1) {
82
82
  const _r6 = i0.ɵɵgetCurrentView();
83
- i0.ɵɵelementStart(0, "button", 31);
83
+ i0.ɵɵelementStart(0, "button", 29);
84
84
  i0.ɵɵlistener("click", function PanelComponent_div_0_button_16_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.close($event)); });
85
- i0.ɵɵelement(1, "i", 32);
85
+ i0.ɵɵelement(1, "i", 30);
86
86
  i0.ɵɵelementEnd();
87
87
  } if (rf & 2) {
88
88
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -99,7 +99,7 @@ function PanelComponent_div_0_Template(rf, ctx) { if (rf & 1) {
99
99
  i0.ɵɵelement(8, "div", 14)(9, "div", 15);
100
100
  i0.ɵɵelementEnd()();
101
101
  i0.ɵɵelementStart(10, "div", 16);
102
- i0.ɵɵtemplate(11, PanelComponent_div_0_span_11_Template, 2, 4, "span", 17)(12, PanelComponent_div_0_div_12_Template, 1, 0, "div", 18)(13, PanelComponent_div_0_button_13_Template, 2, 1, "button", 19)(14, PanelComponent_div_0_button_14_Template, 2, 3, "button", 20)(15, PanelComponent_div_0_button_15_Template, 2, 2, "button", 21)(16, PanelComponent_div_0_button_16_Template, 2, 1, "button", 22);
102
+ i0.ɵɵtemplate(11, PanelComponent_div_0_span_11_Template, 2, 4, "span", 3)(12, PanelComponent_div_0_div_12_Template, 1, 0, "div", 17)(13, PanelComponent_div_0_button_13_Template, 2, 1, "button", 18)(14, PanelComponent_div_0_button_14_Template, 2, 3, "button", 19)(15, PanelComponent_div_0_button_15_Template, 2, 2, "button", 20)(16, PanelComponent_div_0_button_16_Template, 2, 1, "button", 21);
103
103
  i0.ɵɵelementEnd()()();
104
104
  } if (rf & 2) {
105
105
  const ctx_r1 = i0.ɵɵnextContext();
@@ -258,7 +258,7 @@ export class PanelComponent extends MenuAdapterComponent {
258
258
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.panelBody = _t.first);
259
259
  } }, exportAs: ["wmPanel"], features: [i0.ɵɵProvidersFeature([
260
260
  provideAsWidgetRef(PanelComponent)
261
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c3, ngContentSelectors: _c5, decls: 12, vars: 12, consts: [["panelContent", ""], ["panelBody", ""], ["panelHeading", ""], [3, "class", 4, "ngIf"], [1, "panel-content", 3, "hidden"], ["partial-container-target", "", 3, "ngClass"], [1, "panel-help-message", 3, "ngClass"], [1, "panel-help-header", 3, "textContent"], [1, "panel-help-content", 3, "innerHTML"], [1, "app-panel-footer", "panel-footer", "clearfix", 3, "hidden"], [1, "panel-title"], ["href", "javascript:void(0)", 1, "panel-toggle", 3, "click"], [1, "pull-left"], ["data-identifier", "img", "title", "iconurl", "alt", "Panel icon", "class", "panel-image-icon", 3, "src", "ngStyle", 4, "ngIf"], [1, "heading", 3, "innerHTML", "title"], [1, "description", 3, "innerHTML"], [1, "panel-actions"], ["aria-label", "badge", 3, "class", 4, "ngIf"], ["wmMenu", "", "aria-label", "dropdown", "dropdown", "", "type", "anchor", "class", "panel-action", "dataset.bind", "actions", "caption", "", "menuposition", "down,left", "iconclass", "wi wi-more-vert", "autoclose.bind", "autoclose", "datafield.bind", "datafield", "select.event", "menuActionItemClick($event,$item)", 4, "ngIf"], ["type", "button", "aria-label", "Help", "class", "app-icon panel-action wi", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Collapse/Expand", "class", "app-icon wi panel-action", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Fullscreen/Exit", "class", "app-icon panel-action wi", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Close button", "class", "app-icon panel-action", 3, "title", "click", 4, "ngIf"], ["data-identifier", "img", "title", "iconurl", "alt", "Panel icon", 1, "panel-image-icon", 3, "src", "ngStyle"], ["aria-label", "badge"], ["wmMenu", "", "aria-label", "dropdown", "dropdown", "", "type", "anchor", "dataset.bind", "actions", "caption", "", "menuposition", "down,left", "iconclass", "wi wi-more-vert", "autoclose.bind", "autoclose", "datafield.bind", "datafield", "select.event", "menuActionItemClick($event,$item)", 1, "panel-action"], ["type", "button", "aria-label", "Help", 1, "app-icon", "panel-action", "wi", 3, "click", "title"], [1, "wi-question"], ["type", "button", "aria-label", "Collapse/Expand", 1, "app-icon", "wi", "panel-action", 3, "click", "title"], [3, "ngClass"], ["type", "button", "aria-label", "Fullscreen/Exit", 1, "app-icon", "panel-action", "wi", 3, "click", "title"], ["type", "button", "aria-label", "Close button", 1, "app-icon", "panel-action", 3, "click", "title"], [1, "wi", "wi-close"]], template: function PanelComponent_Template(rf, ctx) { if (rf & 1) {
261
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c3, ngContentSelectors: _c5, decls: 12, vars: 12, consts: [["panelContent", ""], ["panelBody", ""], ["panelHeading", ""], [3, "class", 4, "ngIf"], [1, "panel-content", 3, "hidden"], ["partial-container-target", "", 3, "ngClass"], [1, "panel-help-message", 3, "ngClass"], [1, "panel-help-header", 3, "textContent"], [1, "panel-help-content", 3, "innerHTML"], [1, "app-panel-footer", "panel-footer", "clearfix", 3, "hidden"], [1, "panel-title"], ["href", "javascript:void(0)", 1, "panel-toggle", 3, "click"], [1, "pull-left"], ["data-identifier", "img", "title", "iconurl", "alt", "Panel icon", "class", "panel-image-icon", 3, "src", "ngStyle", 4, "ngIf"], [1, "heading", 3, "innerHTML", "title"], [1, "description", 3, "innerHTML"], [1, "panel-actions"], ["wmMenu", "", "aria-label", "dropdown", "dropdown", "", "type", "anchor", "class", "panel-action", "dataset.bind", "actions", "caption", "", "menuposition", "down,left", "iconclass", "wi wi-more-vert", "autoclose.bind", "autoclose", "datafield.bind", "datafield", "select.event", "menuActionItemClick($event,$item)", 4, "ngIf"], ["type", "button", "aria-label", "Help", "class", "app-icon panel-action wi", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Collapse/Expand", "class", "app-icon wi panel-action", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Fullscreen/Exit", "class", "app-icon panel-action wi", 3, "title", "click", 4, "ngIf"], ["type", "button", "aria-label", "Close button", "class", "app-icon panel-action", 3, "title", "click", 4, "ngIf"], ["data-identifier", "img", "title", "iconurl", "alt", "Panel icon", 1, "panel-image-icon", 3, "src", "ngStyle"], ["wmMenu", "", "aria-label", "dropdown", "dropdown", "", "type", "anchor", "dataset.bind", "actions", "caption", "", "menuposition", "down,left", "iconclass", "wi wi-more-vert", "autoclose.bind", "autoclose", "datafield.bind", "datafield", "select.event", "menuActionItemClick($event,$item)", 1, "panel-action"], ["type", "button", "aria-label", "Help", 1, "app-icon", "panel-action", "wi", 3, "click", "title"], [1, "wi-question"], ["type", "button", "aria-label", "Collapse/Expand", 1, "app-icon", "wi", "panel-action", 3, "click", "title"], [3, "ngClass"], ["type", "button", "aria-label", "Fullscreen/Exit", 1, "app-icon", "panel-action", "wi", 3, "click", "title"], ["type", "button", "aria-label", "Close button", 1, "app-icon", "panel-action", 3, "click", "title"], [1, "wi", "wi-close"]], template: function PanelComponent_Template(rf, ctx) { if (rf & 1) {
262
262
  i0.ɵɵprojectionDef(_c4);
263
263
  i0.ɵɵtemplate(0, PanelComponent_div_0_Template, 17, 15, "div", 3);
264
264
  i0.ɵɵelementStart(1, "div", 4, 0)(3, "div", 5, 1);
@@ -291,7 +291,7 @@ export class PanelComponent extends MenuAdapterComponent {
291
291
  type: Component,
292
292
  args: [{ selector: '[wmPanel]', providers: [
293
293
  provideAsWidgetRef(PanelComponent)
294
- ], exportAs: 'wmPanel', template: "<div class=\"panel-heading {{helpClass}}\" *ngIf=\"showHeader\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" *ngIf=\"iconclass && !iconurl\"></i>\n <img data-identifier=\"img\" title=\"iconurl\" alt=\"Panel icon\" class=\"panel-image-icon\"\n [src]=\"iconurl | image\" *ngIf=\"iconurl\"\n [ngStyle]=\"{width: iconwidth ,height: iconheight, margin: iconmargin}\" />\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n <span *ngIf=\"badgevalue\" aria-label=\"badge\"\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n *ngIf=\"actions\" caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n *ngIf=\"helptext\" (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\" *ngIf=\"collapsible\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\" *ngIf=\"enablefullscreen\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" *ngIf=\"closable\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n </div>\n </div>\n</div>\n<div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n</div>\n<div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n</div>\n" }]
294
+ ], exportAs: 'wmPanel', template: "<div class=\"panel-heading {{helpClass}}\" *ngIf=\"showHeader\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" *ngIf=\"iconclass && !iconurl\"></i>\n <img data-identifier=\"img\" title=\"iconurl\" alt=\"Panel icon\" class=\"panel-image-icon\"\n [src]=\"iconurl | image\" *ngIf=\"iconurl\"\n [ngStyle]=\"{width: iconwidth ,height: iconheight, margin: iconmargin}\" />\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n <span *ngIf=\"badgevalue\"\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n *ngIf=\"actions\" caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n *ngIf=\"helptext\" (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\" *ngIf=\"collapsible\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\" *ngIf=\"enablefullscreen\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" *ngIf=\"closable\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n </div>\n </div>\n</div>\n<div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n</div>\n<div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n</div>\n" }]
295
295
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
296
296
  type: Inject,
297
297
  args: ['EXPLICIT_CONTEXT']
@@ -311,4 +311,4 @@ export class PanelComponent extends MenuAdapterComponent {
311
311
  args: [RedrawableDirective, { descendants: true }]
312
312
  }] }); })();
313
313
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PanelComponent, { className: "PanelComponent", filePath: "panel.component.ts", lineNumber: 31 }); })();
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2NvbnRhaW5lcnMvcGFuZWwvc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9jb250YWluZXJzL3BhbmVsL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNaZixvQkFBK0U7OztJQUE1RSx1RUFBeUM7OztJQUM1QywwQkFFOEU7Ozs7SUFBekUsQUFEQSw0RUFBdUIsK0ZBQytDOzs7SUFRL0UsZ0NBQ2tEO0lBQUEsWUFBYztJQUFBLGlCQUFPOzs7SUFBakUseUVBQTJDO0lBQUMsY0FBYztJQUFkLHVDQUFjOzs7SUFDaEUsMEJBR007Ozs7SUFDTixrQ0FDZ0Q7SUFBdkIscUxBQVMsbUJBQVksS0FBQztJQUFDLHdCQUEyQjtJQUFBLGlCQUFTOzs7SUFEWCxtREFBOEI7Ozs7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Q1MsU0FBUzs7c0JBd0NTLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQWpCYixXQUFXO2tCQUE3RCxTQUFTO21CQUFDLGNBQWMsRUFBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7WUFDUyxZQUFZO2tCQUE3RCxTQUFTO21CQUFDLGNBQWMsRUFBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7WUFDTyxTQUFTO2tCQUF2RCxTQUFTO21CQUFDLFdBQVcsRUFBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7WUFDd0Isb0JBQW9CO2tCQUFoRixlQUFlO21CQUFDLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTs7a0ZBdkJsRCxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHskYXBwRGlnZXN0LCBub29wLCByZW1vdmVBdHRyLCBzZXRDU1MsIHRvZ2dsZUNsYXNzfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBBUFBMWV9TVFlMRVNfVFlQRSwgSVdpZGdldENvbmZpZywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBSZWRyYXdhYmxlRGlyZWN0aXZlLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IE1lbnVBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9tZW51JztcbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL3BhbmVsLnByb3BzJztcbmltcG9ydCB7b21pdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtcGFuZWwgcGFuZWwnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHsgd2lkZ2V0VHlwZTogJ3dtLXBhbmVsJywgaG9zdENsYXNzOiBERUZBVUxUX0NMUyB9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bVBhbmVsXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFBhbmVsQ29tcG9uZW50KVxuICAgIF0sXG4gICAgZXhwb3J0QXM6ICd3bVBhbmVsJ1xufSlcblxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgTWVudUFkYXB0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgJGxhenlMb2FkID0gbm9vcDtcbiAgICBwdWJsaWMgaWNvbnVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgY29sbGFwc2libGU6IGJvb2xlYW47XG4gICAgcHVibGljIGV4cGFuZGVkID0gdHJ1ZTtcbiAgICBwdWJsaWMgZW5hYmxlZnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgICBwdWJsaWMgZnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgICBwdWJsaWMgc3ViaGVhZGluZzogc3RyaW5nO1xuICAgIHB1YmxpYyBhY3Rpb25zOiBhbnk7XG4gICAgcHVibGljIHNlbGVjdGVkQWN0aW9uOiBhbnk7XG5cbiAgICBwdWJsaWMgaGVscENsYXNzID0gJyc7XG4gICAgcHVibGljIGhlbHB0ZXh0ID0gJyc7XG4gICAgcHJpdmF0ZSBmdWxsU2NyZWVuVGl0bGU6IHN0cmluZztcbiAgICBwcml2YXRlIGV4cGFuZENvbGxhcHNlVGl0bGU6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ3BhbmVsSGVhZGluZycse3N0YXRpYzogZmFsc2V9KSBwcml2YXRlIHBhbmVsSGVhZGVyOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3BhbmVsQ29udGVudCcse3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgcGFuZWxDb250ZW50OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3BhbmVsQm9keScse3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgcGFuZWxCb2R5OiBFbGVtZW50UmVmO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oUmVkcmF3YWJsZURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSByZURyYXdhYmxlQ29tcG9uZW50cztcblxuICAgIHByaXZhdGUgaGFzRm9vdGVyOiBib29sZWFuO1xuXG4gICAgLy8gY29uZGl0aW9ucyB0byBzaG93IHRoZSBmb290ZXJcbiAgICBwdWJsaWMgZ2V0IGhpZGVGb290ZXIoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oYXNGb290ZXIgfHwgIXRoaXMuZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLy8gY29uZGl0aW9ucyB0byBzaG93IGhlYWRlclxuICAgIHB1YmxpYyBnZXQgc2hvd0hlYWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbnVybCB8fCB0aGlzLmljb25jbGFzcyB8fCB0aGlzLmNvbGxhcHNpYmxlIHx8IHRoaXMuYWN0aW9ucyB8fCB0aGlzLnRpdGxlIHx8IHRoaXMuc3ViaGVhZGluZyB8fCB0aGlzLmVuYWJsZWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcblxuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5TSEVMTCk7XG5cbiAgICAgICAgdGhpcy5mdWxsU2NyZWVuVGl0bGUgPSBgJHt0aGlzLmFwcExvY2FsZS5MQUJFTF9GVUxMU0NSRUVOfS8ke3RoaXMuYXBwTG9jYWxlLkxBQkVMX0VYSVRGVUxMU0NSRUVOfWA7XG4gICAgICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VUaXRsZSA9IGAke3RoaXMuYXBwTG9jYWxlLkxBQkVMX0NPTExBUFNFfS8ke3RoaXMuYXBwTG9jYWxlLkxBQkVMX0VYUEFORH1gO1xuICAgICAgICByZW1vdmVBdHRyKHRoaXMubmF0aXZlRWxlbWVudCwgJ3RpdGxlJyk7XG4gICAgfVxuXG4gICAgLy8gdG9nZ2xlIHRoZSBwYW5lbCBzdGF0ZSBiZXR3ZWVuIGNvbGxhcHNlZCAtIGV4cGFuZGVkLiBpbnZva2UgdGhlIHJlc3BlY3RpdmUgY2FsbGJhY2tzXG4gICAgcHVibGljIHRvZ2dsZSgkZXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjayh0aGlzLmV4cGFuZGVkID8gJ2NvbGxhcHNlJyA6ICdleHBhbmQnLCB7ICRldmVudCB9KTtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kbGF6eUxvYWQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlRHJhd0NoaWxkcmVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwYW5kKCRldmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKCRldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY29sbGFwc2UoJGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZSgkZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gdG9nZ2xlIHRoZSBmdWxsc2NyZWVuIHN0YXRlIG9mIHRoZSBwYW5lbC4gaW52b2tlIHRoZSByZXNwZWN0aXZlIGNhbGxiYWNrc1xuICAgIHByb3RlY3RlZCB0b2dnbGVGdWxsU2NyZWVuKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVmdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2sodGhpcy5mdWxsc2NyZWVuID8gJ2V4aXRmdWxsc2NyZWVuJyA6ICdmdWxsc2NyZWVuJywgeyAkZXZlbnQgfSk7XG4gICAgICAgICAgICB0aGlzLmZ1bGxzY3JlZW4gPSAhdGhpcy5mdWxsc2NyZWVuO1xuICAgICAgICAgICAgdG9nZ2xlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnZnVsbHNjcmVlbicsIHRoaXMuZnVsbHNjcmVlbik7XG4gICAgICAgICAgICAvLyBSZS1wbG90IHRoZSB3aWRnZXRzIGluc2lkZSBwYW5lbFxuICAgICAgICAgICAgdGhpcy5yZURyYXdDaGlsZHJlbigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29tcHV0ZURpbWVuc2lvbnMoKTtcbiAgICB9XG5cbiAgICAvLyBzaG93L2hpZGUgaGVscFxuICAgIHByb3RlY3RlZCB0b2dnbGVIZWxwKCkge1xuICAgICAgICB0aGlzLmhlbHBDbGFzcyA9IHRoaXMuaGVscENsYXNzID8gJycgOiAnc2hvdy1oZWxwJztcbiAgICAgICAgdG9nZ2xlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnc2hvdy1oZWxwJywgISF0aGlzLmhlbHBDbGFzcyk7XG4gICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICB9XG5cbiAgICAvLyBPbiBhY3Rpb24gaXRlbSBjbGlja1xuICAgIHByb3RlY3RlZCBtZW51QWN0aW9uSXRlbUNsaWNrKCRldmVudCwgJGl0ZW0pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbiA9IG9taXQoJGl0ZW0sIFsnY2hpbGRyZW4nLCAndmFsdWUnXSk7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnYWN0aW9uc2NsaWNrJywgeyAkZXZlbnQsICRpdGVtOiB0aGlzLnNlbGVjdGVkQWN0aW9uIH0pO1xuICAgIH1cblxuICAgIC8vIGhpZGUgdGhlIHBhbmVsIGFuZCBpbnZva2UgdGhlIHJlc3BlY3RpdmUgZXZlbnQgaGFuZGxlclxuICAgIHByb3RlY3RlZCBjbG9zZSgkZXZlbnQpIHtcbiAgICAgICAgdGhpcy5nZXRXaWRnZXQoKS5zaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnY2xvc2UnLCB7ICRldmVudCB9KTtcbiAgICB9XG5cbiAgICAvLyBjYWxjdWxhdGlvbiBvZiBkaW1lbnNpb25zIHdoZW4gdGhlIHBhbmVsIHRoZSBwYW5lbCBzdGF0ZSBjaGFuZ2VzIGZyb20vdG8gZnVsbHNjcmVlblxuICAgIHByaXZhdGUgY29tcHV0ZURpbWVuc2lvbnMoKSB7XG4gICAgICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMucGFuZWxIZWFkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGZvb3RlciA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucGFuZWwtZm9vdGVyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnBhbmVsQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB2SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG4gICAgICAgIGxldCBpbmxpbmVIZWlnaHQ7XG5cbiAgICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlbikge1xuICAgICAgICAgICAgaW5saW5lSGVpZ2h0ID0gdGhpcy5oaWRlRm9vdGVyID8gKHZIZWlnaHQgLSBoZWFkZXJIZWlnaHQpIDogdkhlaWdodCAtIChmb290ZXIub2Zmc2V0SGVpZ2h0ICsgaGVhZGVySGVpZ2h0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlubGluZUhlaWdodCA9IHRoaXMuaGVpZ2h0IHx8ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0Q1NTKGNvbnRlbnQsICdoZWlnaHQnLCBpbmxpbmVIZWlnaHQpO1xuICAgIH1cblxuICAgIC8vIG5vdGlmeSB0aGUgcmVkcmF3YWJsZSBjb21wb25lbnRzKGNoYXJ0cywgZ3JpZClcbiAgICBwcml2YXRlIHJlRHJhd0NoaWxkcmVuKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlRHJhd2FibGVDb21wb25lbnRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZURyYXdhYmxlQ29tcG9uZW50cy5mb3JFYWNoKGMgPT4gYy5yZWRyYXcoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2V4cGFuZGVkJykge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IG52O1xuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5leHBhbmRlZCB8fCAhdGhpcy5jb2xsYXBzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRsYXp5TG9hZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcbiAgICAgICAgdGhpcy5oYXNGb290ZXIgPSAhIXRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbd21QYW5lbEZvb3Rlcl0nKTtcbiAgICAgICAgc3R5bGVyKHRoaXMucGFuZWxCb2R5Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHRoaXMsIEFQUExZX1NUWUxFU19UWVBFLklOTkVSX1NIRUxMKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFuZWwtaGVhZGluZyB7e2hlbHBDbGFzc319XCIgICpuZ0lmPVwic2hvd0hlYWRlclwiICNwYW5lbEhlYWRpbmc+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVsLXRpdGxlXCI+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInBhbmVsLXRvZ2dsZVwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiISFleHBhbmRlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXBwLWljb24gcGFuZWwtaWNvbiB7e2ljb25jbGFzc319XCIgKm5nSWY9XCJpY29uY2xhc3MgJiYgIWljb251cmxcIj48L2k+XG4gICAgICAgICAgICAgICAgPGltZyBkYXRhLWlkZW50aWZpZXI9XCJpbWdcIiB0aXRsZT1cImljb251cmxcIiBhbHQ9XCJQYW5lbCBpY29uXCIgY2xhc3M9XCJwYW5lbC1pbWFnZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaWNvbnVybCB8IGltYWdlXCIgKm5nSWY9XCJpY29udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInt3aWR0aDogaWNvbndpZHRoICxoZWlnaHQ6IGljb25oZWlnaHQsIG1hcmdpbjogaWNvbm1hcmdpbn1cIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmdcIiBbaW5uZXJIVE1MXT1cInRpdGxlXCIgW3RpdGxlXT1cInRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgW2lubmVySFRNTF09XCJzdWJoZWFkaW5nXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJiYWRnZXZhbHVlXCIgYXJpYS1sYWJlbD1cImJhZGdlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXBwLWJhZGdlIGxhYmVsIGxhYmVsLXt7YmFkZ2V0eXBlfX1cIj57e2JhZGdldmFsdWV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgd21NZW51IGFyaWEtbGFiZWw9XCJkcm9wZG93blwiIGRyb3Bkb3duIHR5cGU9XCJhbmNob3JcIiBjbGFzcz1cInBhbmVsLWFjdGlvblwiIGRhdGFzZXQuYmluZD1cImFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbnNcIiBjYXB0aW9uPVwiXCIgbWVudXBvc2l0aW9uPVwiZG93bixsZWZ0XCIgaWNvbmNsYXNzPVwid2kgd2ktbW9yZS12ZXJ0XCJcbiAgICAgICAgICAgICAgICAgYXV0b2Nsb3NlLmJpbmQ9XCJhdXRvY2xvc2VcIiBkYXRhZmllbGQuYmluZD1cImRhdGFmaWVsZFwiIHNlbGVjdC5ldmVudD1cIm1lbnVBY3Rpb25JdGVtQ2xpY2soJGV2ZW50LCRpdGVtKVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiSGVscFwiIGNsYXNzPVwiYXBwLWljb24gcGFuZWwtYWN0aW9uIHdpXCIgW3RpdGxlXT1cImFwcExvY2FsZS5MQUJFTF9IRUxQXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dFwiIChjbGljayk9XCJ0b2dnbGVIZWxwKClcIj48aSBjbGFzcz1cIndpLXF1ZXN0aW9uXCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNvbGxhcHNlL0V4cGFuZFwiIGNsYXNzPVwiYXBwLWljb24gd2kgcGFuZWwtYWN0aW9uXCIgKm5nSWY9XCJjb2xsYXBzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJleHBhbmRDb2xsYXBzZVRpdGxlXCIgKGNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpO1wiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiISFleHBhbmRlZFwiPjxpXG4gICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZXhwYW5kZWQgPyAnd2ktbWludXMnIDogJ3dpLXBsdXMnXCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkZ1bGxzY3JlZW4vRXhpdFwiIGNsYXNzPVwiYXBwLWljb24gcGFuZWwtYWN0aW9uIHdpXCIgKm5nSWY9XCJlbmFibGVmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImZ1bGxTY3JlZW5UaXRsZVwiIChjbGljayk9XCJ0b2dnbGVGdWxsU2NyZWVuKCRldmVudCk7XCI+PGlcbiAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmdWxsc2NyZWVuID8gJ3dpLWZ1bGxzY3JlZW4tZXhpdCcgOiAnd2ktZnVsbHNjcmVlbidcIj48L2k+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiQ2xvc2UgYnV0dG9uXCIgY2xhc3M9XCJhcHAtaWNvbiBwYW5lbC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7YXBwTG9jYWxlLkxBQkVMX0NMT1NFfX1cIiAqbmdJZj1cImNsb3NhYmxlXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudClcIj48aVxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2kgd2ktY2xvc2VcIj48L2k+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicGFuZWwtY29udGVudFwiICBbaGlkZGVuXT1cIiFleHBhbmRlZFwiICNwYW5lbENvbnRlbnQ+XG4gICAgPCEtLSBUb2RvIEJhbmRoYXZ5YSAtIGltcGxlbWVudCBzbW9vdGggc2Nyb2xsIC0tPlxuICAgIDxkaXYgcGFydGlhbC1jb250YWluZXItdGFyZ2V0ICNwYW5lbEJvZHkgW25nQ2xhc3NdPVwiWydwYW5lbC1ib2R5JywgaGVscENsYXNzXVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGFzaWRlIGNsYXNzPVwicGFuZWwtaGVscC1tZXNzYWdlXCIgW25nQ2xhc3NdPVwiaGVscENsYXNzXCI+XG4gICAgICAgIDxoNSBjbGFzcz1cInBhbmVsLWhlbHAtaGVhZGVyXCIgW3RleHRDb250ZW50XT1cImFwcExvY2FsZS5MQUJFTF9IRUxQXCI+PC9oNT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWhlbHAtY29udGVudFwiIFtpbm5lckhUTUxdPVwiaGVscHRleHQgfCB0cnVzdEFzIDogJ2h0bWwnXCI+PC9kaXY+XG4gICAgPC9hc2lkZT5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImFwcC1wYW5lbC1mb290ZXIgcGFuZWwtZm9vdGVyIGNsZWFyZml4XCIgIFtoaWRkZW5dPVwiaGlkZUZvb3RlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt3bVBhbmVsRm9vdGVyXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2NvbnRhaW5lcnMvcGFuZWwvc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9jb250YWluZXJzL3BhbmVsL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNaZixvQkFBK0U7OztJQUE1RSx1RUFBeUM7OztJQUM1QywwQkFFOEU7Ozs7SUFBekUsQUFEQSw0RUFBdUIsK0ZBQytDOzs7SUFRL0UsNEJBQ2tEO0lBQUEsWUFBYztJQUFBLGlCQUFPOzs7SUFBakUseUVBQTJDO0lBQUMsY0FBYztJQUFkLHVDQUFjOzs7SUFDaEUsMEJBR007Ozs7SUFDTixrQ0FDZ0Q7SUFBdkIscUxBQVMsbUJBQVksS0FBQztJQUFDLHdCQUEyQjtJQUFBLGlCQUFTOzs7SUFEWCxtREFBOEI7Ozs7SUFFdkcsa0NBQ2tHO0lBQTVELDJMQUFTLHFCQUFjLEtBQUU7SUFBbUMsd0JBQ3pDO0lBQUEsaUJBQVM7OztJQUQxRCxrREFBNkI7O0lBQzlCLGNBQTZDO0lBQTdDLGtFQUE2Qzs7OztJQUNwRCxrQ0FDc0U7SUFBcEMsMkxBQVMsK0JBQXdCLEtBQUU7SUFBQyx3QkFDSztJQUFBLGlCQUFTOzs7SUFENUUsOENBQXlCO0lBQzFCLGNBQStEO0lBQS9ELG9GQUErRDs7OztJQUN0RSxrQ0FDbUY7SUFBeEIsMkxBQVMsb0JBQWEsS0FBQztJQUFDLHdCQUNwRDtJQUFBLGlCQUFTOzs7SUFEaEMsK0RBQWlDOzs7O0lBNUI3QyxBQURKLEFBREosb0NBQTJFLGNBQzlDLFlBQ3dGO0lBQTNELDJLQUFTLHFCQUFjLEtBQUM7SUFDdEUsK0JBQXVCO0lBRW5CLEFBREEsaUVBQTJFLHlEQUdHO0lBQ2xGLGlCQUFNO0lBQ04sK0JBQXVCO0lBRW5CLEFBREEsMEJBQStELGNBQ1A7SUFFaEUsQUFESSxpQkFBTSxFQUNOO0lBQ0osZ0NBQTJCO0lBZXZCLEFBSEEsQUFIQSxBQUZBLEFBSkEsQUFGQSx5RUFDa0QsMkRBRzBELGlFQUc1RCxpRUFFa0QsaUVBRzVCLGlFQUdhO0lBSS9GLEFBREksQUFESSxpQkFBTSxFQUNKLEVBQ0o7OztJQWxDRCxpRUFBbUM7SUFFMkMsZUFBaUM7O0lBRXRELGVBQTJCO0lBQTNCLDBEQUEyQjtJQUUzQyxjQUFhO0lBQWIscUNBQWE7SUFJdEIsZUFBbUI7SUFBQyxBQUFwQiwyREFBbUIsdUJBQWdCO0lBQy9CLGNBQXdCO0lBQXhCLGdFQUF3QjtJQUk5QyxlQUFnQjtJQUFoQix3Q0FBZ0I7SUFHakIsY0FBYTtJQUFiLHFDQUFhO0lBSVYsY0FBYztJQUFkLHNDQUFjO0lBQzhELGNBQWlCO0lBQWpCLHlDQUFpQjtJQUdqQixjQUFzQjtJQUF0Qiw4Q0FBc0I7SUFJaEUsY0FBYztJQUFkLHNDQUFjOztBRFpyRSxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztBQUN0QyxNQUFNLGFBQWEsR0FBa0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQVd4RixNQUFNLE9BQU8sY0FBZSxTQUFRLG9CQUFvQjthQUM3QyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQTBCekMsZ0NBQWdDO0lBQ2hDLElBQVcsVUFBVTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDeEksQ0FBQztJQUVELFlBQVksR0FBYSxFQUEwQyxlQUFvQjtRQUNuRixLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQW5DeEMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUlqQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBUWhCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBd0JqQixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0YsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELHVGQUF1RjtJQUNoRixNQUFNLENBQUMsTUFBTTtRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRLENBQUMsTUFBTTtRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDO0lBRUQsNEVBQTRFO0lBQ2xFLGdCQUFnQixDQUFDLE1BQU07UUFDN0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvRCxtQ0FBbUM7WUFDbkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCO0lBQ1AsVUFBVTtRQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ25ELFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELFVBQVUsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCx1QkFBdUI7SUFDYixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsS0FBSztRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQseURBQXlEO0lBQy9DLEtBQUssQ0FBQyxNQUFNO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxzRkFBc0Y7SUFDOUUsaUJBQWlCO1FBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQWdCLENBQUM7UUFDaEYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUVuQyxJQUFJLFlBQVksQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDL0csQ0FBQzthQUFNLENBQUM7WUFDSixZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDckMsQ0FBQztRQUVELE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxpREFBaUQ7SUFDekMsY0FBYztRQUNsQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVyxFQUFFLEVBQU8sRUFBRSxFQUFRO1FBQzNDLElBQUksR0FBRyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNyQixDQUFDO1lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBNEIsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0YsQ0FBQzsrRUFuSlEsY0FBYywwREFxQ1ksa0JBQWtCO29FQXJDNUMsY0FBYzt3Q0F1Qk4sbUJBQW1COzs7Ozs7Ozs7Ozs7O3FFQTdCekI7Z0JBQ1Asa0JBQWtCLENBQUMsY0FBYyxDQUFDO2FBQ3JDOztZQzFCTCxpRUFBMkU7WUFxQ3ZFLEFBRkosaUNBQStELGdCQUVvQjtZQUMzRSxrQkFBeUI7WUFDN0IsaUJBQU07WUFDTixnQ0FBd0Q7WUFFcEQsQUFEQSx3QkFBd0UsYUFDUTs7WUFFeEYsQUFESSxpQkFBUSxFQUNOO1lBQ04sK0JBQTJFO1lBQ3ZFLHNCQUFrRDtZQUN0RCxpQkFBTTs7WUEvQ3FDLHFDQUFnQjtZQW1DL0IsY0FBb0I7WUFBcEIsc0NBQW9CO1lBRUgsZUFBcUM7WUFBckMsb0VBQXFDO1lBRzVDLGVBQXFCO1lBQXJCLHVDQUFxQjtZQUNyQixjQUFvQztZQUFwQyxzREFBb0M7WUFDbEMsY0FBeUM7WUFBekMseUZBQXlDO1lBRzVCLGVBQXFCO1lBQXJCLHVDQUFxQjs7O2lGRGY3RCxjQUFjO2NBVDFCLFNBQVM7MkJBQ0ksV0FBVyxhQUVWO29CQUNQLGtCQUFrQixnQkFBZ0I7aUJBQ3JDLFlBQ1MsU0FBUzs7c0JBd0NTLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQWpCYixXQUFXO2tCQUE3RCxTQUFTO21CQUFDLGNBQWMsRUFBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7WUFDUyxZQUFZO2tCQUE3RCxTQUFTO21CQUFDLGNBQWMsRUFBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7WUFDTyxTQUFTO2tCQUF2RCxTQUFTO21CQUFDLFdBQVcsRUFBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7WUFDd0Isb0JBQW9CO2tCQUFoRixlQUFlO21CQUFDLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTs7a0ZBdkJsRCxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHskYXBwRGlnZXN0LCBub29wLCByZW1vdmVBdHRyLCBzZXRDU1MsIHRvZ2dsZUNsYXNzfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBBUFBMWV9TVFlMRVNfVFlQRSwgSVdpZGdldENvbmZpZywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBSZWRyYXdhYmxlRGlyZWN0aXZlLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IE1lbnVBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9tZW51JztcbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL3BhbmVsLnByb3BzJztcbmltcG9ydCB7b21pdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtcGFuZWwgcGFuZWwnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHsgd2lkZ2V0VHlwZTogJ3dtLXBhbmVsJywgaG9zdENsYXNzOiBERUZBVUxUX0NMUyB9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bVBhbmVsXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFBhbmVsQ29tcG9uZW50KVxuICAgIF0sXG4gICAgZXhwb3J0QXM6ICd3bVBhbmVsJ1xufSlcblxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgTWVudUFkYXB0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgJGxhenlMb2FkID0gbm9vcDtcbiAgICBwdWJsaWMgaWNvbnVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgY29sbGFwc2libGU6IGJvb2xlYW47XG4gICAgcHVibGljIGV4cGFuZGVkID0gdHJ1ZTtcbiAgICBwdWJsaWMgZW5hYmxlZnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgICBwdWJsaWMgZnVsbHNjcmVlbjogYm9vbGVhbjtcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgICBwdWJsaWMgc3ViaGVhZGluZzogc3RyaW5nO1xuICAgIHB1YmxpYyBhY3Rpb25zOiBhbnk7XG4gICAgcHVibGljIHNlbGVjdGVkQWN0aW9uOiBhbnk7XG5cbiAgICBwdWJsaWMgaGVscENsYXNzID0gJyc7XG4gICAgcHVibGljIGhlbHB0ZXh0ID0gJyc7XG4gICAgcHJpdmF0ZSBmdWxsU2NyZWVuVGl0bGU6IHN0cmluZztcbiAgICBwcml2YXRlIGV4cGFuZENvbGxhcHNlVGl0bGU6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ3BhbmVsSGVhZGluZycse3N0YXRpYzogZmFsc2V9KSBwcml2YXRlIHBhbmVsSGVhZGVyOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3BhbmVsQ29udGVudCcse3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgcGFuZWxDb250ZW50OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3BhbmVsQm9keScse3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgcGFuZWxCb2R5OiBFbGVtZW50UmVmO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oUmVkcmF3YWJsZURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSByZURyYXdhYmxlQ29tcG9uZW50cztcblxuICAgIHByaXZhdGUgaGFzRm9vdGVyOiBib29sZWFuO1xuXG4gICAgLy8gY29uZGl0aW9ucyB0byBzaG93IHRoZSBmb290ZXJcbiAgICBwdWJsaWMgZ2V0IGhpZGVGb290ZXIoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oYXNGb290ZXIgfHwgIXRoaXMuZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLy8gY29uZGl0aW9ucyB0byBzaG93IGhlYWRlclxuICAgIHB1YmxpYyBnZXQgc2hvd0hlYWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbnVybCB8fCB0aGlzLmljb25jbGFzcyB8fCB0aGlzLmNvbGxhcHNpYmxlIHx8IHRoaXMuYWN0aW9ucyB8fCB0aGlzLnRpdGxlIHx8IHRoaXMuc3ViaGVhZGluZyB8fCB0aGlzLmVuYWJsZWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcblxuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5TSEVMTCk7XG5cbiAgICAgICAgdGhpcy5mdWxsU2NyZWVuVGl0bGUgPSBgJHt0aGlzLmFwcExvY2FsZS5MQUJFTF9GVUxMU0NSRUVOfS8ke3RoaXMuYXBwTG9jYWxlLkxBQkVMX0VYSVRGVUxMU0NSRUVOfWA7XG4gICAgICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VUaXRsZSA9IGAke3RoaXMuYXBwTG9jYWxlLkxBQkVMX0NPTExBUFNFfS8ke3RoaXMuYXBwTG9jYWxlLkxBQkVMX0VYUEFORH1gO1xuICAgICAgICByZW1vdmVBdHRyKHRoaXMubmF0aXZlRWxlbWVudCwgJ3RpdGxlJyk7XG4gICAgfVxuXG4gICAgLy8gdG9nZ2xlIHRoZSBwYW5lbCBzdGF0ZSBiZXR3ZWVuIGNvbGxhcHNlZCAtIGV4cGFuZGVkLiBpbnZva2UgdGhlIHJlc3BlY3RpdmUgY2FsbGJhY2tzXG4gICAgcHVibGljIHRvZ2dsZSgkZXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjayh0aGlzLmV4cGFuZGVkID8gJ2NvbGxhcHNlJyA6ICdleHBhbmQnLCB7ICRldmVudCB9KTtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kbGF6eUxvYWQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlRHJhd0NoaWxkcmVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwYW5kKCRldmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKCRldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY29sbGFwc2UoJGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZSgkZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gdG9nZ2xlIHRoZSBmdWxsc2NyZWVuIHN0YXRlIG9mIHRoZSBwYW5lbC4gaW52b2tlIHRoZSByZXNwZWN0aXZlIGNhbGxiYWNrc1xuICAgIHByb3RlY3RlZCB0b2dnbGVGdWxsU2NyZWVuKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVmdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2sodGhpcy5mdWxsc2NyZWVuID8gJ2V4aXRmdWxsc2NyZWVuJyA6ICdmdWxsc2NyZWVuJywgeyAkZXZlbnQgfSk7XG4gICAgICAgICAgICB0aGlzLmZ1bGxzY3JlZW4gPSAhdGhpcy5mdWxsc2NyZWVuO1xuICAgICAgICAgICAgdG9nZ2xlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnZnVsbHNjcmVlbicsIHRoaXMuZnVsbHNjcmVlbik7XG4gICAgICAgICAgICAvLyBSZS1wbG90IHRoZSB3aWRnZXRzIGluc2lkZSBwYW5lbFxuICAgICAgICAgICAgdGhpcy5yZURyYXdDaGlsZHJlbigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29tcHV0ZURpbWVuc2lvbnMoKTtcbiAgICB9XG5cbiAgICAvLyBzaG93L2hpZGUgaGVscFxuICAgIHByb3RlY3RlZCB0b2dnbGVIZWxwKCkge1xuICAgICAgICB0aGlzLmhlbHBDbGFzcyA9IHRoaXMuaGVscENsYXNzID8gJycgOiAnc2hvdy1oZWxwJztcbiAgICAgICAgdG9nZ2xlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnc2hvdy1oZWxwJywgISF0aGlzLmhlbHBDbGFzcyk7XG4gICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICB9XG5cbiAgICAvLyBPbiBhY3Rpb24gaXRlbSBjbGlja1xuICAgIHByb3RlY3RlZCBtZW51QWN0aW9uSXRlbUNsaWNrKCRldmVudCwgJGl0ZW0pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbiA9IG9taXQoJGl0ZW0sIFsnY2hpbGRyZW4nLCAndmFsdWUnXSk7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnYWN0aW9uc2NsaWNrJywgeyAkZXZlbnQsICRpdGVtOiB0aGlzLnNlbGVjdGVkQWN0aW9uIH0pO1xuICAgIH1cblxuICAgIC8vIGhpZGUgdGhlIHBhbmVsIGFuZCBpbnZva2UgdGhlIHJlc3BlY3RpdmUgZXZlbnQgaGFuZGxlclxuICAgIHByb3RlY3RlZCBjbG9zZSgkZXZlbnQpIHtcbiAgICAgICAgdGhpcy5nZXRXaWRnZXQoKS5zaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnY2xvc2UnLCB7ICRldmVudCB9KTtcbiAgICB9XG5cbiAgICAvLyBjYWxjdWxhdGlvbiBvZiBkaW1lbnNpb25zIHdoZW4gdGhlIHBhbmVsIHRoZSBwYW5lbCBzdGF0ZSBjaGFuZ2VzIGZyb20vdG8gZnVsbHNjcmVlblxuICAgIHByaXZhdGUgY29tcHV0ZURpbWVuc2lvbnMoKSB7XG4gICAgICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMucGFuZWxIZWFkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGZvb3RlciA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucGFuZWwtZm9vdGVyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnBhbmVsQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB2SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG4gICAgICAgIGxldCBpbmxpbmVIZWlnaHQ7XG5cbiAgICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlbikge1xuICAgICAgICAgICAgaW5saW5lSGVpZ2h0ID0gdGhpcy5oaWRlRm9vdGVyID8gKHZIZWlnaHQgLSBoZWFkZXJIZWlnaHQpIDogdkhlaWdodCAtIChmb290ZXIub2Zmc2V0SGVpZ2h0ICsgaGVhZGVySGVpZ2h0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlubGluZUhlaWdodCA9IHRoaXMuaGVpZ2h0IHx8ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0Q1NTKGNvbnRlbnQsICdoZWlnaHQnLCBpbmxpbmVIZWlnaHQpO1xuICAgIH1cblxuICAgIC8vIG5vdGlmeSB0aGUgcmVkcmF3YWJsZSBjb21wb25lbnRzKGNoYXJ0cywgZ3JpZClcbiAgICBwcml2YXRlIHJlRHJhd0NoaWxkcmVuKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlRHJhd2FibGVDb21wb25lbnRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZURyYXdhYmxlQ29tcG9uZW50cy5mb3JFYWNoKGMgPT4gYy5yZWRyYXcoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2V4cGFuZGVkJykge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IG52O1xuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5leHBhbmRlZCB8fCAhdGhpcy5jb2xsYXBzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRsYXp5TG9hZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcbiAgICAgICAgdGhpcy5oYXNGb290ZXIgPSAhIXRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbd21QYW5lbEZvb3Rlcl0nKTtcbiAgICAgICAgc3R5bGVyKHRoaXMucGFuZWxCb2R5Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHRoaXMsIEFQUExZX1NUWUxFU19UWVBFLklOTkVSX1NIRUxMKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFuZWwtaGVhZGluZyB7e2hlbHBDbGFzc319XCIgICpuZ0lmPVwic2hvd0hlYWRlclwiICNwYW5lbEhlYWRpbmc+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVsLXRpdGxlXCI+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInBhbmVsLXRvZ2dsZVwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiISFleHBhbmRlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXBwLWljb24gcGFuZWwtaWNvbiB7e2ljb25jbGFzc319XCIgKm5nSWY9XCJpY29uY2xhc3MgJiYgIWljb251cmxcIj48L2k+XG4gICAgICAgICAgICAgICAgPGltZyBkYXRhLWlkZW50aWZpZXI9XCJpbWdcIiB0aXRsZT1cImljb251cmxcIiBhbHQ9XCJQYW5lbCBpY29uXCIgY2xhc3M9XCJwYW5lbC1pbWFnZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaWNvbnVybCB8IGltYWdlXCIgKm5nSWY9XCJpY29udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInt3aWR0aDogaWNvbndpZHRoICxoZWlnaHQ6IGljb25oZWlnaHQsIG1hcmdpbjogaWNvbm1hcmdpbn1cIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmdcIiBbaW5uZXJIVE1MXT1cInRpdGxlXCIgW3RpdGxlXT1cInRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgW2lubmVySFRNTF09XCJzdWJoZWFkaW5nXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJiYWRnZXZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXBwLWJhZGdlIGxhYmVsIGxhYmVsLXt7YmFkZ2V0eXBlfX1cIj57e2JhZGdldmFsdWV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgd21NZW51IGFyaWEtbGFiZWw9XCJkcm9wZG93blwiIGRyb3Bkb3duIHR5cGU9XCJhbmNob3JcIiBjbGFzcz1cInBhbmVsLWFjdGlvblwiIGRhdGFzZXQuYmluZD1cImFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbnNcIiBjYXB0aW9uPVwiXCIgbWVudXBvc2l0aW9uPVwiZG93bixsZWZ0XCIgaWNvbmNsYXNzPVwid2kgd2ktbW9yZS12ZXJ0XCJcbiAgICAgICAgICAgICAgICAgYXV0b2Nsb3NlLmJpbmQ9XCJhdXRvY2xvc2VcIiBkYXRhZmllbGQuYmluZD1cImRhdGFmaWVsZFwiIHNlbGVjdC5ldmVudD1cIm1lbnVBY3Rpb25JdGVtQ2xpY2soJGV2ZW50LCRpdGVtKVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiSGVscFwiIGNsYXNzPVwiYXBwLWljb24gcGFuZWwtYWN0aW9uIHdpXCIgW3RpdGxlXT1cImFwcExvY2FsZS5MQUJFTF9IRUxQXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dFwiIChjbGljayk9XCJ0b2dnbGVIZWxwKClcIj48aSBjbGFzcz1cIndpLXF1ZXN0aW9uXCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNvbGxhcHNlL0V4cGFuZFwiIGNsYXNzPVwiYXBwLWljb24gd2kgcGFuZWwtYWN0aW9uXCIgKm5nSWY9XCJjb2xsYXBzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJleHBhbmRDb2xsYXBzZVRpdGxlXCIgKGNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpO1wiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiISFleHBhbmRlZFwiPjxpXG4gICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZXhwYW5kZWQgPyAnd2ktbWludXMnIDogJ3dpLXBsdXMnXCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkZ1bGxzY3JlZW4vRXhpdFwiIGNsYXNzPVwiYXBwLWljb24gcGFuZWwtYWN0aW9uIHdpXCIgKm5nSWY9XCJlbmFibGVmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImZ1bGxTY3JlZW5UaXRsZVwiIChjbGljayk9XCJ0b2dnbGVGdWxsU2NyZWVuKCRldmVudCk7XCI+PGlcbiAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmdWxsc2NyZWVuID8gJ3dpLWZ1bGxzY3JlZW4tZXhpdCcgOiAnd2ktZnVsbHNjcmVlbidcIj48L2k+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiQ2xvc2UgYnV0dG9uXCIgY2xhc3M9XCJhcHAtaWNvbiBwYW5lbC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7YXBwTG9jYWxlLkxBQkVMX0NMT1NFfX1cIiAqbmdJZj1cImNsb3NhYmxlXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudClcIj48aVxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2kgd2ktY2xvc2VcIj48L2k+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicGFuZWwtY29udGVudFwiICBbaGlkZGVuXT1cIiFleHBhbmRlZFwiICNwYW5lbENvbnRlbnQ+XG4gICAgPCEtLSBUb2RvIEJhbmRoYXZ5YSAtIGltcGxlbWVudCBzbW9vdGggc2Nyb2xsIC0tPlxuICAgIDxkaXYgcGFydGlhbC1jb250YWluZXItdGFyZ2V0ICNwYW5lbEJvZHkgW25nQ2xhc3NdPVwiWydwYW5lbC1ib2R5JywgaGVscENsYXNzXVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGFzaWRlIGNsYXNzPVwicGFuZWwtaGVscC1tZXNzYWdlXCIgW25nQ2xhc3NdPVwiaGVscENsYXNzXCI+XG4gICAgICAgIDxoNSBjbGFzcz1cInBhbmVsLWhlbHAtaGVhZGVyXCIgW3RleHRDb250ZW50XT1cImFwcExvY2FsZS5MQUJFTF9IRUxQXCI+PC9oNT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWhlbHAtY29udGVudFwiIFtpbm5lckhUTUxdPVwiaGVscHRleHQgfCB0cnVzdEFzIDogJ2h0bWwnXCI+PC9kaXY+XG4gICAgPC9hc2lkZT5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImFwcC1wYW5lbC1mb290ZXIgcGFuZWwtZm9vdGVyIGNsZWFyZml4XCIgIFtoaWRkZW5dPVwiaGlkZUZvb3RlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt3bVBhbmVsRm9vdGVyXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19