@pega/angular-sdk-components 24.1.10 → 24.2.12

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 (271) hide show
  1. package/esm2022/lib/_bridge/angular-pconnect.mjs +3 -3
  2. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +6 -13
  3. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +3 -3
  4. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +4 -4
  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 +4 -4
  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 +5 -6
  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 +13 -6
  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 +4 -4
  15. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +9 -7
  16. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +9 -9
  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 +23 -13
  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 +12 -10
  22. package/esm2022/lib/_components/field/currency/currency.component.mjs +39 -21
  23. package/esm2022/lib/_components/field/date/date.component.mjs +19 -39
  24. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +32 -17
  25. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +43 -23
  26. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +133 -25
  27. package/esm2022/lib/_components/field/email/email.component.mjs +22 -7
  28. package/esm2022/lib/_components/field/group/group.component.mjs +6 -6
  29. package/esm2022/lib/_components/field/integer/integer.component.mjs +20 -7
  30. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +8 -7
  31. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +13 -6
  32. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +39 -23
  33. package/esm2022/lib/_components/field/phone/phone.component.mjs +17 -29
  34. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +10 -12
  35. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +17 -11
  36. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +7 -8
  37. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +3 -3
  38. package/esm2022/lib/_components/field/text/text.component.mjs +12 -8
  39. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +21 -9
  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 +20 -7
  42. package/esm2022/lib/_components/field/time/time.component.mjs +31 -10
  43. package/esm2022/lib/_components/field/url/url.component.mjs +20 -7
  44. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +102 -23
  45. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +18 -44
  46. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +3 -3
  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 -12
  49. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +4 -4
  50. package/esm2022/lib/_components/infra/Containers/view-container/helper.mjs +22 -0
  51. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +9 -16
  52. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +5 -5
  53. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +73 -49
  54. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +5 -5
  55. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +3 -3
  56. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +10 -8
  57. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +3 -3
  58. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +3 -3
  59. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +5 -5
  60. package/esm2022/lib/_components/infra/reference/reference.component.mjs +74 -81
  61. package/esm2022/lib/_components/infra/region/region.component.mjs +3 -3
  62. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +25 -30
  63. package/esm2022/lib/_components/infra/stages/stages.component.mjs +5 -5
  64. package/esm2022/lib/_components/infra/view/view.component.mjs +22 -7
  65. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +20 -4
  66. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +3 -3
  67. package/esm2022/lib/_components/template/base/details-template-base.mjs +56 -0
  68. package/esm2022/lib/_components/template/base/form-template-base.mjs +16 -0
  69. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +4 -4
  70. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +11 -16
  71. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +6 -6
  72. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +13 -8
  73. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +37 -25
  74. package/esm2022/lib/_components/template/details/details.component.mjs +12 -39
  75. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +11 -38
  76. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +12 -41
  77. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +13 -40
  78. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +12 -41
  79. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +13 -42
  80. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +12 -41
  81. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +8 -7
  82. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +3 -3
  83. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +49 -42
  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 +5 -5
  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 +24 -9
  89. package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +3 -3
  90. package/esm2022/lib/_components/template/list-view/utils.mjs +1 -1
  91. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +3 -3
  92. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +4 -4
  93. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +6 -5
  94. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +3 -3
  95. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +4 -4
  96. package/esm2022/lib/_components/template/page/page.component.mjs +4 -4
  97. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +4 -4
  98. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +4 -4
  99. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +3 -3
  100. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +10 -9
  101. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +61 -29
  102. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +5 -5
  103. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +3 -3
  104. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +4 -4
  105. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +6 -5
  106. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +3 -3
  107. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +6 -5
  108. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +3 -3
  109. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +4 -4
  110. package/esm2022/lib/_components/template/utils.mjs +17 -1
  111. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +6 -5
  112. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +4 -4
  113. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +5 -5
  114. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +3 -3
  115. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +6 -8
  116. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +3 -3
  117. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +5 -5
  118. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +4 -4
  119. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +3 -3
  120. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +3 -3
  121. package/esm2022/lib/_components/widget/todo/todo.component.mjs +79 -63
  122. package/esm2022/lib/_components/widget/utility/utility.component.mjs +3 -3
  123. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +4 -4
  124. package/esm2022/lib/_helpers/createstage-utils.mjs +15 -0
  125. package/esm2022/lib/_helpers/field-group-utils.mjs +3 -3
  126. package/esm2022/lib/_helpers/filter-utils.mjs +1 -2
  127. package/esm2022/lib/_helpers/formatters/boolean.mjs +2 -2
  128. package/esm2022/lib/_helpers/formatters/common.mjs +3 -2
  129. package/esm2022/lib/_helpers/formatters/currency.mjs +2 -2
  130. package/esm2022/lib/_helpers/formatters/date.mjs +5 -5
  131. package/esm2022/lib/_helpers/formatters/format-utils.mjs +10 -2
  132. package/esm2022/lib/_helpers/formatters/index.mjs +30 -16
  133. package/esm2022/lib/_helpers/template-utils.mjs +3 -3
  134. package/esm2022/lib/_helpers/utils.mjs +44 -18
  135. package/esm2022/lib/_messages/error-messages.service.mjs +4 -4
  136. package/esm2022/lib/_messages/progress-spinner.service.mjs +3 -3
  137. package/esm2022/lib/_messages/update-worklist.service.mjs +3 -3
  138. package/esm2022/lib/_services/banner.service.mjs +35 -0
  139. package/esm2022/lib/_services/case.service.mjs +3 -3
  140. package/esm2022/lib/_services/datapage.service.mjs +3 -3
  141. package/esm2022/lib/_services/endpoints.mjs +1 -2
  142. package/esm2022/lib/_services/server-config.service.mjs +3 -3
  143. package/esm2022/public-api.mjs +16 -12
  144. package/fesm2022/pega-angular-sdk-components.mjs +1988 -1666
  145. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  146. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -1
  147. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -1
  148. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
  149. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +2 -1
  150. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -3
  151. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +2 -3
  152. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +8 -3
  153. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +0 -1
  154. package/lib/_components/field/check-box/check-box.component.d.ts +2 -3
  155. package/lib/_components/field/currency/currency.component.d.ts +6 -4
  156. package/lib/_components/field/date/date.component.d.ts +17 -7
  157. package/lib/_components/field/date-time/date-time.component.d.ts +10 -3
  158. package/lib/_components/field/decimal/decimal.component.d.ts +4 -4
  159. package/lib/_components/field/dropdown/dropdown.component.d.ts +14 -3
  160. package/lib/_components/field/email/email.component.d.ts +2 -1
  161. package/lib/_components/field/group/group.component.d.ts +0 -1
  162. package/lib/_components/field/integer/integer.component.d.ts +2 -1
  163. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -2
  164. package/lib/_components/field/multiselect/multiselect.component.d.ts +3 -3
  165. package/lib/_components/field/percentage/percentage.component.d.ts +6 -3
  166. package/lib/_components/field/phone/phone.component.d.ts +3 -8
  167. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +2 -2
  168. package/lib/_components/field/rich-text/rich-text.component.d.ts +3 -2
  169. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +0 -1
  170. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +0 -1
  171. package/lib/_components/field/text/text.component.d.ts +3 -2
  172. package/lib/_components/field/text-area/text-area.component.d.ts +2 -1
  173. package/lib/_components/field/text-content/text-content.component.d.ts +0 -1
  174. package/lib/_components/field/text-input/text-input.component.d.ts +2 -1
  175. package/lib/_components/field/time/time.component.d.ts +3 -1
  176. package/lib/_components/field/url/url.component.d.ts +2 -1
  177. package/lib/_components/field/user-reference/user-reference.component.d.ts +7 -1
  178. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -2
  179. package/lib/_components/infra/Containers/flow-container/helpers.d.ts +1 -0
  180. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -1
  181. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +1 -4
  182. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -1
  183. package/lib/_components/infra/Containers/view-container/helper.d.ts +2 -0
  184. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -1
  185. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  186. package/lib/_components/infra/assignment/assignment.component.d.ts +6 -4
  187. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +0 -1
  188. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -1
  189. package/lib/_components/infra/defer-load/defer-load.component.d.ts +3 -3
  190. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  191. package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -1
  192. package/lib/_components/infra/navbar/navbar.component.d.ts +2 -3
  193. package/lib/_components/infra/reference/reference.component.d.ts +23 -3
  194. package/lib/_components/infra/region/region.component.d.ts +0 -1
  195. package/lib/_components/infra/root-container/root-container.component.d.ts +3 -2
  196. package/lib/_components/infra/stages/stages.component.d.ts +0 -1
  197. package/lib/_components/infra/view/view.component.d.ts +1 -1
  198. package/lib/_components/template/app-shell/app-shell.component.d.ts +0 -1
  199. package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -1
  200. package/lib/_components/template/base/details-template-base.d.ts +21 -0
  201. package/lib/_components/template/base/form-template-base.d.ts +10 -0
  202. package/lib/_components/template/case-summary/case-summary.component.d.ts +0 -1
  203. package/lib/_components/template/case-view/case-view.component.d.ts +1 -3
  204. package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -1
  205. package/lib/_components/template/data-reference/data-reference.component.d.ts +0 -1
  206. package/lib/_components/template/default-form/default-form.component.d.ts +8 -7
  207. package/lib/_components/template/details/details.component.d.ts +3 -12
  208. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +3 -12
  209. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +3 -14
  210. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +3 -14
  211. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +3 -14
  212. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +3 -14
  213. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +3 -14
  214. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +1 -1
  215. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +12 -9
  216. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -1
  217. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -1
  218. package/lib/_components/template/list-page/list-page.component.d.ts +0 -1
  219. package/lib/_components/template/list-view/list-view.component.d.ts +7 -3
  220. package/lib/_components/template/list-view/listViewHelpers.d.ts +1 -1
  221. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -1
  222. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -1
  223. package/lib/_components/template/one-column/one-column.component.d.ts +2 -2
  224. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -1
  225. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -1
  226. package/lib/_components/template/page/page.component.d.ts +0 -1
  227. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -1
  228. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -1
  229. package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -1
  230. package/lib/_components/template/simple-table-manual/helpers.d.ts +4 -3
  231. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +10 -3
  232. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -1
  233. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +0 -1
  234. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -1
  235. package/lib/_components/template/three-column/three-column.component.d.ts +2 -2
  236. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -1
  237. package/lib/_components/template/two-column/two-column.component.d.ts +2 -2
  238. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -1
  239. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -1
  240. package/lib/_components/template/utils.d.ts +7 -0
  241. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +2 -2
  242. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +1 -2
  243. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +3 -4
  244. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -1
  245. package/lib/_components/widget/attachment/attachment.component.d.ts +3 -4
  246. package/lib/_components/widget/case-history/case-history.component.d.ts +0 -1
  247. package/lib/_components/widget/feed-container/feed-container.component.d.ts +2 -3
  248. package/lib/_components/widget/file-utility/file-utility.component.d.ts +1 -2
  249. package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -1
  250. package/lib/_components/widget/todo/todo.component.d.ts +10 -14
  251. package/lib/_components/widget/utility/utility.component.d.ts +0 -1
  252. package/lib/_helpers/common.d.ts +1 -1
  253. package/lib/_helpers/createstage-utils.d.ts +1 -0
  254. package/lib/_helpers/formatters/boolean.d.ts +1 -2
  255. package/lib/_helpers/formatters/common.d.ts +2 -2
  256. package/lib/_helpers/formatters/currency.d.ts +1 -2
  257. package/lib/_helpers/formatters/date.d.ts +1 -2
  258. package/lib/_helpers/formatters/index.d.ts +1 -2
  259. package/lib/_helpers/utils.d.ts +8 -0
  260. package/lib/_messages/error-messages.service.d.ts +1 -1
  261. package/lib/_services/banner.service.d.ts +8 -0
  262. package/lib/_services/endpoints.d.ts +0 -1
  263. package/lib/doc/KeyReleaseUpdates.md +23 -6
  264. package/package.json +3 -3
  265. package/public-api.d.ts +15 -11
  266. package/esm2022/lib/_messages/get-login-status.service.mjs +0 -26
  267. package/esm2022/lib/_messages/oauth-response.service.mjs +0 -30
  268. package/esm2022/lib/_messages/reset-pconnect.service.mjs +0 -31
  269. package/lib/_messages/get-login-status.service.d.ts +0 -10
  270. package/lib/_messages/oauth-response.service.d.ts +0 -14
  271. package/lib/_messages/reset-pconnect.service.d.ts +0 -15
@@ -13,6 +13,7 @@ export class Utils {
13
13
  this.scService = scService;
14
14
  this.lastControlID = 0;
15
15
  this.viewContainerCount = 0;
16
+ this.timezone = PCore.getEnvironmentInfo()?.getTimeZone();
16
17
  this.getUserId = user => {
17
18
  let userId = '';
18
19
  if (typeof user === 'object' && user !== null && user.userId) {
@@ -185,6 +186,10 @@ export class Utils {
185
186
  // 05/22/2021
186
187
  sReturnDate = dayjs(dateVal).format('MM/DD/YYYY');
187
188
  break;
189
+ case 'Date-Long-Custom-DD/MM/YYYY':
190
+ // 22/05/2021
191
+ sReturnDate = dayjs(dateVal).format('DD/MM/YYYY');
192
+ break;
188
193
  case 'Date':
189
194
  case 'Date-Medium':
190
195
  // Jan 1, 2001
@@ -240,61 +245,61 @@ export class Utils {
240
245
  switch (dateFormat) {
241
246
  case 'DateTime-Short':
242
247
  // 1/1/01 1:00 AM
243
- sReturnDate = dayjs(dateTimeVal).format('M/D/YY h:mm A');
248
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('M/D/YY h:mm A');
244
249
  break;
245
250
  case 'DateTime-Short-Custom':
246
251
  // 01/01/01 01:00 AM
247
- sReturnDate = dayjs(dateTimeVal).format('MM/DD/YY hh:mm A');
252
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MM/DD/YY hh:mm A');
248
253
  break;
249
254
  case 'DateTime-Short-YYYY-Custom':
250
255
  // 01/01/2001 01:00 AM
251
- sReturnDate = dayjs(dateTimeVal).format('M/D/YYYY hh:mm A');
256
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('M/D/YYYY hh:mm A');
252
257
  break;
253
258
  case 'DateTime-Long-YYYY-Custom':
254
259
  // 01/01/01 01:00 AM
255
- sReturnDate = dayjs(dateTimeVal).format('MM/DD/YYYY, hh:mm A');
260
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MM/DD/YYYY, hh:mm A');
256
261
  break;
257
262
  case 'DateTime-Short-YYYY':
258
263
  // 1/1/2001 1:00 AM
259
- sReturnDate = dayjs(dateTimeVal).format('M/D/YYYY h:mm A');
264
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('M/D/YYYY h:mm A');
260
265
  break;
261
266
  case 'DateTime-Medium':
262
267
  // Jan 1, 2001 1:00:00 AM
263
- sReturnDate = dayjs(dateTimeVal).format('MMM D, YYYY h:mm:ss A');
268
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MMM D, YYYY h:mm:ss A');
264
269
  break;
265
270
  case 'DateTime-Long':
266
271
  // January 1, 2001 1:00:00 AM
267
- sReturnDate = dayjs(dateTimeVal).format('MMMM D, YYYY h:mm:ss A');
272
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MMMM D, YYYY h:mm:ss A');
268
273
  break;
269
274
  case 'DateTime-DayMonthYear-Custom':
270
275
  // 01-Jan-2001 1:00:00 AM
271
- sReturnDate = dayjs(dateTimeVal).format('DD-MMM-YYYY h:mm:ss A');
276
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('DD-MMM-YYYY h:mm:ss A');
272
277
  break;
273
278
  case 'DateTime-Full':
274
279
  // Monday, January 1, 2001 1:00 AM EDT
275
- sReturnDate = dayjs(dateTimeVal).format('dddd, MMMM D, YYYY h:mm A z');
280
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('dddd, MMMM D, YYYY h:mm A z');
276
281
  break;
277
282
  case 'DateTime-Frame':
278
283
  case 'DateTime-Frame-Short':
279
284
  case 'DateTime-Since':
280
285
  // 2 days, 5 hours ago
281
- sReturnDate = dayjs(dateTimeVal).fromNow();
286
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).fromNow();
282
287
  break;
283
288
  case 'DateTime-ISO-8601':
284
289
  // 2001/01/01 1:00:00 AM y/m/d
285
- sReturnDate = dayjs(dateTimeVal).format('YYYY/MM/DD h:mm:ss A');
290
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('YYYY/MM/DD h:mm:ss A');
286
291
  break;
287
292
  case 'DateTime-Gregorian-1':
288
293
  // 01 January, 2001 1:00:00 AM
289
- sReturnDate = dayjs(dateTimeVal).format('DD MMMM, YYYY h:mm:ss A');
294
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('DD MMMM, YYYY h:mm:ss A');
290
295
  break;
291
296
  case 'DateTime-Gregorian-2':
292
297
  // January 01, 2001 1:00:00 AM
293
- sReturnDate = dayjs(dateTimeVal).format('MMMM DD, YYYY h:mm:ss A');
298
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('MMMM DD, YYYY h:mm:ss A');
294
299
  break;
295
300
  case 'DateTime-Gregorian-3':
296
301
  // 2001, January 01 1:00:00 AM
297
- sReturnDate = dayjs(dateTimeVal).format('YYYY, MMMM DD h:mm:ss A');
302
+ sReturnDate = dayjs(dateTimeVal).tz(this.timezone).format('YYYY, MMMM DD h:mm:ss A');
298
303
  break;
299
304
  case 'DateTime-Custom':
300
305
  break;
@@ -374,13 +379,34 @@ export class Utils {
374
379
  static isEmptyObject(obj) {
375
380
  return Object.keys(obj).length === 0;
376
381
  }
377
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Utils, deps: [{ token: i1.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
378
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Utils, providedIn: 'root' }); }
382
+ /**
383
+ * Get a localized value from the Generic Fields
384
+ * @param path - The path within Generic Fields (e.g., 'CosmosFields.fields.lists')
385
+ * @param key - The key of the string to localize
386
+ * @returns The localized string or the key itself if no translation is found
387
+ */
388
+ getGenericFieldsLocalizedValue(path, key) {
389
+ const GENERIC_BUNDLE_KEY = PCore.getLocaleUtils().GENERIC_BUNDLE_KEY;
390
+ const localeStore = PCore.getLocaleUtils().localeStore[GENERIC_BUNDLE_KEY];
391
+ if (!localeStore)
392
+ return key;
393
+ // Split the path and traverse the object
394
+ const pathParts = path.split('.');
395
+ let currentObj = localeStore;
396
+ for (const part of pathParts) {
397
+ if (!currentObj[part])
398
+ return key;
399
+ currentObj = currentObj[part];
400
+ }
401
+ return currentObj[key] || key;
402
+ }
403
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Utils, deps: [{ token: i1.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
404
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Utils, providedIn: 'root' }); }
379
405
  }
380
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Utils, decorators: [{
406
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Utils, decorators: [{
381
407
  type: Injectable,
382
408
  args: [{
383
409
  providedIn: 'root'
384
410
  }]
385
411
  }], ctorParameters: () => [{ type: i1.ServerConfigService }] });
386
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2hlbHBlcnMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLGVBQWUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR3JELEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNoQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFLM0IsTUFBTSxPQUFPLEtBQUs7SUFLaEIsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFKbEQsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBeVl2QixjQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUU7WUFDakIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM3RCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN2QixDQUFDO2lCQUFNLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM1QyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUM7SUEvWW1E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Y3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XG5pbXBvcnQgbG9jYWxpemVkRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9sb2NhbGl6ZWRGb3JtYXQnO1xuaW1wb3J0IHJlbGF0aXZlVGltZSBmcm9tICdkYXlqcy9wbHVnaW4vcmVsYXRpdmVUaW1lJztcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9fc2VydmljZXMvc2VydmVyLWNvbmZpZy5zZXJ2aWNlJztcblxuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcbmRheWpzLmV4dGVuZChsb2NhbGl6ZWRGb3JtYXQpO1xuZGF5anMuZXh0ZW5kKHJlbGF0aXZlVGltZSk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcbiAgbGFzdENvbnRyb2xJRCA9IDA7XG5cbiAgdmlld0NvbnRhaW5lckNvdW50ID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNjU2VydmljZTogU2VydmVyQ29uZmlnU2VydmljZSkge31cblxuICBnZXRTREtTdGF0aWNDb250ZW50VXJsKCkge1xuICAgIGNvbnN0IHNka0NvbmZpZ1NlcnZlciA9IHRoaXMuc2NTZXJ2aWNlLmdldFNka0NvbmZpZ1NlcnZlcigpO1xuXG4gICAgLy8gTk9URTogTmVlZHMgYSB0cmFpbGluZyBzbGFzaCEgU28gYWRkIG9uZSBpZiBub3QgcHJvdmlkZWRcbiAgICBpZiAoIXNka0NvbmZpZ1NlcnZlci5zZGtDb250ZW50U2VydmVyVXJsLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgIHNka0NvbmZpZ1NlcnZlci5zZGtDb250ZW50U2VydmVyVXJsID0gYCR7c2RrQ29uZmlnU2VydmVyLnNka0NvbnRlbnRTZXJ2ZXJVcmx9L2A7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3Nka0NvbmZpZ1NlcnZlci5zZGtDb250ZW50U2VydmVyVXJsfWNvbnN0ZWxsYXRpb24vYDtcbiAgfVxuXG4gIGNvbnNvbGVLaWREdW1wKHBDb25uOiBhbnksIGxldmVsOiBudW1iZXIgPSAxLCBraWROdW06IG51bWJlciA9IDEpIHtcbiAgICBsZXQgc0Rhc2ggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxldmVsOyBpKyspIHtcbiAgICAgIHNEYXNoID0gc0Rhc2guY29uY2F0KCctJyk7XG4gICAgfVxuICAgIGxldCBjTmFtZSA9ICdibGFuayc7XG4gICAgbGV0IGN0eE5hbWUgPSAnJztcbiAgICB0cnkge1xuICAgICAgY05hbWUgPSBwQ29ubi5nZXRDb21wb25lbnROYW1lKCk7XG4gICAgICBjdHhOYW1lID0gcENvbm4uZ2V0Q29udGV4dE5hbWUoKTtcbiAgICAgIGNvbnNvbGUubG9nKGAke3NEYXNofWxldmVsICR7bGV2ZWx9IGNvbXBvbmVudCgke2tpZE51bX0pOiR7Y05hbWV9IGNvbnRleHQ6JHtjdHhOYW1lfWApO1xuICAgICAgaWYgKHBDb25uLmdldENvbmZpZ1Byb3BzKCkgIT0gbnVsbCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgJHtzRGFzaH1jb25maWdQcm9wczoke0pTT04uc3RyaW5naWZ5KHBDb25uLmdldENvbmZpZ1Byb3BzKCkpfWApO1xuICAgICAgfVxuICAgICAgaWYgKHBDb25uLmdldFJhd01ldGFkYXRhKCkgIT0gbnVsbCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgJHtzRGFzaH1yYXdNZXRhZGF0YToke0pTT04uc3RyaW5naWZ5KHBDb25uLmdldFJhd01ldGFkYXRhKCkpfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAocENvbm4uaGFzQ2hpbGRyZW4oKSAmJiBwQ29ubi5nZXRDaGlsZHJlbigpICE9IG51bGwpIHtcbiAgICAgICAgY29uc29sZS5sb2coYCR7c0Rhc2h9a2lkQ291bnQ6JHtwQ29ubi5nZXRDaGlsZHJlbigpLmxlbmd0aH1gKTtcbiAgICAgICAgY29uc3Qga2lkcyA9IHBDb25uLmdldENoaWxkcmVuKCk7XG4gICAgICAgIGNvbnN0IGtpZHNLZXlzID0gT2JqZWN0LmtleXMoa2lkcyk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGtpZHNLZXlzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJzZUludChraWRzS2V5c1tpXSwgMTApICsgMTtcbiAgICAgICAgICBjb25zdCBraWQgPSBraWRzW2tpZHNLZXlzW2ldXTtcbiAgICAgICAgICB0aGlzLmNvbnNvbGVLaWREdW1wKGtpZC5nZXRQQ29ubmVjdCgpLCBsZXZlbCArIDEsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAvKiBlbXB0eSAqL1xuICAgIH1cbiAgfVxuXG4gIGh0bWxEZWNvZGUoc1ZhbDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgZG9jID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhzVmFsLCAndGV4dC9odG1sJyk7XG4gICAgcmV0dXJuIGRvYy5kb2N1bWVudEVsZW1lbnQudGV4dENvbnRlbnQ7XG4gIH1cblxuICBnZXRVbmlxdWVDb250cm9sSUQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzUHJlZml4ID0gJ2NvbnRyb2wtJztcblxuICAgIHRoaXMubGFzdENvbnRyb2xJRCsrO1xuXG4gICAgcmV0dXJuIHNQcmVmaXggKyB0aGlzLmxhc3RDb250cm9sSUQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGdldE9wdGlvbkxpc3QoY29uZmlnUHJvcHM6IGFueSwgZGF0YU9iamVjdDogYW55KTogYW55W10ge1xuICAgIGNvbnN0IGxpc3RUeXBlID0gY29uZmlnUHJvcHMubGlzdFR5cGU7XG5cbiAgICBpZiAobGlzdFR5cGUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHN3aXRjaCAobGlzdFR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAnYXNzb2NpYXRlZCc6XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUFzc29jaWF0ZWRMaXN0KGNvbmZpZ1Byb3BzKTtcbiAgICAgIGNhc2UgJ2RhdGFwYWdlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRGF0YVBhZ2VMaXN0KGNvbmZpZ1Byb3BzLCBkYXRhT2JqZWN0KTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVBc3NvY2lhdGVkTGlzdChjb25maWdQcm9wczogYW55KTogYW55W10ge1xuICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBjb25maWdQcm9wcy5kYXRhc291cmNlO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiBkYXRhU291cmNlO1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGhhbmRsZURhdGFQYWdlTGlzdChjb25maWdQcm9wczogYW55LCBkYXRhT2JqZWN0OiBhbnkpOiBhbnlbXSB7XG4gICAgY29uc3QgZGF0YVBhZ2UgPSBjb25maWdQcm9wcy5kYXRhc291cmNlO1xuXG4gICAgaWYgKGRhdGFPYmplY3QgJiYgZGF0YU9iamVjdFtkYXRhUGFnZV0pIHtcbiAgICAgIGFsZXJ0KCduZWVkIHRvIGhhbmRsZSBkYXRhIHBhZ2UnKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBsZXQgbGlzdFNvdXJjZUl0ZW1zID0gY29uZmlnUHJvcHMubGlzdE91dHB1dDtcblxuICAgIGlmICh0eXBlb2YgZGF0YVBhZ2UgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGxpc3RTb3VyY2VJdGVtcykpIHtcbiAgICAgIGxpc3RTb3VyY2VJdGVtcyA9IGRhdGFQYWdlLnNvdXJjZSA/IGRhdGFQYWdlLnNvdXJjZSA6IFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybUxpc3RTb3VyY2VJdGVtcyhsaXN0U291cmNlSXRlbXMpO1xuICB9XG5cbiAgdHJhbnNmb3JtTGlzdFNvdXJjZUl0ZW1zKGxpc3RTb3VyY2VJdGVtczogYW55W10pOiBhbnlbXSB7XG4gICAgcmV0dXJuIChsaXN0U291cmNlSXRlbXMgfHwgW10pLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB7IC4uLml0ZW0sIHZhbHVlOiBpdGVtLnRleHQgfHwgaXRlbS52YWx1ZSB9O1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SW5pdGlhbHModXNlck5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHVzZXJJbml0aWFscyA9IHVzZXJOYW1lO1xuXG4gICAgaWYgKHVzZXJOYW1lICYmIHVzZXJOYW1lICE9ICcnKSB7XG4gICAgICB1c2VySW5pdGlhbHMgPSB1c2VyTmFtZS5jaGFyQXQoMCk7XG5cbiAgICAgIGlmICh1c2VyTmFtZS5sYXN0SW5kZXhPZignICcpID4gMCkge1xuICAgICAgICBjb25zdCBsYXN0TmFtZSA9IHVzZXJOYW1lLnN1YnN0cmluZyh1c2VyTmFtZS5sYXN0SW5kZXhPZignICcpICsgMSk7XG4gICAgICAgIHVzZXJJbml0aWFscyArPSBsYXN0TmFtZS5jaGFyQXQoMCk7XG4gICAgICB9IGVsc2UgaWYgKHVzZXJOYW1lLmxhc3RJbmRleE9mKCcuJykgPiAwKSB7XG4gICAgICAgIGNvbnN0IGxhc3ROYW1lID0gdXNlck5hbWUuc3Vic3RyaW5nKHVzZXJOYW1lLmxhc3RJbmRleE9mKCcuJykgKyAxKTtcbiAgICAgICAgdXNlckluaXRpYWxzICs9IGxhc3ROYW1lLmNoYXJBdCgwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdXNlckluaXRpYWxzID0gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVzZXJJbml0aWFscy50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgZ2V0SW1hZ2VTcmMobmFtZTogc3RyaW5nLCBzZXJ2ZXJVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGljb25OYW1lID0gbmFtZS5yZXBsYWNlKCdwaS0nLCAnJykucmVwbGFjZSgncGkgJywgJycpLnRyaW0oKTtcbiAgICBpZiAoaWNvbk5hbWUgPT09ICdsaW5lLWNoYXJ0Jykge1xuICAgICAgaWNvbk5hbWUgPSAnY2hhcnQtbGluZSc7XG4gICAgfVxuXG4gICAgLy8gcmV0dXJuIHNlcnZlclVybC5jb25jYXQoXCJhc3NldHMvaWNvbnMvXCIpLmNvbmNhdChpY29uTmFtZSkuY29uY2F0KFwiLnN2Z1wiKTtcbiAgICByZXR1cm4gdGhpcy5nZXRJY29uUGF0aChzZXJ2ZXJVcmwpLmNvbmNhdChpY29uTmFtZSkuY29uY2F0KCcuc3ZnJyk7XG4gIH1cblxuICBnZXRJY29uUGF0aChzZXJ2ZXJVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlcnZlclVybC5jb25jYXQoJ2Fzc2V0cy9pY29ucy8nKTtcbiAgfVxuXG4gIGdldEJvb2xlYW5WYWx1ZShpblZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBsZXQgYlJldHVybiA9IGZhbHNlO1xuXG4gICAgaWYgKHR5cGVvZiBpblZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGluVmFsdWUudG9Mb3dlckNhc2UoKSA9PSAndHJ1ZScpIHtcbiAgICAgICAgYlJldHVybiA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGJSZXR1cm4gPSBpblZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBiUmV0dXJuO1xuICB9XG5cbiAgZ2VuZXJhdGVEYXRlKGRhdGVWYWwsIGRhdGVGb3JtYXQpIHtcbiAgICBsZXQgc1JldHVybkRhdGUgPSBkYXRlVmFsO1xuXG4gICAgaWYgKGRhdGVWYWwgPT0gbnVsbCB8fCBkYXRlVmFsID09ICcnKSB7XG4gICAgICByZXR1cm4gZGF0ZVZhbDtcbiAgICB9XG5cbiAgICAvLyBDb21tZW50aW5nIG91dCBwZXIgVmlub2Qgbm90ZSBpbiB3ZWJjIGNvbXBvbmVudHNcbiAgICAvLyBWUlM6IERvbnQgdGhpbmsgd2UgbmVlZCB0aGUgYmVsb3cgbGluZS4gIENvbW1lbnRpbmcgb3V0IGZvciBub3cuICgyMDIwLjA1LjIwKVxuICAgIC8vIGlmIGRhdGUgaGFzIGEgXCIuXCIsIHRoZW4gb2YgdGhlIGZvcm1hdCBZWVlNTUREW1RdSEhtbXNzWy5dU1NTIFosIG5lZWQgdG8gY2hhbmdlIHRvIFlZWVlNTUREXG4gICAgLy8gaWYgKGRhdGVWYWwuaW5kZXhPZihcIi5cIikgPj0gMCkge1xuICAgIC8vICAgZGF0ZVZhbCA9IG1vbWVudChkYXRlVmFsLnJlcGxhY2UoXCJHTVRcIiwgXCIrMDAwMFwiKSwgXCJZWVlZTU1ERFtUXUhIbW1zc1suXVNTUyBaXCIpLmZvcm1hdChcIllZWVlNTUREXCIpO1xuICAgIC8vICAgc1JldHVybkRhdGUgPSBkYXRlVmFsO1xuICAgIC8vIH1cblxuICAgIHN3aXRjaCAoZGF0ZUZvcm1hdCkge1xuICAgICAgY2FzZSAnRGF0ZS1TaG9ydCc6XG4gICAgICAgIC8vIDEvMS8wMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTS9EL1lZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1TaG9ydC1ZWVlZJzpcbiAgICAgICAgLy8gMS8xLzIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ00vRC9ZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1TaG9ydC1DdXN0b20nOlxuICAgICAgICAvLyAwMS8wMS8wMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTU0vREQvWVknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLVNob3J0LUN1c3RvbS1ZWVlZJzpcbiAgICAgICAgLy8gMDEvMDEvMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtTG9uZy1DdXN0b20tWVlZWSc6XG4gICAgICAgIC8vIDA1LzIyLzIwMjFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ01NL0REL1lZWVknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlJzpcbiAgICAgIGNhc2UgJ0RhdGUtTWVkaXVtJzpcbiAgICAgICAgLy8gSmFuIDEsIDIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ2xsJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1EYXlNb250aFllYXItQ3VzdG9tJzpcbiAgICAgICAgLy8gMDEtSmFuLTIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ0RELU1NTS1ZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1GdWxsJzpcbiAgICAgICAgLy8gTW9uZGF5LCBKYW51YXJ5IDEsIDIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ2RkZGQsIE1NTU0gRCwgWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZyYW1lJzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZyYW1lLVNob3J0JzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLVNpbmNlJzpcbiAgICAgICAgLy8gMiBkYXlzLCA1IGhvdXJzIGFnb1xuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZyb21Ob3coKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUxvbmcnOlxuICAgICAgICAvLyBKYW51YXJ5IDEsIDIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ01NTU0gRCwgWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtSVNPLTg2MDEnOlxuICAgICAgICAvLyAyMDAxLzAxLzAxIHkvbS9kXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdZWVlZL01NL0REJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1HcmVnb3JpYW4tMSc6XG4gICAgICAgIC8vIDAxIEphbnVhcnksIDIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ0REIE1NTU0sIFlZWVknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUdyZWdvcmlhbi0yJzpcbiAgICAgICAgLy8gSmFudWFyeSAwMSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTU1NTSBERCwgWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtR3JlZ29yaWFuLTMnOlxuICAgICAgICAvLyAyMDAxLCBKYW51YXJ5IDAxXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdZWVlZLCBNTU1NIEREJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtQ3VzdG9tJzpcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gc1JldHVybkRhdGU7XG4gIH1cblxuICBnZW5lcmF0ZURhdGVUaW1lKGRhdGVUaW1lVmFsLCBkYXRlRm9ybWF0KSB7XG4gICAgbGV0IHNSZXR1cm5EYXRlID0gZGF0ZVRpbWVWYWw7XG5cbiAgICBpZiAoZGF0ZVRpbWVWYWwgPT0gbnVsbCB8fCBkYXRlVGltZVZhbCA9PSAnJykge1xuICAgICAgcmV0dXJuIGRhdGVUaW1lVmFsO1xuICAgIH1cblxuICAgIGRhdGVUaW1lVmFsID0gZGF0ZVRpbWVWYWwucmVwbGFjZSgnR01UJywgJyswMDAwJyk7XG5cbiAgICBzd2l0Y2ggKGRhdGVGb3JtYXQpIHtcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLVNob3J0JzpcbiAgICAgICAgLy8gMS8xLzAxIDE6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdNL0QvWVkgaDptbSBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtU2hvcnQtQ3VzdG9tJzpcbiAgICAgICAgLy8gMDEvMDEvMDEgMDE6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdNTS9ERC9ZWSBoaDptbSBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtU2hvcnQtWVlZWS1DdXN0b20nOlxuICAgICAgICAvLyAwMS8wMS8yMDAxIDAxOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLmZvcm1hdCgnTS9EL1lZWVkgaGg6bW0gQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUxvbmctWVlZWS1DdXN0b20nOlxuICAgICAgICAvLyAwMS8wMS8wMSAwMTowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS5mb3JtYXQoJ01NL0REL1lZWVksIGhoOm1tIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1TaG9ydC1ZWVlZJzpcbiAgICAgICAgLy8gMS8xLzIwMDEgMTowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS5mb3JtYXQoJ00vRC9ZWVlZIGg6bW0gQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLU1lZGl1bSc6XG4gICAgICAgIC8vIEphbiAxLCAyMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdNTU0gRCwgWVlZWSBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1Mb25nJzpcbiAgICAgICAgLy8gSmFudWFyeSAxLCAyMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdNTU1NIEQsIFlZWVkgaDptbTpzcyBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtRGF5TW9udGhZZWFyLUN1c3RvbSc6XG4gICAgICAgIC8vIDAxLUphbi0yMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdERC1NTU0tWVlZWSBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1GdWxsJzpcbiAgICAgICAgLy8gTW9uZGF5LCBKYW51YXJ5IDEsIDIwMDEgMTowMCBBTSBFRFRcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdkZGRkLCBNTU1NIEQsIFlZWVkgaDptbSBBIHonKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1GcmFtZSc6XG4gICAgICBjYXNlICdEYXRlVGltZS1GcmFtZS1TaG9ydCc6XG4gICAgICBjYXNlICdEYXRlVGltZS1TaW5jZSc6XG4gICAgICAgIC8vIDIgZGF5cywgNSBob3VycyBhZ29cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZnJvbU5vdygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUlTTy04NjAxJzpcbiAgICAgICAgLy8gMjAwMS8wMS8wMSAxOjAwOjAwIEFNICAgICB5L20vZFxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS5mb3JtYXQoJ1lZWVkvTU0vREQgaDptbTpzcyBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtR3JlZ29yaWFuLTEnOlxuICAgICAgICAvLyAwMSBKYW51YXJ5LCAyMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkuZm9ybWF0KCdERCBNTU1NLCBZWVlZIGg6bW06c3MgQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUdyZWdvcmlhbi0yJzpcbiAgICAgICAgLy8gSmFudWFyeSAwMSwgMjAwMSAxOjAwOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLmZvcm1hdCgnTU1NTSBERCwgWVlZWSBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1HcmVnb3JpYW4tMyc6XG4gICAgICAgIC8vIDIwMDEsIEphbnVhcnkgMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS5mb3JtYXQoJ1lZWVksIE1NTU0gREQgaDptbTpzcyBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtQ3VzdG9tJzpcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gc1JldHVybkRhdGU7XG4gIH1cblxuICBnZXRJY29uRnJvbUZpbGVUeXBlKGZpbGVUeXBlKTogc3RyaW5nIHtcbiAgICBsZXQgaWNvbiA9ICdkb2N1bWVudC1kb2MnO1xuICAgIGlmICghZmlsZVR5cGUpIHJldHVybiBpY29uO1xuICAgIGlmIChmaWxlVHlwZS5zdGFydHNXaXRoKCdhdWRpbycpKSB7XG4gICAgICBpY29uID0gJ2F1ZGlvJztcbiAgICB9IGVsc2UgaWYgKGZpbGVUeXBlLnN0YXJ0c1dpdGgoJ3ZpZGVvJykpIHtcbiAgICAgIGljb24gPSAndmlkZW8nO1xuICAgIH0gZWxzZSBpZiAoZmlsZVR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UnKSkge1xuICAgICAgaWNvbiA9ICdwaWN0dXJlJztcbiAgICB9IGVsc2UgaWYgKGZpbGVUeXBlLmluY2x1ZGVzKCdwZGYnKSkge1xuICAgICAgaWNvbiA9ICdkb2N1bWVudC1wZGYnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBbLCBzdWJ0eXBlXSA9IGZpbGVUeXBlLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCBmb3VuZE1hdGNoID0gc291cmNlcyA9PiB7XG4gICAgICAgIHJldHVybiBzb3VyY2VzLnNvbWUoa2V5ID0+IHN1YnR5cGUuaW5jbHVkZXMoa2V5KSk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoZm91bmRNYXRjaChbJ2V4Y2VsJywgJ3NwcmVhZHNoZWV0J10pKSB7XG4gICAgICAgIGljb24gPSAnZG9jdW1lbnQteGxzJztcbiAgICAgIH0gZWxzZSBpZiAoZm91bmRNYXRjaChbJ3ppcCcsICdjb21wcmVzc2VkJywgJ2d6aXAnLCAncmFyJywgJ3RhciddKSkge1xuICAgICAgICBpY29uID0gJ2RvY3VtZW50LWNvbXByZXNzJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaWNvbjtcbiAgfVxuXG4gIGdldEljb25Gb3JBdHRhY2htZW50KGF0dGFjaG1lbnQpIHtcbiAgICBsZXQgaWNvbjtcbiAgICBzd2l0Y2ggKGF0dGFjaG1lbnQudHlwZSkge1xuICAgICAgY2FzZSAnRklMRSc6XG4gICAgICAgIGljb24gPSB0aGlzLmdldEljb25Gcm9tRmlsZVR5cGUoYXR0YWNobWVudC5taW1lVHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVVJMJzpcbiAgICAgICAgaWNvbiA9ICdjaGFpbic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWNvbiA9ICdkb2N1bWVudC1kb2MnO1xuICAgIH1cbiAgICByZXR1cm4gaWNvbjtcbiAgfVxuXG4gIGFkZFZpZXdDb250YWluZXIoKSB7XG4gICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcpID09IG51bGwpIHtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcsICcwJyk7XG4gICAgfVxuXG4gICAgbGV0IGNvdW50ID0gcGFyc2VJbnQoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JykgYXMgc3RyaW5nLCAxMCk7XG4gICAgY291bnQrKztcblxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcsIGNvdW50LnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgcmVtb3ZlVmlld0NvbnRhaW5lcigpIHtcbiAgICByZXR1cm47XG5cbiAgICBsZXQgY291bnQgPSBwYXJzZUludChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnKSBhcyBzdHJpbmcsIDEwKTtcbiAgICBjb3VudC0tO1xuXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JywgY291bnQudG9TdHJpbmcoKSk7XG4gIH1cblxuICBva1RvQWRkQ29udGFpbmVyVG9WQygpOiBib29sZWFuIHtcbiAgICBpZiAoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JykgPT0gbnVsbCkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JywgJzAnKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb3VudCA9IHBhcnNlSW50KHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcpIGFzIHN0cmluZywgMTApO1xuXG4gICAgcmV0dXJuIGNvdW50ID09PSAwO1xuICB9XG5cbiAgZ2V0VXNlcklkID0gdXNlciA9PiB7XG4gICAgbGV0IHVzZXJJZCA9ICcnO1xuICAgIGlmICh0eXBlb2YgdXNlciA9PT0gJ29iamVjdCcgJiYgdXNlciAhPT0gbnVsbCAmJiB1c2VyLnVzZXJJZCkge1xuICAgICAgdXNlcklkID0gdXNlci51c2VySWQ7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdXNlciA9PT0gJ3N0cmluZycgJiYgdXNlcikge1xuICAgICAgdXNlcklkID0gdXNlcjtcbiAgICB9XG4gICAgcmV0dXJuIHVzZXJJZDtcbiAgfTtcblxuICBzdGF0aWMgc2RrR2V0QXV0aEhlYWRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhc2RrX0FIJykgYXMgc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGlzRW1wdHlPYmplY3Qob2JqOiBPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDA7XG4gIH1cbn1cbiJdfQ==
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2hlbHBlcnMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLGVBQWUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR3JELEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNoQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFLM0IsTUFBTSxPQUFPLEtBQUs7SUFPaEIsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFObEQsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLGFBQVEsR0FBRyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQTZZckQsY0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ2pCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0QsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdkIsQ0FBQztpQkFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxHQUFHLElBQUks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QUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUFFLE9BQU8sR0FBRyxDQUFDO1lBQ2xDLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNoQyxDQUFDOytHQTFiVSxLQUFLO21IQUFMLEtBQUssY0FGSixNQUFNOzs0RkFFUCxLQUFLO2tCQUhqQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcbmltcG9ydCBsb2NhbGl6ZWRGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsaXplZEZvcm1hdCc7XG5pbXBvcnQgcmVsYXRpdmVUaW1lIGZyb20gJ2RheWpzL3BsdWdpbi9yZWxhdGl2ZVRpbWUnO1xuaW1wb3J0IHsgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL19zZXJ2aWNlcy9zZXJ2ZXItY29uZmlnLnNlcnZpY2UnO1xuXG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpO1xuZGF5anMuZXh0ZW5kKGxvY2FsaXplZEZvcm1hdCk7XG5kYXlqcy5leHRlbmQocmVsYXRpdmVUaW1lKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXRpbHMge1xuICBsYXN0Q29udHJvbElEID0gMDtcblxuICB2aWV3Q29udGFpbmVyQ291bnQgPSAwO1xuXG4gIHRpbWV6b25lID0gUENvcmUuZ2V0RW52aXJvbm1lbnRJbmZvKCk/LmdldFRpbWVab25lKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzY1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgZ2V0U0RLU3RhdGljQ29udGVudFVybCgpIHtcbiAgICBjb25zdCBzZGtDb25maWdTZXJ2ZXIgPSB0aGlzLnNjU2VydmljZS5nZXRTZGtDb25maWdTZXJ2ZXIoKTtcblxuICAgIC8vIE5PVEU6IE5lZWRzIGEgdHJhaWxpbmcgc2xhc2ghIFNvIGFkZCBvbmUgaWYgbm90IHByb3ZpZGVkXG4gICAgaWYgKCFzZGtDb25maWdTZXJ2ZXIuc2RrQ29udGVudFNlcnZlclVybC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICBzZGtDb25maWdTZXJ2ZXIuc2RrQ29udGVudFNlcnZlclVybCA9IGAke3Nka0NvbmZpZ1NlcnZlci5zZGtDb250ZW50U2VydmVyVXJsfS9gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtzZGtDb25maWdTZXJ2ZXIuc2RrQ29udGVudFNlcnZlclVybH1jb25zdGVsbGF0aW9uL2A7XG4gIH1cblxuICBjb25zb2xlS2lkRHVtcChwQ29ubjogYW55LCBsZXZlbDogbnVtYmVyID0gMSwga2lkTnVtOiBudW1iZXIgPSAxKSB7XG4gICAgbGV0IHNEYXNoID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZXZlbDsgaSsrKSB7XG4gICAgICBzRGFzaCA9IHNEYXNoLmNvbmNhdCgnLScpO1xuICAgIH1cbiAgICBsZXQgY05hbWUgPSAnYmxhbmsnO1xuICAgIGxldCBjdHhOYW1lID0gJyc7XG4gICAgdHJ5IHtcbiAgICAgIGNOYW1lID0gcENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgICAgY3R4TmFtZSA9IHBDb25uLmdldENvbnRleHROYW1lKCk7XG4gICAgICBjb25zb2xlLmxvZyhgJHtzRGFzaH1sZXZlbCAke2xldmVsfSBjb21wb25lbnQoJHtraWROdW19KToke2NOYW1lfSBjb250ZXh0OiR7Y3R4TmFtZX1gKTtcbiAgICAgIGlmIChwQ29ubi5nZXRDb25maWdQcm9wcygpICE9IG51bGwpIHtcbiAgICAgICAgY29uc29sZS5sb2coYCR7c0Rhc2h9Y29uZmlnUHJvcHM6JHtKU09OLnN0cmluZ2lmeShwQ29ubi5nZXRDb25maWdQcm9wcygpKX1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChwQ29ubi5nZXRSYXdNZXRhZGF0YSgpICE9IG51bGwpIHtcbiAgICAgICAgY29uc29sZS5sb2coYCR7c0Rhc2h9cmF3TWV0YWRhdGE6JHtKU09OLnN0cmluZ2lmeShwQ29ubi5nZXRSYXdNZXRhZGF0YSgpKX1gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBDb25uLmhhc0NoaWxkcmVuKCkgJiYgcENvbm4uZ2V0Q2hpbGRyZW4oKSAhPSBudWxsKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGAke3NEYXNofWtpZENvdW50OiR7cENvbm4uZ2V0Q2hpbGRyZW4oKS5sZW5ndGh9YCk7XG4gICAgICAgIGNvbnN0IGtpZHMgPSBwQ29ubi5nZXRDaGlsZHJlbigpO1xuICAgICAgICBjb25zdCBraWRzS2V5cyA9IE9iamVjdC5rZXlzKGtpZHMpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBraWRzS2V5cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGFyc2VJbnQoa2lkc0tleXNbaV0sIDEwKSArIDE7XG4gICAgICAgICAgY29uc3Qga2lkID0ga2lkc1traWRzS2V5c1tpXV07XG4gICAgICAgICAgdGhpcy5jb25zb2xlS2lkRHVtcChraWQuZ2V0UENvbm5lY3QoKSwgbGV2ZWwgKyAxLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLyogZW1wdHkgKi9cbiAgICB9XG4gIH1cblxuICBodG1sRGVjb2RlKHNWYWw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoc1ZhbCwgJ3RleHQvaHRtbCcpO1xuICAgIHJldHVybiBkb2MuZG9jdW1lbnRFbGVtZW50LnRleHRDb250ZW50O1xuICB9XG5cbiAgZ2V0VW5pcXVlQ29udHJvbElEKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc1ByZWZpeCA9ICdjb250cm9sLSc7XG5cbiAgICB0aGlzLmxhc3RDb250cm9sSUQrKztcblxuICAgIHJldHVybiBzUHJlZml4ICsgdGhpcy5sYXN0Q29udHJvbElELnRvU3RyaW5nKCk7XG4gIH1cblxuICBnZXRPcHRpb25MaXN0KGNvbmZpZ1Byb3BzOiBhbnksIGRhdGFPYmplY3Q6IGFueSk6IGFueVtdIHtcbiAgICBjb25zdCBsaXN0VHlwZSA9IGNvbmZpZ1Byb3BzLmxpc3RUeXBlO1xuXG4gICAgaWYgKGxpc3RUeXBlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGxpc3RUeXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2Fzc29jaWF0ZWQnOlxuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVBc3NvY2lhdGVkTGlzdChjb25maWdQcm9wcyk7XG4gICAgICBjYXNlICdkYXRhcGFnZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZURhdGFQYWdlTGlzdChjb25maWdQcm9wcywgZGF0YU9iamVjdCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQXNzb2NpYXRlZExpc3QoY29uZmlnUHJvcHM6IGFueSk6IGFueVtdIHtcbiAgICBjb25zdCBkYXRhU291cmNlID0gY29uZmlnUHJvcHMuZGF0YXNvdXJjZTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFTb3VyY2UpKSB7XG4gICAgICByZXR1cm4gZGF0YVNvdXJjZTtcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBoYW5kbGVEYXRhUGFnZUxpc3QoY29uZmlnUHJvcHM6IGFueSwgZGF0YU9iamVjdDogYW55KTogYW55W10ge1xuICAgIGNvbnN0IGRhdGFQYWdlID0gY29uZmlnUHJvcHMuZGF0YXNvdXJjZTtcblxuICAgIGlmIChkYXRhT2JqZWN0ICYmIGRhdGFPYmplY3RbZGF0YVBhZ2VdKSB7XG4gICAgICBhbGVydCgnbmVlZCB0byBoYW5kbGUgZGF0YSBwYWdlJyk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgbGV0IGxpc3RTb3VyY2VJdGVtcyA9IGNvbmZpZ1Byb3BzLmxpc3RPdXRwdXQ7XG5cbiAgICBpZiAodHlwZW9mIGRhdGFQYWdlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShsaXN0U291cmNlSXRlbXMpKSB7XG4gICAgICBsaXN0U291cmNlSXRlbXMgPSBkYXRhUGFnZS5zb3VyY2UgPyBkYXRhUGFnZS5zb3VyY2UgOiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1MaXN0U291cmNlSXRlbXMobGlzdFNvdXJjZUl0ZW1zKTtcbiAgfVxuXG4gIHRyYW5zZm9ybUxpc3RTb3VyY2VJdGVtcyhsaXN0U291cmNlSXRlbXM6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiAobGlzdFNvdXJjZUl0ZW1zIHx8IFtdKS5tYXAoaXRlbSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5pdGVtLCB2YWx1ZTogaXRlbS50ZXh0IHx8IGl0ZW0udmFsdWUgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEluaXRpYWxzKHVzZXJOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB1c2VySW5pdGlhbHMgPSB1c2VyTmFtZTtcblxuICAgIGlmICh1c2VyTmFtZSAmJiB1c2VyTmFtZSAhPSAnJykge1xuICAgICAgdXNlckluaXRpYWxzID0gdXNlck5hbWUuY2hhckF0KDApO1xuXG4gICAgICBpZiAodXNlck5hbWUubGFzdEluZGV4T2YoJyAnKSA+IDApIHtcbiAgICAgICAgY29uc3QgbGFzdE5hbWUgPSB1c2VyTmFtZS5zdWJzdHJpbmcodXNlck5hbWUubGFzdEluZGV4T2YoJyAnKSArIDEpO1xuICAgICAgICB1c2VySW5pdGlhbHMgKz0gbGFzdE5hbWUuY2hhckF0KDApO1xuICAgICAgfSBlbHNlIGlmICh1c2VyTmFtZS5sYXN0SW5kZXhPZignLicpID4gMCkge1xuICAgICAgICBjb25zdCBsYXN0TmFtZSA9IHVzZXJOYW1lLnN1YnN0cmluZyh1c2VyTmFtZS5sYXN0SW5kZXhPZignLicpICsgMSk7XG4gICAgICAgIHVzZXJJbml0aWFscyArPSBsYXN0TmFtZS5jaGFyQXQoMCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHVzZXJJbml0aWFscyA9ICcnO1xuICAgIH1cblxuICAgIHJldHVybiB1c2VySW5pdGlhbHMudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIGdldEltYWdlU3JjKG5hbWU6IHN0cmluZywgc2VydmVyVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBpY29uTmFtZSA9IG5hbWUucmVwbGFjZSgncGktJywgJycpLnJlcGxhY2UoJ3BpICcsICcnKS50cmltKCk7XG4gICAgaWYgKGljb25OYW1lID09PSAnbGluZS1jaGFydCcpIHtcbiAgICAgIGljb25OYW1lID0gJ2NoYXJ0LWxpbmUnO1xuICAgIH1cblxuICAgIC8vIHJldHVybiBzZXJ2ZXJVcmwuY29uY2F0KFwiYXNzZXRzL2ljb25zL1wiKS5jb25jYXQoaWNvbk5hbWUpLmNvbmNhdChcIi5zdmdcIik7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SWNvblBhdGgoc2VydmVyVXJsKS5jb25jYXQoaWNvbk5hbWUpLmNvbmNhdCgnLnN2ZycpO1xuICB9XG5cbiAgZ2V0SWNvblBhdGgoc2VydmVyVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXJ2ZXJVcmwuY29uY2F0KCdhc3NldHMvaWNvbnMvJyk7XG4gIH1cblxuICBnZXRCb29sZWFuVmFsdWUoaW5WYWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgbGV0IGJSZXR1cm4gPSBmYWxzZTtcblxuICAgIGlmICh0eXBlb2YgaW5WYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChpblZhbHVlLnRvTG93ZXJDYXNlKCkgPT0gJ3RydWUnKSB7XG4gICAgICAgIGJSZXR1cm4gPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBiUmV0dXJuID0gaW5WYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gYlJldHVybjtcbiAgfVxuXG4gIGdlbmVyYXRlRGF0ZShkYXRlVmFsLCBkYXRlRm9ybWF0KSB7XG4gICAgbGV0IHNSZXR1cm5EYXRlID0gZGF0ZVZhbDtcblxuICAgIGlmIChkYXRlVmFsID09IG51bGwgfHwgZGF0ZVZhbCA9PSAnJykge1xuICAgICAgcmV0dXJuIGRhdGVWYWw7XG4gICAgfVxuXG4gICAgLy8gQ29tbWVudGluZyBvdXQgcGVyIFZpbm9kIG5vdGUgaW4gd2ViYyBjb21wb25lbnRzXG4gICAgLy8gVlJTOiBEb250IHRoaW5rIHdlIG5lZWQgdGhlIGJlbG93IGxpbmUuICBDb21tZW50aW5nIG91dCBmb3Igbm93LiAoMjAyMC4wNS4yMClcbiAgICAvLyBpZiBkYXRlIGhhcyBhIFwiLlwiLCB0aGVuIG9mIHRoZSBmb3JtYXQgWVlZTU1ERFtUXUhIbW1zc1suXVNTUyBaLCBuZWVkIHRvIGNoYW5nZSB0byBZWVlZTU1ERFxuICAgIC8vIGlmIChkYXRlVmFsLmluZGV4T2YoXCIuXCIpID49IDApIHtcbiAgICAvLyAgIGRhdGVWYWwgPSBtb21lbnQoZGF0ZVZhbC5yZXBsYWNlKFwiR01UXCIsIFwiKzAwMDBcIiksIFwiWVlZWU1NRERbVF1ISG1tc3NbLl1TU1MgWlwiKS5mb3JtYXQoXCJZWVlZTU1ERFwiKTtcbiAgICAvLyAgIHNSZXR1cm5EYXRlID0gZGF0ZVZhbDtcbiAgICAvLyB9XG5cbiAgICBzd2l0Y2ggKGRhdGVGb3JtYXQpIHtcbiAgICAgIGNhc2UgJ0RhdGUtU2hvcnQnOlxuICAgICAgICAvLyAxLzEvMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ00vRC9ZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtU2hvcnQtWVlZWSc6XG4gICAgICAgIC8vIDEvMS8yMDAxXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdNL0QvWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtU2hvcnQtQ3VzdG9tJzpcbiAgICAgICAgLy8gMDEvMDEvMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ01NL0REL1lZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1TaG9ydC1DdXN0b20tWVlZWSc6XG4gICAgICAgIC8vIDAxLzAxLzIwMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ0wnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUxvbmctQ3VzdG9tLVlZWVknOlxuICAgICAgICAvLyAwNS8yMi8yMDIxXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdNTS9ERC9ZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1Mb25nLUN1c3RvbS1ERC9NTS9ZWVlZJzpcbiAgICAgICAgLy8gMjIvMDUvMjAyMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnREQvTU0vWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUnOlxuICAgICAgY2FzZSAnRGF0ZS1NZWRpdW0nOlxuICAgICAgICAvLyBKYW4gMSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnbGwnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLURheU1vbnRoWWVhci1DdXN0b20nOlxuICAgICAgICAvLyAwMS1KYW4tMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnREQtTU1NLVlZWVknKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUZ1bGwnOlxuICAgICAgICAvLyBNb25kYXksIEphbnVhcnkgMSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnZGRkZCwgTU1NTSBELCBZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtRnJhbWUnOlxuICAgICAgY2FzZSAnRGF0ZVRpbWUtRnJhbWUtU2hvcnQnOlxuICAgICAgY2FzZSAnRGF0ZVRpbWUtU2luY2UnOlxuICAgICAgICAvLyAyIGRheXMsIDUgaG91cnMgYWdvXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZnJvbU5vdygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtTG9uZyc6XG4gICAgICAgIC8vIEphbnVhcnkgMSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnTU1NTSBELCBZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1JU08tODYwMSc6XG4gICAgICAgIC8vIDIwMDEvMDEvMDEgeS9tL2RcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ1lZWVkvTU0vREQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlLUdyZWdvcmlhbi0xJzpcbiAgICAgICAgLy8gMDEgSmFudWFyeSwgMjAwMVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVWYWwpLmZvcm1hdCgnREQgTU1NTSwgWVlZWScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGUtR3JlZ29yaWFuLTInOlxuICAgICAgICAvLyBKYW51YXJ5IDAxLCAyMDAxXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVZhbCkuZm9ybWF0KCdNTU1NIERELCBZWVlZJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZS1HcmVnb3JpYW4tMyc6XG4gICAgICAgIC8vIDIwMDEsIEphbnVhcnkgMDFcbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVmFsKS5mb3JtYXQoJ1lZWVksIE1NTU0gREQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1DdXN0b20nOlxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBzUmV0dXJuRGF0ZTtcbiAgfVxuXG4gIGdlbmVyYXRlRGF0ZVRpbWUoZGF0ZVRpbWVWYWwsIGRhdGVGb3JtYXQpIHtcbiAgICBsZXQgc1JldHVybkRhdGUgPSBkYXRlVGltZVZhbDtcblxuICAgIGlmIChkYXRlVGltZVZhbCA9PSBudWxsIHx8IGRhdGVUaW1lVmFsID09ICcnKSB7XG4gICAgICByZXR1cm4gZGF0ZVRpbWVWYWw7XG4gICAgfVxuXG4gICAgZGF0ZVRpbWVWYWwgPSBkYXRlVGltZVZhbC5yZXBsYWNlKCdHTVQnLCAnKzAwMDAnKTtcblxuICAgIHN3aXRjaCAoZGF0ZUZvcm1hdCkge1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtU2hvcnQnOlxuICAgICAgICAvLyAxLzEvMDEgMTowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ00vRC9ZWSBoOm1tIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1TaG9ydC1DdXN0b20nOlxuICAgICAgICAvLyAwMS8wMS8wMSAwMTowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ01NL0REL1lZIGhoOm1tIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1TaG9ydC1ZWVlZLUN1c3RvbSc6XG4gICAgICAgIC8vIDAxLzAxLzIwMDEgMDE6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkudHoodGhpcy50aW1lem9uZSkuZm9ybWF0KCdNL0QvWVlZWSBoaDptbSBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtTG9uZy1ZWVlZLUN1c3RvbSc6XG4gICAgICAgIC8vIDAxLzAxLzAxIDAxOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLnR6KHRoaXMudGltZXpvbmUpLmZvcm1hdCgnTU0vREQvWVlZWSwgaGg6bW0gQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLVNob3J0LVlZWVknOlxuICAgICAgICAvLyAxLzEvMjAwMSAxOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLnR6KHRoaXMudGltZXpvbmUpLmZvcm1hdCgnTS9EL1lZWVkgaDptbSBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtTWVkaXVtJzpcbiAgICAgICAgLy8gSmFuIDEsIDIwMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ01NTSBELCBZWVlZIGg6bW06c3MgQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUxvbmcnOlxuICAgICAgICAvLyBKYW51YXJ5IDEsIDIwMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ01NTU0gRCwgWVlZWSBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1EYXlNb250aFllYXItQ3VzdG9tJzpcbiAgICAgICAgLy8gMDEtSmFuLTIwMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ0RELU1NTS1ZWVlZIGg6bW06c3MgQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZ1bGwnOlxuICAgICAgICAvLyBNb25kYXksIEphbnVhcnkgMSwgMjAwMSAxOjAwIEFNIEVEVFxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ2RkZGQsIE1NTU0gRCwgWVlZWSBoOm1tIEEgeicpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZyYW1lJzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUZyYW1lLVNob3J0JzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLVNpbmNlJzpcbiAgICAgICAgLy8gMiBkYXlzLCA1IGhvdXJzIGFnb1xuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mcm9tTm93KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtSVNPLTg2MDEnOlxuICAgICAgICAvLyAyMDAxLzAxLzAxIDE6MDA6MDAgQU0gICAgIHkvbS9kXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLnR6KHRoaXMudGltZXpvbmUpLmZvcm1hdCgnWVlZWS9NTS9ERCBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1HcmVnb3JpYW4tMSc6XG4gICAgICAgIC8vIDAxIEphbnVhcnksIDIwMDEgMTowMDowMCBBTVxuICAgICAgICBzUmV0dXJuRGF0ZSA9IGRheWpzKGRhdGVUaW1lVmFsKS50eih0aGlzLnRpbWV6b25lKS5mb3JtYXQoJ0REIE1NTU0sIFlZWVkgaDptbTpzcyBBJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRGF0ZVRpbWUtR3JlZ29yaWFuLTInOlxuICAgICAgICAvLyBKYW51YXJ5IDAxLCAyMDAxIDE6MDA6MDAgQU1cbiAgICAgICAgc1JldHVybkRhdGUgPSBkYXlqcyhkYXRlVGltZVZhbCkudHoodGhpcy50aW1lem9uZSkuZm9ybWF0KCdNTU1NIERELCBZWVlZIGg6bW06c3MgQScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RhdGVUaW1lLUdyZWdvcmlhbi0zJzpcbiAgICAgICAgLy8gMjAwMSwgSmFudWFyeSAwMSAxOjAwOjAwIEFNXG4gICAgICAgIHNSZXR1cm5EYXRlID0gZGF5anMoZGF0ZVRpbWVWYWwpLnR6KHRoaXMudGltZXpvbmUpLmZvcm1hdCgnWVlZWSwgTU1NTSBERCBoOm1tOnNzIEEnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEYXRlVGltZS1DdXN0b20nOlxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBzUmV0dXJuRGF0ZTtcbiAgfVxuXG4gIGdldEljb25Gcm9tRmlsZVR5cGUoZmlsZVR5cGUpOiBzdHJpbmcge1xuICAgIGxldCBpY29uID0gJ2RvY3VtZW50LWRvYyc7XG4gICAgaWYgKCFmaWxlVHlwZSkgcmV0dXJuIGljb247XG4gICAgaWYgKGZpbGVUeXBlLnN0YXJ0c1dpdGgoJ2F1ZGlvJykpIHtcbiAgICAgIGljb24gPSAnYXVkaW8nO1xuICAgIH0gZWxzZSBpZiAoZmlsZVR5cGUuc3RhcnRzV2l0aCgndmlkZW8nKSkge1xuICAgICAgaWNvbiA9ICd2aWRlbyc7XG4gICAgfSBlbHNlIGlmIChmaWxlVHlwZS5zdGFydHNXaXRoKCdpbWFnZScpKSB7XG4gICAgICBpY29uID0gJ3BpY3R1cmUnO1xuICAgIH0gZWxzZSBpZiAoZmlsZVR5cGUuaW5jbHVkZXMoJ3BkZicpKSB7XG4gICAgICBpY29uID0gJ2RvY3VtZW50LXBkZic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFssIHN1YnR5cGVdID0gZmlsZVR5cGUuc3BsaXQoJy8nKTtcbiAgICAgIGNvbnN0IGZvdW5kTWF0Y2ggPSBzb3VyY2VzID0+IHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZXMuc29tZShrZXkgPT4gc3VidHlwZS5pbmNsdWRlcyhrZXkpKTtcbiAgICAgIH07XG5cbiAgICAgIGlmIChmb3VuZE1hdGNoKFsnZXhjZWwnLCAnc3ByZWFkc2hlZXQnXSkpIHtcbiAgICAgICAgaWNvbiA9ICdkb2N1bWVudC14bHMnO1xuICAgICAgfSBlbHNlIGlmIChmb3VuZE1hdGNoKFsnemlwJywgJ2NvbXByZXNzZWQnLCAnZ3ppcCcsICdyYXInLCAndGFyJ10pKSB7XG4gICAgICAgIGljb24gPSAnZG9jdW1lbnQtY29tcHJlc3MnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpY29uO1xuICB9XG5cbiAgZ2V0SWNvbkZvckF0dGFjaG1lbnQoYXR0YWNobWVudCkge1xuICAgIGxldCBpY29uO1xuICAgIHN3aXRjaCAoYXR0YWNobWVudC50eXBlKSB7XG4gICAgICBjYXNlICdGSUxFJzpcbiAgICAgICAgaWNvbiA9IHRoaXMuZ2V0SWNvbkZyb21GaWxlVHlwZShhdHRhY2htZW50Lm1pbWVUeXBlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdVUkwnOlxuICAgICAgICBpY29uID0gJ2NoYWluJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpY29uID0gJ2RvY3VtZW50LWRvYyc7XG4gICAgfVxuICAgIHJldHVybiBpY29uO1xuICB9XG5cbiAgYWRkVmlld0NvbnRhaW5lcigpIHtcbiAgICBpZiAoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JykgPT0gbnVsbCkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JywgJzAnKTtcbiAgICB9XG5cbiAgICBsZXQgY291bnQgPSBwYXJzZUludChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnKSBhcyBzdHJpbmcsIDEwKTtcbiAgICBjb3VudCsrO1xuXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JywgY291bnQudG9TdHJpbmcoKSk7XG4gIH1cblxuICByZW1vdmVWaWV3Q29udGFpbmVyKCkge1xuICAgIHJldHVybjtcblxuICAgIGxldCBjb3VudCA9IHBhcnNlSW50KHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3ZpZXdDb250YWluZXJDb3VudCcpIGFzIHN0cmluZywgMTApO1xuICAgIGNvdW50LS07XG5cbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnLCBjb3VudC50b1N0cmluZygpKTtcbiAgfVxuXG4gIG9rVG9BZGRDb250YWluZXJUb1ZDKCk6IGJvb2xlYW4ge1xuICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnKSA9PSBudWxsKSB7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd2aWV3Q29udGFpbmVyQ291bnQnLCAnMCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvdW50ID0gcGFyc2VJbnQoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndmlld0NvbnRhaW5lckNvdW50JykgYXMgc3RyaW5nLCAxMCk7XG5cbiAgICByZXR1cm4gY291bnQgPT09IDA7XG4gIH1cblxuICBnZXRVc2VySWQgPSB1c2VyID0+IHtcbiAgICBsZXQgdXNlcklkID0gJyc7XG4gICAgaWYgKHR5cGVvZiB1c2VyID09PSAnb2JqZWN0JyAmJiB1c2VyICE9PSBudWxsICYmIHVzZXIudXNlcklkKSB7XG4gICAgICB1c2VySWQgPSB1c2VyLnVzZXJJZDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB1c2VyID09PSAnc3RyaW5nJyAmJiB1c2VyKSB7XG4gICAgICB1c2VySWQgPSB1c2VyO1xuICAgIH1cbiAgICByZXR1cm4gdXNlcklkO1xuICB9O1xuXG4gIHN0YXRpYyBzZGtHZXRBdXRoSGVhZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2FzZGtfQUgnKSBhcyBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgaXNFbXB0eU9iamVjdChvYmo6IE9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBsb2NhbGl6ZWQgdmFsdWUgZnJvbSB0aGUgR2VuZXJpYyBGaWVsZHNcbiAgICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB3aXRoaW4gR2VuZXJpYyBGaWVsZHMgKGUuZy4sICdDb3Ntb3NGaWVsZHMuZmllbGRzLmxpc3RzJylcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHN0cmluZyB0byBsb2NhbGl6ZVxuICAgKiBAcmV0dXJucyBUaGUgbG9jYWxpemVkIHN0cmluZyBvciB0aGUga2V5IGl0c2VsZiBpZiBubyB0cmFuc2xhdGlvbiBpcyBmb3VuZFxuICAgKi9cbiAgZ2V0R2VuZXJpY0ZpZWxkc0xvY2FsaXplZFZhbHVlKHBhdGg6IHN0cmluZywga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IEdFTkVSSUNfQlVORExFX0tFWSA9IFBDb3JlLmdldExvY2FsZVV0aWxzKCkuR0VORVJJQ19CVU5ETEVfS0VZO1xuICAgIGNvbnN0IGxvY2FsZVN0b3JlID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5sb2NhbGVTdG9yZVtHRU5FUklDX0JVTkRMRV9LRVldO1xuXG4gICAgaWYgKCFsb2NhbGVTdG9yZSkgcmV0dXJuIGtleTtcblxuICAgIC8vIFNwbGl0IHRoZSBwYXRoIGFuZCB0cmF2ZXJzZSB0aGUgb2JqZWN0XG4gICAgY29uc3QgcGF0aFBhcnRzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGxldCBjdXJyZW50T2JqID0gbG9jYWxlU3RvcmU7XG5cbiAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGF0aFBhcnRzKSB7XG4gICAgICBpZiAoIWN1cnJlbnRPYmpbcGFydF0pIHJldHVybiBrZXk7XG4gICAgICBjdXJyZW50T2JqID0gY3VycmVudE9ialtwYXJ0XTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudE9ialtrZXldIHx8IGtleTtcbiAgfVxufVxuIl19
@@ -19,13 +19,13 @@ export class ErrorMessagesService {
19
19
  getMessage() {
20
20
  return this.subject.asObservable();
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorMessagesService, providedIn: 'root' }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorMessagesService, providedIn: 'root' }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorMessagesService, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorMessagesService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{
28
28
  providedIn: 'root'
29
29
  }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fbWVzc2FnZXMvZXJyb3ItbWVzc2FnZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJVSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7S0FrQmhEO0lBaEJDOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBZSxFQUFFLGNBQXNCO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzsrR0FsQlUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JNZXNzYWdlc1NlcnZpY2Uge1xuICBwcml2YXRlIHN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkIHwgb2JqZWN0PigpO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gc0FjdGlvbiAtIHNob3csIGRpc21pc3NcbiAgICogQHBhcmFtIHNBY3Rpb25NZXNzYWdlIC0gdGV4dCB0byBkaXNwbGF5ZWQsIHdpbGwgYmUgcXVldWVkIHdpdGggb3RoZXJzIHVudGlsIGRpc21pc3NcbiAgICovXG4gIHNlbmRNZXNzYWdlKHNBY3Rpb246IHN0cmluZywgc0FjdGlvbk1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHsgYWN0aW9uOiBzQWN0aW9uLCBhY3Rpb25NZXNzYWdlOiBzQWN0aW9uTWVzc2FnZSB9KTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fbWVzc2FnZXMvZXJyb3ItbWVzc2FnZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJVSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7S0FrQmhEO0lBaEJDOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBZSxFQUFFLGNBQXNCO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzsrR0FsQlUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JNZXNzYWdlc1NlcnZpY2Uge1xuICBwcml2YXRlIHN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkIHwgb2JqZWN0PigpO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gc0FjdGlvbiAtIHNob3csIGRpc21pc3NcbiAgICogQHBhcmFtIHNBY3Rpb25NZXNzYWdlIC0gdGV4dCB0byBkaXNwbGF5ZWQsIHdpbGwgYmUgcXVldWVkIHdpdGggb3RoZXJzIHVudGlsIGRpc21pc3NcbiAgICovXG4gIHNlbmRNZXNzYWdlKHNBY3Rpb246IHN0cmluZywgc0FjdGlvbk1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHsgYWN0aW9uOiBzQWN0aW9uLCBhY3Rpb25NZXNzYWdlOiBzQWN0aW9uTWVzc2FnZSB9KTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPHZvaWQgfCBvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=
@@ -18,10 +18,10 @@ export class ProgressSpinnerService {
18
18
  getMessage() {
19
19
  return this.subject.asObservable();
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProgressSpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProgressSpinnerService, providedIn: 'root' }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressSpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressSpinnerService, providedIn: 'root' }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProgressSpinnerService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressSpinnerService, decorators: [{
25
25
  type: Injectable,
26
26
  args: [{
27
27
  providedIn: 'root'
@@ -18,10 +18,10 @@ export class UpdateWorklistService {
18
18
  getMessage() {
19
19
  return this.subject.asObservable();
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UpdateWorklistService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UpdateWorklistService, providedIn: 'root' }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateWorklistService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateWorklistService, providedIn: 'root' }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UpdateWorklistService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateWorklistService, decorators: [{
25
25
  type: Injectable,
26
26
  args: [{
27
27
  providedIn: 'root'
@@ -0,0 +1,35 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BannerService {
4
+ constructor() {
5
+ this.banners = [];
6
+ }
7
+ clearBanners() {
8
+ this.banners = [];
9
+ }
10
+ updateBanners(itemKey) {
11
+ const localizedValue = PCore.getLocaleUtils().getLocaleValue;
12
+ const validationErrors = PCore.getMessageManager().getValidationErrorMessages(itemKey) || [];
13
+ const formattedErrors = validationErrors.map(error => {
14
+ let message = '';
15
+ if (typeof error === 'string') {
16
+ message = error;
17
+ }
18
+ else {
19
+ error.label = error.label.endsWith(':') ? error.label : `${error.label}:`;
20
+ message = `${error.label} ${error.description}`;
21
+ }
22
+ return localizedValue(message, 'Messages');
23
+ });
24
+ this.banners = formattedErrors.length ? [{ messages: formattedErrors, variant: 'urgent' }] : [];
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerService, providedIn: 'root' }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerService, decorators: [{
30
+ type: Injectable,
31
+ args: [{
32
+ providedIn: 'root'
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX3NlcnZpY2VzL2Jhbm5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUUsWUFBTyxHQUFVLEVBQUUsQ0FBQztLQXlCckI7SUF2QkMsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBTztRQUNuQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQzdELE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdGLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFFakIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNsQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUM7Z0JBQzFFLE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xELENBQUM7WUFFRCxPQUFPLGNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEcsQ0FBQzsrR0F6QlUsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lclNlcnZpY2Uge1xuICBiYW5uZXJzOiBhbnlbXSA9IFtdO1xuXG4gIGNsZWFyQmFubmVycygpIHtcbiAgICB0aGlzLmJhbm5lcnMgPSBbXTtcbiAgfVxuXG4gIHVwZGF0ZUJhbm5lcnMoaXRlbUtleSkge1xuICAgIGNvbnN0IGxvY2FsaXplZFZhbHVlID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZTtcbiAgICBjb25zdCB2YWxpZGF0aW9uRXJyb3JzID0gUENvcmUuZ2V0TWVzc2FnZU1hbmFnZXIoKS5nZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlcyhpdGVtS2V5KSB8fCBbXTtcblxuICAgIGNvbnN0IGZvcm1hdHRlZEVycm9ycyA9IHZhbGlkYXRpb25FcnJvcnMubWFwKGVycm9yID0+IHtcbiAgICAgIGxldCBtZXNzYWdlID0gJyc7XG5cbiAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBlcnJvcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yLmxhYmVsID0gZXJyb3IubGFiZWwuZW5kc1dpdGgoJzonKSA/IGVycm9yLmxhYmVsIDogYCR7ZXJyb3IubGFiZWx9OmA7XG4gICAgICAgIG1lc3NhZ2UgPSBgJHtlcnJvci5sYWJlbH0gJHtlcnJvci5kZXNjcmlwdGlvbn1gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbG9jYWxpemVkVmFsdWUobWVzc2FnZSwgJ01lc3NhZ2VzJyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmJhbm5lcnMgPSBmb3JtYXR0ZWRFcnJvcnMubGVuZ3RoID8gW3sgbWVzc2FnZXM6IGZvcm1hdHRlZEVycm9ycywgdmFyaWFudDogJ3VyZ2VudCcgfV0gOiBbXTtcbiAgfVxufVxuIl19
@@ -20,10 +20,10 @@ export class CaseService {
20
20
  caseHeaders = caseHeaders.append('Content-Type', 'application/json');
21
21
  return this.http.get(this.caseTypeUrl, { observe: 'response', params: caseParams, headers: caseHeaders });
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseService, deps: [{ token: i1.HttpClient }, { token: i2.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseService, providedIn: 'root' }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaseService, deps: [{ token: i1.HttpClient }, { token: i2.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaseService, providedIn: 'root' }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseService, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaseService, decorators: [{
27
27
  type: Injectable,
28
28
  args: [{
29
29
  providedIn: 'root'
@@ -40,10 +40,10 @@ export class DatapageService {
40
40
  });
41
41
  });
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatapageService, deps: [{ token: i1.HttpClient }, { token: i2.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatapageService, providedIn: 'root' }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapageService, deps: [{ token: i1.HttpClient }, { token: i2.ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapageService, providedIn: 'root' }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatapageService, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapageService, decorators: [{
47
47
  type: Injectable,
48
48
  args: [{
49
49
  providedIn: 'root'
@@ -26,7 +26,6 @@ export const endpoints = {
26
26
  // use_pkce: true,
27
27
  // loginExperience: loginBoxType.Main
28
28
  // },
29
- SP_VERSION: '1.00',
30
29
  AUTH: '/v1/authenticate',
31
30
  CASES: '/v1/cases',
32
31
  CASES_V2: '/application/v2/cases',
@@ -58,4 +57,4 @@ export const endpoints = {
58
57
  FULLPORTAL: 'fullportal',
59
58
  FULLPORTALHTML: 'fullportal.html'
60
59
  };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19zZXJ2aWNlcy9lbmRwb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLENBQUM7Q0FDVCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLHFGQUFxRjtJQUNyRixRQUFRO0lBQ1IsOENBQThDO0lBQzlDLCtDQUErQztJQUMvQyxLQUFLO0lBQ0wsdURBQXVEO0lBRXZELGVBQWUsRUFBRSxZQUFZLENBQUMsSUFBSTtJQUVsQyxjQUFjO0lBQ2Qsd0JBQXdCO0lBQ3hCLHFGQUFxRjtJQUNyRix1RUFBdUU7SUFDdkUseUVBQXlFO0lBQ3pFLGVBQWU7SUFDZixxRkFBcUY7SUFDckYsdUNBQXVDO0lBQ3ZDLHdEQUF3RDtJQUN4RCx1Q0FBdUM7SUFDdkMseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQix1Q0FBdUM7SUFDdkMsS0FBSztJQUVMLFVBQVUsRUFBRSxNQUFNO0lBRWxCLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsUUFBUSxFQUFFLHVCQUF1QjtJQUNqQyxTQUFTLEVBQUUsZUFBZTtJQUMxQixZQUFZLEVBQUUsMkJBQTJCO0lBQ3pDLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsS0FBSyxFQUFFLFFBQVE7SUFDZixXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLGNBQWMsRUFBRSw2QkFBNkI7SUFDN0MsT0FBTyxFQUFFLFVBQVU7SUFDbkIsS0FBSyxFQUFFLFFBQVE7SUFDZixJQUFJLEVBQUUsVUFBVTtJQUNoQixPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLE9BQU8sRUFBRSxVQUFVO0lBQ25CLE9BQU8sRUFBRSw0QkFBNEI7SUFDckMsS0FBSyxFQUFFLGNBQWM7SUFDckIsUUFBUSxFQUFFLGNBQWM7SUFDeEIsT0FBTyxFQUFFLFFBQVE7SUFDakIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7SUFFVixRQUFRLEVBQUUsVUFBVTtJQUNwQixZQUFZLEVBQUUsZUFBZTtJQUM3QixNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsYUFBYTtJQUN6QixZQUFZLEVBQUUsY0FBYztJQUM1QixnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLGFBQWE7SUFDekIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsY0FBYyxFQUFFLGlCQUFpQjtDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gT0F1dGggbG9naW4gYm94IHR5cGUgKG9ubHkgcmVjZW50IHRlc3Rpbmcgd2l0aCBNYWluKVxuZXhwb3J0IGNvbnN0IGxvZ2luQm94VHlwZSA9IHtcbiAgTWFpbjogMSxcbiAgUG9wdXA6IDIsXG4gIE1vZGFsOiAzXG59O1xuXG5leHBvcnQgY29uc3QgZW5kcG9pbnRzID0ge1xuICAvLyBDaGFuZ2UgdGhpcyBVUkwgaWYgeW91IHdhbnQgdG8gcG9pbnQgdGhlIFJlYWN0IGFwcGxpY2F0aW9uIGF0IGFub3RoZXIgUGVnYSBzZXJ2ZXIuXG4gIC8vIGxvY2FsXG4gIC8vIEJBU0VVUkw6IFwiaHR0cDovL2xvY2FsaG9zdDoxMDgwL3Byd2ViL2FwaVwiLFxuICAvLyBCQVNFVVJMOiBcImh0dHBzOi8vbG9jYWxob3N0OjEwODAvcHJ3ZWIvYXBpXCIsXG4gIC8vIDg1XG4gIC8vIEJBU0VVUkw6IFwiaHR0cHM6Ly9sdS04NS1jYW0uZW5nLnBlZ2EuY29tL3Byd2ViL2FwaVwiLFxuXG4gIGxvZ2luRXhwZXJpZW5jZTogbG9naW5Cb3hUeXBlLk1haW4sXG5cbiAgLy8gT0FVVEhDRkc6IHtcbiAgLy8gICBwcm92aWRlcklEOiBcInBlZ2FcIixcbiAgLy8gICBhdXRob3JpemF0aW9uOiBcImh0dHBzOi8vbG9jYWxob3N0OjEwODAvcHJ3ZWIvUFJSZXN0U2VydmljZS9vYXV0aDIvdjEvYXV0aG9yaXplXCIsXG4gIC8vICAgYXV0aG9yaXR5OiBcImh0dHBzOi8vbG9jYWxob3N0OjEwODAvcHJ3ZWIvUFJSZXN0U2VydmljZS9vYXV0aDIvdjFcIixcbiAgLy8gICB0b2tlbjogXCJodHRwczovL2xvY2FsaG9zdDoxMDgwL3Byd2ViL1BSUmVzdFNlcnZpY2Uvb2F1dGgyL3YxL3Rva2VuXCIsXG4gIC8vICAgc2NvcGU6IFtdLFxuICAvLyAgIC8vIGZvciBtYXNodXAgTWVkaWFDbyBsb2dpbiBjdXN0b21lciwgb3RoZXJ3aXNlLCByZWd1bGFyIGxvZ2luIHBhc3MgaW4gY2xpZW50IGlkXG4gIC8vICAgY2xpZW50X2lkOiBcIjEyNTk1NDAxNTM4NTY5NzI2OTIyXCIsXG4gIC8vICAgY2xpZW50X3NlY3JldDogIFwiQ0MzNzRGRDQxQjRGMDcyNkM3RjJBNEREOENFMUU5OTFcIixcbiAgLy8gICBncmFudF90eXBlOiAgXCJjbGllbnRfY3JlZGVudGlhbHNcIixcbiAgLy8gICAvLyBtYWluIHdpbmRvdyBsb2dpblxuICAvLyAgIHVzZV9wa2NlOiB0cnVlLFxuICAvLyAgIGxvZ2luRXhwZXJpZW5jZTogbG9naW5Cb3hUeXBlLk1haW5cbiAgLy8gfSxcblxuICBTUF9WRVJTSU9OOiAnMS4wMCcsXG5cbiAgQVVUSDogJy92MS9hdXRoZW50aWNhdGUnLFxuICBDQVNFUzogJy92MS9jYXNlcycsXG4gIENBU0VTX1YyOiAnL2FwcGxpY2F0aW9uL3YyL2Nhc2VzJyxcbiAgQ0FTRVRZUEVTOiAnL3YxL2Nhc2V0eXBlcycsXG4gIENBU0VUWVBFU19WMjogJy9hcHBsaWNhdGlvbi92Mi9jYXNldHlwZXMnLFxuICBDT05GSUdfVjI6ICcvYXBwbGljYXRpb24vdjIvY29uZmlnJyxcbiAgVklFV1M6ICcvdmlld3MnLFxuICBBU1NJR05NRU5UUzogJy92MS9hc3NpZ25tZW50cycsXG4gIEFTU0lHTk1FTlRTX1YyOiAnL2FwcGxpY2F0aW9uL3YyL2Fzc2lnbm1lbnRzJyxcbiAgQUNUSU9OUzogJy9hY3Rpb25zJyxcbiAgUEFHRVM6ICcvcGFnZXMnLFxuICBEQVRBOiAnL3YxL2RhdGEnLFxuICBEQVRBX1YyOiAnL2FwcGxpY2F0aW9uL3YyL2RhdGEnLFxuICBSRUZSRVNIOiAnL3JlZnJlc2gnLFxuICBCQUNLX1YyOiAnL25hdmlnYXRpb25fc3RlcHMvcHJldmlvdXMnLFxuICBQVUxTRTogJy92MS9tZXNzYWdlcycsXG4gIFBVTFNFX1YyOiAnL3YyL21lc3NhZ2VzJyxcbiAgUk9VVElORzogJ21hc2h1cCcsXG4gIE1FRElBQ086ICdNZWRpYUNvJyxcbiAgQVBJOiAnYXBpJyxcblxuICBFTUJFRERFRDogJ2VtYmVkZGVkJyxcbiAgRU1CRURERURIVE1MOiAnZW1iZWRkZWQuaHRtbCcsXG4gIE1BU0hVUDogJ21hc2h1cCcsXG4gIE1BU0hVUEhUTUw6ICdtYXNodXAuaHRtbCcsXG4gIFNJTVBMRVBPUlRBTDogJ3NpbXBsZXBvcnRhbCcsXG4gIFNJTVBMRVBPUlRBTEhUTUw6ICdzaW1wbGVwb3J0YWwuaHRtbCcsXG4gIFBPUlRBTDogJ3BvcnRhbCcsXG4gIFBPUlRBTEhUTUw6ICdwb3J0YWwuaHRtbCcsXG4gIEZVTExQT1JUQUw6ICdmdWxscG9ydGFsJyxcbiAgRlVMTFBPUlRBTEhUTUw6ICdmdWxscG9ydGFsLmh0bWwnXG59O1xuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19zZXJ2aWNlcy9lbmRwb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLENBQUM7Q0FDVCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLHFGQUFxRjtJQUNyRixRQUFRO0lBQ1IsOENBQThDO0lBQzlDLCtDQUErQztJQUMvQyxLQUFLO0lBQ0wsdURBQXVEO0lBRXZELGVBQWUsRUFBRSxZQUFZLENBQUMsSUFBSTtJQUVsQyxjQUFjO0lBQ2Qsd0JBQXdCO0lBQ3hCLHFGQUFxRjtJQUNyRix1RUFBdUU7SUFDdkUseUVBQXlFO0lBQ3pFLGVBQWU7SUFDZixxRkFBcUY7SUFDckYsdUNBQXVDO0lBQ3ZDLHdEQUF3RDtJQUN4RCx1Q0FBdUM7SUFDdkMseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQix1Q0FBdUM7SUFDdkMsS0FBSztJQUVMLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsUUFBUSxFQUFFLHVCQUF1QjtJQUNqQyxTQUFTLEVBQUUsZUFBZTtJQUMxQixZQUFZLEVBQUUsMkJBQTJCO0lBQ3pDLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsS0FBSyxFQUFFLFFBQVE7SUFDZixXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLGNBQWMsRUFBRSw2QkFBNkI7SUFDN0MsT0FBTyxFQUFFLFVBQVU7SUFDbkIsS0FBSyxFQUFFLFFBQVE7SUFDZixJQUFJLEVBQUUsVUFBVTtJQUNoQixPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLE9BQU8sRUFBRSxVQUFVO0lBQ25CLE9BQU8sRUFBRSw0QkFBNEI7SUFDckMsS0FBSyxFQUFFLGNBQWM7SUFDckIsUUFBUSxFQUFFLGNBQWM7SUFDeEIsT0FBTyxFQUFFLFFBQVE7SUFDakIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7SUFFVixRQUFRLEVBQUUsVUFBVTtJQUNwQixZQUFZLEVBQUUsZUFBZTtJQUM3QixNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsYUFBYTtJQUN6QixZQUFZLEVBQUUsY0FBYztJQUM1QixnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLGFBQWE7SUFDekIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsY0FBYyxFQUFFLGlCQUFpQjtDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gT0F1dGggbG9naW4gYm94IHR5cGUgKG9ubHkgcmVjZW50IHRlc3Rpbmcgd2l0aCBNYWluKVxuZXhwb3J0IGNvbnN0IGxvZ2luQm94VHlwZSA9IHtcbiAgTWFpbjogMSxcbiAgUG9wdXA6IDIsXG4gIE1vZGFsOiAzXG59O1xuXG5leHBvcnQgY29uc3QgZW5kcG9pbnRzID0ge1xuICAvLyBDaGFuZ2UgdGhpcyBVUkwgaWYgeW91IHdhbnQgdG8gcG9pbnQgdGhlIFJlYWN0IGFwcGxpY2F0aW9uIGF0IGFub3RoZXIgUGVnYSBzZXJ2ZXIuXG4gIC8vIGxvY2FsXG4gIC8vIEJBU0VVUkw6IFwiaHR0cDovL2xvY2FsaG9zdDoxMDgwL3Byd2ViL2FwaVwiLFxuICAvLyBCQVNFVVJMOiBcImh0dHBzOi8vbG9jYWxob3N0OjEwODAvcHJ3ZWIvYXBpXCIsXG4gIC8vIDg1XG4gIC8vIEJBU0VVUkw6IFwiaHR0cHM6Ly9sdS04NS1jYW0uZW5nLnBlZ2EuY29tL3Byd2ViL2FwaVwiLFxuXG4gIGxvZ2luRXhwZXJpZW5jZTogbG9naW5Cb3hUeXBlLk1haW4sXG5cbiAgLy8gT0FVVEhDRkc6IHtcbiAgLy8gICBwcm92aWRlcklEOiBcInBlZ2FcIixcbiAgLy8gICBhdXRob3JpemF0aW9uOiBcImh0dHBzOi8vbG9jYWxob3N0OjEwODAvcHJ3ZWIvUFJSZXN0U2VydmljZS9vYXV0aDIvdjEvYXV0aG9yaXplXCIsXG4gIC8vICAgYXV0aG9yaXR5OiBcImh0dHBzOi8vbG9jYWxob3N0OjEwODAvcHJ3ZWIvUFJSZXN0U2VydmljZS9vYXV0aDIvdjFcIixcbiAgLy8gICB0b2tlbjogXCJodHRwczovL2xvY2FsaG9zdDoxMDgwL3Byd2ViL1BSUmVzdFNlcnZpY2Uvb2F1dGgyL3YxL3Rva2VuXCIsXG4gIC8vICAgc2NvcGU6IFtdLFxuICAvLyAgIC8vIGZvciBtYXNodXAgTWVkaWFDbyBsb2dpbiBjdXN0b21lciwgb3RoZXJ3aXNlLCByZWd1bGFyIGxvZ2luIHBhc3MgaW4gY2xpZW50IGlkXG4gIC8vICAgY2xpZW50X2lkOiBcIjEyNTk1NDAxNTM4NTY5NzI2OTIyXCIsXG4gIC8vICAgY2xpZW50X3NlY3JldDogIFwiQ0MzNzRGRDQxQjRGMDcyNkM3RjJBNEREOENFMUU5OTFcIixcbiAgLy8gICBncmFudF90eXBlOiAgXCJjbGllbnRfY3JlZGVudGlhbHNcIixcbiAgLy8gICAvLyBtYWluIHdpbmRvdyBsb2dpblxuICAvLyAgIHVzZV9wa2NlOiB0cnVlLFxuICAvLyAgIGxvZ2luRXhwZXJpZW5jZTogbG9naW5Cb3hUeXBlLk1haW5cbiAgLy8gfSxcblxuICBBVVRIOiAnL3YxL2F1dGhlbnRpY2F0ZScsXG4gIENBU0VTOiAnL3YxL2Nhc2VzJyxcbiAgQ0FTRVNfVjI6ICcvYXBwbGljYXRpb24vdjIvY2FzZXMnLFxuICBDQVNFVFlQRVM6ICcvdjEvY2FzZXR5cGVzJyxcbiAgQ0FTRVRZUEVTX1YyOiAnL2FwcGxpY2F0aW9uL3YyL2Nhc2V0eXBlcycsXG4gIENPTkZJR19WMjogJy9hcHBsaWNhdGlvbi92Mi9jb25maWcnLFxuICBWSUVXUzogJy92aWV3cycsXG4gIEFTU0lHTk1FTlRTOiAnL3YxL2Fzc2lnbm1lbnRzJyxcbiAgQVNTSUdOTUVOVFNfVjI6ICcvYXBwbGljYXRpb24vdjIvYXNzaWdubWVudHMnLFxuICBBQ1RJT05TOiAnL2FjdGlvbnMnLFxuICBQQUdFUzogJy9wYWdlcycsXG4gIERBVEE6ICcvdjEvZGF0YScsXG4gIERBVEFfVjI6ICcvYXBwbGljYXRpb24vdjIvZGF0YScsXG4gIFJFRlJFU0g6ICcvcmVmcmVzaCcsXG4gIEJBQ0tfVjI6ICcvbmF2aWdhdGlvbl9zdGVwcy9wcmV2aW91cycsXG4gIFBVTFNFOiAnL3YxL21lc3NhZ2VzJyxcbiAgUFVMU0VfVjI6ICcvdjIvbWVzc2FnZXMnLFxuICBST1VUSU5HOiAnbWFzaHVwJyxcbiAgTUVESUFDTzogJ01lZGlhQ28nLFxuICBBUEk6ICdhcGknLFxuXG4gIEVNQkVEREVEOiAnZW1iZWRkZWQnLFxuICBFTUJFRERFREhUTUw6ICdlbWJlZGRlZC5odG1sJyxcbiAgTUFTSFVQOiAnbWFzaHVwJyxcbiAgTUFTSFVQSFRNTDogJ21hc2h1cC5odG1sJyxcbiAgU0lNUExFUE9SVEFMOiAnc2ltcGxlcG9ydGFsJyxcbiAgU0lNUExFUE9SVEFMSFRNTDogJ3NpbXBsZXBvcnRhbC5odG1sJyxcbiAgUE9SVEFMOiAncG9ydGFsJyxcbiAgUE9SVEFMSFRNTDogJ3BvcnRhbC5odG1sJyxcbiAgRlVMTFBPUlRBTDogJ2Z1bGxwb3J0YWwnLFxuICBGVUxMUE9SVEFMSFRNTDogJ2Z1bGxwb3J0YWwuaHRtbCdcbn07XG4iXX0=
@@ -40,10 +40,10 @@ export class ServerConfigService {
40
40
  getBaseUrl() {
41
41
  return SdkConfigAccess.getSdkConfigServer().infinityRestServerUrl;
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerConfigService, providedIn: 'root' }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServerConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServerConfigService, providedIn: 'root' }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerConfigService, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServerConfigService, decorators: [{
47
47
  type: Injectable,
48
48
  args: [{
49
49
  providedIn: 'root'