@pega/angular-sdk-components 0.242.6 → 0.242.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/esm2022/lib/_bridge/angular-pconnect.mjs +3 -3
  2. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +3 -3
  3. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +3 -3
  4. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +3 -3
  5. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +3 -3
  6. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +3 -3
  7. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +3 -3
  8. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +4 -5
  9. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +3 -3
  10. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +9 -5
  11. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +3 -3
  12. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +3 -3
  13. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +3 -3
  14. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +3 -3
  15. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +9 -7
  16. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +3 -3
  17. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +3 -3
  18. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +3 -3
  19. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +3 -3
  20. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +3 -3
  21. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +3 -3
  22. package/esm2022/lib/_components/field/currency/currency.component.mjs +23 -18
  23. package/esm2022/lib/_components/field/date/date.component.mjs +3 -3
  24. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +21 -8
  25. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +38 -20
  26. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +15 -7
  27. package/esm2022/lib/_components/field/email/email.component.mjs +19 -11
  28. package/esm2022/lib/_components/field/group/group.component.mjs +3 -3
  29. package/esm2022/lib/_components/field/integer/integer.component.mjs +19 -11
  30. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +5 -5
  31. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +3 -3
  32. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +31 -23
  33. package/esm2022/lib/_components/field/phone/phone.component.mjs +10 -15
  34. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +3 -3
  35. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +14 -7
  36. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +3 -3
  37. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +3 -3
  38. package/esm2022/lib/_components/field/text/text.component.mjs +6 -6
  39. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +19 -11
  40. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +3 -3
  41. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +19 -11
  42. package/esm2022/lib/_components/field/time/time.component.mjs +23 -11
  43. package/esm2022/lib/_components/field/url/url.component.mjs +19 -11
  44. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +66 -12
  45. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +6 -8
  46. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +2 -2
  47. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +3 -3
  48. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +5 -6
  49. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +3 -3
  50. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +3 -3
  51. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +5 -5
  52. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +5 -8
  53. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +10 -30
  54. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +3 -3
  55. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +7 -5
  56. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +3 -3
  57. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +3 -3
  58. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +3 -3
  59. package/esm2022/lib/_components/infra/reference/reference.component.mjs +74 -81
  60. package/esm2022/lib/_components/infra/region/region.component.mjs +3 -3
  61. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +24 -19
  62. package/esm2022/lib/_components/infra/stages/stages.component.mjs +3 -3
  63. package/esm2022/lib/_components/infra/view/view.component.mjs +3 -3
  64. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +3 -3
  65. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +3 -3
  66. package/esm2022/lib/_components/template/base/details-template-base.mjs +3 -3
  67. package/esm2022/lib/_components/template/base/form-template-base.mjs +5 -5
  68. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +3 -3
  69. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +3 -3
  70. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +3 -3
  71. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +3 -3
  72. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +6 -7
  73. package/esm2022/lib/_components/template/details/details.component.mjs +3 -3
  74. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +3 -3
  75. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +3 -3
  76. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +3 -3
  77. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +3 -3
  78. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +3 -3
  79. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +3 -3
  80. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +3 -3
  81. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +3 -3
  82. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +47 -38
  83. package/esm2022/lib/_components/template/field-group-template/utils.mjs +11 -0
  84. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +5 -5
  85. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +3 -3
  86. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +3 -3
  87. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +3 -3
  88. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +5 -5
  89. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +3 -3
  90. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +3 -3
  91. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +3 -3
  92. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +3 -3
  93. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +3 -3
  94. package/esm2022/lib/_components/template/page/page.component.mjs +3 -3
  95. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +3 -3
  96. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +3 -3
  97. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +3 -3
  98. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +19 -3
  99. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +58 -25
  100. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +3 -3
  101. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +3 -3
  102. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +3 -3
  103. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +3 -3
  104. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +3 -3
  105. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +3 -3
  106. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +3 -3
  107. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +3 -3
  108. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +3 -3
  109. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +3 -3
  110. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +3 -3
  111. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +3 -3
  112. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +3 -3
  113. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +3 -3
  114. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +3 -3
  115. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +3 -3
  116. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +3 -3
  117. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +3 -3
  118. package/esm2022/lib/_components/widget/todo/todo.component.mjs +8 -6
  119. package/esm2022/lib/_components/widget/utility/utility.component.mjs +3 -3
  120. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +3 -3
  121. package/esm2022/lib/_helpers/formatters/boolean.mjs +2 -2
  122. package/esm2022/lib/_helpers/formatters/common.mjs +6 -3
  123. package/esm2022/lib/_helpers/formatters/currency.mjs +2 -2
  124. package/esm2022/lib/_helpers/formatters/date.mjs +2 -2
  125. package/esm2022/lib/_helpers/formatters/format-utils.mjs +10 -2
  126. package/esm2022/lib/_helpers/formatters/index.mjs +16 -16
  127. package/esm2022/lib/_helpers/template-utils.mjs +3 -3
  128. package/esm2022/lib/_helpers/utils.mjs +40 -18
  129. package/esm2022/lib/_messages/error-messages.service.mjs +3 -3
  130. package/esm2022/lib/_messages/progress-spinner.service.mjs +3 -3
  131. package/esm2022/lib/_messages/update-worklist.service.mjs +3 -3
  132. package/esm2022/lib/_services/banner.service.mjs +3 -3
  133. package/esm2022/lib/_services/case.service.mjs +3 -3
  134. package/esm2022/lib/_services/datapage.service.mjs +3 -3
  135. package/esm2022/lib/_services/server-config.service.mjs +3 -3
  136. package/esm2022/public-api.mjs +5 -3
  137. package/fesm2022/pega-angular-sdk-components.mjs +1034 -818
  138. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  139. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -1
  140. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -1
  141. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
  142. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +1 -0
  143. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -3
  144. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +0 -1
  145. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +0 -1
  146. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +0 -1
  147. package/lib/_components/field/check-box/check-box.component.d.ts +0 -1
  148. package/lib/_components/field/currency/currency.component.d.ts +0 -1
  149. package/lib/_components/field/date/date.component.d.ts +0 -1
  150. package/lib/_components/field/date-time/date-time.component.d.ts +1 -1
  151. package/lib/_components/field/decimal/decimal.component.d.ts +1 -1
  152. package/lib/_components/field/dropdown/dropdown.component.d.ts +1 -1
  153. package/lib/_components/field/email/email.component.d.ts +0 -1
  154. package/lib/_components/field/group/group.component.d.ts +0 -1
  155. package/lib/_components/field/integer/integer.component.d.ts +1 -2
  156. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -2
  157. package/lib/_components/field/multiselect/multiselect.component.d.ts +0 -1
  158. package/lib/_components/field/percentage/percentage.component.d.ts +1 -2
  159. package/lib/_components/field/phone/phone.component.d.ts +0 -7
  160. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +0 -1
  161. package/lib/_components/field/rich-text/rich-text.component.d.ts +1 -2
  162. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +0 -1
  163. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +0 -1
  164. package/lib/_components/field/text/text.component.d.ts +0 -1
  165. package/lib/_components/field/text-area/text-area.component.d.ts +1 -2
  166. package/lib/_components/field/text-content/text-content.component.d.ts +0 -1
  167. package/lib/_components/field/text-input/text-input.component.d.ts +1 -2
  168. package/lib/_components/field/time/time.component.d.ts +1 -2
  169. package/lib/_components/field/url/url.component.d.ts +1 -2
  170. package/lib/_components/field/user-reference/user-reference.component.d.ts +0 -1
  171. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -1
  172. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -1
  173. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +0 -2
  174. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -1
  175. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -1
  176. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  177. package/lib/_components/infra/assignment/assignment.component.d.ts +1 -2
  178. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +2 -11
  179. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -1
  180. package/lib/_components/infra/defer-load/defer-load.component.d.ts +1 -1
  181. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  182. package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -1
  183. package/lib/_components/infra/navbar/navbar.component.d.ts +0 -1
  184. package/lib/_components/infra/reference/reference.component.d.ts +23 -3
  185. package/lib/_components/infra/region/region.component.d.ts +0 -1
  186. package/lib/_components/infra/root-container/root-container.component.d.ts +3 -1
  187. package/lib/_components/infra/stages/stages.component.d.ts +0 -1
  188. package/lib/_components/infra/view/view.component.d.ts +0 -1
  189. package/lib/_components/template/app-shell/app-shell.component.d.ts +0 -1
  190. package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -1
  191. package/lib/_components/template/base/details-template-base.d.ts +0 -1
  192. package/lib/_components/template/base/form-template-base.d.ts +1 -1
  193. package/lib/_components/template/case-summary/case-summary.component.d.ts +0 -1
  194. package/lib/_components/template/case-view/case-view.component.d.ts +0 -1
  195. package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -1
  196. package/lib/_components/template/data-reference/data-reference.component.d.ts +0 -1
  197. package/lib/_components/template/default-form/default-form.component.d.ts +2 -3
  198. package/lib/_components/template/details/details.component.d.ts +0 -1
  199. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +0 -1
  200. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +0 -1
  201. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +0 -1
  202. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +0 -1
  203. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +0 -1
  204. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +0 -1
  205. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +0 -1
  206. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +12 -9
  207. package/lib/_components/template/field-group-template/utils.d.ts +1 -0
  208. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -1
  209. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -1
  210. package/lib/_components/template/list-page/list-page.component.d.ts +0 -1
  211. package/lib/_components/template/list-view/list-view.component.d.ts +1 -2
  212. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -1
  213. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -1
  214. package/lib/_components/template/one-column/one-column.component.d.ts +0 -1
  215. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -1
  216. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -1
  217. package/lib/_components/template/page/page.component.d.ts +0 -1
  218. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -1
  219. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -1
  220. package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -1
  221. package/lib/_components/template/simple-table-manual/helpers.d.ts +9 -2
  222. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +8 -3
  223. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -1
  224. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +0 -1
  225. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -1
  226. package/lib/_components/template/three-column/three-column.component.d.ts +0 -1
  227. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -1
  228. package/lib/_components/template/two-column/two-column.component.d.ts +0 -1
  229. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -1
  230. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -1
  231. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +0 -1
  232. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +0 -1
  233. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +1 -2
  234. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -1
  235. package/lib/_components/widget/attachment/attachment.component.d.ts +1 -2
  236. package/lib/_components/widget/case-history/case-history.component.d.ts +0 -1
  237. package/lib/_components/widget/feed-container/feed-container.component.d.ts +0 -1
  238. package/lib/_components/widget/file-utility/file-utility.component.d.ts +0 -1
  239. package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -1
  240. package/lib/_components/widget/todo/todo.component.d.ts +2 -3
  241. package/lib/_components/widget/utility/utility.component.d.ts +0 -1
  242. package/lib/_helpers/formatters/boolean.d.ts +1 -2
  243. package/lib/_helpers/formatters/common.d.ts +1 -1
  244. package/lib/_helpers/formatters/currency.d.ts +1 -2
  245. package/lib/_helpers/formatters/date.d.ts +1 -2
  246. package/lib/_helpers/formatters/index.d.ts +1 -2
  247. package/lib/_helpers/utils.d.ts +8 -0
  248. package/package.json +1 -1
  249. package/public-api.d.ts +4 -2
  250. package/esm2022/lib/_services/idle-detection.service.mjs +0 -26
  251. package/lib/_services/idle-detection.service.d.ts +0 -9
@@ -9,7 +9,7 @@ import * as i1 from "../../../_bridge/angular-pconnect";
9
9
  import * as i2 from "../../../_messages/progress-spinner.service";
10
10
  import * as i3 from "../../../_messages/error-messages.service";
11
11
  import * as i4 from "@angular/material/snack-bar";
12
- import * as i5 from "packages/angular-sdk-components/src/public-api";
12
+ import * as i5 from "../../../_services/banner.service";
13
13
  import * as i6 from "@angular/common";
14
14
  function getRefreshProps(refreshConditions) {
15
15
  // refreshConditions cuurently supports only "Changes" event
@@ -235,7 +235,6 @@ export class AssignmentComponent {
235
235
  switch (sAction) {
236
236
  case 'navigateToStep':
237
237
  this.erService.sendMessage('publish', '');
238
- // if (this.formValid()) {
239
238
  this.bReInit = true;
240
239
  this.psService.sendMessage(true);
241
240
  const navigatePromise = this.navigateToStep('previous', this.itemKey$);
@@ -248,7 +247,6 @@ export class AssignmentComponent {
248
247
  this.psService.sendMessage(false);
249
248
  this.snackBarRef = this.snackBar.open(`${this.localizedVal('Navigation failed!', this.localeCategory)}`, 'Ok');
250
249
  });
251
- // }
252
250
  break;
253
251
  case 'saveAssignment': {
254
252
  const caseID = this.pConn$.getCaseInfo().getKey();
@@ -364,7 +362,6 @@ export class AssignmentComponent {
364
362
  });
365
363
  }
366
364
  registerForRefresh() {
367
- // @ts-ignore - Property 'getActionRefreshConditions' is private and only accessible within class 'CaseInfo'
368
365
  const refreshConditions = this.pConn$.getCaseInfo()?.getActionRefreshConditions();
369
366
  const pageReference = this.pConn$.getPageReference();
370
367
  const context = this.pConn$.getContextName();
@@ -386,10 +383,10 @@ export class AssignmentComponent {
386
383
  });
387
384
  }
388
385
  }
389
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.ProgressSpinnerService }, { token: i3.ErrorMessagesService }, { token: i0.NgZone }, { token: i4.MatSnackBar }, { token: i5.BannerService }], target: i0.ɵɵFactoryTarget.Component }); }
390
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AssignmentComponent, isStandalone: true, selector: "app-assignment", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arChildren$: "arChildren$", itemKey$: "itemKey$", isCreateStage$: "isCreateStage$", updateToken$: "updateToken$", isInModal$: "isInModal$" }, usesOnChanges: true, ngImport: i0, template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners: bannerService.banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i6.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSnackBarModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
386
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssignmentComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.ProgressSpinnerService }, { token: i3.ErrorMessagesService }, { token: i0.NgZone }, { token: i4.MatSnackBar }, { token: i5.BannerService }], target: i0.ɵɵFactoryTarget.Component }); }
387
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AssignmentComponent, isStandalone: true, selector: "app-assignment", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arChildren$: "arChildren$", itemKey$: "itemKey$", isCreateStage$: "isCreateStage$", updateToken$: "updateToken$", isInModal$: "isInModal$" }, usesOnChanges: true, ngImport: i0, template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners: bannerService.banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i6.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSnackBarModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
391
388
  }
392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentComponent, decorators: [{
389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssignmentComponent, decorators: [{
393
390
  type: Component,
394
391
  args: [{ selector: 'app-assignment', standalone: true, imports: [CommonModule, MatSnackBarModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners: bannerService.banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n" }]
395
392
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i2.ProgressSpinnerService }, { type: i3.ErrorMessagesService }, { type: i0.NgZone }, { type: i4.MatSnackBar }, { type: i5.BannerService }], propDecorators: { pConn$: [{
@@ -407,4 +404,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
407
404
  }], isInModal$: [{
408
405
  type: Input
409
406
  }] } });
410
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvYXNzaWdubWVudC9hc3NpZ25tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50L2Fzc2lnbm1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLFVBQVUsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBSzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7OztBQUd4RyxTQUFTLGVBQWUsQ0FBQyxpQkFBaUI7SUFDeEMsNERBQTREO0lBQzVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FB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QWEsRUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRTtvQkFDeEcsR0FBRyxjQUFjO29CQUNqQixVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDcEIsQ0FBQyxFQUNGLEdBQUcsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM3QixHQUFHLE9BQU8sSUFBSSxhQUFhLEVBQUUsRUFDN0IsT0FBTyxDQUNSLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOytHQXhkVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixtU0NoQ2hDLHk4QkE0QkEsNkVERVksWUFBWSw0S0FBRSxpQkFBaUIsb0RBQW1CLHdCQUF3Qjs7NEZBRXpFLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7OE9BRzdFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNhc2UtZGVjbGFyYXRpb25zICovXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE5nWm9uZSwgZm9yd2FyZFJlZiwgT25EZXN0cm95LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSwgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXNzYWdlcy9lcnJvci1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWVzc2FnZXMvcHJvZ3Jlc3Mtc3Bpbm5lci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZmVyZW5jZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2luZnJhL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYW5uZXJTZXJ2aWNlIH0gZnJvbSAncGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvcHVibGljLWFwaSc7XG5cbmZ1bmN0aW9uIGdldFJlZnJlc2hQcm9wcyhyZWZyZXNoQ29uZGl0aW9ucykge1xuICAvLyByZWZyZXNoQ29uZGl0aW9ucyBjdXVyZW50bHkgc3VwcG9ydHMgb25seSBcIkNoYW5nZXNcIiBldmVudFxuICBpZiAoIXJlZnJlc2hDb25kaXRpb25zKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiByZWZyZXNoQ29uZGl0aW9ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmV2ZW50ICYmIGl0ZW0uZXZlbnQgPT09ICdDaGFuZ2VzJykubWFwKGl0ZW0gPT4gW2l0ZW0uZmllbGQsIGl0ZW0uZmllbGQ/LnN1YnN0cmluZygxKV0pIHx8IFtdO1xufVxuXG5pbnRlcmZhY2UgQXNzaWdubWVudFByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiB0aGlzIGNvbXBvbmVudFxuICB0ZW1wbGF0ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXNzaWdubWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NpZ25tZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzaWdubWVudC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRTbmFja0Jhck1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBBc3NpZ25tZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGFyQ2hpbGRyZW4kOiBhbnlbXTtcbiAgQElucHV0KCkgaXRlbUtleSQ6IHN0cmluZztcbiAgQElucHV0KCkgaXNDcmVhdGVTdGFnZSQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHVwZGF0ZVRva2VuJDogbnVtYmVyO1xuICBASW5wdXQoKSBpc0luTW9kYWwkID0gZmFsc2U7XG5cbiAgLy8gRm9yIGludGVyYWN0aW9uIHdpdGggQW5ndWxhclBDb25uZWN0XG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcbiAgY29uZmlnUHJvcHMkOiBBc3NpZ25tZW50UHJvcHM7XG5cbiAgbmV3UENvbm4kOiBhbnk7XG4gIGNvbnRhaW5lck5hbWUkOiBzdHJpbmc7XG5cbiAgYkluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgdGVtcGxhdGVOYW1lJDogc3RyaW5nO1xuXG4gIGFyTWFpbkJ1dHRvbnMkOiBhbnlbXTtcbiAgYXJTZWNvbmRhcnlCdXR0b25zJDogYW55W107XG5cbiAgYWN0aW9uc0FQSTogYW55O1xuXG4gIGJIYXNOYXZpZ2F0aW9uJCA9IGZhbHNlO1xuICBiSXNWZXJ0aWNhbCQgPSBmYWxzZTtcbiAgYXJDdXJyZW50U3RlcEluZGljaWVzJDogbnVtYmVyW10gPSBbXTtcbiAgYXJOYXZpZ2F0aW9uU3RlcHMkOiBhbnlbXSA9IFtdO1xuXG4gIGluaXQ6IGJvb2xlYW47XG4gIGZpbmlzaEFzc2lnbm1lbnQ6IGFueTtcbiAgbmF2aWdhdGVUb1N0ZXA6IGFueTtcbiAgc2F2ZUFzc2lnbm1lbnQ6IGFueTtcbiAgY2FuY2VsQXNzaWdubWVudDogYW55O1xuICBjYW5jZWxDcmVhdGVTdGFnZUFzc2lnbm1lbnQ6IGFueTtcbiAgc2hvd1BhZ2U6IGFueTtcbiAgYXBwcm92ZUNhc2U6IGFueTtcbiAgcmVqZWN0Q2FzZTogYW55O1xuXG4gIC8vIGl0ZW1LZXk6IHN0cmluZyA9IFwiXCI7ICAgLy8gSkEgLSB0aGlzIGlzIHdoYXQgTmVidWxhL0NvbnN0ZWxsYXRpb24gdXNlcyB0byBwYXNzIHRvIGZpbmlzaEFzc2lnbm1lbnQsIG5hdmlnYXRlVG9TdGVwXG5cbiAgYlJlSW5pdCA9IGZhbHNlO1xuICBsb2NhbGl6ZWRWYWw7XG4gIGxvY2FsZUNhdGVnb3J5ID0gJ0Fzc2lnbm1lbnQnO1xuICBsb2NhbGVSZWZlcmVuY2U7XG5cbiAgc25hY2tCYXJSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwc1NlcnZpY2U6IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlclNlcnZpY2U6IEVycm9yTWVzc2FnZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgcHVibGljIGJhbm5lclNlcnZpY2U6IEJhbm5lclNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgdGhpcy5pbml0Q29tcG9uZW50KCk7XG5cbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICB0aGlzLmJJbml0aWFsaXplZCA9IHRydWU7XG4gICAgdGhpcy5sb2NhbGl6ZWRWYWwgPSBQQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlO1xuICAgIHRoaXMubG9jYWxlUmVmZXJlbmNlID0gYCR7dGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5nZXRDbGFzc05hbWUoKX0hQ0FTRSEke3RoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0TmFtZSgpfWAudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICBjaGVja0FuZFVwZGF0ZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIHRoaXMuYmFubmVyU2VydmljZS51cGRhdGVCYW5uZXJzKHRoaXMuaXRlbUtleSQpO1xuXG4gICAgLy8gT05MWSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICAvLyAgICBBTkQgcmVtb3ZpbmcgdGhlIFwiZ2F0ZVwiIHRoYXQgd2FzIHB1dCB0aGVyZSBzaW5jZSBzaG91bGRDb21wb25lbnRVcGRhdGVcbiAgICAvLyAgICAgIHNob3VsZCBiZSB0aGUgcmVhbCBcImdhdGVcIlxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgbGV0IGxvYWRpbmdJbmZvO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gbG9hZGluZ0luZm8gPSB0aGlzLnBDb25uJC5nZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIGxvYWRpbmdJbmZvID0gdGhpcy5uZXdQQ29ubiQuZ2V0TG9hZGluZ1N0YXR1cygpO1xuXG4gICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGxvYWRpbmdJbmZvKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIC8qIGVtcHR5ICovXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuYkluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDaGFuZ2VzKCkge1xuICAgIHRoaXMucmVnaXN0ZXJGb3JSZWZyZXNoKCk7XG5cbiAgICAvLyBwQ29ubiQgbWF5IGJlIGEgJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyBub3JtYWxpemUgaXRcbiAgICB0aGlzLm5ld1BDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubih0aGlzLnBDb25uJCk7XG5cbiAgICBpZiAodGhpcy5hckNoaWxkcmVuJCkge1xuICAgICAgdGhpcy5jcmVhdGVCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgaW5pdENvbXBvbmVudCgpIHtcbiAgICAvLyBwQ29ubiQgbWF5IGJlIGEgJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyBub3JtYWxpemUgaXRcbiAgICAvLyB0aGlzLnBDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubih0aGlzLnBDb25uJCk7XG4gICAgdGhpcy5uZXdQQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4odGhpcy5wQ29ubiQpO1xuXG4gICAgLy8gcHJldmVudCByZS1pbnRpYWxpemluZyB3aXRoIGZsb3dDb250YWluZXIgdXBkYXRlIHVubGVzcyBhbiBhY3Rpb24gaXMgdGFrZW5cbiAgICB0aGlzLmJSZUluaXQgPSBmYWxzZTtcbiAgICB0aGlzLmJIYXNOYXZpZ2F0aW9uJCA9IGZhbHNlO1xuXG4gICAgLy8gdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSk7XG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLm5ld1BDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5uZXdQQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSk7XG5cbiAgICB0aGlzLnRlbXBsYXRlTmFtZSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC50ZW1wbGF0ZTtcblxuICAgIC8vIGNyZWF0ZSBwb2ludGVycyB0byBmdW5jdGlvbnNcbiAgICAvKlxuICAgIGxldCBjb250YWluZXJNZ3IgPSB0aGlzLnBDb25uJC5nZXRDb250YWluZXJNYW5hZ2VyKCk7XG4gICAgbGV0IGFjdGlvbnNBUEkgPSB0aGlzLnBDb25uJC5nZXRBY3Rpb25zQXBpKCk7XG4gICAgbGV0IGJhc2VDb250ZXh0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBsZXQgYWNOYW1lID0gdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuICAgICovXG5cbiAgICBjb25zdCBhY3Rpb25zQVBJID0gdGhpcy5uZXdQQ29ubiQuZ2V0QWN0aW9uc0FwaSgpO1xuICAgIGNvbnN0IGJhc2VDb250ZXh0ID0gdGhpcy5uZXdQQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBjb25zdCBhY05hbWUgPSB0aGlzLm5ld1BDb25uJC5nZXRDb250YWluZXJOYW1lKCk7XG5cbiAgICAvLyBmb3Igbm93LCBpbiBnZW5lcmFsIHRoaXMgc2hvdWxkIGJlIG92ZXJyaWRkZW4gYnkgdXBkYXRlU2VsZigpLCBhbmQgbm90IGJlIGJsYW5rXG4gICAgaWYgKHRoaXMuaXRlbUtleSQgPT09ICcnKSB7XG4gICAgICB0aGlzLml0ZW1LZXkkID0gYmFzZUNvbnRleHQuY29uY2F0KCcvJykuY29uY2F0KGFjTmFtZSk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5wQ29ubiQuaXNCb3VuZFRvU3RhdGUoKTtcbiAgICB0aGlzLm5ld1BDb25uJC5pc0JvdW5kVG9TdGF0ZSgpO1xuXG4gICAgdGhpcy5pbml0ID0gZmFsc2U7XG5cbiAgICAvLyBzdG9yZSBvZmYgYm91bmQgZnVuY3Rpb25zIHRvIGFib3ZlIHBvaW50ZXJzXG4gICAgdGhpcy5maW5pc2hBc3NpZ25tZW50ID0gYWN0aW9uc0FQSS5maW5pc2hBc3NpZ25tZW50LmJpbmQoYWN0aW9uc0FQSSk7XG4gICAgdGhpcy5uYXZpZ2F0ZVRvU3RlcCA9IGFjdGlvbnNBUEkubmF2aWdhdGVUb1N0ZXAuYmluZChhY3Rpb25zQVBJKTtcbiAgICB0aGlzLnNhdmVBc3NpZ25tZW50ID0gYWN0aW9uc0FQSS5zYXZlQXNzaWdubWVudC5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMuY2FuY2VsQXNzaWdubWVudCA9IGFjdGlvbnNBUEkuY2FuY2VsQXNzaWdubWVudC5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMuc2hvd1BhZ2UgPSBhY3Rpb25zQVBJLnNob3dQYWdlLmJpbmQoYWN0aW9uc0FQSSk7XG5cbiAgICB0aGlzLmNhbmNlbENyZWF0ZVN0YWdlQXNzaWdubWVudCA9IGFjdGlvbnNBUEkuY2FuY2VsQ3JlYXRlU3RhZ2VBc3NpZ25tZW50LmJpbmQoYWN0aW9uc0FQSSk7XG4gICAgdGhpcy5hcHByb3ZlQ2FzZSA9IGFjdGlvbnNBUEkuYXBwcm92ZUNhc2U/LmJpbmQoYWN0aW9uc0FQSSk7XG4gICAgdGhpcy5yZWplY3RDYXNlID0gYWN0aW9uc0FQSS5yZWplY3RDYXNlPy5iaW5kKGFjdGlvbnNBUEkpO1xuXG4gICAgaWYgKHRoaXMuYXJDaGlsZHJlbiQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQnV0dG9ucygpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUJ1dHRvbnMoKSB7XG4gICAgLy8gbGV0IG9EYXRhID0gdGhpcy5wQ29ubiQuZ2V0RGF0YU9iamVjdCgpO1xuICAgIGNvbnN0IG9EYXRhID0gdGhpcy5uZXdQQ29ubiQuZ2V0RGF0YU9iamVjdCgpO1xuXG4gICAgLy8gaW5zaWRlXG4gICAgLy8gZ2V0IGZpc3Qga2lkLCBnZXQgdGhlIG5hbWUgYW5kIGRpc3BsYVxuICAgIC8vIHBhc3MgZmlyc3Qga2lkIHRvIGEgdmlldyBjb250YWluZXIsIHdoaWNoIHdpbGwgZGlzcGVyc2UgaXQgdG8gYSB2aWV3IHdoaWNoIHdpbGwgdXNlIG9uZSBjb2x1bW4sIHR3byBjb2x1bW4sIGV0Yy5cbiAgICBjb25zdCBvV29ya0l0ZW0gPSB0aGlzLmFyQ2hpbGRyZW4kWzBdLmdldFBDb25uZWN0KCk7XG4gICAgY29uc3Qgb1dvcmtEYXRhID0gb1dvcmtJdGVtLmdldERhdGFPYmplY3QoKTtcblxuICAgIGlmIChvV29ya0RhdGEpIHtcbiAgICAgIHRoaXMuYWN0aW9uc0FQSSA9IG9Xb3JrSXRlbS5nZXRBY3Rpb25zQXBpKCk7XG5cbiAgICAgIC8vIHRoaXMuY29udGFpbmVyTmFtZSQgPSBvV29ya01ldGFbXCJuYW1lXCJdO1xuXG4gICAgICBpZiAob1dvcmtEYXRhLmNhc2VJbmZvICYmIG9Xb3JrRGF0YS5jYXNlSW5mby5hc3NpZ25tZW50cyAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNvbnRhaW5lck5hbWUkID0gb1dvcmtEYXRhLmNhc2VJbmZvLmFzc2lnbm1lbnRzPy5bMF0ubmFtZTtcblxuICAgICAgICAvLyBnZXQgY2FzZUluZm9cbiAgICAgICAgY29uc3Qgb0Nhc2VJbmZvID0gb0RhdGEuY2FzZUluZm87XG5cbiAgICAgICAgaWYgKG9DYXNlSW5mbyAmJiBvQ2FzZUluZm8uYWN0aW9uQnV0dG9ucykge1xuICAgICAgICAgIHRoaXMuYXJNYWluQnV0dG9ucyQgPSBvQ2FzZUluZm8uYWN0aW9uQnV0dG9ucy5tYWluO1xuICAgICAgICAgIHRoaXMuYXJTZWNvbmRhcnlCdXR0b25zJCA9IG9DYXNlSW5mby5hY3Rpb25CdXR0b25zLnNlY29uZGFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvQ2FzZUluZm8ubmF2aWdhdGlvbiAhPSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5jcmVhdGVCdXR0b25zRm9yTXVsdGlTdGVwRm9ybShvQ2FzZUluZm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYkhhc05hdmlnYXRpb24kID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjcmVhdGVCdXR0b25zRm9yTXVsdGlTdGVwRm9ybShvQ2FzZUluZm8pIHtcbiAgICB0aGlzLmJIYXNOYXZpZ2F0aW9uJCA9IHRydWU7XG5cbiAgICBpZiAoKG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlICYmIG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlLnRvTG93ZXJDYXNlKCkgPT09ICdzdGFuZGFyZCcpIHx8IG9DYXNlSW5mbz8ubmF2aWdhdGlvbj8uc3RlcHM/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5iSGFzTmF2aWdhdGlvbiQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlICYmIG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlLnRvTG93ZXJDYXNlKCkgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIHRoaXMuYklzVmVydGljYWwkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iSXNWZXJ0aWNhbCQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBpdGVyYXRlIHRocm91Z2ggc3RlcHMgdG8gZmluZCBjdXJyZW50IG9uZShzKVxuICAgIC8vIGltbXV0YWJsZSwgc28gd2Ugd2FudCB0byBjaGFuZ2UgdGhlIGxvY2FsIGNvcHksIHNvIG5lZWQgdG8gbWFrZSBhIGNvcHlcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgLy8gd2hhdCBjb21lcyBiYWNrIG5vdyBpbiBjb25maWdPYmplY3QgaXMgdGhlIGNoaWxkcmVuIG9mIHRoZSBmbG93Q29udGFpbmVyXG4gICAgICB0aGlzLmFyTmF2aWdhdGlvblN0ZXBzJCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob0Nhc2VJbmZvLm5hdmlnYXRpb24uc3RlcHMpKTtcbiAgICAgIHRoaXMuYXJOYXZpZ2F0aW9uU3RlcHMkLmZvckVhY2goc3RlcCA9PiB7XG4gICAgICAgIGlmIChzdGVwLm5hbWUpIHtcbiAgICAgICAgICBzdGVwLm5hbWUgPSBQQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlKHN0ZXAubmFtZSwgdW5kZWZpbmVkLCB0aGlzLmxvY2FsZVJlZmVyZW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hckN1cnJlbnRTdGVwSW5kaWNpZXMkID0gW107XG4gICAgICB0aGlzLmFyQ3VycmVudFN0ZXBJbmRpY2llcyQgPSB0aGlzLmZpbmRDdXJyZW50SW5kaWNpZXModGhpcy5hck5hdmlnYXRpb25TdGVwcyQsIHRoaXMuYXJDdXJyZW50U3RlcEluZGljaWVzJCwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBmaW5kQ3VycmVudEluZGljaWVzKGFyU3RlcHBlclN0ZXBzOiBhbnlbXSwgYXJJbmRpY2llczogbnVtYmVyW10sIGRlcHRoOiBudW1iZXIpOiBudW1iZXJbXSB7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBhclN0ZXBwZXJTdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgaWYgKHN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnKSB7XG4gICAgICAgIGFySW5kaWNpZXNbZGVwdGhdID0gY291bnQ7XG5cbiAgICAgICAgLy8gYWRkIGluXG4gICAgICAgIHN0ZXAuc3RlcF9zdGF0dXMgPSAnJztcbiAgICAgIH0gZWxzZSBpZiAoc3RlcC52aXNpdGVkX3N0YXR1cyA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgc3RlcC5zdGVwX3N0YXR1cyA9ICdjb21wbGV0ZWQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgc3RlcC5zdGVwX3N0YXR1cyA9ICcnO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RlcC5zdGVwcykge1xuICAgICAgICBhckluZGljaWVzID0gdGhpcy5maW5kQ3VycmVudEluZGljaWVzKHN0ZXAuc3RlcHMsIGFySW5kaWNpZXMsIGRlcHRoICsgMSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYXJJbmRpY2llcztcbiAgfVxuXG4gIG9uU2F2ZUFjdGlvblN1Y2Nlc3MoZGF0YSkge1xuICAgIHRoaXMuYWN0aW9uc0FQSS5jYW5jZWxBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkNBU0VfRVZFTlRTLkNSRUFURV9TVEFHRV9TQVZFRCwgZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkFjdGlvbkJ1dHRvbkNsaWNrKG9EYXRhOiBhbnkpIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrKG9EYXRhLmFjdGlvbiwgb0RhdGEuYnV0dG9uVHlwZSk7XG4gIH1cblxuICBidXR0b25DbGljayhzQWN0aW9uLCBzQnV0dG9uVHlwZSkge1xuICAgIHRoaXMuc25hY2tCYXJSZWY/LmRpc21pc3MoKTtcbiAgICB0aGlzLmJhbm5lclNlcnZpY2UuY2xlYXJCYW5uZXJzKCk7XG4gICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKCdjbGVhckJhbm5lck1lc3NhZ2VzJyk7XG4gICAgLy8gcmlnaHQgbm93LCBkb25lIG9uIGFuIGluZGl2aWR1YWwgYmFzaXMsIHNldHRpbmcgYlJlSW5pdCB0byB0cnVlXG4gICAgLy8gdXBvbiB0aGUgbmV4dCBmbG93IGNvbnRhaW5lciBzdGF0ZSBjaGFuZ2UsIHdpbGwgY2F1c2UgdGhlIGZsb3cgY29udGFpbmVyXG4gICAgLy8gdG8gcmUtaW5pdGlhbGl6ZVxuICAgIC8vIHRoaXMuYlJlSW5pdCA9dHJ1ZTtcblxuICAgIC8qXG4gICAgbGV0IGJhc2VDb250ZXh0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBsZXQgYWNOYW1lID0gdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuICAgIGxldCBpdGVtSUQgPSBiYXNlQ29udGV4dC5jb25jYXQoXCIvXCIpLmNvbmNhdChhY05hbWUpO1xuICAgICovXG5cbiAgICAvLyBjb25zdCBiYXNlQ29udGV4dCA9IHRoaXMubmV3UENvbm4kLmdldENvbnRleHROYW1lKCk7XG4gICAgLy8gY29uc3QgYWNOYW1lID0gdGhpcy5uZXdQQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuICAgIC8vIGNvbnN0IGl0ZW1JRCA9IGJhc2VDb250ZXh0LmNvbmNhdCgnLycpLmNvbmNhdChhY05hbWUpO1xuXG4gICAgaWYgKHNCdXR0b25UeXBlID09ICdzZWNvbmRhcnknKSB7XG4gICAgICAvLyBjb25zdCBzdGVwSUQgPSAnJzsgLy8gPz8/XG5cbiAgICAgIC8vIG5lZWQgdG8gaGFuZGxlIGNhbmNlbCBhcyB0aGlzLmNhbmNlbChkaXNwYXRjaEluZm8pXG4gICAgICAvLyB0aGlzLmFjdGlvbnNBUElbc0FjdGlvbl0oZGlzcGF0Y2hJbmZvKTtcbiAgICAgIHN3aXRjaCAoc0FjdGlvbikge1xuICAgICAgICBjYXNlICduYXZpZ2F0ZVRvU3RlcCc6XG4gICAgICAgICAgdGhpcy5lclNlcnZpY2Uuc2VuZE1lc3NhZ2UoJ3B1Ymxpc2gnLCAnJyk7XG4gICAgICAgICAgLy8gaWYgKHRoaXMuZm9ybVZhbGlkKCkpIHtcbiAgICAgICAgICB0aGlzLmJSZUluaXQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKHRydWUpO1xuXG4gICAgICAgICAgY29uc3QgbmF2aWdhdGVQcm9taXNlID0gdGhpcy5uYXZpZ2F0ZVRvU3RlcCgncHJldmlvdXMnLCB0aGlzLml0ZW1LZXkkKTtcbiAgICAgICAgICBuYXZpZ2F0ZVByb21pc2VcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ05hdmlnYXRpb24gZmFpbGVkIScsIHRoaXMubG9jYWxlQ2F0ZWdvcnkpfWAsICdPaycpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3NhdmVBc3NpZ25tZW50Jzoge1xuICAgICAgICAgIGNvbnN0IGNhc2VJRCA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0S2V5KCk7XG4gICAgICAgICAgY29uc3QgYXNzaWdubWVudElEID0gdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5nZXRBc3NpZ25tZW50SUQoKTtcbiAgICAgICAgICBjb25zdCBzYXZlUHJvbWlzZSA9IHRoaXMuc2F2ZUFzc2lnbm1lbnQodGhpcy5pdGVtS2V5JCk7XG5cbiAgICAgICAgICBzYXZlUHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjYXNlVHlwZSA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuYzExbkVudi5nZXRWYWx1ZShQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uQ0FTRV9UWVBFX0lEKTtcbiAgICAgICAgICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKCdjYW5jZWxQcmVzc2VkJyk7XG4gICAgICAgICAgICAgIHRoaXMub25TYXZlQWN0aW9uU3VjY2Vzcyh7IGNhc2VUeXBlLCBjYXNlSUQsIGFzc2lnbm1lbnRJRCB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ1NhdmUgZmFpbGVkJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSAnY2FuY2VsQXNzaWdubWVudCc6XG4gICAgICAgICAgdGhpcy5iUmVJbml0ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmVyU2VydmljZS5zZW5kTWVzc2FnZSgnZGlzbWlzcycsICcnKTtcbiAgICAgICAgICBjb25zdCBpc0Fzc2lnbm1lbnRJbkNyZWF0ZVN0YWdlID0gdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5pc0Fzc2lnbm1lbnRJbkNyZWF0ZVN0YWdlKCk7XG4gICAgICAgICAgY29uc3QgaXNMb2NhbEFjdGlvbiA9XG4gICAgICAgICAgICB0aGlzLnBDb25uJC5nZXRDYXNlSW5mbygpLmlzTG9jYWxBY3Rpb24oKSB8fFxuICAgICAgICAgICAgKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5JU19MT0NBTF9BQ1RJT04gJiYgdGhpcy5wQ29ubiQuZ2V0VmFsdWUoUENvcmUuZ2V0Q29uc3RhbnRzKCkuQ0FTRV9JTkZPLklTX0xPQ0FMX0FDVElPTikpO1xuICAgICAgICAgIC8vIGNoZWNrIGlmIGNyZWF0ZSBzdGFnZSAobW9kYWwpXG4gICAgICAgICAgaWYgKGlzQXNzaWdubWVudEluQ3JlYXRlU3RhZ2UgJiYgdGhpcy5pc0luTW9kYWwkICYmICFpc0xvY2FsQWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBjYW5jZWxQcm9taXNlID0gdGhpcy5jYW5jZWxDcmVhdGVTdGFnZUFzc2lnbm1lbnQodGhpcy5pdGVtS2V5JCk7XG4gICAgICAgICAgICBjYW5jZWxQcm9taXNlXG4gICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgLy8gUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFxuICAgICAgICAgICAgICAgIC8vICAgUENvcmUuZ2V0Q29uc3RhbnRzKCkuUFVCX1NVQl9FVkVOVFMuRVZFTlRfQ0FOQ0VMKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zbmFja0JhclJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnQ2FuY2VsIGZhaWxlZCEnLCB0aGlzLmxvY2FsZUNhdGVnb3J5KX1gLCAnT2snKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKHRydWUpO1xuXG4gICAgICAgICAgICAvLyBwdWJsaXNoIGJlZm9yZSBjYW5jZWwgcHJlc3NlZCwgYmVjYXVzZVxuICAgICAgICAgICAgLy8gY2FuY2VsIGFzc2lnbm1lbnQgaGFwcGVucyBcImFmdGVyXCIgY2FuY2VsIGFzc2lnbm1lbnQgaGFwcGVuc1xuICAgICAgICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKCdjYW5jZWxQcmVzc2VkJyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNhbmNlbFByb21pc2UgPSB0aGlzLmNhbmNlbEFzc2lnbm1lbnQodGhpcy5pdGVtS2V5JCk7XG4gICAgICAgICAgICBjYW5jZWxQcm9taXNlXG4gICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0NBTkNFTCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ0NhbmNlbCBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyZWplY3RDYXNlJzoge1xuICAgICAgICAgIGNvbnN0IHJlamVjdFByb21pc2UgPSB0aGlzLnJlamVjdENhc2UodGhpcy5pdGVtS2V5JCk7XG5cbiAgICAgICAgICByZWplY3RQcm9taXNlXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7fSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgdGhpcy5zbmFja0JhclJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnUmVqZWN0aW9uIGZhaWxlZCEnLCB0aGlzLmxvY2FsZUNhdGVnb3J5KX1gLCAnT2snKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc0J1dHRvblR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICBzd2l0Y2ggKHNBY3Rpb24pIHtcbiAgICAgICAgY2FzZSAnZmluaXNoQXNzaWdubWVudCc6XG4gICAgICAgICAgdGhpcy5lclNlcnZpY2Uuc2VuZE1lc3NhZ2UoJ3B1Ymxpc2gnLCAnJyk7XG4gICAgICAgICAgdGhpcy5iUmVJbml0ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICBjb25zdCBmaW5pc2hQcm9taXNlID0gdGhpcy5maW5pc2hBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpOyAvLyBKQSAtIHdhcyBpdGVtSUQgYnV0IE5lYnVsYS9Db25zdGVsbGF0aW9uIHVzZXMgaXRlbUtleVxuICAgICAgICAgIGZpbmlzaFByb21pc2VcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ1N1Ym1pdCBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2FwcHJvdmVDYXNlJzoge1xuICAgICAgICAgIGNvbnN0IGFwcHJvdmVQcm9taXNlID0gdGhpcy5hcHByb3ZlQ2FzZSh0aGlzLml0ZW1LZXkkKTtcblxuICAgICAgICAgIGFwcHJvdmVQcm9taXNlXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7fSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgdGhpcy5zbmFja0JhclJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihgJHt0aGlzLmxvY2FsaXplZFZhbCgnQXBwcm92ZSBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9ybVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHRoaXMudG91Y2hBbGwoKTtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAkLnZhbGlkO1xuICB9XG5cbiAgdG91Y2hBbGwoKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLmZvcm1Hcm91cCQuY29udHJvbHMpLmZvckVhY2goKGNvbnRyb2w6IGFueSkgPT4ge1xuICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfSk7XG4gIH1cblxuICB0b3BWaWV3UmVmcmVzaCgpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuZm9ybUdyb3VwJC5jb250cm9scykuZm9yRWFjaCgoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlZ2lzdGVyRm9yUmVmcmVzaCgpIHtcbiAgICAvLyBAdHMtaWdub3JlIC0gUHJvcGVydHkgJ2dldEFjdGlvblJlZnJlc2hDb25kaXRpb25zJyBpcyBwcml2YXRlIGFuZCBvbmx5IGFjY2Vzc2libGUgd2l0aGluIGNsYXNzICdDYXNlSW5mbydcbiAgICBjb25zdCByZWZyZXNoQ29uZGl0aW9ucyA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCk/LmdldEFjdGlvblJlZnJlc2hDb25kaXRpb25zKCk7XG4gICAgY29uc3QgcGFnZVJlZmVyZW5jZSA9IHRoaXMucENvbm4kLmdldFBhZ2VSZWZlcmVuY2UoKTtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcblxuICAgIC8vIHJlZnJlc2ggYXBpIGRlLXJlZ2lzdHJhdGlvblxuICAgIFBDb3JlLmdldFJlZnJlc2hNYW5hZ2VyKCkuZGVSZWdpc3RlckZvclJlZnJlc2goY29udGV4dCk7XG5cbiAgICAvLyByZWZyZXNoIGFwaSByZWdpc3RyYXRpb25cbiAgICBjb25zdCByZWZyZXNoUHJvcHMgPSBnZXRSZWZyZXNoUHJvcHMocmVmcmVzaENvbmRpdGlvbnMpO1xuICAgIGNvbnN0IGNhc2VLZXkgPSB0aGlzLnBDb25uJC5nZXRDYXNlSW5mbygpLmdldEtleSgpO1xuICAgIGNvbnN0IHJlZnJlc2hPcHRpb25zID0ge1xuICAgICAgYXV0b0RldGVjdFJlZnJlc2g6IHRydWUsXG4gICAgICBwcmVzZXJ2ZUNsaWVudENoYW5nZXM6IGZhbHNlXG4gICAgfTtcbiAgICBpZiAocmVmcmVzaFByb3BzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlZnJlc2hQcm9wcy5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgICBQQ29yZS5nZXRSZWZyZXNoTWFuYWdlcigpLnJlZ2lzdGVyRm9yUmVmcmVzaChcbiAgICAgICAgICAnUFJPUF9DSEFOR0UnLFxuICAgICAgICAgIHRoaXMucENvbm4kLmdldEFjdGlvbnNBcGkoKS5yZWZyZXNoQ2FzZVZpZXcuYmluZCh0aGlzLnBDb25uJC5nZXRBY3Rpb25zQXBpKCksIGNhc2VLZXksICcnLCBwYWdlUmVmZXJlbmNlLCB7XG4gICAgICAgICAgICAuLi5yZWZyZXNoT3B0aW9ucyxcbiAgICAgICAgICAgIHJlZnJlc2hGb3I6IHByb3BbMF1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBgJHtwYWdlUmVmZXJlbmNlfS4ke3Byb3BbMV19YCxcbiAgICAgICAgICBgJHtjb250ZXh0fS8ke3BhZ2VSZWZlcmVuY2V9YCxcbiAgICAgICAgICBjb250ZXh0XG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXY+PGNvbXBvbmVudC1tYXBwZXIgbmFtZT1cIkFsZXJ0QmFubmVyXCIgW3Byb3BzXT1cInsgYmFubmVyczogYmFubmVyU2VydmljZS5iYW5uZXJzIH1cIiBbcGFyZW50XT1cInRoaXNcIj48L2NvbXBvbmVudC1tYXBwZXI+PC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJiSGFzTmF2aWdhdGlvbiRcIiBjbGFzcz1cInBzZGstc3RlcHBlclwiPlxuICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICBuYW1lPVwiTXVsdGlTdGVwXCJcbiAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgIHBDb25uJDogbmV3UENvbm4kLFxuICAgICAgICBmb3JtR3JvdXAkLFxuICAgICAgICBhckNoaWxkcmVuJCxcbiAgICAgICAgYXJNYWluQnV0dG9ucyQsXG4gICAgICAgIGFyU2Vjb25kYXJ5QnV0dG9ucyQsXG4gICAgICAgIGJJc1ZlcnRpY2FsJCxcbiAgICAgICAgYXJDdXJyZW50U3RlcEluZGljaWVzJCxcbiAgICAgICAgYXJOYXZpZ2F0aW9uU3RlcHMkXG4gICAgICB9XCJcbiAgICAgIFtwYXJlbnRdPVwidGhpc1wiXG4gICAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCIhYkhhc05hdmlnYXRpb24kXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgIG5hbWU9XCJBc3NpZ25tZW50Q2FyZFwiXG4gICAgICBbcHJvcHNdPVwieyBwQ29ubiQ6IG5ld1BDb25uJCwgZm9ybUdyb3VwJCwgYXJDaGlsZHJlbiQsIGFyTWFpbkJ1dHRvbnMkLCBhclNlY29uZGFyeUJ1dHRvbnMkLCB1cGRhdGVUb2tlbiQgfVwiXG4gICAgICBbcGFyZW50XT1cInRoaXNcIlxuICAgICAgW291dHB1dEV2ZW50c109XCJ7IGFjdGlvbkJ1dHRvbkNsaWNrOiBvbkFjdGlvbkJ1dHRvbkNsaWNrIH1cIlxuICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
407
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvYXNzaWdubWVudC9hc3NpZ25tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50L2Fzc2lnbm1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLFVBQVUsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBTTdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7OztBQUV4RyxTQUFTLGVBQWUsQ0FBQyxpQkFBaUI7SUFDeEMsNERBQTREO0lBQzVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FB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Q0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUU7b0JBQ3hHLEdBQUcsY0FBYztvQkFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ3BCLENBQUMsRUFDRixHQUFHLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDN0IsR0FBRyxPQUFPLElBQUksYUFBYSxFQUFFLEVBQzdCLE9BQU8sQ0FDUixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0F0ZFUsbUJBQW1CO21HQUFuQixtQkFBbUIsbVNDaENoQyx5OEJBNEJBLDZFREVZLFlBQVksNEtBQUUsaUJBQWlCLG9EQUFtQix3QkFBd0I7OzRGQUV6RSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzhPQUc3RSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jYXNlLWRlY2xhcmF0aW9ucyAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBOZ1pvbmUsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUsIE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWVzc2FnZXMvZXJyb3ItbWVzc2FnZXMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21lc3NhZ2VzL3Byb2dyZXNzLXNwaW5uZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCYW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2Jhbm5lci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZmVyZW5jZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2luZnJhL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5cbmZ1bmN0aW9uIGdldFJlZnJlc2hQcm9wcyhyZWZyZXNoQ29uZGl0aW9ucykge1xuICAvLyByZWZyZXNoQ29uZGl0aW9ucyBjdXVyZW50bHkgc3VwcG9ydHMgb25seSBcIkNoYW5nZXNcIiBldmVudFxuICBpZiAoIXJlZnJlc2hDb25kaXRpb25zKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiByZWZyZXNoQ29uZGl0aW9ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmV2ZW50ICYmIGl0ZW0uZXZlbnQgPT09ICdDaGFuZ2VzJykubWFwKGl0ZW0gPT4gW2l0ZW0uZmllbGQsIGl0ZW0uZmllbGQ/LnN1YnN0cmluZygxKV0pIHx8IFtdO1xufVxuXG5pbnRlcmZhY2UgQXNzaWdubWVudFByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiB0aGlzIGNvbXBvbmVudFxuICB0ZW1wbGF0ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXNzaWdubWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NpZ25tZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzaWdubWVudC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRTbmFja0Jhck1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBBc3NpZ25tZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGFyQ2hpbGRyZW4kOiBhbnlbXTtcbiAgQElucHV0KCkgaXRlbUtleSQ6IHN0cmluZztcbiAgQElucHV0KCkgaXNDcmVhdGVTdGFnZSQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHVwZGF0ZVRva2VuJDogbnVtYmVyO1xuICBASW5wdXQoKSBpc0luTW9kYWwkID0gZmFsc2U7XG5cbiAgLy8gRm9yIGludGVyYWN0aW9uIHdpdGggQW5ndWxhclBDb25uZWN0XG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcbiAgY29uZmlnUHJvcHMkOiBBc3NpZ25tZW50UHJvcHM7XG5cbiAgbmV3UENvbm4kOiBhbnk7XG4gIGNvbnRhaW5lck5hbWUkOiBzdHJpbmc7XG5cbiAgYkluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgdGVtcGxhdGVOYW1lJDogc3RyaW5nO1xuXG4gIGFyTWFpbkJ1dHRvbnMkOiBhbnlbXTtcbiAgYXJTZWNvbmRhcnlCdXR0b25zJDogYW55W107XG5cbiAgYWN0aW9uc0FQSTogYW55O1xuXG4gIGJIYXNOYXZpZ2F0aW9uJCA9IGZhbHNlO1xuICBiSXNWZXJ0aWNhbCQgPSBmYWxzZTtcbiAgYXJDdXJyZW50U3RlcEluZGljaWVzJDogbnVtYmVyW10gPSBbXTtcbiAgYXJOYXZpZ2F0aW9uU3RlcHMkOiBhbnlbXSA9IFtdO1xuXG4gIGluaXQ6IGJvb2xlYW47XG4gIGZpbmlzaEFzc2lnbm1lbnQ6IGFueTtcbiAgbmF2aWdhdGVUb1N0ZXA6IGFueTtcbiAgc2F2ZUFzc2lnbm1lbnQ6IGFueTtcbiAgY2FuY2VsQXNzaWdubWVudDogYW55O1xuICBjYW5jZWxDcmVhdGVTdGFnZUFzc2lnbm1lbnQ6IGFueTtcbiAgc2hvd1BhZ2U6IGFueTtcbiAgYXBwcm92ZUNhc2U6IGFueTtcbiAgcmVqZWN0Q2FzZTogYW55O1xuXG4gIC8vIGl0ZW1LZXk6IHN0cmluZyA9IFwiXCI7ICAgLy8gSkEgLSB0aGlzIGlzIHdoYXQgTmVidWxhL0NvbnN0ZWxsYXRpb24gdXNlcyB0byBwYXNzIHRvIGZpbmlzaEFzc2lnbm1lbnQsIG5hdmlnYXRlVG9TdGVwXG5cbiAgYlJlSW5pdCA9IGZhbHNlO1xuICBsb2NhbGl6ZWRWYWw7XG4gIGxvY2FsZUNhdGVnb3J5ID0gJ0Fzc2lnbm1lbnQnO1xuICBsb2NhbGVSZWZlcmVuY2U7XG5cbiAgc25hY2tCYXJSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwc1NlcnZpY2U6IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlclNlcnZpY2U6IEVycm9yTWVzc2FnZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgcHVibGljIGJhbm5lclNlcnZpY2U6IEJhbm5lclNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgdGhpcy5pbml0Q29tcG9uZW50KCk7XG5cbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICB0aGlzLmJJbml0aWFsaXplZCA9IHRydWU7XG4gICAgdGhpcy5sb2NhbGl6ZWRWYWwgPSBQQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlO1xuICAgIHRoaXMubG9jYWxlUmVmZXJlbmNlID0gYCR7dGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5nZXRDbGFzc05hbWUoKX0hQ0FTRSEke3RoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0TmFtZSgpfWAudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICBjaGVja0FuZFVwZGF0ZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIHRoaXMuYmFubmVyU2VydmljZS51cGRhdGVCYW5uZXJzKHRoaXMuaXRlbUtleSQpO1xuXG4gICAgLy8gT05MWSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICAvLyAgICBBTkQgcmVtb3ZpbmcgdGhlIFwiZ2F0ZVwiIHRoYXQgd2FzIHB1dCB0aGVyZSBzaW5jZSBzaG91bGRDb21wb25lbnRVcGRhdGVcbiAgICAvLyAgICAgIHNob3VsZCBiZSB0aGUgcmVhbCBcImdhdGVcIlxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgbGV0IGxvYWRpbmdJbmZvO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gbG9hZGluZ0luZm8gPSB0aGlzLnBDb25uJC5nZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIGxvYWRpbmdJbmZvID0gdGhpcy5uZXdQQ29ubiQuZ2V0TG9hZGluZ1N0YXR1cygpO1xuXG4gICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGxvYWRpbmdJbmZvKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIC8qIGVtcHR5ICovXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuYkluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDaGFuZ2VzKCkge1xuICAgIHRoaXMucmVnaXN0ZXJGb3JSZWZyZXNoKCk7XG5cbiAgICAvLyBwQ29ubiQgbWF5IGJlIGEgJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyBub3JtYWxpemUgaXRcbiAgICB0aGlzLm5ld1BDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubih0aGlzLnBDb25uJCk7XG5cbiAgICBpZiAodGhpcy5hckNoaWxkcmVuJCkge1xuICAgICAgdGhpcy5jcmVhdGVCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgaW5pdENvbXBvbmVudCgpIHtcbiAgICAvLyBwQ29ubiQgbWF5IGJlIGEgJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyBub3JtYWxpemUgaXRcbiAgICAvLyB0aGlzLnBDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubih0aGlzLnBDb25uJCk7XG4gICAgdGhpcy5uZXdQQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4odGhpcy5wQ29ubiQpO1xuXG4gICAgLy8gcHJldmVudCByZS1pbnRpYWxpemluZyB3aXRoIGZsb3dDb250YWluZXIgdXBkYXRlIHVubGVzcyBhbiBhY3Rpb24gaXMgdGFrZW5cbiAgICB0aGlzLmJSZUluaXQgPSBmYWxzZTtcbiAgICB0aGlzLmJIYXNOYXZpZ2F0aW9uJCA9IGZhbHNlO1xuXG4gICAgLy8gdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSk7XG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLm5ld1BDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5uZXdQQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSk7XG5cbiAgICB0aGlzLnRlbXBsYXRlTmFtZSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC50ZW1wbGF0ZTtcblxuICAgIC8vIGNyZWF0ZSBwb2ludGVycyB0byBmdW5jdGlvbnNcbiAgICAvKlxuICAgIGxldCBjb250YWluZXJNZ3IgPSB0aGlzLnBDb25uJC5nZXRDb250YWluZXJNYW5hZ2VyKCk7XG4gICAgbGV0IGFjdGlvbnNBUEkgPSB0aGlzLnBDb25uJC5nZXRBY3Rpb25zQXBpKCk7XG4gICAgbGV0IGJhc2VDb250ZXh0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBsZXQgYWNOYW1lID0gdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuICAgICovXG5cbiAgICBjb25zdCBhY3Rpb25zQVBJID0gdGhpcy5uZXdQQ29ubiQuZ2V0QWN0aW9uc0FwaSgpO1xuICAgIGNvbnN0IGJhc2VDb250ZXh0ID0gdGhpcy5uZXdQQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBjb25zdCBhY05hbWUgPSB0aGlzLm5ld1BDb25uJC5nZXRDb250YWluZXJOYW1lKCk7XG5cbiAgICAvLyBmb3Igbm93LCBpbiBnZW5lcmFsIHRoaXMgc2hvdWxkIGJlIG92ZXJyaWRkZW4gYnkgdXBkYXRlU2VsZigpLCBhbmQgbm90IGJlIGJsYW5rXG4gICAgaWYgKHRoaXMuaXRlbUtleSQgPT09ICcnKSB7XG4gICAgICB0aGlzLml0ZW1LZXkkID0gYmFzZUNvbnRleHQuY29uY2F0KCcvJykuY29uY2F0KGFjTmFtZSk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5wQ29ubiQuaXNCb3VuZFRvU3RhdGUoKTtcbiAgICB0aGlzLm5ld1BDb25uJC5pc0JvdW5kVG9TdGF0ZSgpO1xuXG4gICAgdGhpcy5pbml0ID0gZmFsc2U7XG5cbiAgICAvLyBzdG9yZSBvZmYgYm91bmQgZnVuY3Rpb25zIHRvIGFib3ZlIHBvaW50ZXJzXG4gICAgdGhpcy5maW5pc2hBc3NpZ25tZW50ID0gYWN0aW9uc0FQSS5maW5pc2hBc3NpZ25tZW50LmJpbmQoYWN0aW9uc0FQSSk7XG4gICAgdGhpcy5uYXZpZ2F0ZVRvU3RlcCA9IGFjdGlvbnNBUEkubmF2aWdhdGVUb1N0ZXAuYmluZChhY3Rpb25zQVBJKTtcbiAgICB0aGlzLnNhdmVBc3NpZ25tZW50ID0gYWN0aW9uc0FQSS5zYXZlQXNzaWdubWVudC5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMuY2FuY2VsQXNzaWdubWVudCA9IGFjdGlvbnNBUEkuY2FuY2VsQXNzaWdubWVudC5iaW5kKGFjdGlvbnNBUEkpO1xuICAgIHRoaXMuc2hvd1BhZ2UgPSBhY3Rpb25zQVBJLnNob3dQYWdlLmJpbmQoYWN0aW9uc0FQSSk7XG5cbiAgICB0aGlzLmNhbmNlbENyZWF0ZVN0YWdlQXNzaWdubWVudCA9IGFjdGlvbnNBUEkuY2FuY2VsQ3JlYXRlU3RhZ2VBc3NpZ25tZW50LmJpbmQoYWN0aW9uc0FQSSk7XG4gICAgdGhpcy5hcHByb3ZlQ2FzZSA9IGFjdGlvbnNBUEkuYXBwcm92ZUNhc2U/LmJpbmQoYWN0aW9uc0FQSSk7XG4gICAgdGhpcy5yZWplY3RDYXNlID0gYWN0aW9uc0FQSS5yZWplY3RDYXNlPy5iaW5kKGFjdGlvbnNBUEkpO1xuXG4gICAgaWYgKHRoaXMuYXJDaGlsZHJlbiQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQnV0dG9ucygpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUJ1dHRvbnMoKSB7XG4gICAgLy8gbGV0IG9EYXRhID0gdGhpcy5wQ29ubiQuZ2V0RGF0YU9iamVjdCgpO1xuICAgIGNvbnN0IG9EYXRhID0gdGhpcy5uZXdQQ29ubiQuZ2V0RGF0YU9iamVjdCgpO1xuXG4gICAgLy8gaW5zaWRlXG4gICAgLy8gZ2V0IGZpc3Qga2lkLCBnZXQgdGhlIG5hbWUgYW5kIGRpc3BsYVxuICAgIC8vIHBhc3MgZmlyc3Qga2lkIHRvIGEgdmlldyBjb250YWluZXIsIHdoaWNoIHdpbGwgZGlzcGVyc2UgaXQgdG8gYSB2aWV3IHdoaWNoIHdpbGwgdXNlIG9uZSBjb2x1bW4sIHR3byBjb2x1bW4sIGV0Yy5cbiAgICBjb25zdCBvV29ya0l0ZW0gPSB0aGlzLmFyQ2hpbGRyZW4kWzBdLmdldFBDb25uZWN0KCk7XG4gICAgY29uc3Qgb1dvcmtEYXRhID0gb1dvcmtJdGVtLmdldERhdGFPYmplY3QoKTtcblxuICAgIGlmIChvV29ya0RhdGEpIHtcbiAgICAgIHRoaXMuYWN0aW9uc0FQSSA9IG9Xb3JrSXRlbS5nZXRBY3Rpb25zQXBpKCk7XG5cbiAgICAgIC8vIHRoaXMuY29udGFpbmVyTmFtZSQgPSBvV29ya01ldGFbXCJuYW1lXCJdO1xuXG4gICAgICBpZiAob1dvcmtEYXRhLmNhc2VJbmZvICYmIG9Xb3JrRGF0YS5jYXNlSW5mby5hc3NpZ25tZW50cyAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNvbnRhaW5lck5hbWUkID0gb1dvcmtEYXRhLmNhc2VJbmZvLmFzc2lnbm1lbnRzPy5bMF0ubmFtZTtcblxuICAgICAgICAvLyBnZXQgY2FzZUluZm9cbiAgICAgICAgY29uc3Qgb0Nhc2VJbmZvID0gb0RhdGEuY2FzZUluZm87XG5cbiAgICAgICAgaWYgKG9DYXNlSW5mbyAmJiBvQ2FzZUluZm8uYWN0aW9uQnV0dG9ucykge1xuICAgICAgICAgIHRoaXMuYXJNYWluQnV0dG9ucyQgPSBvQ2FzZUluZm8uYWN0aW9uQnV0dG9ucy5tYWluO1xuICAgICAgICAgIHRoaXMuYXJTZWNvbmRhcnlCdXR0b25zJCA9IG9DYXNlSW5mby5hY3Rpb25CdXR0b25zLnNlY29uZGFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvQ2FzZUluZm8ubmF2aWdhdGlvbiAhPSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5jcmVhdGVCdXR0b25zRm9yTXVsdGlTdGVwRm9ybShvQ2FzZUluZm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYkhhc05hdmlnYXRpb24kID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjcmVhdGVCdXR0b25zRm9yTXVsdGlTdGVwRm9ybShvQ2FzZUluZm8pIHtcbiAgICB0aGlzLmJIYXNOYXZpZ2F0aW9uJCA9IHRydWU7XG5cbiAgICBpZiAoKG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlICYmIG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlLnRvTG93ZXJDYXNlKCkgPT09ICdzdGFuZGFyZCcpIHx8IG9DYXNlSW5mbz8ubmF2aWdhdGlvbj8uc3RlcHM/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5iSGFzTmF2aWdhdGlvbiQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlICYmIG9DYXNlSW5mby5uYXZpZ2F0aW9uLnRlbXBsYXRlLnRvTG93ZXJDYXNlKCkgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIHRoaXMuYklzVmVydGljYWwkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iSXNWZXJ0aWNhbCQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBpdGVyYXRlIHRocm91Z2ggc3RlcHMgdG8gZmluZCBjdXJyZW50IG9uZShzKVxuICAgIC8vIGltbXV0YWJsZSwgc28gd2Ugd2FudCB0byBjaGFuZ2UgdGhlIGxvY2FsIGNvcHksIHNvIG5lZWQgdG8gbWFrZSBhIGNvcHlcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgLy8gd2hhdCBjb21lcyBiYWNrIG5vdyBpbiBjb25maWdPYmplY3QgaXMgdGhlIGNoaWxkcmVuIG9mIHRoZSBmbG93Q29udGFpbmVyXG4gICAgICB0aGlzLmFyTmF2aWdhdGlvblN0ZXBzJCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob0Nhc2VJbmZvLm5hdmlnYXRpb24uc3RlcHMpKTtcbiAgICAgIHRoaXMuYXJOYXZpZ2F0aW9uU3RlcHMkLmZvckVhY2goc3RlcCA9PiB7XG4gICAgICAgIGlmIChzdGVwLm5hbWUpIHtcbiAgICAgICAgICBzdGVwLm5hbWUgPSBQQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlKHN0ZXAubmFtZSwgdW5kZWZpbmVkLCB0aGlzLmxvY2FsZVJlZmVyZW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hckN1cnJlbnRTdGVwSW5kaWNpZXMkID0gW107XG4gICAgICB0aGlzLmFyQ3VycmVudFN0ZXBJbmRpY2llcyQgPSB0aGlzLmZpbmRDdXJyZW50SW5kaWNpZXModGhpcy5hck5hdmlnYXRpb25TdGVwcyQsIHRoaXMuYXJDdXJyZW50U3RlcEluZGljaWVzJCwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBmaW5kQ3VycmVudEluZGljaWVzKGFyU3RlcHBlclN0ZXBzOiBhbnlbXSwgYXJJbmRpY2llczogbnVtYmVyW10sIGRlcHRoOiBudW1iZXIpOiBudW1iZXJbXSB7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBhclN0ZXBwZXJTdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgaWYgKHN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnKSB7XG4gICAgICAgIGFySW5kaWNpZXNbZGVwdGhdID0gY291bnQ7XG5cbiAgICAgICAgLy8gYWRkIGluXG4gICAgICAgIHN0ZXAuc3RlcF9zdGF0dXMgPSAnJztcbiAgICAgIH0gZWxzZSBpZiAoc3RlcC52aXNpdGVkX3N0YXR1cyA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgc3RlcC5zdGVwX3N0YXR1cyA9ICdjb21wbGV0ZWQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgc3RlcC5zdGVwX3N0YXR1cyA9ICcnO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RlcC5zdGVwcykge1xuICAgICAgICBhckluZGljaWVzID0gdGhpcy5maW5kQ3VycmVudEluZGljaWVzKHN0ZXAuc3RlcHMsIGFySW5kaWNpZXMsIGRlcHRoICsgMSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYXJJbmRpY2llcztcbiAgfVxuXG4gIG9uU2F2ZUFjdGlvblN1Y2Nlc3MoZGF0YSkge1xuICAgIHRoaXMuYWN0aW9uc0FQSS5jYW5jZWxBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkNBU0VfRVZFTlRTLkNSRUFURV9TVEFHRV9TQVZFRCwgZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkFjdGlvbkJ1dHRvbkNsaWNrKG9EYXRhOiBhbnkpIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrKG9EYXRhLmFjdGlvbiwgb0RhdGEuYnV0dG9uVHlwZSk7XG4gIH1cblxuICBidXR0b25DbGljayhzQWN0aW9uLCBzQnV0dG9uVHlwZSkge1xuICAgIHRoaXMuc25hY2tCYXJSZWY/LmRpc21pc3MoKTtcbiAgICB0aGlzLmJhbm5lclNlcnZpY2UuY2xlYXJCYW5uZXJzKCk7XG4gICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKCdjbGVhckJhbm5lck1lc3NhZ2VzJyk7XG4gICAgLy8gcmlnaHQgbm93LCBkb25lIG9uIGFuIGluZGl2aWR1YWwgYmFzaXMsIHNldHRpbmcgYlJlSW5pdCB0byB0cnVlXG4gICAgLy8gdXBvbiB0aGUgbmV4dCBmbG93IGNvbnRhaW5lciBzdGF0ZSBjaGFuZ2UsIHdpbGwgY2F1c2UgdGhlIGZsb3cgY29udGFpbmVyXG4gICAgLy8gdG8gcmUtaW5pdGlhbGl6ZVxuICAgIC8vIHRoaXMuYlJlSW5pdCA9dHJ1ZTtcblxuICAgIC8qXG4gICAgbGV0IGJhc2VDb250ZXh0ID0gdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKTtcbiAgICBsZXQgYWNOYW1lID0gdGhpcy5wQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuICAgIGxldCBpdGVtSUQgPSBiYXNlQ29udGV4dC5jb25jYXQoXCIvXCIpLmNvbmNhdChhY05hbWUpO1xuICAgICovXG5cbiAgICAvLyBjb25zdCBiYXNlQ29udGV4dCA9IHRoaXMubmV3UENvbm4kLmdldENvbnRleHROYW1lKCk7XG4gICAgLy8gY29uc3QgYWNOYW1lID0gdGhpcy5uZXdQQ29ubiQuZ2V0Q29udGFpbmVyTmFtZSgpO1xuICAgIC8vIGNvbnN0IGl0ZW1JRCA9IGJhc2VDb250ZXh0LmNvbmNhdCgnLycpLmNvbmNhdChhY05hbWUpO1xuXG4gICAgaWYgKHNCdXR0b25UeXBlID09ICdzZWNvbmRhcnknKSB7XG4gICAgICAvLyBjb25zdCBzdGVwSUQgPSAnJzsgLy8gPz8/XG5cbiAgICAgIC8vIG5lZWQgdG8gaGFuZGxlIGNhbmNlbCBhcyB0aGlzLmNhbmNlbChkaXNwYXRjaEluZm8pXG4gICAgICAvLyB0aGlzLmFjdGlvbnNBUElbc0FjdGlvbl0oZGlzcGF0Y2hJbmZvKTtcbiAgICAgIHN3aXRjaCAoc0FjdGlvbikge1xuICAgICAgICBjYXNlICduYXZpZ2F0ZVRvU3RlcCc6XG4gICAgICAgICAgdGhpcy5lclNlcnZpY2Uuc2VuZE1lc3NhZ2UoJ3B1Ymxpc2gnLCAnJyk7XG5cbiAgICAgICAgICB0aGlzLmJSZUluaXQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKHRydWUpO1xuXG4gICAgICAgICAgY29uc3QgbmF2aWdhdGVQcm9taXNlID0gdGhpcy5uYXZpZ2F0ZVRvU3RlcCgncHJldmlvdXMnLCB0aGlzLml0ZW1LZXkkKTtcbiAgICAgICAgICBuYXZpZ2F0ZVByb21pc2VcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ05hdmlnYXRpb24gZmFpbGVkIScsIHRoaXMubG9jYWxlQ2F0ZWdvcnkpfWAsICdPaycpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdzYXZlQXNzaWdubWVudCc6IHtcbiAgICAgICAgICBjb25zdCBjYXNlSUQgPSB0aGlzLnBDb25uJC5nZXRDYXNlSW5mbygpLmdldEtleSgpO1xuICAgICAgICAgIGNvbnN0IGFzc2lnbm1lbnRJRCA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0QXNzaWdubWVudElEKCk7XG4gICAgICAgICAgY29uc3Qgc2F2ZVByb21pc2UgPSB0aGlzLnNhdmVBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpO1xuXG4gICAgICAgICAgc2F2ZVByb21pc2VcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY2FzZVR5cGUgPSB0aGlzLnBDb25uJC5nZXRDYXNlSW5mbygpLmMxMW5FbnYuZ2V0VmFsdWUoUENvcmUuZ2V0Q29uc3RhbnRzKCkuQ0FTRV9JTkZPLkNBU0VfVFlQRV9JRCk7XG4gICAgICAgICAgICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaCgnY2FuY2VsUHJlc3NlZCcpO1xuICAgICAgICAgICAgICB0aGlzLm9uU2F2ZUFjdGlvblN1Y2Nlc3MoeyBjYXNlVHlwZSwgY2FzZUlELCBhc3NpZ25tZW50SUQgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyUmVmID0gdGhpcy5zbmFja0Jhci5vcGVuKGAke3RoaXMubG9jYWxpemVkVmFsKCdTYXZlIGZhaWxlZCcsIHRoaXMubG9jYWxlQ2F0ZWdvcnkpfWAsICdPaycpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgJ2NhbmNlbEFzc2lnbm1lbnQnOlxuICAgICAgICAgIHRoaXMuYlJlSW5pdCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5lclNlcnZpY2Uuc2VuZE1lc3NhZ2UoJ2Rpc21pc3MnLCAnJyk7XG4gICAgICAgICAgY29uc3QgaXNBc3NpZ25tZW50SW5DcmVhdGVTdGFnZSA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuaXNBc3NpZ25tZW50SW5DcmVhdGVTdGFnZSgpO1xuICAgICAgICAgIGNvbnN0IGlzTG9jYWxBY3Rpb24gPVxuICAgICAgICAgICAgdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5pc0xvY2FsQWN0aW9uKCkgfHxcbiAgICAgICAgICAgIChQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uSVNfTE9DQUxfQUNUSU9OICYmIHRoaXMucENvbm4kLmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5JU19MT0NBTF9BQ1RJT04pKTtcbiAgICAgICAgICAvLyBjaGVjayBpZiBjcmVhdGUgc3RhZ2UgKG1vZGFsKVxuICAgICAgICAgIGlmIChpc0Fzc2lnbm1lbnRJbkNyZWF0ZVN0YWdlICYmIHRoaXMuaXNJbk1vZGFsJCAmJiAhaXNMb2NhbEFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IHRoaXMuY2FuY2VsQ3JlYXRlU3RhZ2VBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpO1xuICAgICAgICAgICAgY2FuY2VsUHJvbWlzZVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIC8vIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChcbiAgICAgICAgICAgICAgICAvLyAgIFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0NBTkNFTCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ0NhbmNlbCBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZSh0cnVlKTtcblxuICAgICAgICAgICAgLy8gcHVibGlzaCBiZWZvcmUgY2FuY2VsIHByZXNzZWQsIGJlY2F1c2VcbiAgICAgICAgICAgIC8vIGNhbmNlbCBhc3NpZ25tZW50IGhhcHBlbnMgXCJhZnRlclwiIGNhbmNlbCBhc3NpZ25tZW50IGhhcHBlbnNcbiAgICAgICAgICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaCgnY2FuY2VsUHJlc3NlZCcpO1xuXG4gICAgICAgICAgICBjb25zdCBjYW5jZWxQcm9taXNlID0gdGhpcy5jYW5jZWxBc3NpZ25tZW50KHRoaXMuaXRlbUtleSQpO1xuICAgICAgICAgICAgY2FuY2VsUHJvbWlzZVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChQQ29yZS5nZXRDb25zdGFudHMoKS5QVUJfU1VCX0VWRU5UUy5FVkVOVF9DQU5DRUwpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyUmVmID0gdGhpcy5zbmFja0Jhci5vcGVuKGAke3RoaXMubG9jYWxpemVkVmFsKCdDYW5jZWwgZmFpbGVkIScsIHRoaXMubG9jYWxlQ2F0ZWdvcnkpfWAsICdPaycpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmVqZWN0Q2FzZSc6IHtcbiAgICAgICAgICBjb25zdCByZWplY3RQcm9taXNlID0gdGhpcy5yZWplY3RDYXNlKHRoaXMuaXRlbUtleSQpO1xuXG4gICAgICAgICAgcmVqZWN0UHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge30pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnBzU2VydmljZS5zZW5kTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4oYCR7dGhpcy5sb2NhbGl6ZWRWYWwoJ1JlamVjdGlvbiBmYWlsZWQhJywgdGhpcy5sb2NhbGVDYXRlZ29yeSl9YCwgJ09rJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHNCdXR0b25UeXBlID09ICdwcmltYXJ5Jykge1xuICAgICAgc3dpdGNoIChzQWN0aW9uKSB7XG4gICAgICAgIGNhc2UgJ2ZpbmlzaEFzc2lnbm1lbnQnOlxuICAgICAgICAgIHRoaXMuZXJTZXJ2aWNlLnNlbmRNZXNzYWdlKCdwdWJsaXNoJywgJycpO1xuICAgICAgICAgIHRoaXMuYlJlSW5pdCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UodHJ1ZSk7XG4gICAgICAgICAgY29uc3QgZmluaXNoUHJvbWlzZSA9IHRoaXMuZmluaXNoQXNzaWdubWVudCh0aGlzLml0ZW1LZXkkKTsgLy8gSkEgLSB3YXMgaXRlbUlEIGJ1dCBOZWJ1bGEvQ29uc3RlbGxhdGlvbiB1c2VzIGl0ZW1LZXlcbiAgICAgICAgICBmaW5pc2hQcm9taXNlXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMucHNTZXJ2aWNlLnNlbmRNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyUmVmID0gdGhpcy5zbmFja0Jhci5vcGVuKGAke3RoaXMubG9jYWxpemVkVmFsKCdTdWJtaXQgZmFpbGVkIScsIHRoaXMubG9jYWxlQ2F0ZWdvcnkpfWAsICdPaycpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnYXBwcm92ZUNhc2UnOiB7XG4gICAgICAgICAgY29uc3QgYXBwcm92ZVByb21pc2UgPSB0aGlzLmFwcHJvdmVDYXNlKHRoaXMuaXRlbUtleSQpO1xuXG4gICAgICAgICAgYXBwcm92ZVByb21pc2VcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHt9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5wc1NlcnZpY2Uuc2VuZE1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyUmVmID0gdGhpcy5zbmFja0Jhci5vcGVuKGAke3RoaXMubG9jYWxpemVkVmFsKCdBcHByb3ZlIGZhaWxlZCEnLCB0aGlzLmxvY2FsZUNhdGVnb3J5KX1gLCAnT2snKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb3JtVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgdGhpcy50b3VjaEFsbCgpO1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cCQudmFsaWQ7XG4gIH1cblxuICB0b3VjaEFsbCgpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuZm9ybUdyb3VwJC5jb250cm9scykuZm9yRWFjaCgoY29udHJvbDogYW55KSA9PiB7XG4gICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHRvcFZpZXdSZWZyZXNoKCk6IHZvaWQge1xuICAgIE9iamVjdC52YWx1ZXModGhpcy5mb3JtR3JvdXAkLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sOiBhbnkpID0+IHtcbiAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJGb3JSZWZyZXNoKCkge1xuICAgIGNvbnN0IHJlZnJlc2hDb25kaXRpb25zID0gdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKT8uZ2V0QWN0aW9uUmVmcmVzaENvbmRpdGlvbnMoKTtcbiAgICBjb25zdCBwYWdlUmVmZXJlbmNlID0gdGhpcy5wQ29ubiQuZ2V0UGFnZVJlZmVyZW5jZSgpO1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpO1xuXG4gICAgLy8gcmVmcmVzaCBhcGkgZGUtcmVnaXN0cmF0aW9uXG4gICAgUENvcmUuZ2V0UmVmcmVzaE1hbmFnZXIoKS5kZVJlZ2lzdGVyRm9yUmVmcmVzaChjb250ZXh0KTtcblxuICAgIC8vIHJlZnJlc2ggYXBpIHJlZ2lzdHJhdGlvblxuICAgIGNvbnN0IHJlZnJlc2hQcm9wcyA9IGdldFJlZnJlc2hQcm9wcyhyZWZyZXNoQ29uZGl0aW9ucyk7XG4gICAgY29uc3QgY2FzZUtleSA9IHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0S2V5KCk7XG4gICAgY29uc3QgcmVmcmVzaE9wdGlvbnMgPSB7XG4gICAgICBhdXRvRGV0ZWN0UmVmcmVzaDogdHJ1ZSxcbiAgICAgIHByZXNlcnZlQ2xpZW50Q2hhbmdlczogZmFsc2VcbiAgICB9O1xuICAgIGlmIChyZWZyZXNoUHJvcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmVmcmVzaFByb3BzLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICAgIFBDb3JlLmdldFJlZnJlc2hNYW5hZ2VyKCkucmVnaXN0ZXJGb3JSZWZyZXNoKFxuICAgICAgICAgICdQUk9QX0NIQU5HRScsXG4gICAgICAgICAgdGhpcy5wQ29ubiQuZ2V0QWN0aW9uc0FwaSgpLnJlZnJlc2hDYXNlVmlldy5iaW5kKHRoaXMucENvbm4kLmdldEFjdGlvbnNBcGkoKSwgY2FzZUtleSwgJycsIHBhZ2VSZWZlcmVuY2UsIHtcbiAgICAgICAgICAgIC4uLnJlZnJlc2hPcHRpb25zLFxuICAgICAgICAgICAgcmVmcmVzaEZvcjogcHJvcFswXVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGAke3BhZ2VSZWZlcmVuY2V9LiR7cHJvcFsxXX1gLFxuICAgICAgICAgIGAke2NvbnRleHR9LyR7cGFnZVJlZmVyZW5jZX1gLFxuICAgICAgICAgIGNvbnRleHRcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdj5cbiAgPGRpdj48Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiQWxlcnRCYW5uZXJcIiBbcHJvcHNdPVwieyBiYW5uZXJzOiBiYW5uZXJTZXJ2aWNlLmJhbm5lcnMgfVwiIFtwYXJlbnRdPVwidGhpc1wiPjwvY29tcG9uZW50LW1hcHBlcj48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImJIYXNOYXZpZ2F0aW9uJFwiIGNsYXNzPVwicHNkay1zdGVwcGVyXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgIG5hbWU9XCJNdWx0aVN0ZXBcIlxuICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgcENvbm4kOiBuZXdQQ29ubiQsXG4gICAgICAgIGZvcm1Hcm91cCQsXG4gICAgICAgIGFyQ2hpbGRyZW4kLFxuICAgICAgICBhck1haW5CdXR0b25zJCxcbiAgICAgICAgYXJTZWNvbmRhcnlCdXR0b25zJCxcbiAgICAgICAgYklzVmVydGljYWwkLFxuICAgICAgICBhckN1cnJlbnRTdGVwSW5kaWNpZXMkLFxuICAgICAgICBhck5hdmlnYXRpb25TdGVwcyRcbiAgICAgIH1cIlxuICAgICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICAgIFtvdXRwdXRFdmVudHNdPVwieyBhY3Rpb25CdXR0b25DbGljazogb25BY3Rpb25CdXR0b25DbGljayB9XCJcbiAgICA+PC9jb21wb25lbnQtbWFwcGVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFiSGFzTmF2aWdhdGlvbiRcIj5cbiAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgbmFtZT1cIkFzc2lnbm1lbnRDYXJkXCJcbiAgICAgIFtwcm9wc109XCJ7IHBDb25uJDogbmV3UENvbm4kLCBmb3JtR3JvdXAkLCBhckNoaWxkcmVuJCwgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQsIHVwZGF0ZVRva2VuJCB9XCJcbiAgICAgIFtwYXJlbnRdPVwidGhpc1wiXG4gICAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -4,52 +4,32 @@ import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { ReferenceComponent } from '../reference/reference.component';
5
5
  import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../../../_services/idle-detection.service";
8
- import * as i2 from "../../../_services/server-config.service";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@angular/forms";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/forms";
11
9
  export class AssignmentCardComponent {
12
- constructor(idleService, scservice) {
13
- this.idleService = idleService;
14
- this.scservice = scservice;
10
+ constructor() {
15
11
  this.actionButtonClick = new EventEmitter();
16
12
  }
17
13
  ngOnInit() {
18
- // Children may contain 'reference' component, so we need to normalize them
14
+ // Children may contain 'reference' component, so we need to
15
+ // normalize them
19
16
  this.arChildren$ = ReferenceComponent.normalizePConnArray(this.arChildren$);
20
- this.checkAndEnableAutoSave();
21
17
  }
22
18
  ngOnChanges() {
23
19
  // Children may contain 'reference' component, so we need to
24
20
  // normalize them
25
21
  this.arChildren$ = ReferenceComponent.normalizePConnArray(this.arChildren$);
26
22
  }
27
- ngOnDestroy() {
28
- this.idleService.stopWatching();
29
- }
30
- async checkAndEnableAutoSave() {
31
- const sdkConfig = await this.scservice.getSdkConfig();
32
- const autoSave = sdkConfig.serverConfig.autoSave;
33
- if (autoSave) {
34
- this.idleService.startWatching(() => this.autoSave(), autoSave);
35
- }
36
- }
37
23
  onActionButtonClick(oData) {
38
24
  this.actionButtonClick.emit(oData);
39
25
  }
40
- autoSave() {
41
- const context = this.pConn$.getContextName();
42
- if (PCore.getFormUtils().isStateModified(context)) {
43
- this.pConn$.getActionsApi().saveAssignment(context);
44
- }
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentCardComponent, deps: [{ token: i1.IdleDetectionService }, { token: i2.ServerConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AssignmentCardComponent, isStandalone: true, selector: "app-assignment-card", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", updateToken$: "updateToken$" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n *ngIf=\"arMainButtons$ && arSecondaryButtons$\"\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.ɵNgNoValidate), selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssignmentCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AssignmentCardComponent, isStandalone: true, selector: "app-assignment-card", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", updateToken$: "updateToken$" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n *ngIf=\"arMainButtons$ && arSecondaryButtons$\"\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i2.ɵNgNoValidate), selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i0.forwardRef(() => i2.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i2.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
48
28
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentCardComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssignmentCardComponent, decorators: [{
50
30
  type: Component,
51
31
  args: [{ selector: 'app-assignment-card', standalone: true, imports: [CommonModule, ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)], template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n *ngIf=\"arMainButtons$ && arSecondaryButtons$\"\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"] }]
52
- }], ctorParameters: () => [{ type: i1.IdleDetectionService }, { type: i2.ServerConfigService }], propDecorators: { pConn$: [{
32
+ }], propDecorators: { pConn$: [{
53
33
  type: Input
54
34
  }], formGroup$: [{
55
35
  type: Input
@@ -64,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
64
44
  }], actionButtonClick: [{
65
45
  type: Output
66
46
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50LWNhcmQvYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50LWNhcmQvYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7OztBQVd4RyxNQUFNLE9BQU8sdUJBQXVCO0lBVWxDLFlBQ1UsV0FBaUMsRUFDakMsU0FBOEI7UUFEOUIsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBSjlCLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBS2pFLENBQUM7SUFFSixRQUFRO1FBQ04sMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsNERBQTREO1FBQzVELGtCQUFrQjtRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0I7UUFDMUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRWpELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzdDLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDOytHQWxEVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix5VkNmcEMsNnBDQTJCQSwwTURkWSxZQUFZLHlvQkFBRSxtQkFBbUIseWdCQUFtQix3QkFBd0I7OzRGQUUzRSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzsySEFHL0UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIE9uQ2hhbmdlcywgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVmZXJlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElkbGVEZXRlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2lkbGUtZGV0ZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9zZXJ2ZXItY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXNzaWdubWVudC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2lnbm1lbnQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fzc2lnbm1lbnQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIEFzc2lnbm1lbnRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGFyTWFpbkJ1dHRvbnMkOiBhbnlbXTtcbiAgQElucHV0KCkgYXJTZWNvbmRhcnlCdXR0b25zJDogYW55W107XG4gIEBJbnB1dCgpIGFyQ2hpbGRyZW4kOiBhbnlbXTtcbiAgQElucHV0KCkgdXBkYXRlVG9rZW4kOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIGFjdGlvbkJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGlkbGVTZXJ2aWNlOiBJZGxlRGV0ZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNjc2VydmljZTogU2VydmVyQ29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2hpbGRyZW4gbWF5IGNvbnRhaW4gJ3JlZmVyZW5jZScgY29tcG9uZW50LCBzbyB3ZSBuZWVkIHRvIG5vcm1hbGl6ZSB0aGVtXG4gICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoaXMuYXJDaGlsZHJlbiQpO1xuXG4gICAgdGhpcy5jaGVja0FuZEVuYWJsZUF1dG9TYXZlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICAvLyBDaGlsZHJlbiBtYXkgY29udGFpbiAncmVmZXJlbmNlJyBjb21wb25lbnQsIHNvIHdlIG5lZWQgdG9cbiAgICAvLyAgbm9ybWFsaXplIHRoZW1cbiAgICB0aGlzLmFyQ2hpbGRyZW4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uQXJyYXkodGhpcy5hckNoaWxkcmVuJCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmlkbGVTZXJ2aWNlLnN0b3BXYXRjaGluZygpO1xuICB9XG5cbiAgYXN5bmMgY2hlY2tBbmRFbmFibGVBdXRvU2F2ZSgpIHtcbiAgICBjb25zdCBzZGtDb25maWcgPSBhd2FpdCB0aGlzLnNjc2VydmljZS5nZXRTZGtDb25maWcoKTtcbiAgICBjb25zdCBhdXRvU2F2ZSA9IHNka0NvbmZpZy5zZXJ2ZXJDb25maWcuYXV0b1NhdmU7XG5cbiAgICBpZiAoYXV0b1NhdmUpIHtcbiAgICAgIHRoaXMuaWRsZVNlcnZpY2Uuc3RhcnRXYXRjaGluZygoKSA9PiB0aGlzLmF1dG9TYXZlKCksIGF1dG9TYXZlKTtcbiAgICB9XG4gIH1cblxuICBvbkFjdGlvbkJ1dHRvbkNsaWNrKG9EYXRhOiBhbnkpIHtcbiAgICB0aGlzLmFjdGlvbkJ1dHRvbkNsaWNrLmVtaXQob0RhdGEpO1xuICB9XG5cbiAgYXV0b1NhdmUoKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCk7XG4gICAgaWYgKFBDb3JlLmdldEZvcm1VdGlscygpLmlzU3RhdGVNb2RpZmllZChjb250ZXh0KSkge1xuICAgICAgdGhpcy5wQ29ubiQuZ2V0QWN0aW9uc0FwaSgpLnNhdmVBc3NpZ25tZW50KGNvbnRleHQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXAkXCIgbmFtZT1cImZsb3dDb250YWluZXJcIiBjbGFzcz1cInBzZGstZmxvdy1jb250YWluZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQga2lkIG9mIGFyQ2hpbGRyZW4kXCI+XG4gICAgPGRpdiBbbmdTd2l0Y2hdPVwia2lkLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpXCI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlciAqbmdTd2l0Y2hDYXNlPVwiJ1ZpZXcnXCIgbmFtZT1cIlZpZXdcIiBbcHJvcHNdPVwieyBmb3JtR3JvdXAkLCBwQ29ubiQ6IGtpZC5nZXRQQ29ubmVjdCgpIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0Nhc2VDcmVhdGVTdGFnZSdcIlxuICAgICAgICBuYW1lPVwiQ2FzZUNyZWF0ZVN0YWdlXCJcbiAgICAgICAgW3Byb3BzXT1cInsgZm9ybUdyb3VwJCwgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSB9XCJcbiAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8Y29tcG9uZW50LW1hcHBlciAqbmdTd2l0Y2hDYXNlPVwiJ1JlZ2lvbidcIiBuYW1lPVwiUmVnaW9uXCIgW3Byb3BzXT1cInsgZm9ybUdyb3VwJCwgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0PkFzc2lnbm1lbnQgQ2FyZCB3YW50cyBjb21wb25lbnQgbm90IHlldCBhdmFpbGFibGU6IHt7IGtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdj5cbiAgPGJyIC8+XG4gIDxkaXYgY2xhc3M9XCJwc2RrLWNhc2Utdmlldy1kaXZpZGVyXCI+PC9kaXY+XG5cbiAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAqbmdJZj1cImFyTWFpbkJ1dHRvbnMkICYmIGFyU2Vjb25kYXJ5QnV0dG9ucyRcIlxuICAgIG5hbWU9XCJBY3Rpb25CdXR0b25zXCJcbiAgICBbcHJvcHNdPVwieyBhck1haW5CdXR0b25zJCwgYXJTZWNvbmRhcnlCdXR0b25zJCB9XCJcbiAgICBbcGFyZW50XT1cInRoaXNcIlxuICAgIFtvdXRwdXRFdmVudHNdPVwieyBhY3Rpb25CdXR0b25DbGljazogb25BY3Rpb25CdXR0b25DbGljayB9XCJcbiAgPjwvY29tcG9uZW50LW1hcHBlcj5cbjwvZGl2PlxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50LWNhcmQvYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9hc3NpZ25tZW50LWNhcmQvYXNzaWdubWVudC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7OztBQVN4RyxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBZVksc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7S0FpQnJFO0lBZkMsUUFBUTtRQUNOLDREQUE0RDtRQUM1RCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELFdBQVc7UUFDVCw0REFBNEQ7UUFDNUQsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0F4QlUsdUJBQXVCO21HQUF2Qix1QkFBdUIseVZDYnBDLDZwQ0EyQkEsME1EaEJZLFlBQVkseW9CQUFFLG1CQUFtQix5Z0JBQW1CLHdCQUF3Qjs7NEZBRTNFLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzhCQUcvRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVmZXJlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFzc2lnbm1lbnQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NpZ25tZW50LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NpZ25tZW50LWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBBc3NpZ25tZW50Q2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgYXJNYWluQnV0dG9ucyQ6IGFueVtdO1xuICBASW5wdXQoKSBhclNlY29uZGFyeUJ1dHRvbnMkOiBhbnlbXTtcbiAgQElucHV0KCkgYXJDaGlsZHJlbiQ6IGFueVtdO1xuICBASW5wdXQoKSB1cGRhdGVUb2tlbiQ6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgYWN0aW9uQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIENoaWxkcmVuIG1heSBjb250YWluICdyZWZlcmVuY2UnIGNvbXBvbmVudCwgc28gd2UgbmVlZCB0b1xuICAgIC8vICBub3JtYWxpemUgdGhlbVxuICAgIHRoaXMuYXJDaGlsZHJlbiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm5BcnJheSh0aGlzLmFyQ2hpbGRyZW4kKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIC8vIENoaWxkcmVuIG1heSBjb250YWluICdyZWZlcmVuY2UnIGNvbXBvbmVudCwgc28gd2UgbmVlZCB0b1xuICAgIC8vICBub3JtYWxpemUgdGhlbVxuICAgIHRoaXMuYXJDaGlsZHJlbiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm5BcnJheSh0aGlzLmFyQ2hpbGRyZW4kKTtcbiAgfVxuXG4gIG9uQWN0aW9uQnV0dG9uQ2xpY2sob0RhdGE6IGFueSkge1xuICAgIHRoaXMuYWN0aW9uQnV0dG9uQ2xpY2suZW1pdChvRGF0YSk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwJFwiIG5hbWU9XCJmbG93Q29udGFpbmVyXCIgY2xhc3M9XCJwc2RrLWZsb3ctY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGtpZCBvZiBhckNoaWxkcmVuJFwiPlxuICAgIDxkaXYgW25nU3dpdGNoXT1cImtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKVwiPlxuICAgICAgPGNvbXBvbmVudC1tYXBwZXIgKm5nU3dpdGNoQ2FzZT1cIidWaWV3J1wiIG5hbWU9XCJWaWV3XCIgW3Byb3BzXT1cInsgZm9ybUdyb3VwJCwgcENvbm4kOiBraWQuZ2V0UENvbm5lY3QoKSB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDYXNlQ3JlYXRlU3RhZ2UnXCJcbiAgICAgICAgbmFtZT1cIkNhc2VDcmVhdGVTdGFnZVwiXG4gICAgICAgIFtwcm9wc109XCJ7IGZvcm1Hcm91cCQsIHBDb25uJDoga2lkLmdldFBDb25uZWN0KCkgfVwiXG4gICAgICA+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgICAgPGNvbXBvbmVudC1tYXBwZXIgKm5nU3dpdGNoQ2FzZT1cIidSZWdpb24nXCIgbmFtZT1cIlJlZ2lvblwiIFtwcm9wc109XCJ7IGZvcm1Hcm91cCQsIHBDb25uJDoga2lkLmdldFBDb25uZWN0KCkgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdD5Bc3NpZ25tZW50IENhcmQgd2FudHMgY29tcG9uZW50IG5vdCB5ZXQgYXZhaWxhYmxlOiB7eyBraWQuZ2V0UENvbm5lY3QoKS5nZXRDb21wb25lbnROYW1lKCkgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG5cbjxkaXY+XG4gIDxiciAvPlxuICA8ZGl2IGNsYXNzPVwicHNkay1jYXNlLXZpZXctZGl2aWRlclwiPjwvZGl2PlxuXG4gIDxjb21wb25lbnQtbWFwcGVyXG4gICAgKm5nSWY9XCJhck1haW5CdXR0b25zJCAmJiBhclNlY29uZGFyeUJ1dHRvbnMkXCJcbiAgICBuYW1lPVwiQWN0aW9uQnV0dG9uc1wiXG4gICAgW3Byb3BzXT1cInsgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQgfVwiXG4gICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gID48L2NvbXBvbmVudC1tYXBwZXI+XG48L2Rpdj5cbiJdfQ==
@@ -61,10 +61,10 @@ export class DashboardFilterComponent {
61
61
  };
62
62
  PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DashboardFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DashboardFilterComponent, isStandalone: true, selector: "app-dashboard-filter", inputs: { pConn$: "pConn$", filtersFormGroup$: "filtersFormGroup$", inlineProps: "inlineProps", children: "children" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i2.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i2.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i2.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i3.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i3.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i3.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i3.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i3.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(() => i4.MatDateRangeInput), selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i0.forwardRef(() => i4.MatStartDate), selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i0.forwardRef(() => i4.MatEndDate), selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i0.forwardRef(() => i4.MatDateRangePicker), selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatNativeDateModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DashboardFilterComponent, isStandalone: true, selector: "app-dashboard-filter", inputs: { pConn$: "pConn$", filtersFormGroup$: "filtersFormGroup$", inlineProps: "inlineProps", children: "children" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i2.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i2.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i2.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i3.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i3.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i3.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i3.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i3.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(() => i4.MatDateRangeInput), selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i0.forwardRef(() => i4.MatStartDate), selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i0.forwardRef(() => i4.MatEndDate), selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i0.forwardRef(() => i4.MatDateRangePicker), selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatNativeDateModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DashboardFilterComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardFilterComponent, decorators: [{
68
68
  type: Component,
69
69
  args: [{ selector: 'app-dashboard-filter', standalone: true, imports: [
70
70
  CommonModule,
@@ -39,8 +39,10 @@ export class DeferLoadComponent {
39
39
  // Should always check the bridge to see if the component should
40
40
  // update itself (re-render)
41
41
  const theRequestedAssignment = this.pConn$.getValue(PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL);
42
- if (theRequestedAssignment !== this.currentLoadedAssignment) {
42
+ const lastUpdateCaseTime = this.pConn$.getValue('caseInfo.lastUpdateTime');
43
+ if (theRequestedAssignment !== this.currentLoadedAssignment || (lastUpdateCaseTime && lastUpdateCaseTime !== this.lastUpdateCaseTime)) {
43
44
  this.currentLoadedAssignment = theRequestedAssignment;
45
+ this.lastUpdateCaseTime = lastUpdateCaseTime;
44
46
  this.loadActiveTab();
45
47
  }
46
48
  }
@@ -125,10 +127,10 @@ export class DeferLoadComponent {
125
127
  });
126
128
  }
127
129
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DeferLoadComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DeferLoadComponent, isStandalone: true, selector: "app-defer-load", inputs: { pConn$: "pConn$", loadData$: "loadData$", name: "name" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeferLoadComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeferLoadComponent, isStandalone: true, selector: "app-defer-load", inputs: { pConn$: "pConn$", loadData$: "loadData$", name: "name" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
130
132
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DeferLoadComponent, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeferLoadComponent, decorators: [{
132
134
  type: Component,
133
135
  args: [{ selector: 'app-defer-load', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n" }]
134
136
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }], propDecorators: { pConn$: [{
@@ -138,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
138
140
  }], name: [{
139
141
  type: Input
140
142
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXItbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGVmZXItbG9hZC9kZWZlci1sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kZWZlci1sb2FkL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7QUFHeEc7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQW9CLGVBQXVDO1FBQXZDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQWIzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBRTlDLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQTJEN0IsbUJBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM5QixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2xGLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMxRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDOUQsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7U0FDcEMsQ0FBQyxDQUFDO1FBdkRELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4Ryw0RkFBNEY7UUFDNUYsd0JBQXdCO0lBQzFCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLGdFQUFnRTtRQUNoRSw0QkFBNEI7UUFDNUIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckcsSUFBSSxzQkFBc0IsS0FBSyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsc0JBQXNCLENBQUM7WUFDdEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuSSxJQUFJLGlCQUFpQixDQUFDO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0MsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsMEJBQTBCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEYsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRyxDQUFDO1FBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUM7UUFDM0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFakIsTUFBTSxFQUFFLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsaUJBQWlCLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hILElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRS9FLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDO1FBRTdDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBVUQsVUFBVSxDQUFDLElBQUk7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLENBQy9CLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsRUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRTtvQkFDckMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7aUJBQzlDO2FBQ0YsQ0FBQztZQUNGLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEQsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQ25GLENBQUM7UUFDSCxDQUFDO1FBQ0QsOEJBQThCO0lBQ2hDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQyw4Q0FBOEM7WUFDOUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3hGLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUU1RyxJQUFJLENBQUMsTUFBTTtxQkFDUixhQUFhLEVBQUU7cUJBQ2YsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFO29CQUN2RCxlQUFlLEVBQUUsSUFBSTtvQkFDckIsbUtBQW1LO29CQUNuSyxhQUFhLEVBQUUsSUFBSTtpQkFDcEIsQ0FBQztxQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO1lBQ25GLENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQyxvREFBb0Q7WUFDcEQsSUFBSSxDQUFDLE1BQU07aUJBQ1IsYUFBYSxFQUFFO2lCQUNmLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU07aUJBQ1IsYUFBYSxFQUFFO2lCQUNmLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2lCQUM5RCxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQzsrR0FoSlUsa0JBQWtCO21HQUFsQixrQkFBa0IsbUtDcEIvQixzTUFHQSw2RURlWSxZQUFZLDZLQUFtQix3QkFBd0I7OzRGQUV0RCxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzJGQUcxRCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgcHVibGljQ29uc3RhbnRzIH0gZnJvbSAnQHBlZ2EvcGNvcmUtcGNvbm5lY3QtdHlwZWRlZnMvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlZmVyZW5jZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2luZnJhL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcblxuLyoqXG4gKiBXQVJOSU5HOiAgSXQgaXMgbm90IGV4cGVjdGVkIHRoYXQgdGhpcyBmaWxlIHNob3VsZCBiZSBtb2RpZmllZC4gIEl0IGlzIHBhcnQgb2YgaW5mcmFzdHJ1Y3R1cmUgY29kZSB0aGF0IHdvcmtzIHdpdGhcbiAqIFJlZHV4IGFuZCBjcmVhdGlvbi91cGRhdGUgb2YgUmVkdXggY29udGFpbmVycyBhbmQgUENvbm5lY3QuICBNb2RpZnlpbmcgdGhpcyBjb2RlIGNvdWxkIGhhdmUgdW5kZXNpcmVhYmxlIHJlc3VsdHMgYW5kXG4gKiBpcyB0b3RhbGx5IGF0IHlvdXIgb3duIHJpc2suXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRlZmVyLWxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVmZXItbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlZmVyLWxvYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZlckxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGxvYWREYXRhJDogYW55O1xuICBASW5wdXQoKSBuYW1lO1xuXG4gIGNvbXBvbmVudE5hbWUkOiBzdHJpbmc7XG4gIGxvYWRlZFBDb25uJDogYW55O1xuICBiU2hvd0RlZmVyJCA9IGZhbHNlO1xuXG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcbiAgY29uc3RhbnRzOiB0eXBlb2YgcHVibGljQ29uc3RhbnRzO1xuICBjdXJyZW50TG9hZGVkQXNzaWdubWVudCA9ICcnO1xuICBpc0NvbnRhaW5lclByZXZpZXc6IGJvb2xlYW47XG4gIGxvYWRWaWV3Q2FzZUlEOiBhbnk7XG4gIHJlc291cmNlVHlwZTogYW55O1xuICBkZWZlckxvYWRJZDogYW55O1xuICBjb250YWluZXJOYW1lOiBhbnk7XG4gIENBU0U6IGFueTtcbiAgUEFHRTogYW55O1xuICBEQVRBOiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5jb25zdGFudHMgPSBQQ29yZS5nZXRDb25zdGFudHMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgLy8gVGhlIGJlbG93IGNhbGwgaXMgY2F1c2luZyBhbiBlcnJvciB3aGlsZSBjcmVhdGluZy9vcGVuaW5nIGEgY2FzZSwgaGVuY2UgY29tbWVudGluZyBpdCBvdXRcbiAgICAvLyB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgdGhlUmVxdWVzdGVkQXNzaWdubWVudCA9IHRoaXMucENvbm4kLmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5BU1NJR05NRU5UX0xBQkVMKTtcbiAgICBpZiAodGhlUmVxdWVzdGVkQXNzaWdubWVudCAhPT0gdGhpcy5jdXJyZW50TG9hZGVkQXNzaWdubWVudCkge1xuICAgICAgdGhpcy5jdXJyZW50TG9hZGVkQXNzaWdubWVudCA9IHRoZVJlcXVlc3RlZEFzc2lnbm1lbnQ7XG4gICAgICB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmxvYWRWaWV3Q2FzZUlEID0gdGhpcy5wQ29ubiQuZ2V0VmFsdWUodGhpcy5jb25zdGFudHMuUFpJTlNLRVkpIHx8IHRoaXMucENvbm4kLmdldFZhbHVlKHRoaXMuY29uc3RhbnRzLkNBU0VfSU5GTy5DQVNFX0lORk9fSUQpO1xuICAgIGxldCBjb250YWluZXJJdGVtRGF0YTtcbiAgICBjb25zdCB0YXJnZXROYW1lID0gdGhpcy5wQ29ubiQuZ2V0VGFyZ2V0KCk7XG4gICAgaWYgKHRhcmdldE5hbWUpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyTmFtZSA9IFBDb3JlLmdldENvbnRhaW5lclV0aWxzKCkuZ2V0QWN0aXZlQ29udGFpbmVySXRlbU5hbWUodGFyZ2V0TmFtZSk7XG4gICAgICBjb250YWluZXJJdGVtRGF0YSA9IFBDb3JlLmdldENvbnRhaW5lclV0aWxzKCkuZ2V0Q29udGFpbmVySXRlbURhdGEodGFyZ2V0TmFtZSwgdGhpcy5jb250YWluZXJOYW1lKTtcbiAgICB9XG4gICAgY29uc3QgeyBDQVNFLCBQQUdFLCBEQVRBIH0gPSB0aGlzLmNvbnN0YW50cy5SRVNPVVJDRV9UWVBFUztcbiAgICB0aGlzLkNBU0UgPSBDQVNFO1xuICAgIHRoaXMuUEFHRSA9IFBBR0U7XG4gICAgdGhpcy5EQVRBID0gREFUQTtcblxuICAgIGNvbnN0IHsgcmVzb3VyY2VUeXBlID0gdGhpcy5DQVNFIH0gPSBjb250YWluZXJJdGVtRGF0YSB8fCB7IHJlc291cmNlVHlwZTogdGhpcy5sb2FkVmlld0Nhc2VJRCA/IHRoaXMuQ0FTRSA6IHRoaXMuUEFHRSB9O1xuICAgIHRoaXMucmVzb3VyY2VUeXBlID0gcmVzb3VyY2VUeXBlO1xuICAgIHRoaXMuaXNDb250YWluZXJQcmV2aWV3ID0gL3ByZXZpZXdfWzAtOV0qL2cudGVzdCh0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpKTtcblxuICAgIGNvbnN0IHRoZUNvbmZpZ1Byb3BzID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKTtcbiAgICB0aGlzLmRlZmVyTG9hZElkID0gdGhlQ29uZmlnUHJvcHMuZGVmZXJMb2FkSWQ7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5uYW1lIHx8IHRoZUNvbmZpZ1Byb3BzLm5hbWU7XG5cbiAgICB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIGdldFZpZXdPcHRpb25zID0gKCkgPT4gKHtcbiAgICB2aWV3Q29udGV4dDogdGhpcy5yZXNvdXJjZVR5cGUsXG4gICAgcGFnZUNsYXNzOiB0aGlzLmxvYWRWaWV3Q2FzZUlEID8gJycgOiB0aGlzLnBDb25uJC5nZXREYXRhT2JqZWN0KCkucHlQb3J0YWwuY2xhc3NJRCxcbiAgICBjb250YWluZXI6IHRoaXMuaXNDb250YWluZXJQcmV2aWV3ID8gJ3ByZXZpZXcnIDogdW5kZWZpbmVkLFxuICAgIGNvbnRhaW5lck5hbWU6IHRoaXMuaXNDb250YWluZXJQcmV2aWV3ID8gJ3ByZXZpZXcnIDogdW5kZWZpbmVkLFxuICAgIHVwZGF0ZURhdGE6IHRoaXMuaXNDb250YWluZXJQcmV2aWV3XG4gIH0pO1xuXG4gIG9uUmVzcG9uc2UoZGF0YSkge1xuICAgIGlmICh0aGlzLmRlZmVyTG9hZElkKSB7XG4gICAgICBQQ29yZS5nZXREZWZlckxvYWRNYW5hZ2VyKCkuc3RhcnQoXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5nZXRLZXkoKSxcbiAgICAgICAgdGhpcy5wQ29ubiQuZ2V0UGFnZVJlZmVyZW5jZSgpLnJlcGxhY2UoJ2Nhc2VJbmZvLmNvbnRlbnQnLCAnJyksXG4gICAgICAgIHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCksXG4gICAgICAgIHRoaXMuZGVmZXJMb2FkSWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEgJiYgIShkYXRhLnR5cGUgJiYgZGF0YS50eXBlID09PSAnZXJyb3InKSkge1xuICAgICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgICBtZXRhOiBkYXRhLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgY29udGV4dDogdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSxcbiAgICAgICAgICBwYWdlUmVmZXJlbmNlOiB0aGlzLnBDb25uJC5nZXRQYWdlUmVmZXJlbmNlKClcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNvbmZpZ09iamVjdCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG4gICAgICBjb25maWdPYmplY3QuZ2V0UENvbm5lY3QoKS5zZXRJbmhlcml0ZWRQcm9wKCdkaXNwbGF5TW9kZScsICdESVNQTEFZX09OTFknKTtcbiAgICAgIHRoaXMubG9hZGVkUENvbm4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKGNvbmZpZ09iamVjdC5nZXRQQ29ubmVjdCgpKTtcbiAgICAgIHRoaXMuY29tcG9uZW50TmFtZSQgPSB0aGlzLmxvYWRlZFBDb25uJC5nZXRDb21wb25lbnROYW1lKCk7XG4gICAgICBpZiAodGhpcy5kZWZlckxvYWRJZCkge1xuICAgICAgICBQQ29yZS5nZXREZWZlckxvYWRNYW5hZ2VyKCkuc3RvcCh0aGlzLmRlZmVyTG9hZElkLCB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBsb2FkQWN0aXZlVGFiKCkge1xuICAgIGlmICh0aGlzLnJlc291cmNlVHlwZSA9PT0gdGhpcy5EQVRBKSB7XG4gICAgICAvLyBSZW5kZXJpbmcgZGVmZXIgbG9hZGVkIHRhYnMgaW4gZGF0YSBjb250ZXh0XG4gICAgICBpZiAodGhpcy5jb250YWluZXJOYW1lKSB7XG4gICAgICAgIGNvbnN0IGRhdGFDb250ZXh0ID0gUENvcmUuZ2V0U3RvcmVWYWx1ZSgnLmRhdGFDb250ZXh0JywgJ2RhdGFJbmZvJywgdGhpcy5jb250YWluZXJOYW1lKTtcbiAgICAgICAgY29uc3QgZGF0YUNvbnRleHRQYXJhbWV0ZXJzID0gUENvcmUuZ2V0U3RvcmVWYWx1ZSgnLmRhdGFDb250ZXh0UGFyYW1ldGVycycsICdkYXRhSW5mbycsIHRoaXMuY29udGFpbmVyTmFtZSk7XG5cbiAgICAgICAgdGhpcy5wQ29ubiRcbiAgICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgICAgLnNob3dEYXRhKHRoaXMubmFtZSwgZGF0YUNvbnRleHQsIGRhdGFDb250ZXh0UGFyYW1ldGVycywge1xuICAgICAgICAgICAgc2tpcFNlbWFudGljVXJsOiB0cnVlLFxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIE9iamVjdCBsaXRlcmFsIG1heSBvbmx5IHNwZWNpZnkga25vd24gcHJvcGVydGllcywgYW5kICdpc0RlZmVyTG9hZGVkJyBkb2VzIG5vdCBleGlzdCBpbiB0eXBlICd7IGNvbnRhaW5lck5hbWU6IHN0cmluZzsgc2tpcFNlbWFudGljVXJsOiBib29sZWFuOyB9J1xuICAgICAgICAgICAgaXNEZWZlckxvYWRlZDogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uUmVzcG9uc2UoZGF0YSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdDYW5ub3QgbG9hZCB0aGUgZGVmZXIgbG9hZGVkIHZpZXcgd2l0aG91dCBjb250YWluZXIgaW5mb3JtYXRpb24nKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucmVzb3VyY2VUeXBlID09PSB0aGlzLlBBR0UpIHtcbiAgICAgIC8vIFJlbmRlcmluZyBkZWZlciBsb2FkZWQgdGFicyBpbiBjYXNlLyBwYWdlIGNvbnRleHRcbiAgICAgIHRoaXMucENvbm4kXG4gICAgICAgIC5nZXRBY3Rpb25zQXBpKClcbiAgICAgICAgLmxvYWRWaWV3KGVuY29kZVVSSSh0aGlzLmxvYWRWaWV3Q2FzZUlEKSwgdGhpcy5uYW1lLCB0aGlzLmdldFZpZXdPcHRpb25zKCkpXG4gICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgIHRoaXMub25SZXNwb25zZShkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucENvbm4kXG4gICAgICAgIC5nZXRBY3Rpb25zQXBpKClcbiAgICAgICAgLnJlZnJlc2hDYXNlVmlldyhlbmNvZGVVUkkodGhpcy5sb2FkVmlld0Nhc2VJRCksIHRoaXMubmFtZSwgJycpXG4gICAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm9uUmVzcG9uc2UoZGF0YS5yb290KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwibG9hZGVkUENvbm4kXCI+XG4gIDxjb21wb25lbnQtbWFwcGVyIFtuYW1lXT1cImNvbXBvbmVudE5hbWUkXCIgW3Byb3BzXT1cInsgcENvbm4kOiBsb2FkZWRQQ29ubiQgfVwiIGVycm9yTXNnPVwiRGVmZXIgTG9hZCBNaXNzaW5nOiB7eyBjb21wb25lbnROYW1lJCB9fVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbjwvZGl2PlxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXItbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGVmZXItbG9hZC9kZWZlci1sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kZWZlci1sb2FkL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7QUFHeEc7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCLFlBQW9CLGVBQXVDO1FBQXZDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQWQzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBRTlDLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQThEN0IsbUJBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM5QixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2xGLFNBQVMsRUFBRSxJQUFJ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RkFHMUQsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHB1YmxpY0NvbnN0YW50cyB9IGZyb20gJ0BwZWdhL3Bjb3JlLXBjb25uZWN0LXR5cGVkZWZzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5cbi8qKlxuICogV0FSTklORzogIEl0IGlzIG5vdCBleHBlY3RlZCB0aGF0IHRoaXMgZmlsZSBzaG91bGQgYmUgbW9kaWZpZWQuICBJdCBpcyBwYXJ0IG9mIGluZnJhc3RydWN0dXJlIGNvZGUgdGhhdCB3b3JrcyB3aXRoXG4gKiBSZWR1eCBhbmQgY3JlYXRpb24vdXBkYXRlIG9mIFJlZHV4IGNvbnRhaW5lcnMgYW5kIFBDb25uZWN0LiAgTW9kaWZ5aW5nIHRoaXMgY29kZSBjb3VsZCBoYXZlIHVuZGVzaXJlYWJsZSByZXN1bHRzIGFuZFxuICogaXMgdG90YWxseSBhdCB5b3VyIG93biByaXNrLlxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kZWZlci1sb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZWZlci1sb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgRGVmZXJMb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBsb2FkRGF0YSQ6IGFueTtcbiAgQElucHV0KCkgbmFtZTtcblxuICBjb21wb25lbnROYW1lJDogc3RyaW5nO1xuICBsb2FkZWRQQ29ubiQ6IGFueTtcbiAgYlNob3dEZWZlciQgPSBmYWxzZTtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbnN0YW50czogdHlwZW9mIHB1YmxpY0NvbnN0YW50cztcbiAgY3VycmVudExvYWRlZEFzc2lnbm1lbnQgPSAnJztcbiAgaXNDb250YWluZXJQcmV2aWV3OiBib29sZWFuO1xuICBsb2FkVmlld0Nhc2VJRDogYW55O1xuICByZXNvdXJjZVR5cGU6IGFueTtcbiAgZGVmZXJMb2FkSWQ6IGFueTtcbiAgY29udGFpbmVyTmFtZTogYW55O1xuICBDQVNFOiBhbnk7XG4gIFBBR0U6IGFueTtcbiAgREFUQTogYW55O1xuICBsYXN0VXBkYXRlQ2FzZVRpbWU7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5jb25zdGFudHMgPSBQQ29yZS5nZXRDb25zdGFudHMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgLy8gVGhlIGJlbG93IGNhbGwgaXMgY2F1c2luZyBhbiBlcnJvciB3aGlsZSBjcmVhdGluZy9vcGVuaW5nIGEgY2FzZSwgaGVuY2UgY29tbWVudGluZyBpdCBvdXRcbiAgICAvLyB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgdGhlUmVxdWVzdGVkQXNzaWdubWVudCA9IHRoaXMucENvbm4kLmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5BU1NJR05NRU5UX0xBQkVMKTtcbiAgICBjb25zdCBsYXN0VXBkYXRlQ2FzZVRpbWUgPSB0aGlzLnBDb25uJC5nZXRWYWx1ZSgnY2FzZUluZm8ubGFzdFVwZGF0ZVRpbWUnKTtcbiAgICBpZiAodGhlUmVxdWVzdGVkQXNzaWdubWVudCAhPT0gdGhpcy5jdXJyZW50TG9hZGVkQXNzaWdubWVudCB8fCAobGFzdFVwZGF0ZUNhc2VUaW1lICYmIGxhc3RVcGRhdGVDYXNlVGltZSAhPT0gdGhpcy5sYXN0VXBkYXRlQ2FzZVRpbWUpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZWRBc3NpZ25tZW50ID0gdGhlUmVxdWVzdGVkQXNzaWdubWVudDtcbiAgICAgIHRoaXMubGFzdFVwZGF0ZUNhc2VUaW1lID0gbGFzdFVwZGF0ZUNhc2VUaW1lO1xuICAgICAgdGhpcy5sb2FkQWN0aXZlVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5sb2FkVmlld0Nhc2VJRCA9IHRoaXMucENvbm4kLmdldFZhbHVlKHRoaXMuY29uc3RhbnRzLlBaSU5TS0VZKSB8fCB0aGlzLnBDb25uJC5nZXRWYWx1ZSh0aGlzLmNvbnN0YW50cy5DQVNFX0lORk8uQ0FTRV9JTkZPX0lEKTtcbiAgICBsZXQgY29udGFpbmVySXRlbURhdGE7XG4gICAgY29uc3QgdGFyZ2V0TmFtZSA9IHRoaXMucENvbm4kLmdldFRhcmdldCgpO1xuICAgIGlmICh0YXJnZXROYW1lKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lck5hbWUgPSBQQ29yZS5nZXRDb250YWluZXJVdGlscygpLmdldEFjdGl2ZUNvbnRhaW5lckl0ZW1OYW1lKHRhcmdldE5hbWUpO1xuICAgICAgY29udGFpbmVySXRlbURhdGEgPSBQQ29yZS5nZXRDb250YWluZXJVdGlscygpLmdldENvbnRhaW5lckl0ZW1EYXRhKHRhcmdldE5hbWUsIHRoaXMuY29udGFpbmVyTmFtZSk7XG4gICAgfVxuICAgIGNvbnN0IHsgQ0FTRSwgUEFHRSwgREFUQSB9ID0gdGhpcy5jb25zdGFudHMuUkVTT1VSQ0VfVFlQRVM7XG4gICAgdGhpcy5DQVNFID0gQ0FTRTtcbiAgICB0aGlzLlBBR0UgPSBQQUdFO1xuICAgIHRoaXMuREFUQSA9IERBVEE7XG5cbiAgICBjb25zdCB7IHJlc291cmNlVHlwZSA9IHRoaXMuQ0FTRSB9ID0gY29udGFpbmVySXRlbURhdGEgfHwgeyByZXNvdXJjZVR5cGU6IHRoaXMubG9hZFZpZXdDYXNlSUQgPyB0aGlzLkNBU0UgOiB0aGlzLlBBR0UgfTtcbiAgICB0aGlzLnJlc291cmNlVHlwZSA9IHJlc291cmNlVHlwZTtcbiAgICB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA9IC9wcmV2aWV3X1swLTldKi9nLnRlc3QodGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSk7XG5cbiAgICBjb25zdCB0aGVDb25maWdQcm9wcyA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCk7XG4gICAgdGhpcy5kZWZlckxvYWRJZCA9IHRoZUNvbmZpZ1Byb3BzLmRlZmVyTG9hZElkO1xuICAgIHRoaXMubmFtZSA9IHRoaXMubmFtZSB8fCB0aGVDb25maWdQcm9wcy5uYW1lO1xuXG4gICAgdGhpcy5sb2FkQWN0aXZlVGFiKCk7XG4gIH1cblxuICBnZXRWaWV3T3B0aW9ucyA9ICgpID0+ICh7XG4gICAgdmlld0NvbnRleHQ6IHRoaXMucmVzb3VyY2VUeXBlLFxuICAgIHBhZ2VDbGFzczogdGhpcy5sb2FkVmlld0Nhc2VJRCA/ICcnIDogdGhpcy5wQ29ubiQuZ2V0RGF0YU9iamVjdCgpLnB5UG9ydGFsLmNsYXNzSUQsXG4gICAgY29udGFpbmVyOiB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA/ICdwcmV2aWV3JyA6IHVuZGVmaW5lZCxcbiAgICBjb250YWluZXJOYW1lOiB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA/ICdwcmV2aWV3JyA6IHVuZGVmaW5lZCxcbiAgICB1cGRhdGVEYXRhOiB0aGlzLmlzQ29udGFpbmVyUHJldmlld1xuICB9KTtcblxuICBvblJlc3BvbnNlKGRhdGEpIHtcbiAgICBpZiAodGhpcy5kZWZlckxvYWRJZCkge1xuICAgICAgUENvcmUuZ2V0RGVmZXJMb2FkTWFuYWdlcigpLnN0YXJ0KFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0S2V5KCksXG4gICAgICAgIHRoaXMucENvbm4kLmdldFBhZ2VSZWZlcmVuY2UoKS5yZXBsYWNlKCdjYXNlSW5mby5jb250ZW50JywgJycpLFxuICAgICAgICB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpLFxuICAgICAgICB0aGlzLmRlZmVyTG9hZElkXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChkYXRhICYmICEoZGF0YS50eXBlICYmIGRhdGEudHlwZSA9PT0gJ2Vycm9yJykpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgbWV0YTogZGF0YSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGNvbnRleHQ6IHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCksXG4gICAgICAgICAgcGFnZVJlZmVyZW5jZTogdGhpcy5wQ29ubiQuZ2V0UGFnZVJlZmVyZW5jZSgpXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBjb25maWdPYmplY3QgPSBQQ29yZS5jcmVhdGVQQ29ubmVjdChjb25maWcpO1xuICAgICAgY29uZmlnT2JqZWN0LmdldFBDb25uZWN0KCkuc2V0SW5oZXJpdGVkUHJvcCgnZGlzcGxheU1vZGUnLCAnRElTUExBWV9PTkxZJyk7XG4gICAgICB0aGlzLmxvYWRlZFBDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubihjb25maWdPYmplY3QuZ2V0UENvbm5lY3QoKSk7XG4gICAgICB0aGlzLmNvbXBvbmVudE5hbWUkID0gdGhpcy5sb2FkZWRQQ29ubiQuZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgICAgaWYgKHRoaXMuZGVmZXJMb2FkSWQpIHtcbiAgICAgICAgUENvcmUuZ2V0RGVmZXJMb2FkTWFuYWdlcigpLnN0b3AodGhpcy5kZWZlckxvYWRJZCwgdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbG9hZEFjdGl2ZVRhYigpIHtcbiAgICBpZiAodGhpcy5yZXNvdXJjZVR5cGUgPT09IHRoaXMuREFUQSkge1xuICAgICAgLy8gUmVuZGVyaW5nIGRlZmVyIGxvYWRlZCB0YWJzIGluIGRhdGEgY29udGV4dFxuICAgICAgaWYgKHRoaXMuY29udGFpbmVyTmFtZSkge1xuICAgICAgICBjb25zdCBkYXRhQ29udGV4dCA9IFBDb3JlLmdldFN0b3JlVmFsdWUoJy5kYXRhQ29udGV4dCcsICdkYXRhSW5mbycsIHRoaXMuY29udGFpbmVyTmFtZSk7XG4gICAgICAgIGNvbnN0IGRhdGFDb250ZXh0UGFyYW1ldGVycyA9IFBDb3JlLmdldFN0b3JlVmFsdWUoJy5kYXRhQ29udGV4dFBhcmFtZXRlcnMnLCAnZGF0YUluZm8nLCB0aGlzLmNvbnRhaW5lck5hbWUpO1xuXG4gICAgICAgIHRoaXMucENvbm4kXG4gICAgICAgICAgLmdldEFjdGlvbnNBcGkoKVxuICAgICAgICAgIC5zaG93RGF0YSh0aGlzLm5hbWUsIGRhdGFDb250ZXh0LCBkYXRhQ29udGV4dFBhcmFtZXRlcnMsIHtcbiAgICAgICAgICAgIHNraXBTZW1hbnRpY1VybDogdHJ1ZSxcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLSBPYmplY3QgbGl0ZXJhbCBtYXkgb25seSBzcGVjaWZ5IGtub3duIHByb3BlcnRpZXMsIGFuZCAnaXNEZWZlckxvYWRlZCcgZG9lcyBub3QgZXhpc3QgaW4gdHlwZSAneyBjb250YWluZXJOYW1lOiBzdHJpbmc7IHNraXBTZW1hbnRpY1VybDogYm9vbGVhbjsgfSdcbiAgICAgICAgICAgIGlzRGVmZXJMb2FkZWQ6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblJlc3BvbnNlKGRhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignQ2Fubm90IGxvYWQgdGhlIGRlZmVyIGxvYWRlZCB2aWV3IHdpdGhvdXQgY29udGFpbmVyIGluZm9ybWF0aW9uJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc291cmNlVHlwZSA9PT0gdGhpcy5QQUdFKSB7XG4gICAgICAvLyBSZW5kZXJpbmcgZGVmZXIgbG9hZGVkIHRhYnMgaW4gY2FzZS8gcGFnZSBjb250ZXh0XG4gICAgICB0aGlzLnBDb25uJFxuICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgIC5sb2FkVmlldyhlbmNvZGVVUkkodGhpcy5sb2FkVmlld0Nhc2VJRCksIHRoaXMubmFtZSwgdGhpcy5nZXRWaWV3T3B0aW9ucygpKVxuICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLm9uUmVzcG9uc2UoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBDb25uJFxuICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgIC5yZWZyZXNoQ2FzZVZpZXcoZW5jb2RlVVJJKHRoaXMubG9hZFZpZXdDYXNlSUQpLCB0aGlzLm5hbWUsICcnKVxuICAgICAgICAudGhlbigoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5vblJlc3BvbnNlKGRhdGEucm9vdCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImxvYWRlZFBDb25uJFwiPlxuICA8Y29tcG9uZW50LW1hcHBlciBbbmFtZV09XCJjb21wb25lbnROYW1lJFwiIFtwcm9wc109XCJ7IHBDb25uJDogbG9hZGVkUENvbm4kIH1cIiBlcnJvck1zZz1cIkRlZmVyIExvYWQgTWlzc2luZzoge3sgY29tcG9uZW50TmFtZSQgfX1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG48L2Rpdj5cbiJdfQ==
@@ -6,10 +6,10 @@ export class ErrorBoundaryComponent {
6
6
  this.localizedVal = window.PCore.getLocaleUtils().getLocaleValue;
7
7
  this.localeCategory = 'Messages';
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorBoundaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ErrorBoundaryComponent, isStandalone: true, selector: "app-error-boundary", inputs: { message: "message" }, ngImport: i0, template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorBoundaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ErrorBoundaryComponent, isStandalone: true, selector: "app-error-boundary", inputs: { message: "message" }, ngImport: i0, template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorBoundaryComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorBoundaryComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'app-error-boundary', standalone: true, imports: [CommonModule], template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n" }]
15
15
  }], propDecorators: { message: [{