@hmcts/ccd-case-ui-toolkit 7.1.80 → 7.2.0

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 (327) hide show
  1. package/esm2022/lib/components/banners/alert/alert-icon-class.pipe.mjs +2 -2
  2. package/esm2022/lib/components/banners/alert/alert.component.mjs +2 -2
  3. package/esm2022/lib/components/banners/alert/alert.module.mjs +2 -2
  4. package/esm2022/lib/components/banners/banners.module.mjs +2 -2
  5. package/esm2022/lib/components/banners/notification-banner/notification-banner.component.mjs +2 -2
  6. package/esm2022/lib/components/banners/notification-banner/notification-banner.module.mjs +2 -2
  7. package/esm2022/lib/components/body/body.component.mjs +2 -2
  8. package/esm2022/lib/components/body/body.module.mjs +2 -2
  9. package/esm2022/lib/components/footer/footer.component.mjs +2 -2
  10. package/esm2022/lib/components/footer/footers.module.mjs +2 -2
  11. package/esm2022/lib/components/form/date-input/date-input.component.mjs +2 -2
  12. package/esm2022/lib/components/form/form.module.mjs +2 -2
  13. package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +2 -2
  14. package/esm2022/lib/components/header/headers.module.mjs +2 -2
  15. package/esm2022/lib/components/header/navigation/navigation-item.component.mjs +2 -2
  16. package/esm2022/lib/components/header/navigation/navigation.component.mjs +2 -2
  17. package/esm2022/lib/components/header/phase/phase.component.mjs +2 -2
  18. package/esm2022/lib/components/tabs/tab.component.mjs +2 -2
  19. package/esm2022/lib/components/tabs/tabs.component.mjs +2 -2
  20. package/esm2022/lib/components/tabs/tabs.module.mjs +2 -2
  21. package/esm2022/lib/shared/commons/address-validation-constants.mjs +2 -2
  22. package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +2 -2
  23. package/esm2022/lib/shared/commons/constants.mjs +2 -2
  24. package/esm2022/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +2 -2
  25. package/esm2022/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +2 -2
  26. package/esm2022/lib/shared/components/activity/activity.component.mjs +2 -2
  27. package/esm2022/lib/shared/components/activity/activity.module.mjs +2 -2
  28. package/esm2022/lib/shared/components/case-editor/case-create/case-create.component.mjs +2 -2
  29. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +2 -2
  30. package/esm2022/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +2 -2
  31. package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +2 -2
  32. package/esm2022/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +2 -2
  33. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +2 -2
  34. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +2 -2
  35. package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +2 -2
  36. package/esm2022/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +2 -2
  37. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +2 -2
  38. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +2 -2
  39. package/esm2022/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +2 -2
  40. package/esm2022/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +2 -2
  41. package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +2 -2
  42. package/esm2022/lib/shared/components/case-editor/services/case-worker.service.mjs +2 -2
  43. package/esm2022/lib/shared/components/case-editor/services/case.notifier.mjs +2 -2
  44. package/esm2022/lib/shared/components/case-editor/services/cases.service.mjs +2 -2
  45. package/esm2022/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +2 -2
  46. package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +2 -2
  47. package/esm2022/lib/shared/components/case-editor/services/event-trigger.service.mjs +2 -2
  48. package/esm2022/lib/shared/components/case-editor/services/judicial-worker.service.mjs +2 -2
  49. package/esm2022/lib/shared/components/case-editor/services/page-validation.service.mjs +2 -2
  50. package/esm2022/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +2 -2
  51. package/esm2022/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +2 -2
  52. package/esm2022/lib/shared/components/case-editor/services/work-allocation.service.mjs +2 -2
  53. package/esm2022/lib/shared/components/case-header/case-header.component.mjs +2 -2
  54. package/esm2022/lib/shared/components/case-header/case-header.module.mjs +2 -2
  55. package/esm2022/lib/shared/components/case-history/case-history.component.mjs +2 -2
  56. package/esm2022/lib/shared/components/case-history/case-history.module.mjs +2 -2
  57. package/esm2022/lib/shared/components/case-history/services/case-history.service.mjs +2 -2
  58. package/esm2022/lib/shared/components/case-list/case-list.component.mjs +2 -2
  59. package/esm2022/lib/shared/components/case-list/case-list.module.mjs +2 -2
  60. package/esm2022/lib/shared/components/case-list-filters/case-list-filters.component.mjs +2 -2
  61. package/esm2022/lib/shared/components/case-list-filters/case-list-filters.module.mjs +2 -2
  62. package/esm2022/lib/shared/components/case-timeline/case-timeline.component.mjs +2 -2
  63. package/esm2022/lib/shared/components/case-timeline/case-timeline.module.mjs +2 -2
  64. package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +2 -2
  65. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +2 -2
  66. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +2 -2
  67. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +2 -2
  68. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +2 -2
  69. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +2 -2
  70. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +2 -2
  71. package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +2 -2
  72. package/esm2022/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +2 -2
  73. package/esm2022/lib/shared/components/case-viewer/case-view/case-view.component.mjs +2 -2
  74. package/esm2022/lib/shared/components/case-viewer/case-viewer.component.mjs +2 -2
  75. package/esm2022/lib/shared/components/case-viewer/case-viewer.module.mjs +2 -2
  76. package/esm2022/lib/shared/components/case-viewer/printer/case-printer.component.mjs +2 -2
  77. package/esm2022/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +2 -2
  78. package/esm2022/lib/shared/components/case-viewer/services/case.resolver.mjs +2 -2
  79. package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +2 -2
  80. package/esm2022/lib/shared/components/create-case-filters/create-case-filters.component.mjs +2 -2
  81. package/esm2022/lib/shared/components/create-case-filters/create-case-filters.module.mjs +2 -2
  82. package/esm2022/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +2 -2
  83. package/esm2022/lib/shared/components/dialogs/dialogs.module.mjs +2 -2
  84. package/esm2022/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +2 -2
  85. package/esm2022/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +2 -2
  86. package/esm2022/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +2 -2
  87. package/esm2022/lib/shared/components/error/callback-errors.component.mjs +2 -2
  88. package/esm2022/lib/shared/components/error/errors.module.mjs +2 -2
  89. package/esm2022/lib/shared/components/error-message/error-message.component.mjs +2 -2
  90. package/esm2022/lib/shared/components/error-message/error-message.module.mjs +2 -2
  91. package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +2 -2
  92. package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +2 -2
  93. package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +2 -2
  94. package/esm2022/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +2 -2
  95. package/esm2022/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +2 -2
  96. package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +2 -2
  97. package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +2 -2
  98. package/esm2022/lib/shared/components/event-start/event-start.component.mjs +2 -2
  99. package/esm2022/lib/shared/components/event-start/event-start.module.mjs +2 -2
  100. package/esm2022/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +2 -2
  101. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +2 -2
  102. package/esm2022/lib/shared/components/event-trigger/event-trigger.component.mjs +2 -2
  103. package/esm2022/lib/shared/components/event-trigger/event-trigger.module.mjs +2 -2
  104. package/esm2022/lib/shared/components/loading-spinner/loading-spinner.component.mjs +2 -2
  105. package/esm2022/lib/shared/components/loading-spinner/loading-spinner.module.mjs +2 -2
  106. package/esm2022/lib/shared/components/pagination/pagination.component.mjs +2 -2
  107. package/esm2022/lib/shared/components/pagination/pagination.module.mjs +2 -2
  108. package/esm2022/lib/shared/components/palette/address/write-address-field.component.mjs +2 -2
  109. package/esm2022/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +2 -2
  110. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write-journey.component.mjs +2 -2
  111. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +2 -2
  112. package/esm2022/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +2 -2
  113. package/esm2022/lib/shared/components/palette/base-field/abstract-journey.component.mjs +2 -2
  114. package/esm2022/lib/shared/components/palette/base-field/field-read-label.component.mjs +2 -2
  115. package/esm2022/lib/shared/components/palette/base-field/field-read.component.mjs +2 -2
  116. package/esm2022/lib/shared/components/palette/base-field/field-write.component.mjs +2 -2
  117. package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +2 -2
  118. 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 +2 -2
  119. 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 +2 -2
  120. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +2 -2
  121. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +2 -2
  122. package/esm2022/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +2 -2
  123. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +2 -2
  124. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +2 -2
  125. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +2 -2
  126. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +2 -2
  127. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +2 -2
  128. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +2 -2
  129. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +2 -2
  130. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +2 -2
  131. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +2 -2
  132. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +2 -2
  133. package/esm2022/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +2 -2
  134. package/esm2022/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +2 -2
  135. package/esm2022/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +2 -2
  136. package/esm2022/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +2 -2
  137. package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +2 -2
  138. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +2 -2
  139. package/esm2022/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +2 -2
  140. package/esm2022/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +2 -2
  141. package/esm2022/lib/shared/components/palette/collection/collection-create-checker.service.mjs +2 -2
  142. package/esm2022/lib/shared/components/palette/collection/read-collection-field.component.mjs +2 -2
  143. package/esm2022/lib/shared/components/palette/collection/write-collection-field.component.mjs +2 -2
  144. package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +2 -2
  145. package/esm2022/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +2 -2
  146. package/esm2022/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +2 -2
  147. package/esm2022/lib/shared/components/palette/complex/read-complex-field.component.mjs +2 -2
  148. package/esm2022/lib/shared/components/palette/complex/write-complex-field.component.mjs +2 -2
  149. package/esm2022/lib/shared/components/palette/date/read-date-field.component.mjs +2 -2
  150. package/esm2022/lib/shared/components/palette/date/write-date-container-field.component.mjs +2 -2
  151. package/esm2022/lib/shared/components/palette/date/write-date-field.component.mjs +2 -2
  152. package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +2 -2
  153. package/esm2022/lib/shared/components/palette/document/document-url.pipe.mjs +2 -2
  154. package/esm2022/lib/shared/components/palette/document/file-upload-progress.guard.mjs +2 -2
  155. package/esm2022/lib/shared/components/palette/document/file-upload-state.service.mjs +2 -2
  156. package/esm2022/lib/shared/components/palette/document/read-document-field.component.mjs +2 -2
  157. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +2 -2
  158. package/esm2022/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +2 -2
  159. package/esm2022/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +2 -2
  160. package/esm2022/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +2 -2
  161. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +2 -2
  162. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +2 -2
  163. package/esm2022/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +2 -2
  164. package/esm2022/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +2 -2
  165. package/esm2022/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +2 -2
  166. package/esm2022/lib/shared/components/palette/email/read-email-field.component.mjs +2 -2
  167. package/esm2022/lib/shared/components/palette/email/write-email-field.component.mjs +2 -2
  168. package/esm2022/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +2 -2
  169. package/esm2022/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +2 -2
  170. package/esm2022/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +2 -2
  171. package/esm2022/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +2 -2
  172. package/esm2022/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +2 -2
  173. package/esm2022/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +2 -2
  174. package/esm2022/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +2 -2
  175. package/esm2022/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +2 -2
  176. package/esm2022/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +2 -2
  177. package/esm2022/lib/shared/components/palette/history/event-log/event-log.component.mjs +2 -2
  178. package/esm2022/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +2 -2
  179. package/esm2022/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +2 -2
  180. package/esm2022/lib/shared/components/palette/label/label-field.component.mjs +2 -2
  181. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +2 -2
  182. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +2 -2
  183. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +2 -2
  184. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +2 -2
  185. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +2 -2
  186. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +2 -2
  187. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +2 -2
  188. package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +2 -2
  189. package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +2 -2
  190. package/esm2022/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +2 -2
  191. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +2 -2
  192. package/esm2022/lib/shared/components/palette/markdown/markdown-component.module.mjs +2 -2
  193. package/esm2022/lib/shared/components/palette/markdown/markdown.component.mjs +9 -5
  194. package/esm2022/lib/shared/components/palette/markdown/routerlink.component.mjs +2 -2
  195. package/esm2022/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +2 -2
  196. package/esm2022/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +2 -2
  197. package/esm2022/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +2 -2
  198. package/esm2022/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +2 -2
  199. package/esm2022/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +2 -2
  200. package/esm2022/lib/shared/components/palette/number/read-number-field.component.mjs +2 -2
  201. package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +2 -2
  202. package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +2 -2
  203. package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +2 -2
  204. package/esm2022/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +2 -2
  205. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +2 -2
  206. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +2 -2
  207. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +2 -2
  208. package/esm2022/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +2 -2
  209. package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +2 -2
  210. package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -2
  211. package/esm2022/lib/shared/components/palette/palette.service.mjs +2 -2
  212. package/esm2022/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +2 -2
  213. package/esm2022/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +2 -2
  214. package/esm2022/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +2 -2
  215. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +2 -2
  216. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +2 -2
  217. package/esm2022/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +2 -2
  218. package/esm2022/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +2 -2
  219. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +2 -2
  220. package/esm2022/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.mjs +2 -2
  221. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +2 -2
  222. package/esm2022/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +2 -2
  223. package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +2 -2
  224. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +2 -2
  225. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +2 -2
  226. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +2 -2
  227. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +2 -2
  228. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +2 -2
  229. package/esm2022/lib/shared/components/palette/query-management/services/qualifying-question.service.mjs +2 -2
  230. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +2 -2
  231. package/esm2022/lib/shared/components/palette/text/read-text-field.component.mjs +2 -2
  232. package/esm2022/lib/shared/components/palette/text/write-text-field.component.mjs +2 -2
  233. package/esm2022/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +2 -2
  234. package/esm2022/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +2 -2
  235. package/esm2022/lib/shared/components/palette/unsupported-field.component.mjs +2 -2
  236. package/esm2022/lib/shared/components/palette/utils/dash.pipe.mjs +2 -2
  237. package/esm2022/lib/shared/components/palette/utils/date.pipe.mjs +2 -2
  238. package/esm2022/lib/shared/components/palette/utils/field-label.pipe.mjs +2 -2
  239. package/esm2022/lib/shared/components/palette/utils/first-error.pipe.mjs +2 -2
  240. package/esm2022/lib/shared/components/palette/utils/is-compound.pipe.mjs +2 -2
  241. package/esm2022/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +2 -2
  242. package/esm2022/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +2 -2
  243. package/esm2022/lib/shared/components/palette/utils/is-read-only.pipe.mjs +2 -2
  244. package/esm2022/lib/shared/components/palette/utils/utils.module.mjs +2 -2
  245. package/esm2022/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +2 -2
  246. package/esm2022/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +2 -2
  247. package/esm2022/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +2 -2
  248. package/esm2022/lib/shared/components/palette/yes-no/yes-no.service.mjs +2 -2
  249. package/esm2022/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +2 -2
  250. package/esm2022/lib/shared/components/search-filters/search-filters.component.mjs +2 -2
  251. package/esm2022/lib/shared/components/search-filters/search-filters.module.mjs +2 -2
  252. package/esm2022/lib/shared/components/search-result/search-result.component.mjs +2 -2
  253. package/esm2022/lib/shared/components/search-result/search-result.module.mjs +2 -2
  254. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +2 -2
  255. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +2 -2
  256. package/esm2022/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +2 -2
  257. package/esm2022/lib/shared/directives/conditional-show/conditional-show.module.mjs +2 -2
  258. package/esm2022/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +2 -2
  259. package/esm2022/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +2 -2
  260. package/esm2022/lib/shared/directives/focus-element/focus-element.directive.mjs +2 -2
  261. package/esm2022/lib/shared/directives/focus-element/focus-element.module.mjs +2 -2
  262. package/esm2022/lib/shared/directives/substitutor/label-substitutor.directive.mjs +2 -2
  263. package/esm2022/lib/shared/directives/substitutor/label-substitutor.module.mjs +2 -2
  264. package/esm2022/lib/shared/directives/substitutor/services/placeholder.service.mjs +2 -2
  265. package/esm2022/lib/shared/domain/organisation/organisation-converter.mjs +2 -2
  266. package/esm2022/lib/shared/pipes/case-reference/case-reference.pipe.mjs +2 -2
  267. package/esm2022/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +2 -2
  268. package/esm2022/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +2 -2
  269. package/esm2022/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +2 -2
  270. package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +2 -2
  271. package/esm2022/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +2 -2
  272. package/esm2022/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +2 -2
  273. package/esm2022/lib/shared/pipes/complex/fields-filter.pipe.mjs +2 -2
  274. package/esm2022/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +2 -2
  275. package/esm2022/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +2 -2
  276. package/esm2022/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +2 -2
  277. package/esm2022/lib/shared/pipes/pipes.module.mjs +2 -2
  278. package/esm2022/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +2 -2
  279. package/esm2022/lib/shared/services/activity/activity.polling.service.mjs +2 -2
  280. package/esm2022/lib/shared/services/activity/activity.service.mjs +2 -2
  281. package/esm2022/lib/shared/services/addresses/addresses.service.mjs +2 -2
  282. package/esm2022/lib/shared/services/alert/alert.service.mjs +2 -2
  283. package/esm2022/lib/shared/services/auth/auth.service.mjs +2 -2
  284. package/esm2022/lib/shared/services/banners/banners.service.mjs +2 -2
  285. package/esm2022/lib/shared/services/browser/browser.service.mjs +2 -2
  286. package/esm2022/lib/shared/services/case-fields/case-field.service.mjs +2 -2
  287. package/esm2022/lib/shared/services/case-fields/format-translator.service.mjs +2 -2
  288. package/esm2022/lib/shared/services/case-file-view/case-file-view.service.mjs +2 -2
  289. package/esm2022/lib/shared/services/case-flag/case-flag-refdata.service.mjs +2 -2
  290. package/esm2022/lib/shared/services/common-data-service/common-data-service.mjs +2 -2
  291. package/esm2022/lib/shared/services/cookie/read-cookie-service.mjs +2 -2
  292. package/esm2022/lib/shared/services/definitions/definitions.module.mjs +2 -2
  293. package/esm2022/lib/shared/services/definitions/definitions.service.mjs +2 -2
  294. package/esm2022/lib/shared/services/document-management/document-management.service.mjs +2 -2
  295. package/esm2022/lib/shared/services/draft/draft.service.mjs +2 -2
  296. package/esm2022/lib/shared/services/error/error-notifier.service.mjs +2 -2
  297. package/esm2022/lib/shared/services/eventStatusService/event-status.service.mjs +2 -2
  298. package/esm2022/lib/shared/services/fields/fields.purger.mjs +2 -2
  299. package/esm2022/lib/shared/services/fields/fields.utils.mjs +2 -2
  300. package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +2 -2
  301. package/esm2022/lib/shared/services/form/form-error.service.mjs +2 -2
  302. package/esm2022/lib/shared/services/form/form-validators.service.mjs +2 -2
  303. package/esm2022/lib/shared/services/form/form-value.service.mjs +2 -2
  304. package/esm2022/lib/shared/services/http/http-error.service.mjs +2 -2
  305. package/esm2022/lib/shared/services/http/http.service.mjs +2 -2
  306. package/esm2022/lib/shared/services/journey/multipage-component-state.service.mjs +2 -2
  307. package/esm2022/lib/shared/services/jurisdiction/jurisdiction.service.mjs +2 -2
  308. package/esm2022/lib/shared/services/loading/loading.module.mjs +2 -2
  309. package/esm2022/lib/shared/services/loading/loading.service.mjs +2 -2
  310. package/esm2022/lib/shared/services/navigation/navigation-notifier.service.mjs +2 -2
  311. package/esm2022/lib/shared/services/order/order.service.mjs +2 -2
  312. package/esm2022/lib/shared/services/organisation/organisation.service.mjs +2 -2
  313. package/esm2022/lib/shared/services/profile/profile.notifier.mjs +2 -2
  314. package/esm2022/lib/shared/services/profile/profile.service.mjs +2 -2
  315. package/esm2022/lib/shared/services/request/request.options.builder.mjs +2 -2
  316. package/esm2022/lib/shared/services/router/router-helper.service.mjs +2 -2
  317. package/esm2022/lib/shared/services/search/search.service.mjs +2 -2
  318. package/esm2022/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +2 -2
  319. package/esm2022/lib/shared/services/session/session-storage.service.mjs +2 -2
  320. package/esm2022/lib/shared/services/utils/retry/retry.service.mjs +2 -2
  321. package/esm2022/lib/shared/services/window/window.service.mjs +2 -2
  322. package/esm2022/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +2 -2
  323. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +330 -326
  324. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  325. package/lib/shared/components/palette/markdown/markdown.component.d.ts +3 -2
  326. package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
  327. package/package.json +1 -1
@@ -220,7 +220,7 @@ export class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent
220
220
  this.jurisdictionSubscription?.unsubscribe();
221
221
  this.notifierSubscription?.unsubscribe();
222
222
  }
223
- static ɵfac = function WriteJudicialUserFieldComponent_Factory(t) { return new (t || WriteJudicialUserFieldComponent)(i0.ɵɵdirectiveInject(i1.JurisdictionService), i0.ɵɵdirectiveInject(i1.SessionStorageService), i0.ɵɵdirectiveInject(i1.CaseFlagRefdataService), i0.ɵɵdirectiveInject(i2.IsCompoundPipe), i0.ɵɵdirectiveInject(i1.FormValidatorsService), i0.ɵɵdirectiveInject(i3.CaseNotifier)); };
223
+ static ɵfac = function WriteJudicialUserFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WriteJudicialUserFieldComponent)(i0.ɵɵdirectiveInject(i1.JurisdictionService), i0.ɵɵdirectiveInject(i1.SessionStorageService), i0.ɵɵdirectiveInject(i1.CaseFlagRefdataService), i0.ɵɵdirectiveInject(i2.IsCompoundPipe), i0.ɵɵdirectiveInject(i1.FormValidatorsService), i0.ɵɵdirectiveInject(i3.CaseNotifier)); };
224
224
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteJudicialUserFieldComponent, selectors: [["ccd-write-judicial-user-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 17, consts: [["autoComplete", "matAutocomplete"], [1, "form-group", 3, "formGroup", "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "form-control", "bottom-30", 3, "blur", "id", "formControl", "matAutocomplete"], ["autoActiveFirstOption", "", 3, "displayWith"], ["class", "select-option", 3, "ngClass", "value", "onSelectionChange", 4, "ngFor", "ngForOf"], ["class", "select-option", "disabled", "", 4, "ngIf"], [1, "form-label"], [1, "form-hint"], [1, "error-message"], [1, "select-option", 3, "onSelectionChange", "ngClass", "value"], ["disabled", "", 1, "select-option"]], template: function WriteJudicialUserFieldComponent_Template(rf, ctx) { if (rf & 1) {
225
225
  const _r1 = i0.ɵɵgetCurrentView();
226
226
  i0.ɵɵelementStart(0, "div", 1)(1, "label", 2);
@@ -263,4 +263,4 @@ export class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent
263
263
  args: [{ selector: 'ccd-write-judicial-user-field', template: "<div class=\"form-group\" [formGroup]=\"formGroup\" [ngClass]=\"{'form-group-error': !!judicialUserControl && errors}\">\n <label [for]=\"id()\">\n <span *ngIf=\"caseField.label\" class=\"form-label\">\n {{caseField | ccdFieldLabel}}\n </span>\n </label>\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">\n {{caseField.hint_text}}\n </span>\n <span class=\"error-message\" *ngIf=\"errors\">\n {{errors | ccdFirstError:caseField.label}}\n </span>\n <input class=\"form-control bottom-30\" [id]=\"id()\"\n [formControl]=\"judicialUserControl\" [matAutocomplete]=\"autoComplete\" (blur)=\"onBlur($event)\">\n <mat-autocomplete autoActiveFirstOption #autoComplete=\"matAutocomplete\" [displayWith]=\"displayJudicialUser\">\n <mat-option *ngFor=\"let judicialUser of filteredJudicialUsers$ | async\"\n class=\"select-option\" [ngClass]=\"{'hide-autocomplete': !showAutocomplete}\"\n [value]=\"judicialUser\" (onSelectionChange)=\"onSelectionChange($event)\">\n {{judicialUser?.fullName ? judicialUser.fullName : ''}}{{judicialUser?.emailId ? ' (' + judicialUser.emailId + ')' : ''}}\n </mat-option>\n <mat-option *ngIf=\"noResults && searchTerm && searchTerm.length > minSearchCharacters && showAutocomplete\" class=\"select-option\" disabled>\n No results found\n </mat-option>\n <mat-option *ngIf=\"invalidSearchTerm\" class=\"select-option\" disabled>\n Invalid search term\n </mat-option>\n </mat-autocomplete>\n</div>\n", styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}\n"] }]
264
264
  }], () => [{ type: i1.JurisdictionService }, { type: i1.SessionStorageService }, { type: i1.CaseFlagRefdataService }, { type: i2.IsCompoundPipe }, { type: i1.FormValidatorsService }, { type: i3.CaseNotifier }], null); })();
265
265
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteJudicialUserFieldComponent, { className: "WriteJudicialUserFieldComponent", filePath: "lib/shared/components/palette/judicial-user/write-judicial-user-field.component.ts", lineNumber: 17 }); })();
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtanVkaWNpYWwtdXNlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9qdWRpY2lhbC11c2VyL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvanVkaWNpYWwtdXNlci93cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsV0FBVyxFQUFvQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLEVBQTRCLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxD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RCxlQUE0RjtZQUE1RixpSUFBNEY7WUFHNUYsY0FBdUI7WUFBdkIsNENBQXVCOzs7aUZEUDNCLCtCQUErQjtjQUwzQyxTQUFTOzJCQUNFLCtCQUErQjs7a0ZBSTlCLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY29uc3RhbnRzJztcbmltcG9ydCB7IEp1ZGljaWFsVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2p1cmlzZGljdGlvbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLCBGaWVsZHNVdGlscywgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlLCBKdXJpc2RpY3Rpb25TZXJ2aWNlLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBsZXgvd3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXNDb21wb3VuZFBpcGUgfSBmcm9tICcuLi91dGlscy9pcy1jb21wb3VuZC5waXBlJztcbmltcG9ydCB7IENhc2VOb3RpZmllciB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2Uubm90aWZpZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtanVkaWNpYWwtdXNlci1maWVsZCcsXG4gIHN0eWxlVXJsczogWycuL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQgZXh0ZW5kcyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDI7XG5cbiAgcHVibGljIGp1ZGljaWFsVXNlckNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgcHVibGljIGZpbHRlcmVkSnVkaWNpYWxVc2VycyQ6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT47XG4gIHB1YmxpYyBzZWFyY2hUZXJtID0gJyc7XG4gIHB1YmxpYyBub1Jlc3VsdHMgPSBmYWxzZTtcbiAgcHVibGljIGVycm9yczogVmFsaWRhdGlvbkVycm9ycztcbiAgcHVibGljIGludmFsaWRTZWFyY2hUZXJtID0gZmFsc2U7XG4gIHB1YmxpYyBqdWRpY2lhbFVzZXJTZWxlY3RlZCA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbm90aWZpZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUZsYWdSZWZEYXRhU2VydmljZTogQ2FzZUZsYWdSZWZkYXRhU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21wb3VuZFBpcGU6IElzQ29tcG91bmRQaXBlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRvcnNTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIpIHtcbiAgICBzdXBlcihjb21wb3VuZFBpcGUsIHZhbGlkYXRvcnNTZXJ2aWNlKTtcbiAgICAvLyBXZSBuZWVkIHRvIGNhc2VUeXBlIGZyb20gdGhlIGNhc2UgbGlzdCBmaWx0ZXJzIGFzIHdlbGwgYXMgdGhlIGNhc2Ugbm90aWZpZXIsIGJlY2F1c2UgdGhlIGp1ZGljaWFsIHVzZXIgY29tcG9uZW50XG4gICAgLy8gY2FuIGJlIHVzZWQgaW4gdGhlIGNhc2UgbGlzdCBiZWZvcmUgYW55IGNhc2UgaXMgb3BlbmVkLCB0aHVzIHRoZSBjYXNlTm90aWZpZXIgaGFzIG5vdGhpbmcgdG8gbm90aWZ5XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TdWJzY3JpcHRpb24gPSB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2UuZ2V0U2VsZWN0ZWRKdXJpc2RpY3Rpb24oKT8uc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChqdXJpc2RpY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGp1cmlzZGljdGlvbj8uY3VycmVudENhc2VUeXBlKSB7XG4gICAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBqdXJpc2RpY3Rpb24uaWQ7XG4gICAgICAgICAgdGhpcy5jYXNlVHlwZSA9IGp1cmlzZGljdGlvbi5jdXJyZW50Q2FzZVR5cGUuaWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubm90aWZpZXJTdWJzY3JpcHRpb24gPSB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5zdWJzY3JpYmUoKGNhc2VEZXRhaWxzKSA9PiB7XG4gICAgICBpZiAoY2FzZURldGFpbHMpIHtcbiAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBjYXNlRGV0YWlscz8uY2FzZV90eXBlPy5qdXJpc2RpY3Rpb24/LmlkO1xuICAgICAgICB0aGlzLmNhc2VUeXBlID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZT8uaWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodGhpcy5jYXNlRmllbGQudmFsdWUpO1xuICAgIC8vIEZvcm1Db250cm9sIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBtYWluIEZvcm1Hcm91cCBzbyBpdCBjYW4gYmUgcGlja2VkIHVwIGJ5IHRoZSBQYWdlVmFsaWRhdGlvblNlcnZpY2Ugd2hlblxuICAgIC8vIGNoZWNraW5nIGlmIHRoZSBwYWdlIGlzIHZhbGlkLiBGb3JtR3JvdXAuc2V0Q29udHJvbCgpIGlzIHVzZWQgaGVyZSB0byBlbnN1cmUgYW55IGV4aXN0aW5nIEp1ZGljaWFsVXNlclxuICAgIC8vIEZvcm1Db250cm9sIGlzIHJlcGxhY2VkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyByZS1pbml0aWFsaXNlZCwgZm9yIGV4YW1wbGUsIGlmIHRoZSB1c2VyIG5hdmlnYXRlcyBhd2F5IHRoZW5cbiAgICAvLyBiYWNrIHRvIHRoZSBwYWdlIGNvbnRhaW5pbmcgdGhlIEp1ZGljaWFsVXNlciBmaWVsZFxuICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2woYCR7dGhpcy5jYXNlRmllbGQuaWR9X2p1ZGljaWFsVXNlckNvbnRyb2xgLCB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wpO1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgRm9ybUNvbnRyb2wgaGFzIGxpbmtzIHRvIHRoZSBKdWRpY2lhbFVzZXIgY2FzZSBmaWVsZCBhbmQgdGhpcyBjb21wb25lbnRcbiAgICBGaWVsZHNVdGlscy5hZGRDYXNlRmllbGRBbmRDb21wb25lbnRSZWZlcmVuY2VzKHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbCwgdGhpcy5jYXNlRmllbGQsIHRoaXMpO1xuICAgIHRoaXMuc2V0dXBWYWxpZGF0aW9uKCk7XG5cbiAgICB0aGlzLmZpbHRlcmVkSnVkaWNpYWxVc2VycyQgPSB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2UpLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAvLyBOZWVkIHRvIGNoZWNrIHR5cGUgb2YgaW5wdXQgYmVjYXVzZSBpdCBjaGFuZ2VzIHRvIG9iamVjdCAoaS5lLiBKdWRpY2lhbFVzZXIpIHdoZW4gYSB2YWx1ZSBpcyBzZWxlY3RlZCBmcm9tIHRoZVxuICAgICAgLy8gYXV0b2NvbXBsZXRlIHBhbmVsLCBpbnN0ZWFkIG9mIHN0cmluZyB3aGVuIGEgdmFsdWUgaXMgYmVpbmcgdHlwZWQgaW5cbiAgICAgIG1hcChpbnB1dCA9PiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnID8gaW5wdXQgOiBpbnB1dD8uZnVsbE5hbWUpLFxuICAgICAgdGFwKHNlYXJjaFRlcm0gPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtO1xuICAgICAgICB0aGlzLmludmFsaWRTZWFyY2hUZXJtID0gZmFsc2U7XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcigoc2VhcmNoVGVybTogc3RyaW5nKSA9PiBzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID4gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKSxcbiAgICAgIHN3aXRjaE1hcCgoc2VhcmNoVGVybTogc3RyaW5nKSA9PiB0aGlzLmZpbHRlckp1ZGljaWFsVXNlcnMoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKChqdWRpY2lhbFVzZXJzKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm5vUmVzdWx0cyA9ICF0aGlzLmludmFsaWRTZWFyY2hUZXJtICYmIGp1ZGljaWFsVXNlcnMubGVuZ3RoID09PSAwO1xuICAgICAgICB9KVxuICAgICAgKSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlPy5wZXJzb25hbENvZGUpIHtcbiAgICAgIHRoaXMubG9hZEp1ZGljaWFsVXNlcih0aGlzLmNhc2VGaWVsZC52YWx1ZS5wZXJzb25hbENvZGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJKdWRpY2lhbFVzZXJzKHNlYXJjaFRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIGlmICghdGhpcy5jYXNlVHlwZSkge1xuICAgICAgdGhpcy5jYXNlVHlwZSA9IHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRTZWxlY3RlZEp1cmlzZGljdGlvbigpPy5nZXRWYWx1ZSgpPy5jdXJyZW50Q2FzZVR5cGU/LmlkO1xuICAgIH1cbiAgICAvLyB3ZSBuZWVkIHRvIGlkZW50aWZ5IHRoZSBcImJhc2UgY2FzZSB0eXBlXCIgZm9yIHRoZSBzZXJ2aWNlIGNvZGUsIGJlY2F1c2Ugc2VydmljZXMgdGVuZCB0byBjcmVhdGUgdGVzdGluZ1xuICAgIC8vIGNhc2UgdHlwZXMgdGhhdCBhcmVuJ3QgcHJlc2VudCBpbiByZWYgZGF0YS4gR2VuZXJhbGx5IHRoZXNlIGFyZSBjYWxsZWQgPGNhc2V0eXBlPi08c29tZXRoaW5nPi4gVGhlcmUgYXJlIG5vXG4gICAgLy8gcmVhbCBjYXNlIHR5cGVzIHRoYXQgaW5jbHVkZSBhIGh5cGhlbiBpbiB0aGUgbmFtZSAoSSd2ZSBjaGVja2VkIHRoZSByZWYgZGF0YSksXG4gICAgLy8gc28gd2UgY2FuIHVzZSB0aGlzIHRvIGlkZW50aWZ5IHRoZSBiYXNlIGNhc2UgdHlwZVxuICAgIC8vIGFuZCBzdHJpcCBvZmYgdGhlIHN1ZmZpeC4gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2ssIGJ1dCBpdCB3b3JrcyBmb3Igbm93LlxuICAgIGlmICh0aGlzLmNhc2VUeXBlICYmIHRoaXMuY2FzZVR5cGUuaW5jbHVkZXMoJy0nKSkge1xuICAgICAgdGhpcy5jYXNlVHlwZSA9IHRoaXMuY2FzZVR5cGUuc3BsaXQoJy0nKVswXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZsYWdSZWZEYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlDYXNlVHlwZSh0aGlzLmNhc2VUeXBlKS5waXBlKFxuICAgICAgLy8gSWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgSE1DVFMgc2VydmljZSBkZXRhaWxzIGJ5IGNhc2UgdHlwZSBJRCwgdHJ5IGJ5IHNlcnZpY2UgbmFtZSBpbnN0ZWFkXG4gICAgICBjYXRjaEVycm9yKF8gPT4gdGhpcy5jYXNlRmxhZ1JlZkRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeVNlcnZpY2VOYW1lKHRoaXMuanVyaXNkaWN0aW9uKSksXG4gICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBqdWRpY2lhbCB1c2VycyBkYXRhLCBoYXZpbmcgcmVjZWl2ZWQgdGhlIHNlcnZpY2UgZGV0YWlsc1xuICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgIHN3aXRjaE1hcChzZXJ2aWNlRGV0YWlscyA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2VycyhzZWFyY2hUZXJtLCBzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUpLnBpcGUoXG4gICAgICAgICAgLy8gSGFuZGxlIGFueSBlcnJvcnMgaGVyZSByYXRoZXIgdGhhbiBvdXRzaWRlIG9mIHRoZSBmdW5jdGlvbiwgc28gdGhhdCB0aGUgb3V0ZXIgT2JzZXJ2YWJsZSBpcyBrZXB0IGxpdmVcbiAgICAgICAgICBjYXRjaEVycm9yKF8gPT4ge1xuICAgICAgICAgICAgdGhpcy5pbnZhbGlkU2VhcmNoVGVybSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWRKdWRpY2lhbFVzZXIocGVyc29uYWxDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAocGVyc29uYWxDb2RlKSB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2Vyc0J5UGVyc29uYWxDb2RlcyhbcGVyc29uYWxDb2RlXSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoanVkaWNpYWxVc2VycyA9PiB7XG4gICAgICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbFVzZXJzWzBdKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5SnVkaWNpYWxVc2VyKGp1ZGljaWFsVXNlcj86IEp1ZGljaWFsVXNlck1vZGVsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4ganVkaWNpYWxVc2VyXG4gICAgICA/IGAke2p1ZGljaWFsVXNlci5mdWxsTmFtZSA/IGp1ZGljaWFsVXNlci5mdWxsTmFtZSA6ICcnfSR7anVkaWNpYWxVc2VyLmVtYWlsSWQgPyBgICgke2p1ZGljaWFsVXNlci5lbWFpbElkfSlgIDogJyd9YFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIFRoZSBldmVudC5zb3VyY2UudmFsdWUgcHJvcGVydHkgaXMgYSBKdWRpY2lhbFVzZXJNb2RlbCBvYmplY3QgaW5zdGFuY2U7IHVzZSB0aGlzIHRvIHVwZGF0ZSBib3RoIHRoZSBjYXNlRmllbGRcbiAgICAvLyB2YWx1ZSBhbmQgdGhlIHZhbHVlcyBvZiB0aGUgdHdvIEZvcm1Db250cm9scyBmb3IgdGhlIGlkYW1JZCBhbmQgcGVyc29uYWxDb2RlIHByb3BlcnRpZXMgb2YgdGhlIEp1ZGljaWFsVXNlclxuICAgIC8vIGNvbXBsZXggZmllbGQgdHlwZSAodGhlc2UgdmFsdWVzIHdpbGwgYXBwZWFyIGluIHRoZSBkYXRhIHBheWxvYWQgZm9yIHZhbGlkYXRpb24gYW5kIHN1Ym1pc3Npb24pXG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUgPSB7XG4gICAgICBpZGFtSWQ6IGV2ZW50LnNvdXJjZS52YWx1ZS5pZGFtSWQsXG4gICAgICBwZXJzb25hbENvZGU6IGV2ZW50LnNvdXJjZS52YWx1ZS5wZXJzb25hbENvZGVcbiAgICB9O1xuICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJyk/LnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlLmlkYW1JZCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKT8uc2V0VmFsdWUodGhpcy5jYXNlRmllbGQudmFsdWUucGVyc29uYWxDb2RlKTtcbiAgICB0aGlzLmp1ZGljaWFsVXNlclNlbGVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIElmIHRoZSB1c2VyIHR5cGVzIGludG8gdGhlIEp1ZGljaWFsVXNlciBmaWVsZCBidXQgZG9lc24ndCBzZWxlY3QgYSB2YWx1ZSBmcm9tIHRoZSBhdXRvY29tcGxldGUgbGlzdCwgcmVzZXQgdGhlXG4gICAgLy8gRm9ybUNvbnRyb2wgdmFsdWUgdG8gbnVsbCB0byBlbnN1cmUgaXQgZmFpbHMgdmFsaWRhdGlvbiAoY2FuIGNoZWNrIHRoZSBldmVudC5yZWxhdGVkVGFyZ2V0IHByb3BlcnR5KVxuICAgIGlmIChldmVudC5yZWxhdGVkVGFyZ2V0Py5yb2xlICE9PSAnb3B0aW9uJyAmJiAhdGhpcy5qdWRpY2lhbFVzZXJTZWxlY3RlZCkge1xuICAgICAgLy8gSWYgcmVsYXRlZFRhcmdldC5yb2xlIGlzIG5vdCBcIm9wdGlvblwiLCBpdCBtZWFucyB0aGUgdXNlciBkaWRuJ3Qgc2VsZWN0IGEgdmFsdWVcbiAgICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC52YWx1ZSkge1xuICAgICAgLy8gSWYgdGhlIHVzZXIgZGVsZXRlcyB0aGUgZmllbGQgdmFsdWUsIHNldCB0aGUgY2FzZUZpZWxkIHZhbHVlIGFuZCB0aGUgdmFsdWVzIG9mIHRoZSB0d28gRm9ybUNvbnRyb2xzIGZvclxuICAgICAgLy8gaWRhbUlkIGFuZCBwZXJzb25hbENvZGUgdG8gbnVsbC4gVGhpcyBpcyB0byBhdm9pZCBqdWRpY2lhbCB1c2VyIGRhdGEgYmVpbmcgcHJlc2VudCBpbiB0aGUgZGF0YSBwYXlsb2FkXG4gICAgICAvLyB1bmludGVudGlvbmFsbHlcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJyk/LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKT8uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldHVwVmFsaWRhdGlvbigpOiB2b2lkIHtcbiAgICAvLyBOZWVkIHRvIHJlbW92ZSB2YWxpZGF0b3JzIGZyb20gdGhlIHR3byBGb3JtQ29udHJvbHMsIGlkYW1JZCBhbmQgcGVyc29uYWxDb2RlLCBmb3IgdGhlIEp1ZGljaWFsVXNlciBjb21wbGV4XG4gICAgLy8gZmllbGQgdHlwZS4gVGhpcyBwcmV2ZW50cyB0aGVzZSBoaWRkZW4gZmllbGRzIGJlaW5nIGxpc3RlZCBpbiBhbiBlcnJvciBtZXNzYWdlIGlmIHRoZXJlIGFyZSB2YWxpZGF0aW9uIGVycm9yc1xuICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJykuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID09PSBDb25zdGFudHMuTUFOREFUT1JZKSB7XG4gICAgICB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5ub3RpZmllclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6ICEhanVkaWNpYWxVc2VyQ29udHJvbCAmJiBlcnJvcnN9XCI+XG4gIDxsYWJlbCBbZm9yXT1cImlkKClcIj5cbiAgICA8c3BhbiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAge3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX1cbiAgICA8L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxzcGFuICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiIGNsYXNzPVwiZm9ybS1oaW50XCI+XG4gICAge3tjYXNlRmllbGQuaGludF90ZXh0fX1cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImVycm9yc1wiPlxuICAgIHt7ZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWx9fVxuICA8L3NwYW4+XG4gIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzBcIiBbaWRdPVwiaWQoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cImp1ZGljaWFsVXNlckNvbnRyb2xcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCI+XG4gIDxtYXQtYXV0b2NvbXBsZXRlIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0b0NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCIgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlKdWRpY2lhbFVzZXJcIj5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQganVkaWNpYWxVc2VyIG9mIGZpbHRlcmVkSnVkaWNpYWxVc2VycyQgfCBhc3luY1wiXG4gICAgICBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiBbbmdDbGFzc109XCJ7J2hpZGUtYXV0b2NvbXBsZXRlJzogIXNob3dBdXRvY29tcGxldGV9XCJcbiAgICAgIFt2YWx1ZV09XCJqdWRpY2lhbFVzZXJcIiAob25TZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAge3tqdWRpY2lhbFVzZXI/LmZ1bGxOYW1lID8ganVkaWNpYWxVc2VyLmZ1bGxOYW1lIDogJyd9fXt7anVkaWNpYWxVc2VyPy5lbWFpbElkID8gJyAoJyArIGp1ZGljaWFsVXNlci5lbWFpbElkICsgJyknIDogJyd9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIm5vUmVzdWx0cyAmJiBzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID4gbWluU2VhcmNoQ2hhcmFjdGVycyAmJiBzaG93QXV0b2NvbXBsZXRlXCIgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgZGlzYWJsZWQ+XG4gICAgICBObyByZXN1bHRzIGZvdW5kXG4gICAgPC9tYXQtb3B0aW9uPlxuICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiaW52YWxpZFNlYXJjaFRlcm1cIiBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiBkaXNhYmxlZD5cbiAgICAgIEludmFsaWQgc2VhcmNoIHRlcm1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cbjwvZGl2PlxuIl19
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtanVkaWNpYWwtdXNlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9qdWRpY2lhbC11c2VyL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvanVkaWNpYWwtdXNlci93cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsV0FBVyxFQUFvQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLEVBQTRCLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxD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RCxlQUE0RjtZQUE1RixpSUFBNEY7WUFHNUYsY0FBdUI7WUFBdkIsNENBQXVCOzs7aUZEUDNCLCtCQUErQjtjQUwzQyxTQUFTOzJCQUNFLCtCQUErQjs7a0ZBSTlCLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY29uc3RhbnRzJztcbmltcG9ydCB7IEp1ZGljaWFsVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2p1cmlzZGljdGlvbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLCBGaWVsZHNVdGlscywgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlLCBKdXJpc2RpY3Rpb25TZXJ2aWNlLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBsZXgvd3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXNDb21wb3VuZFBpcGUgfSBmcm9tICcuLi91dGlscy9pcy1jb21wb3VuZC5waXBlJztcbmltcG9ydCB7IENhc2VOb3RpZmllciB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2Uubm90aWZpZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtanVkaWNpYWwtdXNlci1maWVsZCcsXG4gIHN0eWxlVXJsczogWycuL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQgZXh0ZW5kcyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDI7XG5cbiAgcHVibGljIGp1ZGljaWFsVXNlckNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgcHVibGljIGZpbHRlcmVkSnVkaWNpYWxVc2VycyQ6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT47XG4gIHB1YmxpYyBzZWFyY2hUZXJtID0gJyc7XG4gIHB1YmxpYyBub1Jlc3VsdHMgPSBmYWxzZTtcbiAgcHVibGljIGVycm9yczogVmFsaWRhdGlvbkVycm9ycztcbiAgcHVibGljIGludmFsaWRTZWFyY2hUZXJtID0gZmFsc2U7XG4gIHB1YmxpYyBqdWRpY2lhbFVzZXJTZWxlY3RlZCA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbm90aWZpZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUZsYWdSZWZEYXRhU2VydmljZTogQ2FzZUZsYWdSZWZkYXRhU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21wb3VuZFBpcGU6IElzQ29tcG91bmRQaXBlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRvcnNTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIpIHtcbiAgICBzdXBlcihjb21wb3VuZFBpcGUsIHZhbGlkYXRvcnNTZXJ2aWNlKTtcbiAgICAvLyBXZSBuZWVkIHRvIGNhc2VUeXBlIGZyb20gdGhlIGNhc2UgbGlzdCBmaWx0ZXJzIGFzIHdlbGwgYXMgdGhlIGNhc2Ugbm90aWZpZXIsIGJlY2F1c2UgdGhlIGp1ZGljaWFsIHVzZXIgY29tcG9uZW50XG4gICAgLy8gY2FuIGJlIHVzZWQgaW4gdGhlIGNhc2UgbGlzdCBiZWZvcmUgYW55IGNhc2UgaXMgb3BlbmVkLCB0aHVzIHRoZSBjYXNlTm90aWZpZXIgaGFzIG5vdGhpbmcgdG8gbm90aWZ5XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TdWJzY3JpcHRpb24gPSB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2UuZ2V0U2VsZWN0ZWRKdXJpc2RpY3Rpb24oKT8uc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChqdXJpc2RpY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGp1cmlzZGljdGlvbj8uY3VycmVudENhc2VUeXBlKSB7XG4gICAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBqdXJpc2RpY3Rpb24uaWQ7XG4gICAgICAgICAgdGhpcy5jYXNlVHlwZSA9IGp1cmlzZGljdGlvbi5jdXJyZW50Q2FzZVR5cGUuaWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubm90aWZpZXJTdWJzY3JpcHRpb24gPSB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5zdWJzY3JpYmUoKGNhc2VEZXRhaWxzKSA9PiB7XG4gICAgICBpZiAoY2FzZURldGFpbHMpIHtcbiAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBjYXNlRGV0YWlscz8uY2FzZV90eXBlPy5qdXJpc2RpY3Rpb24/LmlkO1xuICAgICAgICB0aGlzLmNhc2VUeXBlID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZT8uaWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodGhpcy5jYXNlRmllbGQudmFsdWUpO1xuICAgIC8vIEZvcm1Db250cm9sIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBtYWluIEZvcm1Hcm91cCBzbyBpdCBjYW4gYmUgcGlja2VkIHVwIGJ5IHRoZSBQYWdlVmFsaWRhdGlvblNlcnZpY2Ugd2hlblxuICAgIC8vIGNoZWNraW5nIGlmIHRoZSBwYWdlIGlzIHZhbGlkLiBGb3JtR3JvdXAuc2V0Q29udHJvbCgpIGlzIHVzZWQgaGVyZSB0byBlbnN1cmUgYW55IGV4aXN0aW5nIEp1ZGljaWFsVXNlclxuICAgIC8vIEZvcm1Db250cm9sIGlzIHJlcGxhY2VkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyByZS1pbml0aWFsaXNlZCwgZm9yIGV4YW1wbGUsIGlmIHRoZSB1c2VyIG5hdmlnYXRlcyBhd2F5IHRoZW5cbiAgICAvLyBiYWNrIHRvIHRoZSBwYWdlIGNvbnRhaW5pbmcgdGhlIEp1ZGljaWFsVXNlciBmaWVsZFxuICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2woYCR7dGhpcy5jYXNlRmllbGQuaWR9X2p1ZGljaWFsVXNlckNvbnRyb2xgLCB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wpO1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgRm9ybUNvbnRyb2wgaGFzIGxpbmtzIHRvIHRoZSBKdWRpY2lhbFVzZXIgY2FzZSBmaWVsZCBhbmQgdGhpcyBjb21wb25lbnRcbiAgICBGaWVsZHNVdGlscy5hZGRDYXNlRmllbGRBbmRDb21wb25lbnRSZWZlcmVuY2VzKHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbCwgdGhpcy5jYXNlRmllbGQsIHRoaXMpO1xuICAgIHRoaXMuc2V0dXBWYWxpZGF0aW9uKCk7XG5cbiAgICB0aGlzLmZpbHRlcmVkSnVkaWNpYWxVc2VycyQgPSB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2UpLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAvLyBOZWVkIHRvIGNoZWNrIHR5cGUgb2YgaW5wdXQgYmVjYXVzZSBpdCBjaGFuZ2VzIHRvIG9iamVjdCAoaS5lLiBKdWRpY2lhbFVzZXIpIHdoZW4gYSB2YWx1ZSBpcyBzZWxlY3RlZCBmcm9tIHRoZVxuICAgICAgLy8gYXV0b2NvbXBsZXRlIHBhbmVsLCBpbnN0ZWFkIG9mIHN0cmluZyB3aGVuIGEgdmFsdWUgaXMgYmVpbmcgdHlwZWQgaW5cbiAgICAgIG1hcChpbnB1dCA9PiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnID8gaW5wdXQgOiBpbnB1dD8uZnVsbE5hbWUpLFxuICAgICAgdGFwKHNlYXJjaFRlcm0gPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtO1xuICAgICAgICB0aGlzLmludmFsaWRTZWFyY2hUZXJtID0gZmFsc2U7XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcigoc2VhcmNoVGVybTogc3RyaW5nKSA9PiBzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID4gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKSxcbiAgICAgIHN3aXRjaE1hcCgoc2VhcmNoVGVybTogc3RyaW5nKSA9PiB0aGlzLmZpbHRlckp1ZGljaWFsVXNlcnMoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKChqdWRpY2lhbFVzZXJzKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm5vUmVzdWx0cyA9ICF0aGlzLmludmFsaWRTZWFyY2hUZXJtICYmIGp1ZGljaWFsVXNlcnMubGVuZ3RoID09PSAwO1xuICAgICAgICB9KVxuICAgICAgKSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlPy5wZXJzb25hbENvZGUpIHtcbiAgICAgIHRoaXMubG9hZEp1ZGljaWFsVXNlcih0aGlzLmNhc2VGaWVsZC52YWx1ZS5wZXJzb25hbENvZGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJKdWRpY2lhbFVzZXJzKHNlYXJjaFRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIGlmICghdGhpcy5jYXNlVHlwZSkge1xuICAgICAgdGhpcy5jYXNlVHlwZSA9IHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRTZWxlY3RlZEp1cmlzZGljdGlvbigpPy5nZXRWYWx1ZSgpPy5jdXJyZW50Q2FzZVR5cGU/LmlkO1xuICAgIH1cbiAgICAvLyB3ZSBuZWVkIHRvIGlkZW50aWZ5IHRoZSBcImJhc2UgY2FzZSB0eXBlXCIgZm9yIHRoZSBzZXJ2aWNlIGNvZGUsIGJlY2F1c2Ugc2VydmljZXMgdGVuZCB0byBjcmVhdGUgdGVzdGluZ1xuICAgIC8vIGNhc2UgdHlwZXMgdGhhdCBhcmVuJ3QgcHJlc2VudCBpbiByZWYgZGF0YS4gR2VuZXJhbGx5IHRoZXNlIGFyZSBjYWxsZWQgPGNhc2V0eXBlPi08c29tZXRoaW5nPi4gVGhlcmUgYXJlIG5vXG4gICAgLy8gcmVhbCBjYXNlIHR5cGVzIHRoYXQgaW5jbHVkZSBhIGh5cGhlbiBpbiB0aGUgbmFtZSAoSSd2ZSBjaGVja2VkIHRoZSByZWYgZGF0YSksXG4gICAgLy8gc28gd2UgY2FuIHVzZSB0aGlzIHRvIGlkZW50aWZ5IHRoZSBiYXNlIGNhc2UgdHlwZVxuICAgIC8vIGFuZCBzdHJpcCBvZmYgdGhlIHN1ZmZpeC4gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2ssIGJ1dCBpdCB3b3JrcyBmb3Igbm93LlxuICAgIGlmICh0aGlzLmNhc2VUeXBlICYmIHRoaXMuY2FzZVR5cGUuaW5jbHVkZXMoJy0nKSkge1xuICAgICAgdGhpcy5jYXNlVHlwZSA9IHRoaXMuY2FzZVR5cGUuc3BsaXQoJy0nKVswXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZsYWdSZWZEYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlDYXNlVHlwZSh0aGlzLmNhc2VUeXBlKS5waXBlKFxuICAgICAgLy8gSWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgSE1DVFMgc2VydmljZSBkZXRhaWxzIGJ5IGNhc2UgdHlwZSBJRCwgdHJ5IGJ5IHNlcnZpY2UgbmFtZSBpbnN0ZWFkXG4gICAgICBjYXRjaEVycm9yKF8gPT4gdGhpcy5jYXNlRmxhZ1JlZkRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeVNlcnZpY2VOYW1lKHRoaXMuanVyaXNkaWN0aW9uKSksXG4gICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBqdWRpY2lhbCB1c2VycyBkYXRhLCBoYXZpbmcgcmVjZWl2ZWQgdGhlIHNlcnZpY2UgZGV0YWlsc1xuICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgIHN3aXRjaE1hcChzZXJ2aWNlRGV0YWlscyA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2VycyhzZWFyY2hUZXJtLCBzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUpLnBpcGUoXG4gICAgICAgICAgLy8gSGFuZGxlIGFueSBlcnJvcnMgaGVyZSByYXRoZXIgdGhhbiBvdXRzaWRlIG9mIHRoZSBmdW5jdGlvbiwgc28gdGhhdCB0aGUgb3V0ZXIgT2JzZXJ2YWJsZSBpcyBrZXB0IGxpdmVcbiAgICAgICAgICBjYXRjaEVycm9yKF8gPT4ge1xuICAgICAgICAgICAgdGhpcy5pbnZhbGlkU2VhcmNoVGVybSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWRKdWRpY2lhbFVzZXIocGVyc29uYWxDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAocGVyc29uYWxDb2RlKSB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2Vyc0J5UGVyc29uYWxDb2RlcyhbcGVyc29uYWxDb2RlXSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoanVkaWNpYWxVc2VycyA9PiB7XG4gICAgICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbFVzZXJzWzBdKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5SnVkaWNpYWxVc2VyKGp1ZGljaWFsVXNlcj86IEp1ZGljaWFsVXNlck1vZGVsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4ganVkaWNpYWxVc2VyXG4gICAgICA/IGAke2p1ZGljaWFsVXNlci5mdWxsTmFtZSA/IGp1ZGljaWFsVXNlci5mdWxsTmFtZSA6ICcnfSR7anVkaWNpYWxVc2VyLmVtYWlsSWQgPyBgICgke2p1ZGljaWFsVXNlci5lbWFpbElkfSlgIDogJyd9YFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIFRoZSBldmVudC5zb3VyY2UudmFsdWUgcHJvcGVydHkgaXMgYSBKdWRpY2lhbFVzZXJNb2RlbCBvYmplY3QgaW5zdGFuY2U7IHVzZSB0aGlzIHRvIHVwZGF0ZSBib3RoIHRoZSBjYXNlRmllbGRcbiAgICAvLyB2YWx1ZSBhbmQgdGhlIHZhbHVlcyBvZiB0aGUgdHdvIEZvcm1Db250cm9scyBmb3IgdGhlIGlkYW1JZCBhbmQgcGVyc29uYWxDb2RlIHByb3BlcnRpZXMgb2YgdGhlIEp1ZGljaWFsVXNlclxuICAgIC8vIGNvbXBsZXggZmllbGQgdHlwZSAodGhlc2UgdmFsdWVzIHdpbGwgYXBwZWFyIGluIHRoZSBkYXRhIHBheWxvYWQgZm9yIHZhbGlkYXRpb24gYW5kIHN1Ym1pc3Npb24pXG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUgPSB7XG4gICAgICBpZGFtSWQ6IGV2ZW50LnNvdXJjZS52YWx1ZS5pZGFtSWQsXG4gICAgICBwZXJzb25hbENvZGU6IGV2ZW50LnNvdXJjZS52YWx1ZS5wZXJzb25hbENvZGVcbiAgICB9O1xuICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJyk/LnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlLmlkYW1JZCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKT8uc2V0VmFsdWUodGhpcy5jYXNlRmllbGQudmFsdWUucGVyc29uYWxDb2RlKTtcbiAgICB0aGlzLmp1ZGljaWFsVXNlclNlbGVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIElmIHRoZSB1c2VyIHR5cGVzIGludG8gdGhlIEp1ZGljaWFsVXNlciBmaWVsZCBidXQgZG9lc24ndCBzZWxlY3QgYSB2YWx1ZSBmcm9tIHRoZSBhdXRvY29tcGxldGUgbGlzdCwgcmVzZXQgdGhlXG4gICAgLy8gRm9ybUNvbnRyb2wgdmFsdWUgdG8gbnVsbCB0byBlbnN1cmUgaXQgZmFpbHMgdmFsaWRhdGlvbiAoY2FuIGNoZWNrIHRoZSBldmVudC5yZWxhdGVkVGFyZ2V0IHByb3BlcnR5KVxuICAgIGlmIChldmVudC5yZWxhdGVkVGFyZ2V0Py5yb2xlICE9PSAnb3B0aW9uJyAmJiAhdGhpcy5qdWRpY2lhbFVzZXJTZWxlY3RlZCkge1xuICAgICAgLy8gSWYgcmVsYXRlZFRhcmdldC5yb2xlIGlzIG5vdCBcIm9wdGlvblwiLCBpdCBtZWFucyB0aGUgdXNlciBkaWRuJ3Qgc2VsZWN0IGEgdmFsdWVcbiAgICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC52YWx1ZSkge1xuICAgICAgLy8gSWYgdGhlIHVzZXIgZGVsZXRlcyB0aGUgZmllbGQgdmFsdWUsIHNldCB0aGUgY2FzZUZpZWxkIHZhbHVlIGFuZCB0aGUgdmFsdWVzIG9mIHRoZSB0d28gRm9ybUNvbnRyb2xzIGZvclxuICAgICAgLy8gaWRhbUlkIGFuZCBwZXJzb25hbENvZGUgdG8gbnVsbC4gVGhpcyBpcyB0byBhdm9pZCBqdWRpY2lhbCB1c2VyIGRhdGEgYmVpbmcgcHJlc2VudCBpbiB0aGUgZGF0YSBwYXlsb2FkXG4gICAgICAvLyB1bmludGVudGlvbmFsbHlcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJyk/LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKT8uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldHVwVmFsaWRhdGlvbigpOiB2b2lkIHtcbiAgICAvLyBOZWVkIHRvIHJlbW92ZSB2YWxpZGF0b3JzIGZyb20gdGhlIHR3byBGb3JtQ29udHJvbHMsIGlkYW1JZCBhbmQgcGVyc29uYWxDb2RlLCBmb3IgdGhlIEp1ZGljaWFsVXNlciBjb21wbGV4XG4gICAgLy8gZmllbGQgdHlwZS4gVGhpcyBwcmV2ZW50cyB0aGVzZSBoaWRkZW4gZmllbGRzIGJlaW5nIGxpc3RlZCBpbiBhbiBlcnJvciBtZXNzYWdlIGlmIHRoZXJlIGFyZSB2YWxpZGF0aW9uIGVycm9yc1xuICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJykuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID09PSBDb25zdGFudHMuTUFOREFUT1JZKSB7XG4gICAgICB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5ub3RpZmllclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6ICEhanVkaWNpYWxVc2VyQ29udHJvbCAmJiBlcnJvcnN9XCI+XG4gIDxsYWJlbCBbZm9yXT1cImlkKClcIj5cbiAgICA8c3BhbiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAge3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX1cbiAgICA8L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxzcGFuICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiIGNsYXNzPVwiZm9ybS1oaW50XCI+XG4gICAge3tjYXNlRmllbGQuaGludF90ZXh0fX1cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImVycm9yc1wiPlxuICAgIHt7ZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWx9fVxuICA8L3NwYW4+XG4gIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzBcIiBbaWRdPVwiaWQoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cImp1ZGljaWFsVXNlckNvbnRyb2xcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCI+XG4gIDxtYXQtYXV0b2NvbXBsZXRlIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0b0NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCIgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlKdWRpY2lhbFVzZXJcIj5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQganVkaWNpYWxVc2VyIG9mIGZpbHRlcmVkSnVkaWNpYWxVc2VycyQgfCBhc3luY1wiXG4gICAgICBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiBbbmdDbGFzc109XCJ7J2hpZGUtYXV0b2NvbXBsZXRlJzogIXNob3dBdXRvY29tcGxldGV9XCJcbiAgICAgIFt2YWx1ZV09XCJqdWRpY2lhbFVzZXJcIiAob25TZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAge3tqdWRpY2lhbFVzZXI/LmZ1bGxOYW1lID8ganVkaWNpYWxVc2VyLmZ1bGxOYW1lIDogJyd9fXt7anVkaWNpYWxVc2VyPy5lbWFpbElkID8gJyAoJyArIGp1ZGljaWFsVXNlci5lbWFpbElkICsgJyknIDogJyd9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIm5vUmVzdWx0cyAmJiBzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID4gbWluU2VhcmNoQ2hhcmFjdGVycyAmJiBzaG93QXV0b2NvbXBsZXRlXCIgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgZGlzYWJsZWQ+XG4gICAgICBObyByZXN1bHRzIGZvdW5kXG4gICAgPC9tYXQtb3B0aW9uPlxuICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiaW52YWxpZFNlYXJjaFRlcm1cIiBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiBkaXNhYmxlZD5cbiAgICAgIEludmFsaWQgc2VhcmNoIHRlcm1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cbjwvZGl2PlxuIl19
@@ -24,7 +24,7 @@ export class LabelFieldComponent {
24
24
  caseField;
25
25
  caseFields = [];
26
26
  labelCanBeTranslated = false;
27
- static ɵfac = function LabelFieldComponent_Factory(t) { return new (t || LabelFieldComponent)(); };
27
+ static ɵfac = function LabelFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LabelFieldComponent)(); };
28
28
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LabelFieldComponent, selectors: [["ccd-label-field"]], inputs: { caseField: "caseField", caseFields: "caseFields", labelCanBeTranslated: "labelCanBeTranslated" }, decls: 6, vars: 7, consts: [["ccdLabelSubstitutor", "", 1, "case-field", 3, "hidden", "caseField", "contextFields", "id"], [3, "content", 4, "ngIf"], [3, "content"]], template: function LabelFieldComponent_Template(rf, ctx) { if (rf & 1) {
29
29
  i0.ɵɵelementStart(0, "dl", 0)(1, "dt");
30
30
  i0.ɵɵtemplate(2, LabelFieldComponent_ccd_markdown_2_Template, 2, 3, "ccd-markdown", 1)(3, LabelFieldComponent_ccd_markdown_3_Template, 1, 1, "ccd-markdown", 1)(4, LabelFieldComponent_ccd_markdown_4_Template, 1, 1, "ccd-markdown", 1);
@@ -52,4 +52,4 @@ export class LabelFieldComponent {
52
52
  type: Input
53
53
  }] }); })();
54
54
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LabelFieldComponent, { className: "LabelFieldComponent", filePath: "lib/shared/components/palette/label/label-field.component.ts", lineNumber: 8 }); })();
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGFiZWwvbGFiZWwtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGFiZWwvbGFiZWwtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztJQ0NwRSxrQ0FDZTs7OztJQUR1RCxzRUFBMEM7OztJQUdoSCxrQ0FDZTs7O0lBRHNELGdEQUEyQjs7O0lBR2hHLGtDQUNlOzs7SUFENkIsMEVBQThDOztBREQ5RixNQUFNLE9BQU8sbUJBQW1CO0lBRXZCLFNBQVMsQ0FBWTtJQUdyQixVQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUc3QixvQkFBb0IsR0FBRyxLQUFLLENBQUM7NkVBUnpCLG1CQUFtQjs2REFBbkIsbUJBQW1CO1lDTjlCLEFBREYsNkJBQWdKLFNBQzFJO1lBT0YsQUFIQSxBQUhBLHNGQUFpSCx5RUFHaEIseUVBR047WUFFN0YsaUJBQUs7WUFDTCxxQkFBUztZQUNYLGlCQUFLOztZQVp1SCxBQUE3QixBQUF4QixBQUFuRSw2Q0FBMkIsNEJBQStELGlDQUE2Qix3QkFBb0I7WUFFNUgsZUFBcUQ7WUFBckQsOEVBQXFEO1lBR3JELGNBQW9EO1lBQXBELDZFQUFvRDtZQUdwRCxjQUEyQjtZQUEzQixnREFBMkI7OztpRkREakMsbUJBQW1CO2NBSi9CLFNBQVM7MkJBQ0UsaUJBQWlCO2dCQUtwQixTQUFTO2tCQURmLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixLQUFLOztrRkFQSyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWxhYmVsLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhYmVsLWZpZWxkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExhYmVsRmllbGRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkOiBDYXNlRmllbGQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsQ2FuQmVUcmFuc2xhdGVkID0gZmFsc2U7XG5cbn1cbiIsIjxkbCBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIiBjbGFzcz1cImNhc2UtZmllbGRcIiBjY2RMYWJlbFN1YnN0aXR1dG9yIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiIFtpZF09XCJjYXNlRmllbGQuaWRcIj5cbiAgPGR0PlxuICAgIDxjY2QtbWFya2Rvd24gKm5nSWY9XCJsYWJlbENhbkJlVHJhbnNsYXRlZCAmJiAhY2FzZUZpZWxkLmlzVHJhbnNsYXRlZFwiIFtjb250ZW50XT1cImNhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZVwiPlxuICAgIDwvY2NkLW1hcmtkb3duPlxuXG4gICAgPGNjZC1tYXJrZG93biAqbmdJZj1cImxhYmVsQ2FuQmVUcmFuc2xhdGVkICYmIGNhc2VGaWVsZC5pc1RyYW5zbGF0ZWRcIiBbY29udGVudF09XCJjYXNlRmllbGQubGFiZWxcIj5cbiAgICA8L2NjZC1tYXJrZG93bj5cblxuICAgIDxjY2QtbWFya2Rvd24gKm5nSWY9XCIhbGFiZWxDYW5CZVRyYW5zbGF0ZWRcIiBbY29udGVudF09XCJjYXNlRmllbGQudmFsdWUgfHwgY2FzZUZpZWxkLmxhYmVsXCI+XG4gICAgPC9jY2QtbWFya2Rvd24+XG4gIDwvZHQ+XG4gIDxkZD48L2RkPlxuPC9kbD5cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGFiZWwvbGFiZWwtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGFiZWwvbGFiZWwtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztJQ0NwRSxrQ0FDZTs7OztJQUR1RCxzRUFBMEM7OztJQUdoSCxrQ0FDZTs7O0lBRHNELGdEQUEyQjs7O0lBR2hHLGtDQUNlOzs7SUFENkIsMEVBQThDOztBREQ5RixNQUFNLE9BQU8sbUJBQW1CO0lBRXZCLFNBQVMsQ0FBWTtJQUdyQixVQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUc3QixvQkFBb0IsR0FBRyxLQUFLLENBQUM7NkdBUnpCLG1CQUFtQjs2REFBbkIsbUJBQW1CO1lDTjlCLEFBREYsNkJBQWdKLFNBQzFJO1lBT0YsQUFIQSxBQUhBLHNGQUFpSCx5RUFHaEIseUVBR047WUFFN0YsaUJBQUs7WUFDTCxxQkFBUztZQUNYLGlCQUFLOztZQVp1SCxBQUE3QixBQUF4QixBQUFuRSw2Q0FBMkIsNEJBQStELGlDQUE2Qix3QkFBb0I7WUFFNUgsZUFBcUQ7WUFBckQsOEVBQXFEO1lBR3JELGNBQW9EO1lBQXBELDZFQUFvRDtZQUdwRCxjQUEyQjtZQUEzQixnREFBMkI7OztpRkREakMsbUJBQW1CO2NBSi9CLFNBQVM7MkJBQ0UsaUJBQWlCO2dCQUtwQixTQUFTO2tCQURmLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixLQUFLOztrRkFQSyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWxhYmVsLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhYmVsLWZpZWxkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExhYmVsRmllbGRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkOiBDYXNlRmllbGQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsQ2FuQmVUcmFuc2xhdGVkID0gZmFsc2U7XG5cbn1cbiIsIjxkbCBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIiBjbGFzcz1cImNhc2UtZmllbGRcIiBjY2RMYWJlbFN1YnN0aXR1dG9yIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiIFtpZF09XCJjYXNlRmllbGQuaWRcIj5cbiAgPGR0PlxuICAgIDxjY2QtbWFya2Rvd24gKm5nSWY9XCJsYWJlbENhbkJlVHJhbnNsYXRlZCAmJiAhY2FzZUZpZWxkLmlzVHJhbnNsYXRlZFwiIFtjb250ZW50XT1cImNhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZVwiPlxuICAgIDwvY2NkLW1hcmtkb3duPlxuXG4gICAgPGNjZC1tYXJrZG93biAqbmdJZj1cImxhYmVsQ2FuQmVUcmFuc2xhdGVkICYmIGNhc2VGaWVsZC5pc1RyYW5zbGF0ZWRcIiBbY29udGVudF09XCJjYXNlRmllbGQubGFiZWxcIj5cbiAgICA8L2NjZC1tYXJrZG93bj5cblxuICAgIDxjY2QtbWFya2Rvd24gKm5nSWY9XCIhbGFiZWxDYW5CZVRyYW5zbGF0ZWRcIiBbY29udGVudF09XCJjYXNlRmllbGQudmFsdWUgfHwgY2FzZUZpZWxkLmxhYmVsXCI+XG4gICAgPC9jY2QtbWFya2Rvd24+XG4gIDwvZHQ+XG4gIDxkZD48L2RkPlxuPC9kbD5cbiJdfQ==
@@ -110,7 +110,7 @@ export class BeforeYouStartComponent extends AbstractJourneyComponent {
110
110
  onBack() {
111
111
  this.router.navigate(['cases', 'case-details', this.linkedCasesService.caseId], { fragment: 'Linked cases' });
112
112
  }
113
- static ɵfac = function BeforeYouStartComponent_Factory(t) { return new (t || BeforeYouStartComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.LinkedCasesService), i0.ɵɵdirectiveInject(i3.MultipageComponentStateService)); };
113
+ static ɵfac = function BeforeYouStartComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BeforeYouStartComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.LinkedCasesService), i0.ɵɵdirectiveInject(i3.MultipageComponentStateService)); };
114
114
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BeforeYouStartComponent, selectors: [["ccd-linked-cases-before-you-start"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [[4, "ngIf"], [1, "govuk-heading-xl"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf"], [1, "govuk-body"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "link-cases-journey", 4, "ngIf"], ["id", "manage-link-cases-journey", 4, "ngIf"], ["id", "link-cases-journey"], ["id", "manage-link-cases-journey"]], template: function BeforeYouStartComponent_Template(rf, ctx) { if (rf & 1) {
115
115
  i0.ɵɵelementStart(0, "div");
116
116
  i0.ɵɵtemplate(1, BeforeYouStartComponent_div_1_Template, 7, 1, "div", 0)(2, BeforeYouStartComponent_div_2_Template, 5, 2, "div", 0);
@@ -129,4 +129,4 @@ export class BeforeYouStartComponent extends AbstractJourneyComponent {
129
129
  type: Output
130
130
  }] }); })();
131
131
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BeforeYouStartComponent, { className: "BeforeYouStartComponent", filePath: "lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.ts", lineNumber: 14 }); })();
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLXlvdS1zdGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvY29tcG9uZW50cy9iZWZvcmUteW91LXN0YXJ0L2JlZm9yZS15b3Utc3RhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvYmVmb3JlLXlvdS1zdGFydC9iZWZvcmUteW91LXN0YXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0lDSG5FLEFBREYsNEJBQW9GLGNBQzlDO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQUk7OztJQURnRCxlQUNwRDtJQURvRCxvRUFDcEQ7Ozs7SUFIQSxBQURGLDJCQUFrQyxZQUNIO0lBQUEsa0NBQWtCO0lBQUEsaUJBQUs7SUFDcEQsMEVBQW9GO0lBSWxGLEFBREYsNEJBQXNCLFdB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MEI7WUFTMUIsY0FBMkI7WUFBM0IsZ0RBQTJCOzs7aUZER3RCLHVCQUF1QjtjQUpuQyxTQUFTOzJCQUNFLG1DQUFtQztxSEFNdEMsdUJBQXVCO2tCQUQ3QixNQUFNOztrRkFGSSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBKb3VybmV5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmtlZC1jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmVmb3JlLXlvdS1zdGFydC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQmVmb3JlWW91U3RhcnRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBKb3VybmV5IHtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtlZENhc2VzU3RhdGU+KCk7XG5cbiAgcHVibGljIGlzTGlua0Nhc2VzSm91cm5leSA9IGZhbHNlO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW107XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAgbXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlOiBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcihtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMuaXNMaW5rQ2FzZXNKb3VybmV5ID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcjtcbiAgICB0aGlzLnNlcnZlckxpbmtlZEFwaUVycm9yID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2Uuc2VydmVyTGlua2VkQXBpRXJyb3I7XG4gICAgY29uc3QgbGlua2VkQ2FzZVJlZmVyZW5jZUlkcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlLmZpbHRlcigoaXRlbSkgPT4gaXRlbSkubWFwKChpdGVtKSA9PiBpdGVtLmlkKTtcbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcy5sZW5ndGggIT09ICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGggKyB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlc1RvVW5saW5rLmxlbmd0aCkpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKChpdGVtKSA9PiBsaW5rZWRDYXNlUmVmZXJlbmNlSWRzLmluZGV4T2YoaXRlbS5jYXNlUmVmZXJlbmNlKSAhPT0gLTEpO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMubGVuZ3RoID09PSAwICYmIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlLmxlbmd0aCAhPT0gMCAmJiAhdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaGFzQ29udGludWVkRnJvbVN0YXJ0KSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMucHVzaChpdGVtLmlkKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL3ByZXZlbnQgdW5zdWJtaXR0ZWQgbGlua2VkIGNhc2VzIGZyb20gYmVpbmcgYXBwbGllZCBhcyBpZiB0aGV5IGFyZSB0aGUgaW5pdGlhbCBsaW5rZWQgY2FzZXNcbiAgICAgIGlmICghdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaGFzQ29udGludWVkRnJvbVN0YXJ0KXtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMucHVzaChpdGVtLmNhc2VSZWZlcmVuY2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCk6IHZvaWQge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc0NvbnRpbnVlZEZyb21TdGFydCA9IHRydWU7XG4gICAgdGhpcy5saW5rZWRDYXNlc1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IExpbmtlZENhc2VzUGFnZXMuQkVGT1JFX1lPVV9TVEFSVCxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZTogdHJ1ZVxuICAgIH0pO1xuXG4gICAgY29uc3QgaXNBbkFycmF5OiBib29sZWFuID0gQXJyYXkuaXNBcnJheSh0aGlzLmVycm9yTWVzc2FnZXMpO1xuICAgIGNvbnN0IGlzTm90QW5BcnJheTogYm9vbGVhbiA9ICFpc0FuQXJyYXk7XG4gICAgY29uc3QgaXNWYWxpZDogYm9vbGVhbiA9IChpc0FuQXJyYXkgJiYgdGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkgfHwgaXNOb3RBbkFycmF5O1xuXG4gICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25CYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkXSwgeyBmcmFnbWVudDogJ0xpbmtlZCBjYXNlcycgfSk7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXYgKm5nSWY9XCJzZXJ2ZXJMaW5rZWRBcGlFcnJvclwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5UaGVyZSBpcyBhIHByb2JsZW08L2gxPlxuICAgIDxwIGlkPVwidW5saW5rLWNhc2VzLWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJzZXJ2ZXJMaW5rZWRBcGlFcnJvclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7c2VydmVyTGlua2VkQXBpRXJyb3IubWVzc2FnZX19XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkJhY2soKVwiPkdvIGJhY2sgdG8gdGhlIExpbmtlZCBjYXNlcyB0YWI8L2E+XG4gICAgPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFzZXJ2ZXJMaW5rZWRBcGlFcnJvclwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5CZWZvcmUgeW91IHN0YXJ0PC9oMT5cbiAgICA8ZGl2IGlkPVwibGluay1jYXNlcy1qb3VybmV5XCIgKm5nSWY9XCJpc0xpbmtDYXNlc0pvdXJuZXlcIj5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPklmIGEgZ3JvdXAgb2YgbGlua2VkIGNhc2VzIGhhcyBhIGxlYWQgY2FzZSwgeW91IG11c3Qgc3RhcnQgZnJvbSB0aGUgbGVhZCBjYXNlLjwvcD5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPklmIHRoZSBjYXNlcyB0byBiZSBsaW5rZWQgaGFzIG5vIGxlYWQsIHlvdSBjYW4gc3RhcnQgdGhlIGxpbmtpbmcgam91cm5leSBmcm9tIGFueSBvZiB0aG9zZVxuICAgICAgICBjYXNlcy48L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBpZD1cIm1hbmFnZS1saW5rLWNhc2VzLWpvdXJuZXlcIiAqbmdJZj1cIiFpc0xpbmtDYXNlc0pvdXJuZXlcIj5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPklmIHRoZXJlIGFyZSBsaW5rZWQgaGVhcmluZ3MgZm9yIHRoZSBjYXNlIHlvdSBuZWVkIHRvIHVuLWxpbmsgdGhlbiB5b3UgbXVzdCB1bmxpbmsgdGhlXG4gICAgICAgIGhlYXJpbmcgZmlyc3QuPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLXlvdS1zdGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvY29tcG9uZW50cy9iZWZvcmUteW91LXN0YXJ0L2JlZm9yZS15b3Utc3RhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvYmVmb3JlLXlvdS1zdGFydC9iZWZvcmUteW91LXN0YXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0lDSG5FLEFBREYsNEJBQW9GLGNBQzlDO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQUk7OztJQURnRCxlQUNwRDtJQURvRCxvRUFDcEQ7Ozs7SUFIQSxBQURGLDJCQUFrQyxZQUNIO0lBQUEsa0NBQWtCO0lBQUEsaUJBQUs7SUFDcEQsMEVBQW9GO0lBSWxGLEFBREYsNEJBQXNCLFdB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MEI7WUFTMUIsY0FBMkI7WUFBM0IsZ0RBQTJCOzs7aUZER3RCLHVCQUF1QjtjQUpuQyxTQUFTOzJCQUNFLG1DQUFtQztxSEFNdEMsdUJBQXVCO2tCQUQ3QixNQUFNOztrRkFGSSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBKb3VybmV5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmtlZC1jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmVmb3JlLXlvdS1zdGFydC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQmVmb3JlWW91U3RhcnRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBKb3VybmV5IHtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtlZENhc2VzU3RhdGU+KCk7XG5cbiAgcHVibGljIGlzTGlua0Nhc2VzSm91cm5leSA9IGZhbHNlO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW107XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAgbXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlOiBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcihtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMuaXNMaW5rQ2FzZXNKb3VybmV5ID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcjtcbiAgICB0aGlzLnNlcnZlckxpbmtlZEFwaUVycm9yID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2Uuc2VydmVyTGlua2VkQXBpRXJyb3I7XG4gICAgY29uc3QgbGlua2VkQ2FzZVJlZmVyZW5jZUlkcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlLmZpbHRlcigoaXRlbSkgPT4gaXRlbSkubWFwKChpdGVtKSA9PiBpdGVtLmlkKTtcbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcy5sZW5ndGggIT09ICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGggKyB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlc1RvVW5saW5rLmxlbmd0aCkpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKChpdGVtKSA9PiBsaW5rZWRDYXNlUmVmZXJlbmNlSWRzLmluZGV4T2YoaXRlbS5jYXNlUmVmZXJlbmNlKSAhPT0gLTEpO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMubGVuZ3RoID09PSAwICYmIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlLmxlbmd0aCAhPT0gMCAmJiAhdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaGFzQ29udGludWVkRnJvbVN0YXJ0KSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMucHVzaChpdGVtLmlkKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL3ByZXZlbnQgdW5zdWJtaXR0ZWQgbGlua2VkIGNhc2VzIGZyb20gYmVpbmcgYXBwbGllZCBhcyBpZiB0aGV5IGFyZSB0aGUgaW5pdGlhbCBsaW5rZWQgY2FzZXNcbiAgICAgIGlmICghdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaGFzQ29udGludWVkRnJvbVN0YXJ0KXtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua1JlZnMucHVzaChpdGVtLmNhc2VSZWZlcmVuY2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCk6IHZvaWQge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc0NvbnRpbnVlZEZyb21TdGFydCA9IHRydWU7XG4gICAgdGhpcy5saW5rZWRDYXNlc1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IExpbmtlZENhc2VzUGFnZXMuQkVGT1JFX1lPVV9TVEFSVCxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZTogdHJ1ZVxuICAgIH0pO1xuXG4gICAgY29uc3QgaXNBbkFycmF5OiBib29sZWFuID0gQXJyYXkuaXNBcnJheSh0aGlzLmVycm9yTWVzc2FnZXMpO1xuICAgIGNvbnN0IGlzTm90QW5BcnJheTogYm9vbGVhbiA9ICFpc0FuQXJyYXk7XG4gICAgY29uc3QgaXNWYWxpZDogYm9vbGVhbiA9IChpc0FuQXJyYXkgJiYgdGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkgfHwgaXNOb3RBbkFycmF5O1xuXG4gICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25CYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkXSwgeyBmcmFnbWVudDogJ0xpbmtlZCBjYXNlcycgfSk7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXYgKm5nSWY9XCJzZXJ2ZXJMaW5rZWRBcGlFcnJvclwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5UaGVyZSBpcyBhIHByb2JsZW08L2gxPlxuICAgIDxwIGlkPVwidW5saW5rLWNhc2VzLWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJzZXJ2ZXJMaW5rZWRBcGlFcnJvclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7c2VydmVyTGlua2VkQXBpRXJyb3IubWVzc2FnZX19XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkJhY2soKVwiPkdvIGJhY2sgdG8gdGhlIExpbmtlZCBjYXNlcyB0YWI8L2E+XG4gICAgPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFzZXJ2ZXJMaW5rZWRBcGlFcnJvclwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5CZWZvcmUgeW91IHN0YXJ0PC9oMT5cbiAgICA8ZGl2IGlkPVwibGluay1jYXNlcy1qb3VybmV5XCIgKm5nSWY9XCJpc0xpbmtDYXNlc0pvdXJuZXlcIj5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPklmIGEgZ3JvdXAgb2YgbGlua2VkIGNhc2VzIGhhcyBhIGxlYWQgY2FzZSwgeW91IG11c3Qgc3RhcnQgZnJvbSB0aGUgbGVhZCBjYXNlLjwvcD5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPklmIHRoZSBjYXNlcyB0byBiZSBsaW5rZWQgaGFzIG5vIGxlYWQsIHlvdSBjYW4gc3RhcnQgdGhlIGxpbmtpbmcgam91cm5leSBmcm9tIGFueSBvZiB0aG9zZVxuICAgICAgICBjYXNlcy48L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBpZD1cIm1hbmFnZS1saW5rLWNhc2VzLWpvdXJuZXlcIiAqbmdJZj1cIiFpc0xpbmtDYXNlc0pvdXJuZXlcIj5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPklmIHRoZXJlIGFyZSBsaW5rZWQgaGVhcmluZ3MgZm9yIHRoZSBjYXNlIHlvdSBuZWVkIHRvIHVuLWxpbmsgdGhlbiB5b3UgbXVzdCB1bmxpbmsgdGhlXG4gICAgICAgIGhlYXJpbmcgZmlyc3QuPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -169,7 +169,7 @@ export class CheckYourAnswersComponent extends AbstractJourneyComponent {
169
169
  });
170
170
  super.next();
171
171
  }
172
- static ɵfac = function CheckYourAnswersComponent_Factory(t) { return new (t || CheckYourAnswersComponent)(i0.ɵɵdirectiveInject(i1.LinkedCasesService), i0.ɵɵdirectiveInject(i2.MultipageComponentStateService)); };
172
+ static ɵfac = function CheckYourAnswersComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CheckYourAnswersComponent)(i0.ɵɵdirectiveInject(i1.LinkedCasesService), i0.ɵɵdirectiveInject(i2.MultipageComponentStateService)); };
173
173
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CheckYourAnswersComponent, selectors: [["ccd-linked-cases-check-your-answers"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 5, consts: [[1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-heading-xl"], ["id", "cases-to-unlink-table", "class", "govuk-table", 4, "ngIf"], ["id", "linked-cases-table", 1, "govuk-table"], [1, "govuk-table__caption", "govuk-table__caption--m"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header"], ["scope", "col", "class", "govuk-table__header", 4, "ngIf"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], ["id", "cases-to-unlink-table", 1, "govuk-table"], [1, "govuk-table__cell"], ["href", "javascript:void(0)", 1, "govuk-link", "govuk-link--no-visited-state", "float-right", 3, "click"], ["colspan", "2", 1, "govuk-table__cell"], [4, "ngFor", "ngForOf"], ["class", "govuk-table__cell", 4, "ngIf"], [4, "ngIf"], ["colspan", "4", 1, "govuk-table__cell"]], template: function CheckYourAnswersComponent_Template(rf, ctx) { if (rf & 1) {
174
174
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h1", 2);
175
175
  i0.ɵɵtext(3, "Check your answers");
@@ -210,4 +210,4 @@ export class CheckYourAnswersComponent extends AbstractJourneyComponent {
210
210
  type: Output
211
211
  }] }); })();
212
212
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckYourAnswersComponent, { className: "CheckYourAnswersComponent", filePath: "lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.ts", lineNumber: 14 }); })();
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2NoZWNrLXlvdXItYW5zd2Vycy9jaGVjay15b3VyLWFuc3dlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvY2hlY2steW91ci1hbnN3ZXJzL2NoZWNrLXlvdXItYW5zd2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7SUNTL0QsQUFERiw2QkFBZ0UsYUFDaEM7SUFDNUIsWUFBbUI7SUFBQSxxQkFBSTtJQUFDLFlBQzFCOztJQUFBLGlCQUFLO0lBRUgsQUFERiw4QkFBOEIsWUFDa0Y7SUFBckIsd0xBQVMsaUJBQVUsS0FBQztJQUFDLHNCQUFNO0lBRXhILEFBREUsQUFEc0gsaUJBQUksRUFDckgsRUFDRjs7O0lBTEQsZUFBbUI7SUFBbkIsaURBQW1CO0lBQUssZUFDMUI7SUFEMEIsNEVBQzFC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WUFDakQsMEVBQXVFO1lBRTNFLEFBREUsaUJBQUssRUFDQztZQUNSLGtDQUFpQztZQXFCL0IsQUFwQkEsNEVBQThELDhEQW9CTDtZQVFqRSxBQURFLEFBREUsQUFERSxpQkFBUSxFQUNGLEVBQ0osRUFDRjs7WUFoRXFELGVBQXlCO1lBQXpCLDhDQUF5QjtZQTBCaEIsZUFBMkI7WUFBM0IsaURBQTJCO1lBTXhDLGVBQXdCO1lBQXhCLDZDQUF3QjtZQUl6QixlQUFjO1lBQWQseUNBQWM7WUFvQjlCLGNBQXlCO1lBQXpCLDhDQUF5Qjs7O2lGRC9DbEQseUJBQXlCO2NBTHJDLFNBQVM7MkJBQ0UscUNBQXFDO2dHQU94Qyx1QkFBdUI7a0JBRDdCLE1BQU07O2tGQUZJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmtlZC1jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgSm91cm5leSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrLXlvdXItYW5zd2Vycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrLXlvdXItYW5zd2Vycy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrWW91ckFuc3dlcnNDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEpvdXJuZXkge1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgbGlua2VkQ2FzZXM6IENhc2VMaW5rW107XG4gIHB1YmxpYyBjYXNlc1RvVW5saW5rOiBDYXNlTGlua1tdO1xuICBwdWJsaWMgaXNMaW5rQ2FzZXNKb3VybmV5OiBib29sZWFuO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNUYWJsZUNhcHRpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLCBtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2U6IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSkge1xuICAgIHN1cGVyKG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbnN1cmVEYXRhSW50ZWdyaXR5KCk7XG4gICAgdGhpcy5pc0xpbmtDYXNlc0pvdXJuZXkgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyO1xuICAgIHRoaXMubGlua2VkQ2FzZXNUYWJsZUNhcHRpb24gPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyID8gJ1Byb3Bvc2VkIGNhc2UgbGlua3MnIDogJ0xpbmtlZCBjYXNlcyc7XG4gICAgdGhpcy5saW5rZWRDYXNlcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmZpbHRlcihsaW5rZWRDYXNlID0+ICFsaW5rZWRDYXNlLnVubGluayk7XG4gICAgdGhpcy5jYXNlc1RvVW5saW5rID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKGxpbmtlZENhc2UgPT4gbGlua2VkQ2FzZS51bmxpbmsgJiYgbGlua2VkQ2FzZS51bmxpbmsgPT09IHRydWUpO1xuICB9XG5cbiAgcHVibGljIGVuc3VyZURhdGFJbnRlZ3JpdHkoKXtcbiAgICBmb3IgKGNvbnN0IGxpbmsgaW4gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZXNUb1VubGluayl7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcz8uZm9yRWFjaCgobGlua2VkQ2FzZSkgPT4ge1xuICAgICAgICBpZiAobGlua2VkQ2FzZT8uY2FzZVJlZmVyZW5jZSA9PT0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZXNUb1VubGlua1tsaW5rXSl7XG4gICAgICAgICAgbGlua2VkQ2FzZS51bmxpbmsgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSB0cnVlO1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUyxcbiAgICAgIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2U6IHRydWUsXG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUyxcbiAgICAgIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2U6IGZhbHNlLFxuICAgICAgbmF2aWdhdGVUb05leHRQYWdlOiB0cnVlXG4gICAgfSk7XG5cbiAgICBzdXBlci5uZXh0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5DaGVjayB5b3VyIGFuc3dlcnM8L2gxPlxuICAgIDwhLS0gVG9wIHRhYmxlIGZvciBtYW5hZ2UgbGluayBjYXNlcyBqb3VybmV5IC0tPlxuICAgIDx0YWJsZSBpZD1cImNhc2VzLXRvLXVubGluay10YWJsZVwiIGNsYXNzPVwiZ292dWstdGFibGVcIiAqbmdJZj1cIiFpc0xpbmtDYXNlc0pvdXJuZXlcIj5cbiAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLW1cIj5DYXNlcyB0byB1bmxpbms8L2NhcHRpb24+XG4gICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+Q2FzZSBuYW1lIGFuZCBudW1iZXI8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPjwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBjYXNlIG9mIGNhc2VzVG9VbmxpbmtcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgICAge3tjYXNlLmNhc2VOYW1lfX0gIDxicj4ge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rIGdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUgZmxvYXQtcmlnaHRcIiAoY2xpY2spPVwib25DaGFuZ2UoKVwiPkNoYW5nZTwvYT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhY2FzZXNUb1VubGluay5sZW5ndGhcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICBOb25lXG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgICA8IS0tIFRhYmxlIGZvciBib3RoIGxpbmsgY2FzZSBhbmQgbWFuYWdlIGxpbmsgY2FzZSBqb3VybmV5cyAtLT5cbiAgICA8dGFibGUgaWQ9XCJsaW5rZWQtY2FzZXMtdGFibGVcIiBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICA8Y2FwdGlvbiBjbGFzcz1cImdvdnVrLXRhYmxlX19jYXB0aW9uIGdvdnVrLXRhYmxlX19jYXB0aW9uLS1tXCI+e3tsaW5rZWRDYXNlc1RhYmxlQ2FwdGlvbn19PC9jYXB0aW9uPlxuICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj5SZWFzb25zIGZvciBjYXNlIGxpbms8L3RoPlxuICAgICAgICAgIDx0ZCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPjwvdGQ+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgKm5nSWY9XCJpc0xpbmtDYXNlc0pvdXJuZXlcIj48L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBsaW5rZWRDYXNlc1wiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgICA8c3Bhbj57e2Nhc2UuY2FzZU5hbWV9fSAgPGJyPiB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fSA8L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHJlYXNvbiBvZiBjYXNlLnJlYXNvbnM7IGxhc3QgYXMgaXNMYXN0XCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNMaW5rQ2FzZXNKb3VybmV5XCI+XG4gICAgICAgICAgICAgICAge3tyZWFzb24gfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNMaW5rQ2FzZXNKb3VybmV5XCI+XG4gICAgICAgICAgICAgICAge3tyZWFzb24uUmVhc29uLnZhbHVlIHwgY2NkTGlua0Nhc2VzUmVhc29uVmFsdWV9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxiciAqbmdJZj1cIiFpc0xhc3RcIj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiICpuZ0lmPVwiaXNMaW5rQ2FzZXNKb3VybmV5XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rIGdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUgZmxvYXQtcmlnaHRcIiAoY2xpY2spPVwib25DaGFuZ2UoKVwiPkNoYW5nZTwvYT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhbGlua2VkQ2FzZXMubGVuZ3RoXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNFwiPlxuICAgICAgICAgICAgTm9uZVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2NoZWNrLXlvdXItYW5zd2Vycy9jaGVjay15b3VyLWFuc3dlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvY2hlY2steW91ci1hbnN3ZXJzL2NoZWNrLXlvdXItYW5zd2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7SUNTL0QsQUFERiw2QkFBZ0UsYUFDaEM7SUFDNUIsWUFBbUI7SUFBQSxxQkFBSTtJQUFDLFlBQzFCOztJQUFBLGlCQUFLO0lBRUgsQUFERiw4QkFBOEIsWUFDa0Y7SUFBckIsd0xBQVMsaUJBQVUsS0FBQztJQUFDLHNCQUFNO0lBRXhILEFBREUsQUFEc0gsaUJBQUksRUFDckgsRUFDRjs7O0lBTEQsZUFBbUI7SUFBbkIsaURBQW1CO0lBQUssZUFDMUI7SUFEMEIsNEVBQzFC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WUFDakQsMEVBQXVFO1lBRTNFLEFBREUsaUJBQUssRUFDQztZQUNSLGtDQUFpQztZQXFCL0IsQUFwQkEsNEVBQThELDhEQW9CTDtZQVFqRSxBQURFLEFBREUsQUFERSxpQkFBUSxFQUNGLEVBQ0osRUFDRjs7WUFoRXFELGVBQXlCO1lBQXpCLDhDQUF5QjtZQTBCaEIsZUFBMkI7WUFBM0IsaURBQTJCO1lBTXhDLGVBQXdCO1lBQXhCLDZDQUF3QjtZQUl6QixlQUFjO1lBQWQseUNBQWM7WUFvQjlCLGNBQXlCO1lBQXpCLDhDQUF5Qjs7O2lGRC9DbEQseUJBQXlCO2NBTHJDLFNBQVM7MkJBQ0UscUNBQXFDO2dHQU94Qyx1QkFBdUI7a0JBRDdCLE1BQU07O2tGQUZJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmtlZC1jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgSm91cm5leSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrLXlvdXItYW5zd2Vycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrLXlvdXItYW5zd2Vycy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrWW91ckFuc3dlcnNDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEpvdXJuZXkge1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgbGlua2VkQ2FzZXM6IENhc2VMaW5rW107XG4gIHB1YmxpYyBjYXNlc1RvVW5saW5rOiBDYXNlTGlua1tdO1xuICBwdWJsaWMgaXNMaW5rQ2FzZXNKb3VybmV5OiBib29sZWFuO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNUYWJsZUNhcHRpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLCBtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2U6IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSkge1xuICAgIHN1cGVyKG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbnN1cmVEYXRhSW50ZWdyaXR5KCk7XG4gICAgdGhpcy5pc0xpbmtDYXNlc0pvdXJuZXkgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyO1xuICAgIHRoaXMubGlua2VkQ2FzZXNUYWJsZUNhcHRpb24gPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyID8gJ1Byb3Bvc2VkIGNhc2UgbGlua3MnIDogJ0xpbmtlZCBjYXNlcyc7XG4gICAgdGhpcy5saW5rZWRDYXNlcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmZpbHRlcihsaW5rZWRDYXNlID0+ICFsaW5rZWRDYXNlLnVubGluayk7XG4gICAgdGhpcy5jYXNlc1RvVW5saW5rID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKGxpbmtlZENhc2UgPT4gbGlua2VkQ2FzZS51bmxpbmsgJiYgbGlua2VkQ2FzZS51bmxpbmsgPT09IHRydWUpO1xuICB9XG5cbiAgcHVibGljIGVuc3VyZURhdGFJbnRlZ3JpdHkoKXtcbiAgICBmb3IgKGNvbnN0IGxpbmsgaW4gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZXNUb1VubGluayl7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcz8uZm9yRWFjaCgobGlua2VkQ2FzZSkgPT4ge1xuICAgICAgICBpZiAobGlua2VkQ2FzZT8uY2FzZVJlZmVyZW5jZSA9PT0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZXNUb1VubGlua1tsaW5rXSl7XG4gICAgICAgICAgbGlua2VkQ2FzZS51bmxpbmsgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSB0cnVlO1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUyxcbiAgICAgIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2U6IHRydWUsXG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUyxcbiAgICAgIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2U6IGZhbHNlLFxuICAgICAgbmF2aWdhdGVUb05leHRQYWdlOiB0cnVlXG4gICAgfSk7XG5cbiAgICBzdXBlci5uZXh0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5DaGVjayB5b3VyIGFuc3dlcnM8L2gxPlxuICAgIDwhLS0gVG9wIHRhYmxlIGZvciBtYW5hZ2UgbGluayBjYXNlcyBqb3VybmV5IC0tPlxuICAgIDx0YWJsZSBpZD1cImNhc2VzLXRvLXVubGluay10YWJsZVwiIGNsYXNzPVwiZ292dWstdGFibGVcIiAqbmdJZj1cIiFpc0xpbmtDYXNlc0pvdXJuZXlcIj5cbiAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLW1cIj5DYXNlcyB0byB1bmxpbms8L2NhcHRpb24+XG4gICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+Q2FzZSBuYW1lIGFuZCBudW1iZXI8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPjwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBjYXNlIG9mIGNhc2VzVG9VbmxpbmtcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgICAge3tjYXNlLmNhc2VOYW1lfX0gIDxicj4ge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rIGdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUgZmxvYXQtcmlnaHRcIiAoY2xpY2spPVwib25DaGFuZ2UoKVwiPkNoYW5nZTwvYT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhY2FzZXNUb1VubGluay5sZW5ndGhcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICBOb25lXG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgICA8IS0tIFRhYmxlIGZvciBib3RoIGxpbmsgY2FzZSBhbmQgbWFuYWdlIGxpbmsgY2FzZSBqb3VybmV5cyAtLT5cbiAgICA8dGFibGUgaWQ9XCJsaW5rZWQtY2FzZXMtdGFibGVcIiBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICA8Y2FwdGlvbiBjbGFzcz1cImdvdnVrLXRhYmxlX19jYXB0aW9uIGdvdnVrLXRhYmxlX19jYXB0aW9uLS1tXCI+e3tsaW5rZWRDYXNlc1RhYmxlQ2FwdGlvbn19PC9jYXB0aW9uPlxuICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj5SZWFzb25zIGZvciBjYXNlIGxpbms8L3RoPlxuICAgICAgICAgIDx0ZCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPjwvdGQ+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgKm5nSWY9XCJpc0xpbmtDYXNlc0pvdXJuZXlcIj48L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBsaW5rZWRDYXNlc1wiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgICA8c3Bhbj57e2Nhc2UuY2FzZU5hbWV9fSAgPGJyPiB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fSA8L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHJlYXNvbiBvZiBjYXNlLnJlYXNvbnM7IGxhc3QgYXMgaXNMYXN0XCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNMaW5rQ2FzZXNKb3VybmV5XCI+XG4gICAgICAgICAgICAgICAge3tyZWFzb24gfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNMaW5rQ2FzZXNKb3VybmV5XCI+XG4gICAgICAgICAgICAgICAge3tyZWFzb24uUmVhc29uLnZhbHVlIHwgY2NkTGlua0Nhc2VzUmVhc29uVmFsdWV9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxiciAqbmdJZj1cIiFpc0xhc3RcIj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiICpuZ0lmPVwiaXNMaW5rQ2FzZXNKb3VybmV5XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rIGdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUgZmxvYXQtcmlnaHRcIiAoY2xpY2spPVwib25DaGFuZ2UoKVwiPkNoYW5nZTwvYT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhbGlua2VkQ2FzZXMubGVuZ3RoXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNFwiPlxuICAgICAgICAgICAgTm9uZVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -516,7 +516,7 @@ export class LinkCasesComponent extends AbstractJourneyComponent {
516
516
  super.next();
517
517
  }
518
518
  }
519
- static ɵfac = function LinkCasesComponent_Factory(t) { return new (t || LinkCasesComponent)(i0.ɵɵdirectiveInject(i1.CasesService), i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(i3.ValidatorsUtils), i0.ɵɵdirectiveInject(i4.LinkedCasesService), i0.ɵɵdirectiveInject(i5.MultipageComponentStateService)); };
519
+ static ɵfac = function LinkCasesComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LinkCasesComponent)(i0.ɵɵdirectiveInject(i1.CasesService), i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(i3.ValidatorsUtils), i0.ɵɵdirectiveInject(i4.LinkedCasesService), i0.ɵɵdirectiveInject(i5.MultipageComponentStateService)); };
520
520
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LinkCasesComponent, selectors: [["ccd-link-cases"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 33, vars: 11, consts: [[1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-caption-l"], [1, "govuk-heading-xl"], ["class", "form-group", 3, "formGroup", 4, "ngIf"], ["id", "caseNumber", 1, "govuk-form-group", 3, "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [1, "govuk-table"], [1, "govuk-table__caption", "govuk-table__caption--m"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", "width", "300", 1, "govuk-table__header"], ["scope", "col", "width", "150", 1, "govuk-table__header"], ["scope", "col", "width", "200", 1, "govuk-table__header"], ["scope", "col", "width", "400", 1, "govuk-table__header"], ["scope", "col", "width", "50", 1, "govuk-table__header"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "form-group", 3, "formGroup"], [1, "govuk-heading-s"], ["formControlName", "caseNumber", "id", "width-20", "name", "width-20", "type", "text", 1, "govuk-input", "govuk-input--width-20"], [1, "govuk-!-margin-top-3", 3, "ngClass"], ["id", "waste-hint", 1, "govuk-hint"], ["data-module", "govuk-checkboxes", "formArrayName", "reasonType", "id", "caseReason", 1, "govuk-checkboxes"], ["class", "govuk-checkboxes__item", 3, "formGroupName", 4, "ngFor", "ngForOf"], ["id", "other-description-char-limit-error", "class", "govuk-!-margin-top-3", 3, "ngClass", 4, "ngIf"], ["id", "propose", "type", "button", "data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "click"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-checkboxes__item", 3, "formGroupName"], ["formControlName", "selected", "name", "pos", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "value"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["id", "other-description-char-limit-error", 1, "govuk-!-margin-top-3", 3, "ngClass"], ["id", "otherDescription", "name", "otherDescription", "formControlName", "otherDescription", "rows", "5", "aria-describedby", "other-description-hint other-description-char-limit-info other-description-char-limit-error", 1, "govuk-textarea", "govuk-input--width-30"], ["id", "other-description-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-table__cell"], [1, "govuk-form-group--error", 3, "ngClass"], [1, "govuk-table__cell", 3, "title"], [4, "ngFor", "ngForOf"], [1, "govuk-link", "no-visited-state", 3, "click"], ["colspan", "6", 1, "govuk-table__cell"]], template: function LinkCasesComponent_Template(rf, ctx) { if (rf & 1) {
521
521
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div")(3, "span", 2);
522
522
  i0.ɵɵtext(4);
@@ -574,4 +574,4 @@ export class LinkCasesComponent extends AbstractJourneyComponent {
574
574
  type: Output
575
575
  }] }); })();
576
576
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LinkCasesComponent, { className: "LinkCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.ts", lineNumber: 26 }); })();
577
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvY29tcG9uZW50cy9saW5rLWNhc2VzL2xpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGluay1jYXNlcy9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWEsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVE5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztJQ1Q3RCxBQURGLGdDQUEwRCxlQUNwQjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFPOzs7SUFENkMsZUFDcEQ7SUFEb0QsdURBQ3BEOzs7SUFVRSxBQURGLGdDQUEwRCxlQUNwQjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFPOzs7SUFENkMsZUFDcEQ7SUFEb0QsdURBQ3BEOzs7O0lBR0ksQUFERiwrQkFBOEcsZ0JBRVg7SUFBckQsNkxBQVUsZ0RBQXlDLEtBQUM7SUFEaEcsaUJBQ2lHO0lBQ2pHLGlDQUF3RTtJQUFBLFlBQW1CO0lBQzdGLEFBRDZGLGlCQUFRLEVBQy9GOzs7O0lBSmtGLHNDQUFxQjtJQUNwRSxjQUFtQjtJQUFuQiw2Q0FBbUI7SUFDeEMsMENBQXlCO0lBQ1EsY0FBb0I7SUFBcEIsOENBQW9CO0lBQUMsY0FBbUI7SUFBbkIsd0NBQW1COzs7SUFPN0YsQUFERixnQ0FBa0UsZUFDNUI7SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQUMsWUFDcEQ7SUFBQSxpQkFBTzs7O0lBRDZDLGVBQ3BEO0lBRG9ELCtEQUNwRDs7O0lBSEEsQUFERiwrQkFBa0ssYUFDcEk7SUFBQSx3QkFBUTtJQUFBLGlCQUFLO0lBQ3pDLGtGQUFrRTtJQUdsRSxvQ0FFaUg7SUFDakgsMEJBQUE7SUFBQSxpQkFBVztJQUNYLCtCQUFpSDtJQUMvRyxvREFDRjtJQUNGLEFBREUsaUJBQU0sRUFDRjs7O0lBWnVDLHNGQUFrRTtJQUUxRSxlQUE2QjtJQUE3QixxREFBNkI7OztJQWFoRSxBQURGLGdDQUE2RCxlQUN2QjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFPOzs7SUFENkMsZUFDcEQ7SUFEb0QsMERBQ3BEOzs7O0lBdkNFLEFBREYsQUFERiwrQkFBd0UsYUFDbUMsYUFDM0U7SUFBQSxvQ0FBb0I7SUFBQSxpQkFBSztJQUNyRCwyRUFBMEQ7SUFHMUQsNEJBQ2M7SUFDaEIsaUJBQU07SUFFSixBQURGLCtCQUE2RixhQUMvRDtJQUFBLGlEQUFpQztJQUFBLGlCQUFLO0lBQ2xFLCtCQUF3QztJQUN0Qyx5Q0FDRjtJQUFBLGlCQUFNO0lBQ04sNkVBQTBEO0lBRzFELGdDQUF3RztJQUN0Ryw0RUFBOEc7SUFNbEgsQUFERSxpQkFBTSxFQUNGO0lBQ04sNEVBQWtLO0lBYTlKLEFBQUosc0JBQUksVUFBSTtJQUNSLDZFQUE2RDtJQUc3RCxtQ0FDNkI7SUFBM0IsK0tBQVMsdUJBQWdCLEtBQUM7SUFBQyxrQ0FBaUI7SUFDaEQsQUFEZ0QsaUJBQVMsRUFDbkQ7OztJQTVDa0IsK0NBQTBCO0lBQ0YsY0FBMEQ7SUFBMUQsOEVBQTBEO0lBRW5FLGVBQXFCO0lBQXJCLDZDQUFxQjtJQU1yRCxlQUEwRDtJQUExRCwrRUFBMEQ7SUFLMUIsZUFBcUI7SUFBckIsNkNBQXFCO0lBSUMsZUFBbUI7SUFBbkIsZ0RBQW1CO0lBT2dFLGNBQWtCO0lBQWxCLDBDQUFrQjtJQWM3SCxlQUF3QjtJQUF4QixnREFBd0I7OztJQVV6RCxBQURGLGdDQUE4RCxlQUN4QjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFPOzs7SUFENkMsZUFDcEQ7SUFEb0QsMkRBQ3BEOzs7SUF3Qm9DLDRCQUNVO0lBQUEsWUFBb0M7O0lBQUEscUJBQUk7SUFBQSxpQkFBTzs7O0lBQS9DLGNBQW9DO0lBQXBDLHFEQUFvQzs7OztJQVY1RSxBQURGLDhCQUFpRixhQUNqRDtJQUM1QiwwQkFFTTtJQUNOLDRCQUFNO0lBQUEsWUFBa0I7SUFBQSxxQkFBSTtJQUFDLFlBQXlDOztJQUN4RSxBQUR3RSxpQkFBTyxFQUMxRTtJQUNMLDhCQUFpRTtJQUFBLFlBQWlCO0lBQUEsaUJBQUs7SUFDdkYsK0JBQThCO0lBQUEsYUFBb0I7SUFBQSxpQkFBSztJQUN2RCwrQkFBa0U7SUFBQSxhQUFrQjtJQUFBLGlCQUFLO0lBQ3pGLCtCQUE4QjtJQUFBLDhFQUNVO0lBQStDLGlCQUFLO0lBQzlELEFBQTlCLCtCQUE4QixhQUNVO0lBRHdCLHlQQUFTLGlFQUFtRCxLQUFFO0lBQ3RGLHVCQUFNO0lBQ2hELEFBRG9ELEFBQUosaUJBQUksRUFBSyxFQUNwRDs7OztJQVhDLGVBQTRHO0lBQTVHLGtKQUE0RztJQUV4RyxlQUFrQjtJQUFsQixnREFBa0I7SUFBSyxlQUF5QztJQUF6Qyw0RUFBeUM7SUFFMUMsZUFBa0M7SUFBbEMsbURBQWtDO0lBQUMsY0FBaUI7SUFBakIsc0NBQWlCO0lBQ3BELGVBQW9CO0lBQXBCLHlDQUFvQjtJQUNwQixjQUFtQztJQUFuQyxvREFBbUM7SUFBQyxjQUFrQjtJQUFsQix1Q0FBa0I7SUFFN0QsZUFBZTtJQUFmLHlDQUFlO0lBQ0wsZUFBOEI7Ozs7SUFJL0QsQUFERiw4QkFBMkQsYUFDZjtJQUN4QyxzQkFDRjtJQUNGLEFBREUsaUJBQUssRUFDRjs7QUQvRGpCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSx3QkFBd0I7SUFrQjNDO0lBQ0E7SUFDQTtJQUNBO0lBbkJaLHVCQUF1QixHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUUvRixhQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUNuQyxZQUFZLENBQVk7SUFDeEIsYUFBYSxHQUFlLEVBQUUsQ0FBQztJQUMvQixlQUFlLENBQVM7SUFDeEIsZUFBZSxDQUFTO0lBQ3hCLHVCQUF1QixDQUFTO0lBQ2hDLGtCQUFrQixDQUFTO0lBQzNCLG1CQUFtQixDQUFTO0lBQzVCLE1BQU0sQ0FBUztJQUNmLFFBQVEsQ0FBUztJQUNqQixlQUFlLENBQW9CO0lBQ25DLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDWCxVQUFVLEdBQUcseUJBQXlCLENBQUM7SUFDeEQsWUFDbUIsWUFBMEIsRUFDMUIsRUFBZSxFQUNmLGVBQWdDLEVBQ2hDLGtCQUFzQyxFQUN2RCw4QkFBOEQ7UUFFOUQsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFOckIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBSXpELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkYsMEVBQTBFO1lBQzFFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN2SixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0csSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7UUFDakYsQ0FBQztJQUNILENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztRQUNsRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDMUcsVUFBVSxFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDdkMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDWixHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ2QsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ3hCLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7WUFDaEMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztZQUNoQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQzFCLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDNUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDM0IsQ0FBQyxDQUNILEVBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsRUFBRSxDQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVNLGlDQUFpQyxDQUFDLEtBQVU7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDbkcsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsSUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUs7WUFDdkIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDeEMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7WUFDekQsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUN6RCxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRTtZQUN2QyxDQUFDLElBQUksQ0FBQyxrREFBa0QsRUFBRSxFQUMxRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1lBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxXQUF1QjtRQUMzQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3ZCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQzFHLENBQUM7SUFDSixDQUFDO0lBRU0sZUFBZSxDQUFDLGdCQUF3QjtRQUM3QyxJQUFJLGdCQUFnQixFQUFDLENBQUM7WUFDcEIsZ0dBQWdHO1lBQ2hHLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1lBQzNFLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLCtCQUErQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNySSxDQUFDO0lBRU8sa0RBQWtEO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUMsZUFBZSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixXQUFXLEVBQUUsd0JBQXdCLENBQUMsZUFBZTtnQkFDckQsT0FBTyxFQUFFLFlBQVk7YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUMsb0JBQW9CLENBQUM7WUFDckUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxvQkFBb0I7Z0JBQzFELE9BQU8sRUFBRSxZQUFZO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLO2VBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pGLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDO2dCQUM5RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDdEIsS0FBSyxFQUFFLDRCQUE0QjtvQkFDbkMsV0FBVyxFQUFFLHdCQUF3QixDQUFDLHFCQUFxQjtvQkFDM0QsT0FBTyxFQUFFLGtCQUFrQjtpQkFDNUIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHdCQUF3QixDQUFDLDhCQUE4QixDQUFDO2dCQUN2RixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDdEIsS0FBSyxFQUFFLDRCQUE0QjtvQkFDbkMsV0FBVyxFQUFFLHdCQUF3QixDQUFDLDhCQUE4QjtvQkFDcEUsT0FBTyxFQUFFLGtCQUFrQjtpQkFDNUIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO1lBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixXQUFXLEVBQUUsd0JBQXdCLENBQUMsaUJBQWlCO2dCQUN2RCxPQUFPLEVBQUUsWUFBWTthQUN0QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxrQkFBa0IsR0FBRyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNwRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDdEIsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsV0FBVyxFQUFFLHdCQUF3QixDQUFDLGdCQUFnQjtnQkFDdEQsT0FBTyxFQUFFLFlBQVk7YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxrQkFBa0IsR0FBRyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNwRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDdEIsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsV0FBVyxFQUFFLHdCQUF3QixDQUFDLGdCQUFnQjtnQkFDdEQsT0FBTyxFQUFFLFlBQVk7YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDaEksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxrQkFBa0I7Z0JBQ3hELE9BQU8sRUFBRSxZQUFZO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEYsSUFBSSxDQUFDLFlBQVk7YUFDZCxhQUFhLENBQUMsY0FBYyxDQUFDO2FBQzdCLFNBQVMsQ0FDUixDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztZQUMvQyxNQUFNLFFBQVEsR0FBYTtnQkFDekIsYUFBYSxFQUFFLFFBQVEsQ0FBQyxPQUFPO2dCQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUN0QyxlQUFlLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDM0QsUUFBUSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ3ZDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLEVBQUU7Z0JBQ3pELFNBQVMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUNwQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFO2dCQUN0RCxXQUFXLEVBQUUsUUFBUSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRTtnQkFDdkgsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO2FBQ3hELENBQUM7WUFDRixNQUFNLGtCQUFrQixHQUFvQjtnQkFDMUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxPQUFPO2dCQUMvQixRQUFRLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMvQixlQUFlLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDM0QsYUFBYSxFQUFFLElBQUksQ0FBQyw0QkFBNEIsRUFBRTthQUNuRCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1lBQzVHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxFQUNELENBQUMsS0FBZ0IsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUMsbUJBQW1CLENBQUM7WUFDcEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxtQkFBbUI7Z0JBQ3pELE9BQU8sRUFBRSxZQUFZO2FBQ3RCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QixPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7SUFFRCw2REFBNkQ7SUFDdEQsb0JBQW9CLENBQUMsb0JBQTZCO1FBQ3ZELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7WUFDaEMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUMsU0FBUztZQUNsRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsa0JBQWtCLEVBQUUsb0JBQW9CO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNqRCxDQUFDLGNBQThCLEVBQUUsRUFBRTtZQUNqQyxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDNUIsZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDbkIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxHQUFHO29CQUMxQixnQkFBZ0IsRUFBRSxjQUFjLENBQUMsUUFBUSxLQUFLLE9BQU87d0JBQ25ELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO3dCQUNuRCxDQUFDLENBQUMsRUFBRTtpQkFDTyxDQUFDLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVNLDRCQUE0QjtRQUNqQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ2pELENBQUMsY0FBOEIsRUFBRSxFQUFFO1lBQ2pDLElBQUksY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixlQUFlLENBQUMsSUFBSSxDQUFDO29CQUNuQixLQUFLLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLGNBQWMsQ0FBQyxHQUFHO3dCQUMxQixnQkFBZ0IsRUFBRSxjQUFjLENBQUMsUUFBUSxLQUFLLE9BQU87NEJBQ25ELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLOzRCQUNuRCxDQUFDLENBQUMsRUFBRTtxQkFDUDtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDRixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRU0sMEJBQTBCLENBQUMsR0FBRyxFQUFFLHFCQUFxQjtRQUMxRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUNwRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxLQUFLLHFCQUFxQixDQUFDLENBQUM7UUFDdkgsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUsscUJBQXFCLENBQUMsQ0FBQztJQUMzSSxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNoQyxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUNwRixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDO1lBQ3ZFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsc0JBQXNCO2dCQUM3QixXQUFXLEVBQUUsd0JBQXdCLENBQUMsa0JBQWtCO2dCQUN4RCxPQUFPLEVBQUUsWUFBWTthQUN0QixDQUFDLENBQUM7WUFDSCxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzNELENBQUM7SUFDSCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVkLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7NEVBMVVVLGtCQUFrQjs2REFBbEIsa0JBQWtCO1lDdEJ6QixBQURGLEFBREYsQUFERiw4QkFBNEIsYUFDVSxVQUM3QixjQUMyQjtZQUFBLFlBQXdEOztZQUFBLGlCQUFPO1lBQzdGLDZCQUE2QjtZQUFBLGdFQUFnRDtZQUFBLGlCQUFLO1lBQ2xGLHFFQUF3RTtZQThDcEUsQUFBSixBQURBLHFCQUFJLFVBQ0EsVUFBSTtZQUNSLCtCQUE2RztZQUMzRyx1RUFBOEQ7WUFJNUQsQUFERixpQ0FBMkIsa0JBQ3FDO1lBQUEscUNBQW9CO1lBQUEsaUJBQVU7WUFHeEYsQUFERixBQURGLGlDQUFpQyxjQUNGLGNBQzZCO1lBQUEscUNBQW9CO1lBQUEsaUJBQUs7WUFDakYsK0JBQXdEO1lBQUEsMkJBQVU7WUFBQSxpQkFBSztZQUN2RSwrQkFBd0Q7WUFBQSx3QkFBTztZQUFBLGlCQUFLO1lBQ3BFLCtCQUF3RDtZQUFBLHNCQUFLO1lBQUEsaUJBQUs7WUFDbEUsK0JBQXdEO1lBQUEsc0NBQXFCO1lBQUEsaUJBQUs7WUFDbEYsMEJBQTREO1lBRWhFLEFBREUsaUJBQUssRUFDQztZQUNSLGtDQUFpQztZQWdCL0IsQUFmQSxzRUFBaUYsdURBZXRCO1lBVXZFLEFBREUsQUFERSxBQURFLEFBREUsQUFERSxpQkFBUSxFQUNGLEVBQ0osRUFDRixFQUNGLEVBQ0Y7O1lBM0Y4QixlQUF3RDtZQUF4RCxnR0FBd0Q7WUFFbEMsZUFBa0I7WUFBbEIsdUNBQWtCO1lBK0N4QixlQUE4RDtZQUE5RCwrRUFBOEQ7WUFDdkUsY0FBeUI7WUFBekIsOENBQXlCO1lBZ0JWLGdCQUFrQjtZQUFsQiwyQ0FBa0I7WUFlbEMsY0FBMkI7WUFBM0IsZ0RBQTJCOzs7aUZEM0R4RCxrQkFBa0I7Y0FMOUIsU0FBUzsyQkFDRSxnQkFBZ0I7bUxBTW5CLHVCQUF1QjtrQkFEN0IsTUFBTTs7a0ZBREksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldywgRXJyb3JNZXNzYWdlLCBIdHRwRXJyb3IsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTG92UmVmRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBDYXNlTGluayxcbiAgQ0NEQ2FzZUxpbmtUeXBlLFxuICBMaW5rQ2FzZVJlYXNvbixcbiAgTGlua1JlYXNvblxufSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcywgTGlua2VkQ2FzZXNQYWdlcywgUGF0dGVybnMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9saW5rZWQtY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzVXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzLnV0aWxzJztcbmltcG9ydCB7IEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGluay1jYXNlcycsXG4gIHN0eWxlVXJsczogWycuL2xpbmstY2FzZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmstY2FzZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDYXNlc0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSm91cm5leSB7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGxpbmtDYXNlRm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VsZWN0ZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgY2FzZU51bWJlckVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVhc29uRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VSZWFzb25Db21tZW50c0Vycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlU2VsZWN0aW9uRXJyb3I6IHN0cmluZztcbiAgcHVibGljIG5vU2VsZWN0ZWRDYXNlRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGxpbmtDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW107XG4gIHB1YmxpYyBzaG93Q29tbWVudHMgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBJU09fRk9STUFUID0gJ1lZWVktTU0tRERUSEg6bW06c3MuU1NTJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRvcnNVdGlsczogVmFsaWRhdG9yc1V0aWxzLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAgbXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlOiBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIobXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZDtcbiAgICB0aGlzLmNhc2VOYW1lID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZU5hbWU7XG4gICAgdGhpcy5saW5rQ2FzZVJlYXNvbnMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnM7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICghdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaGFzTmF2aWdhdGVkSW5Kb3VybmV5KSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IFtdO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgfHwgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMubGVuZ3RoKSB7XG4gICAgICAvLyB0aGlzIG1heSBoYXZlIGluY2x1ZGVzIHRoZSBjdXJyZW50bHkgYWRkZWQgb25lIGJ1dCB5ZXQgdG8gYmUgc3VibWl0dGVkLlxuICAgICAgdGhpcy5zZWxlY3RlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKChpdGVtKSA9PiAhdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rUmVmcy5pbmNsdWRlcyhpdGVtLmNhc2VSZWZlcmVuY2UpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MubGVuZ3RoICE9PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgY29uc3QgY2FzZU51bWJlciA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnN0b3JlZENhc2VOdW1iZXIgPz8gJyc7XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGNhc2VOdW1iZXI6IFtjYXNlTnVtYmVyLCBbVmFsaWRhdG9ycy5taW5MZW5ndGgoMTYpLCB0aGlzLnZhbGlkYXRvcnNVdGlscy5yZWdleFBhdHRlcm4oUGF0dGVybnMuQ0FTRV9SRUYpXV0sXG4gICAgICByZWFzb25UeXBlOiB0aGlzLmdldFJlYXNvblR5cGVGb3JtQXJyYXksXG4gICAgICBvdGhlckRlc2NyaXB0aW9uOiBbJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApXV1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0UmVhc29uVHlwZUZvcm1BcnJheSgpOiBGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmZiLmFycmF5KFxuICAgICAgdGhpcy5saW5rQ2FzZVJlYXNvbnMubWFwKCh2YWwpID0+XG4gICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIGtleTogW3ZhbC5rZXldLFxuICAgICAgICAgIHZhbHVlX2VuOiBbdmFsLnZhbHVlX2VuXSxcbiAgICAgICAgICB2YWx1ZV9jeTogW3ZhbC52YWx1ZV9jeV0sXG4gICAgICAgICAgaGludF90ZXh0X2VuOiBbdmFsLmhpbnRfdGV4dF9lbl0sXG4gICAgICAgICAgaGludF90ZXh0X2N5OiBbdmFsLmhpbnRfdGV4dF9jeV0sXG4gICAgICAgICAgbG92X29yZGVyOiBbdmFsLmxvdl9vcmRlcl0sXG4gICAgICAgICAgcGFyZW50X2tleTogW3ZhbC5wYXJlbnRfa2V5XSxcbiAgICAgICAgICBzZWxlY3RlZDogWyEhdmFsLnNlbGVjdGVkXSxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0aGlzLnZhbGlkYXRvcnNVdGlscy5mb3JtQXJyYXlTZWxlY3RlZFZhbGlkYXRvcigpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVMaW5rQ2FzZVJlYXNvbk90aGVyQ29tbWVudHMoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlua0Nhc2VSZWFzb25zLmZpbmQoKHJlYXNvbikgPT4gcmVhc29uLnZhbHVlX2VuID09PSBldmVudC50YXJnZXQudmFsdWUpLnNlbGVjdGVkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XG4gICAgdGhpcy5zaG93Q29tbWVudHMgPSB0aGlzLmxpbmtDYXNlUmVhc29ucy5maW5kKChyZWFzb24pID0+IHJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJyk/LnNlbGVjdGVkO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdENhc2VJbmZvKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZVJlYXNvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VSZWFzb25Db21tZW50c0Vycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IG51bGw7XG4gICAgaWYgKFxuICAgICAgdGhpcy5saW5rQ2FzZUZvcm0udmFsaWQgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRDYXNlcykgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSAmJlxuICAgICAgIXRoaXMuaXNDYXNlSW5Jbml0aWFsKHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIpICYmXG4gICAgICAhdGhpcy5pc0Nhc2VTZWxlY3RlZFNhbWVBc0N1cnJlbnRDYXNlKCkgJiZcbiAgICAgICF0aGlzLmlzT3RoZXJPcHRpb25TZWxlY3RlZEJ1dE90aGVyRGVzY3JpcHRpb25Ob3RFbnRlcmVkKClcbiAgICApIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnN0b3JlZENhc2VOdW1iZXIgPSAnJztcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc05hdmlnYXRlZEluSm91cm5leSA9IHRydWU7XG4gICAgICB0aGlzLmdldENhc2VJbmZvKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9ySW5mbygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0Nhc2VTZWxlY3RlZChsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChsaW5rZWRDYXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgY2FzZU51bWJlciA9IHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXI7XG4gICAgcmV0dXJuICEhbGlua2VkQ2FzZXMuZmluZChcbiAgICAgIChjYXNlTGluaykgPT4gY2FzZUxpbmsuY2FzZVJlZmVyZW5jZS5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKSA9PT0gY2FzZU51bWJlci5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlSW5Jbml0aWFsKHByb3Bvc2VkQ2FzZUxpbms6IHN0cmluZyl7XG4gICAgaWYgKHByb3Bvc2VkQ2FzZUxpbmspe1xuICAgICAgLy8gaW5pdGlhbCBjYXNlIGxpbmtzIHdpbGwgbm90IGhhdmUgLSBpbiB0aGVtLCBhY2NvdW50IGZvciB0aGUgY2FzZSB3aGVyZSBhIHVzZXIgbWF5IHR5cGUgd2l0aCAtXG4gICAgICBwcm9wb3NlZENhc2VMaW5rID0gcHJvcG9zZWRDYXNlTGluay5yZXBsYWNlKC8tL2csICcnKS50cmltKCk7XG4gICAgICBjb25zdCBpbml0aWFsQ2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rUmVmcyB8fCBbXTtcbiAgICAgIHJldHVybiBpbml0aWFsQ2FzZUxpbmtzLmluY2x1ZGVzKHByb3Bvc2VkQ2FzZUxpbmspO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGlzQ2FzZVNlbGVjdGVkU2FtZUFzQ3VycmVudENhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKCkgPT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZC5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPdGhlck9wdGlvblNlbGVjdGVkQnV0T3RoZXJEZXNjcmlwdGlvbk5vdEVudGVyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0NvbW1lbnRzICYmIHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLm90aGVyRGVzY3JpcHRpb24udHJpbSgpLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBzaG93RXJyb3JJbmZvKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5jYXNlTnVtYmVyLmludmFsaWQpIHtcbiAgICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VOdW1iZXJFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZU51bWJlckVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZU51bWJlcidcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5SZWFzb25TZWxlY3Rpb25FcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuUmVhc29uU2VsZWN0aW9uRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlUmVhc29uJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5yZWFzb25UeXBlLnZhbGlkXG4gICAgICAmJiB0aGlzLmxpbmtDYXNlUmVhc29ucy5maW5kKChyZWFzb24pID0+IHJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJykuc2VsZWN0ZWQpIHtcbiAgICAgIGlmICh0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5vdGhlckRlc2NyaXB0aW9uLnZhbHVlLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5jYXNlUmVhc29uQ29tbWVudHNFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5vdGhlckRlc2NyaXB0aW9uRXJyb3I7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtcmVhc29uLWNvbW1lbnRzJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLm90aGVyRGVzY3JpcHRpb25FcnJvcixcbiAgICAgICAgICBmaWVsZElkOiAnb3RoZXJEZXNjcmlwdGlvbidcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMub3RoZXJEZXNjcmlwdGlvbi52YWx1ZS50cmltKCkubGVuZ3RoID4gMTAwKSB7XG4gICAgICAgIHRoaXMuY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMub3RoZXJEZXNjcmlwdGlvbk1heExlbmd0aEVycm9yO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbi1jb21tZW50cycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5vdGhlckRlc2NyaXB0aW9uTWF4TGVuZ3RoRXJyb3IsXG4gICAgICAgICAgZmllbGRJZDogJ290aGVyRGVzY3JpcHRpb24nXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkQ2FzZXMpKSB7XG4gICAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlUHJvcG9zZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVByb3Bvc2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSkge1xuICAgICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZXNMaW5rZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZXNMaW5rZWRFcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDYXNlSW5Jbml0aWFsKHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIpKSB7XG4gICAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlc0xpbmtlZEVycm9yO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlc0xpbmtlZEVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZU51bWJlcidcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlci5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKSA9PT0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkLnNwbGl0KCctJykuam9pbignJykudHJpbSgpKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlByb3Bvc2VkQ2FzZVdpdGhJbixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICB9KTtcbiAgICB9XG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldENhc2VJbmZvKCk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VOdW1iZXJEYXRhID0gdGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlci5yZXBsYWNlKC9bLSBdL2csICcnKS50cmltKCk7XG4gICAgdGhpcy5jYXNlc1NlcnZpY2VcbiAgICAgIC5nZXRDYXNlVmlld1YyKGNhc2VOdW1iZXJEYXRhKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKGNhc2VWaWV3OiBDYXNlVmlldykgPT4ge1xuICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gY2FzZVZpZXc7XG4gICAgICAgICAgY29uc3QgY2FzZUxpbms6IENhc2VMaW5rID0ge1xuICAgICAgICAgICAgY2FzZVJlZmVyZW5jZTogY2FzZVZpZXcuY2FzZV9pZCxcbiAgICAgICAgICAgIHJlYXNvbnM6IHRoaXMuZ2V0U2VsZWN0ZWRDYXNlUmVhc29ucygpLFxuICAgICAgICAgICAgY3JlYXRlZERhdGVUaW1lOiBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KHRoaXMuSVNPX0ZPUk1BVCksXG4gICAgICAgICAgICBjYXNlVHlwZTogY2FzZVZpZXcuY2FzZV90eXBlLm5hbWUgfHwgJycsXG4gICAgICAgICAgICBjYXNlVHlwZURlc2NyaXB0aW9uOiBjYXNlVmlldy5jYXNlX3R5cGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlU3RhdGU6IGNhc2VWaWV3LnN0YXRlLm5hbWUgfHwgJycsXG4gICAgICAgICAgICBjYXNlU3RhdGVEZXNjcmlwdGlvbjogY2FzZVZpZXcuc3RhdGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlU2VydmljZTogY2FzZVZpZXcuY2FzZV90eXBlICYmIGNhc2VWaWV3LmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24gJiYgY2FzZVZpZXcuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgICAgICAgIGNhc2VOYW1lOiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRDYXNlTmFtZShjYXNlVmlldylcbiAgICAgICAgICB9O1xuICAgICAgICAgIGNvbnN0IGNjZEFwaUNhc2VMaW5rRGF0YTogQ0NEQ2FzZUxpbmtUeXBlID0ge1xuICAgICAgICAgICAgQ2FzZVJlZmVyZW5jZTogY2FzZVZpZXcuY2FzZV9pZCxcbiAgICAgICAgICAgIENhc2VUeXBlOiBjYXNlVmlldy5jYXNlX3R5cGUuaWQsXG4gICAgICAgICAgICBDcmVhdGVkRGF0ZVRpbWU6IG1vbWVudChuZXcgRGF0ZSgpKS5mb3JtYXQodGhpcy5JU09fRk9STUFUKSxcbiAgICAgICAgICAgIFJlYXNvbkZvckxpbms6IHRoaXMuZ2V0U2VsZWN0ZWRDQ0RUeXBlQ2FzZVJlYXNvbigpXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5wdXNoKHsgaWQ6IGNhc2VWaWV3LmNhc2VfaWQudG9TdHJpbmcoKSwgdmFsdWU6IGNjZEFwaUNhc2VMaW5rRGF0YSB9KTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjYXNlTGluayk7XG4gICAgICAgICAgdGhpcy5saW5rQ2FzZVJlYXNvbnMuZm9yRWFjaCgocmVhc29uKSA9PiByZWFzb24uc2VsZWN0ZWQgPSBmYWxzZSk7XG4gICAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUoZmFsc2UpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IEh0dHBFcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VDaGVja0FnYWluRXJyb3I7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VDaGVja0FnYWluRXJyb3IsXG4gICAgICAgICAgICBmaWVsZElkOiAnY2FzZU51bWJlcidcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgLy8gUmV0dXJuIGxpbmtlZCBjYXNlcyBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICBwdWJsaWMgZW1pdExpbmtlZENhc2VzU3RhdGUoaXNOYXZpZ2F0ZVRvTmV4dFBhZ2U6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtlZENhc2VzU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudExpbmtlZENhc2VzUGFnZTogTGlua2VkQ2FzZXNQYWdlcy5MSU5LX0NBU0UsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IGlzTmF2aWdhdGVUb05leHRQYWdlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRDYXNlUmVhc29ucygpOiBMaW5rUmVhc29uW10ge1xuICAgIGNvbnN0IHNlbGVjdGVkUmVhc29ucyA9IFtdO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUudmFsdWUuZm9yRWFjaChcbiAgICAgIChzZWxlY3RlZFJlYXNvbjogTGlua0Nhc2VSZWFzb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVhc29uLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZWN0ZWRSZWFzb25zLnB1c2goe1xuICAgICAgICAgICAgUmVhc29uOiBzZWxlY3RlZFJlYXNvbi5rZXksXG4gICAgICAgICAgICBPdGhlckRlc2NyaXB0aW9uOiBzZWxlY3RlZFJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJ1xuICAgICAgICAgICAgICA/IHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLm90aGVyRGVzY3JpcHRpb24udmFsdWVcbiAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgIH0gYXMgTGlua1JlYXNvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZFJlYXNvbnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRDQ0RUeXBlQ2FzZVJlYXNvbigpOiBMaW5rUmVhc29uW10ge1xuICAgIGNvbnN0IHNlbGVjdGVkUmVhc29ucyA9IFtdO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUudmFsdWUuZm9yRWFjaChcbiAgICAgIChzZWxlY3RlZFJlYXNvbjogTGlua0Nhc2VSZWFzb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVhc29uLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZWN0ZWRSZWFzb25zLnB1c2goe1xuICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgUmVhc29uOiBzZWxlY3RlZFJlYXNvbi5rZXksXG4gICAgICAgICAgICAgIE90aGVyRGVzY3JpcHRpb246IHNlbGVjdGVkUmVhc29uLnZhbHVlX2VuID09PSAnT3RoZXInXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5vdGhlckRlc2NyaXB0aW9uLnZhbHVlXG4gICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRSZWFzb25zO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0ZWRMaW5rZWRDYXNlUmVtb3ZlKHBvcywgc2VsZWN0ZWRDYXNlUmVmZXJlbmNlKTogdm9pZCB7XG4gICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSB8fCBbXTtcbiAgICBjb25zdCB1cGRhdGVkSXRlbXMgPSBjYXNlRmllbGRWYWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udmFsdWUgJiYgaXRlbS52YWx1ZS5DYXNlUmVmZXJlbmNlICE9PSBzZWxlY3RlZENhc2VSZWZlcmVuY2UpO1xuICAgIGlmICh1cGRhdGVkSXRlbXMpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gdXBkYXRlZEl0ZW1zO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKHBvcywgMSk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2FzZVJlZmVyZW5jZSAhPT0gc2VsZWN0ZWRDYXNlUmVmZXJlbmNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5jYXNlUmVhc29uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5ub1NlbGVjdGVkQ2FzZUVycm9yID0gbnVsbDtcbiAgICBsZXQgbmF2aWdhdGVUb05leHRQYWdlID0gdHJ1ZTtcbiAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zdG9yZWRDYXNlTnVtYmVyID0gdGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlciA/PyAnJztcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLnNlbGVjdGVkQ2FzZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlU2VsZWN0aW9uRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1zZWxlY3Rpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VTZWxlY3Rpb25FcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VSZWFzb24nXG4gICAgICB9KTtcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKG5hdmlnYXRlVG9OZXh0UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDYXNlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IHRoaXMuc2VsZWN0ZWRDYXNlcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpIHtcbiAgICB0aGlzLm9uTmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDxkaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPkxpbmsgY2FzZXMgdG8ge3tjYXNlTmFtZX19IHt7Y2FzZUlkIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9zcGFuPlxuICAgICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy14bFwiPlNlbGVjdCBhJm5ic3A7Y2FzZSB5b3Ugd2FudCB0byBsaW5rIHRvIHRoaXMgY2FzZTwvaDE+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwibGlua0Nhc2VGb3JtXCIgKm5nSWY9XCJsaW5rQ2FzZUZvcm1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlTnVtYmVyRXJyb3J9XCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCI+RW50ZXIgY2FzZSByZWZlcmVuY2U8L2gzPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZU51bWJlckVycm9yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlTnVtYmVyRXJyb3J9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay1pbnB1dC0td2lkdGgtMjBcIiBmb3JtQ29udHJvbE5hbWU9XCJjYXNlTnVtYmVyXCIgaWQ9XCJ3aWR0aC0yMFwiIG5hbWU9XCJ3aWR0aC0yMFwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlUmVhc29uRXJyb3J9XCIgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi10b3AtM1wiPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiPldoeSBzaG91bGQgdGhlc2UgY2FzZXMgYmUgbGlua2VkPzwvaDM+XG4gICAgICAgICAgPGRpdiBpZD1cIndhc3RlLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICAgIFNlbGVjdCBhbGwgdGhhdCBhcHBseS5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImNhc2VSZWFzb25FcnJvclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7Y2FzZVJlYXNvbkVycm9yfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWNoZWNrYm94ZXNcIiBmb3JtQXJyYXlOYW1lPVwicmVhc29uVHlwZVwiIGlkPVwiY2FzZVJlYXNvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGxpbmtDYXNlUmVhc29ucztpbmRleCBhcyBwb3NcIiBbZm9ybUdyb3VwTmFtZV09XCJwb3NcIj5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInt7cmVhc29uLmtleX19XCIgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRcIiBuYW1lPVwicG9zXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiBbdmFsdWVdPVwicmVhc29uLnZhbHVlX2VuXCIgKGNoYW5nZSk9XCJ0b2dnbGVMaW5rQ2FzZVJlYXNvbk90aGVyQ29tbWVudHMoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInt7cmVhc29uLmtleX19XCI+e3tyZWFzb24udmFsdWVfZW59fTwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJvdGhlci1kZXNjcmlwdGlvbi1jaGFyLWxpbWl0LWVycm9yXCIgW25nQ2xhc3NdPVwieydnb3Z1ay1mb3JtLWdyb3VwLS1lcnJvcic6ICEhY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3J9XCIgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi10b3AtM1wiICpuZ0lmPVwic2hvd0NvbW1lbnRzXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCI+Q29tbWVudHM8L2gzPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3JcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VSZWFzb25Db21tZW50c0Vycm9yfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWEgZ292dWstaW5wdXQtLXdpZHRoLTMwXCIgaWQ9XCJvdGhlckRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJvdGhlckRlc2NyaXB0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwib3RoZXJEZXNjcmlwdGlvblwiIHJvd3M9XCI1XCJcbiAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJvdGhlci1kZXNjcmlwdGlvbi1oaW50IG90aGVyLWRlc2NyaXB0aW9uLWNoYXItbGltaXQtaW5mbyBvdGhlci1kZXNjcmlwdGlvbi1jaGFyLWxpbWl0LWVycm9yXCI+XG4gICAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgICA8ZGl2IGlkPVwib3RoZXItZGVzY3JpcHRpb24tY2hhci1saW1pdC1pbmZvXCIgYXJpYS1saXZlPVwicG9saXRlXCIgY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZVwiPlxuICAgICAgICAgICAgWW91IGNhbiBlbnRlciB1cCB0byAxMDAgY2hhcmFjdGVyc1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyPjxicj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlU2VsZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlU2VsZWN0aW9uRXJyb3J9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxidXR0b24gaWQ9XCJwcm9wb3NlXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzdWJtaXRDYXNlSW5mbygpXCI+UHJvcG9zZSBjYXNlIGxpbms8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGhyPlxuICAgICAgPGJyPjxicj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgaWQ9XCJjYXNlTnVtYmVyXCIgW25nQ2xhc3NdPVwieydnb3Z1ay1mb3JtLWdyb3VwLS1lcnJvcic6ICEhbm9TZWxlY3RlZENhc2VFcnJvcn1cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJub1NlbGVjdGVkQ2FzZUVycm9yXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7bm9TZWxlY3RlZENhc2VFcnJvcn19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICAgICA8Y2FwdGlvbiBjbGFzcz1cImdvdnVrLXRhYmxlX19jYXB0aW9uIGdvdnVrLXRhYmxlX19jYXB0aW9uLS1tXCI+UHJvcG9zZWQgY2FzZSBsaW5rcyA8L2NhcHRpb24+XG4gICAgICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIzMDBcIj5DYXNlIG5hbWUgYW5kIG51bWJlcjwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiMTUwXCI+Q2FzZSB0eXBlIDwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiMjAwXCI+U2VydmljZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiMjAwXCI+U3RhdGU8L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiB3aWR0aD1cIjQwMFwiPlJlYXNvbnMgZm9yIGNhc2UgbGluazwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiNTBcIj48L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IGNhc2Ugb2Ygc2VsZWN0ZWRDYXNlczsgbGV0IHBvcyA9IGluZGV4XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAtLWVycm9yXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndGFibGUtZ3JvdXAtZXJyb3InOmNhc2VTZWxlY3Rpb25FcnJvciAmJiBjYXNlLmNhc2VSZWZlcmVuY2UgPT09IGxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyfVwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7Y2FzZS5jYXNlTmFtZX19IDxicj4ge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgW3RpdGxlXT1cImNhc2UuY2FzZVR5cGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlVHlwZX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57e2Nhc2UuY2FzZVNlcnZpY2V9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgW3RpdGxlXT1cImNhc2UuY2FzZVN0YXRlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2FzZVN0YXRlfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPjxzcGFuXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGNhc2UucmVhc29uc1wiPnt7cmVhc29uIHwgY2NkTGlua0Nhc2VzUmVhc29uVmFsdWV9fTxicj48L3NwYW4+PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj48YSBbYXR0ci5pZF09XCJjYXNlLmNhc2VSZWZlcmVuY2VcIiAoY2xpY2spPVwib25TZWxlY3RlZExpbmtlZENhc2VSZW1vdmUocG9zLCBjYXNlLmNhc2VSZWZlcmVuY2UpO1wiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImdvdnVrLWxpbmsgbm8tdmlzaXRlZC1zdGF0ZVwiPlJlbW92ZTwvYT48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cIiFzZWxlY3RlZENhc2VzLmxlbmd0aFwiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI2XCI+XG4gICAgICAgICAgICAgICAgTm9uZVxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
577
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvY29tcG9uZW50cy9saW5rLWNhc2VzL2xpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGluay1jYXNlcy9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWEsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVE5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztJQ1Q3RCxBQURGLGdD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ZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldywgRXJyb3JNZXNzYWdlLCBIdHRwRXJyb3IsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTG92UmVmRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBDYXNlTGluayxcbiAgQ0NEQ2FzZUxpbmtUeXBlLFxuICBMaW5rQ2FzZVJlYXNvbixcbiAgTGlua1JlYXNvblxufSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcywgTGlua2VkQ2FzZXNQYWdlcywgUGF0dGVybnMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9saW5rZWQtY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzVXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzLnV0aWxzJztcbmltcG9ydCB7IEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGluay1jYXNlcycsXG4gIHN0eWxlVXJsczogWycuL2xpbmstY2FzZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmstY2FzZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDYXNlc0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSm91cm5leSB7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGxpbmtDYXNlRm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VsZWN0ZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgY2FzZU51bWJlckVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVhc29uRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VSZWFzb25Db21tZW50c0Vycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlU2VsZWN0aW9uRXJyb3I6IHN0cmluZztcbiAgcHVibGljIG5vU2VsZWN0ZWRDYXNlRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGxpbmtDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW107XG4gIHB1YmxpYyBzaG93Q29tbWVudHMgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBJU09fRk9STUFUID0gJ1lZWVktTU0tRERUSEg6bW06c3MuU1NTJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRvcnNVdGlsczogVmFsaWRhdG9yc1V0aWxzLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAgbXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlOiBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIobXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZDtcbiAgICB0aGlzLmNhc2VOYW1lID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZU5hbWU7XG4gICAgdGhpcy5saW5rQ2FzZVJlYXNvbnMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnM7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICghdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaGFzTmF2aWdhdGVkSW5Kb3VybmV5KSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IFtdO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgfHwgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMubGVuZ3RoKSB7XG4gICAgICAvLyB0aGlzIG1heSBoYXZlIGluY2x1ZGVzIHRoZSBjdXJyZW50bHkgYWRkZWQgb25lIGJ1dCB5ZXQgdG8gYmUgc3VibWl0dGVkLlxuICAgICAgdGhpcy5zZWxlY3RlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKChpdGVtKSA9PiAhdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rUmVmcy5pbmNsdWRlcyhpdGVtLmNhc2VSZWZlcmVuY2UpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MubGVuZ3RoICE9PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgY29uc3QgY2FzZU51bWJlciA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnN0b3JlZENhc2VOdW1iZXIgPz8gJyc7XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGNhc2VOdW1iZXI6IFtjYXNlTnVtYmVyLCBbVmFsaWRhdG9ycy5taW5MZW5ndGgoMTYpLCB0aGlzLnZhbGlkYXRvcnNVdGlscy5yZWdleFBhdHRlcm4oUGF0dGVybnMuQ0FTRV9SRUYpXV0sXG4gICAgICByZWFzb25UeXBlOiB0aGlzLmdldFJlYXNvblR5cGVGb3JtQXJyYXksXG4gICAgICBvdGhlckRlc2NyaXB0aW9uOiBbJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApXV1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0UmVhc29uVHlwZUZvcm1BcnJheSgpOiBGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmZiLmFycmF5KFxuICAgICAgdGhpcy5saW5rQ2FzZVJlYXNvbnMubWFwKCh2YWwpID0+XG4gICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIGtleTogW3ZhbC5rZXldLFxuICAgICAgICAgIHZhbHVlX2VuOiBbdmFsLnZhbHVlX2VuXSxcbiAgICAgICAgICB2YWx1ZV9jeTogW3ZhbC52YWx1ZV9jeV0sXG4gICAgICAgICAgaGludF90ZXh0X2VuOiBbdmFsLmhpbnRfdGV4dF9lbl0sXG4gICAgICAgICAgaGludF90ZXh0X2N5OiBbdmFsLmhpbnRfdGV4dF9jeV0sXG4gICAgICAgICAgbG92X29yZGVyOiBbdmFsLmxvdl9vcmRlcl0sXG4gICAgICAgICAgcGFyZW50X2tleTogW3ZhbC5wYXJlbnRfa2V5XSxcbiAgICAgICAgICBzZWxlY3RlZDogWyEhdmFsLnNlbGVjdGVkXSxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0aGlzLnZhbGlkYXRvcnNVdGlscy5mb3JtQXJyYXlTZWxlY3RlZFZhbGlkYXRvcigpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVMaW5rQ2FzZVJlYXNvbk90aGVyQ29tbWVudHMoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlua0Nhc2VSZWFzb25zLmZpbmQoKHJlYXNvbikgPT4gcmVhc29uLnZhbHVlX2VuID09PSBldmVudC50YXJnZXQudmFsdWUpLnNlbGVjdGVkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XG4gICAgdGhpcy5zaG93Q29tbWVudHMgPSB0aGlzLmxpbmtDYXNlUmVhc29ucy5maW5kKChyZWFzb24pID0+IHJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJyk/LnNlbGVjdGVkO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdENhc2VJbmZvKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZVJlYXNvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VSZWFzb25Db21tZW50c0Vycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IG51bGw7XG4gICAgaWYgKFxuICAgICAgdGhpcy5saW5rQ2FzZUZvcm0udmFsaWQgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRDYXNlcykgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSAmJlxuICAgICAgIXRoaXMuaXNDYXNlSW5Jbml0aWFsKHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIpICYmXG4gICAgICAhdGhpcy5pc0Nhc2VTZWxlY3RlZFNhbWVBc0N1cnJlbnRDYXNlKCkgJiZcbiAgICAgICF0aGlzLmlzT3RoZXJPcHRpb25TZWxlY3RlZEJ1dE90aGVyRGVzY3JpcHRpb25Ob3RFbnRlcmVkKClcbiAgICApIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnN0b3JlZENhc2VOdW1iZXIgPSAnJztcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmhhc05hdmlnYXRlZEluSm91cm5leSA9IHRydWU7XG4gICAgICB0aGlzLmdldENhc2VJbmZvKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9ySW5mbygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0Nhc2VTZWxlY3RlZChsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChsaW5rZWRDYXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgY2FzZU51bWJlciA9IHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXI7XG4gICAgcmV0dXJuICEhbGlua2VkQ2FzZXMuZmluZChcbiAgICAgIChjYXNlTGluaykgPT4gY2FzZUxpbmsuY2FzZVJlZmVyZW5jZS5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKSA9PT0gY2FzZU51bWJlci5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlSW5Jbml0aWFsKHByb3Bvc2VkQ2FzZUxpbms6IHN0cmluZyl7XG4gICAgaWYgKHByb3Bvc2VkQ2FzZUxpbmspe1xuICAgICAgLy8gaW5pdGlhbCBjYXNlIGxpbmtzIHdpbGwgbm90IGhhdmUgLSBpbiB0aGVtLCBhY2NvdW50IGZvciB0aGUgY2FzZSB3aGVyZSBhIHVzZXIgbWF5IHR5cGUgd2l0aCAtXG4gICAgICBwcm9wb3NlZENhc2VMaW5rID0gcHJvcG9zZWRDYXNlTGluay5yZXBsYWNlKC8tL2csICcnKS50cmltKCk7XG4gICAgICBjb25zdCBpbml0aWFsQ2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rUmVmcyB8fCBbXTtcbiAgICAgIHJldHVybiBpbml0aWFsQ2FzZUxpbmtzLmluY2x1ZGVzKHByb3Bvc2VkQ2FzZUxpbmspO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGlzQ2FzZVNlbGVjdGVkU2FtZUFzQ3VycmVudENhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIuc3BsaXQoJy0nKS5qb2luKCcnKS50cmltKCkgPT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZC5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPdGhlck9wdGlvblNlbGVjdGVkQnV0T3RoZXJEZXNjcmlwdGlvbk5vdEVudGVyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0NvbW1lbnRzICYmIHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLm90aGVyRGVzY3JpcHRpb24udHJpbSgpLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBzaG93RXJyb3JJbmZvKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5jYXNlTnVtYmVyLmludmFsaWQpIHtcbiAgICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VOdW1iZXJFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZU51bWJlckVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZU51bWJlcidcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5SZWFzb25TZWxlY3Rpb25FcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuUmVhc29uU2VsZWN0aW9uRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlUmVhc29uJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5yZWFzb25UeXBlLnZhbGlkXG4gICAgICAmJiB0aGlzLmxpbmtDYXNlUmVhc29ucy5maW5kKChyZWFzb24pID0+IHJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJykuc2VsZWN0ZWQpIHtcbiAgICAgIGlmICh0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5vdGhlckRlc2NyaXB0aW9uLnZhbHVlLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5jYXNlUmVhc29uQ29tbWVudHNFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5vdGhlckRlc2NyaXB0aW9uRXJyb3I7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtcmVhc29uLWNvbW1lbnRzJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLm90aGVyRGVzY3JpcHRpb25FcnJvcixcbiAgICAgICAgICBmaWVsZElkOiAnb3RoZXJEZXNjcmlwdGlvbidcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMub3RoZXJEZXNjcmlwdGlvbi52YWx1ZS50cmltKCkubGVuZ3RoID4gMTAwKSB7XG4gICAgICAgIHRoaXMuY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMub3RoZXJEZXNjcmlwdGlvbk1heExlbmd0aEVycm9yO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbi1jb21tZW50cycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5vdGhlckRlc2NyaXB0aW9uTWF4TGVuZ3RoRXJyb3IsXG4gICAgICAgICAgZmllbGRJZDogJ290aGVyRGVzY3JpcHRpb24nXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkQ2FzZXMpKSB7XG4gICAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlUHJvcG9zZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVByb3Bvc2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSkge1xuICAgICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZXNMaW5rZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZXNMaW5rZWRFcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDYXNlSW5Jbml0aWFsKHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXIpKSB7XG4gICAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlc0xpbmtlZEVycm9yO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlc0xpbmtlZEVycm9yLFxuICAgICAgICBmaWVsZElkOiAnY2FzZU51bWJlcidcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlci5zcGxpdCgnLScpLmpvaW4oJycpLnRyaW0oKSA9PT0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkLnNwbGl0KCctJykuam9pbignJykudHJpbSgpKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlByb3Bvc2VkQ2FzZVdpdGhJbixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInXG4gICAgICB9KTtcbiAgICB9XG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldENhc2VJbmZvKCk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VOdW1iZXJEYXRhID0gdGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlci5yZXBsYWNlKC9bLSBdL2csICcnKS50cmltKCk7XG4gICAgdGhpcy5jYXNlc1NlcnZpY2VcbiAgICAgIC5nZXRDYXNlVmlld1YyKGNhc2VOdW1iZXJEYXRhKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKGNhc2VWaWV3OiBDYXNlVmlldykgPT4ge1xuICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gY2FzZVZpZXc7XG4gICAgICAgICAgY29uc3QgY2FzZUxpbms6IENhc2VMaW5rID0ge1xuICAgICAgICAgICAgY2FzZVJlZmVyZW5jZTogY2FzZVZpZXcuY2FzZV9pZCxcbiAgICAgICAgICAgIHJlYXNvbnM6IHRoaXMuZ2V0U2VsZWN0ZWRDYXNlUmVhc29ucygpLFxuICAgICAgICAgICAgY3JlYXRlZERhdGVUaW1lOiBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KHRoaXMuSVNPX0ZPUk1BVCksXG4gICAgICAgICAgICBjYXNlVHlwZTogY2FzZVZpZXcuY2FzZV90eXBlLm5hbWUgfHwgJycsXG4gICAgICAgICAgICBjYXNlVHlwZURlc2NyaXB0aW9uOiBjYXNlVmlldy5jYXNlX3R5cGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlU3RhdGU6IGNhc2VWaWV3LnN0YXRlLm5hbWUgfHwgJycsXG4gICAgICAgICAgICBjYXNlU3RhdGVEZXNjcmlwdGlvbjogY2FzZVZpZXcuc3RhdGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlU2VydmljZTogY2FzZVZpZXcuY2FzZV90eXBlICYmIGNhc2VWaWV3LmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24gJiYgY2FzZVZpZXcuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgICAgICAgIGNhc2VOYW1lOiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRDYXNlTmFtZShjYXNlVmlldylcbiAgICAgICAgICB9O1xuICAgICAgICAgIGNvbnN0IGNjZEFwaUNhc2VMaW5rRGF0YTogQ0NEQ2FzZUxpbmtUeXBlID0ge1xuICAgICAgICAgICAgQ2FzZVJlZmVyZW5jZTogY2FzZVZpZXcuY2FzZV9pZCxcbiAgICAgICAgICAgIENhc2VUeXBlOiBjYXNlVmlldy5jYXNlX3R5cGUuaWQsXG4gICAgICAgICAgICBDcmVhdGVkRGF0ZVRpbWU6IG1vbWVudChuZXcgRGF0ZSgpKS5mb3JtYXQodGhpcy5JU09fRk9STUFUKSxcbiAgICAgICAgICAgIFJlYXNvbkZvckxpbms6IHRoaXMuZ2V0U2VsZWN0ZWRDQ0RUeXBlQ2FzZVJlYXNvbigpXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5wdXNoKHsgaWQ6IGNhc2VWaWV3LmNhc2VfaWQudG9TdHJpbmcoKSwgdmFsdWU6IGNjZEFwaUNhc2VMaW5rRGF0YSB9KTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjYXNlTGluayk7XG4gICAgICAgICAgdGhpcy5saW5rQ2FzZVJlYXNvbnMuZm9yRWFjaCgocmVhc29uKSA9PiByZWFzb24uc2VsZWN0ZWQgPSBmYWxzZSk7XG4gICAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUoZmFsc2UpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IEh0dHBFcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VDaGVja0FnYWluRXJyb3I7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VDaGVja0FnYWluRXJyb3IsXG4gICAgICAgICAgICBmaWVsZElkOiAnY2FzZU51bWJlcidcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgLy8gUmV0dXJuIGxpbmtlZCBjYXNlcyBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICBwdWJsaWMgZW1pdExpbmtlZENhc2VzU3RhdGUoaXNOYXZpZ2F0ZVRvTmV4dFBhZ2U6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtlZENhc2VzU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudExpbmtlZENhc2VzUGFnZTogTGlua2VkQ2FzZXNQYWdlcy5MSU5LX0NBU0UsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IGlzTmF2aWdhdGVUb05leHRQYWdlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRDYXNlUmVhc29ucygpOiBMaW5rUmVhc29uW10ge1xuICAgIGNvbnN0IHNlbGVjdGVkUmVhc29ucyA9IFtdO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUudmFsdWUuZm9yRWFjaChcbiAgICAgIChzZWxlY3RlZFJlYXNvbjogTGlua0Nhc2VSZWFzb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVhc29uLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZWN0ZWRSZWFzb25zLnB1c2goe1xuICAgICAgICAgICAgUmVhc29uOiBzZWxlY3RlZFJlYXNvbi5rZXksXG4gICAgICAgICAgICBPdGhlckRlc2NyaXB0aW9uOiBzZWxlY3RlZFJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJ1xuICAgICAgICAgICAgICA/IHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLm90aGVyRGVzY3JpcHRpb24udmFsdWVcbiAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgIH0gYXMgTGlua1JlYXNvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZFJlYXNvbnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRDQ0RUeXBlQ2FzZVJlYXNvbigpOiBMaW5rUmVhc29uW10ge1xuICAgIGNvbnN0IHNlbGVjdGVkUmVhc29ucyA9IFtdO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUudmFsdWUuZm9yRWFjaChcbiAgICAgIChzZWxlY3RlZFJlYXNvbjogTGlua0Nhc2VSZWFzb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVhc29uLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZWN0ZWRSZWFzb25zLnB1c2goe1xuICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgUmVhc29uOiBzZWxlY3RlZFJlYXNvbi5rZXksXG4gICAgICAgICAgICAgIE90aGVyRGVzY3JpcHRpb246IHNlbGVjdGVkUmVhc29uLnZhbHVlX2VuID09PSAnT3RoZXInXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxpbmtDYXNlRm9ybS5jb250cm9scy5vdGhlckRlc2NyaXB0aW9uLnZhbHVlXG4gICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRSZWFzb25zO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0ZWRMaW5rZWRDYXNlUmVtb3ZlKHBvcywgc2VsZWN0ZWRDYXNlUmVmZXJlbmNlKTogdm9pZCB7XG4gICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSB8fCBbXTtcbiAgICBjb25zdCB1cGRhdGVkSXRlbXMgPSBjYXNlRmllbGRWYWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udmFsdWUgJiYgaXRlbS52YWx1ZS5DYXNlUmVmZXJlbmNlICE9PSBzZWxlY3RlZENhc2VSZWZlcmVuY2UpO1xuICAgIGlmICh1cGRhdGVkSXRlbXMpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gdXBkYXRlZEl0ZW1zO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKHBvcywgMSk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2FzZVJlZmVyZW5jZSAhPT0gc2VsZWN0ZWRDYXNlUmVmZXJlbmNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5jYXNlUmVhc29uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5ub1NlbGVjdGVkQ2FzZUVycm9yID0gbnVsbDtcbiAgICBsZXQgbmF2aWdhdGVUb05leHRQYWdlID0gdHJ1ZTtcbiAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zdG9yZWRDYXNlTnVtYmVyID0gdGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlciA/PyAnJztcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLnNlbGVjdGVkQ2FzZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlU2VsZWN0aW9uRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1zZWxlY3Rpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VTZWxlY3Rpb25FcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VSZWFzb24nXG4gICAgICB9KTtcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKG5hdmlnYXRlVG9OZXh0UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDYXNlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IHRoaXMuc2VsZWN0ZWRDYXNlcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpIHtcbiAgICB0aGlzLm9uTmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDxkaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPkxpbmsgY2FzZXMgdG8ge3tjYXNlTmFtZX19IHt7Y2FzZUlkIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9zcGFuPlxuICAgICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy14bFwiPlNlbGVjdCBhJm5ic3A7Y2FzZSB5b3Ugd2FudCB0byBsaW5rIHRvIHRoaXMgY2FzZTwvaDE+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwibGlua0Nhc2VGb3JtXCIgKm5nSWY9XCJsaW5rQ2FzZUZvcm1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlTnVtYmVyRXJyb3J9XCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCI+RW50ZXIgY2FzZSByZWZlcmVuY2U8L2gzPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZU51bWJlckVycm9yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlTnVtYmVyRXJyb3J9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay1pbnB1dC0td2lkdGgtMjBcIiBmb3JtQ29udHJvbE5hbWU9XCJjYXNlTnVtYmVyXCIgaWQ9XCJ3aWR0aC0yMFwiIG5hbWU9XCJ3aWR0aC0yMFwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlUmVhc29uRXJyb3J9XCIgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi10b3AtM1wiPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiPldoeSBzaG91bGQgdGhlc2UgY2FzZXMgYmUgbGlua2VkPzwvaDM+XG4gICAgICAgICAgPGRpdiBpZD1cIndhc3RlLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICAgIFNlbGVjdCBhbGwgdGhhdCBhcHBseS5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImNhc2VSZWFzb25FcnJvclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7Y2FzZVJlYXNvbkVycm9yfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWNoZWNrYm94ZXNcIiBmb3JtQXJyYXlOYW1lPVwicmVhc29uVHlwZVwiIGlkPVwiY2FzZVJlYXNvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGxpbmtDYXNlUmVhc29ucztpbmRleCBhcyBwb3NcIiBbZm9ybUdyb3VwTmFtZV09XCJwb3NcIj5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInt7cmVhc29uLmtleX19XCIgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRcIiBuYW1lPVwicG9zXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiBbdmFsdWVdPVwicmVhc29uLnZhbHVlX2VuXCIgKGNoYW5nZSk9XCJ0b2dnbGVMaW5rQ2FzZVJlYXNvbk90aGVyQ29tbWVudHMoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInt7cmVhc29uLmtleX19XCI+e3tyZWFzb24udmFsdWVfZW59fTwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJvdGhlci1kZXNjcmlwdGlvbi1jaGFyLWxpbWl0LWVycm9yXCIgW25nQ2xhc3NdPVwieydnb3Z1ay1mb3JtLWdyb3VwLS1lcnJvcic6ICEhY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3J9XCIgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi10b3AtM1wiICpuZ0lmPVwic2hvd0NvbW1lbnRzXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCI+Q29tbWVudHM8L2gzPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlYXNvbkNvbW1lbnRzRXJyb3JcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VSZWFzb25Db21tZW50c0Vycm9yfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWEgZ292dWstaW5wdXQtLXdpZHRoLTMwXCIgaWQ9XCJvdGhlckRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJvdGhlckRlc2NyaXB0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwib3RoZXJEZXNjcmlwdGlvblwiIHJvd3M9XCI1XCJcbiAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJvdGhlci1kZXNjcmlwdGlvbi1oaW50IG90aGVyLWRlc2NyaXB0aW9uLWNoYXItbGltaXQtaW5mbyBvdGhlci1kZXNjcmlwdGlvbi1jaGFyLWxpbWl0LWVycm9yXCI+XG4gICAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgICA8ZGl2IGlkPVwib3RoZXItZGVzY3JpcHRpb24tY2hhci1saW1pdC1pbmZvXCIgYXJpYS1saXZlPVwicG9saXRlXCIgY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZVwiPlxuICAgICAgICAgICAgWW91IGNhbiBlbnRlciB1cCB0byAxMDAgY2hhcmFjdGVyc1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyPjxicj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlU2VsZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlU2VsZWN0aW9uRXJyb3J9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxidXR0b24gaWQ9XCJwcm9wb3NlXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzdWJtaXRDYXNlSW5mbygpXCI+UHJvcG9zZSBjYXNlIGxpbms8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGhyPlxuICAgICAgPGJyPjxicj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgaWQ9XCJjYXNlTnVtYmVyXCIgW25nQ2xhc3NdPVwieydnb3Z1ay1mb3JtLWdyb3VwLS1lcnJvcic6ICEhbm9TZWxlY3RlZENhc2VFcnJvcn1cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJub1NlbGVjdGVkQ2FzZUVycm9yXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7bm9TZWxlY3RlZENhc2VFcnJvcn19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICAgICA8Y2FwdGlvbiBjbGFzcz1cImdvdnVrLXRhYmxlX19jYXB0aW9uIGdvdnVrLXRhYmxlX19jYXB0aW9uLS1tXCI+UHJvcG9zZWQgY2FzZSBsaW5rcyA8L2NhcHRpb24+XG4gICAgICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIzMDBcIj5DYXNlIG5hbWUgYW5kIG51bWJlcjwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiMTUwXCI+Q2FzZSB0eXBlIDwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiMjAwXCI+U2VydmljZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiMjAwXCI+U3RhdGU8L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiB3aWR0aD1cIjQwMFwiPlJlYXNvbnMgZm9yIGNhc2UgbGluazwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiNTBcIj48L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IGNhc2Ugb2Ygc2VsZWN0ZWRDYXNlczsgbGV0IHBvcyA9IGluZGV4XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAtLWVycm9yXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndGFibGUtZ3JvdXAtZXJyb3InOmNhc2VTZWxlY3Rpb25FcnJvciAmJiBjYXNlLmNhc2VSZWZlcmVuY2UgPT09IGxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyfVwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7Y2FzZS5jYXNlTmFtZX19IDxicj4ge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgW3RpdGxlXT1cImNhc2UuY2FzZVR5cGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlVHlwZX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57e2Nhc2UuY2FzZVNlcnZpY2V9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgW3RpdGxlXT1cImNhc2UuY2FzZVN0YXRlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2FzZVN0YXRlfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPjxzcGFuXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGNhc2UucmVhc29uc1wiPnt7cmVhc29uIHwgY2NkTGlua0Nhc2VzUmVhc29uVmFsdWV9fTxicj48L3NwYW4+PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj48YSBbYXR0ci5pZF09XCJjYXNlLmNhc2VSZWZlcmVuY2VcIiAoY2xpY2spPVwib25TZWxlY3RlZExpbmtlZENhc2VSZW1vdmUocG9zLCBjYXNlLmNhc2VSZWZlcmVuY2UpO1wiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImdvdnVrLWxpbmsgbm8tdmlzaXRlZC1zdGF0ZVwiPlJlbW92ZTwvYT48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cIiFzZWxlY3RlZENhc2VzLmxlbmd0aFwiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI2XCI+XG4gICAgICAgICAgICAgICAgTm9uZVxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=