@hmcts/ccd-case-ui-toolkit 7.0.38-exui-1856-rc2 → 7.0.39-angular-upgrade

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 (1173) hide show
  1. package/esm2022/lib/app.config.mjs +93 -0
  2. package/esm2022/lib/components/banners/alert/alert-icon-class.pipe.mjs +25 -0
  3. package/esm2022/lib/components/banners/alert/alert.component.mjs +92 -0
  4. package/esm2022/lib/components/banners/alert/alert.module.mjs +32 -0
  5. package/esm2022/lib/components/banners/banners.module.mjs +32 -0
  6. package/esm2022/lib/components/banners/notification-banner/notification-banner.component.mjs +116 -0
  7. package/esm2022/lib/components/banners/notification-banner/notification-banner.module.mjs +19 -0
  8. package/esm2022/lib/components/body/body.component.mjs +21 -0
  9. package/esm2022/lib/components/body/body.module.mjs +20 -0
  10. package/esm2022/lib/components/footer/footer.component.mjs +109 -0
  11. package/esm2022/lib/components/footer/footers.module.mjs +25 -0
  12. package/esm2022/lib/components/form/date-input/date-input.component.mjs +341 -0
  13. package/esm2022/lib/components/form/form.module.mjs +29 -0
  14. package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +98 -0
  15. package/esm2022/lib/components/header/headers.module.mjs +25 -0
  16. package/esm2022/lib/components/header/navigation/navigation-item.component.mjs +45 -0
  17. package/esm2022/lib/components/header/navigation/navigation.component.mjs +26 -0
  18. package/esm2022/lib/components/header/phase/phase.component.mjs +49 -0
  19. package/esm2022/lib/components/tabs/tab.component.mjs +32 -0
  20. package/esm2022/lib/components/tabs/tabs.component.mjs +83 -0
  21. package/esm2022/lib/components/tabs/tabs.module.mjs +38 -0
  22. package/esm2022/lib/shared/commons/address-validation-constants.mjs +13 -0
  23. package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +19 -0
  24. package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +46 -0
  25. package/esm2022/lib/shared/commons/constants.mjs +13 -0
  26. package/esm2022/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +43 -0
  27. package/esm2022/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +36 -0
  28. package/esm2022/lib/shared/components/activity/activity.component.mjs +156 -0
  29. package/esm2022/lib/shared/components/activity/activity.module.mjs +55 -0
  30. package/esm2022/lib/shared/components/case-editor/case-access-utils/index.mjs +105 -0
  31. package/esm2022/lib/shared/components/case-editor/case-create/case-create.component.mjs +96 -0
  32. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +464 -0
  33. package/esm2022/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +130 -0
  34. package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +140 -0
  35. package/esm2022/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +70 -0
  36. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +806 -0
  37. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +603 -0
  38. package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +214 -0
  39. package/esm2022/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +97 -0
  40. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +83 -0
  41. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +167 -0
  42. package/esm2022/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +85 -0
  43. package/esm2022/lib/shared/components/case-editor/domain/confirmation.model.mjs +25 -0
  44. package/esm2022/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.mjs +9 -0
  45. package/esm2022/lib/shared/components/case-editor/domain/wizard-page-field.model.mjs +7 -0
  46. package/esm2022/lib/shared/components/case-editor/domain/wizard-page.model.mjs +33 -0
  47. package/esm2022/lib/shared/components/case-editor/domain/wizard.model.mjs +55 -0
  48. package/esm2022/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +98 -0
  49. package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +19 -0
  50. package/esm2022/lib/shared/components/case-editor/services/case-worker.service.mjs +35 -0
  51. package/esm2022/lib/shared/components/case-editor/services/case.notifier.mjs +53 -0
  52. package/esm2022/lib/shared/components/case-editor/services/cases.service.mjs +300 -0
  53. package/esm2022/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +42 -0
  54. package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +153 -0
  55. package/esm2022/lib/shared/components/case-editor/services/event-trigger.service.mjs +18 -0
  56. package/esm2022/lib/shared/components/case-editor/services/judicial-worker.service.mjs +35 -0
  57. package/esm2022/lib/shared/components/case-editor/services/page-validation.service.mjs +59 -0
  58. package/esm2022/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +40 -0
  59. package/esm2022/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +117 -0
  60. package/esm2022/lib/shared/components/case-editor/services/work-allocation.service.mjs +220 -0
  61. package/esm2022/lib/shared/components/case-header/case-header.component.mjs +64 -0
  62. package/esm2022/lib/shared/components/case-header/case-header.module.mjs +33 -0
  63. package/esm2022/lib/shared/components/case-history/case-history.component.mjs +252 -0
  64. package/esm2022/lib/shared/components/case-history/case-history.module.mjs +64 -0
  65. package/esm2022/lib/shared/components/case-history/domain/case-history.model.mjs +37 -0
  66. package/esm2022/lib/shared/components/case-history/services/case-history.service.mjs +43 -0
  67. package/esm2022/lib/shared/components/case-list/case-list.component.mjs +368 -0
  68. package/esm2022/lib/shared/components/case-list/case-list.module.mjs +47 -0
  69. package/esm2022/lib/shared/components/case-list-filters/case-list-filters.component.mjs +57 -0
  70. package/esm2022/lib/shared/components/case-list-filters/case-list-filters.module.mjs +64 -0
  71. package/esm2022/lib/shared/components/case-timeline/case-timeline.component.mjs +115 -0
  72. package/esm2022/lib/shared/components/case-timeline/case-timeline.module.mjs +52 -0
  73. package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +246 -0
  74. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +311 -0
  75. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +75 -0
  76. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +156 -0
  77. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +707 -0
  78. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +61 -0
  79. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +256 -0
  80. package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +211 -0
  81. package/esm2022/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +50 -0
  82. package/esm2022/lib/shared/components/case-viewer/case-view/case-view.component.mjs +107 -0
  83. package/esm2022/lib/shared/components/case-viewer/case-viewer.component.mjs +133 -0
  84. package/esm2022/lib/shared/components/case-viewer/case-viewer.module.mjs +191 -0
  85. package/esm2022/lib/shared/components/case-viewer/printer/case-printer.component.mjs +117 -0
  86. package/esm2022/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +61 -0
  87. package/esm2022/lib/shared/components/case-viewer/services/case.resolver.mjs +138 -0
  88. package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +70 -0
  89. package/esm2022/lib/shared/components/create-case-filters/create-case-filters-selection.model.mjs +11 -0
  90. package/esm2022/lib/shared/components/create-case-filters/create-case-filters.component.mjs +289 -0
  91. package/esm2022/lib/shared/components/create-case-filters/create-case-filters.module.mjs +44 -0
  92. package/esm2022/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +60 -0
  93. package/esm2022/lib/shared/components/dialogs/dialogs.module.mjs +51 -0
  94. package/esm2022/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +62 -0
  95. package/esm2022/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +60 -0
  96. package/esm2022/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +64 -0
  97. package/esm2022/lib/shared/components/error/callback-errors.component.mjs +146 -0
  98. package/esm2022/lib/shared/components/error/domain/error-context.mjs +5 -0
  99. package/esm2022/lib/shared/components/error/errors.module.mjs +33 -0
  100. package/esm2022/lib/shared/components/error-message/error-message.component.mjs +45 -0
  101. package/esm2022/lib/shared/components/error-message/error-message.module.mjs +41 -0
  102. package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +62 -0
  103. package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +56 -0
  104. package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +112 -0
  105. package/esm2022/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +70 -0
  106. package/esm2022/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +61 -0
  107. package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +56 -0
  108. package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +104 -0
  109. package/esm2022/lib/shared/components/event-start/event-start.component.mjs +56 -0
  110. package/esm2022/lib/shared/components/event-start/event-start.module.mjs +71 -0
  111. package/esm2022/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +31 -0
  112. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +179 -0
  113. package/esm2022/lib/shared/components/event-trigger/event-trigger.component.mjs +117 -0
  114. package/esm2022/lib/shared/components/event-trigger/event-trigger.module.mjs +37 -0
  115. package/esm2022/lib/shared/components/loading-spinner/loading-spinner.component.mjs +26 -0
  116. package/esm2022/lib/shared/components/loading-spinner/loading-spinner.module.mjs +29 -0
  117. package/esm2022/lib/shared/components/pagination/pagination.component.mjs +260 -0
  118. package/esm2022/lib/shared/components/pagination/pagination.module.mjs +35 -0
  119. package/esm2022/lib/shared/components/palette/address/address-option.model.mjs +23 -0
  120. package/esm2022/lib/shared/components/palette/address/write-address-field.component.mjs +286 -0
  121. package/esm2022/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +30 -0
  122. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +44 -0
  123. package/esm2022/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +84 -0
  124. package/esm2022/lib/shared/components/palette/base-field/field-read-label.component.mjs +85 -0
  125. package/esm2022/lib/shared/components/palette/base-field/field-read.component.mjs +90 -0
  126. package/esm2022/lib/shared/components/palette/base-field/field-write.component.mjs +78 -0
  127. package/esm2022/lib/shared/components/palette/base-field/payment-field.component.mjs +37 -0
  128. package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +181 -0
  129. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.mjs +50 -0
  130. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +51 -0
  131. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +358 -0
  132. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +158 -0
  133. package/esm2022/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +94 -0
  134. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +190 -0
  135. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +301 -0
  136. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +206 -0
  137. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +169 -0
  138. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +225 -0
  139. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +311 -0
  140. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +202 -0
  141. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +353 -0
  142. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +269 -0
  143. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +510 -0
  144. package/esm2022/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +43 -0
  145. package/esm2022/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +43 -0
  146. package/esm2022/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +111 -0
  147. package/esm2022/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +79 -0
  148. package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +253 -0
  149. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +697 -0
  150. package/esm2022/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +33 -0
  151. package/esm2022/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +125 -0
  152. package/esm2022/lib/shared/components/palette/collection/collection-create-checker.service.mjs +42 -0
  153. package/esm2022/lib/shared/components/palette/collection/read-collection-field.component.mjs +78 -0
  154. package/esm2022/lib/shared/components/palette/collection/write-collection-field.component.mjs +447 -0
  155. package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +378 -0
  156. package/esm2022/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +51 -0
  157. package/esm2022/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +76 -0
  158. package/esm2022/lib/shared/components/palette/complex/read-complex-field.component.mjs +71 -0
  159. package/esm2022/lib/shared/components/palette/complex/write-complex-field.component.mjs +173 -0
  160. package/esm2022/lib/shared/components/palette/date/read-date-field.component.mjs +26 -0
  161. package/esm2022/lib/shared/components/palette/date/write-date-container-field.component.mjs +33 -0
  162. package/esm2022/lib/shared/components/palette/date/write-date-field.component.mjs +77 -0
  163. package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +312 -0
  164. package/esm2022/lib/shared/components/palette/document/document-url.pipe.mjs +25 -0
  165. package/esm2022/lib/shared/components/palette/document/file-upload-progress.guard.mjs +31 -0
  166. package/esm2022/lib/shared/components/palette/document/file-upload-state.service.mjs +17 -0
  167. package/esm2022/lib/shared/components/palette/document/read-document-field.component.mjs +88 -0
  168. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +430 -0
  169. package/esm2022/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +18 -0
  170. package/esm2022/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +37 -0
  171. package/esm2022/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +124 -0
  172. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +44 -0
  173. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +146 -0
  174. package/esm2022/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +25 -0
  175. package/esm2022/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +43 -0
  176. package/esm2022/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +123 -0
  177. package/esm2022/lib/shared/components/palette/email/read-email-field.component.mjs +36 -0
  178. package/esm2022/lib/shared/components/palette/email/write-email-field.component.mjs +74 -0
  179. package/esm2022/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +23 -0
  180. package/esm2022/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +27 -0
  181. package/esm2022/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +107 -0
  182. package/esm2022/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +18 -0
  183. package/esm2022/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +27 -0
  184. package/esm2022/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +96 -0
  185. package/esm2022/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +17 -0
  186. package/esm2022/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +99 -0
  187. package/esm2022/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +224 -0
  188. package/esm2022/lib/shared/components/palette/history/event-log/event-log.component.mjs +72 -0
  189. package/esm2022/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +49 -0
  190. package/esm2022/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +253 -0
  191. package/esm2022/lib/shared/components/palette/label/label-field.component.mjs +50 -0
  192. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +111 -0
  193. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +191 -0
  194. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +543 -0
  195. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +213 -0
  196. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +287 -0
  197. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +69 -0
  198. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +209 -0
  199. package/esm2022/lib/shared/components/palette/linked-cases/domain/linked-cases.model.mjs +67 -0
  200. package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +168 -0
  201. package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +138 -0
  202. package/esm2022/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +27 -0
  203. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +234 -0
  204. package/esm2022/lib/shared/components/palette/markdown/markdown-component.module.mjs +48 -0
  205. package/esm2022/lib/shared/components/palette/markdown/markdown.component.mjs +81 -0
  206. package/esm2022/lib/shared/components/palette/markdown/routerlink.component.mjs +25 -0
  207. package/esm2022/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +128 -0
  208. package/esm2022/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +50 -0
  209. package/esm2022/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +79 -0
  210. package/esm2022/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +46 -0
  211. package/esm2022/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +126 -0
  212. package/esm2022/lib/shared/components/palette/number/read-number-field.component.mjs +25 -0
  213. package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +74 -0
  214. package/esm2022/lib/shared/components/palette/order-summary/fee-value.model.mjs +4 -0
  215. package/esm2022/lib/shared/components/palette/order-summary/fee.model.mjs +8 -0
  216. package/esm2022/lib/shared/components/palette/order-summary/order-summary.model.mjs +6 -0
  217. package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +74 -0
  218. package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +45 -0
  219. package/esm2022/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +45 -0
  220. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +88 -0
  221. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +92 -0
  222. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +52 -0
  223. package/esm2022/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +35 -0
  224. package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +397 -0
  225. package/esm2022/lib/shared/components/palette/palette.module.mjs +736 -0
  226. package/esm2022/lib/shared/components/palette/palette.service.mjs +153 -0
  227. package/esm2022/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +25 -0
  228. package/esm2022/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +23 -0
  229. package/esm2022/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +74 -0
  230. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +44 -0
  231. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +150 -0
  232. package/esm2022/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +67 -0
  233. package/esm2022/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +61 -0
  234. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +292 -0
  235. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +330 -0
  236. package/esm2022/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +24 -0
  237. package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +165 -0
  238. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +78 -0
  239. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +121 -0
  240. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +202 -0
  241. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +107 -0
  242. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +24 -0
  243. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +45 -0
  244. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +124 -0
  245. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +22 -0
  246. package/esm2022/lib/shared/components/palette/text/read-text-field.component.mjs +25 -0
  247. package/esm2022/lib/shared/components/palette/text/write-text-field.component.mjs +78 -0
  248. package/esm2022/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +25 -0
  249. package/esm2022/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +89 -0
  250. package/esm2022/lib/shared/components/palette/unsupported-field.component.mjs +18 -0
  251. package/esm2022/lib/shared/components/palette/utils/dash.pipe.mjs +16 -0
  252. package/esm2022/lib/shared/components/palette/utils/date.pipe.mjs +133 -0
  253. package/esm2022/lib/shared/components/palette/utils/field-label.pipe.mjs +30 -0
  254. package/esm2022/lib/shared/components/palette/utils/first-error.pipe.mjs +65 -0
  255. package/esm2022/lib/shared/components/palette/utils/is-compound.pipe.mjs +43 -0
  256. package/esm2022/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +22 -0
  257. package/esm2022/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +32 -0
  258. package/esm2022/lib/shared/components/palette/utils/is-read-only.pipe.mjs +22 -0
  259. package/esm2022/lib/shared/components/palette/utils/utils.module.mjs +71 -0
  260. package/esm2022/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +35 -0
  261. package/esm2022/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +37 -0
  262. package/esm2022/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +102 -0
  263. package/esm2022/lib/shared/components/palette/yes-no/yes-no.service.mjs +50 -0
  264. package/esm2022/lib/shared/components/search-filters/domain/search-input.model.mjs +15 -0
  265. package/esm2022/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +63 -0
  266. package/esm2022/lib/shared/components/search-filters/search-filters.component.mjs +341 -0
  267. package/esm2022/lib/shared/components/search-filters/search-filters.module.mjs +71 -0
  268. package/esm2022/lib/shared/components/search-result/search-result.component.mjs +822 -0
  269. package/esm2022/lib/shared/components/search-result/search-result.module.mjs +82 -0
  270. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +497 -0
  271. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +67 -0
  272. package/esm2022/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +169 -0
  273. package/esm2022/lib/shared/directives/conditional-show/conditional-show.module.mjs +33 -0
  274. package/esm2022/lib/shared/directives/conditional-show/domain/conditional-show.model.mjs +201 -0
  275. package/esm2022/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +200 -0
  276. package/esm2022/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +17 -0
  277. package/esm2022/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +48 -0
  278. package/esm2022/lib/shared/directives/focus-element/focus-element.directive.mjs +38 -0
  279. package/esm2022/lib/shared/directives/focus-element/focus-element.module.mjs +21 -0
  280. package/esm2022/lib/shared/directives/substitutor/label-substitutor.directive.mjs +88 -0
  281. package/esm2022/lib/shared/directives/substitutor/label-substitutor.module.mjs +30 -0
  282. package/esm2022/lib/shared/directives/substitutor/services/placeholder.service.mjs +209 -0
  283. package/esm2022/lib/shared/domain/activity/activity.model.mjs +17 -0
  284. package/esm2022/lib/shared/domain/addresses/address.model.mjs +11 -0
  285. package/esm2022/lib/shared/domain/alert/alert.model.mjs +5 -0
  286. package/esm2022/lib/shared/domain/case-details.model.mjs +13 -0
  287. package/esm2022/lib/shared/domain/case-event-data.model.mjs +11 -0
  288. package/esm2022/lib/shared/domain/case-file-view/case-file-view-category.model.mjs +8 -0
  289. package/esm2022/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +10 -0
  290. package/esm2022/lib/shared/domain/case-file-view/categories-and-documents.model.mjs +10 -0
  291. package/esm2022/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +125 -0
  292. package/esm2022/lib/shared/domain/case-flag/flag-type.model.mjs +37 -0
  293. package/esm2022/lib/shared/domain/case-flag/hmcts-service-detail.model.mjs +18 -0
  294. package/esm2022/lib/shared/domain/case-view/case-event-trigger.model.mjs +34 -0
  295. package/esm2022/lib/shared/domain/case-view/case-print-document.model.mjs +6 -0
  296. package/esm2022/lib/shared/domain/case-view/case-tab.model.mjs +17 -0
  297. package/esm2022/lib/shared/domain/case-view/case-view-event.model.mjs +16 -0
  298. package/esm2022/lib/shared/domain/case-view/case-view-trigger.model.mjs +7 -0
  299. package/esm2022/lib/shared/domain/case-view/case-view.model.mjs +27 -0
  300. package/esm2022/lib/shared/domain/definition/access-control-list.model.mjs +8 -0
  301. package/esm2022/lib/shared/domain/definition/banner.model.mjs +8 -0
  302. package/esm2022/lib/shared/domain/definition/case-event.model.mjs +11 -0
  303. package/esm2022/lib/shared/domain/definition/case-field.model.mjs +218 -0
  304. package/esm2022/lib/shared/domain/definition/case-state.model.mjs +7 -0
  305. package/esm2022/lib/shared/domain/definition/case-type-lite.model.mjs +10 -0
  306. package/esm2022/lib/shared/domain/definition/case-type.model.mjs +20 -0
  307. package/esm2022/lib/shared/domain/definition/event-case-field.model.mjs +6 -0
  308. package/esm2022/lib/shared/domain/definition/field-type.model.mjs +30 -0
  309. package/esm2022/lib/shared/domain/definition/fixed-list-item.model.mjs +6 -0
  310. package/esm2022/lib/shared/domain/definition/jurisdiction.model.mjs +8 -0
  311. package/esm2022/lib/shared/domain/document/document-data.model.mjs +28 -0
  312. package/esm2022/lib/shared/domain/draft.model.mjs +16 -0
  313. package/esm2022/lib/shared/domain/http/http-error.model.mjs +49 -0
  314. package/esm2022/lib/shared/domain/organisation/organisation-converter.mjs +42 -0
  315. package/esm2022/lib/shared/domain/pagination-metadata.model.mjs +5 -0
  316. package/esm2022/lib/shared/domain/profile/profile.model.mjs +33 -0
  317. package/esm2022/lib/shared/domain/search/field.model.mjs +17 -0
  318. package/esm2022/lib/shared/domain/search/search-result-view-column.model.mjs +9 -0
  319. package/esm2022/lib/shared/domain/search/search-result-view-item.model.mjs +18 -0
  320. package/esm2022/lib/shared/domain/search/search-result-view.model.mjs +26 -0
  321. package/esm2022/lib/shared/domain/search/sorting/sort-parameters.mjs +9 -0
  322. package/esm2022/lib/shared/domain/workbasket/workbasket-input.model.mjs +11 -0
  323. package/esm2022/lib/shared/fixture/case-field-builder.mjs +67 -0
  324. package/esm2022/lib/shared/pipes/case-reference/case-reference.pipe.mjs +33 -0
  325. package/esm2022/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +31 -0
  326. package/esm2022/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +32 -0
  327. package/esm2022/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +27 -0
  328. package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +39 -0
  329. package/esm2022/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +173 -0
  330. package/esm2022/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +31 -0
  331. package/esm2022/lib/shared/pipes/complex/fields-filter.pipe.mjs +105 -0
  332. package/esm2022/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +16 -0
  333. package/esm2022/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +28 -0
  334. package/esm2022/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +28 -0
  335. package/esm2022/lib/shared/pipes/pipes.module.mjs +64 -0
  336. package/esm2022/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +24 -0
  337. package/esm2022/lib/shared/services/activity/activity.polling.service.mjs +122 -0
  338. package/esm2022/lib/shared/services/activity/activity.service.mjs +85 -0
  339. package/esm2022/lib/shared/services/addresses/address-parser.mjs +76 -0
  340. package/esm2022/lib/shared/services/addresses/addresses.service.mjs +65 -0
  341. package/esm2022/lib/shared/services/alert/alert.service.mjs +157 -0
  342. package/esm2022/lib/shared/services/auth/auth.service.mjs +35 -0
  343. package/esm2022/lib/shared/services/banners/banners.service.mjs +35 -0
  344. package/esm2022/lib/shared/services/browser/browser.service.mjs +24 -0
  345. package/esm2022/lib/shared/services/case-fields/case-field.service.mjs +34 -0
  346. package/esm2022/lib/shared/services/case-fields/format-translator.service.mjs +242 -0
  347. package/esm2022/lib/shared/services/case-file-view/case-file-view.service.mjs +48 -0
  348. package/esm2022/lib/shared/services/case-flag/case-flag-refdata.service.mjs +104 -0
  349. package/esm2022/lib/shared/services/common-data-service/common-data-service.mjs +29 -0
  350. package/esm2022/lib/shared/services/definitions/definitions.module.mjs +19 -0
  351. package/esm2022/lib/shared/services/definitions/definitions.service.mjs +32 -0
  352. package/esm2022/lib/shared/services/document-management/document-management.service.mjs +114 -0
  353. package/esm2022/lib/shared/services/draft/draft.service.mjs +89 -0
  354. package/esm2022/lib/shared/services/error/error-notifier.service.mjs +16 -0
  355. package/esm2022/lib/shared/services/eventStatusService/event-status.service.mjs +21 -0
  356. package/esm2022/lib/shared/services/fields/fields.purger.mjs +305 -0
  357. package/esm2022/lib/shared/services/fields/fields.utils.mjs +615 -0
  358. package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +102 -0
  359. package/esm2022/lib/shared/services/form/form-error.service.mjs +46 -0
  360. package/esm2022/lib/shared/services/form/form-validators.service.mjs +82 -0
  361. package/esm2022/lib/shared/services/form/form-value.service.mjs +552 -0
  362. package/esm2022/lib/shared/services/http/http-error.service.mjs +67 -0
  363. package/esm2022/lib/shared/services/http/http.service.mjs +95 -0
  364. package/esm2022/lib/shared/services/jurisdiction/jurisdiction.service.mjs +35 -0
  365. package/esm2022/lib/shared/services/loading/loading.module.mjs +22 -0
  366. package/esm2022/lib/shared/services/loading/loading.service.mjs +31 -0
  367. package/esm2022/lib/shared/services/navigation/navigation-notifier.service.mjs +16 -0
  368. package/esm2022/lib/shared/services/order/order.service.mjs +37 -0
  369. package/esm2022/lib/shared/services/organisation/organisation.service.mjs +57 -0
  370. package/esm2022/lib/shared/services/profile/profile.notifier.mjs +17 -0
  371. package/esm2022/lib/shared/services/profile/profile.service.mjs +36 -0
  372. package/esm2022/lib/shared/services/request/request.options.builder.mjs +61 -0
  373. package/esm2022/lib/shared/services/router/router-helper.service.mjs +20 -0
  374. package/esm2022/lib/shared/services/search/search.service.mjs +96 -0
  375. package/esm2022/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +71 -0
  376. package/esm2022/lib/shared/services/session/session-storage.service.mjs +34 -0
  377. package/esm2022/lib/shared/services/utils/retry/retry.service.mjs +87 -0
  378. package/esm2022/lib/shared/services/window/window.service.mjs +40 -0
  379. package/esm2022/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +57 -0
  380. package/esm2022/lib/shared/test/test-route-snapshot-builder.mjs +38 -0
  381. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +37101 -0
  382. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -0
  383. package/lib/app.config.d.ts +0 -4
  384. package/lib/app.config.d.ts.map +1 -1
  385. package/lib/components/banners/alert/alert.component.d.ts +1 -1
  386. package/lib/components/banners/notification-banner/notification-banner.component.d.ts +1 -1
  387. package/lib/components/footer/footer.component.d.ts +1 -1
  388. package/lib/components/form/date-input/date-input.component.d.ts +1 -1
  389. package/lib/components/header/header-bar/header-bar.component.d.ts +1 -1
  390. package/lib/components/header/navigation/navigation-item.component.d.ts +1 -1
  391. package/lib/components/header/navigation/navigation.component.d.ts +1 -1
  392. package/lib/components/header/phase/phase.component.d.ts +1 -1
  393. package/lib/components/tabs/tab.component.d.ts +1 -1
  394. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts +1 -1
  395. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts.map +1 -1
  396. package/lib/shared/components/activity/activity-banner/activity-banner.component.d.ts +1 -1
  397. package/lib/shared/components/activity/activity-icon/activity-icon.component.d.ts +1 -1
  398. package/lib/shared/components/activity/activity.component.d.ts +1 -1
  399. package/lib/shared/components/case-editor/case-create/case-create.component.d.ts +1 -1
  400. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +1 -1
  401. package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts +1 -1
  402. package/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.d.ts +1 -1
  403. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  404. package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts +1 -1
  405. package/lib/shared/components/case-editor/case-progress/case-progress.component.d.ts +1 -1
  406. package/lib/shared/components/case-header/case-header.component.d.ts +1 -1
  407. package/lib/shared/components/case-history/case-history.component.d.ts +1 -1
  408. package/lib/shared/components/case-list/case-list.component.d.ts +1 -1
  409. package/lib/shared/components/case-list-filters/case-list-filters.component.d.ts +1 -1
  410. package/lib/shared/components/case-timeline/case-timeline.component.d.ts +1 -1
  411. package/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.d.ts +1 -1
  412. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -1
  413. package/lib/shared/components/case-viewer/case-view/case-view.component.d.ts +1 -1
  414. package/lib/shared/components/case-viewer/case-viewer.component.d.ts +1 -1
  415. package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts +1 -1
  416. package/lib/shared/components/error/callback-errors.component.d.ts +1 -1
  417. package/lib/shared/components/error-message/error-message.component.d.ts +1 -1
  418. package/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.d.ts +1 -1
  419. package/lib/shared/components/event-start/components/task-conflict/task-conflict.component.d.ts +1 -1
  420. package/lib/shared/components/event-trigger/event-trigger.component.d.ts +1 -1
  421. package/lib/shared/components/loading-spinner/loading-spinner.component.d.ts +1 -1
  422. package/lib/shared/components/pagination/pagination.component.d.ts +1 -1
  423. package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
  424. package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts +1 -1
  425. package/lib/shared/components/palette/base-field/abstract-field-write.component.d.ts +1 -1
  426. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts +2 -2
  427. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  428. package/lib/shared/components/palette/base-field/field-read-label.component.d.ts +1 -1
  429. package/lib/shared/components/palette/base-field/field-read.component.d.ts +1 -1
  430. package/lib/shared/components/palette/base-field/field-write.component.d.ts +1 -1
  431. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +1 -8
  432. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
  433. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts +1 -1
  434. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +1 -1
  435. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +1 -1
  436. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +1 -1
  437. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +1 -1
  438. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +1 -1
  439. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +1 -1
  440. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +1 -1
  441. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +1 -1
  442. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +1 -1
  443. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +1 -1
  444. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +1 -1
  445. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +1 -1
  446. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +2 -2
  447. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  448. package/lib/shared/components/palette/complex/read-complex-field-raw.component.d.ts +1 -1
  449. package/lib/shared/components/palette/complex/read-complex-field-table.component.d.ts +1 -1
  450. package/lib/shared/components/palette/complex/read-complex-field.component.d.ts +1 -1
  451. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts +1 -1
  452. package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts +1 -1
  453. package/lib/shared/components/palette/history/event-log/event-log-details.component.d.ts +1 -1
  454. package/lib/shared/components/palette/history/event-log/event-log-table.component.d.ts +1 -1
  455. package/lib/shared/components/palette/history/event-log/event-log.component.d.ts +1 -1
  456. package/lib/shared/components/palette/label/label-field.component.d.ts +1 -1
  457. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +1 -1
  458. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +1 -1
  459. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +2 -2
  460. package/lib/shared/components/palette/markdown/markdown.component.d.ts +2 -4
  461. package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
  462. package/lib/shared/components/palette/money-gbp/money-gbp-input.component.d.ts +1 -1
  463. package/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.d.ts +1 -1
  464. package/lib/shared/components/palette/order-summary/read-order-summary-row.component.d.ts +1 -1
  465. package/lib/shared/components/palette/organisation/read-organisation-field-raw.component.d.ts +1 -1
  466. package/lib/shared/components/palette/organisation/read-organisation-field-table.component.d.ts +1 -1
  467. package/lib/shared/components/palette/organisation/read-organisation-field.component.d.ts +1 -1
  468. package/lib/shared/components/palette/organisation/write-organisation-complex-field.component.d.ts +1 -1
  469. package/lib/shared/components/palette/palette.module.d.ts +2 -2
  470. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  471. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +1 -1
  472. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +1 -1
  473. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +1 -1
  474. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +1 -1
  475. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +1 -1
  476. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +1 -1
  477. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +1 -1
  478. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +1 -1
  479. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +1 -1
  480. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +1 -1
  481. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +1 -1
  482. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +1 -1
  483. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -1
  484. package/lib/shared/components/search-filters/search-filters-wrapper.component.d.ts +1 -1
  485. package/lib/shared/components/search-filters/search-filters.component.d.ts +1 -1
  486. package/lib/shared/components/search-result/search-result.component.d.ts +1 -1
  487. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +1 -1
  488. package/lib/shared/directives/conditional-show/conditional-show-form.directive.d.ts +1 -1
  489. package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts +1 -1
  490. package/lib/shared/domain/alert/alert-level.model.d.ts +1 -1
  491. package/lib/shared/domain/alert/alert-level.model.d.ts.map +1 -1
  492. package/lib/shared/domain/case-view/access-types.model.d.ts +1 -1
  493. package/lib/shared/domain/case-view/access-types.model.d.ts.map +1 -1
  494. package/lib/shared/domain/case-view/role-request.model.d.ts +4 -4
  495. package/lib/shared/domain/case-view/role-request.model.d.ts.map +1 -1
  496. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  497. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  498. package/lib/shared/domain/predicate.model.d.ts +1 -1
  499. package/lib/shared/domain/predicate.model.d.ts.map +1 -1
  500. package/lib/shared/pipes/complex/fields-filter.pipe.d.ts.map +1 -1
  501. package/lib/shared/services/order/order.service.d.ts +2 -2
  502. package/lib/shared/services/order/order.service.d.ts.map +1 -1
  503. package/lib/shared/services/request/request.options.builder.d.ts +1 -1
  504. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  505. package/package.json +6 -12
  506. package/esm2020/lib/app.config.mjs +0 -46
  507. package/esm2020/lib/components/banners/alert/alert-icon-class.pipe.mjs +0 -25
  508. package/esm2020/lib/components/banners/alert/alert.component.mjs +0 -95
  509. package/esm2020/lib/components/banners/alert/alert.module.mjs +0 -32
  510. package/esm2020/lib/components/banners/banners.module.mjs +0 -32
  511. package/esm2020/lib/components/banners/notification-banner/notification-banner.component.mjs +0 -120
  512. package/esm2020/lib/components/banners/notification-banner/notification-banner.module.mjs +0 -19
  513. package/esm2020/lib/components/body/body.component.mjs +0 -20
  514. package/esm2020/lib/components/body/body.module.mjs +0 -20
  515. package/esm2020/lib/components/footer/footer.component.mjs +0 -105
  516. package/esm2020/lib/components/footer/footers.module.mjs +0 -25
  517. package/esm2020/lib/components/form/date-input/date-input.component.mjs +0 -331
  518. package/esm2020/lib/components/form/form.module.mjs +0 -29
  519. package/esm2020/lib/components/header/header-bar/header-bar.component.mjs +0 -97
  520. package/esm2020/lib/components/header/headers.module.mjs +0 -25
  521. package/esm2020/lib/components/header/navigation/navigation-item.component.mjs +0 -41
  522. package/esm2020/lib/components/header/navigation/navigation.component.mjs +0 -24
  523. package/esm2020/lib/components/header/phase/phase.component.mjs +0 -45
  524. package/esm2020/lib/components/tabs/tab.component.mjs +0 -28
  525. package/esm2020/lib/components/tabs/tabs.component.mjs +0 -79
  526. package/esm2020/lib/components/tabs/tabs.module.mjs +0 -38
  527. package/esm2020/lib/shared/commons/address-validation-constants.mjs +0 -13
  528. package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +0 -19
  529. package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +0 -47
  530. package/esm2020/lib/shared/commons/constants.mjs +0 -13
  531. package/esm2020/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +0 -39
  532. package/esm2020/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +0 -33
  533. package/esm2020/lib/shared/components/activity/activity.component.mjs +0 -151
  534. package/esm2020/lib/shared/components/activity/activity.module.mjs +0 -55
  535. package/esm2020/lib/shared/components/case-editor/case-access-utils/index.mjs +0 -105
  536. package/esm2020/lib/shared/components/case-editor/case-create/case-create.component.mjs +0 -87
  537. package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +0 -432
  538. package/esm2020/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +0 -125
  539. package/esm2020/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +0 -135
  540. package/esm2020/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +0 -69
  541. package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +0 -779
  542. package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +0 -587
  543. package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +0 -214
  544. package/esm2020/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +0 -86
  545. package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +0 -80
  546. package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +0 -153
  547. package/esm2020/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +0 -77
  548. package/esm2020/lib/shared/components/case-editor/domain/confirmation.model.mjs +0 -21
  549. package/esm2020/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.mjs +0 -4
  550. package/esm2020/lib/shared/components/case-editor/domain/wizard-page-field.model.mjs +0 -3
  551. package/esm2020/lib/shared/components/case-editor/domain/wizard-page.model.mjs +0 -26
  552. package/esm2020/lib/shared/components/case-editor/domain/wizard.model.mjs +0 -54
  553. package/esm2020/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +0 -93
  554. package/esm2020/lib/shared/components/case-editor/services/case-flag-state.service.mjs +0 -19
  555. package/esm2020/lib/shared/components/case-editor/services/case-worker.service.mjs +0 -32
  556. package/esm2020/lib/shared/components/case-editor/services/case.notifier.mjs +0 -51
  557. package/esm2020/lib/shared/components/case-editor/services/cases.service.mjs +0 -292
  558. package/esm2020/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +0 -41
  559. package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +0 -143
  560. package/esm2020/lib/shared/components/case-editor/services/event-trigger.service.mjs +0 -20
  561. package/esm2020/lib/shared/components/case-editor/services/judicial-worker.service.mjs +0 -32
  562. package/esm2020/lib/shared/components/case-editor/services/page-validation.service.mjs +0 -58
  563. package/esm2020/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +0 -39
  564. package/esm2020/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +0 -117
  565. package/esm2020/lib/shared/components/case-editor/services/work-allocation.service.mjs +0 -214
  566. package/esm2020/lib/shared/components/case-header/case-header.component.mjs +0 -61
  567. package/esm2020/lib/shared/components/case-header/case-header.module.mjs +0 -33
  568. package/esm2020/lib/shared/components/case-history/case-history.component.mjs +0 -242
  569. package/esm2020/lib/shared/components/case-history/case-history.module.mjs +0 -64
  570. package/esm2020/lib/shared/components/case-history/domain/case-history.model.mjs +0 -29
  571. package/esm2020/lib/shared/components/case-history/services/case-history.service.mjs +0 -40
  572. package/esm2020/lib/shared/components/case-list/case-list.component.mjs +0 -362
  573. package/esm2020/lib/shared/components/case-list/case-list.module.mjs +0 -47
  574. package/esm2020/lib/shared/components/case-list-filters/case-list-filters.component.mjs +0 -52
  575. package/esm2020/lib/shared/components/case-list-filters/case-list-filters.module.mjs +0 -64
  576. package/esm2020/lib/shared/components/case-timeline/case-timeline.component.mjs +0 -109
  577. package/esm2020/lib/shared/components/case-timeline/case-timeline.module.mjs +0 -52
  578. package/esm2020/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +0 -247
  579. package/esm2020/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +0 -298
  580. package/esm2020/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +0 -72
  581. package/esm2020/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +0 -141
  582. package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +0 -681
  583. package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +0 -58
  584. package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +0 -241
  585. package/esm2020/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +0 -199
  586. package/esm2020/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +0 -47
  587. package/esm2020/lib/shared/components/case-viewer/case-view/case-view.component.mjs +0 -98
  588. package/esm2020/lib/shared/components/case-viewer/case-viewer.component.mjs +0 -125
  589. package/esm2020/lib/shared/components/case-viewer/case-viewer.module.mjs +0 -191
  590. package/esm2020/lib/shared/components/case-viewer/printer/case-printer.component.mjs +0 -110
  591. package/esm2020/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +0 -60
  592. package/esm2020/lib/shared/components/case-viewer/services/case.resolver.mjs +0 -128
  593. package/esm2020/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +0 -64
  594. package/esm2020/lib/shared/components/create-case-filters/create-case-filters-selection.model.mjs +0 -8
  595. package/esm2020/lib/shared/components/create-case-filters/create-case-filters.component.mjs +0 -275
  596. package/esm2020/lib/shared/components/create-case-filters/create-case-filters.module.mjs +0 -44
  597. package/esm2020/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +0 -57
  598. package/esm2020/lib/shared/components/dialogs/dialogs.module.mjs +0 -51
  599. package/esm2020/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +0 -59
  600. package/esm2020/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +0 -57
  601. package/esm2020/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +0 -61
  602. package/esm2020/lib/shared/components/error/callback-errors.component.mjs +0 -148
  603. package/esm2020/lib/shared/components/error/domain/error-context.mjs +0 -3
  604. package/esm2020/lib/shared/components/error/errors.module.mjs +0 -33
  605. package/esm2020/lib/shared/components/error-message/error-message.component.mjs +0 -43
  606. package/esm2020/lib/shared/components/error-message/error-message.module.mjs +0 -41
  607. package/esm2020/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +0 -59
  608. package/esm2020/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +0 -53
  609. package/esm2020/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +0 -104
  610. package/esm2020/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +0 -68
  611. package/esm2020/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +0 -58
  612. package/esm2020/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +0 -53
  613. package/esm2020/lib/shared/components/event-start/event-guard/event-start.guard.mjs +0 -101
  614. package/esm2020/lib/shared/components/event-start/event-start.component.mjs +0 -49
  615. package/esm2020/lib/shared/components/event-start/event-start.module.mjs +0 -71
  616. package/esm2020/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +0 -29
  617. package/esm2020/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +0 -170
  618. package/esm2020/lib/shared/components/event-trigger/event-trigger.component.mjs +0 -111
  619. package/esm2020/lib/shared/components/event-trigger/event-trigger.module.mjs +0 -37
  620. package/esm2020/lib/shared/components/loading-spinner/loading-spinner.component.mjs +0 -27
  621. package/esm2020/lib/shared/components/loading-spinner/loading-spinner.module.mjs +0 -29
  622. package/esm2020/lib/shared/components/pagination/pagination.component.mjs +0 -262
  623. package/esm2020/lib/shared/components/pagination/pagination.module.mjs +0 -35
  624. package/esm2020/lib/shared/components/palette/address/address-option.model.mjs +0 -21
  625. package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +0 -280
  626. package/esm2020/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +0 -31
  627. package/esm2020/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +0 -44
  628. package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +0 -83
  629. package/esm2020/lib/shared/components/palette/base-field/field-read-label.component.mjs +0 -86
  630. package/esm2020/lib/shared/components/palette/base-field/field-read.component.mjs +0 -85
  631. package/esm2020/lib/shared/components/palette/base-field/field-write.component.mjs +0 -74
  632. package/esm2020/lib/shared/components/palette/base-field/payment-field.component.mjs +0 -35
  633. package/esm2020/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +0 -184
  634. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.mjs +0 -48
  635. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +0 -48
  636. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +0 -342
  637. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +0 -154
  638. package/esm2020/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +0 -94
  639. package/esm2020/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +0 -190
  640. package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +0 -288
  641. package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +0 -207
  642. package/esm2020/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +0 -165
  643. package/esm2020/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +0 -219
  644. package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +0 -306
  645. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +0 -200
  646. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +0 -343
  647. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +0 -267
  648. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +0 -510
  649. package/esm2020/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +0 -41
  650. package/esm2020/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +0 -41
  651. package/esm2020/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +0 -109
  652. package/esm2020/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +0 -77
  653. package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +0 -246
  654. package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +0 -686
  655. package/esm2020/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +0 -32
  656. package/esm2020/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +0 -122
  657. package/esm2020/lib/shared/components/palette/collection/collection-create-checker.service.mjs +0 -42
  658. package/esm2020/lib/shared/components/palette/collection/read-collection-field.component.mjs +0 -81
  659. package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +0 -441
  660. package/esm2020/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +0 -379
  661. package/esm2020/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +0 -53
  662. package/esm2020/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +0 -78
  663. package/esm2020/lib/shared/components/palette/complex/read-complex-field.component.mjs +0 -75
  664. package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +0 -169
  665. package/esm2020/lib/shared/components/palette/date/read-date-field.component.mjs +0 -28
  666. package/esm2020/lib/shared/components/palette/date/write-date-container-field.component.mjs +0 -33
  667. package/esm2020/lib/shared/components/palette/date/write-date-field.component.mjs +0 -76
  668. package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +0 -309
  669. package/esm2020/lib/shared/components/palette/document/document-url.pipe.mjs +0 -24
  670. package/esm2020/lib/shared/components/palette/document/file-upload-progress.guard.mjs +0 -29
  671. package/esm2020/lib/shared/components/palette/document/file-upload-state.service.mjs +0 -16
  672. package/esm2020/lib/shared/components/palette/document/read-document-field.component.mjs +0 -81
  673. package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +0 -408
  674. package/esm2020/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +0 -18
  675. package/esm2020/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +0 -36
  676. package/esm2020/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +0 -124
  677. package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +0 -43
  678. package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +0 -145
  679. package/esm2020/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +0 -25
  680. package/esm2020/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +0 -42
  681. package/esm2020/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +0 -124
  682. package/esm2020/lib/shared/components/palette/email/read-email-field.component.mjs +0 -35
  683. package/esm2020/lib/shared/components/palette/email/write-email-field.component.mjs +0 -73
  684. package/esm2020/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +0 -23
  685. package/esm2020/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +0 -26
  686. package/esm2020/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +0 -106
  687. package/esm2020/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +0 -18
  688. package/esm2020/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +0 -26
  689. package/esm2020/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +0 -95
  690. package/esm2020/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +0 -16
  691. package/esm2020/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +0 -97
  692. package/esm2020/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +0 -225
  693. package/esm2020/lib/shared/components/palette/history/event-log/event-log.component.mjs +0 -72
  694. package/esm2020/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +0 -45
  695. package/esm2020/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +0 -242
  696. package/esm2020/lib/shared/components/palette/label/label-field.component.mjs +0 -50
  697. package/esm2020/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +0 -108
  698. package/esm2020/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +0 -189
  699. package/esm2020/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +0 -530
  700. package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +0 -204
  701. package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +0 -280
  702. package/esm2020/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +0 -66
  703. package/esm2020/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +0 -201
  704. package/esm2020/lib/shared/components/palette/linked-cases/domain/linked-cases.model.mjs +0 -22
  705. package/esm2020/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +0 -163
  706. package/esm2020/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +0 -132
  707. package/esm2020/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +0 -27
  708. package/esm2020/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +0 -229
  709. package/esm2020/lib/shared/components/palette/markdown/markdown-component.module.mjs +0 -49
  710. package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +0 -78
  711. package/esm2020/lib/shared/components/palette/markdown/routerlink.component.mjs +0 -23
  712. package/esm2020/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +0 -123
  713. package/esm2020/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +0 -47
  714. package/esm2020/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +0 -78
  715. package/esm2020/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +0 -45
  716. package/esm2020/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +0 -126
  717. package/esm2020/lib/shared/components/palette/number/read-number-field.component.mjs +0 -24
  718. package/esm2020/lib/shared/components/palette/number/write-number-field.component.mjs +0 -73
  719. package/esm2020/lib/shared/components/palette/order-summary/fee-value.model.mjs +0 -3
  720. package/esm2020/lib/shared/components/palette/order-summary/fee.model.mjs +0 -4
  721. package/esm2020/lib/shared/components/palette/order-summary/order-summary.model.mjs +0 -3
  722. package/esm2020/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +0 -73
  723. package/esm2020/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +0 -43
  724. package/esm2020/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +0 -44
  725. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +0 -83
  726. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +0 -87
  727. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +0 -56
  728. package/esm2020/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +0 -33
  729. package/esm2020/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +0 -384
  730. package/esm2020/lib/shared/components/palette/palette.module.mjs +0 -738
  731. package/esm2020/lib/shared/components/palette/palette.service.mjs +0 -155
  732. package/esm2020/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +0 -24
  733. package/esm2020/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +0 -22
  734. package/esm2020/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +0 -73
  735. package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +0 -42
  736. package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +0 -144
  737. package/esm2020/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +0 -64
  738. package/esm2020/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +0 -60
  739. package/esm2020/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +0 -281
  740. package/esm2020/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +0 -327
  741. package/esm2020/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +0 -22
  742. package/esm2020/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +0 -164
  743. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +0 -74
  744. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +0 -107
  745. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +0 -201
  746. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +0 -101
  747. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +0 -21
  748. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +0 -38
  749. package/esm2020/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +0 -121
  750. package/esm2020/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +0 -22
  751. package/esm2020/lib/shared/components/palette/text/read-text-field.component.mjs +0 -24
  752. package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +0 -77
  753. package/esm2020/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +0 -24
  754. package/esm2020/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +0 -87
  755. package/esm2020/lib/shared/components/palette/unsupported-field.component.mjs +0 -17
  756. package/esm2020/lib/shared/components/palette/utils/dash.pipe.mjs +0 -16
  757. package/esm2020/lib/shared/components/palette/utils/date.pipe.mjs +0 -132
  758. package/esm2020/lib/shared/components/palette/utils/field-label.pipe.mjs +0 -29
  759. package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +0 -62
  760. package/esm2020/lib/shared/components/palette/utils/is-compound.pipe.mjs +0 -43
  761. package/esm2020/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +0 -21
  762. package/esm2020/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +0 -31
  763. package/esm2020/lib/shared/components/palette/utils/is-read-only.pipe.mjs +0 -21
  764. package/esm2020/lib/shared/components/palette/utils/utils.module.mjs +0 -71
  765. package/esm2020/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +0 -34
  766. package/esm2020/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +0 -34
  767. package/esm2020/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +0 -100
  768. package/esm2020/lib/shared/components/palette/yes-no/yes-no.service.mjs +0 -50
  769. package/esm2020/lib/shared/components/search-filters/domain/search-input.model.mjs +0 -10
  770. package/esm2020/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +0 -58
  771. package/esm2020/lib/shared/components/search-filters/search-filters.component.mjs +0 -326
  772. package/esm2020/lib/shared/components/search-filters/search-filters.module.mjs +0 -71
  773. package/esm2020/lib/shared/components/search-result/search-result.component.mjs +0 -815
  774. package/esm2020/lib/shared/components/search-result/search-result.module.mjs +0 -82
  775. package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +0 -479
  776. package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +0 -67
  777. package/esm2020/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +0 -164
  778. package/esm2020/lib/shared/directives/conditional-show/conditional-show.module.mjs +0 -33
  779. package/esm2020/lib/shared/directives/conditional-show/domain/conditional-show.model.mjs +0 -200
  780. package/esm2020/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +0 -200
  781. package/esm2020/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +0 -19
  782. package/esm2020/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +0 -47
  783. package/esm2020/lib/shared/directives/focus-element/focus-element.directive.mjs +0 -36
  784. package/esm2020/lib/shared/directives/focus-element/focus-element.module.mjs +0 -21
  785. package/esm2020/lib/shared/directives/substitutor/label-substitutor.directive.mjs +0 -82
  786. package/esm2020/lib/shared/directives/substitutor/label-substitutor.module.mjs +0 -30
  787. package/esm2020/lib/shared/directives/substitutor/services/placeholder.service.mjs +0 -200
  788. package/esm2020/lib/shared/domain/activity/activity.model.mjs +0 -10
  789. package/esm2020/lib/shared/domain/addresses/address.model.mjs +0 -13
  790. package/esm2020/lib/shared/domain/alert/alert.model.mjs +0 -3
  791. package/esm2020/lib/shared/domain/case-details.model.mjs +0 -4
  792. package/esm2020/lib/shared/domain/case-event-data.model.mjs +0 -4
  793. package/esm2020/lib/shared/domain/case-file-view/case-file-view-category.model.mjs +0 -3
  794. package/esm2020/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +0 -4
  795. package/esm2020/lib/shared/domain/case-file-view/categories-and-documents.model.mjs +0 -7
  796. package/esm2020/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +0 -117
  797. package/esm2020/lib/shared/domain/case-flag/flag-type.model.mjs +0 -28
  798. package/esm2020/lib/shared/domain/case-flag/hmcts-service-detail.model.mjs +0 -10
  799. package/esm2020/lib/shared/domain/case-view/case-event-trigger.model.mjs +0 -23
  800. package/esm2020/lib/shared/domain/case-view/case-print-document.model.mjs +0 -3
  801. package/esm2020/lib/shared/domain/case-view/case-tab.model.mjs +0 -12
  802. package/esm2020/lib/shared/domain/case-view/case-view-event.model.mjs +0 -4
  803. package/esm2020/lib/shared/domain/case-view/case-view-trigger.model.mjs +0 -3
  804. package/esm2020/lib/shared/domain/case-view/case-view.model.mjs +0 -17
  805. package/esm2020/lib/shared/domain/definition/access-control-list.model.mjs +0 -3
  806. package/esm2020/lib/shared/domain/definition/banner.model.mjs +0 -3
  807. package/esm2020/lib/shared/domain/definition/case-event.model.mjs +0 -3
  808. package/esm2020/lib/shared/domain/definition/case-field.model.mjs +0 -200
  809. package/esm2020/lib/shared/domain/definition/case-state.model.mjs +0 -3
  810. package/esm2020/lib/shared/domain/definition/case-type-lite.model.mjs +0 -5
  811. package/esm2020/lib/shared/domain/definition/case-type.model.mjs +0 -12
  812. package/esm2020/lib/shared/domain/definition/event-case-field.model.mjs +0 -4
  813. package/esm2020/lib/shared/domain/definition/field-type.model.mjs +0 -22
  814. package/esm2020/lib/shared/domain/definition/fixed-list-item.model.mjs +0 -3
  815. package/esm2020/lib/shared/domain/definition/jurisdiction.model.mjs +0 -3
  816. package/esm2020/lib/shared/domain/document/document-data.model.mjs +0 -14
  817. package/esm2020/lib/shared/domain/draft.model.mjs +0 -11
  818. package/esm2020/lib/shared/domain/http/http-error.model.mjs +0 -40
  819. package/esm2020/lib/shared/domain/organisation/organisation-converter.mjs +0 -42
  820. package/esm2020/lib/shared/domain/pagination-metadata.model.mjs +0 -3
  821. package/esm2020/lib/shared/domain/profile/profile.model.mjs +0 -29
  822. package/esm2020/lib/shared/domain/search/field.model.mjs +0 -11
  823. package/esm2020/lib/shared/domain/search/search-result-view-column.model.mjs +0 -3
  824. package/esm2020/lib/shared/domain/search/search-result-view-item.model.mjs +0 -12
  825. package/esm2020/lib/shared/domain/search/search-result-view.model.mjs +0 -23
  826. package/esm2020/lib/shared/domain/search/sorting/sort-parameters.mjs +0 -7
  827. package/esm2020/lib/shared/domain/workbasket/workbasket-input.model.mjs +0 -5
  828. package/esm2020/lib/shared/fixture/case-field-builder.mjs +0 -69
  829. package/esm2020/lib/shared/pipes/case-reference/case-reference.pipe.mjs +0 -33
  830. package/esm2020/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +0 -29
  831. package/esm2020/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +0 -32
  832. package/esm2020/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +0 -29
  833. package/esm2020/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +0 -39
  834. package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +0 -173
  835. package/esm2020/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +0 -31
  836. package/esm2020/lib/shared/pipes/complex/fields-filter.pipe.mjs +0 -105
  837. package/esm2020/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +0 -16
  838. package/esm2020/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +0 -27
  839. package/esm2020/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +0 -27
  840. package/esm2020/lib/shared/pipes/pipes.module.mjs +0 -64
  841. package/esm2020/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +0 -24
  842. package/esm2020/lib/shared/services/activity/activity.polling.service.mjs +0 -114
  843. package/esm2020/lib/shared/services/activity/activity.service.mjs +0 -82
  844. package/esm2020/lib/shared/services/addresses/address-parser.mjs +0 -76
  845. package/esm2020/lib/shared/services/addresses/addresses.service.mjs +0 -63
  846. package/esm2020/lib/shared/services/alert/alert.service.mjs +0 -142
  847. package/esm2020/lib/shared/services/auth/auth.service.mjs +0 -33
  848. package/esm2020/lib/shared/services/banners/banners.service.mjs +0 -33
  849. package/esm2020/lib/shared/services/browser/browser.service.mjs +0 -24
  850. package/esm2020/lib/shared/services/case-fields/case-field.service.mjs +0 -34
  851. package/esm2020/lib/shared/services/case-fields/format-translator.service.mjs +0 -242
  852. package/esm2020/lib/shared/services/case-file-view/case-file-view.service.mjs +0 -46
  853. package/esm2020/lib/shared/services/case-flag/case-flag-refdata.service.mjs +0 -102
  854. package/esm2020/lib/shared/services/common-data-service/common-data-service.mjs +0 -28
  855. package/esm2020/lib/shared/services/definitions/definitions.module.mjs +0 -19
  856. package/esm2020/lib/shared/services/definitions/definitions.service.mjs +0 -30
  857. package/esm2020/lib/shared/services/document-management/document-management.service.mjs +0 -112
  858. package/esm2020/lib/shared/services/draft/draft.service.mjs +0 -86
  859. package/esm2020/lib/shared/services/error/error-notifier.service.mjs +0 -18
  860. package/esm2020/lib/shared/services/eventStatusService/event-status.service.mjs +0 -21
  861. package/esm2020/lib/shared/services/fields/fields.purger.mjs +0 -304
  862. package/esm2020/lib/shared/services/fields/fields.utils.mjs +0 -615
  863. package/esm2020/lib/shared/services/form/field-type-sanitiser.mjs +0 -102
  864. package/esm2020/lib/shared/services/form/form-error.service.mjs +0 -46
  865. package/esm2020/lib/shared/services/form/form-validators.service.mjs +0 -82
  866. package/esm2020/lib/shared/services/form/form-value.service.mjs +0 -551
  867. package/esm2020/lib/shared/services/http/http-error.service.mjs +0 -65
  868. package/esm2020/lib/shared/services/http/http.service.mjs +0 -93
  869. package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +0 -33
  870. package/esm2020/lib/shared/services/loading/loading.module.mjs +0 -22
  871. package/esm2020/lib/shared/services/loading/loading.service.mjs +0 -33
  872. package/esm2020/lib/shared/services/navigation/navigation-notifier.service.mjs +0 -18
  873. package/esm2020/lib/shared/services/order/order.service.mjs +0 -39
  874. package/esm2020/lib/shared/services/organisation/organisation.service.mjs +0 -54
  875. package/esm2020/lib/shared/services/profile/profile.notifier.mjs +0 -19
  876. package/esm2020/lib/shared/services/profile/profile.service.mjs +0 -34
  877. package/esm2020/lib/shared/services/request/request.options.builder.mjs +0 -61
  878. package/esm2020/lib/shared/services/router/router-helper.service.mjs +0 -20
  879. package/esm2020/lib/shared/services/search/search.service.mjs +0 -89
  880. package/esm2020/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +0 -71
  881. package/esm2020/lib/shared/services/session/session-storage.service.mjs +0 -34
  882. package/esm2020/lib/shared/services/utils/retry/retry.service.mjs +0 -86
  883. package/esm2020/lib/shared/services/window/window.service.mjs +0 -40
  884. package/esm2020/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +0 -53
  885. package/esm2020/lib/shared/test/test-route-snapshot-builder.mjs +0 -40
  886. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +0 -38777
  887. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +0 -1
  888. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +0 -35799
  889. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +0 -1
  890. /package/{esm2020 → esm2022}/hmcts-ccd-case-ui-toolkit.mjs +0 -0
  891. /package/{esm2020 → esm2022}/lib/components/banners/alert/index.mjs +0 -0
  892. /package/{esm2020 → esm2022}/lib/components/banners/index.mjs +0 -0
  893. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/domain/index.mjs +0 -0
  894. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/domain/notification-banner-config.model.mjs +0 -0
  895. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/index.mjs +0 -0
  896. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/notification-banner-style.enum.mjs +0 -0
  897. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/notification-banner-type.enum.mjs +0 -0
  898. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/index.mjs +0 -0
  899. /package/{esm2020 → esm2022}/lib/components/body/index.mjs +0 -0
  900. /package/{esm2020 → esm2022}/lib/components/footer/index.mjs +0 -0
  901. /package/{esm2020 → esm2022}/lib/components/form/date-input/index.mjs +0 -0
  902. /package/{esm2020 → esm2022}/lib/components/form/index.mjs +0 -0
  903. /package/{esm2020 → esm2022}/lib/components/header/header-bar/index.mjs +0 -0
  904. /package/{esm2020 → esm2022}/lib/components/header/index.mjs +0 -0
  905. /package/{esm2020 → esm2022}/lib/components/header/navigation/index.mjs +0 -0
  906. /package/{esm2020 → esm2022}/lib/components/header/phase/index.mjs +0 -0
  907. /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
  908. /package/{esm2020 → esm2022}/lib/components/tabs/index.mjs +0 -0
  909. /package/{esm2020 → esm2022}/lib/shared/commons/case-edit-data/case-edit-validation.model.mjs +0 -0
  910. /package/{esm2020 → esm2022}/lib/shared/commons/case-edit-data/index.mjs +0 -0
  911. /package/{esm2020 → esm2022}/lib/shared/components/activity/activity-banner/index.mjs +0 -0
  912. /package/{esm2020 → esm2022}/lib/shared/components/activity/activity-icon/index.mjs +0 -0
  913. /package/{esm2020 → esm2022}/lib/shared/components/activity/index.mjs +0 -0
  914. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-create/index.mjs +0 -0
  915. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit/index.mjs +0 -0
  916. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-confirm/index.mjs +0 -0
  917. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-form/index.mjs +0 -0
  918. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-page/index.mjs +0 -0
  919. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.mjs +0 -0
  920. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-submit/index.mjs +0 -0
  921. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-event-completion/index.mjs +0 -0
  922. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-progress/index.mjs +0 -0
  923. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-params.model.mjs +0 -0
  924. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-portal-types.model.mjs +0 -0
  925. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-return-states.enum.model.mjs +0 -0
  926. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-state-machine-context.model.mjs +0 -0
  927. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-states.enum.model.mjs +0 -0
  928. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/index.mjs +0 -0
  929. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/editor.routing.mjs +0 -0
  930. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/index.mjs +0 -0
  931. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/services/index.mjs +0 -0
  932. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/services/wizard-factory.service.mjs +0 -0
  933. /package/{esm2020 → esm2022}/lib/shared/components/case-header/index.mjs +0 -0
  934. /package/{esm2020 → esm2022}/lib/shared/components/case-history/index.mjs +0 -0
  935. /package/{esm2020 → esm2022}/lib/shared/components/case-list/index.mjs +0 -0
  936. /package/{esm2020 → esm2022}/lib/shared/components/case-list-filters/index.mjs +0 -0
  937. /package/{esm2020 → esm2022}/lib/shared/components/case-timeline/index.mjs +0 -0
  938. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-basic-access-view/index.mjs +0 -0
  939. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/index.mjs +0 -0
  940. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/models/case-challenged-access-request.enum.mjs +0 -0
  941. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/models/index.mjs +0 -0
  942. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-success/index.mjs +0 -0
  943. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-event-trigger/index.mjs +0 -0
  944. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-full-access-view/index.mjs +0 -0
  945. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-reject/index.mjs +0 -0
  946. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/index.mjs +0 -0
  947. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/models/case-review-specific-access-request.enum.mjs +0 -0
  948. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/models/index.mjs +0 -0
  949. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/index.mjs +0 -0
  950. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/models/case-specific-access-request.enum.mjs +0 -0
  951. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/models/index.mjs +0 -0
  952. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-success/index.mjs +0 -0
  953. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-view/index.mjs +0 -0
  954. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/index.mjs +0 -0
  955. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/printer/index.mjs +0 -0
  956. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/printer/pipes/index.mjs +0 -0
  957. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/services/index.mjs +0 -0
  958. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/viewer.routing.mjs +0 -0
  959. /package/{esm2020 → esm2022}/lib/shared/components/create-case-filters/index.mjs +0 -0
  960. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/delete-or-cancel-dialog/index.mjs +0 -0
  961. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/document-dialog/index.mjs +0 -0
  962. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/index.mjs +0 -0
  963. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/remove-dialog/index.mjs +0 -0
  964. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/save-or-discard-dialog/index.mjs +0 -0
  965. /package/{esm2020 → esm2022}/lib/shared/components/error/domain/index.mjs +0 -0
  966. /package/{esm2020 → esm2022}/lib/shared/components/error/index.mjs +0 -0
  967. /package/{esm2020 → esm2022}/lib/shared/components/error-message/index.mjs +0 -0
  968. /package/{esm2020 → esm2022}/lib/shared/components/event-start/index.mjs +0 -0
  969. /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/event-start-state-machine-context.model.mjs +0 -0
  970. /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/event-start-states-enum.model.mjs +0 -0
  971. /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/index.mjs +0 -0
  972. /package/{esm2020 → esm2022}/lib/shared/components/event-start/services/index.mjs +0 -0
  973. /package/{esm2020 → esm2022}/lib/shared/components/event-trigger/index.mjs +0 -0
  974. /package/{esm2020 → esm2022}/lib/shared/components/helpers/index.mjs +0 -0
  975. /package/{esm2020 → esm2022}/lib/shared/components/helpers/init-dialog-helper.mjs +0 -0
  976. /package/{esm2020 → esm2022}/lib/shared/components/index.mjs +0 -0
  977. /package/{esm2020 → esm2022}/lib/shared/components/loading-spinner/index.mjs +0 -0
  978. /package/{esm2020 → esm2022}/lib/shared/components/pagination/index.mjs +0 -0
  979. /package/{esm2020 → esm2022}/lib/shared/components/palette/address/index.mjs +0 -0
  980. /package/{esm2020 → esm2022}/lib/shared/components/palette/base-field/index.mjs +0 -0
  981. /package/{esm2020 → esm2022}/lib/shared/components/palette/base-field/palette-context.enum.mjs +0 -0
  982. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/index.mjs +0 -0
  983. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.mjs +0 -0
  984. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/shared/index.mjs +0 -0
  985. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/index.mjs +0 -0
  986. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +0 -0
  987. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/components/index.mjs +0 -0
  988. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.mjs +0 -0
  989. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/case-flag-state.model.mjs +0 -0
  990. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/case-flag.model.mjs +0 -0
  991. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/index.mjs +0 -0
  992. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/language.model.mjs +0 -0
  993. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.mjs +0 -0
  994. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.mjs +0 -0
  995. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.mjs +0 -0
  996. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.mjs +0 -0
  997. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.mjs +0 -0
  998. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.mjs +0 -0
  999. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-summary-list-display-mode.enum.mjs +0 -0
  1000. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.mjs +0 -0
  1001. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.mjs +0 -0
  1002. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.mjs +0 -0
  1003. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/index.mjs +0 -0
  1004. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/search-language-interpreter-error-message.enum.mjs +0 -0
  1005. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/search-language-interpreter-step.enum.mjs +0 -0
  1006. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.mjs +0 -0
  1007. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-location-error-message.enum.mjs +0 -0
  1008. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.mjs +0 -0
  1009. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.mjs +0 -0
  1010. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.mjs +0 -0
  1011. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.mjs +0 -0
  1012. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.mjs +0 -0
  1013. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.mjs +0 -0
  1014. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/index.mjs +0 -0
  1015. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/pipes/index.mjs +0 -0
  1016. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-link/index.mjs +0 -0
  1017. /package/{esm2020 → esm2022}/lib/shared/components/palette/collection/index.mjs +0 -0
  1018. /package/{esm2020 → esm2022}/lib/shared/components/palette/complex/index.mjs +0 -0
  1019. /package/{esm2020 → esm2022}/lib/shared/components/palette/complex/sort-order.mjs +0 -0
  1020. /package/{esm2020 → esm2022}/lib/shared/components/palette/date/index.mjs +0 -0
  1021. /package/{esm2020 → esm2022}/lib/shared/components/palette/datetime-picker/datetime-picker-utils.mjs +0 -0
  1022. /package/{esm2020 → esm2022}/lib/shared/components/palette/datetime-picker/index.mjs +0 -0
  1023. /package/{esm2020 → esm2022}/lib/shared/components/palette/document/index.mjs +0 -0
  1024. /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-list/index.mjs +0 -0
  1025. /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-multi-select-list/index.mjs +0 -0
  1026. /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-radio-list/index.mjs +0 -0
  1027. /package/{esm2020 → esm2022}/lib/shared/components/palette/email/index.mjs +0 -0
  1028. /package/{esm2020 → esm2022}/lib/shared/components/palette/fixed-list/index.mjs +0 -0
  1029. /package/{esm2020 → esm2022}/lib/shared/components/palette/fixed-radio-list/index.mjs +0 -0
  1030. /package/{esm2020 → esm2022}/lib/shared/components/palette/history/event-log/index.mjs +0 -0
  1031. /package/{esm2020 → esm2022}/lib/shared/components/palette/history/index.mjs +0 -0
  1032. /package/{esm2020 → esm2022}/lib/shared/components/palette/index.mjs +0 -0
  1033. /package/{esm2020 → esm2022}/lib/shared/components/palette/judicial-user/index.mjs +0 -0
  1034. /package/{esm2020 → esm2022}/lib/shared/components/palette/label/index.mjs +0 -0
  1035. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/components/index.mjs +0 -0
  1036. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/domain/index.mjs +0 -0
  1037. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.mjs +0 -0
  1038. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/enums/index.mjs +0 -0
  1039. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.mjs +0 -0
  1040. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/index.mjs +0 -0
  1041. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/services/index.mjs +0 -0
  1042. /package/{esm2020 → esm2022}/lib/shared/components/palette/markdown/index.mjs +0 -0
  1043. /package/{esm2020 → esm2022}/lib/shared/components/palette/money-gbp/index.mjs +0 -0
  1044. /package/{esm2020 → esm2022}/lib/shared/components/palette/multi-select-list/index.mjs +0 -0
  1045. /package/{esm2020 → esm2022}/lib/shared/components/palette/number/index.mjs +0 -0
  1046. /package/{esm2020 → esm2022}/lib/shared/components/palette/order-summary/index.mjs +0 -0
  1047. /package/{esm2020 → esm2022}/lib/shared/components/palette/organisation/index.mjs +0 -0
  1048. /package/{esm2020 → esm2022}/lib/shared/components/palette/payment/index.mjs +0 -0
  1049. /package/{esm2020 → esm2022}/lib/shared/components/palette/phone-uk/index.mjs +0 -0
  1050. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/__mocks__/index.mjs +0 -0
  1051. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/components/index.mjs +0 -0
  1052. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/index.mjs +0 -0
  1053. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.mjs +0 -0
  1054. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +0 -0
  1055. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.mjs +0 -0
  1056. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.mjs +0 -0
  1057. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/index.mjs +0 -0
  1058. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +0 -0
  1059. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/index.mjs +0 -0
  1060. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.mjs +0 -0
  1061. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.mjs +0 -0
  1062. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/query-create-context.enum.mjs +0 -0
  1063. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.mjs +0 -0
  1064. /package/{esm2020 → esm2022}/lib/shared/components/palette/text/index.mjs +0 -0
  1065. /package/{esm2020 → esm2022}/lib/shared/components/palette/text-area/index.mjs +0 -0
  1066. /package/{esm2020 → esm2022}/lib/shared/components/palette/utils/index.mjs +0 -0
  1067. /package/{esm2020 → esm2022}/lib/shared/components/palette/waystopay/index.mjs +0 -0
  1068. /package/{esm2020 → esm2022}/lib/shared/components/palette/yes-no/index.mjs +0 -0
  1069. /package/{esm2020 → esm2022}/lib/shared/components/search-filters/domain/index.mjs +0 -0
  1070. /package/{esm2020 → esm2022}/lib/shared/components/search-filters/index.mjs +0 -0
  1071. /package/{esm2020 → esm2022}/lib/shared/components/search-result/index.mjs +0 -0
  1072. /package/{esm2020 → esm2022}/lib/shared/components/workbasket-filters/index.mjs +0 -0
  1073. /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/domain/index.mjs +0 -0
  1074. /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/index.mjs +0 -0
  1075. /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/services/condition.peg.mjs +0 -0
  1076. /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/services/index.mjs +0 -0
  1077. /package/{esm2020 → esm2022}/lib/shared/directives/focus-element/index.mjs +0 -0
  1078. /package/{esm2020 → esm2022}/lib/shared/directives/index.mjs +0 -0
  1079. /package/{esm2020 → esm2022}/lib/shared/directives/substitutor/index.mjs +0 -0
  1080. /package/{esm2020 → esm2022}/lib/shared/directives/substitutor/services/index.mjs +0 -0
  1081. /package/{esm2020 → esm2022}/lib/shared/domain/activity/index.mjs +0 -0
  1082. /package/{esm2020 → esm2022}/lib/shared/domain/addresses/index.mjs +0 -0
  1083. /package/{esm2020 → esm2022}/lib/shared/domain/alert/alert-level.model.mjs +0 -0
  1084. /package/{esm2020 → esm2022}/lib/shared/domain/alert/alert-status-params.model.mjs +0 -0
  1085. /package/{esm2020 → esm2022}/lib/shared/domain/alert/index.mjs +0 -0
  1086. /package/{esm2020 → esm2022}/lib/shared/domain/case-edit/case-edit.model.mjs +0 -0
  1087. /package/{esm2020 → esm2022}/lib/shared/domain/case-edit/index.mjs +0 -0
  1088. /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.mjs +0 -0
  1089. /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.mjs +0 -0
  1090. /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/index.mjs +0 -0
  1091. /package/{esm2020 → esm2022}/lib/shared/domain/case-flag/index.mjs +0 -0
  1092. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/access-types.model.mjs +0 -0
  1093. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/case-view-event-ids.enum.mjs +0 -0
  1094. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/challenged-access-request.model.mjs +0 -0
  1095. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/index.mjs +0 -0
  1096. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/review-specific-access-request.model.mjs +0 -0
  1097. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/role-assignment-response.model.mjs +0 -0
  1098. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/role-request.model.mjs +0 -0
  1099. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/service-org-response.model.mjs +0 -0
  1100. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/specific-access-request.model.mjs +0 -0
  1101. /package/{esm2020 → esm2022}/lib/shared/domain/definition/display-context-enum.model.mjs +0 -0
  1102. /package/{esm2020 → esm2022}/lib/shared/domain/definition/field-type-enum.model.mjs +0 -0
  1103. /package/{esm2020 → esm2022}/lib/shared/domain/definition/index.mjs +0 -0
  1104. /package/{esm2020 → esm2022}/lib/shared/domain/document/index.mjs +0 -0
  1105. /package/{esm2020 → esm2022}/lib/shared/domain/error-message.model.mjs +0 -0
  1106. /package/{esm2020 → esm2022}/lib/shared/domain/http/index.mjs +0 -0
  1107. /package/{esm2020 → esm2022}/lib/shared/domain/index.mjs +0 -0
  1108. /package/{esm2020 → esm2022}/lib/shared/domain/jurisdiction/index.mjs +0 -0
  1109. /package/{esm2020 → esm2022}/lib/shared/domain/jurisdiction/judicial-user.model.mjs +0 -0
  1110. /package/{esm2020 → esm2022}/lib/shared/domain/order/index.mjs +0 -0
  1111. /package/{esm2020 → esm2022}/lib/shared/domain/order/orderable.model.mjs +0 -0
  1112. /package/{esm2020 → esm2022}/lib/shared/domain/organisation/index.mjs +0 -0
  1113. /package/{esm2020 → esm2022}/lib/shared/domain/organisation/simple-organisation.model.mjs +0 -0
  1114. /package/{esm2020 → esm2022}/lib/shared/domain/predicate.model.mjs +0 -0
  1115. /package/{esm2020 → esm2022}/lib/shared/domain/profile/index.mjs +0 -0
  1116. /package/{esm2020 → esm2022}/lib/shared/domain/search/index.mjs +0 -0
  1117. /package/{esm2020 → esm2022}/lib/shared/domain/search/sorting/search-result-view-item-comparator.mjs +0 -0
  1118. /package/{esm2020 → esm2022}/lib/shared/domain/sort-order.enum.mjs +0 -0
  1119. /package/{esm2020 → esm2022}/lib/shared/domain/user/user-details.model.mjs +0 -0
  1120. /package/{esm2020 → esm2022}/lib/shared/domain/user/user-info.model.mjs +0 -0
  1121. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/Task.mjs +0 -0
  1122. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/TaskPayload.mjs +0 -0
  1123. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/case-worker.model.mjs +0 -0
  1124. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/index.mjs +0 -0
  1125. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/judicial-worker.model.mjs +0 -0
  1126. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/task-response.model.mjs +0 -0
  1127. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/task-search-parameter.model.mjs +0 -0
  1128. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/wa-service-config.model.mjs +0 -0
  1129. /package/{esm2020 → esm2022}/lib/shared/domain/workbasket/index.mjs +0 -0
  1130. /package/{esm2020 → esm2022}/lib/shared/fixture/shared.test.fixture.mjs +0 -0
  1131. /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
  1132. /package/{esm2020 → esm2022}/lib/shared/pipes/case-reference/index.mjs +0 -0
  1133. /package/{esm2020 → esm2022}/lib/shared/pipes/case-title/index.mjs +0 -0
  1134. /package/{esm2020 → esm2022}/lib/shared/pipes/complex/index.mjs +0 -0
  1135. /package/{esm2020 → esm2022}/lib/shared/pipes/generic/index.mjs +0 -0
  1136. /package/{esm2020 → esm2022}/lib/shared/pipes/index.mjs +0 -0
  1137. /package/{esm2020 → esm2022}/lib/shared/pipes/link-cases-from-reason-code/index.mjs +0 -0
  1138. /package/{esm2020 → esm2022}/lib/shared/pipes/link-cases-reason-code/index.mjs +0 -0
  1139. /package/{esm2020 → esm2022}/lib/shared/services/activity/index.mjs +0 -0
  1140. /package/{esm2020 → esm2022}/lib/shared/services/addresses/address-type.enum.mjs +0 -0
  1141. /package/{esm2020 → esm2022}/lib/shared/services/addresses/index.mjs +0 -0
  1142. /package/{esm2020 → esm2022}/lib/shared/services/alert/index.mjs +0 -0
  1143. /package/{esm2020 → esm2022}/lib/shared/services/auth/index.mjs +0 -0
  1144. /package/{esm2020 → esm2022}/lib/shared/services/banners/index.mjs +0 -0
  1145. /package/{esm2020 → esm2022}/lib/shared/services/browser/index.mjs +0 -0
  1146. /package/{esm2020 → esm2022}/lib/shared/services/case-fields/index.mjs +0 -0
  1147. /package/{esm2020 → esm2022}/lib/shared/services/case-file-view/index.mjs +0 -0
  1148. /package/{esm2020 → esm2022}/lib/shared/services/case-flag/index.mjs +0 -0
  1149. /package/{esm2020 → esm2022}/lib/shared/services/case-flag/refdata-case-flag-type.enum.mjs +0 -0
  1150. /package/{esm2020 → esm2022}/lib/shared/services/definitions/index.mjs +0 -0
  1151. /package/{esm2020 → esm2022}/lib/shared/services/document-management/index.mjs +0 -0
  1152. /package/{esm2020 → esm2022}/lib/shared/services/draft/index.mjs +0 -0
  1153. /package/{esm2020 → esm2022}/lib/shared/services/error/index.mjs +0 -0
  1154. /package/{esm2020 → esm2022}/lib/shared/services/eventStatusService/index.mjs +0 -0
  1155. /package/{esm2020 → esm2022}/lib/shared/services/fields/index.mjs +0 -0
  1156. /package/{esm2020 → esm2022}/lib/shared/services/form/index.mjs +0 -0
  1157. /package/{esm2020 → esm2022}/lib/shared/services/http/index.mjs +0 -0
  1158. /package/{esm2020 → esm2022}/lib/shared/services/index.mjs +0 -0
  1159. /package/{esm2020 → esm2022}/lib/shared/services/jurisdiction/index.mjs +0 -0
  1160. /package/{esm2020 → esm2022}/lib/shared/services/loading/index.mjs +0 -0
  1161. /package/{esm2020 → esm2022}/lib/shared/services/navigation/index.mjs +0 -0
  1162. /package/{esm2020 → esm2022}/lib/shared/services/navigation/navigation-origin.model.mjs +0 -0
  1163. /package/{esm2020 → esm2022}/lib/shared/services/order/index.mjs +0 -0
  1164. /package/{esm2020 → esm2022}/lib/shared/services/organisation/index.mjs +0 -0
  1165. /package/{esm2020 → esm2022}/lib/shared/services/profile/index.mjs +0 -0
  1166. /package/{esm2020 → esm2022}/lib/shared/services/request/index.mjs +0 -0
  1167. /package/{esm2020 → esm2022}/lib/shared/services/router/index.mjs +0 -0
  1168. /package/{esm2020 → esm2022}/lib/shared/services/search/index.mjs +0 -0
  1169. /package/{esm2020 → esm2022}/lib/shared/services/session/index.mjs +0 -0
  1170. /package/{esm2020 → esm2022}/lib/shared/services/utils/retry/index.mjs +0 -0
  1171. /package/{esm2020 → esm2022}/lib/shared/services/window/index.mjs +0 -0
  1172. /package/{esm2020 → esm2022}/lib/shared/services/workbasket/index.mjs +0 -0
  1173. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,464 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
3
+ import { ActivatedRoute, Router } from '@angular/router';
4
+ import { Subject, of } from 'rxjs';
5
+ import { finalize, switchMap } from 'rxjs/operators';
6
+ import { ConditionalShowRegistrarService, GreyBarService } from '../../../directives';
7
+ import { CaseEventTrigger, CaseView } from '../../../domain';
8
+ import { AlertService, FieldsPurger, FieldsUtils, FormErrorService, FormValueService, LoadingService, SessionStorageService, WindowService } from '../../../services';
9
+ import { Confirmation } from '../domain';
10
+ import { CaseNotifier, WizardFactoryService, WorkAllocationService } from '../services';
11
+ import { ValidPageListCaseFieldsService } from '../services/valid-page-list-caseFields.service';
12
+ import { Constants } from '../../../commons/constants';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/forms";
15
+ import * as i2 from "../services";
16
+ import * as i3 from "@angular/router";
17
+ import * as i4 from "../../../services";
18
+ import * as i5 from "../../../directives";
19
+ import * as i6 from "../services/valid-page-list-caseFields.service";
20
+ export class CaseEditComponent {
21
+ fb;
22
+ caseNotifier;
23
+ router;
24
+ route;
25
+ fieldsUtils;
26
+ fieldsPurger;
27
+ registrarService;
28
+ wizardFactory;
29
+ sessionStorageService;
30
+ windowsService;
31
+ formValueService;
32
+ formErrorService;
33
+ loadingService;
34
+ validPageListCaseFieldsService;
35
+ workAllocationService;
36
+ alertService;
37
+ static ORIGIN_QUERY_PARAM = 'origin';
38
+ static ALERT_MESSAGE = 'Page is being refreshed so you will be redirected to the first page of this event.';
39
+ eventTrigger;
40
+ submit;
41
+ validate;
42
+ saveDraft;
43
+ caseDetails;
44
+ cancelled = new EventEmitter();
45
+ submitted = new EventEmitter();
46
+ wizard;
47
+ form;
48
+ confirmation;
49
+ navigationOrigin;
50
+ initialUrl;
51
+ isPageRefreshed;
52
+ isSubmitting;
53
+ eventCompletionParams;
54
+ submitResponse;
55
+ isEventCompletionChecksRequired = false;
56
+ isCaseFlagSubmission = false;
57
+ ignoreWarning = false;
58
+ isLinkedCasesSubmission = false;
59
+ error;
60
+ callbackErrorsSubject = new Subject();
61
+ validPageList = [];
62
+ constructor(fb, caseNotifier, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService, formValueService, formErrorService, loadingService, validPageListCaseFieldsService, workAllocationService, alertService) {
63
+ this.fb = fb;
64
+ this.caseNotifier = caseNotifier;
65
+ this.router = router;
66
+ this.route = route;
67
+ this.fieldsUtils = fieldsUtils;
68
+ this.fieldsPurger = fieldsPurger;
69
+ this.registrarService = registrarService;
70
+ this.wizardFactory = wizardFactory;
71
+ this.sessionStorageService = sessionStorageService;
72
+ this.windowsService = windowsService;
73
+ this.formValueService = formValueService;
74
+ this.formErrorService = formErrorService;
75
+ this.loadingService = loadingService;
76
+ this.validPageListCaseFieldsService = validPageListCaseFieldsService;
77
+ this.workAllocationService = workAllocationService;
78
+ this.alertService = alertService;
79
+ }
80
+ ngOnInit() {
81
+ this.wizard = this.wizardFactory.create(this.eventTrigger);
82
+ this.initialUrl = this.sessionStorageService.getItem('eventUrl');
83
+ this.isPageRefreshed = JSON.parse(this.sessionStorageService.getItem('isPageRefreshed'));
84
+ this.checkPageRefresh();
85
+ /* istanbul ignore else */
86
+ if (this.router.url && !this.isPageRefreshed) {
87
+ this.sessionStorageService.setItem('eventUrl', this.router.url);
88
+ }
89
+ this.form = this.fb.group({
90
+ data: new FormGroup({}),
91
+ event: this.fb.group({
92
+ id: [this.eventTrigger.id, Validators.required],
93
+ summary: [''],
94
+ description: ['']
95
+ })
96
+ });
97
+ this.route.queryParams.subscribe((params) => {
98
+ this.navigationOrigin = params[CaseEditComponent.ORIGIN_QUERY_PARAM];
99
+ });
100
+ }
101
+ ngOnDestroy() {
102
+ /* istanbul ignore else */
103
+ if (this.callbackErrorsSubject) {
104
+ this.callbackErrorsSubject.unsubscribe();
105
+ }
106
+ }
107
+ checkPageRefresh() {
108
+ if (this.isPageRefreshed && this.initialUrl) {
109
+ this.sessionStorageService.removeItem('eventUrl');
110
+ this.windowsService.alert(CaseEditComponent.ALERT_MESSAGE);
111
+ this.router.navigate([this.initialUrl], { relativeTo: this.route });
112
+ return true;
113
+ }
114
+ return false;
115
+ }
116
+ getPage(pageId) {
117
+ return this.wizard.getPage(pageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
118
+ }
119
+ first() {
120
+ const firstPage = this.wizard.firstPage(this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
121
+ return this.router.navigate([firstPage ? firstPage.id : 'submit'], { relativeTo: this.route });
122
+ }
123
+ navigateToPage(pageId) {
124
+ const page = this.getPage(pageId);
125
+ return this.router.navigate([page ? page.id : 'submit'], { relativeTo: this.route });
126
+ }
127
+ next(currentPageId) {
128
+ this.initialUrl = this.sessionStorageService.getItem('eventUrl');
129
+ /* istanbul ignore else */
130
+ if (this.router.url && !this.initialUrl) {
131
+ this.sessionStorageService.setItem('eventUrl', this.router.url);
132
+ }
133
+ this.fieldsPurger.clearHiddenFields(this.form, this.wizard, this.eventTrigger, currentPageId);
134
+ const nextPage = this.getNextPage({
135
+ currentPageId,
136
+ wizard: this.wizard,
137
+ eventTrigger: this.eventTrigger,
138
+ form: this.form,
139
+ });
140
+ /* istanbul ignore else */
141
+ if (!nextPage &&
142
+ !(this.eventTrigger.show_summary || this.eventTrigger.show_summary === null) &&
143
+ !this.eventTrigger.show_event_notes) {
144
+ this.submitForm({
145
+ eventTrigger: this.eventTrigger,
146
+ form: this.form,
147
+ submit: this.submit,
148
+ caseDetails: this.caseDetails,
149
+ });
150
+ return;
151
+ }
152
+ this.registrarService.reset();
153
+ const theQueryParams = {};
154
+ theQueryParams[CaseEditComponent.ORIGIN_QUERY_PARAM] = this.navigationOrigin;
155
+ return this.router.navigate([nextPage ? nextPage.id : 'submit'], { queryParams: theQueryParams, relativeTo: this.route });
156
+ }
157
+ previous(currentPageId) {
158
+ this.fieldsPurger.clearHiddenFields(this.form, this.wizard, this.eventTrigger, currentPageId);
159
+ this.registrarService.reset();
160
+ const previousPage = this.wizard.previousPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
161
+ /* istanbul ignore else */
162
+ if (!previousPage) {
163
+ return Promise.resolve(false);
164
+ }
165
+ const theQueryParams = {};
166
+ theQueryParams[CaseEditComponent.ORIGIN_QUERY_PARAM] = this.navigationOrigin;
167
+ return this.router.navigate([previousPage.id], { queryParams: theQueryParams, relativeTo: this.route });
168
+ }
169
+ hasPrevious(currentPageId) {
170
+ return this.wizard.hasPreviousPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
171
+ }
172
+ cancel() {
173
+ this.cancelled.emit();
174
+ }
175
+ emitSubmitted(response) {
176
+ this.submitted.emit({ caseId: response['id'], status: this.getStatus(response) });
177
+ }
178
+ getNextPage({ wizard, currentPageId, eventTrigger, form }) {
179
+ return wizard.nextPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(eventTrigger, form));
180
+ }
181
+ confirm(confirmation) {
182
+ this.confirmation = confirmation;
183
+ return this.router.navigate(['confirm'], { relativeTo: this.route });
184
+ }
185
+ submitForm({ eventTrigger, form, caseDetails, submit }) {
186
+ this.isSubmitting = true;
187
+ // We have to run the event completion checks if task in session storage
188
+ // and if the task is in session storage, then is it associated to the case
189
+ let taskInSessionStorage;
190
+ const taskStr = this.sessionStorageService.getItem('taskToComplete');
191
+ if (taskStr) {
192
+ taskInSessionStorage = JSON.parse(taskStr);
193
+ }
194
+ if (taskInSessionStorage && taskInSessionStorage.case_id === this.getCaseId(caseDetails)) {
195
+ // Show event completion component to perform event completion checks
196
+ this.eventCompletionParams = ({
197
+ caseId: this.getCaseId(caseDetails),
198
+ eventId: this.getEventId(form),
199
+ task: taskInSessionStorage
200
+ });
201
+ this.isEventCompletionChecksRequired = true;
202
+ }
203
+ else {
204
+ // Task not in session storage, proceed to submit
205
+ const caseEventData = this.generateCaseEventData({
206
+ eventTrigger,
207
+ form
208
+ });
209
+ this.caseSubmit({ form,
210
+ caseEventData,
211
+ submit
212
+ });
213
+ }
214
+ }
215
+ getCaseId(caseDetails) {
216
+ return (caseDetails ? caseDetails.case_id : '');
217
+ }
218
+ getEventId(form) {
219
+ return form.value.event.id;
220
+ }
221
+ generateCaseEventData({ eventTrigger, form }) {
222
+ const caseEventData = {
223
+ data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields))),
224
+ event: form.value.event
225
+ };
226
+ this.formValueService.clearNonCaseFields(caseEventData.data, eventTrigger.case_fields);
227
+ this.formValueService.removeNullLabels(caseEventData.data, eventTrigger.case_fields);
228
+ this.formValueService.removeEmptyDocuments(caseEventData.data, eventTrigger.case_fields);
229
+ // Remove collection fields that have "min" validation of greater than zero set on the FieldType but are empty;
230
+ // these will fail validation
231
+ this.formValueService.removeEmptyCollectionsWithMinValidation(caseEventData.data, eventTrigger.case_fields);
232
+ // For Case Flag submissions (where a FlagLauncher field is present in the event trigger), the flag details data
233
+ // needs populating for each Flags field, then the FlagLauncher field needs removing
234
+ this.formValueService.repopulateFormDataFromCaseFieldValues(caseEventData.data, eventTrigger.case_fields);
235
+ // Data population step required for Linked Cases
236
+ this.formValueService.populateLinkedCasesDetailsFromCaseFields(caseEventData.data, eventTrigger.case_fields);
237
+ // Remove "Launcher"-type fields (these have no values and are not intended to be persisted)
238
+ this.formValueService.removeCaseFieldsOfType(caseEventData.data, eventTrigger.case_fields, ['FlagLauncher', 'ComponentLauncher']);
239
+ // delete fields which are not part of the case event journey wizard pages case fields
240
+ this.validPageListCaseFieldsService.deleteNonValidatedFields(this.validPageList, caseEventData.data, eventTrigger.case_fields, false, form.controls['data'].value);
241
+ const pageListCaseFields = this.validPageListCaseFieldsService.validPageListCaseFields(this.validPageList, eventTrigger.case_fields, form.controls['data'].value);
242
+ // Remove unnecessary case fields which are hidden, only if the submission is *not* for Case Flags
243
+ if (!this.isCaseFlagSubmission) {
244
+ this.formValueService.removeUnnecessaryFields(caseEventData.data, pageListCaseFields, true, true);
245
+ }
246
+ caseEventData.event_token = eventTrigger.event_token;
247
+ caseEventData.ignore_warning = this.ignoreWarning;
248
+ if (this.confirmation) {
249
+ caseEventData.data = {};
250
+ }
251
+ return caseEventData;
252
+ }
253
+ /**
254
+ * Replaces non-array value objects with `null` for any Complex-type fields whose value is effectively empty, i.e.
255
+ * all its sub-fields and descendants are `null` or `undefined`.
256
+ *
257
+ * @param data The object tree representing all the form field data
258
+ * @returns The form field data modified accordingly
259
+ */
260
+ replaceEmptyComplexFieldValues(data) {
261
+ Object.keys(data).forEach((key) => {
262
+ if (!Array.isArray(data[key]) && typeof data[key] === 'object' && !FieldsUtils.containsNonEmptyValues(data[key])) {
263
+ data[key] = null;
264
+ }
265
+ });
266
+ return data;
267
+ }
268
+ /**
269
+ * Traverse *all* values of a {@link FormGroup}, including those for disabled fields (i.e. hidden ones), replacing the
270
+ * value of any that are hidden AND have `retain_hidden_value` set to `true` in the corresponding `CaseField`, with
271
+ * the *original* value held in the `CaseField` object.
272
+ *
273
+ * This is as per design in EUI-3622, where any user-driven updates to hidden fields with `retain_hidden_value` =
274
+ * `true` are ignored (thus retaining the value displayed originally).
275
+ *
276
+ * * For Complex field types, the replacement above is performed recursively for all hidden sub-fields with
277
+ * `retain_hidden_value` = `true`.
278
+ *
279
+ * * For Collection field types, including collections of Complex and Document field types, the replacement is
280
+ * performed for all fields in the collection.
281
+ *
282
+ * @param formGroup The `FormGroup` instance whose raw values are to be traversed
283
+ * @param caseFields The array of {@link CaseField} domain model objects corresponding to fields in `formGroup`
284
+ * @param parentField Reference to the parent `CaseField`. Used for retrieving the sub-field values of a Complex field
285
+ * to perform recursive replacement - the sub-field `CaseField`s themselves do *not* contain any values
286
+ * @returns An object with the *raw* form value data (as key-value pairs), with any value replacements as necessary
287
+ */
288
+ replaceHiddenFormValuesWithOriginalCaseData(formGroup, caseFields, parentField) {
289
+ // Get the raw form value data, which includes the values of any disabled controls, as key-value pairs
290
+ const rawFormValueData = formGroup.getRawValue();
291
+ // Place all case fields in a lookup object, so they can be retrieved by id
292
+ const caseFieldsLookup = {};
293
+ for (let i = 0, len = caseFields.length; i < len; i++) {
294
+ caseFieldsLookup[caseFields[i].id] = caseFields[i];
295
+ }
296
+ /**
297
+ * Replace any form value with the original, where its CaseField is hidden AND has the retain_hidden_value flag set
298
+ * to true.
299
+ *
300
+ * If the CaseField's `hidden` attribute is null or undefined, then check this attribute in the parent CaseField (if
301
+ * one exists). This is occurring (and is possibly a bug) when a CaseField is a sub-field of a Complex type, or an
302
+ * item in a Collection type.
303
+ *
304
+ * If the field is a Complex type with retain_hidden_value = true, perform a recursive replacement for all (hidden)
305
+ * sub-fields with retain_hidden_value = true, using their original CaseField values (from the `formatted_value`
306
+ * attribute).
307
+ *
308
+ * If the field is a Collection type with retain_hidden_value = true, the entire collection is replaced with the
309
+ * original from `formatted_value`. This applies to *all* types of Collections.
310
+ */
311
+ /* istanbul ignore next */
312
+ Object.keys(rawFormValueData).forEach((key) => {
313
+ const caseField = caseFieldsLookup[key];
314
+ // If caseField.hidden is NOT truthy and also NOT equal to false, then it must be null/undefined (remember that
315
+ // both null and undefined are equal to *neither false nor true*)
316
+ if (caseField && caseField.retain_hidden_value &&
317
+ (caseField.hidden || (caseField.hidden !== false && parentField && parentField.hidden))) {
318
+ if (caseField.field_type.type === 'Complex') {
319
+ // Note: Deliberate use of equality (==) and non-equality (!=) operators for null checks throughout, to
320
+ // handle both null and undefined values
321
+ if (caseField.value != null) {
322
+ // Call this function recursively to replace the Complex field's sub-fields as necessary, passing the
323
+ // CaseField itself (the sub-fields do not contain any values, so these need to be obtained from the
324
+ // parent)
325
+ // Update rawFormValueData for this field
326
+ // creating form group and adding control into it in case caseField is of complext type and and part of formGroup
327
+ const form = new FormGroup({});
328
+ if (formGroup.controls[key].value) {
329
+ Object.keys(formGroup.controls[key].value).forEach((item) => {
330
+ form.addControl(item, new FormControl(formGroup.controls[key].value[item]));
331
+ });
332
+ }
333
+ rawFormValueData[key] = this.replaceHiddenFormValuesWithOriginalCaseData(form, caseField.field_type.complex_fields, caseField);
334
+ }
335
+ }
336
+ else {
337
+ // Default case also handles collections of *all* types; the entire collection in rawFormValueData will be
338
+ // replaced with the original from formatted_value
339
+ // Use the CaseField's existing *formatted_value* from the parent, if available. (This is necessary for
340
+ // Complex fields, whose sub-fields do not hold any values in the model.) Otherwise, use formatted_value
341
+ // from the CaseField itself.
342
+ if (parentField && parentField.formatted_value) {
343
+ rawFormValueData[key] = parentField.formatted_value[caseField.id];
344
+ }
345
+ else {
346
+ if (!(caseField.hidden && caseField.retain_hidden_value)) {
347
+ rawFormValueData[key] = caseField.formatted_value;
348
+ }
349
+ }
350
+ }
351
+ }
352
+ });
353
+ return rawFormValueData;
354
+ }
355
+ caseSubmit({ form, caseEventData, submit }) {
356
+ const loadingSpinnerToken = this.loadingService.register();
357
+ // keep the initial event response to finalise process after task completion
358
+ let eventResponse;
359
+ this.sessionStorageService.setItem('taskCompletionError', 'false');
360
+ submit(caseEventData).pipe(switchMap((response) => {
361
+ eventResponse = response;
362
+ return this.postCompleteTaskIfRequired();
363
+ }), finalize(() => {
364
+ this.loadingService.unregister(loadingSpinnerToken);
365
+ }))
366
+ .subscribe(() => {
367
+ this.finishEventCompletionLogic(eventResponse);
368
+ }, error => {
369
+ if (!eventResponse) {
370
+ // event submission error
371
+ this.error = error;
372
+ this.callbackErrorsSubject.next(error);
373
+ /* istanbul ignore else */
374
+ if (this.error.details) {
375
+ this.formErrorService
376
+ .mapFieldErrors(this.error.details.field_errors, form.controls['data'], 'validation');
377
+ }
378
+ this.isSubmitting = false;
379
+ }
380
+ else {
381
+ this.sessionStorageService.setItem('taskCompletionError', 'true');
382
+ // task assignment/completion error - handled within workallocation service
383
+ // could set task to be deleted (or completed later)?
384
+ this.finishEventCompletionLogic(eventResponse);
385
+ // below allows error to be shown on navigation to confirmation page
386
+ this.alertService.setPreserveAlerts(true);
387
+ this.alertService.error({ phrase: Constants.TASK_COMPLETION_ERROR });
388
+ }
389
+ });
390
+ }
391
+ postCompleteTaskIfRequired() {
392
+ const taskStr = this.sessionStorageService.getItem('taskToComplete');
393
+ const assignNeeded = this.sessionStorageService.getItem('assignNeeded') === 'true';
394
+ if (taskStr && assignNeeded) {
395
+ const task = JSON.parse(taskStr);
396
+ return this.workAllocationService.assignAndCompleteTask(task.id);
397
+ }
398
+ else if (taskStr) {
399
+ const task = JSON.parse(taskStr);
400
+ return this.workAllocationService.completeTask(task.id);
401
+ }
402
+ return of(true);
403
+ }
404
+ finishEventCompletionLogic(eventResponse) {
405
+ this.caseNotifier.cachedCaseView = null;
406
+ this.sessionStorageService.removeItem('eventUrl');
407
+ const confirmation = this.buildConfirmation(eventResponse);
408
+ if (confirmation && (confirmation.getHeader() || confirmation.getBody())) {
409
+ this.confirm(confirmation);
410
+ }
411
+ else {
412
+ this.emitSubmitted(eventResponse);
413
+ }
414
+ }
415
+ buildConfirmation(response) {
416
+ if (response['after_submit_callback_response']) {
417
+ return new Confirmation(response['id'], response['callback_response_status'], response['after_submit_callback_response']['confirmation_header'], response['after_submit_callback_response']['confirmation_body']);
418
+ }
419
+ else {
420
+ return null;
421
+ }
422
+ }
423
+ onEventCanBeCompleted({ eventTrigger, eventCanBeCompleted, caseDetails, form, submit }) {
424
+ if (eventCanBeCompleted) {
425
+ // Submit
426
+ const caseEventData = this.generateCaseEventData({ eventTrigger, form });
427
+ this.caseSubmit({ form, caseEventData, submit });
428
+ }
429
+ else {
430
+ // Navigate to tasks tab on case details page
431
+ this.router.navigate([`/cases/case-details/${this.getCaseId(caseDetails)}/tasks`], { relativeTo: this.route });
432
+ }
433
+ }
434
+ getStatus(response) {
435
+ return this.hasCallbackFailed(response) ? response['callback_response_status'] : response['delete_draft_response_status'];
436
+ }
437
+ hasCallbackFailed(response) {
438
+ return response['callback_response_status'] !== 'CALLBACK_COMPLETED';
439
+ }
440
+ static ɵfac = function CaseEditComponent_Factory(t) { return new (t || CaseEditComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.CaseNotifier), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i3.ActivatedRoute), i0.ɵɵdirectiveInject(i4.FieldsUtils), i0.ɵɵdirectiveInject(i4.FieldsPurger), i0.ɵɵdirectiveInject(i5.ConditionalShowRegistrarService), i0.ɵɵdirectiveInject(i2.WizardFactoryService), i0.ɵɵdirectiveInject(i4.SessionStorageService), i0.ɵɵdirectiveInject(i4.WindowService), i0.ɵɵdirectiveInject(i4.FormValueService), i0.ɵɵdirectiveInject(i4.FormErrorService), i0.ɵɵdirectiveInject(i4.LoadingService), i0.ɵɵdirectiveInject(i6.ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(i2.WorkAllocationService), i0.ɵɵdirectiveInject(i4.AlertService)); };
441
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditComponent, selectors: [["ccd-case-edit"]], inputs: { eventTrigger: "eventTrigger", submit: "submit", validate: "validate", saveDraft: "saveDraft", caseDetails: "caseDetails" }, outputs: { cancelled: "cancelled", submitted: "submitted" }, features: [i0.ɵɵProvidersFeature([GreyBarService])], decls: 1, vars: 0, template: function CaseEditComponent_Template(rf, ctx) { if (rf & 1) {
442
+ i0.ɵɵelement(0, "router-outlet");
443
+ } }, dependencies: [i3.RouterOutlet], styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.no-bottom-border[_ngcontent-%COMP%]{border-bottom:none}.case-field-change[_ngcontent-%COMP%]{width:5%}"] });
444
+ }
445
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditComponent, [{
446
+ type: Component,
447
+ args: [{ selector: 'ccd-case-edit', providers: [GreyBarService], template: "<router-outlet></router-outlet>\n", styles: ["#fieldset-case-data{margin-bottom:30px}#fieldset-case-data th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}#confirmation-header{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body{width:630px;background-color:#fff}.valign-top{vertical-align:top}.summary-fields{margin-bottom:30px}.summary-fields tbody tr th,.summary-fields tbody tr td{border-bottom:0px}a.disabled{pointer-events:none;cursor:default}.case-field-label{width:45%}.case-field-content{width:50%}.no-bottom-border{border-bottom:none}.case-field-change{width:5%}\n"] }]
448
+ }], () => [{ type: i1.FormBuilder }, { type: i2.CaseNotifier }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.FieldsUtils }, { type: i4.FieldsPurger }, { type: i5.ConditionalShowRegistrarService }, { type: i2.WizardFactoryService }, { type: i4.SessionStorageService }, { type: i4.WindowService }, { type: i4.FormValueService }, { type: i4.FormErrorService }, { type: i4.LoadingService }, { type: i6.ValidPageListCaseFieldsService }, { type: i2.WorkAllocationService }, { type: i4.AlertService }], { eventTrigger: [{
449
+ type: Input
450
+ }], submit: [{
451
+ type: Input
452
+ }], validate: [{
453
+ type: Input
454
+ }], saveDraft: [{
455
+ type: Input
456
+ }], caseDetails: [{
457
+ type: Input
458
+ }], cancelled: [{
459
+ type: Output
460
+ }], submitted: [{
461
+ type: Output
462
+ }] }); })();
463
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber: 33 }); })();
464
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9jYXNlLWVkaXQvY2FzZS1lZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9jYXNlLWVkaXQvY2FzZS1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLCtCQUErQixFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFJVSxnQkFBZ0IsRUFDL0IsUUFBUSxFQUNULE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFDN0UscUJBQXFCLEVBQUUsYUFBYSxFQUNyQyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFBRSxZ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QUEwQixDQUFDLEtBQUssb0JBQW9CLENBQUM7SUFDdkUsQ0FBQzsyRUFuZVUsaUJBQWlCOzZEQUFqQixpQkFBaUIsc1FBRmpCLENBQUMsY0FBYyxDQUFDO1lDOUI3QixnQ0FBK0I7OztpRkRnQ2xCLGlCQUFpQjtjQU43QixTQUFTOzJCQUNFLGVBQWUsYUFHZCxDQUFDLGNBQWMsQ0FBQztzZ0JBT3BCLFlBQVk7a0JBRGxCLEtBQUs7WUFJQyxNQUFNO2tCQURaLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxXQUFXO2tCQURqQixLQUFLO1lBSUMsU0FBUztrQkFEZixNQUFNO1lBSUEsU0FBUztrQkFEZixNQUFNOztrRkF0QkksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmRpdGlvbmFsU2hvd1JlZ2lzdHJhclNlcnZpY2UsIEdyZXlCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge1xuICBDYXNlRWRpdENhc2VTdWJtaXQsIENhc2VFZGl0R2VuZXJhdGVDYXNlRXZlbnREYXRhLCBDYXNlRWRpdEdldE5leHRQYWdlLFxuICBDYXNlRWRpdFN1Ym1pdEZvcm0sXG4gIENhc2VFZGl0b25FdmVudENhbkJlQ29tcGxldGVkLFxuICBDYXNlRXZlbnREYXRhLCBDYXNlRXZlbnRUcmlnZ2VyLCBDYXNlRmllbGQsXG4gIENhc2VWaWV3LCBEcmFmdCwgSHR0cEVycm9yLCBQcm9maWxlXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrJztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgRmllbGRzUHVyZ2VyLCBGaWVsZHNVdGlscywgRm9ybUVycm9yU2VydmljZSwgRm9ybVZhbHVlU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsXG4gIFNlc3Npb25TdG9yYWdlU2VydmljZSwgV2luZG93U2VydmljZVxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgV2l6YXJkLCBXaXphcmRQYWdlIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IEV2ZW50Q29tcGxldGlvblBhcmFtcyB9IGZyb20gJy4uL2RvbWFpbi9ldmVudC1jb21wbGV0aW9uLXBhcmFtcy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIsIFdpemFyZEZhY3RvcnlTZXJ2aWNlLCBXb3JrQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWYWxpZFBhZ2VMaXN0Q2FzZUZpZWxkc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy92YWxpZC1wYWdlLWxpc3QtY2FzZUZpZWxkcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZWRpdCcsXG4gIHRlbXBsYXRlVXJsOiAnY2FzZS1lZGl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uL2Nhc2UtZWRpdC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0dyZXlCYXJTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBPUklHSU5fUVVFUllfUEFSQU0gPSAnb3JpZ2luJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBTEVSVF9NRVNTQUdFID0gJ1BhZ2UgaXMgYmVpbmcgcmVmcmVzaGVkIHNvIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gdGhlIGZpcnN0IHBhZ2Ugb2YgdGhpcyBldmVudC4nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBldmVudFRyaWdnZXI6IENhc2VFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN1Ym1pdDogKGNhc2VFdmVudERhdGE6IENhc2VFdmVudERhdGEsIHByb2ZpbGU/OiBQcm9maWxlKSA9PiBPYnNlcnZhYmxlPG9iamVjdD47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHZhbGlkYXRlOiAoY2FzZUV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8b2JqZWN0PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2F2ZURyYWZ0OiAoY2FzZUV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSkgPT4gT2JzZXJ2YWJsZTxEcmFmdD47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhbmNlbGxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzdWJtaXR0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB3aXphcmQ6IFdpemFyZDtcblxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBjb25maXJtYXRpb246IENvbmZpcm1hdGlvbjtcblxuICBwdWJsaWMgbmF2aWdhdGlvbk9yaWdpbjogYW55O1xuXG4gIHB1YmxpYyBpbml0aWFsVXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIGlzUGFnZVJlZnJlc2hlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgaXNTdWJtaXR0aW5nOiBib29sZWFuO1xuXG4gIHB1YmxpYyBldmVudENvbXBsZXRpb25QYXJhbXM6IEV2ZW50Q29tcGxldGlvblBhcmFtcztcblxuICBwdWJsaWMgc3VibWl0UmVzcG9uc2U6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgcHVibGljIGlzRXZlbnRDb21wbGV0aW9uQ2hlY2tzUmVxdWlyZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgaXNDYXNlRmxhZ1N1Ym1pc3Npb24gPSBmYWxzZTtcblxuICBwdWJsaWMgaWdub3JlV2FybmluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc0xpbmtlZENhc2VzU3VibWlzc2lvbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBlcnJvcjogSHR0cEVycm9yO1xuXG4gIHB1YmxpYyBjYWxsYmFja0Vycm9yc1N1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIHZhbGlkUGFnZUxpc3Q6IFdpemFyZFBhZ2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkc1V0aWxzOiBGaWVsZHNVdGlscyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkc1B1cmdlcjogRmllbGRzUHVyZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVnaXN0cmFyU2VydmljZTogQ29uZGl0aW9uYWxTaG93UmVnaXN0cmFyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpemFyZEZhY3Rvcnk6IFdpemFyZEZhY3RvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dzU2VydmljZTogV2luZG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZVNlcnZpY2U6IEZvcm1WYWx1ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRXJyb3JTZXJ2aWNlOiBGb3JtRXJyb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRQYWdlTGlzdENhc2VGaWVsZHNTZXJ2aWNlOiBWYWxpZFBhZ2VMaXN0Q2FzZUZpZWxkc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrQWxsb2NhdGlvblNlcnZpY2U6IFdvcmtBbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy53aXphcmQgPSB0aGlzLndpemFyZEZhY3RvcnkuY3JlYXRlKHRoaXMuZXZlbnRUcmlnZ2VyKTtcbiAgICB0aGlzLmluaXRpYWxVcmwgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdldmVudFVybCcpO1xuICAgIHRoaXMuaXNQYWdlUmVmcmVzaGVkID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdpc1BhZ2VSZWZyZXNoZWQnKSk7XG5cbiAgICB0aGlzLmNoZWNrUGFnZVJlZnJlc2goKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnJvdXRlci51cmwgJiYgIXRoaXMuaXNQYWdlUmVmcmVzaGVkKSB7XG4gICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCdldmVudFVybCcsIHRoaXMucm91dGVyLnVybCk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBkYXRhOiBuZXcgRm9ybUdyb3VwKHt9KSxcbiAgICAgIGV2ZW50OiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgaWQ6IFt0aGlzLmV2ZW50VHJpZ2dlci5pZCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHN1bW1hcnk6IFsnJ10sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbJyddXG4gICAgICB9KVxuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XG4gICAgICB0aGlzLm5hdmlnYXRpb25PcmlnaW4gPSBwYXJhbXNbQ2FzZUVkaXRDb21wb25lbnQuT1JJR0lOX1FVRVJZX1BBUkFNXTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmNhbGxiYWNrRXJyb3JzU3ViamVjdCkge1xuICAgICAgdGhpcy5jYWxsYmFja0Vycm9yc1N1YmplY3QudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hlY2tQYWdlUmVmcmVzaCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc1BhZ2VSZWZyZXNoZWQgJiYgdGhpcy5pbml0aWFsVXJsKSB7XG4gICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCdldmVudFVybCcpO1xuICAgICAgdGhpcy53aW5kb3dzU2VydmljZS5hbGVydChDYXNlRWRpdENvbXBvbmVudC5BTEVSVF9NRVNTQUdFKTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmluaXRpYWxVcmxdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldFBhZ2UocGFnZUlkOiBzdHJpbmcpOiBXaXphcmRQYWdlIHtcbiAgICByZXR1cm4gdGhpcy53aXphcmQuZ2V0UGFnZShwYWdlSWQsIHRoaXMuZmllbGRzVXRpbHMuYnVpbGRDYW5TaG93UHJlZGljYXRlKHRoaXMuZXZlbnRUcmlnZ2VyLCB0aGlzLmZvcm0pKTtcbiAgfVxuXG4gIHB1YmxpYyBmaXJzdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmaXJzdFBhZ2UgPSB0aGlzLndpemFyZC5maXJzdFBhZ2UodGhpcy5maWVsZHNVdGlscy5idWlsZENhblNob3dQcmVkaWNhdGUodGhpcy5ldmVudFRyaWdnZXIsIHRoaXMuZm9ybSkpO1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmlyc3RQYWdlID8gZmlyc3RQYWdlLmlkIDogJ3N1Ym1pdCddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb1BhZ2UocGFnZUlkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBwYWdlID0gdGhpcy5nZXRQYWdlKHBhZ2VJZCk7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYWdlID8gcGFnZS5pZCA6ICdzdWJtaXQnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG5cbiAgcHVibGljIG5leHQoY3VycmVudFBhZ2VJZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5pbml0aWFsVXJsID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnZXZlbnRVcmwnKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnJvdXRlci51cmwgJiYgIXRoaXMuaW5pdGlhbFVybCkge1xuICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnZXZlbnRVcmwnLCB0aGlzLnJvdXRlci51cmwpO1xuICAgIH1cbiAgICB0aGlzLmZpZWxkc1B1cmdlci5jbGVhckhpZGRlbkZpZWxkcyh0aGlzLmZvcm0sIHRoaXMud2l6YXJkLCB0aGlzLmV2ZW50VHJpZ2dlciwgY3VycmVudFBhZ2VJZCk7XG4gICAgY29uc3QgbmV4dFBhZ2UgPSB0aGlzLmdldE5leHRQYWdlKHtcbiAgICAgIGN1cnJlbnRQYWdlSWQsXG4gICAgICB3aXphcmQ6IHRoaXMud2l6YXJkLFxuICAgICAgZXZlbnRUcmlnZ2VyOiB0aGlzLmV2ZW50VHJpZ2dlcixcbiAgICAgIGZvcm06IHRoaXMuZm9ybSxcbiAgICB9KTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCFuZXh0UGFnZSAmJlxuICAgICAgISh0aGlzLmV2ZW50VHJpZ2dlci5zaG93X3N1bW1hcnkgfHwgdGhpcy5ldmVudFRyaWdnZXIuc2hvd19zdW1tYXJ5ID09PSBudWxsKSAmJlxuICAgICAgIXRoaXMuZXZlbnRUcmlnZ2VyLnNob3dfZXZlbnRfbm90ZXMpIHtcbiAgICAgIHRoaXMuc3VibWl0Rm9ybSh7XG4gICAgICAgIGV2ZW50VHJpZ2dlcjogdGhpcy5ldmVudFRyaWdnZXIsXG4gICAgICAgIGZvcm06IHRoaXMuZm9ybSxcbiAgICAgICAgc3VibWl0OiB0aGlzLnN1Ym1pdCxcbiAgICAgICAgY2FzZURldGFpbHM6IHRoaXMuY2FzZURldGFpbHMsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlZ2lzdHJhclNlcnZpY2UucmVzZXQoKTtcblxuICAgIGNvbnN0IHRoZVF1ZXJ5UGFyYW1zOiBQYXJhbXMgPSB7fTtcbiAgICB0aGVRdWVyeVBhcmFtc1tDYXNlRWRpdENvbXBvbmVudC5PUklHSU5fUVVFUllfUEFSQU1dID0gdGhpcy5uYXZpZ2F0aW9uT3JpZ2luO1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbmV4dFBhZ2UgPyBuZXh0UGFnZS5pZCA6ICdzdWJtaXQnXSwgeyBxdWVyeVBhcmFtczogdGhlUXVlcnlQYXJhbXMsIHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gIH1cblxuICBwdWJsaWMgcHJldmlvdXMoY3VycmVudFBhZ2VJZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5maWVsZHNQdXJnZXIuY2xlYXJIaWRkZW5GaWVsZHModGhpcy5mb3JtLCB0aGlzLndpemFyZCwgdGhpcy5ldmVudFRyaWdnZXIsIGN1cnJlbnRQYWdlSWQpO1xuICAgIHRoaXMucmVnaXN0cmFyU2VydmljZS5yZXNldCgpO1xuXG4gICAgY29uc3QgcHJldmlvdXNQYWdlID0gdGhpcy53aXphcmQucHJldmlvdXNQYWdlKGN1cnJlbnRQYWdlSWQsIHRoaXMuZmllbGRzVXRpbHMuYnVpbGRDYW5TaG93UHJlZGljYXRlKHRoaXMuZXZlbnRUcmlnZ2VyLCB0aGlzLmZvcm0pKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghcHJldmlvdXNQYWdlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb25zdCB0aGVRdWVyeVBhcmFtczogUGFyYW1zID0ge307XG4gICAgdGhlUXVlcnlQYXJhbXNbQ2FzZUVkaXRDb21wb25lbnQuT1JJR0lOX1FVRVJZX1BBUkFNXSA9IHRoaXMubmF2aWdhdGlvbk9yaWdpbjtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3ByZXZpb3VzUGFnZS5pZF0sIHsgcXVlcnlQYXJhbXM6IHRoZVF1ZXJ5UGFyYW1zLCByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG5cbiAgcHVibGljIGhhc1ByZXZpb3VzKGN1cnJlbnRQYWdlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndpemFyZC5oYXNQcmV2aW91c1BhZ2UoY3VycmVudFBhZ2VJZCwgdGhpcy5maWVsZHNVdGlscy5idWlsZENhblNob3dQcmVkaWNhdGUodGhpcy5ldmVudFRyaWdnZXIsIHRoaXMuZm9ybSkpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbmNlbGxlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdFN1Ym1pdHRlZChyZXNwb25zZTogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0dGVkLmVtaXQoeyBjYXNlSWQ6IHJlc3BvbnNlWydpZCddLCBzdGF0dXM6IHRoaXMuZ2V0U3RhdHVzKHJlc3BvbnNlKSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0UGFnZSh7IHdpemFyZCwgY3VycmVudFBhZ2VJZCwgZXZlbnRUcmlnZ2VyLCBmb3JtIH06IENhc2VFZGl0R2V0TmV4dFBhZ2UpOiBXaXphcmRQYWdlIHtcbiAgICByZXR1cm4gd2l6YXJkLm5leHRQYWdlKFxuICAgICAgY3VycmVudFBhZ2VJZCxcbiAgICAgIHRoaXMuZmllbGRzVXRpbHMuYnVpbGRDYW5TaG93UHJlZGljYXRlKGV2ZW50VHJpZ2dlciwgZm9ybSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNvbmZpcm0oY29uZmlybWF0aW9uOiBDb25maXJtYXRpb24pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvbiA9IGNvbmZpcm1hdGlvbjtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjb25maXJtJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRGb3JtKHsgZXZlbnRUcmlnZ2VyLCBmb3JtLCBjYXNlRGV0YWlscywgc3VibWl0IH06IENhc2VFZGl0U3VibWl0Rm9ybSk6IHZvaWQge1xuICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gdHJ1ZTtcbiAgICAvLyBXZSBoYXZlIHRvIHJ1biB0aGUgZXZlbnQgY29tcGxldGlvbiBjaGVja3MgaWYgdGFzayBpbiBzZXNzaW9uIHN0b3JhZ2VcbiAgICAvLyBhbmQgaWYgdGhlIHRhc2sgaXMgaW4gc2Vzc2lvbiBzdG9yYWdlLCB0aGVuIGlzIGl0IGFzc29jaWF0ZWQgdG8gdGhlIGNhc2VcbiAgICBsZXQgdGFza0luU2Vzc2lvblN0b3JhZ2U6IFRhc2s7XG4gICAgY29uc3QgdGFza1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3Rhc2tUb0NvbXBsZXRlJyk7XG4gICAgaWYgKHRhc2tTdHIpIHtcbiAgICAgIHRhc2tJblNlc3Npb25TdG9yYWdlID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICB9XG5cbiAgICBpZiAodGFza0luU2Vzc2lvblN0b3JhZ2UgJiYgdGFza0luU2Vzc2lvblN0b3JhZ2UuY2FzZV9pZCA9PT0gdGhpcy5nZXRDYXNlSWQoY2FzZURldGFpbHMpKSB7XG4gICAgICAvLyBTaG93IGV2ZW50IGNvbXBsZXRpb24gY29tcG9uZW50IHRvIHBlcmZvcm0gZXZlbnQgY29tcGxldGlvbiBjaGVja3NcbiAgICAgIHRoaXMuZXZlbnRDb21wbGV0aW9uUGFyYW1zID0gKHtcbiAgICAgICAgY2FzZUlkOiB0aGlzLmdldENhc2VJZChjYXNlRGV0YWlscyksXG4gICAgICAgIGV2ZW50SWQ6IHRoaXMuZ2V0RXZlbnRJZChmb3JtKSxcbiAgICAgICAgdGFzazogdGFza0luU2Vzc2lvblN0b3JhZ2VcbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0V2ZW50Q29tcGxldGlvbkNoZWNrc1JlcXVpcmVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFzayBub3QgaW4gc2Vzc2lvbiBzdG9yYWdlLCBwcm9jZWVkIHRvIHN1Ym1pdFxuICAgICAgY29uc3QgY2FzZUV2ZW50RGF0YSA9IHRoaXMuZ2VuZXJhdGVDYXNlRXZlbnREYXRhKHtcbiAgICAgICAgZXZlbnRUcmlnZ2VyLFxuICAgICAgICBmb3JtXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2FzZVN1Ym1pdCh7Zm9ybSxcbiAgICAgICAgY2FzZUV2ZW50RGF0YSxcbiAgICAgICAgc3VibWl0XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZUlkKGNhc2VEZXRhaWxzOiBDYXNlVmlldyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChjYXNlRGV0YWlscyA/IGNhc2VEZXRhaWxzLmNhc2VfaWQgOiAnJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEV2ZW50SWQoZm9ybTogRm9ybUdyb3VwKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybS52YWx1ZS5ldmVudC5pZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVDYXNlRXZlbnREYXRhKHsgZXZlbnRUcmlnZ2VyLCBmb3JtIH06IENhc2VFZGl0R2VuZXJhdGVDYXNlRXZlbnREYXRhICk6IENhc2VFdmVudERhdGEge1xuICAgIGNvbnN0IGNhc2VFdmVudERhdGE6IENhc2VFdmVudERhdGEgPSB7XG4gICAgICBkYXRhOiB0aGlzLnJlcGxhY2VFbXB0eUNvbXBsZXhGaWVsZFZhbHVlcyhcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnNhbml0aXNlKFxuICAgICAgICAgIHRoaXMucmVwbGFjZUhpZGRlbkZvcm1WYWx1ZXNXaXRoT3JpZ2luYWxDYXNlRGF0YShcbiAgICAgICAgICAgIGZvcm0uZ2V0KCdkYXRhJykgYXMgRm9ybUdyb3VwLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpKSksXG4gICAgICBldmVudDogZm9ybS52YWx1ZS5ldmVudFxuICAgIH0gYXMgQ2FzZUV2ZW50RGF0YTtcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UuY2xlYXJOb25DYXNlRmllbGRzKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlTnVsbExhYmVscyhjYXNlRXZlbnREYXRhLmRhdGEsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcyk7XG4gICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlbW92ZUVtcHR5RG9jdW1lbnRzKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICAvLyBSZW1vdmUgY29sbGVjdGlvbiBmaWVsZHMgdGhhdCBoYXZlIFwibWluXCIgdmFsaWRhdGlvbiBvZiBncmVhdGVyIHRoYW4gemVybyBzZXQgb24gdGhlIEZpZWxkVHlwZSBidXQgYXJlIGVtcHR5O1xuICAgIC8vIHRoZXNlIHdpbGwgZmFpbCB2YWxpZGF0aW9uXG4gICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlbW92ZUVtcHR5Q29sbGVjdGlvbnNXaXRoTWluVmFsaWRhdGlvbihjYXNlRXZlbnREYXRhLmRhdGEsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcyk7XG4gICAgLy8gRm9yIENhc2UgRmxhZyBzdWJtaXNzaW9ucyAod2hlcmUgYSBGbGFnTGF1bmNoZXIgZmllbGQgaXMgcHJlc2VudCBpbiB0aGUgZXZlbnQgdHJpZ2dlciksIHRoZSBmbGFnIGRldGFpbHMgZGF0YVxuICAgIC8vIG5lZWRzIHBvcHVsYXRpbmcgZm9yIGVhY2ggRmxhZ3MgZmllbGQsIHRoZW4gdGhlIEZsYWdMYXVuY2hlciBmaWVsZCBuZWVkcyByZW1vdmluZ1xuICAgIHRoaXMuZm9ybVZhbHVlU2VydmljZS5yZXBvcHVsYXRlRm9ybURhdGFGcm9tQ2FzZUZpZWxkVmFsdWVzKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICAvLyBEYXRhIHBvcHVsYXRpb24gc3RlcCByZXF1aXJlZCBmb3IgTGlua2VkIENhc2VzXG4gICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnBvcHVsYXRlTGlua2VkQ2FzZXNEZXRhaWxzRnJvbUNhc2VGaWVsZHMoY2FzZUV2ZW50RGF0YS5kYXRhLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIC8vIFJlbW92ZSBcIkxhdW5jaGVyXCItdHlwZSBmaWVsZHMgKHRoZXNlIGhhdmUgbm8gdmFsdWVzIGFuZCBhcmUgbm90IGludGVuZGVkIHRvIGJlIHBlcnNpc3RlZClcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlQ2FzZUZpZWxkc09mVHlwZShjYXNlRXZlbnREYXRhLmRhdGEsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcywgWydGbGFnTGF1bmNoZXInLCAnQ29tcG9uZW50TGF1bmNoZXInXSk7XG5cbiAgICAvLyBkZWxldGUgZmllbGRzIHdoaWNoIGFyZSBub3QgcGFydCBvZiB0aGUgY2FzZSBldmVudCBqb3VybmV5IHdpemFyZCBwYWdlcyBjYXNlIGZpZWxkc1xuICAgIHRoaXMudmFsaWRQYWdlTGlzdENhc2VGaWVsZHNTZXJ2aWNlLmRlbGV0ZU5vblZhbGlkYXRlZEZpZWxkcyh0aGlzLnZhbGlkUGFnZUxpc3QsIGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzLCBmYWxzZSwgZm9ybS5jb250cm9sc1snZGF0YSddLnZhbHVlKTtcbiAgICBjb25zdCBwYWdlTGlzdENhc2VGaWVsZHMgPSB0aGlzLnZhbGlkUGFnZUxpc3RDYXNlRmllbGRzU2VydmljZS52YWxpZFBhZ2VMaXN0Q2FzZUZpZWxkcyh0aGlzLnZhbGlkUGFnZUxpc3QsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcywgZm9ybS5jb250cm9sc1snZGF0YSddLnZhbHVlKTtcbiAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgY2FzZSBmaWVsZHMgd2hpY2ggYXJlIGhpZGRlbiwgb25seSBpZiB0aGUgc3VibWlzc2lvbiBpcyAqbm90KiBmb3IgQ2FzZSBGbGFnc1xuICAgIGlmICghdGhpcy5pc0Nhc2VGbGFnU3VibWlzc2lvbikge1xuICAgICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlbW92ZVVubmVjZXNzYXJ5RmllbGRzKGNhc2VFdmVudERhdGEuZGF0YSwgcGFnZUxpc3RDYXNlRmllbGRzLCB0cnVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBjYXNlRXZlbnREYXRhLmV2ZW50X3Rva2VuID0gZXZlbnRUcmlnZ2VyLmV2ZW50X3Rva2VuO1xuICAgIGNhc2VFdmVudERhdGEuaWdub3JlX3dhcm5pbmcgPSB0aGlzLmlnbm9yZVdhcm5pbmc7XG4gICAgaWYgKHRoaXMuY29uZmlybWF0aW9uKSB7XG4gICAgICBjYXNlRXZlbnREYXRhLmRhdGEgPSB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2FzZUV2ZW50RGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBub24tYXJyYXkgdmFsdWUgb2JqZWN0cyB3aXRoIGBudWxsYCBmb3IgYW55IENvbXBsZXgtdHlwZSBmaWVsZHMgd2hvc2UgdmFsdWUgaXMgZWZmZWN0aXZlbHkgZW1wdHksIGkuZS5cbiAgICogYWxsIGl0cyBzdWItZmllbGRzIGFuZCBkZXNjZW5kYW50cyBhcmUgYG51bGxgIG9yIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSBUaGUgb2JqZWN0IHRyZWUgcmVwcmVzZW50aW5nIGFsbCB0aGUgZm9ybSBmaWVsZCBkYXRhXG4gICAqIEByZXR1cm5zIFRoZSBmb3JtIGZpZWxkIGRhdGEgbW9kaWZpZWQgYWNjb3JkaW5nbHlcbiAgICovXG4gIHByaXZhdGUgcmVwbGFjZUVtcHR5Q29tcGxleEZpZWxkVmFsdWVzKGRhdGE6IG9iamVjdCk6IG9iamVjdCB7XG4gICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YVtrZXldKSAmJiB0eXBlb2YgZGF0YVtrZXldID09PSAnb2JqZWN0JyAmJiAhRmllbGRzVXRpbHMuY29udGFpbnNOb25FbXB0eVZhbHVlcyhkYXRhW2tleV0pKSB7XG4gICAgICAgIGRhdGFba2V5XSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmF2ZXJzZSAqYWxsKiB2YWx1ZXMgb2YgYSB7QGxpbmsgRm9ybUdyb3VwfSwgaW5jbHVkaW5nIHRob3NlIGZvciBkaXNhYmxlZCBmaWVsZHMgKGkuZS4gaGlkZGVuIG9uZXMpLCByZXBsYWNpbmcgdGhlXG4gICAqIHZhbHVlIG9mIGFueSB0aGF0IGFyZSBoaWRkZW4gQU5EIGhhdmUgYHJldGFpbl9oaWRkZW5fdmFsdWVgIHNldCB0byBgdHJ1ZWAgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYENhc2VGaWVsZGAsIHdpdGhcbiAgICogdGhlICpvcmlnaW5hbCogdmFsdWUgaGVsZCBpbiB0aGUgYENhc2VGaWVsZGAgb2JqZWN0LlxuICAgKlxuICAgKiBUaGlzIGlzIGFzIHBlciBkZXNpZ24gaW4gRVVJLTM2MjIsIHdoZXJlIGFueSB1c2VyLWRyaXZlbiB1cGRhdGVzIHRvIGhpZGRlbiBmaWVsZHMgd2l0aCBgcmV0YWluX2hpZGRlbl92YWx1ZWAgPVxuICAgKiBgdHJ1ZWAgYXJlIGlnbm9yZWQgKHRodXMgcmV0YWluaW5nIHRoZSB2YWx1ZSBkaXNwbGF5ZWQgb3JpZ2luYWxseSkuXG4gICAqXG4gICAqICogRm9yIENvbXBsZXggZmllbGQgdHlwZXMsIHRoZSByZXBsYWNlbWVudCBhYm92ZSBpcyBwZXJmb3JtZWQgcmVjdXJzaXZlbHkgZm9yIGFsbCBoaWRkZW4gc3ViLWZpZWxkcyB3aXRoXG4gICAqIGByZXRhaW5faGlkZGVuX3ZhbHVlYCA9IGB0cnVlYC5cbiAgICpcbiAgICogKiBGb3IgQ29sbGVjdGlvbiBmaWVsZCB0eXBlcywgaW5jbHVkaW5nIGNvbGxlY3Rpb25zIG9mIENvbXBsZXggYW5kIERvY3VtZW50IGZpZWxkIHR5cGVzLCB0aGUgcmVwbGFjZW1lbnQgaXNcbiAgICogcGVyZm9ybWVkIGZvciBhbGwgZmllbGRzIGluIHRoZSBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZm9ybUdyb3VwIFRoZSBgRm9ybUdyb3VwYCBpbnN0YW5jZSB3aG9zZSByYXcgdmFsdWVzIGFyZSB0byBiZSB0cmF2ZXJzZWRcbiAgICogQHBhcmFtIGNhc2VGaWVsZHMgVGhlIGFycmF5IG9mIHtAbGluayBDYXNlRmllbGR9IGRvbWFpbiBtb2RlbCBvYmplY3RzIGNvcnJlc3BvbmRpbmcgdG8gZmllbGRzIGluIGBmb3JtR3JvdXBgXG4gICAqIEBwYXJhbSBwYXJlbnRGaWVsZCBSZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBgQ2FzZUZpZWxkYC4gVXNlZCBmb3IgcmV0cmlldmluZyB0aGUgc3ViLWZpZWxkIHZhbHVlcyBvZiBhIENvbXBsZXggZmllbGRcbiAgICogdG8gcGVyZm9ybSByZWN1cnNpdmUgcmVwbGFjZW1lbnQgLSB0aGUgc3ViLWZpZWxkIGBDYXNlRmllbGRgcyB0aGVtc2VsdmVzIGRvICpub3QqIGNvbnRhaW4gYW55IHZhbHVlc1xuICAgKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCB0aGUgKnJhdyogZm9ybSB2YWx1ZSBkYXRhIChhcyBrZXktdmFsdWUgcGFpcnMpLCB3aXRoIGFueSB2YWx1ZSByZXBsYWNlbWVudHMgYXMgbmVjZXNzYXJ5XG4gICAqL1xuICBwcml2YXRlIHJlcGxhY2VIaWRkZW5Gb3JtVmFsdWVzV2l0aE9yaWdpbmFsQ2FzZURhdGEoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdLCBwYXJlbnRGaWVsZD86IENhc2VGaWVsZCk6IG9iamVjdCB7XG4gICAgLy8gR2V0IHRoZSByYXcgZm9ybSB2YWx1ZSBkYXRhLCB3aGljaCBpbmNsdWRlcyB0aGUgdmFsdWVzIG9mIGFueSBkaXNhYmxlZCBjb250cm9scywgYXMga2V5LXZhbHVlIHBhaXJzXG4gICAgY29uc3QgcmF3Rm9ybVZhbHVlRGF0YSA9IGZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgLy8gUGxhY2UgYWxsIGNhc2UgZmllbGRzIGluIGEgbG9va3VwIG9iamVjdCwgc28gdGhleSBjYW4gYmUgcmV0cmlldmVkIGJ5IGlkXG4gICAgY29uc3QgY2FzZUZpZWxkc0xvb2t1cCA9IHt9O1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBjYXNlRmllbGRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjYXNlRmllbGRzTG9va3VwW2Nhc2VGaWVsZHNbaV0uaWRdID0gY2FzZUZpZWxkc1tpXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBsYWNlIGFueSBmb3JtIHZhbHVlIHdpdGggdGhlIG9yaWdpbmFsLCB3aGVyZSBpdHMgQ2FzZUZpZWxkIGlzIGhpZGRlbiBBTkQgaGFzIHRoZSByZXRhaW5faGlkZGVuX3ZhbHVlIGZsYWcgc2V0XG4gICAgICogdG8gdHJ1ZS5cbiAgICAgKlxuICAgICAqIElmIHRoZSBDYXNlRmllbGQncyBgaGlkZGVuYCBhdHRyaWJ1dGUgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZW4gY2hlY2sgdGhpcyBhdHRyaWJ1dGUgaW4gdGhlIHBhcmVudCBDYXNlRmllbGQgKGlmXG4gICAgICogb25lIGV4aXN0cykuIFRoaXMgaXMgb2NjdXJyaW5nIChhbmQgaXMgcG9zc2libHkgYSBidWcpIHdoZW4gYSBDYXNlRmllbGQgaXMgYSBzdWItZmllbGQgb2YgYSBDb21wbGV4IHR5cGUsIG9yIGFuXG4gICAgICogaXRlbSBpbiBhIENvbGxlY3Rpb24gdHlwZS5cbiAgICAgKlxuICAgICAqIElmIHRoZSBmaWVsZCBpcyBhIENvbXBsZXggdHlwZSB3aXRoIHJldGFpbl9oaWRkZW5fdmFsdWUgPSB0cnVlLCBwZXJmb3JtIGEgcmVjdXJzaXZlIHJlcGxhY2VtZW50IGZvciBhbGwgKGhpZGRlbilcbiAgICAgKiBzdWItZmllbGRzIHdpdGggcmV0YWluX2hpZGRlbl92YWx1ZSA9IHRydWUsIHVzaW5nIHRoZWlyIG9yaWdpbmFsIENhc2VGaWVsZCB2YWx1ZXMgKGZyb20gdGhlIGBmb3JtYXR0ZWRfdmFsdWVgXG4gICAgICogYXR0cmlidXRlKS5cbiAgICAgKlxuICAgICAqIElmIHRoZSBmaWVsZCBpcyBhIENvbGxlY3Rpb24gdHlwZSB3aXRoIHJldGFpbl9oaWRkZW5fdmFsdWUgPSB0cnVlLCB0aGUgZW50aXJlIGNvbGxlY3Rpb24gaXMgcmVwbGFjZWQgd2l0aCB0aGVcbiAgICAgKiBvcmlnaW5hbCBmcm9tIGBmb3JtYXR0ZWRfdmFsdWVgLiBUaGlzIGFwcGxpZXMgdG8gKmFsbCogdHlwZXMgb2YgQ29sbGVjdGlvbnMuXG4gICAgICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBPYmplY3Qua2V5cyhyYXdGb3JtVmFsdWVEYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNhc2VGaWVsZDogQ2FzZUZpZWxkID0gY2FzZUZpZWxkc0xvb2t1cFtrZXldO1xuICAgICAgLy8gSWYgY2FzZUZpZWxkLmhpZGRlbiBpcyBOT1QgdHJ1dGh5IGFuZCBhbHNvIE5PVCBlcXVhbCB0byBmYWxzZSwgdGhlbiBpdCBtdXN0IGJlIG51bGwvdW5kZWZpbmVkIChyZW1lbWJlciB0aGF0XG4gICAgICAvLyBib3RoIG51bGwgYW5kIHVuZGVmaW5lZCBhcmUgZXF1YWwgdG8gKm5laXRoZXIgZmFsc2Ugbm9yIHRydWUqKVxuICAgICAgaWYgKGNhc2VGaWVsZCAmJiBjYXNlRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSAmJlxuICAgICAgICAoY2FzZUZpZWxkLmhpZGRlbiB8fCAoY2FzZUZpZWxkLmhpZGRlbiAhPT0gZmFsc2UgJiYgcGFyZW50RmllbGQgJiYgcGFyZW50RmllbGQuaGlkZGVuKSkpIHtcbiAgICAgICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgICAgIC8vIE5vdGU6IERlbGliZXJhdGUgdXNlIG9mIGVxdWFsaXR5ICg9PSkgYW5kIG5vbi1lcXVhbGl0eSAoIT0pIG9wZXJhdG9ycyBmb3IgbnVsbCBjaGVja3MgdGhyb3VnaG91dCwgdG9cbiAgICAgICAgICAvLyBoYW5kbGUgYm90aCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzXG4gICAgICAgICAgaWYgKGNhc2VGaWVsZC52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAvLyBDYWxsIHRoaXMgZnVuY3Rpb24gcmVjdXJzaXZlbHkgdG8gcmVwbGFjZSB0aGUgQ29tcGxleCBmaWVsZCdzIHN1Yi1maWVsZHMgYXMgbmVjZXNzYXJ5LCBwYXNzaW5nIHRoZVxuICAgICAgICAgICAgLy8gQ2FzZUZpZWxkIGl0c2VsZiAodGhlIHN1Yi1maWVsZHMgZG8gbm90IGNvbnRhaW4gYW55IHZhbHVlcywgc28gdGhlc2UgbmVlZCB0byBiZSBvYnRhaW5lZCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gcGFyZW50KVxuICAgICAgICAgICAgLy8gVXBkYXRlIHJhd0Zvcm1WYWx1ZURhdGEgZm9yIHRoaXMgZmllbGRcbiAgICAgICAgICAgIC8vIGNyZWF0aW5nIGZvcm0gZ3JvdXAgYW5kIGFkZGluZyBjb250cm9sIGludG8gaXQgaW4gY2FzZSBjYXNlRmllbGQgaXMgb2YgY29tcGxleHQgdHlwZSBhbmQgYW5kIHBhcnQgb2YgZm9ybUdyb3VwXG4gICAgICAgICAgICBjb25zdCBmb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICAgICAgICAgIGlmIChmb3JtR3JvdXAuY29udHJvbHNba2V5XS52YWx1ZSkge1xuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHNba2V5XS52YWx1ZSkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGZvcm0uYWRkQ29udHJvbChpdGVtLCBuZXcgRm9ybUNvbnRyb2woZm9ybUdyb3VwLmNvbnRyb2xzW2tleV0udmFsdWVbaXRlbV0pKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByYXdGb3JtVmFsdWVEYXRhW2tleV0gPSB0aGlzLnJlcGxhY2VIaWRkZW5Gb3JtVmFsdWVzV2l0aE9yaWdpbmFsQ2FzZURhdGEoXG4gICAgICAgICAgICAgIGZvcm0sIGNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzLCBjYXNlRmllbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBEZWZhdWx0IGNhc2UgYWxzbyBoYW5kbGVzIGNvbGxlY3Rpb25zIG9mICphbGwqIHR5cGVzOyB0aGUgZW50aXJlIGNvbGxlY3Rpb24gaW4gcmF3Rm9ybVZhbHVlRGF0YSB3aWxsIGJlXG4gICAgICAgICAgLy8gcmVwbGFjZWQgd2l0aCB0aGUgb3JpZ2luYWwgZnJvbSBmb3JtYXR0ZWRfdmFsdWVcbiAgICAgICAgICAvLyBVc2UgdGhlIENhc2VGaWVsZCdzIGV4aXN0aW5nICpmb3JtYXR0ZWRfdmFsdWUqIGZyb20gdGhlIHBhcmVudCwgaWYgYXZhaWxhYmxlLiAoVGhpcyBpcyBuZWNlc3NhcnkgZm9yXG4gICAgICAgICAgLy8gQ29tcGxleCBmaWVsZHMsIHdob3NlIHN1Yi1maWVsZHMgZG8gbm90IGhvbGQgYW55IHZhbHVlcyBpbiB0aGUgbW9kZWwuKSBPdGhlcndpc2UsIHVzZSBmb3JtYXR0ZWRfdmFsdWVcbiAgICAgICAgICAvLyBmcm9tIHRoZSBDYXNlRmllbGQgaXRzZWxmLlxuICAgICAgICAgIGlmIChwYXJlbnRGaWVsZCAmJiBwYXJlbnRGaWVsZC5mb3JtYXR0ZWRfdmFsdWUpIHtcbiAgICAgICAgICAgIHJhd0Zvcm1WYWx1ZURhdGFba2V5XSA9IHBhcmVudEZpZWxkLmZvcm1hdHRlZF92YWx1ZVtjYXNlRmllbGQuaWRdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIShjYXNlRmllbGQuaGlkZGVuICYmIGNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlKSkge1xuICAgICAgICAgICAgICByYXdGb3JtVmFsdWVEYXRhW2tleV0gPSBjYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJhd0Zvcm1WYWx1ZURhdGE7XG4gIH1cblxuICBwcml2YXRlIGNhc2VTdWJtaXQoeyBmb3JtLCBjYXNlRXZlbnREYXRhLCBzdWJtaXQgfTogQ2FzZUVkaXRDYXNlU3VibWl0KTogdm9pZCB7XG4gICAgY29uc3QgbG9hZGluZ1NwaW5uZXJUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICAvLyBrZWVwIHRoZSBpbml0aWFsIGV2ZW50IHJlc3BvbnNlIHRvIGZpbmFsaXNlIHByb2Nlc3MgYWZ0ZXIgdGFzayBjb21wbGV0aW9uXG4gICAgbGV0IGV2ZW50UmVzcG9uc2U6IG9iamVjdDtcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCd0YXNrQ29tcGxldGlvbkVycm9yJywgJ2ZhbHNlJyk7XG4gICAgc3VibWl0KGNhc2VFdmVudERhdGEpLnBpcGUoc3dpdGNoTWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgZXZlbnRSZXNwb25zZSA9IHJlc3BvbnNlO1xuICAgICAgcmV0dXJuIHRoaXMucG9zdENvbXBsZXRlVGFza0lmUmVxdWlyZWQoKTtcbiAgICB9KSxmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3Rlcihsb2FkaW5nU3Bpbm5lclRva2VuKTtcbiAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICBpZiAoIWV2ZW50UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIC8vIGV2ZW50IHN1Ym1pc3Npb24gZXJyb3JcbiAgICAgICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgICAgIHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0Lm5leHQoZXJyb3IpO1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmVycm9yLmRldGFpbHMpIHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtRXJyb3JTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLm1hcEZpZWxkRXJyb3JzKHRoaXMuZXJyb3IuZGV0YWlscy5maWVsZF9lcnJvcnMsIGZvcm0uY29udHJvbHNbJ2RhdGEnXSBhcyBGb3JtR3JvdXAsICd2YWxpZGF0aW9uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCd0YXNrQ29tcGxldGlvbkVycm9yJywgJ3RydWUnKTtcbiAgICAgICAgICAgIC8vIHRhc2sgYXNzaWdubWVudC9jb21wbGV0aW9uIGVycm9yIC0gaGFuZGxlZCB3aXRoaW4gd29ya2FsbG9jYXRpb24gc2VydmljZVxuICAgICAgICAgICAgLy8gY291bGQgc2V0IHRhc2sgdG8gYmUgZGVsZXRlZCAob3IgY29tcGxldGVkIGxhdGVyKT9cbiAgICAgICAgICAgIHRoaXMuZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZSk7XG4gICAgICAgICAgICAvLyBiZWxvdyBhbGxvd3MgZXJyb3IgdG8gYmUgc2hvd24gb24gbmF2aWdhdGlvbiB0byBjb25maXJtYXRpb24gcGFnZVxuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2V0UHJlc2VydmVBbGVydHModHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcih7cGhyYXNlOiBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3N0Q29tcGxldGVUYXNrSWZSZXF1aXJlZCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHRhc2tTdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd0YXNrVG9Db21wbGV0ZScpO1xuICAgIGNvbnN0IGFzc2lnbk5lZWRlZCA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Fzc2lnbk5lZWRlZCcpID09PSAndHJ1ZSc7XG4gICAgaWYgKHRhc2tTdHIgJiYgYXNzaWduTmVlZGVkKSB7XG4gICAgICBjb25zdCB0YXNrOiBUYXNrID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5hc3NpZ25BbmRDb21wbGV0ZVRhc2sodGFzay5pZCk7XG4gICAgfSBlbHNlIGlmICh0YXNrU3RyKSB7XG4gICAgICBjb25zdCB0YXNrOiBUYXNrID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5jb21wbGV0ZVRhc2sodGFzay5pZCk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcgPSBudWxsO1xuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgY29uc3QgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb24gPSB0aGlzLmJ1aWxkQ29uZmlybWF0aW9uKGV2ZW50UmVzcG9uc2UpO1xuICAgIGlmIChjb25maXJtYXRpb24gJiYgKGNvbmZpcm1hdGlvbi5nZXRIZWFkZXIoKSB8fCBjb25maXJtYXRpb24uZ2V0Qm9keSgpKSkge1xuICAgICAgdGhpcy5jb25maXJtKGNvbmZpcm1hdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1pdFN1Ym1pdHRlZChldmVudFJlc3BvbnNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ29uZmlybWF0aW9uKHJlc3BvbnNlOiBvYmplY3QpOiBDb25maXJtYXRpb24ge1xuICAgIGlmIChyZXNwb25zZVsnYWZ0ZXJfc3VibWl0X2NhbGxiYWNrX3Jlc3BvbnNlJ10pIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmlybWF0aW9uKFxuICAgICAgICByZXNwb25zZVsnaWQnXSxcbiAgICAgICAgcmVzcG9uc2VbJ2NhbGxiYWNrX3Jlc3BvbnNlX3N0YXR1cyddLFxuICAgICAgICByZXNwb25zZVsnYWZ0ZXJfc3VibWl0X2NhbGxiYWNrX3Jlc3BvbnNlJ11bJ2NvbmZpcm1hdGlvbl9oZWFkZXInXSxcbiAgICAgICAgcmVzcG9uc2VbJ2FmdGVyX3N1Ym1pdF9jYWxsYmFja19yZXNwb25zZSddWydjb25maXJtYXRpb25fYm9keSddXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25FdmVudENhbkJlQ29tcGxldGVkKHsgZXZlbnRUcmlnZ2VyLCBldmVudENhbkJlQ29tcGxldGVkLCBjYXNlRGV0YWlscywgZm9ybSwgc3VibWl0IH06IENhc2VFZGl0b25FdmVudENhbkJlQ29tcGxldGVkKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50Q2FuQmVDb21wbGV0ZWQpIHtcbiAgICAgIC8vIFN1Ym1pdFxuICAgICAgY29uc3QgY2FzZUV2ZW50RGF0YSA9IHRoaXMuZ2VuZXJhdGVDYXNlRXZlbnREYXRhKHsgZXZlbnRUcmlnZ2VyLCBmb3JtIH0pO1xuICAgICAgdGhpcy5jYXNlU3VibWl0KHsgZm9ybSwgY2FzZUV2ZW50RGF0YSwgc3VibWl0IH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOYXZpZ2F0ZSB0byB0YXNrcyB0YWIgb24gY2FzZSBkZXRhaWxzIHBhZ2VcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke3RoaXMuZ2V0Q2FzZUlkKGNhc2VEZXRhaWxzKX0vdGFza3NgXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGF0dXMocmVzcG9uc2U6IG9iamVjdCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzQ2FsbGJhY2tGYWlsZWQocmVzcG9uc2UpID8gcmVzcG9uc2VbJ2NhbGxiYWNrX3Jlc3BvbnNlX3N0YXR1cyddIDogcmVzcG9uc2VbJ2RlbGV0ZV9kcmFmdF9yZXNwb25zZV9zdGF0dXMnXTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzQ2FsbGJhY2tGYWlsZWQocmVzcG9uc2U6IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXNwb25zZVsnY2FsbGJhY2tfcmVzcG9uc2Vfc3RhdHVzJ10gIT09ICdDQUxMQkFDS19DT01QTEVURUQnO1xuICB9XG59XG4iLCI8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4iXX0=