@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
@@ -279,7 +279,7 @@ export class CaseFlagSummaryListComponent {
279
279
  return this.displayContextParameter === CaseFlagDisplayContextParameter.CREATE_2_POINT_1 ||
280
280
  this.displayContextParameter === CaseFlagDisplayContextParameter.UPDATE_2_POINT_1;
281
281
  }
282
- static ɵfac = function CaseFlagSummaryListComponent_Factory(t) { return new (t || CaseFlagSummaryListComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
282
+ static ɵfac = function CaseFlagSummaryListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFlagSummaryListComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
283
283
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFlagSummaryListComponent, selectors: [["ccd-case-flag-summary-list"]], inputs: { flagForSummaryDisplay: "flagForSummaryDisplay", displayContextParameter: "displayContextParameter" }, outputs: { changeButtonEmitter: "changeButtonEmitter" }, decls: 1, vars: 1, consts: [["class", "govuk-summary-list", 4, "ngIf"], [1, "govuk-summary-list"], [1, "govuk-summary-list__row"], [1, "govuk-summary-list__key"], [1, "govuk-summary-list__value"], [1, "govuk-summary-list__actions"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], [1, "govuk-visually-hidden"], ["class", "govuk-summary-list__row", 4, "ngIf"], ["class", "govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"]], template: function CaseFlagSummaryListComponent_Template(rf, ctx) { if (rf & 1) {
284
284
  i0.ɵɵtemplate(0, CaseFlagSummaryListComponent_dl_0_Template, 39, 30, "dl", 0);
285
285
  } if (rf & 2) {
@@ -297,4 +297,4 @@ export class CaseFlagSummaryListComponent {
297
297
  type: Output
298
298
  }] }); })();
299
299
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFlagSummaryListComponent, { className: "CaseFlagSummaryListComponent", filePath: "lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.ts", lineNumber: 15 }); })();
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jYXNlLWZsYWctc3VtbWFyeS1saXN0L2Nhc2UtZmxhZy1zdW1tYXJ5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY2FzZS1mbGFnLXN1bW1hcnktbGlzdC9jYXNlLWZsYWctc3VtbWFyeS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUMvQixNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDc0JqQixBQURGLDhCQUFxRyxZQUMvRDtJQUNsQyxZQUNGOztJQUFBLGlCQUFLO0lBQ0wsNkJBQXNDO0lBQ3BDLFlBQ0Y7SUFBQSxpQkFBSztJQUVILEFBREYsNkJBQXdDLFdBRXFJO0lBQXpLLDBMQUFTLDRMQUE4SixLQUFDO0lBQ3hLLFlBQTJCOztJQUFBLGdDQUFvQztJQUFDLGFBQThDOztJQUdwSCxBQURFLEFBREUsQUFEZ0gsaUJBQU8sRUFDbkgsRUFDRCxFQUNEOzs7SUFYRixlQUNGO0lBREUsa0ZBQ0Y7SUFF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Q0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxNQUFNO1lBQ3ZFLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxlQUFlO1lBQ2hGLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RGLE9BQU8sOEJBQThCLENBQUMsTUFBTSxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLDhCQUE4QixDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRU8sd0NBQXdDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLGdCQUFnQjtZQUN0RixJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsZ0JBQWdCLENBQUM7SUFDdEYsQ0FBQztzRkF2R1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUNkekMsNkVBQTZEOztZQUE3QixnREFBMkI7OztpRkRjOUMsNEJBQTRCO2NBSnhDLFNBQVM7MkJBQ0UsNEJBQTRCO3NEQUl0QixxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVSx1QkFBdUI7a0JBQXRDLEtBQUs7WUFDVyxtQkFBbUI7a0JBQW5DLE1BQU07O2tGQUhJLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJweFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXkgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAsXG4gIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIsXG4gIENhc2VGbGFnRmllbGRTdGF0ZSxcbiAgQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlXG59IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmxhZy1zdW1tYXJ5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUZsYWdTdW1tYXJ5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnRm9yU3VtbWFyeURpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5O1xuICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXI6IHN0cmluZztcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VCdXR0b25FbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIGZsYWdEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzOiBzdHJpbmc7XG4gIHB1YmxpYyBmbGFnU3RhdHVzOiBzdHJpbmc7XG4gIHB1YmxpYyBmbGFnRGVzY3JpcHRpb25XZWxzaDogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzV2Vsc2g6IHN0cmluZztcbiAgcHVibGljIG90aGVyRGVzY3JpcHRpb246IHN0cmluZztcbiAgcHVibGljIG90aGVyRGVzY3JpcHRpb25XZWxzaDogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ1VwZGF0ZUNvbW1lbnRzOiBzdHJpbmc7XG4gIHB1YmxpYyBzdW1tYXJ5TGlzdERpc3BsYXlNb2RlOiBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyBhZGRVcGRhdGVGbGFnSGVhZGVyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZUZsYWdGaWVsZFN0YXRlID0gQ2FzZUZsYWdGaWVsZFN0YXRlO1xuICBwdWJsaWMgZGlzcGxheU1vZGUgPSBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyBmbGFnVHlwZUhlYWRlclRleHQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwID0gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXA7XG4gIHB1YmxpYyBpczJQb2ludDFFbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBleHRlcm5hbFVzZXJVcGRhdGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJweFRyYW5zbGF0aW9uU2VydmljZTogUnB4VHJhbnNsYXRpb25TZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmxhZ0ZvclN1bW1hcnlEaXNwbGF5KSB7XG4gICAgICBjb25zdCBmbGFnRGV0YWlsID0gdGhpcy5mbGFnRm9yU3VtbWFyeURpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICAgIHRoaXMuZmxhZ0Rlc2NyaXB0aW9uID0gdGhpcy5nZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbCk7XG4gICAgICB0aGlzLmZsYWdEZXNjcmlwdGlvbldlbHNoID0gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5O1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHMgPSBmbGFnRGV0YWlsLmZsYWdDb21tZW50O1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNXZWxzaCA9IGZsYWdEZXRhaWwuZmxhZ0NvbW1lbnRfY3k7XG4gICAgICAvLyBGbGFnIHVwZGF0ZSBjb21tZW50cyB3aWxsIGJlIGNvbWluZyBmcm9tIHRoZSBmbGFnU3RhdHVzUmVhc29uQ2hhbmdlIHByb3BlcnR5IGluc3RlYWQgb2YgZmxhZ1VwZGF0ZUNvbW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgaGF2ZW4ndCBiZWVuIHBlcnNpc3RlZCB5ZXRcbiAgICAgIHRoaXMuZmxhZ1VwZGF0ZUNvbW1lbnRzID0gZmxhZ0RldGFpbFsnZmxhZ1N0YXR1c1JlYXNvbkNoYW5nZSddO1xuICAgICAgdGhpcy5mbGFnU3RhdHVzID0gZmxhZ0RldGFpbC5zdGF0dXM7XG4gICAgICB0aGlzLmFkZFVwZGF0ZUZsYWdIZWFkZXJUZXh0ID0gdGhpcy5nZXRBZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCgpO1xuICAgICAgdGhpcy5mbGFnVHlwZUhlYWRlclRleHQgPSB0aGlzLmdldEZsYWdUeXBlSGVhZGVyVGV4dCgpO1xuICAgICAgdGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID0gdGhpcy5nZXRTdW1tYXJ5TGlzdERpc3BsYXlNb2RlKCk7XG4gICAgICB0aGlzLmlzMlBvaW50MUVuYWJsZWQgPSB0aGlzLmdldERpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQoKTtcbiAgICAgIHRoaXMuZXh0ZXJuYWxVc2VyVXBkYXRlID0gdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgbGV0IGZsYWdOYW1lOiBzdHJpbmc7XG4gICAgbGV0IHN1YlR5cGVWYWx1ZTogc3RyaW5nO1xuICAgIGlmICh0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSA9PT0gJ2N5Jykge1xuICAgICAgZmxhZ05hbWUgPSBmbGFnRGV0YWlsLm5hbWVfY3kgfHwgZmxhZ0RldGFpbC5uYW1lO1xuICAgICAgc3ViVHlwZVZhbHVlID0gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWVfY3kgfHwgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYWdOYW1lID0gZmxhZ0RldGFpbC5uYW1lIHx8IGZsYWdEZXRhaWwubmFtZV9jeTtcbiAgICAgIHN1YlR5cGVWYWx1ZSA9IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlIHx8IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlX2N5O1xuICAgIH1cbiAgICAvLyBUaGUgb3RoZXJEZXNjcmlwdGlvbiBmaWVsZCBzaG91bGQgYmUgc2hvd24gdmVyYmF0aW07IG90aGVyRGVzY3JpcHRpb24gZm9yIFdlbHNoIGlzIHNob3duIHNlcGFyYXRlbHlcbiAgICBjb25zdCBvdGhlckRlc2NyaXB0aW9uID0gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uID8gYCAtICR7ZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9ufWAgOiAnJztcbiAgICBjb25zdCBzdWJUeXBlVmFsdWVGb3JEaXNwbGF5ID0gc3ViVHlwZVZhbHVlID8gYCAtICR7c3ViVHlwZVZhbHVlfWAgOiAnJztcbiAgICByZXR1cm4gYCR7ZmxhZ05hbWV9JHtvdGhlckRlc2NyaXB0aW9ufSR7c3ViVHlwZVZhbHVlRm9yRGlzcGxheX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCh0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyKSB7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV8yX1BPSU5UXzE6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5BRERfRkxBR19IRUFERVJfVEVYVDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5BRERfRkxBR19IRUFERVJfVEVYVF9FWFRFUk5BTDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLlVQREFURV9GTEFHX0hFQURFUl9URVhUO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLlVQREFURV9GTEFHX0hFQURFUl9URVhUX0VYVEVSTkFMO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLk5PTkU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGFnVHlwZUhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2godGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcikge1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfMl9QT0lOVF8xOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuRkxBR19UWVBFX0hFQURFUl9URVhUO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV9FWFRFUk5BTDpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5GTEFHX1RZUEVfSEVBREVSX1RFWFRfRVhURVJOQUw7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuTk9ORTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN1bW1hcnlMaXN0RGlzcGxheU1vZGUoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEUgfHxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUwgfHxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xKSB7XG4gICAgICByZXR1cm4gQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlLkNSRUFURTtcbiAgICB9XG4gICAgcmV0dXJuIENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZS5NQU5BR0U7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFXzJfUE9JTlRfMSB8fFxuICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfMl9QT0lOVF8xO1xuICB9XG59XG4iLCI8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RcIiAqbmdJZj1cImZsYWdGb3JTdW1tYXJ5RGlzcGxheVwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3thZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdGb3JTdW1tYXJ5RGlzcGxheS5wYXJ0eU5hbWUgfHwgY2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuQ0FTRV9MRVZFTF9MT0NBVElPTiB9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTE9DQVRJT04pXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3BhcnR5IG5hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7e2ZsYWdUeXBlSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdEZXNjcmlwdGlvbn19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSlcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snZmxhZyB0eXBlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIiAqbmdJZj1cImZsYWdEZXNjcmlwdGlvbldlbHNoPy5sZW5ndGggPiAwICYmICFleHRlcm5hbFVzZXJVcGRhdGVcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snT3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnRGVzY3JpcHRpb25XZWxzaH19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFX1dFTFNIX1RSQU5TTEFUSU9OIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSlcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snb3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCIgKm5nSWY9XCJmbGFnQ29tbWVudHM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snQ29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZXh0ZXJuYWxVc2VyVXBkYXRlID8gZmxhZ1VwZGF0ZUNvbW1lbnRzIDogZmxhZ0NvbW1lbnRzfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snY29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiICpuZ0lmPVwiZmxhZ0NvbW1lbnRzV2Vsc2g/Lmxlbmd0aCA+IDAgJiYgIWV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7eydDb21tZW50cyAoV2Vsc2gpJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdDb21tZW50c1dlbHNofX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEVfV0VMU0hfVFJBTlNMQVRJT04gOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snY29tbWVudHMgKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7J1N0YXR1cycgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnU3RhdHVzIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgKm5nSWY9XCJpczJQb2ludDFFbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19TVEFUVVMpXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3N0YXR1cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbjwvZGw+XG4iXX0=
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jYXNlLWZsYWctc3VtbWFyeS1saXN0L2Nhc2UtZmxhZy1zdW1tYXJ5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY2FzZS1mbGFnLXN1bW1hcnktbGlzdC9jYXNlLWZsYWctc3VtbWFyeS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUMvQixNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDc0JqQixBQURGLDhCQUFxRyxZQUMvRDtJQUNsQyxZQUNGOztJQUFBLGlCQUFLO0lBQ0wsNkJBQXNDO0lBQ3BDLFlBQ0Y7SUFBQSxpQkFBSztJQUVILEFBREYsNkJBQXdDLFdBRXFJO0lBQXpLLDBMQUFTLDRMQUE4SixLQUFDO0lBQ3hLLFlBQTJCOztJQUFBLGdDQUFvQztJQUFDLGFBQThDOztJQUdwSCxBQURFLEFBREUsQUFEZ0gsaUJBQU8sRUFDbkgsRUFDRCxFQUNEOzs7SUFYRixlQUNGO0lBREUsa0ZBQ0Y7SUFF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Q0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxNQUFNO1lBQ3ZFLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxlQUFlO1lBQ2hGLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RGLE9BQU8sOEJBQThCLENBQUMsTUFBTSxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLDhCQUE4QixDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRU8sd0NBQXdDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLGdCQUFnQjtZQUN0RixJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsZ0JBQWdCLENBQUM7SUFDdEYsQ0FBQztzSEF2R1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUNkekMsNkVBQTZEOztZQUE3QixnREFBMkI7OztpRkRjOUMsNEJBQTRCO2NBSnhDLFNBQVM7MkJBQ0UsNEJBQTRCO3NEQUl0QixxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVSx1QkFBdUI7a0JBQXRDLEtBQUs7WUFDVyxtQkFBbUI7a0JBQW5DLE1BQU07O2tGQUhJLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJweFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXkgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAsXG4gIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIsXG4gIENhc2VGbGFnRmllbGRTdGF0ZSxcbiAgQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlXG59IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmxhZy1zdW1tYXJ5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUZsYWdTdW1tYXJ5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnRm9yU3VtbWFyeURpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5O1xuICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXI6IHN0cmluZztcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VCdXR0b25FbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIGZsYWdEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzOiBzdHJpbmc7XG4gIHB1YmxpYyBmbGFnU3RhdHVzOiBzdHJpbmc7XG4gIHB1YmxpYyBmbGFnRGVzY3JpcHRpb25XZWxzaDogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzV2Vsc2g6IHN0cmluZztcbiAgcHVibGljIG90aGVyRGVzY3JpcHRpb246IHN0cmluZztcbiAgcHVibGljIG90aGVyRGVzY3JpcHRpb25XZWxzaDogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ1VwZGF0ZUNvbW1lbnRzOiBzdHJpbmc7XG4gIHB1YmxpYyBzdW1tYXJ5TGlzdERpc3BsYXlNb2RlOiBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyBhZGRVcGRhdGVGbGFnSGVhZGVyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZUZsYWdGaWVsZFN0YXRlID0gQ2FzZUZsYWdGaWVsZFN0YXRlO1xuICBwdWJsaWMgZGlzcGxheU1vZGUgPSBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyBmbGFnVHlwZUhlYWRlclRleHQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwID0gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXA7XG4gIHB1YmxpYyBpczJQb2ludDFFbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBleHRlcm5hbFVzZXJVcGRhdGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJweFRyYW5zbGF0aW9uU2VydmljZTogUnB4VHJhbnNsYXRpb25TZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmxhZ0ZvclN1bW1hcnlEaXNwbGF5KSB7XG4gICAgICBjb25zdCBmbGFnRGV0YWlsID0gdGhpcy5mbGFnRm9yU3VtbWFyeURpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICAgIHRoaXMuZmxhZ0Rlc2NyaXB0aW9uID0gdGhpcy5nZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbCk7XG4gICAgICB0aGlzLmZsYWdEZXNjcmlwdGlvbldlbHNoID0gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5O1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHMgPSBmbGFnRGV0YWlsLmZsYWdDb21tZW50O1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNXZWxzaCA9IGZsYWdEZXRhaWwuZmxhZ0NvbW1lbnRfY3k7XG4gICAgICAvLyBGbGFnIHVwZGF0ZSBjb21tZW50cyB3aWxsIGJlIGNvbWluZyBmcm9tIHRoZSBmbGFnU3RhdHVzUmVhc29uQ2hhbmdlIHByb3BlcnR5IGluc3RlYWQgb2YgZmxhZ1VwZGF0ZUNvbW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgaGF2ZW4ndCBiZWVuIHBlcnNpc3RlZCB5ZXRcbiAgICAgIHRoaXMuZmxhZ1VwZGF0ZUNvbW1lbnRzID0gZmxhZ0RldGFpbFsnZmxhZ1N0YXR1c1JlYXNvbkNoYW5nZSddO1xuICAgICAgdGhpcy5mbGFnU3RhdHVzID0gZmxhZ0RldGFpbC5zdGF0dXM7XG4gICAgICB0aGlzLmFkZFVwZGF0ZUZsYWdIZWFkZXJUZXh0ID0gdGhpcy5nZXRBZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCgpO1xuICAgICAgdGhpcy5mbGFnVHlwZUhlYWRlclRleHQgPSB0aGlzLmdldEZsYWdUeXBlSGVhZGVyVGV4dCgpO1xuICAgICAgdGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID0gdGhpcy5nZXRTdW1tYXJ5TGlzdERpc3BsYXlNb2RlKCk7XG4gICAgICB0aGlzLmlzMlBvaW50MUVuYWJsZWQgPSB0aGlzLmdldERpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQoKTtcbiAgICAgIHRoaXMuZXh0ZXJuYWxVc2VyVXBkYXRlID0gdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgbGV0IGZsYWdOYW1lOiBzdHJpbmc7XG4gICAgbGV0IHN1YlR5cGVWYWx1ZTogc3RyaW5nO1xuICAgIGlmICh0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSA9PT0gJ2N5Jykge1xuICAgICAgZmxhZ05hbWUgPSBmbGFnRGV0YWlsLm5hbWVfY3kgfHwgZmxhZ0RldGFpbC5uYW1lO1xuICAgICAgc3ViVHlwZVZhbHVlID0gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWVfY3kgfHwgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYWdOYW1lID0gZmxhZ0RldGFpbC5uYW1lIHx8IGZsYWdEZXRhaWwubmFtZV9jeTtcbiAgICAgIHN1YlR5cGVWYWx1ZSA9IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlIHx8IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlX2N5O1xuICAgIH1cbiAgICAvLyBUaGUgb3RoZXJEZXNjcmlwdGlvbiBmaWVsZCBzaG91bGQgYmUgc2hvd24gdmVyYmF0aW07IG90aGVyRGVzY3JpcHRpb24gZm9yIFdlbHNoIGlzIHNob3duIHNlcGFyYXRlbHlcbiAgICBjb25zdCBvdGhlckRlc2NyaXB0aW9uID0gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uID8gYCAtICR7ZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9ufWAgOiAnJztcbiAgICBjb25zdCBzdWJUeXBlVmFsdWVGb3JEaXNwbGF5ID0gc3ViVHlwZVZhbHVlID8gYCAtICR7c3ViVHlwZVZhbHVlfWAgOiAnJztcbiAgICByZXR1cm4gYCR7ZmxhZ05hbWV9JHtvdGhlckRlc2NyaXB0aW9ufSR7c3ViVHlwZVZhbHVlRm9yRGlzcGxheX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCh0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyKSB7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV8yX1BPSU5UXzE6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5BRERfRkxBR19IRUFERVJfVEVYVDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5BRERfRkxBR19IRUFERVJfVEVYVF9FWFRFUk5BTDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLlVQREFURV9GTEFHX0hFQURFUl9URVhUO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLlVQREFURV9GTEFHX0hFQURFUl9URVhUX0VYVEVSTkFMO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLk5PTkU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGFnVHlwZUhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2godGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcikge1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfMl9QT0lOVF8xOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuRkxBR19UWVBFX0hFQURFUl9URVhUO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV9FWFRFUk5BTDpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5GTEFHX1RZUEVfSEVBREVSX1RFWFRfRVhURVJOQUw7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuTk9ORTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN1bW1hcnlMaXN0RGlzcGxheU1vZGUoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEUgfHxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUwgfHxcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xKSB7XG4gICAgICByZXR1cm4gQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlLkNSRUFURTtcbiAgICB9XG4gICAgcmV0dXJuIENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZS5NQU5BR0U7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFXzJfUE9JTlRfMSB8fFxuICAgICAgdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfMl9QT0lOVF8xO1xuICB9XG59XG4iLCI8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RcIiAqbmdJZj1cImZsYWdGb3JTdW1tYXJ5RGlzcGxheVwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3thZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdGb3JTdW1tYXJ5RGlzcGxheS5wYXJ0eU5hbWUgfHwgY2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuQ0FTRV9MRVZFTF9MT0NBVElPTiB9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTE9DQVRJT04pXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3BhcnR5IG5hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7e2ZsYWdUeXBlSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdEZXNjcmlwdGlvbn19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSlcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snZmxhZyB0eXBlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIiAqbmdJZj1cImZsYWdEZXNjcmlwdGlvbldlbHNoPy5sZW5ndGggPiAwICYmICFleHRlcm5hbFVzZXJVcGRhdGVcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snT3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnRGVzY3JpcHRpb25XZWxzaH19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFX1dFTFNIX1RSQU5TTEFUSU9OIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSlcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snb3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCIgKm5nSWY9XCJmbGFnQ29tbWVudHM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snQ29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZXh0ZXJuYWxVc2VyVXBkYXRlID8gZmxhZ1VwZGF0ZUNvbW1lbnRzIDogZmxhZ0NvbW1lbnRzfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snY29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiICpuZ0lmPVwiZmxhZ0NvbW1lbnRzV2Vsc2g/Lmxlbmd0aCA+IDAgJiYgIWV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7eydDb21tZW50cyAoV2Vsc2gpJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdDb21tZW50c1dlbHNofX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEVfV0VMU0hfVFJBTlNMQVRJT04gOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snY29tbWVudHMgKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7J1N0YXR1cycgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnU3RhdHVzIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgKm5nSWY9XCJpczJQb2ludDFFbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19TVEFUVVMpXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3N0YXR1cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbjwvZGw+XG4iXX0=
@@ -183,7 +183,7 @@ export class CaseFlagTableComponent {
183
183
  get caseFlagStatus() {
184
184
  return CaseFlagStatus;
185
185
  }
186
- static ɵfac = function CaseFlagTableComponent_Factory(t) { return new (t || CaseFlagTableComponent)(); };
186
+ static ɵfac = function CaseFlagTableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFlagTableComponent)(); };
187
187
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFlagTableComponent, selectors: [["ccd-case-flag-table"]], inputs: { tableCaption: "tableCaption", flagData: "flagData", firstColumnHeader: "firstColumnHeader", caseFlagsExternalUser: "caseFlagsExternalUser" }, decls: 1, vars: 1, consts: [["class", "govuk-table", 4, "ngIf"], [1, "govuk-table"], ["class", "govuk-table__caption govuk-table__caption--l", 4, "ngIf"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "col-party-name"], ["scope", "col", 1, "govuk-table__header", "col-comments"], ["scope", "col", 1, "govuk-table__header", "col-creation-date"], ["scope", "col", 1, "govuk-table__header", "col-last-modified"], ["scope", "col", 1, "govuk-table__header", "col-flag-status"], [1, "govuk-table__body"], [4, "ngIf"], ["class", "govuk-table__body", 4, "ngIf"], [1, "govuk-table__caption", "govuk-table__caption--l"], ["colspan", "5"], ["scope", "row", "class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["scope", "row", 1, "govuk-table__row"], [1, "govuk-table__cell"], [1, "govuk-table__cell", "cell-flag-status"], ["class", "govuk-tag govuk-tag--turquoise", 4, "ngIf"], ["class", "govuk-tag govuk-tag--grey", 4, "ngIf"], ["class", "govuk-tag govuk-tag--yellow", 4, "ngIf"], ["class", "govuk-tag govuk-tag--red", 4, "ngIf"], [1, "govuk-!-font-weight-bold"], [1, "govuk-tag", "govuk-tag--turquoise"], [1, "govuk-tag", "govuk-tag--grey"], [1, "govuk-tag", "govuk-tag--yellow"], [1, "govuk-tag", "govuk-tag--red"]], template: function CaseFlagTableComponent_Template(rf, ctx) { if (rf & 1) {
188
188
  i0.ɵɵtemplate(0, CaseFlagTableComponent_table_0_Template, 21, 16, "table", 0);
189
189
  } if (rf & 2) {
@@ -203,4 +203,4 @@ export class CaseFlagTableComponent {
203
203
  type: Input
204
204
  }] }); })();
205
205
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFlagTableComponent, { className: "CaseFlagTableComponent", filePath: "lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.ts", lineNumber: 10 }); })();
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL2Nhc2UtZmxhZy10YWJsZS9jYXNlLWZsYWctdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY2FzZS1mbGFnLXRhYmxlL2Nhc2UtZmxhZy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7SUNEM0MsbUNBQW1GO0lBQUEsWUFBZ0I7SUFBQSxpQkFBVTs7O0lBQTFCLGNBQWdCO0lBQWhCLHlDQUFnQjs7O0lBWS9GLEFBREYsMEJBQXVHLGFBQ3JGO0lBQUEsWUFBeUI7O0lBQzNDLEFBRDJDLGlCQUFLLEVBQzNDOztJQURhLGVBQXlCO0lBQXpCLGtEQUF5Qjs7O0lBZXJDLEFBSEYsMkJBRWdDLGVBQ1M7SUFBQSxZQUErQztJQUN4RixBQUR3RixpQkFBTyxFQUN6Rjs7O0lBRG1DLGVBQStDO0lBQS9DLDZFQUErQzs7O0lBTXhGLGtDQUFtRztJQUFBLFlBQTJCOztJQUFBLGlCQUFTOztJQUFwQyxjQUEyQjtJQUEzQixvREFBMkI7OztJQUM5SCxrQ0FBZ0c7SUFBQSxZQUE2Qjs7SUFBQSxpQkFBUzs7SUFBdEMsY0FBNkI7SUFBN0Isc0RBQTZCOzs7SUFDN0gsa0NBQW1HO0lBQUEsWUFBOEI7O0lBQUEsaUJBQVM7O0lBQXZDLGNBQThCO0lBQTlCLHVEQUE4Qjs7O0lBQ2pJLGtDQUFtRztJQUFBLFlBQWlDOztJQUFBLGlCQUFTOztJQUExQyxjQUFpQztJQUFqQywwREFBaUM7OztJQWxCcEksQUFERixBQURGLDhCQUEyRixhQUMzRCxVQUN2QjtJQUFBLFlBQXdDOztJQUFBLGlCQUFNO0lBQ25ELDJCQUFLO0lBQUEsWUFBb0Q7O0lBQUEsaUJBQU07SUFDL0QsMkJBQUs7SUFBQSxZQUFnRDs7SUFDdkQsQUFEdUQsaUJBQU0sRUFDeEQ7SUFFSCxBQURGLCtCQUE4QixXQUN2QjtJQUFBLGFBQStDOztJQUFBLGlCQUFNO0lBQzFELGdHQUVnQztJQUdsQyxpQkFBSztJQUNMLCtCQUE4QjtJQUFBLGFBQW9EOztJQUFBLGlCQUFLO0lBQ3ZGLCtCQUE4QjtJQUFBLGFBQXFEOztJQUFBLGlCQUFLO0lBQ3hGLCtCQUErQztJQUk3QyxBQURBLEFBREEsQUFEQSxzR0FBbUcseUZBQ0gseUZBQ0cseUZBQ0E7SUFFdkcsQUFERSxpQkFBSyxFQUNGOzs7O0lBcEJJLGVBQXdDO0lBQXhDLGtFQUF3QztJQUN4QyxlQUFvRDtJQUFwRCw4RUFBb0Q7SUFDcEQsZUFBZ0Q7SUFBaEQsMkVBQWdEO0lBR2hELGVBQStDO0lBQS9DLDBFQUErQztJQUM5QyxlQUV3QjtJQUZ4QixtTkFFd0I7SUFJRixlQUFvRDtJQUFwRCwwRkFBb0Q7SUFDcEQsZUFBcUQ7SUFBckQsMkZBQXFEO0lBRXhFLGVBQWlEO0lBQWpELDRFQUFpRDtJQUNqRCxjQUFtRDtJQUFuRCw4RUFBbUQ7SUFDbkQsY0FBb0Q7SUFBcEQsK0VBQW9EO0lBQ3BELGNBQXVEO0lBQXZELGtGQUF1RDs7O0lBckJ0RSxpQ0FBcUc7SUFDbkcseUZBQTJGO0lBdUI3RixpQkFBUTs7O0lBdkIwRCxjQUF5QjtJQUF6Qix1REFBeUI7OztJQWpCN0YsZ0NBQTRDO0lBQzFDLHVGQUFtRjtJQUcvRSxBQURGLEFBREYsZ0NBQWlDLFlBQ0YsWUFDZ0M7SUFBQSxZQUFxQjtJQUFBLGlCQUFLO0lBQ3JGLDZCQUF5RDtJQUFBLFlBQTZCOztJQUFBLGlCQUFLO0lBQzNGLDZCQUE4RDtJQUFBLGFBQWtDOztJQUFBLGlCQUFLO0lBQ3JHLDhCQUE4RDtJQUFBLGFBQWtDOztJQUFBLGlCQUFLO0lBQ3JHLDhCQUE0RDtJQUFBLGFBQWdDOztJQUVoRyxBQURFLEFBRDhGLGlCQUFLLEVBQzlGLEVBQ0M7SUFDUixrQ0FBaUM7SUFDL0IsZ0ZBQXVHO0lBR3pHLGlCQUFRO0lBQ1Isc0ZBQXFHO0lBeUJ2RyxpQkFBUTs7O0lBeEN5RCxjQUFrQjtJQUFsQiwwQ0FBa0I7SUFHbEIsZUFBcUI7SUFBckIsOENBQXFCO0lBQ3ZCLGVBQTZCO0lBQTdCLHNEQUE2QjtJQUN4QixlQUFrQztJQUFsQyw2REFBa0M7SUFDbEMsZUFBa0M7SUFBbEMsNkRBQWtDO0lBQ3BDLGVBQWdDO0lBQWhDLDJEQUFnQztJQUl6RixlQUFnRztJQUFoRyxvSUFBZ0c7SUFJckUsY0FBaUU7SUFBakUsZ0dBQWlFOztBRFByRyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pCLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQXlCO0lBQ2pDLGlCQUFpQixDQUFTO0lBQzFCLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUU5QyxJQUFXLGNBQWM7UUFDdkIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztnRkFSVSxzQkFBc0I7NkRBQXRCLHNCQUFzQjtZQ1RuQyw2RUFBNEM7O1lBQWhCLG1DQUFjOzs7aUZEUzdCLHNCQUFzQjtjQUxsQyxTQUFTOzJCQUNFLHFCQUFxQjtnQkFLZixZQUFZO2tCQUEzQixLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUNVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUNVLHFCQUFxQjtrQkFBcEMsS0FBSzs7a0ZBSkssc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXR1cyB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmxhZy10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWZsYWctdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXNlLWZsYWctdGFibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmxhZ1RhYmxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIHRhYmxlQ2FwdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZmxhZ0RhdGE6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGg7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaXJzdENvbHVtbkhlYWRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUZsYWdzRXh0ZXJuYWxVc2VyID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBjYXNlRmxhZ1N0YXR1cygpOiB0eXBlb2YgQ2FzZUZsYWdTdGF0dXMge1xuICAgIHJldHVybiBDYXNlRmxhZ1N0YXR1cztcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIiAqbmdJZj1cImZsYWdEYXRhXCI+XG4gIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWxcIiAqbmdJZj1cInRhYmxlQ2FwdGlvblwiPnt7dGFibGVDYXB0aW9ufX08L2NhcHRpb24+XG4gIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC1wYXJ0eS1uYW1lXCI+e3tmaXJzdENvbHVtbkhlYWRlcn19PC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtY29tbWVudHNcIj57eydDb21tZW50cycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLWNyZWF0aW9uLWRhdGVcIj57eydDcmVhdGlvbiBkYXRlJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtbGFzdC1tb2RpZmllZFwiPnt7J0xhc3QgbW9kaWZpZWQnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC1mbGFnLXN0YXR1c1wiPnt7J0ZsYWcgc3RhdHVzJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgIDx0ciAqbmdJZj1cIiFmbGFnRGF0YS5mbGFncy5kZXRhaWxzIHx8IChmbGFnRGF0YS5mbGFncy5kZXRhaWxzICYmIGZsYWdEYXRhLmZsYWdzLmRldGFpbHMubGVuZ3RoID09PSAwKVwiPlxuICAgICAgPHRkIGNvbHNwYW49XCI1XCI+e3snTm9uZScgfCBycHhUcmFuc2xhdGV9fTwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbiAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiAqbmdJZj1cImZsYWdEYXRhLmZsYWdzLmRldGFpbHMgJiYgZmxhZ0RhdGEuZmxhZ3MuZGV0YWlscy5sZW5ndGggPiAwXCI+XG4gICAgPHRyIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IGZsYWdEZXRhaWwgb2YgZmxhZ0RhdGEuZmxhZ3MuZGV0YWlsc1wiPlxuICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgPGRpdj57e2ZsYWdEZXRhaWwgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319PC9kaXY+XG4gICAgICAgIDxkaXY+e3tmbGFnRGV0YWlsIHwgZmxhZ0ZpZWxkRGlzcGxheTonb3RoZXJEZXNjcmlwdGlvbid9fTwvZGl2PlxuICAgICAgICA8ZGl2Pnt7ZmxhZ0RldGFpbCB8IGZsYWdGaWVsZERpc3BsYXk6J3N1YlR5cGVWYWx1ZSd9fTwvZGl2PlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgIDxkaXY+e3tmbGFnRGV0YWlsIHwgZmxhZ0ZpZWxkRGlzcGxheTonZmxhZ0NvbW1lbnQnfX08L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFjYXNlRmxhZ3NFeHRlcm5hbFVzZXIgJiZcbiAgICAgICAgICAoZmxhZ0RldGFpbC5zdGF0dXMgPT09IGNhc2VGbGFnU3RhdHVzLk5PVF9BUFBST1ZFRCB8fCBmbGFnRGV0YWlsLnN0YXR1cyA9PT0gY2FzZUZsYWdTdGF0dXMuSU5BQ1RJVkUpICYmXG4gICAgICAgICAgZmxhZ0RldGFpbC5mbGFnVXBkYXRlQ29tbWVudFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+VXBkYXRlIFJlYXNvbjoge3tmbGFnRGV0YWlsLmZsYWdVcGRhdGVDb21tZW50fX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3tmbGFnRGV0YWlsLmRhdGVUaW1lQ3JlYXRlZCB8IGRhdGU6ICdkZCBMTEwgeXl5eSd9fTwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7ZmxhZ0RldGFpbC5kYXRlVGltZU1vZGlmaWVkIHwgZGF0ZTogJ2RkIExMTCB5eXl5J319PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIGNlbGwtZmxhZy1zdGF0dXNcIj5cbiAgICAgICAgPHN0cm9uZyAqbmdJZj1cImZsYWdEZXRhaWwuc3RhdHVzID09PSBjYXNlRmxhZ1N0YXR1cy5BQ1RJVkVcIiBjbGFzcz1cImdvdnVrLXRhZyBnb3Z1ay10YWctLXR1cnF1b2lzZVwiPnt7J0FjdGl2ZScgfCBycHhUcmFuc2xhdGV9fTwvc3Ryb25nPlxuICAgICAgICA8c3Ryb25nICpuZ0lmPVwiZmxhZ0RldGFpbC5zdGF0dXMgPT09IGNhc2VGbGFnU3RhdHVzLklOQUNUSVZFXCIgY2xhc3M9XCJnb3Z1ay10YWcgZ292dWstdGFnLS1ncmV5XCI+e3snSW5hY3RpdmUnIHwgcnB4VHJhbnNsYXRlfX08L3N0cm9uZz5cbiAgICAgICAgPHN0cm9uZyAqbmdJZj1cImZsYWdEZXRhaWwuc3RhdHVzID09PSBjYXNlRmxhZ1N0YXR1cy5SRVFVRVNURURcIiBjbGFzcz1cImdvdnVrLXRhZyBnb3Z1ay10YWctLXllbGxvd1wiPnt7J1JlcXVlc3RlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Ryb25nPlxuICAgICAgICA8c3Ryb25nICpuZ0lmPVwiZmxhZ0RldGFpbC5zdGF0dXMgPT09IGNhc2VGbGFnU3RhdHVzLk5PVF9BUFBST1ZFRFwiIGNsYXNzPVwiZ292dWstdGFnIGdvdnVrLXRhZy0tcmVkXCI+e3snTm90IGFwcHJvdmVkJyB8IHJweFRyYW5zbGF0ZX19PC9zdHJvbmc+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL2Nhc2UtZmxhZy10YWJsZS9jYXNlLWZsYWctdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY2FzZS1mbGFnLXRhYmxlL2Nhc2UtZmxhZy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7SUNEM0MsbUNBQW1GO0lBQUEsWUFBZ0I7SUFBQSxpQkFBVTs7O0lBQTFCLGNBQWdCO0lBQWhCLHlDQUFnQjs7O0lBWS9GLEFBREYsMEJBQXVHLGFBQ3JGO0lBQUEsWUFBeUI7O0lBQzNDLEFBRDJDLGlCQUFLLEVBQzNDOztJQURhLGVBQXlCO0lBQXpCLGtEQUF5Qjs7O0lBZXJDLEFBSEYsMkJBRWdDLGVBQ1M7SUFBQSxZQUErQztJQUN4RixBQUR3RixpQkFBTyxFQUN6Rjs7O0lBRG1DLGVBQStDO0lBQS9DLDZFQUErQzs7O0lBTXhGLGtDQUFtRztJQUFBLFlBQTJCOztJQUFBLGlCQUFTOztJQUFwQyxjQUEyQjtJQUEzQixvREFBMkI7OztJQUM5SCxrQ0FBZ0c7SUFBQSxZQUE2Qjs7SUFBQSxpQkFBUzs7SUFBdEMsY0FBNkI7SUFBN0Isc0RBQTZCOzs7SUFDN0gsa0NBQW1HO0lBQUEsWUFBOEI7O0lBQUEsaUJBQVM7O0lBQXZDLGNBQThCO0lBQTlCLHVEQUE4Qjs7O0lBQ2pJLGtDQUFtRztJQUFBLFlBQWlDOztJQUFBLGlCQUFTOztJQUExQyxjQUFpQztJQUFqQywwREFBaUM7OztJQWxCcEksQUFERixBQURGLDhCQUEyRixhQUMzRCxVQUN2QjtJQUFBLFlBQXdDOztJQUFBLGlCQUFNO0lBQ25ELDJCQUFLO0lBQUEsWUFBb0Q7O0lBQUEsaUJBQU07SUFDL0QsMkJBQUs7SUFBQSxZQUFnRDs7SUFDdkQsQUFEdUQsaUJBQU0sRUFDeEQ7SUFFSCxBQURGLCtCQUE4QixXQUN2QjtJQUFBLGFBQStDOztJQUFBLGlCQUFNO0lBQzFELGdHQUVnQztJQUdsQyxpQkFBSztJQUNMLCtCQUE4QjtJQUFBLGFBQW9EOztJQUFBLGlCQUFLO0lBQ3ZGLCtCQUE4QjtJQUFBLGFBQXFEOztJQUFBLGlCQUFLO0lBQ3hGLCtCQUErQztJQUk3QyxBQURBLEFBREEsQUFEQSxzR0FBbUcseUZBQ0gseUZBQ0cseUZBQ0E7SUFFdkcsQUFERSxpQkFBSyxFQUNGOzs7O0lBcEJJLGVBQXdDO0lBQXhDLGtFQUF3QztJQUN4QyxlQUFvRDtJQUFwRCw4RUFBb0Q7SUFDcEQsZUFBZ0Q7SUFBaEQsMkVBQWdEO0lBR2hELGVBQStDO0lBQS9DLDBFQUErQztJQUM5QyxlQUV3QjtJQUZ4QixtTkFFd0I7SUFJRixlQUFvRDtJQUFwRCwwRkFBb0Q7SUFDcEQsZUFBcUQ7SUFBckQsMkZBQXFEO0lBRXhFLGVBQWlEO0lBQWpELDRFQUFpRDtJQUNqRCxjQUFtRDtJQUFuRCw4RUFBbUQ7SUFDbkQsY0FBb0Q7SUFBcEQsK0VBQW9EO0lBQ3BELGNBQXVEO0lBQXZELGtGQUF1RDs7O0lBckJ0RSxpQ0FBcUc7SUFDbkcseUZBQTJGO0lBdUI3RixpQkFBUTs7O0lBdkIwRCxjQUF5QjtJQUF6Qix1REFBeUI7OztJQWpCN0YsZ0NBQTRDO0lBQzFDLHVGQUFtRjtJQUcvRSxBQURGLEFBREYsZ0NBQWlDLFlBQ0YsWUFDZ0M7SUFBQSxZQUFxQjtJQUFBLGlCQUFLO0lBQ3JGLDZCQUF5RDtJQUFBLFlBQTZCOztJQUFBLGlCQUFLO0lBQzNGLDZCQUE4RDtJQUFBLGFBQWtDOztJQUFBLGlCQUFLO0lBQ3JHLDhCQUE4RDtJQUFBLGFBQWtDOztJQUFBLGlCQUFLO0lBQ3JHLDhCQUE0RDtJQUFBLGFBQWdDOztJQUVoRyxBQURFLEFBRDhGLGlCQUFLLEVBQzlGLEVBQ0M7SUFDUixrQ0FBaUM7SUFDL0IsZ0ZBQXVHO0lBR3pHLGlCQUFRO0lBQ1Isc0ZBQXFHO0lBeUJ2RyxpQkFBUTs7O0lBeEN5RCxjQUFrQjtJQUFsQiwwQ0FBa0I7SUFHbEIsZUFBcUI7SUFBckIsOENBQXFCO0lBQ3ZCLGVBQTZCO0lBQTdCLHNEQUE2QjtJQUN4QixlQUFrQztJQUFsQyw2REFBa0M7SUFDbEMsZUFBa0M7SUFBbEMsNkRBQWtDO0lBQ3BDLGVBQWdDO0lBQWhDLDJEQUFnQztJQUl6RixlQUFnRztJQUFoRyxvSUFBZ0c7SUFJckUsY0FBaUU7SUFBakUsZ0dBQWlFOztBRFByRyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pCLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQXlCO0lBQ2pDLGlCQUFpQixDQUFTO0lBQzFCLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUU5QyxJQUFXLGNBQWM7UUFDdkIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztnSEFSVSxzQkFBc0I7NkRBQXRCLHNCQUFzQjtZQ1RuQyw2RUFBNEM7O1lBQWhCLG1DQUFjOzs7aUZEUzdCLHNCQUFzQjtjQUxsQyxTQUFTOzJCQUNFLHFCQUFxQjtnQkFLZixZQUFZO2tCQUEzQixLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUNVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUNVLHFCQUFxQjtrQkFBcEMsS0FBSzs7a0ZBSkssc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXR1cyB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmxhZy10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWZsYWctdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXNlLWZsYWctdGFibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmxhZ1RhYmxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIHRhYmxlQ2FwdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZmxhZ0RhdGE6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGg7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaXJzdENvbHVtbkhlYWRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUZsYWdzRXh0ZXJuYWxVc2VyID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBjYXNlRmxhZ1N0YXR1cygpOiB0eXBlb2YgQ2FzZUZsYWdTdGF0dXMge1xuICAgIHJldHVybiBDYXNlRmxhZ1N0YXR1cztcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIiAqbmdJZj1cImZsYWdEYXRhXCI+XG4gIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWxcIiAqbmdJZj1cInRhYmxlQ2FwdGlvblwiPnt7dGFibGVDYXB0aW9ufX08L2NhcHRpb24+XG4gIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC1wYXJ0eS1uYW1lXCI+e3tmaXJzdENvbHVtbkhlYWRlcn19PC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtY29tbWVudHNcIj57eydDb21tZW50cycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLWNyZWF0aW9uLWRhdGVcIj57eydDcmVhdGlvbiBkYXRlJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtbGFzdC1tb2RpZmllZFwiPnt7J0xhc3QgbW9kaWZpZWQnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC1mbGFnLXN0YXR1c1wiPnt7J0ZsYWcgc3RhdHVzJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgIDx0ciAqbmdJZj1cIiFmbGFnRGF0YS5mbGFncy5kZXRhaWxzIHx8IChmbGFnRGF0YS5mbGFncy5kZXRhaWxzICYmIGZsYWdEYXRhLmZsYWdzLmRldGFpbHMubGVuZ3RoID09PSAwKVwiPlxuICAgICAgPHRkIGNvbHNwYW49XCI1XCI+e3snTm9uZScgfCBycHhUcmFuc2xhdGV9fTwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbiAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiAqbmdJZj1cImZsYWdEYXRhLmZsYWdzLmRldGFpbHMgJiYgZmxhZ0RhdGEuZmxhZ3MuZGV0YWlscy5sZW5ndGggPiAwXCI+XG4gICAgPHRyIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IGZsYWdEZXRhaWwgb2YgZmxhZ0RhdGEuZmxhZ3MuZGV0YWlsc1wiPlxuICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgPGRpdj57e2ZsYWdEZXRhaWwgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319PC9kaXY+XG4gICAgICAgIDxkaXY+e3tmbGFnRGV0YWlsIHwgZmxhZ0ZpZWxkRGlzcGxheTonb3RoZXJEZXNjcmlwdGlvbid9fTwvZGl2PlxuICAgICAgICA8ZGl2Pnt7ZmxhZ0RldGFpbCB8IGZsYWdGaWVsZERpc3BsYXk6J3N1YlR5cGVWYWx1ZSd9fTwvZGl2PlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgIDxkaXY+e3tmbGFnRGV0YWlsIHwgZmxhZ0ZpZWxkRGlzcGxheTonZmxhZ0NvbW1lbnQnfX08L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFjYXNlRmxhZ3NFeHRlcm5hbFVzZXIgJiZcbiAgICAgICAgICAoZmxhZ0RldGFpbC5zdGF0dXMgPT09IGNhc2VGbGFnU3RhdHVzLk5PVF9BUFBST1ZFRCB8fCBmbGFnRGV0YWlsLnN0YXR1cyA9PT0gY2FzZUZsYWdTdGF0dXMuSU5BQ1RJVkUpICYmXG4gICAgICAgICAgZmxhZ0RldGFpbC5mbGFnVXBkYXRlQ29tbWVudFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+VXBkYXRlIFJlYXNvbjoge3tmbGFnRGV0YWlsLmZsYWdVcGRhdGVDb21tZW50fX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3tmbGFnRGV0YWlsLmRhdGVUaW1lQ3JlYXRlZCB8IGRhdGU6ICdkZCBMTEwgeXl5eSd9fTwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7ZmxhZ0RldGFpbC5kYXRlVGltZU1vZGlmaWVkIHwgZGF0ZTogJ2RkIExMTCB5eXl5J319PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIGNlbGwtZmxhZy1zdGF0dXNcIj5cbiAgICAgICAgPHN0cm9uZyAqbmdJZj1cImZsYWdEZXRhaWwuc3RhdHVzID09PSBjYXNlRmxhZ1N0YXR1cy5BQ1RJVkVcIiBjbGFzcz1cImdvdnVrLXRhZyBnb3Z1ay10YWctLXR1cnF1b2lzZVwiPnt7J0FjdGl2ZScgfCBycHhUcmFuc2xhdGV9fTwvc3Ryb25nPlxuICAgICAgICA8c3Ryb25nICpuZ0lmPVwiZmxhZ0RldGFpbC5zdGF0dXMgPT09IGNhc2VGbGFnU3RhdHVzLklOQUNUSVZFXCIgY2xhc3M9XCJnb3Z1ay10YWcgZ292dWstdGFnLS1ncmV5XCI+e3snSW5hY3RpdmUnIHwgcnB4VHJhbnNsYXRlfX08L3N0cm9uZz5cbiAgICAgICAgPHN0cm9uZyAqbmdJZj1cImZsYWdEZXRhaWwuc3RhdHVzID09PSBjYXNlRmxhZ1N0YXR1cy5SRVFVRVNURURcIiBjbGFzcz1cImdvdnVrLXRhZyBnb3Z1ay10YWctLXllbGxvd1wiPnt7J1JlcXVlc3RlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Ryb25nPlxuICAgICAgICA8c3Ryb25nICpuZ0lmPVwiZmxhZ0RldGFpbC5zdGF0dXMgPT09IGNhc2VGbGFnU3RhdHVzLk5PVF9BUFBST1ZFRFwiIGNsYXNzPVwiZ292dWstdGFnIGdvdnVrLXRhZy0tcmVkXCI+e3snTm90IGFwcHJvdmVkJyB8IHJweFRyYW5zbGF0ZX19PC9zdHJvbmc+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
@@ -117,7 +117,7 @@ export class ConfirmFlagStatusComponent extends AbstractJourneyComponent {
117
117
  });
118
118
  }
119
119
  }
120
- static ɵfac = /*@__PURE__*/ (() => { let ɵConfirmFlagStatusComponent_BaseFactory; return function ConfirmFlagStatusComponent_Factory(t) { return (ɵConfirmFlagStatusComponent_BaseFactory || (ɵConfirmFlagStatusComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ConfirmFlagStatusComponent)))(t || ConfirmFlagStatusComponent); }; })();
120
+ static ɵfac = /*@__PURE__*/ (() => { let ɵConfirmFlagStatusComponent_BaseFactory; return function ConfirmFlagStatusComponent_Factory(__ngFactoryType__) { return (ɵConfirmFlagStatusComponent_BaseFactory || (ɵConfirmFlagStatusComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ConfirmFlagStatusComponent)))(__ngFactoryType__ || ConfirmFlagStatusComponent); }; })();
121
121
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmFlagStatusComponent, selectors: [["ccd-confirm-flag-status"]], inputs: { formGroup: "formGroup", defaultStatus: "defaultStatus" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 19, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "confirm-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "confirm-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "status-reason-hint", 1, "govuk-hint"], ["id", "status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "status-reason-hint status-reason-char-limit-info", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "status-reason-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "status-reason-char-limit-error", 1, "govuk-error-message"]], template: function ConfirmFlagStatusComponent_Template(rf, ctx) { if (rf & 1) {
122
122
  i0.ɵɵelementContainerStart(0, 0);
123
123
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "fieldset", 3)(4, "legend", 4)(5, "h1", 5);
@@ -169,4 +169,4 @@ export class ConfirmFlagStatusComponent extends AbstractJourneyComponent {
169
169
  type: Output
170
170
  }] }); })();
171
171
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConfirmFlagStatusComponent, { className: "ConfirmFlagStatusComponent", filePath: "lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.ts", lineNumber: 18 }); })();
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1mbGFnLXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jb25maXJtLWZsYWctc3RhdHVzL2NvbmZpcm0tZmxhZy1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY29uZmlybS1mbGFnLXN0YXR1cy9jb25maXJtLWZsYWctc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLGlCQUFpQixFQUNsQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztJQ0RyRCwrQkFBd0Y7SUFDdEYsNEJBQytFO0lBQy9FLGlDQUF1RTtJQUNyRSxZQUNGOztJQUNGLEFBREUsaUJBQVEsRUFDSjs7Ozs7SUFMK0IsY0FBc0I7SUFBdEIseURBQXNCO0lBQ3pCLEFBQWpCLEFBRDJDLHVEQUFrQyxvQkFDN0QscURBQThDO0lBQzlCLGNBQXVCO0lBQXZCLDBEQUF1QjtJQUNwRSxjQUNGO0lBREUsMkZBQ0Y7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REYsQUFERixBQURGLEFBREYsOEJBQTRGLGFBQ0Qsa0JBQ1AsZ0JBQ2IsWUFDTTtZQUNuRSxZQUNGOztZQUNGLEFBREUsaUJBQUssRUFDRTtZQUNULDhCQUFvSTtZQUNsSSw0RUFBd0Y7WUFRNUYsQUFERSxpQkFBTSxFQUNHO1lBQ1gsK0JBQWdEO1lBQzlDLGFBQ0Y7O1lBQUEsaUJBQU07WUFLTixBQUpBLDZFQUM2QyxpRUFJRDtZQUc1QyxnQ0FFaUY7WUFDakYsZ0NBQTZHO1lBQzNHLGFBQ0Y7O1lBRUosQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjs7O1lBckNNLHlDQUF1QjtZQUVILGVBQTBEO1lBQTFELG1GQUEwRDtZQUloRixlQUNGO1lBREUsa0ZBQ0Y7WUFHbUQsZUFBeUI7WUFBekIsa0RBQXlCO1lBVTlFLGVBQ0Y7WUFERSw2RUFDRjtZQUVHLGVBQXdDO1lBQXhDLDZEQUF3QztZQUl4QyxjQUF1QztZQUF2Qyw0REFBdUM7WUFHVCxjQUE4QjtZQUM1QixBQUFqQyxBQUQrQixnREFBOEIscUNBQzdCLGdEQUE0QztZQUc1RSxlQUNGO1lBREUsc0ZBQ0Y7OztpRkRsQk8sMEJBQTBCO2NBSnRDLFNBQVM7MkJBQ0UseUJBQXlCO2dCQUtuQixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUVXLG9CQUFvQjtrQkFBcEMsTUFBTTs7a0ZBTEksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSwgSm91cm5leSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIENhc2VGbGFnRmllbGRTdGF0ZSxcbiAgQ2FzZUZsYWdTdGF0dXMsXG4gIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLFxuICBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlLFxuICBDb25maXJtU3RhdHVzU3RlcFxufSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9iYXNlLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNvbmZpcm0tZmxhZy1zdGF0dXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1mbGFnLXN0YXR1cy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybUZsYWdTdGF0dXNDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEpvdXJuZXkge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGRlZmF1bHRTdGF0dXM6IHN0cmluZztcblxuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIGNvbmZpcm1GbGFnU3RhdHVzVGl0bGU6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICBwdWJsaWMgY2FzZUZsYWdTdGF0dXNFbnVtID0gQ2FzZUZsYWdTdGF0dXM7XG4gIHB1YmxpYyBmbGFnQ3JlYXRpb25TdGF0dXNlczogc3RyaW5nW107XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZTogQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2U6IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uSGludDogQ29uZmlybVN0YXR1c1N0ZXA7XG4gIHB1YmxpYyBzdGF0dXNSZWFzb25DaGFyTGltaXRJbmZvOiBDb25maXJtU3RhdHVzU3RlcDtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkU3RhdHVzQ29udHJvbE5hbWUgPSAnc2VsZWN0ZWRTdGF0dXMnO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzUmVhc29uQ29udHJvbE5hbWUgPSAnc3RhdHVzUmVhc29uJztcbiAgcHJpdmF0ZSByZWFkb25seSByZWFzb25NYXhDaGFyTGltaXQgPSAyMDA7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlybUZsYWdTdGF0dXNUaXRsZSA9IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLkNPTkZJUk1fRkxBR19TVEFUVVM7XG4gICAgdGhpcy5mbGFnQ3JlYXRpb25TdGF0dXNlcyA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKS5maWx0ZXIoa2V5ID0+ICFbJ0lOQUNUSVZFJ10uaW5jbHVkZXMoa2V5KSk7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25IaW50ID0gQ29uZmlybVN0YXR1c1N0ZXAuSElOVF9URVhUO1xuICAgIHRoaXMuc3RhdHVzUmVhc29uQ2hhckxpbWl0SW5mbyA9IENvbmZpcm1TdGF0dXNTdGVwLkNIQVJBQ1RFUl9MSU1JVF9JTkZPO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5zZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2wodGhpcy5mbGFnQ3JlYXRpb25TdGF0dXNlcy5maW5kKFxuICAgICAga2V5ID0+IENhc2VGbGFnU3RhdHVzW2tleV0gPT09IHRoaXMuZGVmYXVsdFN0YXR1cykpKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuc3RhdHVzUmVhc29uQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIGlmICh0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbk1haW5PYmplY3QoKS5qb3VybmV5UGFnZU51bWJlciA9PT0gQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfU1RBVFVTKSB7XG4gICAgICB0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbk1haW5PYmplY3QoKS5qb3VybmV5UGFnZU51bWJlciA9IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0NPTU1FTlRTO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgc3RhdHVzIHJlYXNvbiBlbnRyeVxuICAgIHRoaXMudmFsaWRhdGVUZXh0RW50cnkoKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHsgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfU1RBVFVTLCBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMgfSk7XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpIHtcbiAgICB0aGlzLm9uTmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlVGV4dEVudHJ5KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lKS52YWx1ZSA9PT0gJ05PVF9BUFBST1ZFRCcgJiZcbiAgICAgICF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZSkudmFsdWUpIHtcbiAgICAgIHRoaXMuc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX05PVF9FTlRFUkVELFxuICAgICAgICBmaWVsZElkOiB0aGlzLnN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lKS52YWx1ZSAmJlxuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc3RhdHVzUmVhc29uQ29udHJvbE5hbWUpLnZhbHVlLmxlbmd0aCA+IHRoaXMucmVhc29uTWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogdGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbWF4bGVuZ3RoPVwiMjAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb25maXJtLWZsYWctc3RhdHVzLWhlYWRpbmdcIj5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbVwiPlxuICAgICAgICAgIDxoMSBpZD1cImNvbmZpcm0tZmxhZy1zdGF0dXMtaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICAgIHt7Y29uZmlybUZsYWdTdGF0dXNUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9oMT5cbiAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgaWQ9XCJjb25kaXRpb25hbC1yYWRpb3MtbGlzdFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgc3RhdHVzIG9mIGZsYWdDcmVhdGlvblN0YXR1c2VzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLXN0YXR1cy17e2l9fVwiIFtuYW1lXT1cInNlbGVjdGVkU3RhdHVzQ29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwic3RhdHVzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJzZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lXCIvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctc3RhdHVzLXt7aX19XCI+XG4gICAgICAgICAgICAgIHt7Y2FzZUZsYWdTdGF0dXNFbnVtW3N0YXR1c10gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPGRpdiBpZD1cInN0YXR1cy1yZWFzb24taGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICB7e3N0YXR1c1JlYXNvbkhpbnQgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwic3RhdHVzLXJlYXNvbi1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e3N0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwic3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7c3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIiBbaWRdPVwic3RhdHVzUmVhc29uQ29udHJvbE5hbWVcIlxuICAgICAgICBbbmFtZV09XCJzdGF0dXNSZWFzb25Db250cm9sTmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwic3RhdHVzUmVhc29uQ29udHJvbE5hbWVcIiByb3dzPVwiNVwiXG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJzdGF0dXMtcmVhc29uLWhpbnQgc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWluZm9cIj48L3RleHRhcmVhPlxuICAgICAgPGRpdiBpZD1cInN0YXR1cy1yZWFzb24tY2hhci1saW1pdC1pbmZvXCIgY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICB7e3N0YXR1c1JlYXNvbkNoYXJMaW1pdEluZm8gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1mbGFnLXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jb25maXJtLWZsYWctc3RhdHVzL2NvbmZpcm0tZmxhZy1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY29uZmlybS1mbGFnLXN0YXR1cy9jb25maXJtLWZsYWctc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLGlCQUFpQixFQUNsQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztJQ0RyRCwrQkFBd0Y7SUFDdEYsNEJBQytFO0lBQy9FLGlDQUF1RTtJQUNyRSxZQUNGOztJQUNGLEFBREUsaUJBQVEsRUFDSjs7Ozs7SUFMK0IsY0FBc0I7SUFBdEIseURBQXNCO0lBQ3pCLEFBQWpCLEFBRDJDLHVEQUFrQyxvQkFDN0QscURBQThDO0lBQzlCLGNBQXVCO0lBQXZCLDBEQUF1QjtJQUNwRSxjQUNGO0lBREUsMkZBQ0Y7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QURGLEFBREYsQUFERixBQURGLDhCQUE0RixhQUNELGtCQUNQLGdCQUNiLFlBQ007WUFDbkUsWUFDRjs7WUFDRixBQURFLGlCQUFLLEVBQ0U7WUFDVCw4QkFBb0k7WUFDbEksNEVBQXdGO1lBUTVGLEFBREUsaUJBQU0sRUFDRztZQUNYLCtCQUFnRDtZQUM5QyxhQUNGOztZQUFBLGlCQUFNO1lBS04sQUFKQSw2RUFDNkMsaUVBSUQ7WUFHNUMsZ0NBRWlGO1lBQ2pGLGdDQUE2RztZQUMzRyxhQUNGOztZQUVKLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0Y7OztZQXJDTSx5Q0FBdUI7WUFFSCxlQUEwRDtZQUExRCxtRkFBMEQ7WUFJaEYsZUFDRjtZQURFLGtGQUNGO1lBR21ELGVBQXlCO1lBQXpCLGtEQUF5QjtZQVU5RSxlQUNGO1lBREUsNkVBQ0Y7WUFFRyxlQUF3QztZQUF4Qyw2REFBd0M7WUFJeEMsY0FBdUM7WUFBdkMsNERBQXVDO1lBR1QsY0FBOEI7WUFDNUIsQUFBakMsQUFEK0IsZ0RBQThCLHFDQUM3QixnREFBNEM7WUFHNUUsZUFDRjtZQURFLHNGQUNGOzs7aUZEbEJPLDBCQUEwQjtjQUp0QyxTQUFTOzJCQUNFLHlCQUF5QjtnQkFLbkIsU0FBUztrQkFBeEIsS0FBSztZQUNVLGFBQWE7a0JBQTVCLEtBQUs7WUFFVyxvQkFBb0I7a0JBQXBDLE1BQU07O2tGQUxJLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBDYXNlRmxhZ0ZpZWxkU3RhdGUsXG4gIENhc2VGbGFnU3RhdHVzLFxuICBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSxcbiAgQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZSxcbiAgQ29uZmlybVN0YXR1c1N0ZXBcbn0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYmFzZS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jb25maXJtLWZsYWctc3RhdHVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0tZmxhZy1zdGF0dXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1GbGFnU3RhdHVzQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBKb3VybmV5IHtcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0U3RhdHVzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyBjb25maXJtRmxhZ1N0YXR1c1RpdGxlOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgcHVibGljIGNhc2VGbGFnU3RhdHVzRW51bSA9IENhc2VGbGFnU3RhdHVzO1xuICBwdWJsaWMgZmxhZ0NyZWF0aW9uU3RhdHVzZXM6IHN0cmluZ1tdO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIHN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2U6IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHN0YXR1c1JlYXNvbkhpbnQ6IENvbmZpcm1TdGF0dXNTdGVwO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uQ2hhckxpbWl0SW5mbzogQ29uZmlybVN0YXR1c1N0ZXA7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lID0gJ3NlbGVjdGVkU3RhdHVzJztcbiAgcHVibGljIHJlYWRvbmx5IHN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lID0gJ3N0YXR1c1JlYXNvbic7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhc29uTWF4Q2hhckxpbWl0ID0gMjAwO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1GbGFnU3RhdHVzVGl0bGUgPSBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5DT05GSVJNX0ZMQUdfU1RBVFVTO1xuICAgIHRoaXMuZmxhZ0NyZWF0aW9uU3RhdHVzZXMgPSBPYmplY3Qua2V5cyhDYXNlRmxhZ1N0YXR1cykuZmlsdGVyKGtleSA9PiAhWydJTkFDVElWRSddLmluY2x1ZGVzKGtleSkpO1xuICAgIHRoaXMuc3RhdHVzUmVhc29uSGludCA9IENvbmZpcm1TdGF0dXNTdGVwLkhJTlRfVEVYVDtcbiAgICB0aGlzLnN0YXR1c1JlYXNvbkNoYXJMaW1pdEluZm8gPSBDb25maXJtU3RhdHVzU3RlcC5DSEFSQUNURVJfTElNSVRfSU5GTztcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuc2VsZWN0ZWRTdGF0dXNDb250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKHRoaXMuZmxhZ0NyZWF0aW9uU3RhdHVzZXMuZmluZChcbiAgICAgIGtleSA9PiBDYXNlRmxhZ1N0YXR1c1trZXldID09PSB0aGlzLmRlZmF1bHRTdGF0dXMpKSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLnN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcbiAgICBpZiAodGhpcy5tdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UuZ2V0Sm91cm5leUNvbGxlY3Rpb25NYWluT2JqZWN0KCkuam91cm5leVBhZ2VOdW1iZXIgPT09IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1NUQVRVUykge1xuICAgICAgdGhpcy5tdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UuZ2V0Sm91cm5leUNvbGxlY3Rpb25NYWluT2JqZWN0KCkuam91cm5leVBhZ2VOdW1iZXIgPSBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIHN0YXR1cyByZWFzb24gZW50cnlcbiAgICB0aGlzLnZhbGlkYXRlVGV4dEVudHJ5KCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7IGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1NUQVRVUywgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzIH0pO1xuICB9XG5cbiAgcHVibGljIG5leHQoKSB7XG4gICAgdGhpcy5vbk5leHQoKTtcblxuICAgIGlmICh0aGlzLmVycm9yTWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBzdXBlci5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRTdGF0dXNDb250cm9sTmFtZSkudmFsdWUgPT09ICdOT1RfQVBQUk9WRUQnICYmXG4gICAgICAhdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc3RhdHVzUmVhc29uQ29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRCxcbiAgICAgICAgZmllbGRJZDogdGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZSkudmFsdWUgJiZcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lKS52YWx1ZS5sZW5ndGggPiB0aGlzLnJlYXNvbk1heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy5zdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgIGZpZWxkSWQ6IHRoaXMuc3RhdHVzUmVhc29uQ29udHJvbE5hbWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1heGxlbmd0aD1cIjIwMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY29uZmlybS1mbGFnLXN0YXR1cy1oZWFkaW5nXCI+XG4gICAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW1cIj5cbiAgICAgICAgICA8aDEgaWQ9XCJjb25maXJtLWZsYWctc3RhdHVzLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAgICB7e2NvbmZpcm1GbGFnU3RhdHVzVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgIDwvbGVnZW5kPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWwgZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCIgKm5nRm9yPVwibGV0IHN0YXR1cyBvZiBmbGFnQ3JlYXRpb25TdGF0dXNlczsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiZmxhZy1zdGF0dXMte3tpfX1cIiBbbmFtZV09XCJzZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lXCJcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cInN0YXR1c1wiIFtmb3JtQ29udHJvbE5hbWVdPVwic2VsZWN0ZWRTdGF0dXNDb250cm9sTmFtZVwiLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJmbGFnLXN0YXR1cy17e2l9fVwiPlxuICAgICAgICAgICAgICB7e2Nhc2VGbGFnU3RhdHVzRW51bVtzdGF0dXNdIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxkaXYgaWQ9XCJzdGF0dXMtcmVhc29uLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAge3tzdGF0dXNSZWFzb25IaW50IHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInN0YXR1cy1yZWFzb24tbm90LWVudGVyZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwic3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInN0YXR1cy1yZWFzb24tY2hhci1saW1pdC1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwic3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e3N0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgW2lkXT1cInN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lXCJcbiAgICAgICAgW25hbWVdPVwic3RhdHVzUmVhc29uQ29udHJvbE5hbWVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lXCIgcm93cz1cIjVcIlxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwic3RhdHVzLXJlYXNvbi1oaW50IHN0YXR1cy1yZWFzb24tY2hhci1saW1pdC1pbmZvXCI+PC90ZXh0YXJlYT5cbiAgICAgIDxkaXYgaWQ9XCJzdGF0dXMtcmVhc29uLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAge3tzdGF0dXNSZWFzb25DaGFyTGltaXRJbmZvIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -301,7 +301,7 @@ export class ManageCaseFlagsComponent extends AbstractJourneyComponent {
301
301
  });
302
302
  }
303
303
  }
304
- static ɵfac = /*@__PURE__*/ (() => { let ɵManageCaseFlagsComponent_BaseFactory; return function ManageCaseFlagsComponent_Factory(t) { return (ɵManageCaseFlagsComponent_BaseFactory || (ɵManageCaseFlagsComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ManageCaseFlagsComponent)))(t || ManageCaseFlagsComponent); }; })();
304
+ static ɵfac = /*@__PURE__*/ (() => { let ɵManageCaseFlagsComponent_BaseFactory; return function ManageCaseFlagsComponent_Factory(__ngFactoryType__) { return (ɵManageCaseFlagsComponent_BaseFactory || (ɵManageCaseFlagsComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ManageCaseFlagsComponent)))(__ngFactoryType__ || ManageCaseFlagsComponent); }; })();
305
305
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 10, vars: 9, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "manage-case-flag-heading", 1, "govuk-fieldset__heading"], ["id", "manage-case-flag-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "manage-case-flag-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "change", "id", "checked"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
306
306
  i0.ɵɵelementContainerStart(0, 0);
307
307
  i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2)(3, "legend", 3)(4, "h1", 4);
@@ -340,4 +340,4 @@ export class ManageCaseFlagsComponent extends AbstractJourneyComponent {
340
340
  type: Output
341
341
  }] }); })();
342
342
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ManageCaseFlagsComponent, { className: "ManageCaseFlagsComponent", filePath: "lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.ts", lineNumber: 16 }); })();
343
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25KLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0lDR3ZELEFBRkYsOEJBQzZDLGNBQ1A7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7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Q0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOzZQQTVSVSx3QkFBd0IsU0FBeEIsd0JBQXdCOzZEQUF4Qix3QkFBd0I7WUNmckMsZ0NBQXNDO1lBSTlCLEFBREYsQUFERixBQURGLDhCQUF5RixrQkFDVixnQkFDVixZQUNHO1lBQ2hFLFlBQ0Y7O1lBQ0YsQUFERSxpQkFBSyxFQUNFO1lBQ1QseUVBQzZDO1lBRzdDLDhCQUE0RztZQUMxRyx5RUFBeUY7WUFTL0YsQUFERSxBQURFLGlCQUFNLEVBQ0csRUFDUDs7O1lBdEJNLHlDQUF1QjtZQUNMLGNBQTBEO1lBQTFELGtGQUEwRDtZQUloRixlQUNGO1lBREUsOEVBQ0Y7WUFHQyxlQUF3QztZQUF4Qyw2REFBd0M7WUFJZSxlQUFxQjtZQUFyQiw4Q0FBcUI7OztpRkRFeEUsd0JBQXdCO2NBTnBDLFNBQVM7MkJBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJO2dCQUdyQixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSx1QkFBdUI7a0JBQXRDLEtBQUs7WUFDVyxvQkFBb0I7a0JBQXBDLE1BQU07O2tGQUxJLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkLCBFcnJvck1lc3NhZ2UsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9maWVsZHMnO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCwgRmxhZ3MsIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlciwgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1N0YXR1cywgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9iYXNlLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLW1hbmFnZS1jYXNlLWZsYWdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hbmFnZS1jYXNlLWZsYWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNYW5hZ2VDYXNlRmxhZ3NDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEpvdXJuZXkge1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnc0RhdGE6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGhbXTtcbiAgQElucHV0KCkgcHVibGljIGNhc2VUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXI6IHN0cmluZztcbiAgQE91dHB1dCgpIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyBtYW5hZ2VDYXNlRmxhZ1RpdGxlOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBtYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIGZsYWdzRGlzcGxheURhdGE6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGhbXTtcbiAgcHVibGljIGZsYWdzOiBGbGFncztcbiAgcHVibGljIG5vRmxhZ3NFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRDb250cm9sTmFtZSA9ICdzZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbic7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXhjbHVkZWRGbGFnU3RhdHVzZXM6IENhc2VGbGFnU3RhdHVzW10gPSBbQ2FzZUZsYWdTdGF0dXMuSU5BQ1RJVkUsIENhc2VGbGFnU3RhdHVzLk5PVF9BUFBST1ZFRF07XG4gIHB1YmxpYyBjYWNoZWRDb250cm9sczp7XG4gICAgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sO1xuICB9O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZUNhc2VGbGFnVGl0bGUgPSB0aGlzLnNldE1hbmFnZUNhc2VGbGFnVGl0bGUodGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcik7XG4gICAgbGV0IG9yaWdpbmFsU3RhdHVzOiBzdHJpbmc7XG4gICAgbGV0IG9yaWdpbmFsSWRUb0ZsYWc6IHN0cmluZztcbiAgICAvLyBpZiB0aGUgdXNlciBoYXMgcHJvZ3Jlc3NlZCB0byBDWUEgYW5kIHRoZW4gbmF2aWdhdGVkIGF3YXksIHRoZSBmbGFnIHRoZXkgc2VsZWN0ZWQgd2lsbCBiZSBzZXQgYXMgaW5hY3RpdmUsIHdlIG5lZWQgdG8gcmVzZXQgdGhpc1xuICAgIGNvbnN0IGxvY2F0aW9uQ29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpO1xuICAgIGlmIChsb2NhdGlvbkNvbnRyb2wpIHtcbiAgICAgIG9yaWdpbmFsU3RhdHVzID0gbG9jYXRpb25Db250cm9sPy52YWx1ZT8ub3JpZ2luYWxTdGF0dXM7XG4gICAgICBvcmlnaW5hbElkVG9GbGFnID0gbG9jYXRpb25Db250cm9sPy52YWx1ZT8uZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5pZDtcbiAgICAgIHRoaXMuY2FjaGVkQ29udHJvbHMgPSBjbG9uZURlZXAodGhpcy5mb3JtR3JvdXAuY29udHJvbHMpO1xuICAgICAgT2JqZWN0LmtleXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGNvbnRyb2xOYW1lKSA9PiB7XG4gICAgICAgIGlmIChjb250cm9sTmFtZSAhPT0gdGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVtb3ZlQ29udHJvbChjb250cm9sTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIE1hcCBmbGFncyBpbnN0YW5jZXMgdG8gb2JqZWN0cyBmb3IgZGlzcGxheSwgZmlsdGVyaW5nIG91dCBhbnkgd2hlcmUgdGhlIG9yaWdpbmFsIHN0YXR1cyBpcyBlaXRoZXIgXCJJbmFjdGl2ZVwiIG9yXG4gICAgLy8gXCJOb3QgYXBwcm92ZWRcIlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuZmxhZ3NEYXRhKSB7XG4gICAgICB0aGlzLmZsYWdzRGlzcGxheURhdGEgPSB0aGlzLmZsYWdzRGF0YS5yZWR1Y2UoKGRpc3BsYXlEYXRhLCBmbGFnc0luc3RhbmNlKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChmbGFnc0luc3RhbmNlLmZsYWdzLmRldGFpbHMgJiYgZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBkaXNwbGF5RGF0YSA9IFtcbiAgICAgICAgICAgIC4uLmRpc3BsYXlEYXRhLFxuICAgICAgICAgICAgLi4uZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzLm1hcCgoZGV0YWlsKSA9PiB0aGlzLm1hcEZsYWdEZXRhaWxGb3JEaXNwbGF5KGRldGFpbCwgZmxhZ3NJbnN0YW5jZSwgb3JpZ2luYWxTdGF0dXMsIG9yaWdpbmFsSWRUb0ZsYWcpKVxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRpc3BsYXlEYXRhO1xuICAgICAgfSwgW10pLmZpbHRlcigoZmxhZ0ZvckRpc3BsYXkpID0+ICF0aGlzLmV4Y2x1ZGVkRmxhZ1N0YXR1c2VzLmluY2x1ZGVzKGZsYWdGb3JEaXNwbGF5Lm9yaWdpbmFsU3RhdHVzIGFzIENhc2VGbGFnU3RhdHVzKSk7XG4gICAgfVxuICAgIC8vIEFkZCBhIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0ZWQgY2FzZSBmbGFnIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBmbGFncyBpbnN0YW5jZSByZW1haW5pbmcgYWZ0ZXIgbWFwcGluZ1xuICAgIGlmICh0aGlzLmZsYWdzRGlzcGxheURhdGEgJiYgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBmbGFncyBkaXNwbGF5IGRhdGEgbWVhbnMgdGhlcmUgYXJlIG5vIGZsYWdzIHRvIHNlbGVjdCBmcm9tLiBUaGUgdXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGEgZmxhZyB1cGRhdGUuXG4gICAgICAvLyAoV2lsbCBuZWVkIHRvIGJlIGV4dGVuZGVkIHRvIGNoZWNrIGZvciBjYXNlLWxldmVsIGZsYWdzIGluIGZ1dHVyZSlcbiAgICAgIHRoaXMub25Ob0ZsYWdzRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICBvbkZsYWdTZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0ZWRGbGFnOiBGb3JtQ29udHJvbCk6IHZvaWQge1xuICAgIC8vIFVwZGF0ZSB0aGUgZm9ybSBjb250cm9sIHZhbHVlXG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkuc2V0VmFsdWUoc2VsZWN0ZWRGbGFnKTtcblxuICAgIGNvbnN0IGZsYWdEaXNwbGF5TWFwID0gbmV3IE1hcChcbiAgICAgIHRoaXMuZmxhZ3NEaXNwbGF5RGF0YS5tYXAoKGZkKSA9PiBbdGhpcy5nZXRGbGFnSUQoZmQpLCBmZF0pXG4gICAgKTtcblxuICAgIHRoaXMudXBkYXRlRmxhZ0RldGFpbHMoZmxhZ0Rpc3BsYXlNYXApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGbGFnRGV0YWlscyhmbGFnRGlzcGxheU1hcDogTWFwPHN0cmluZywgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aD4pOiB2b2lkIHtcbiAgICBjb25zdCB1cGRhdGVEZXRhaWxzID0gKFxuICAgICAgZGV0YWlsczogYW55W10sXG4gICAgICB2YWx1ZUFjY2Vzc29yOiAoKGRldGFpbDogYW55KSA9PiBhbnkpIHwgbnVsbCA9IChkZXRhaWwpID0+IGRldGFpbC52YWx1ZVxuICAgICkgPT4ge1xuICAgICAgZGV0YWlscy5mb3JFYWNoKChkZXRhaWwpID0+IHtcbiAgICAgICAgY29uc3QgbWF0Y2hpbmcgPSBmbGFnRGlzcGxheU1hcC5nZXQoZGV0YWlsLmlkKTtcbiAgICAgICAgaWYgKG1hdGNoaW5nKSB7XG4gICAgICAgICAgaWYgKHZhbHVlQWNjZXNzb3IpIHtcbiAgICAgICAgICAgIHZhbHVlQWNjZXNzb3IoZGV0YWlsKS5zdGF0dXMgPSBtYXRjaGluZy5vcmlnaW5hbFN0YXR1cztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGV0YWlsLnN0YXR1cyA9IG1hdGNoaW5nLm9yaWdpbmFsU3RhdHVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIGZsYWdEYXRhIGl0ZW0gYW5kIHVwZGF0ZSB0aGUgY29ycmVzcG9uZGluZyBmbGFnIGRldGFpbHNcbiAgICBmb3IgKGNvbnN0IGZsYWdEYXRhIG9mIHRoaXMuZmxhZ3NEYXRhKSB7XG4gICAgICBjb25zdCB7IGNhc2VGaWVsZCwgZmxhZ3MgfSA9IGZsYWdEYXRhO1xuICAgICAgaWYgKGNhc2VGaWVsZCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNhc2VGaWVsZERldGFpbHMoY2FzZUZpZWxkLCB1cGRhdGVEZXRhaWxzKTtcbiAgICAgIH1cbiAgICAgIC8vIElmIGZsYWdzLmRldGFpbHMgZXhpc3RzIGF0IHRoZSByb290IG9mIGZsYWdEYXRhLCB1cGRhdGUgZGlyZWN0bHkgKHN0YXR1cyBpcyBub3QgbmVzdGVkIHVuZGVyIHZhbHVlKVxuICAgICAgaWYgKGZsYWdzPy5kZXRhaWxzKSB7XG4gICAgICAgIHVwZGF0ZURldGFpbHMoZmxhZ3MuZGV0YWlscywgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDYXNlRmllbGREZXRhaWxzKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCB1cGRhdGVEZXRhaWxzOiAoZGV0YWlsczogYW55W10sIHZhbHVlQWNjZXNzb3I/OiAoKGRldGFpbDogYW55KSA9PiBhbnkpIHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIC8vIEZvciBjYXNlRmllbGQuX3ZhbHVlLmZsYWdzLmRldGFpbHNcbiAgICBpZiAoY2FzZUZpZWxkLl92YWx1ZT8uZmxhZ3M/LmRldGFpbHMpIHtcbiAgICAgIHVwZGF0ZURldGFpbHMoY2FzZUZpZWxkLl92YWx1ZS5mbGFncy5kZXRhaWxzKTtcbiAgICB9XG4gICAgLy8gRm9yIGNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWUuZmxhZ3MuZGV0YWlsc1xuICAgIGlmIChjYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlPy5mbGFncz8uZGV0YWlscykge1xuICAgICAgdXBkYXRlRGV0YWlscyhjYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlLmZsYWdzLmRldGFpbHMpO1xuICAgIH1cbiAgICAvLyBJZiBjYXNlRmllbGQuX3ZhbHVlIGlzIGFuIGFycmF5LCBjaGVjayBlYWNoIGVsZW1lbnQncyBuZXN0ZWQgZmxhZ3MuZGV0YWlsc1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNhc2VGaWVsZC5fdmFsdWUpKSB7XG4gICAgICBjYXNlRmllbGQuX3ZhbHVlLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICBpZiAodmFsLnZhbHVlPy5mbGFncz8uZGV0YWlscykge1xuICAgICAgICAgIHVwZGF0ZURldGFpbHModmFsLnZhbHVlLmZsYWdzLmRldGFpbHMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gSWYgY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZSBpcyBhbiBhcnJheSwgY2hlY2sgZWFjaCBlbGVtZW50J3MgbmVzdGVkIGZsYWdzLmRldGFpbHNcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlKSkge1xuICAgICAgY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZS5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgaWYgKHZhbC52YWx1ZT8uZmxhZ3M/LmRldGFpbHMpIHtcbiAgICAgICAgICB1cGRhdGVEZXRhaWxzKHZhbC52YWx1ZS5mbGFncy5kZXRhaWxzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIEZvciBjYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlLmRldGFpbHMgKG5vdCBuZXN0ZWQgdW5kZXIgZmxhZ3MpXG4gICAgaWYgKGNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWU/LmRldGFpbHMpIHtcbiAgICAgIHVwZGF0ZURldGFpbHMoY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZS5kZXRhaWxzKTtcbiAgICB9XG4gICAgLy8gRm9yIGNhc2VGaWVsZC5fdmFsdWUuZGV0YWlscyAobm90IG5lc3RlZCB1bmRlciBmbGFncylcbiAgICBpZiAoY2FzZUZpZWxkLl92YWx1ZT8uZGV0YWlscykge1xuICAgICAgdXBkYXRlRGV0YWlscyhjYXNlRmllbGQuX3ZhbHVlLmRldGFpbHMpO1xuICAgIH1cbiAgfVxuXG4gIGlzU2VsZWN0ZWQoZmxhZ0Rpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWxlY3RlZEZsYWcgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKT8udmFsdWU7XG4gICAgcmV0dXJuIHNlbGVjdGVkRmxhZyAmJiB0aGlzLmdldEZsYWdJRChzZWxlY3RlZEZsYWcpID09PSB0aGlzLmdldEZsYWdJRChmbGFnRGlzcGxheSk7XG4gIH1cblxuICBnZXRGbGFnSUQoZmxhZzogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCkge1xuICAgIHJldHVybiBmbGFnPy5mbGFnRGV0YWlsRGlzcGxheT8uZmxhZ0RldGFpbD8uaWQgfHwgJyc7XG4gIH1cblxuICBwdWJsaWMgbWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCwgZmxhZ3NJbnN0YW5jZTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCwgb3JpZ2luYWxTdGF0dXNGcm9tRkc6IHN0cmluZywgb3JpZ2luYWxQYXRoVG9GbGFnOiBzdHJpbmcpOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoIHtcbiAgICAvLyBSZXNldCB0aGUgZmxhZyBzdGF0dXMgd2l0aCB0aGUgb3JpZ2luYWwgcGVyc2lzdGVkIHN0YXR1cy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBuZ09uSW5pdCgpIG5lZWRzIHRvIGZpbHRlclxuICAgIC8vIG91dCBhbnkgXCJJbmFjdGl2ZVwiIG9yIFwiTm90IGFwcHJvdmVkXCIgZmxhZ3MgYmFzZWQgb24gdGhlaXIgc3RhdHVzICpiZWZvcmUqIG1vZGlmaWNhdGlvbi4gSWYgdGhlIHVzZXIgY2hhbmdlcyBhXG4gICAgLy8gZmxhZydzIHN0YXR1cyB0aGVuIGRlY2lkZXMgdG8gcmV0dXJuIHRvIHRoZSBzdGFydCBvZiB0aGUgZmxhZyB1cGRhdGUgam91cm5leSwgdGhlIGZsYWcncyBzdGF0dXMgd291bGQgbm9cbiAgICAvLyBsb25nZXIgcmVmbGVjdCBpdHMgYWN0dWFsICpwZXJzaXN0ZWQqIHN0YXR1c1xuICAgIC8vIEFsc28gcmVzZXQgY29tbWVudHMgYW5kIGRlc2NyaXB0aW9uIGZpZWxkcyAoYm90aCBFbmdsaXNoIGFuZCBXZWxzaCkgd2l0aCB0aGUgb3JpZ2luYWwgcGVyc2lzdGVkIGRhdGEsIHRvIGF2b2lkXG4gICAgLy8gdGhlIFVJIGNhY2hpbmcgYW55IGNoYW5nZXMgdGhhdCB0aGUgdXNlciBtaWdodCBub3Qgd2FudCBwZXJzaXN0ZWQsIGlmIHRoZXkgc3RhcnQgb3ZlciBhbmQgZG9uJ3QgaW50ZW5kIHRvIGFkZFxuICAgIC8vIHRyYW5zbGF0aW9ucyBzdWJzZXF1ZW50bHlcbiAgICBsZXQgb3JpZ2luYWxTdGF0dXM6IHN0cmluZztcbiAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSBmbGFnc0luc3RhbmNlLmNhc2VGaWVsZD8uZm9ybWF0dGVkX3ZhbHVlO1xuICAgIC8vIFVzZSB0aGUgcGF0aFRvRmxhZ3NGb3JtR3JvdXAgcHJvcGVydHkgZnJvbSB0aGUgc2VsZWN0ZWQgZmxhZyBsb2NhdGlvbiB0byBkcmlsbCBkb3duIHRvIHRoZSBjb3JyZWN0IHBhcnQgb2YgdGhlXG4gICAgLy8gQ2FzZUZpZWxkIGZvcm1hdHRlZF92YWx1ZSBmcm9tIHdoaWNoIHRvIGdldCB0aGUgb3JpZ2luYWwgcGVyc2lzdGVkIGRhdGFcbiAgICBjb25zdCBwYXRoVG9WYWx1ZSA9IGZsYWdzSW5zdGFuY2UucGF0aFRvRmxhZ3NGb3JtR3JvdXA7XG4gICAgLy8gUm9vdC1sZXZlbCBGbGFncyBDYXNlRmllbGRzIGRvbid0IGhhdmUgYSBkb3QtZGVsaW1pdGVkIHBhdGggLSBqdXN0IHRoZSBDYXNlRmllbGQgSUQgaXRzZWxmIC0gc28gZG9uJ3QgZHJpbGwgZG93blxuICAgIGlmIChwYXRoVG9WYWx1ZS5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgICAgcGF0aFRvVmFsdWUuc2xpY2UocGF0aFRvVmFsdWUuaW5kZXhPZignLicpICsgMSkuc3BsaXQoJy4nKS5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgICAgIGlmIChmb3JtYXR0ZWRWYWx1ZSAmJiBGaWVsZHNVdGlscy5pc05vbkVtcHR5T2JqZWN0KGZvcm1hdHRlZFZhbHVlKSkge1xuICAgICAgICAgIGZvcm1hdHRlZFZhbHVlID0gZm9ybWF0dGVkVmFsdWVbcGFydF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoZm9ybWF0dGVkVmFsdWUgJiYgRmllbGRzVXRpbHMuaXNOb25FbXB0eU9iamVjdChmb3JtYXR0ZWRWYWx1ZSkpIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsRmxhZ0RldGFpbCA9IGZvcm1hdHRlZFZhbHVlLmRldGFpbHM/LmZpbmQoKGRldGFpbCkgPT4gZGV0YWlsLmlkID09PSBmbGFnRGV0YWlsLmlkKTtcbiAgICAgIGNvbnN0IHN0YXR1c1RvVXNlID0gdGhpcy5nZXRTdGF0dXNUb1VzZShmbGFnc0luc3RhbmNlLCBvcmlnaW5hbFBhdGhUb0ZsYWcsIG9yaWdpbmFsU3RhdHVzRnJvbUZHLCBvcmlnaW5hbEZsYWdEZXRhaWwpO1xuICAgICAgaWYgKG9yaWdpbmFsRmxhZ0RldGFpbCkge1xuICAgICAgICBvcmlnaW5hbFN0YXR1cyA9IHN0YXR1c1RvVXNlO1xuICAgICAgICBmbGFnRGV0YWlsLmZsYWdDb21tZW50ID0gb3JpZ2luYWxGbGFnRGV0YWlsLnZhbHVlPy5mbGFnQ29tbWVudDtcbiAgICAgICAgZmxhZ0RldGFpbC5mbGFnQ29tbWVudF9jeSA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8uZmxhZ0NvbW1lbnRfY3k7XG4gICAgICAgIGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbiA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8ub3RoZXJEZXNjcmlwdGlvbjtcbiAgICAgICAgZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5ID0gb3JpZ2luYWxGbGFnRGV0YWlsLnZhbHVlPy5vdGhlckRlc2NyaXB0aW9uX2N5O1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcmV0dXJuT2JqID0ge1xuICAgICAgZmxhZ0RldGFpbERpc3BsYXk6IHtcbiAgICAgICAgcGFydHlOYW1lOiBmbGFnc0luc3RhbmNlLmZsYWdzPy5wYXJ0eU5hbWUsXG4gICAgICAgIGZsYWdEZXRhaWwsXG4gICAgICAgIGZsYWdzQ2FzZUZpZWxkSWQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkPy5pZCxcbiAgICAgICAgdmlzaWJpbGl0eTogZmxhZ3NJbnN0YW5jZS5mbGFncz8udmlzaWJpbGl0eVxuICAgICAgfSxcbiAgICAgIHBhdGhUb0ZsYWdzRm9ybUdyb3VwOiBmbGFnc0luc3RhbmNlLnBhdGhUb0ZsYWdzRm9ybUdyb3VwLFxuICAgICAgY2FzZUZpZWxkOiBmbGFnc0luc3RhbmNlLmNhc2VGaWVsZCxcbiAgICAgIHJvbGVPbkNhc2U6IGZsYWdzSW5zdGFuY2UuZmxhZ3M/LnJvbGVPbkNhc2UsXG4gICAgICBvcmlnaW5hbFN0YXR1c1xuICAgIH07XG4gICAgaWYgKG9yaWdpbmFsUGF0aFRvRmxhZyA9PT0gZmxhZ0RldGFpbC5pZCkge1xuICAgICAgcmV0dXJuT2JqID0geyAuLi5yZXR1cm5PYmosIG9yaWdpbmFsU3RhdHVzIH07XG4gICAgfVxuICAgIHJldHVybiByZXR1cm5PYmo7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhdHVzVG9Vc2UoZmxhZ3NJbnN0YW5jZTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCwgb3JpZ2luYWxQYXRoVG9GbGFnOiBzdHJpbmcsIG9yaWdpbmFsU3RhdHVzRnJvbUZHOiBzdHJpbmcsIG9yaWdpbmFsRmxhZ0RldGFpbDogQ2FzZUZpZWxkKTogc3RyaW5ne1xuICAgIGxldCBzdGF0dXNUb1VzZSA9ICcnO1xuICAgIGlmIChvcmlnaW5hbEZsYWdEZXRhaWwuaWQgPT09IG9yaWdpbmFsUGF0aFRvRmxhZykge1xuICAgICAgaWYgKG9yaWdpbmFsU3RhdHVzRnJvbUZHKSB7XG4gICAgICAgIHN0YXR1c1RvVXNlID0gb3JpZ2luYWxTdGF0dXNGcm9tRkcgPT09IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8uc3RhdHVzID8gb3JpZ2luYWxGbGFnRGV0YWlsLnZhbHVlPy5zdGF0dXMgOiBvcmlnaW5hbFN0YXR1c0Zyb21GRztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXR1c1RvVXNlID0gb3JpZ2luYWxGbGFnRGV0YWlsLnZhbHVlPy5zdGF0dXM7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXR1c1RvVXNlID0gb3JpZ2luYWxGbGFnRGV0YWlsLnZhbHVlPy5zdGF0dXM7XG4gICAgfVxuICAgIHJldHVybiBzdGF0dXNUb1VzZTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBzZWxlY3Rpb25cbiAgICB0aGlzLnZhbGlkYXRlU2VsZWN0aW9uKCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgZXJyb3IgbWVzc2FnZXMsIGFuZCBmbGFnIHNlbGVjdGlvbiB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgc2VsZWN0ZWRGbGFnOiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZVxuICAgICAgICA/IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlIGFzIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGhcbiAgICAgICAgOiBudWxsXG4gICAgfSk7XG5cbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWFuYWdlQ2FzZUZsYWdUaXRsZShkaXNwbGF5Q29udGV4dFBhcmFtZXRlcjogc3RyaW5nKTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUge1xuICAgIHN3aXRjaCAoZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLk1BTkFHRV9DQVNFX0ZMQUdTO1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLk1BTkFHRV9TVVBQT1JUO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLk5PTkU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGlmICghdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkudmFsdWUpIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMID9cbiAgICAgICAgU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZS5NQU5BR0VfU1VQUE9SVF9GTEFHX05PVF9TRUxFQ1RFRCA6IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTUFOQUdFX0NBU0VfRkxBR1NfRkxBR19OT1RfU0VMRUNURUQ7XG4gICAgICB0aGlzLm1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IGVycm9yTWVzc2FnZSxcbiAgICAgICAgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbk5vRmxhZ3NFcnJvcigpOiB2b2lkIHtcbiAgICAvLyBTZXQgZXJyb3IgZmxhZyBvbiBjb21wb25lbnQgdG8gcmVtb3ZlIHRoZSBcIk5leHRcIiBidXR0b24gKHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBmbGFnIGNyZWF0aW9uKVxuICAgIHRoaXMubm9GbGFnc0Vycm9yID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTk9fRkxBR1MsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCcgfSk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19NQU5BR0VfQ0FTRV9GTEFHUyxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5leHQoKSB7XG4gICAgdGhpcy5vbk5leHQoKTtcbiAgICBjb25zdCBjYWNoZWRDb250cm9sID0gdGhpcy5jYWNoZWRDb250cm9scz8uW3RoaXMuc2VsZWN0ZWRDb250cm9sTmFtZV07XG4gICAgaWYgKGNhY2hlZENvbnRyb2wgJiYgdGhpcy5nZXRGbGFnSUQoY2FjaGVkQ29udHJvbC52YWx1ZSkgPT09IHRoaXMuZ2V0RmxhZ0lEKHRoaXMuZm9ybUdyb3VwLnZhbHVlW3RoaXMuc2VsZWN0ZWRDb250cm9sTmFtZV0pKSB7XG4gICAgICB0aGlzLnJlYXBwbHlDYWNoZWRDb250cm9scygpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVycm9yTWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBzdXBlci5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlYXBwbHlDYWNoZWRDb250cm9scygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYWNoZWRDb250cm9scykge1xuICAgICAgT2JqZWN0LmtleXModGhpcy5jYWNoZWRDb250cm9scykuZm9yRWFjaCgoY29udHJvbE5hbWUpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5jb250YWlucyhjb250cm9sTmFtZSkpIHtcbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKGNvbnRyb2xOYW1lLCB0aGlzLmNhY2hlZENvbnRyb2xzW2NvbnRyb2xOYW1lXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJtYW5hZ2UtY2FzZS1mbGFnLWhlYWRpbmdcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW1cIj5cbiAgICAgICAgPGgxIGlkPVwibWFuYWdlLWNhc2UtZmxhZy1oZWFkaW5nXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZ1wiPlxuICAgICAgICAgIHt7bWFuYWdlQ2FzZUZsYWdUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJtYW5hZ2UtY2FzZS1mbGFnLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJtYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e21hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBmbGFnRGlzcGxheSBvZiBmbGFnc0Rpc3BsYXlEYXRhOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiZmxhZy1zZWxlY3Rpb24te3tpfX1cIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQoZmxhZ0Rpc3BsYXkpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25GbGFnU2VsZWN0aW9uQ2hhbmdlKGZsYWdEaXNwbGF5KVwiLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwiZmxhZy1zZWxlY3Rpb24te3tpfX1cIiBbaW5uZXJIdG1sXT1cImZsYWdEaXNwbGF5IHwgbWFuYWdlQ2FzZUZsYWdzTGFiZWxEaXNwbGF5XCI+PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
343
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25KLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0lDR3ZELEFBRkYsOEJBQzZDLGNBQ1A7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7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Q0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOzZRQTVSVSx3QkFBd0IseUJBQXhCLHdCQUF3Qjs2REFBeEIsd0JBQXdCO1lDZnJDLGdDQUFzQztZQUk5QixBQURGLEFBREYsQUFERiw4QkFBeUYsa0JBQ1YsZ0JBQ1YsWUFDRztZQUNoRSxZQUNGOztZQUNGLEFBREUsaUJBQUssRUFDRTtZQUNULHlFQUM2QztZQUc3Qyw4QkFBNEc7WUFDMUcseUVBQXlGO1lBUy9GLEFBREUsQUFERSxpQkFBTSxFQUNHLEVBQ1A7OztZQXRCTSx5Q0FBdUI7WUFDTCxjQUEwRDtZQUExRCxrRkFBMEQ7WUFJaEYsZUFDRjtZQURFLDhFQUNGO1lBR0MsZUFBd0M7WUFBeEMsNkRBQXdDO1lBSWUsZUFBcUI7WUFBckIsOENBQXFCOzs7aUZERXhFLHdCQUF3QjtjQU5wQyxTQUFTOzJCQUNFLHVCQUF1QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSTtnQkFHckIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBQ1csb0JBQW9CO2tCQUFwQyxNQUFNOztrRkFMSSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENhc2VGaWVsZCwgRXJyb3JNZXNzYWdlLCBKb3VybmV5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZmllbGRzJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWwsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgsIEZsYWdzLCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIsIENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdTdGF0dXMsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYmFzZS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1tYW5hZ2UtY2FzZS1mbGFncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtY2FzZS1mbGFncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1jYXNlLWZsYWdzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBKb3VybmV5IHtcbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZmxhZ3NEYXRhOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoW107XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdUaXRsZTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZTogU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnc0Rpc3BsYXlEYXRhOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoW107XG4gIHB1YmxpYyBmbGFnczogRmxhZ3M7XG4gIHB1YmxpYyBub0ZsYWdzRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkQ29udHJvbE5hbWUgPSAnc2VsZWN0ZWRNYW5hZ2VDYXNlTG9jYXRpb24nO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGVkRmxhZ1N0YXR1c2VzOiBDYXNlRmxhZ1N0YXR1c1tdID0gW0Nhc2VGbGFnU3RhdHVzLklOQUNUSVZFLCBDYXNlRmxhZ1N0YXR1cy5OT1RfQVBQUk9WRURdO1xuICBwdWJsaWMgY2FjaGVkQ29udHJvbHM6e1xuICAgIFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbDtcbiAgfTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1RpdGxlID0gdGhpcy5zZXRNYW5hZ2VDYXNlRmxhZ1RpdGxlKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpO1xuICAgIGxldCBvcmlnaW5hbFN0YXR1czogc3RyaW5nO1xuICAgIGxldCBvcmlnaW5hbElkVG9GbGFnOiBzdHJpbmc7XG4gICAgLy8gaWYgdGhlIHVzZXIgaGFzIHByb2dyZXNzZWQgdG8gQ1lBIGFuZCB0aGVuIG5hdmlnYXRlZCBhd2F5LCB0aGUgZmxhZyB0aGV5IHNlbGVjdGVkIHdpbGwgYmUgc2V0IGFzIGluYWN0aXZlLCB3ZSBuZWVkIHRvIHJlc2V0IHRoaXNcbiAgICBjb25zdCBsb2NhdGlvbkNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKTtcbiAgICBpZiAobG9jYXRpb25Db250cm9sKSB7XG4gICAgICBvcmlnaW5hbFN0YXR1cyA9IGxvY2F0aW9uQ29udHJvbD8udmFsdWU/Lm9yaWdpbmFsU3RhdHVzO1xuICAgICAgb3JpZ2luYWxJZFRvRmxhZyA9IGxvY2F0aW9uQ29udHJvbD8udmFsdWU/LmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuaWQ7XG4gICAgICB0aGlzLmNhY2hlZENvbnRyb2xzID0gY2xvbmVEZWVwKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKTtcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sTmFtZSkgPT4ge1xuICAgICAgICBpZiAoY29udHJvbE5hbWUgIT09IHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkge1xuICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woY29udHJvbE5hbWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBNYXAgZmxhZ3MgaW5zdGFuY2VzIHRvIG9iamVjdHMgZm9yIGRpc3BsYXksIGZpbHRlcmluZyBvdXQgYW55IHdoZXJlIHRoZSBvcmlnaW5hbCBzdGF0dXMgaXMgZWl0aGVyIFwiSW5hY3RpdmVcIiBvclxuICAgIC8vIFwiTm90IGFwcHJvdmVkXCJcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmZsYWdzRGF0YSkge1xuICAgICAgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhID0gdGhpcy5mbGFnc0RhdGEucmVkdWNlKChkaXNwbGF5RGF0YSwgZmxhZ3NJbnN0YW5jZSkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzICYmIGZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZGlzcGxheURhdGEgPSBbXG4gICAgICAgICAgICAuLi5kaXNwbGF5RGF0YSxcbiAgICAgICAgICAgIC4uLmZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5tYXAoKGRldGFpbCkgPT4gdGhpcy5tYXBGbGFnRGV0YWlsRm9yRGlzcGxheShkZXRhaWwsIGZsYWdzSW5zdGFuY2UsIG9yaWdpbmFsU3RhdHVzLCBvcmlnaW5hbElkVG9GbGFnKSlcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwbGF5RGF0YTtcbiAgICAgIH0sIFtdKS5maWx0ZXIoKGZsYWdGb3JEaXNwbGF5KSA9PiAhdGhpcy5leGNsdWRlZEZsYWdTdGF0dXNlcy5pbmNsdWRlcyhmbGFnRm9yRGlzcGxheS5vcmlnaW5hbFN0YXR1cyBhcyBDYXNlRmxhZ1N0YXR1cykpO1xuICAgIH1cbiAgICAvLyBBZGQgYSBGb3JtQ29udHJvbCBmb3IgdGhlIHNlbGVjdGVkIGNhc2UgZmxhZyBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZmxhZ3MgaW5zdGFuY2UgcmVtYWluaW5nIGFmdGVyIG1hcHBpbmdcbiAgICBpZiAodGhpcy5mbGFnc0Rpc3BsYXlEYXRhICYmIHRoaXMuZmxhZ3NEaXNwbGF5RGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm8gZmxhZ3MgZGlzcGxheSBkYXRhIG1lYW5zIHRoZXJlIGFyZSBubyBmbGFncyB0byBzZWxlY3QgZnJvbS4gVGhlIHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBhIGZsYWcgdXBkYXRlLlxuICAgICAgLy8gKFdpbGwgbmVlZCB0byBiZSBleHRlbmRlZCB0byBjaGVjayBmb3IgY2FzZS1sZXZlbCBmbGFncyBpbiBmdXR1cmUpXG4gICAgICB0aGlzLm9uTm9GbGFnc0Vycm9yKCk7XG4gICAgfVxuICB9XG5cbiAgb25GbGFnU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkRmxhZzogRm9ybUNvbnRyb2wpOiB2b2lkIHtcbiAgICAvLyBVcGRhdGUgdGhlIGZvcm0gY29udHJvbCB2YWx1ZVxuICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnNldFZhbHVlKHNlbGVjdGVkRmxhZyk7XG5cbiAgICBjb25zdCBmbGFnRGlzcGxheU1hcCA9IG5ldyBNYXAoXG4gICAgICB0aGlzLmZsYWdzRGlzcGxheURhdGEubWFwKChmZCkgPT4gW3RoaXMuZ2V0RmxhZ0lEKGZkKSwgZmRdKVxuICAgICk7XG5cbiAgICB0aGlzLnVwZGF0ZUZsYWdEZXRhaWxzKGZsYWdEaXNwbGF5TWFwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmxhZ0RldGFpbHMoZmxhZ0Rpc3BsYXlNYXA6IE1hcDxzdHJpbmcsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGg+KTogdm9pZCB7XG4gICAgY29uc3QgdXBkYXRlRGV0YWlscyA9IChcbiAgICAgIGRldGFpbHM6IGFueVtdLFxuICAgICAgdmFsdWVBY2Nlc3NvcjogKChkZXRhaWw6IGFueSkgPT4gYW55KSB8IG51bGwgPSAoZGV0YWlsKSA9PiBkZXRhaWwudmFsdWVcbiAgICApID0+IHtcbiAgICAgIGRldGFpbHMuZm9yRWFjaCgoZGV0YWlsKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nID0gZmxhZ0Rpc3BsYXlNYXAuZ2V0KGRldGFpbC5pZCk7XG4gICAgICAgIGlmIChtYXRjaGluZykge1xuICAgICAgICAgIGlmICh2YWx1ZUFjY2Vzc29yKSB7XG4gICAgICAgICAgICB2YWx1ZUFjY2Vzc29yKGRldGFpbCkuc3RhdHVzID0gbWF0Y2hpbmcub3JpZ2luYWxTdGF0dXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRldGFpbC5zdGF0dXMgPSBtYXRjaGluZy5vcmlnaW5hbFN0YXR1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBmbGFnRGF0YSBpdGVtIGFuZCB1cGRhdGUgdGhlIGNvcnJlc3BvbmRpbmcgZmxhZyBkZXRhaWxzXG4gICAgZm9yIChjb25zdCBmbGFnRGF0YSBvZiB0aGlzLmZsYWdzRGF0YSkge1xuICAgICAgY29uc3QgeyBjYXNlRmllbGQsIGZsYWdzIH0gPSBmbGFnRGF0YTtcbiAgICAgIGlmIChjYXNlRmllbGQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDYXNlRmllbGREZXRhaWxzKGNhc2VGaWVsZCwgdXBkYXRlRGV0YWlscyk7XG4gICAgICB9XG4gICAgICAvLyBJZiBmbGFncy5kZXRhaWxzIGV4aXN0cyBhdCB0aGUgcm9vdCBvZiBmbGFnRGF0YSwgdXBkYXRlIGRpcmVjdGx5IChzdGF0dXMgaXMgbm90IG5lc3RlZCB1bmRlciB2YWx1ZSlcbiAgICAgIGlmIChmbGFncz8uZGV0YWlscykge1xuICAgICAgICB1cGRhdGVEZXRhaWxzKGZsYWdzLmRldGFpbHMsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2FzZUZpZWxkRGV0YWlscyhjYXNlRmllbGQ6IENhc2VGaWVsZCwgdXBkYXRlRGV0YWlsczogKGRldGFpbHM6IGFueVtdLCB2YWx1ZUFjY2Vzc29yPzogKChkZXRhaWw6IGFueSkgPT4gYW55KSB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAvLyBGb3IgY2FzZUZpZWxkLl92YWx1ZS5mbGFncy5kZXRhaWxzXG4gICAgaWYgKGNhc2VGaWVsZC5fdmFsdWU/LmZsYWdzPy5kZXRhaWxzKSB7XG4gICAgICB1cGRhdGVEZXRhaWxzKGNhc2VGaWVsZC5fdmFsdWUuZmxhZ3MuZGV0YWlscyk7XG4gICAgfVxuICAgIC8vIEZvciBjYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlLmZsYWdzLmRldGFpbHNcbiAgICBpZiAoY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZT8uZmxhZ3M/LmRldGFpbHMpIHtcbiAgICAgIHVwZGF0ZURldGFpbHMoY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZS5mbGFncy5kZXRhaWxzKTtcbiAgICB9XG4gICAgLy8gSWYgY2FzZUZpZWxkLl92YWx1ZSBpcyBhbiBhcnJheSwgY2hlY2sgZWFjaCBlbGVtZW50J3MgbmVzdGVkIGZsYWdzLmRldGFpbHNcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjYXNlRmllbGQuX3ZhbHVlKSkge1xuICAgICAgY2FzZUZpZWxkLl92YWx1ZS5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgaWYgKHZhbC52YWx1ZT8uZmxhZ3M/LmRldGFpbHMpIHtcbiAgICAgICAgICB1cGRhdGVEZXRhaWxzKHZhbC52YWx1ZS5mbGFncy5kZXRhaWxzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIElmIGNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWUgaXMgYW4gYXJyYXksIGNoZWNrIGVhY2ggZWxlbWVudCdzIG5lc3RlZCBmbGFncy5kZXRhaWxzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZSkpIHtcbiAgICAgIGNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWUuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgIGlmICh2YWwudmFsdWU/LmZsYWdzPy5kZXRhaWxzKSB7XG4gICAgICAgICAgdXBkYXRlRGV0YWlscyh2YWwudmFsdWUuZmxhZ3MuZGV0YWlscyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBGb3IgY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZS5kZXRhaWxzIChub3QgbmVzdGVkIHVuZGVyIGZsYWdzKVxuICAgIGlmIChjYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlPy5kZXRhaWxzKSB7XG4gICAgICB1cGRhdGVEZXRhaWxzKGNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWUuZGV0YWlscyk7XG4gICAgfVxuICAgIC8vIEZvciBjYXNlRmllbGQuX3ZhbHVlLmRldGFpbHMgKG5vdCBuZXN0ZWQgdW5kZXIgZmxhZ3MpXG4gICAgaWYgKGNhc2VGaWVsZC5fdmFsdWU/LmRldGFpbHMpIHtcbiAgICAgIHVwZGF0ZURldGFpbHMoY2FzZUZpZWxkLl92YWx1ZS5kZXRhaWxzKTtcbiAgICB9XG4gIH1cblxuICBpc1NlbGVjdGVkKGZsYWdEaXNwbGF5OiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRGbGFnID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSk/LnZhbHVlO1xuICAgIHJldHVybiBzZWxlY3RlZEZsYWcgJiYgdGhpcy5nZXRGbGFnSUQoc2VsZWN0ZWRGbGFnKSA9PT0gdGhpcy5nZXRGbGFnSUQoZmxhZ0Rpc3BsYXkpO1xuICB9XG5cbiAgZ2V0RmxhZ0lEKGZsYWc6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgpIHtcbiAgICByZXR1cm4gZmxhZz8uZmxhZ0RldGFpbERpc3BsYXk/LmZsYWdEZXRhaWw/LmlkIHx8ICcnO1xuICB9XG5cbiAgcHVibGljIG1hcEZsYWdEZXRhaWxGb3JEaXNwbGF5KGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwsIGZsYWdzSW5zdGFuY2U6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGgsIG9yaWdpbmFsU3RhdHVzRnJvbUZHOiBzdHJpbmcsIG9yaWdpbmFsUGF0aFRvRmxhZzogc3RyaW5nKTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB7XG4gICAgLy8gUmVzZXQgdGhlIGZsYWcgc3RhdHVzIHdpdGggdGhlIG9yaWdpbmFsIHBlcnNpc3RlZCBzdGF0dXMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UgbmdPbkluaXQoKSBuZWVkcyB0byBmaWx0ZXJcbiAgICAvLyBvdXQgYW55IFwiSW5hY3RpdmVcIiBvciBcIk5vdCBhcHByb3ZlZFwiIGZsYWdzIGJhc2VkIG9uIHRoZWlyIHN0YXR1cyAqYmVmb3JlKiBtb2RpZmljYXRpb24uIElmIHRoZSB1c2VyIGNoYW5nZXMgYVxuICAgIC8vIGZsYWcncyBzdGF0dXMgdGhlbiBkZWNpZGVzIHRvIHJldHVybiB0byB0aGUgc3RhcnQgb2YgdGhlIGZsYWcgdXBkYXRlIGpvdXJuZXksIHRoZSBmbGFnJ3Mgc3RhdHVzIHdvdWxkIG5vXG4gICAgLy8gbG9uZ2VyIHJlZmxlY3QgaXRzIGFjdHVhbCAqcGVyc2lzdGVkKiBzdGF0dXNcbiAgICAvLyBBbHNvIHJlc2V0IGNvbW1lbnRzIGFuZCBkZXNjcmlwdGlvbiBmaWVsZHMgKGJvdGggRW5nbGlzaCBhbmQgV2Vsc2gpIHdpdGggdGhlIG9yaWdpbmFsIHBlcnNpc3RlZCBkYXRhLCB0byBhdm9pZFxuICAgIC8vIHRoZSBVSSBjYWNoaW5nIGFueSBjaGFuZ2VzIHRoYXQgdGhlIHVzZXIgbWlnaHQgbm90IHdhbnQgcGVyc2lzdGVkLCBpZiB0aGV5IHN0YXJ0IG92ZXIgYW5kIGRvbid0IGludGVuZCB0byBhZGRcbiAgICAvLyB0cmFuc2xhdGlvbnMgc3Vic2VxdWVudGx5XG4gICAgbGV0IG9yaWdpbmFsU3RhdHVzOiBzdHJpbmc7XG4gICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gZmxhZ3NJbnN0YW5jZS5jYXNlRmllbGQ/LmZvcm1hdHRlZF92YWx1ZTtcbiAgICAvLyBVc2UgdGhlIHBhdGhUb0ZsYWdzRm9ybUdyb3VwIHByb3BlcnR5IGZyb20gdGhlIHNlbGVjdGVkIGZsYWcgbG9jYXRpb24gdG8gZHJpbGwgZG93biB0byB0aGUgY29ycmVjdCBwYXJ0IG9mIHRoZVxuICAgIC8vIENhc2VGaWVsZCBmb3JtYXR0ZWRfdmFsdWUgZnJvbSB3aGljaCB0byBnZXQgdGhlIG9yaWdpbmFsIHBlcnNpc3RlZCBkYXRhXG4gICAgY29uc3QgcGF0aFRvVmFsdWUgPSBmbGFnc0luc3RhbmNlLnBhdGhUb0ZsYWdzRm9ybUdyb3VwO1xuICAgIC8vIFJvb3QtbGV2ZWwgRmxhZ3MgQ2FzZUZpZWxkcyBkb24ndCBoYXZlIGEgZG90LWRlbGltaXRlZCBwYXRoIC0ganVzdCB0aGUgQ2FzZUZpZWxkIElEIGl0c2VsZiAtIHNvIGRvbid0IGRyaWxsIGRvd25cbiAgICBpZiAocGF0aFRvVmFsdWUuaW5kZXhPZignLicpID4gLTEpIHtcbiAgICAgIHBhdGhUb1ZhbHVlLnNsaWNlKHBhdGhUb1ZhbHVlLmluZGV4T2YoJy4nKSArIDEpLnNwbGl0KCcuJykuZm9yRWFjaCgocGFydCkgPT4ge1xuICAgICAgICBpZiAoZm9ybWF0dGVkVmFsdWUgJiYgRmllbGRzVXRpbHMuaXNOb25FbXB0eU9iamVjdChmb3JtYXR0ZWRWYWx1ZSkpIHtcbiAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZSA9IGZvcm1hdHRlZFZhbHVlW3BhcnRdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGZvcm1hdHRlZFZhbHVlICYmIEZpZWxkc1V0aWxzLmlzTm9uRW1wdHlPYmplY3QoZm9ybWF0dGVkVmFsdWUpKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbEZsYWdEZXRhaWwgPSBmb3JtYXR0ZWRWYWx1ZS5kZXRhaWxzPy5maW5kKChkZXRhaWwpID0+IGRldGFpbC5pZCA9PT0gZmxhZ0RldGFpbC5pZCk7XG4gICAgICBjb25zdCBzdGF0dXNUb1VzZSA9IHRoaXMuZ2V0U3RhdHVzVG9Vc2UoZmxhZ3NJbnN0YW5jZSwgb3JpZ2luYWxQYXRoVG9GbGFnLCBvcmlnaW5hbFN0YXR1c0Zyb21GRywgb3JpZ2luYWxGbGFnRGV0YWlsKTtcbiAgICAgIGlmIChvcmlnaW5hbEZsYWdEZXRhaWwpIHtcbiAgICAgICAgb3JpZ2luYWxTdGF0dXMgPSBzdGF0dXNUb1VzZTtcbiAgICAgICAgZmxhZ0RldGFpbC5mbGFnQ29tbWVudCA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8uZmxhZ0NvbW1lbnQ7XG4gICAgICAgIGZsYWdEZXRhaWwuZmxhZ0NvbW1lbnRfY3kgPSBvcmlnaW5hbEZsYWdEZXRhaWwudmFsdWU/LmZsYWdDb21tZW50X2N5O1xuICAgICAgICBmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb24gPSBvcmlnaW5hbEZsYWdEZXRhaWwudmFsdWU/Lm90aGVyRGVzY3JpcHRpb247XG4gICAgICAgIGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbl9jeSA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8ub3RoZXJEZXNjcmlwdGlvbl9jeTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHJldHVybk9iaiA9IHtcbiAgICAgIGZsYWdEZXRhaWxEaXNwbGF5OiB7XG4gICAgICAgIHBhcnR5TmFtZTogZmxhZ3NJbnN0YW5jZS5mbGFncz8ucGFydHlOYW1lLFxuICAgICAgICBmbGFnRGV0YWlsLFxuICAgICAgICBmbGFnc0Nhc2VGaWVsZElkOiBmbGFnc0luc3RhbmNlLmNhc2VGaWVsZD8uaWQsXG4gICAgICAgIHZpc2liaWxpdHk6IGZsYWdzSW5zdGFuY2UuZmxhZ3M/LnZpc2liaWxpdHlcbiAgICAgIH0sXG4gICAgICBwYXRoVG9GbGFnc0Zvcm1Hcm91cDogZmxhZ3NJbnN0YW5jZS5wYXRoVG9GbGFnc0Zvcm1Hcm91cCxcbiAgICAgIGNhc2VGaWVsZDogZmxhZ3NJbnN0YW5jZS5jYXNlRmllbGQsXG4gICAgICByb2xlT25DYXNlOiBmbGFnc0luc3RhbmNlLmZsYWdzPy5yb2xlT25DYXNlLFxuICAgICAgb3JpZ2luYWxTdGF0dXNcbiAgICB9O1xuICAgIGlmIChvcmlnaW5hbFBhdGhUb0ZsYWcgPT09IGZsYWdEZXRhaWwuaWQpIHtcbiAgICAgIHJldHVybk9iaiA9IHsgLi4ucmV0dXJuT2JqLCBvcmlnaW5hbFN0YXR1cyB9O1xuICAgIH1cbiAgICByZXR1cm4gcmV0dXJuT2JqO1xuICB9XG5cbiAgcHVibGljIGdldFN0YXR1c1RvVXNlKGZsYWdzSW5zdGFuY2U6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGgsIG9yaWdpbmFsUGF0aFRvRmxhZzogc3RyaW5nLCBvcmlnaW5hbFN0YXR1c0Zyb21GRzogc3RyaW5nLCBvcmlnaW5hbEZsYWdEZXRhaWw6IENhc2VGaWVsZCk6IHN0cmluZ3tcbiAgICBsZXQgc3RhdHVzVG9Vc2UgPSAnJztcbiAgICBpZiAob3JpZ2luYWxGbGFnRGV0YWlsLmlkID09PSBvcmlnaW5hbFBhdGhUb0ZsYWcpIHtcbiAgICAgIGlmIChvcmlnaW5hbFN0YXR1c0Zyb21GRykge1xuICAgICAgICBzdGF0dXNUb1VzZSA9IG9yaWdpbmFsU3RhdHVzRnJvbUZHID09PSBvcmlnaW5hbEZsYWdEZXRhaWwudmFsdWU/LnN0YXR1cyA/IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8uc3RhdHVzIDogb3JpZ2luYWxTdGF0dXNGcm9tRkc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0dXNUb1VzZSA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8uc3RhdHVzO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0dXNUb1VzZSA9IG9yaWdpbmFsRmxhZ0RldGFpbC52YWx1ZT8uc3RhdHVzO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdHVzVG9Vc2U7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgc2VsZWN0aW9uXG4gICAgdGhpcy52YWxpZGF0ZVNlbGVjdGlvbigpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIGVycm9yIG1lc3NhZ2VzLCBhbmQgZmxhZyBzZWxlY3Rpb24gdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19NQU5BR0VfQ0FTRV9GTEFHUyxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIHNlbGVjdGVkRmxhZzogdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkudmFsdWVcbiAgICAgICAgPyB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZSBhcyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoXG4gICAgICAgIDogbnVsbFxuICAgIH0pO1xuXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICB9XG5cbiAgcHVibGljIHNldE1hbmFnZUNhc2VGbGFnVGl0bGUoZGlzcGxheUNvbnRleHRQYXJhbWV0ZXI6IHN0cmluZyk6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlIHtcbiAgICBzd2l0Y2ggKGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyKSB7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV8yX1BPSU5UXzE6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfQ0FTRV9GTEFHUztcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfU1VQUE9SVDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5OT05FO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTCA/XG4gICAgICAgIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTUFOQUdFX1NVUFBPUlRfRkxBR19OT1RfU0VMRUNURUQgOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLk1BTkFHRV9DQVNFX0ZMQUdTX0ZMQUdfTk9UX1NFTEVDVEVEO1xuICAgICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCdcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Ob0ZsYWdzRXJyb3IoKTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLm5vRmxhZ3NFcnJvciA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLk5PX0ZMQUdTLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnIH0pO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTUFOQUdFX0NBU0VfRkxBR1MsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXNcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMub25OZXh0KCk7XG4gICAgY29uc3QgY2FjaGVkQ29udHJvbCA9IHRoaXMuY2FjaGVkQ29udHJvbHM/Llt0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWVdO1xuICAgIGlmIChjYWNoZWRDb250cm9sICYmIHRoaXMuZ2V0RmxhZ0lEKGNhY2hlZENvbnRyb2wudmFsdWUpID09PSB0aGlzLmdldEZsYWdJRCh0aGlzLmZvcm1Hcm91cC52YWx1ZVt0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWVdKSkge1xuICAgICAgdGhpcy5yZWFwcGx5Q2FjaGVkQ29udHJvbHMoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc3VwZXIubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWFwcGx5Q2FjaGVkQ29udHJvbHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FjaGVkQ29udHJvbHMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuY2FjaGVkQ29udHJvbHMpLmZvckVhY2goKGNvbnRyb2xOYW1lKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtR3JvdXAuY29udGFpbnMoY29udHJvbE5hbWUpKSB7XG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChjb250cm9sTmFtZSwgdGhpcy5jYWNoZWRDb250cm9sc1tjb250cm9sTmFtZV0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwibWFuYWdlLWNhc2UtZmxhZy1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tXCI+XG4gICAgICAgIDxoMSBpZD1cIm1hbmFnZS1jYXNlLWZsYWctaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7e21hbmFnZUNhc2VGbGFnVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2gxPlxuICAgICAgPC9sZWdlbmQ+XG4gICAgICA8ZGl2IGlkPVwibWFuYWdlLWNhc2UtZmxhZy1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwibWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3ttYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ0Rpc3BsYXkgb2YgZmxhZ3NEaXNwbGF5RGF0YTsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImZsYWctc2VsZWN0aW9uLXt7aX19XCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKGZsYWdEaXNwbGF5KVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uRmxhZ1NlbGVjdGlvbkNoYW5nZShmbGFnRGlzcGxheSlcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW2lubmVySHRtbF09XCJmbGFnRGlzcGxheSB8IG1hbmFnZUNhc2VGbGFnc0xhYmVsRGlzcGxheVwiPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -242,7 +242,7 @@ export class SearchLanguageInterpreterComponent extends AbstractJourneyComponent
242
242
  super.next();
243
243
  }
244
244
  }
245
- static ɵfac = function SearchLanguageInterpreterComponent_Factory(t) { return new (t || SearchLanguageInterpreterComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService), i0.ɵɵdirectiveInject(i2.MultipageComponentStateService)); };
245
+ static ɵfac = function SearchLanguageInterpreterComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchLanguageInterpreterComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService), i0.ɵɵdirectiveInject(i2.MultipageComponentStateService)); };
246
246
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLanguageInterpreterComponent, selectors: [["ccd-search-language-interpreter"]], inputs: { formGroup: "formGroup", flagType: "flagType" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 25, vars: 25, consts: [["autoSearchLanguage", "matAutocomplete"], [3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], ["id", "language-search-box-hint", 1, "govuk-hint"], [1, "auto-complete-container"], ["id", "language-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-entered-in-both-fields-error-message", "class", "govuk-error-message", 4, "ngIf"], ["aria-label", "Language search box", "matInput", "", "type", "text", 1, "govuk-input", "search-language__input", 3, "formControlName", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend", 3, "displayWith"], [3, "value", 4, "ngFor", "ngForOf"], ["disabled", "", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes", "govuk-checkboxes--small", "govuk-checkboxes--conditional"], [1, "govuk-radios__item"], ["id", "enter-language-manually", "name", "enter-language-manually", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change"], ["for", "enter-language-manually", 1, "govuk-label", "govuk-checkboxes__label"], ["class", "govuk-radios__conditional", 4, "ngIf"], ["id", "language-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "language-entered-in-both-fields-error-message", 1, "govuk-error-message"], [3, "value"], ["disabled", ""], [1, "govuk-radios__conditional"], ["for", "manual-language-entry", 1, "govuk-label"], ["id", "language-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-char-limit-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "manual-language-entry", "type", "text", 1, "govuk-input", "govuk-input--width-20", 3, "name", "formControlName"], ["id", "language-not-entered-error-message", 1, "govuk-error-message"], ["id", "language-char-limit-error-message", 1, "govuk-error-message"]], template: function SearchLanguageInterpreterComponent_Template(rf, ctx) { if (rf & 1) {
247
247
  const _r1 = i0.ɵɵgetCurrentView();
248
248
  i0.ɵɵelementContainerStart(0, 1);
@@ -312,4 +312,4 @@ export class SearchLanguageInterpreterComponent extends AbstractJourneyComponent
312
312
  type: Output
313
313
  }] }); })();
314
314
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchLanguageInterpreterComponent, { className: "SearchLanguageInterpreterComponent", filePath: "lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.ts", lineNumber: 20 }); })();
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFDQUFxQyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFx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O1lBRXNDLGVBQXVCO1lBQXZCLDRDQUF1Qjs7O2lGRGxCeEQsa0NBQWtDO2NBTDlDLFNBQVM7MkJBQ0UsaUNBQWlDO21HQVdwQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLE1BQU07O2tGQVpJLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBKb3VybmV5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlLCBMYW5ndWFnZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ0ZpZWxkU3RhdGUsIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UsIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcyB9IGZyb20gJy4vc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLWNvbnRyb2wtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlc1wiO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSm91cm5leSB7XG4gIHB1YmxpYyBnZXQgc2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAoKTogdHlwZW9mIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwIHtcbiAgICByZXR1cm4gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXA7XG4gIH1cbiAgcHVibGljIHJlYWRvbmx5IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmxhZ1R5cGU6IEZsYWdUeXBlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDM7XG4gIHB1YmxpYyBmaWx0ZXJlZExhbmd1YWdlcyQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VbXT47XG4gIHB1YmxpYyBzZWFyY2hUZXJtID0gJyc7XG4gIHB1YmxpYyBpc0NoZWNrYm94RW5hYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgc2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckhpbnQ6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgbGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgbm9SZXN1bHRzID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VNYXhDaGFyTGltaXQgPSA4MDtcbiAgcHJpdmF0ZSByZWFkb25seSBzaWduTGFuZ3VhZ2VGbGFnQ29kZSA9ICdSQTAwNDInO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcnB4VHJhbnNsYXRpb25TZXJ2aWNlOiBScHhUcmFuc2xhdGlvblNlcnZpY2UsIFxuICAgIG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZTogTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlKSB7IFxuICAgIHN1cGVyKG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hMYW5ndWFnZUludGVycHJldGVySGludCA9IHRoaXMuZmxhZ1R5cGUuZmxhZ0NvZGUgPT09IHRoaXMuc2lnbkxhbmd1YWdlRmxhZ0NvZGVcbiAgICAgID8gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuU0lHTl9ISU5UX1RFWFRcbiAgICAgIDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuSElOVF9URVhUO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlksIG5ldyBGb3JtQ29udHJvbCgpKTtcbiAgICB0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbk1haW5PYmplY3QoKS5qb3VybmV5UGFnZU51bWJlciA9IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0xBTkdVQUdFX0lOVEVSUFJFVEVSO1xuICAgIHRoaXMuZmlsdGVyZWRMYW5ndWFnZXMkID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk0pLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgLy8gTmVlZCB0byBjaGVjayB0eXBlIG9mIGlucHV0IGJlY2F1c2UgaXQgY2hhbmdlcyB0byBvYmplY3QgKGkuZS4gTGFuZ3VhZ2UpIHdoZW4gYSB2YWx1ZSBpcyBzZWxlY3RlZCBmcm9tIHRoZVxuICAgICAgLy8gYXV0b2NvbXBsZXRlIHBhbmVsLCBpbnN0ZWFkIG9mIHN0cmluZyB3aGVuIGEgdmFsdWUgaXMgYmVpbmcgdHlwZWQgaW5cbiAgICAgIG1hcChpbnB1dCA9PiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnID8gaW5wdXQgOiBpbnB1dC52YWx1ZSksXG4gICAgICBtYXAoc2VhcmNoVGVybSA9PiB7XG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgY3VycmVudCBzZWFyY2ggdGVybVxuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtO1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJMYW5ndWFnZXMoc2VhcmNoVGVybSk7XG4gICAgICB9KSxcbiAgICAgIHRhcChsYW5ndWFnZXMgPT4gdGhpcy5ub1Jlc3VsdHMgPSBsYW5ndWFnZXMubGVuZ3RoID09PSAwKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGxhbmd1YWdlIGludGVycHJldGVyIGVudHJ5XG4gICAgdGhpcy52YWxpZGF0ZUxhbmd1YWdlRW50cnkoKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0xBTkdVQUdFX0lOVEVSUFJFVEVSLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25FbnRlckxhbmd1YWdlTWFudWFsbHkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcblxuICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZCwgaS5lLiB1bmNoZWNrZWQsIHRoZW4gY2xlYXIgdGhlIG1hbnVhbCBsYW5ndWFnZSBlbnRyeSBGb3JtQ29udHJvbCBvZiBhbnkgdmFsdWUgdG9cbiAgICAvLyBwcmV2ZW50IGl0IGJlaW5nIHJldGFpbmVkIGV2ZW4gd2hlbiB0aGUgZmllbGQgaXRzZWxmIGlzIGhpZGRlblxuICAgIGlmICghdGhpcy5pc0NoZWNrYm94RW5hYmxlZCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZKS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheUxhbmd1YWdlKGxhbmd1YWdlPzogTGFuZ3VhZ2UpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBsYW5ndWFnZSA/IGxhbmd1YWdlLnZhbHVlIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUxhbmd1YWdlRW50cnkoKTogdm9pZCB7XG4gICAgdGhpcy5sYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIC8vIENoZWNrYm94IG5vdCBlbmFibGVkIG1lYW5zIHRoZSB1c2VyIGhhcyBvcHRlZCB0byBzZWFyY2ggZm9yIGFuZCBzZWxlY3QgdGhlIGxhbmd1YWdlXG4gICAgaWYgKCF0aGlzLmlzQ2hlY2tib3hFbmFibGVkICYmICF0aGlzLmZvcm1Hcm91cC5nZXQoU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTSkudmFsdWUpIHtcbiAgICAgIHRoaXMubGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQsXG4gICAgICAgIGZpZWxkSWQ6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1cbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBDaGVja2JveCBlbmFibGVkIG1lYW5zIHRoZSB1c2VyIGhhcyBvcHRlZCB0byBlbnRlciB0aGUgbGFuZ3VhZ2UgbWFudWFsbHlcbiAgICBpZiAodGhpcy5pc0NoZWNrYm94RW5hYmxlZCkge1xuICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5nZXQoU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlkpLnZhbHVlKSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfRU5URVJFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfRU5URVJFRCxcbiAgICAgICAgICBmaWVsZElkOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZKS52YWx1ZS5sZW5ndGggPiB0aGlzLmxhbmd1YWdlTWF4Q2hhckxpbWl0KSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgICBmaWVsZElkOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk0pLnZhbHVlKSB7XG4gICAgICAgIC8vIExhbmd1YWdlIGVudHJ5IGlzIHBlcm1pdHRlZCBpbiBvbmx5IG9uZSBmaWVsZCBhdCBhIHRpbWVcbiAgICAgICAgdGhpcy5sYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0VOVEVSRURfSU5fQk9USF9GSUVMRFM7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfRU5URVJFRF9JTl9CT1RIX0ZJRUxEUyxcbiAgICAgICAgICBmaWVsZElkOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyTGFuZ3VhZ2VzKHNlYXJjaFRlcm06IHN0cmluZyk6IExhbmd1YWdlW10ge1xuICAgIGlmIChzZWFyY2hUZXJtLmxlbmd0aCA8IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZsYWdUeXBlLmxpc3RPZlZhbHVlc1xuICAgICAgPyB0aGlzLmZsYWdUeXBlLmxpc3RPZlZhbHVlcy5maWx0ZXIobGFuZ3VhZ2UgPT5cbiAgICAgICAgLy8gSWYgYSBsYW5ndWFnZSBoYXMgYm90aCBFbmdsaXNoIGFuZCBXZWxzaCB2YWx1ZXMsIG1hdGNoIG9ubHkgb24gdGhlIHZhbHVlIGFwcHJvcHJpYXRlIGZvciB0aGUgcGFnZSBsYW5ndWFnZSxcbiAgICAgICAgLy8gaS5lLiBpZiBScHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgaXMgJ2N5JyB0aGVuIG1hdGNoIG9uIHRoZSB2YWx1ZV9jeSBwcm9wZXJ0eSBvbmx5LiBUaGlzIGlzIHRvIHByZXZlbnRcbiAgICAgICAgLy8gY3Jvc3MtbWF0Y2hlcywgd2hlcmUgYSB1c2VyIGVudGVycyBhIHNlYXJjaCB0ZXJtIGluIEVuZ2xpc2ggYW5kIHNlZXMgdGhlIGNvcnJlc3BvbmRpbmcgV2Vsc2ggdmFsdWUgKGJlY2F1c2VcbiAgICAgICAgLy8gdGhlIHBhZ2UgbGFuZ3VhZ2UgaXMgV2Vsc2gpIGFuZCB2aWNlIHZlcnNhXG4gICAgICAgIHRoaXMucnB4VHJhbnNsYXRpb25TZXJ2aWNlLmxhbmd1YWdlID09PSAnY3knICYmIGxhbmd1YWdlLnZhbHVlICYmIGxhbmd1YWdlLnZhbHVlX2N5ICYmXG4gICAgICAgIGxhbmd1YWdlLnZhbHVlX2N5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCAwKSB8fFxuICAgICAgICB0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSAhPT0gJ2N5JyAmJiBsYW5ndWFnZS52YWx1ZSAmJiBsYW5ndWFnZS52YWx1ZV9jeSAmJlxuICAgICAgICBsYW5ndWFnZS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSwgMCkgfHxcbiAgICAgICAgIWxhbmd1YWdlLnZhbHVlX2N5ICYmIGxhbmd1YWdlLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCAwKSB8fFxuICAgICAgICAhbGFuZ3VhZ2UudmFsdWUgJiYgbGFuZ3VhZ2UudmFsdWVfY3kudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCksIDApKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMub25OZXh0KCk7XG5cbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc3VwZXIubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgfHwgbGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlfVwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1tXCIgW2Zvcl09XCJTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXCI+XG4gICAgICAgIHt7ZmxhZ1R5cGUgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319XG4gICAgICA8L2xhYmVsPlxuICAgIDwvaDE+XG4gICAgPGRpdiBpZD1cImxhbmd1YWdlLXNlYXJjaC1ib3gtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAge3tzZWFyY2hMYW5ndWFnZUludGVycHJldGVySGludCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF1dG8tY29tcGxldGUtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGlkPVwibGFuZ3VhZ2Utbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7bGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1lbnRlcmVkLWluLWJvdGgtZmllbGRzLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tsYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXQgYXJpYS1sYWJlbD1cIkxhbmd1YWdlIHNlYXJjaCBib3hcIiBtYXRJbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cIlNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1cIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9TZWFyY2hMYW5ndWFnZVwiXG4gICAgICAgIGNsYXNzPVwiZ292dWstaW5wdXQgc2VhcmNoLWxhbmd1YWdlX19pbnB1dFwiIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICA8bWF0LWF1dG9jb21wbGV0ZSBjbGFzcz1cIm1hdC1hdXRvY29tcGxldGUtcGFuZWwtZXh0ZW5kXCIgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvU2VhcmNoTGFuZ3VhZ2U9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUxhbmd1YWdlXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBmaWx0ZXJlZExhbmd1YWdlcyQgfCBhc3luY1wiIFt2YWx1ZV09XCJsYW5ndWFnZVwiPlxuICAgICAgICAgIHt7bGFuZ3VhZ2UgfCBsYW5ndWFnZUludGVycHJldGVyRGlzcGxheX19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJub1Jlc3VsdHMgJiYgc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+PSBtaW5TZWFyY2hDaGFyYWN0ZXJzXCIgZGlzYWJsZWQ+e3snTm8gcmVzdWx0cyBmb3VuZCcgfCBycHhUcmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlcyBnb3Z1ay1jaGVja2JveGVzLS1zbWFsbCBnb3Z1ay1jaGVja2JveGVzLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwiZW50ZXItbGFuZ3VhZ2UtbWFudWFsbHlcIiBuYW1lPVwiZW50ZXItbGFuZ3VhZ2UtbWFudWFsbHlcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25FbnRlckxhbmd1YWdlTWFudWFsbHkoJGV2ZW50KVwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cImVudGVyLWxhbmd1YWdlLW1hbnVhbGx5XCI+XG4gICAgICAgICAge3tzZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcC5DSEVDS0JPWF9MQUJFTCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8fCBsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSB9XCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBmb3I9XCJtYW51YWwtbGFuZ3VhZ2UtZW50cnlcIj57e3NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwLklOUFVUX0xBQkVMIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwibGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tsYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1jaGFyLWxpbWl0LWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7bGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yMFwiIGlkPVwibWFudWFsLWxhbmd1YWdlLWVudHJ5XCIgW25hbWVdPVwiU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUllcIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFDQUFxQyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFx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O1lBRXNDLGVBQXVCO1lBQXZCLDRDQUF1Qjs7O2lGRGxCeEQsa0NBQWtDO2NBTDlDLFNBQVM7MkJBQ0UsaUNBQWlDO21HQVdwQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLE1BQU07O2tGQVpJLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBKb3VybmV5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlLCBMYW5ndWFnZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ0ZpZWxkU3RhdGUsIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UsIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcyB9IGZyb20gJy4vc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLWNvbnRyb2wtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlc1wiO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSm91cm5leSB7XG4gIHB1YmxpYyBnZXQgc2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAoKTogdHlwZW9mIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwIHtcbiAgICByZXR1cm4gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXA7XG4gIH1cbiAgcHVibGljIHJlYWRvbmx5IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmxhZ1R5cGU6IEZsYWdUeXBlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDM7XG4gIHB1YmxpYyBmaWx0ZXJlZExhbmd1YWdlcyQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VbXT47XG4gIHB1YmxpYyBzZWFyY2hUZXJtID0gJyc7XG4gIHB1YmxpYyBpc0NoZWNrYm94RW5hYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgc2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckhpbnQ6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgbGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgbm9SZXN1bHRzID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VNYXhDaGFyTGltaXQgPSA4MDtcbiAgcHJpdmF0ZSByZWFkb25seSBzaWduTGFuZ3VhZ2VGbGFnQ29kZSA9ICdSQTAwNDInO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcnB4VHJhbnNsYXRpb25TZXJ2aWNlOiBScHhUcmFuc2xhdGlvblNlcnZpY2UsIFxuICAgIG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZTogTXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlKSB7IFxuICAgIHN1cGVyKG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hMYW5ndWFnZUludGVycHJldGVySGludCA9IHRoaXMuZmxhZ1R5cGUuZmxhZ0NvZGUgPT09IHRoaXMuc2lnbkxhbmd1YWdlRmxhZ0NvZGVcbiAgICAgID8gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuU0lHTl9ISU5UX1RFWFRcbiAgICAgIDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuSElOVF9URVhUO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlksIG5ldyBGb3JtQ29udHJvbCgpKTtcbiAgICB0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbk1haW5PYmplY3QoKS5qb3VybmV5UGFnZU51bWJlciA9IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0xBTkdVQUdFX0lOVEVSUFJFVEVSO1xuICAgIHRoaXMuZmlsdGVyZWRMYW5ndWFnZXMkID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk0pLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgLy8gTmVlZCB0byBjaGVjayB0eXBlIG9mIGlucHV0IGJlY2F1c2UgaXQgY2hhbmdlcyB0byBvYmplY3QgKGkuZS4gTGFuZ3VhZ2UpIHdoZW4gYSB2YWx1ZSBpcyBzZWxlY3RlZCBmcm9tIHRoZVxuICAgICAgLy8gYXV0b2NvbXBsZXRlIHBhbmVsLCBpbnN0ZWFkIG9mIHN0cmluZyB3aGVuIGEgdmFsdWUgaXMgYmVpbmcgdHlwZWQgaW5cbiAgICAgIG1hcChpbnB1dCA9PiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnID8gaW5wdXQgOiBpbnB1dC52YWx1ZSksXG4gICAgICBtYXAoc2VhcmNoVGVybSA9PiB7XG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgY3VycmVudCBzZWFyY2ggdGVybVxuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtO1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJMYW5ndWFnZXMoc2VhcmNoVGVybSk7XG4gICAgICB9KSxcbiAgICAgIHRhcChsYW5ndWFnZXMgPT4gdGhpcy5ub1Jlc3VsdHMgPSBsYW5ndWFnZXMubGVuZ3RoID09PSAwKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGxhbmd1YWdlIGludGVycHJldGVyIGVudHJ5XG4gICAgdGhpcy52YWxpZGF0ZUxhbmd1YWdlRW50cnkoKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0xBTkdVQUdFX0lOVEVSUFJFVEVSLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25FbnRlckxhbmd1YWdlTWFudWFsbHkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcblxuICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZCwgaS5lLiB1bmNoZWNrZWQsIHRoZW4gY2xlYXIgdGhlIG1hbnVhbCBsYW5ndWFnZSBlbnRyeSBGb3JtQ29udHJvbCBvZiBhbnkgdmFsdWUgdG9cbiAgICAvLyBwcmV2ZW50IGl0IGJlaW5nIHJldGFpbmVkIGV2ZW4gd2hlbiB0aGUgZmllbGQgaXRzZWxmIGlzIGhpZGRlblxuICAgIGlmICghdGhpcy5pc0NoZWNrYm94RW5hYmxlZCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZKS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheUxhbmd1YWdlKGxhbmd1YWdlPzogTGFuZ3VhZ2UpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBsYW5ndWFnZSA/IGxhbmd1YWdlLnZhbHVlIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUxhbmd1YWdlRW50cnkoKTogdm9pZCB7XG4gICAgdGhpcy5sYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIC8vIENoZWNrYm94IG5vdCBlbmFibGVkIG1lYW5zIHRoZSB1c2VyIGhhcyBvcHRlZCB0byBzZWFyY2ggZm9yIGFuZCBzZWxlY3QgdGhlIGxhbmd1YWdlXG4gICAgaWYgKCF0aGlzLmlzQ2hlY2tib3hFbmFibGVkICYmICF0aGlzLmZvcm1Hcm91cC5nZXQoU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTSkudmFsdWUpIHtcbiAgICAgIHRoaXMubGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQsXG4gICAgICAgIGZpZWxkSWQ6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1cbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBDaGVja2JveCBlbmFibGVkIG1lYW5zIHRoZSB1c2VyIGhhcyBvcHRlZCB0byBlbnRlciB0aGUgbGFuZ3VhZ2UgbWFudWFsbHlcbiAgICBpZiAodGhpcy5pc0NoZWNrYm94RW5hYmxlZCkge1xuICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5nZXQoU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlkpLnZhbHVlKSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfRU5URVJFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfRU5URVJFRCxcbiAgICAgICAgICBmaWVsZElkOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZKS52YWx1ZS5sZW5ndGggPiB0aGlzLmxhbmd1YWdlTWF4Q2hhckxpbWl0KSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgICBmaWVsZElkOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk0pLnZhbHVlKSB7XG4gICAgICAgIC8vIExhbmd1YWdlIGVudHJ5IGlzIHBlcm1pdHRlZCBpbiBvbmx5IG9uZSBmaWVsZCBhdCBhIHRpbWVcbiAgICAgICAgdGhpcy5sYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0VOVEVSRURfSU5fQk9USF9GSUVMRFM7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfRU5URVJFRF9JTl9CT1RIX0ZJRUxEUyxcbiAgICAgICAgICBmaWVsZElkOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyTGFuZ3VhZ2VzKHNlYXJjaFRlcm06IHN0cmluZyk6IExhbmd1YWdlW10ge1xuICAgIGlmIChzZWFyY2hUZXJtLmxlbmd0aCA8IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZsYWdUeXBlLmxpc3RPZlZhbHVlc1xuICAgICAgPyB0aGlzLmZsYWdUeXBlLmxpc3RPZlZhbHVlcy5maWx0ZXIobGFuZ3VhZ2UgPT5cbiAgICAgICAgLy8gSWYgYSBsYW5ndWFnZSBoYXMgYm90aCBFbmdsaXNoIGFuZCBXZWxzaCB2YWx1ZXMsIG1hdGNoIG9ubHkgb24gdGhlIHZhbHVlIGFwcHJvcHJpYXRlIGZvciB0aGUgcGFnZSBsYW5ndWFnZSxcbiAgICAgICAgLy8gaS5lLiBpZiBScHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgaXMgJ2N5JyB0aGVuIG1hdGNoIG9uIHRoZSB2YWx1ZV9jeSBwcm9wZXJ0eSBvbmx5LiBUaGlzIGlzIHRvIHByZXZlbnRcbiAgICAgICAgLy8gY3Jvc3MtbWF0Y2hlcywgd2hlcmUgYSB1c2VyIGVudGVycyBhIHNlYXJjaCB0ZXJtIGluIEVuZ2xpc2ggYW5kIHNlZXMgdGhlIGNvcnJlc3BvbmRpbmcgV2Vsc2ggdmFsdWUgKGJlY2F1c2VcbiAgICAgICAgLy8gdGhlIHBhZ2UgbGFuZ3VhZ2UgaXMgV2Vsc2gpIGFuZCB2aWNlIHZlcnNhXG4gICAgICAgIHRoaXMucnB4VHJhbnNsYXRpb25TZXJ2aWNlLmxhbmd1YWdlID09PSAnY3knICYmIGxhbmd1YWdlLnZhbHVlICYmIGxhbmd1YWdlLnZhbHVlX2N5ICYmXG4gICAgICAgIGxhbmd1YWdlLnZhbHVlX2N5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCAwKSB8fFxuICAgICAgICB0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSAhPT0gJ2N5JyAmJiBsYW5ndWFnZS52YWx1ZSAmJiBsYW5ndWFnZS52YWx1ZV9jeSAmJlxuICAgICAgICBsYW5ndWFnZS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSwgMCkgfHxcbiAgICAgICAgIWxhbmd1YWdlLnZhbHVlX2N5ICYmIGxhbmd1YWdlLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCAwKSB8fFxuICAgICAgICAhbGFuZ3VhZ2UudmFsdWUgJiYgbGFuZ3VhZ2UudmFsdWVfY3kudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCksIDApKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMub25OZXh0KCk7XG5cbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc3VwZXIubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgfHwgbGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlfVwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1tXCIgW2Zvcl09XCJTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNXCI+XG4gICAgICAgIHt7ZmxhZ1R5cGUgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319XG4gICAgICA8L2xhYmVsPlxuICAgIDwvaDE+XG4gICAgPGRpdiBpZD1cImxhbmd1YWdlLXNlYXJjaC1ib3gtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAge3tzZWFyY2hMYW5ndWFnZUludGVycHJldGVySGludCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF1dG8tY29tcGxldGUtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGlkPVwibGFuZ3VhZ2Utbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7bGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1lbnRlcmVkLWluLWJvdGgtZmllbGRzLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tsYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXQgYXJpYS1sYWJlbD1cIkxhbmd1YWdlIHNlYXJjaCBib3hcIiBtYXRJbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cIlNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1cIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9TZWFyY2hMYW5ndWFnZVwiXG4gICAgICAgIGNsYXNzPVwiZ292dWstaW5wdXQgc2VhcmNoLWxhbmd1YWdlX19pbnB1dFwiIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICA8bWF0LWF1dG9jb21wbGV0ZSBjbGFzcz1cIm1hdC1hdXRvY29tcGxldGUtcGFuZWwtZXh0ZW5kXCIgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvU2VhcmNoTGFuZ3VhZ2U9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUxhbmd1YWdlXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBmaWx0ZXJlZExhbmd1YWdlcyQgfCBhc3luY1wiIFt2YWx1ZV09XCJsYW5ndWFnZVwiPlxuICAgICAgICAgIHt7bGFuZ3VhZ2UgfCBsYW5ndWFnZUludGVycHJldGVyRGlzcGxheX19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJub1Jlc3VsdHMgJiYgc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+PSBtaW5TZWFyY2hDaGFyYWN0ZXJzXCIgZGlzYWJsZWQ+e3snTm8gcmVzdWx0cyBmb3VuZCcgfCBycHhUcmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlcyBnb3Z1ay1jaGVja2JveGVzLS1zbWFsbCBnb3Z1ay1jaGVja2JveGVzLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwiZW50ZXItbGFuZ3VhZ2UtbWFudWFsbHlcIiBuYW1lPVwiZW50ZXItbGFuZ3VhZ2UtbWFudWFsbHlcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25FbnRlckxhbmd1YWdlTWFudWFsbHkoJGV2ZW50KVwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cImVudGVyLWxhbmd1YWdlLW1hbnVhbGx5XCI+XG4gICAgICAgICAge3tzZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcC5DSEVDS0JPWF9MQUJFTCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8fCBsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSB9XCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBmb3I9XCJtYW51YWwtbGFuZ3VhZ2UtZW50cnlcIj57e3NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwLklOUFVUX0xBQkVMIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwibGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tsYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1jaGFyLWxpbWl0LWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7bGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yMFwiIGlkPVwibWFudWFsLWxhbmd1YWdlLWVudHJ5XCIgW25hbWVdPVwiU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUllcIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=