@hmcts/ccd-case-ui-toolkit 6.19.7 → 6.19.9

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 (304) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +4295 -8756
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-editor/case-edit/case-edit.component.js +6 -3
  6. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +1 -1
  7. package/esm2015/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.js +1 -1
  8. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +2 -2
  9. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +2 -2
  10. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +21 -17
  11. package/esm2015/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.js +3 -2
  12. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +2 -2
  13. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +2 -2
  14. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +1 -6
  15. package/esm2015/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.js +26 -14
  16. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +10 -5
  17. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +41 -53
  18. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +2 -5
  19. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +1 -1
  20. package/esm2015/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.js +30 -59
  21. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +42 -244
  22. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +73 -144
  23. package/esm2015/lib/shared/components/palette/case-flag/components/index.js +1 -4
  24. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +73 -38
  25. package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.js +101 -133
  26. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +7 -15
  27. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +112 -207
  28. package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.js +97 -308
  29. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag-state.model.js +1 -1
  30. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
  31. package/esm2015/lib/shared/components/palette/case-flag/domain/language.model.js +1 -1
  32. package/esm2015/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.js +1 -2
  33. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.js +2 -3
  34. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.js +3 -8
  35. package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +2 -8
  36. package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.js +2 -3
  37. package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.js +1 -2
  38. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.js +1 -3
  39. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.js +2 -4
  40. package/esm2015/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.js +7 -10
  41. package/esm2015/lib/shared/components/palette/case-flag/index.js +1 -2
  42. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +50 -149
  43. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +163 -345
  44. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +33 -31
  45. package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +4 -3
  46. package/esm2015/lib/shared/components/palette/index.js +1 -3
  47. package/esm2015/lib/shared/components/palette/markdown/index.js +1 -2
  48. package/esm2015/lib/shared/components/palette/palette.module.js +50 -147
  49. package/esm2015/lib/shared/components/palette/palette.service.js +2 -4
  50. package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +1 -1
  51. package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +5 -7
  52. package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +4 -5
  53. package/esm2015/lib/shared/directives/conditional-show/services/condition-parser.service.js +2 -2
  54. package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +2 -17
  55. package/esm2015/lib/shared/domain/case-view/case-view-trigger.model.js +2 -1
  56. package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +1 -3
  57. package/esm2015/lib/shared/fixture/shared.test.fixture.js +1 -2
  58. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +10 -3
  59. package/esm2015/lib/shared/pipes/index.js +2 -3
  60. package/esm2015/lib/shared/pipes/pipes.module.js +5 -9
  61. package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +3 -9
  62. package/esm2015/lib/shared/services/fields/fields.utils.js +2 -4
  63. package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +1 -2
  64. package/esm2015/lib/shared/services/request/request.options.builder.js +1 -7
  65. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +2204 -6168
  66. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  67. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  68. package/lib/shared/components/case-editor/case-editor.module.d.ts +20 -17
  69. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  70. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
  71. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
  72. package/lib/shared/components/case-editor/services/cases.service.d.ts +0 -1
  73. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  74. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts +7 -1
  75. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts.map +1 -1
  76. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  77. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -3
  78. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  79. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +4 -4
  80. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  81. package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
  82. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +3 -3
  83. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  84. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +5 -20
  85. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
  86. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +1 -2
  87. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts.map +1 -1
  88. package/lib/shared/components/palette/case-flag/components/index.d.ts +0 -3
  89. package/lib/shared/components/palette/case-flag/components/index.d.ts.map +1 -1
  90. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +8 -4
  91. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  92. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +8 -10
  93. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  94. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +1 -2
  95. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  96. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +9 -15
  97. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  98. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +9 -19
  99. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  100. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +10 -1
  101. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
  102. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +0 -8
  103. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  104. package/lib/shared/components/palette/case-flag/domain/language.model.d.ts +0 -1
  105. package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
  106. package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts +1 -2
  107. package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts.map +1 -1
  108. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +1 -2
  109. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
  110. package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts +3 -8
  111. package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts.map +1 -1
  112. package/lib/shared/components/palette/case-flag/enums/index.d.ts +1 -7
  113. package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
  114. package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts +1 -2
  115. package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts.map +1 -1
  116. package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts +0 -1
  117. package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts.map +1 -1
  118. package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +1 -3
  119. package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts.map +1 -1
  120. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +2 -4
  121. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
  122. package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts +4 -7
  123. package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts.map +1 -1
  124. package/lib/shared/components/palette/case-flag/index.d.ts +0 -1
  125. package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
  126. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +8 -12
  127. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  128. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +26 -49
  129. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  130. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +2 -3
  131. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  132. package/lib/shared/components/palette/index.d.ts +0 -2
  133. package/lib/shared/components/palette/index.d.ts.map +1 -1
  134. package/lib/shared/components/palette/markdown/index.d.ts +0 -1
  135. package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
  136. package/lib/shared/components/palette/palette.module.d.ts +118 -140
  137. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  138. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  139. package/lib/shared/domain/case-flag/flag-type.model.d.ts +1 -6
  140. package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
  141. package/lib/shared/domain/case-view/case-view-trigger.model.d.ts +1 -0
  142. package/lib/shared/domain/case-view/case-view-trigger.model.d.ts.map +1 -1
  143. package/lib/shared/domain/definition/display-context-enum.model.d.ts +1 -3
  144. package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
  145. package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
  146. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts +1 -1
  147. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  148. package/lib/shared/pipes/index.d.ts +1 -2
  149. package/lib/shared/pipes/index.d.ts.map +1 -1
  150. package/lib/shared/pipes/pipes.module.d.ts +2 -3
  151. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  152. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +2 -3
  153. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
  154. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  155. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  156. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  157. package/package.json +1 -1
  158. package/esm2015/lib/shared/components/case-editor/services/case-flag-state.service.js +0 -19
  159. package/esm2015/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.js +0 -181
  160. package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.js +0 -6
  161. package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.js +0 -292
  162. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.js +0 -9
  163. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.js +0 -13
  164. package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.js +0 -6
  165. package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.js +0 -6
  166. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.js +0 -6
  167. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.js +0 -6
  168. package/esm2015/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.js +0 -41
  169. package/esm2015/lib/shared/components/palette/case-flag/pipes/index.js +0 -5
  170. package/esm2015/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.js +0 -41
  171. package/esm2015/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.js +0 -109
  172. package/esm2015/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.js +0 -77
  173. package/esm2015/lib/shared/components/palette/markdown/markdown-component.module.js +0 -42
  174. package/esm2015/lib/shared/components/palette/query-management/__mocks__/index.js +0 -210
  175. package/esm2015/lib/shared/components/palette/query-management/components/index.js +0 -13
  176. package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.js +0 -45
  177. package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.js +0 -111
  178. package/esm2015/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.js +0 -69
  179. package/esm2015/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.js +0 -64
  180. package/esm2015/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.js +0 -316
  181. package/esm2015/lib/shared/components/palette/query-management/components/query-details/query-details.component.js +0 -344
  182. package/esm2015/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.js +0 -25
  183. package/esm2015/lib/shared/components/palette/query-management/components/query-list/query-list.component.js +0 -181
  184. package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.js +0 -78
  185. package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.js +0 -125
  186. package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.js +0 -239
  187. package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.js +0 -120
  188. package/esm2015/lib/shared/components/palette/query-management/enums/index.js +0 -6
  189. package/esm2015/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.js +0 -5
  190. package/esm2015/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.js +0 -6
  191. package/esm2015/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.js +0 -10
  192. package/esm2015/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.js +0 -6
  193. package/esm2015/lib/shared/components/palette/query-management/index.js +0 -7
  194. package/esm2015/lib/shared/components/palette/query-management/models/case-queries-collection.model.js +0 -2
  195. package/esm2015/lib/shared/components/palette/query-management/models/index.js +0 -8
  196. package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.js +0 -2
  197. package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.js +0 -2
  198. package/esm2015/lib/shared/components/palette/query-management/models/query-create-context.enum.js +0 -9
  199. package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.js +0 -2
  200. package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.js +0 -18
  201. package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.js +0 -41
  202. package/esm2015/lib/shared/components/palette/query-management/read-query-management-field.component.js +0 -136
  203. package/esm2015/lib/shared/components/palette/query-management/utils/query-management.utils.js +0 -22
  204. package/esm2015/lib/shared/domain/case-view/case-view-event-ids.enum.js +0 -6
  205. package/esm2015/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.js +0 -16
  206. package/esm2015/lib/shared/pipes/generic/index.js +0 -2
  207. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +0 -11
  208. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +0 -1
  209. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +0 -28
  210. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +0 -1
  211. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +0 -5
  212. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +0 -1
  213. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +0 -27
  214. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +0 -1
  215. package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +0 -8
  216. package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +0 -1
  217. package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +0 -12
  218. package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +0 -1
  219. package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts +0 -5
  220. package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +0 -1
  221. package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +0 -5
  222. package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +0 -1
  223. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts +0 -5
  224. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +0 -1
  225. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +0 -5
  226. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +0 -1
  227. package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +0 -19
  228. package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +0 -1
  229. package/lib/shared/components/palette/case-flag/pipes/index.d.ts +0 -5
  230. package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +0 -1
  231. package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +0 -18
  232. package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +0 -1
  233. package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +0 -25
  234. package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +0 -1
  235. package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +0 -21
  236. package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +0 -1
  237. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +0 -13
  238. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +0 -1
  239. package/lib/shared/components/palette/query-management/__mocks__/index.d.ts +0 -11
  240. package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +0 -1
  241. package/lib/shared/components/palette/query-management/components/index.d.ts +0 -13
  242. package/lib/shared/components/palette/query-management/components/index.d.ts.map +0 -1
  243. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +0 -8
  244. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +0 -1
  245. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +0 -14
  246. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +0 -1
  247. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +0 -11
  248. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts.map +0 -1
  249. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +0 -10
  250. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +0 -1
  251. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +0 -30
  252. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +0 -1
  253. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +0 -16
  254. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +0 -1
  255. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +0 -9
  256. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts.map +0 -1
  257. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +0 -18
  258. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +0 -1
  259. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +0 -20
  260. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts.map +0 -1
  261. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +0 -20
  262. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts.map +0 -1
  263. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +0 -11
  264. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +0 -1
  265. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +0 -21
  266. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +0 -1
  267. package/lib/shared/components/palette/query-management/enums/index.d.ts +0 -6
  268. package/lib/shared/components/palette/query-management/enums/index.d.ts.map +0 -1
  269. package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts +0 -4
  270. package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts.map +0 -1
  271. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +0 -5
  272. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +0 -1
  273. package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts +0 -9
  274. package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts.map +0 -1
  275. package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts +0 -5
  276. package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts.map +0 -1
  277. package/lib/shared/components/palette/query-management/index.d.ts +0 -7
  278. package/lib/shared/components/palette/query-management/index.d.ts.map +0 -1
  279. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +0 -27
  280. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +0 -1
  281. package/lib/shared/components/palette/query-management/models/index.d.ts +0 -8
  282. package/lib/shared/components/palette/query-management/models/index.d.ts.map +0 -1
  283. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +0 -5
  284. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +0 -1
  285. package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts +0 -6
  286. package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts.map +0 -1
  287. package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts +0 -8
  288. package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts.map +0 -1
  289. package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts +0 -7
  290. package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts.map +0 -1
  291. package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts +0 -10
  292. package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +0 -1
  293. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +0 -22
  294. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +0 -1
  295. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +0 -18
  296. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +0 -1
  297. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +0 -12
  298. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +0 -1
  299. package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts +0 -5
  300. package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts.map +0 -1
  301. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +0 -8
  302. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +0 -1
  303. package/lib/shared/pipes/generic/index.d.ts +0 -2
  304. package/lib/shared/pipes/generic/index.d.ts.map +0 -1
@@ -1,7 +1,10 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { CaseFlagDisplayContextParameter, CaseFlagFieldState, CaseFlagStatus, CaseFlagWizardStepTitle, SelectFlagErrorMessage } from '../../enums';
3
+ import { CaseFlagFieldState, CaseFlagWizardStepTitle, SelectFlagErrorMessage } from '../../enums';
4
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "rpx-xui-translation";
5
8
  function ManageCaseFlagsComponent_div_7_Template(rf, ctx) { if (rf & 1) {
6
9
  i0.ɵɵelementStart(0, "div", 9);
7
10
  i0.ɵɵelementStart(1, "span", 10);
@@ -22,7 +25,6 @@ function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
22
25
  i0.ɵɵelementStart(0, "div", 11);
23
26
  i0.ɵɵelement(1, "input", 12);
24
27
  i0.ɵɵelement(2, "label", 13);
25
- i0.ɵɵpipe(3, "manageCaseFlagsLabelDisplay");
26
28
  i0.ɵɵelementEnd();
27
29
  } if (rf & 2) {
28
30
  const flagDisplay_r3 = ctx.$implicit;
@@ -33,7 +35,7 @@ function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
33
35
  i0.ɵɵproperty("name", ctx_r1.selectedControlName)("value", flagDisplay_r3)("formControlName", ctx_r1.selectedControlName);
34
36
  i0.ɵɵadvance(1);
35
37
  i0.ɵɵpropertyInterpolate1("for", "flag-selection-", i_r4, "");
36
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(3, 6, flagDisplay_r3), i0.ɵɵsanitizeHtml);
38
+ i0.ɵɵproperty("innerHtml", flagDisplay_r3.label, i0.ɵɵsanitizeHtml);
37
39
  } }
38
40
  function ManageCaseFlagsComponent_div_10_Template(rf, ctx) { if (rf & 1) {
39
41
  const _r6 = i0.ɵɵgetCurrentView();
@@ -56,29 +58,23 @@ export class ManageCaseFlagsComponent {
56
58
  this.manageCaseFlagSelectedErrorMessage = null;
57
59
  this.noFlagsError = false;
58
60
  this.selectedControlName = 'selectedManageCaseLocation';
59
- this.excludedFlagStatuses = [CaseFlagStatus.INACTIVE, CaseFlagStatus.NOT_APPROVED];
60
61
  }
61
62
  ngOnInit() {
62
- this.manageCaseFlagTitle = this.setManageCaseFlagTitle(this.displayContextParameter);
63
+ this.manageCaseFlagTitle = CaseFlagWizardStepTitle.MANAGE_CASE_FLAGS;
63
64
  // Map flags instances to objects for display
64
- /* istanbul ignore else */
65
65
  if (this.flagsData) {
66
66
  this.flagsDisplayData = this.flagsData.reduce((displayData, flagsInstance) => {
67
- /* istanbul ignore else */
68
67
  if (flagsInstance.flags.details && flagsInstance.flags.details.length > 0) {
69
68
  displayData = [
70
69
  ...displayData,
71
- ...flagsInstance.flags.details.map(detail => {
72
- // Only map flags instances where the status is neither "Inactive" nor "Not approved"
73
- // This will result in some undefined mappings, which need to be filtered out after the reduce operation
74
- if (!this.excludedFlagStatuses.includes(detail.status)) {
75
- return this.mapFlagDetailForDisplay(detail, flagsInstance);
76
- }
77
- })
70
+ ...flagsInstance.flags.details.map(detail => this.mapFlagDetailForDisplay(detail, flagsInstance))
78
71
  ];
79
72
  }
80
73
  return displayData;
81
- }, []).filter(flagDetailDisplay => !!flagDetailDisplay);
74
+ }, []);
75
+ this.flagsDisplayData.forEach(flagDisplayData => {
76
+ flagDisplayData.label = this.processLabel(flagDisplayData);
77
+ });
82
78
  }
83
79
  // Add a FormControl for the selected case flag if there is at least one flags instance remaining after mapping
84
80
  if (this.flagsDisplayData && this.flagsDisplayData.length > 0) {
@@ -102,6 +98,59 @@ export class ManageCaseFlagsComponent {
102
98
  roleOnCase: flagsInstance.flags.roleOnCase
103
99
  };
104
100
  }
101
+ processLabel(flagDisplay) {
102
+ const flagDetail = flagDisplay.flagDetailDisplay.flagDetail;
103
+ const partyName = this.getPartyName(flagDisplay);
104
+ const flagName = this.getFlagName(flagDetail);
105
+ const flagDescription = this.getFlagDescription(flagDetail);
106
+ const roleOnCase = this.getRoleOnCase(flagDisplay);
107
+ const flagComment = this.getFlagComments(flagDetail);
108
+ return flagName === flagDescription
109
+ ? `${partyName}${roleOnCase} - <span class="flag-name-and-description">${flagDescription}</span>${flagComment}`
110
+ : `${partyName}${roleOnCase} - <span class="flag-name-and-description">${flagName}, ${flagDescription}</span>${flagComment}`;
111
+ }
112
+ getPartyName(flagDisplay) {
113
+ if (flagDisplay.pathToFlagsFormGroup && flagDisplay.pathToFlagsFormGroup === ManageCaseFlagsComponent.CASE_LEVEL_CASE_FLAGS_FIELD_ID) {
114
+ return 'Case level';
115
+ }
116
+ if (flagDisplay.flagDetailDisplay.partyName) {
117
+ return `${flagDisplay.flagDetailDisplay.partyName}`;
118
+ }
119
+ return '';
120
+ }
121
+ getFlagName(flagDetail) {
122
+ if (flagDetail && flagDetail.path && flagDetail.path.length > 1) {
123
+ return flagDetail.path[1].value;
124
+ }
125
+ if (flagDetail.subTypeKey && flagDetail.subTypeValue) {
126
+ return flagDetail.subTypeValue;
127
+ }
128
+ return flagDetail.name;
129
+ }
130
+ getFlagDescription(flagDetail) {
131
+ if (flagDetail && flagDetail.name) {
132
+ if (flagDetail.name === 'Other' && flagDetail.otherDescription) {
133
+ return flagDetail.otherDescription;
134
+ }
135
+ if (flagDetail.subTypeKey && flagDetail.subTypeValue) {
136
+ return flagDetail.subTypeValue;
137
+ }
138
+ return flagDetail.name;
139
+ }
140
+ return '';
141
+ }
142
+ getRoleOnCase(flagDisplay) {
143
+ if (flagDisplay && flagDisplay.roleOnCase) {
144
+ return ` (${flagDisplay.roleOnCase})`;
145
+ }
146
+ return '';
147
+ }
148
+ getFlagComments(flagDetail) {
149
+ if (flagDetail.flagComment) {
150
+ return ` (${flagDetail.flagComment})`;
151
+ }
152
+ return '';
153
+ }
105
154
  onNext() {
106
155
  // Validate flag selection
107
156
  this.validateSelection();
@@ -113,28 +162,15 @@ export class ManageCaseFlagsComponent {
113
162
  ? this.formGroup.get(this.selectedControlName).value
114
163
  : null
115
164
  });
116
- window.scrollTo(0, 0);
117
- }
118
- setManageCaseFlagTitle(displayContextParameter) {
119
- switch (displayContextParameter) {
120
- case CaseFlagDisplayContextParameter.UPDATE:
121
- return CaseFlagWizardStepTitle.MANAGE_CASE_FLAGS;
122
- case CaseFlagDisplayContextParameter.UPDATE_EXTERNAL:
123
- return CaseFlagWizardStepTitle.MANAGE_SUPPORT;
124
- default:
125
- return CaseFlagWizardStepTitle.NONE;
126
- }
127
165
  }
128
166
  validateSelection() {
129
167
  this.manageCaseFlagSelectedErrorMessage = null;
130
168
  this.errorMessages = [];
131
169
  if (!this.formGroup.get(this.selectedControlName).value) {
132
- const errorMessage = this.displayContextParameter === CaseFlagDisplayContextParameter.UPDATE_EXTERNAL ?
133
- SelectFlagErrorMessage.MANAGE_SUPPORT_FLAG_NOT_SELECTED : SelectFlagErrorMessage.MANAGE_CASE_FLAGS_FLAG_NOT_SELECTED;
134
- this.manageCaseFlagSelectedErrorMessage = errorMessage;
170
+ this.manageCaseFlagSelectedErrorMessage = SelectFlagErrorMessage.FLAG_NOT_SELECTED;
135
171
  this.errorMessages.push({
136
172
  title: '',
137
- description: errorMessage,
173
+ description: SelectFlagErrorMessage.FLAG_NOT_SELECTED,
138
174
  fieldId: 'conditional-radios-list'
139
175
  });
140
176
  }
@@ -151,9 +187,10 @@ export class ManageCaseFlagsComponent {
151
187
  });
152
188
  }
153
189
  }
190
+ ManageCaseFlagsComponent.CASE_LEVEL_CASE_FLAGS_FIELD_ID = 'caseFlags';
154
191
  ManageCaseFlagsComponent.ɵfac = function ManageCaseFlagsComponent_Factory(t) { return new (t || ManageCaseFlagsComponent)(); };
155
- ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 11, vars: 10, 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"], ["class", "govuk-button-group", 4, "ngIf"], ["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, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
156
- i0.ɵɵelementContainerStart(0, 0);
192
+ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 11, vars: 10, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["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"], ["class", "govuk-button-group", 4, "ngIf"], ["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, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
193
+ i0.ɵɵelementStart(0, "div", 0);
157
194
  i0.ɵɵelementStart(1, "div", 1);
158
195
  i0.ɵɵelementStart(2, "fieldset", 2);
159
196
  i0.ɵɵelementStart(3, "legend", 3);
@@ -164,12 +201,12 @@ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsC
164
201
  i0.ɵɵelementEnd();
165
202
  i0.ɵɵtemplate(7, ManageCaseFlagsComponent_div_7_Template, 6, 6, "div", 5);
166
203
  i0.ɵɵelementStart(8, "div", 6);
167
- i0.ɵɵtemplate(9, ManageCaseFlagsComponent_div_9_Template, 4, 8, "div", 7);
204
+ i0.ɵɵtemplate(9, ManageCaseFlagsComponent_div_9_Template, 3, 6, "div", 7);
168
205
  i0.ɵɵelementEnd();
169
206
  i0.ɵɵelementEnd();
170
207
  i0.ɵɵelementEnd();
171
- i0.ɵɵelementContainerEnd();
172
208
  i0.ɵɵtemplate(10, ManageCaseFlagsComponent_div_10_Template, 4, 3, "div", 8);
209
+ i0.ɵɵelementEnd();
173
210
  } if (rf & 2) {
174
211
  i0.ɵɵproperty("formGroup", ctx.formGroup);
175
212
  i0.ɵɵadvance(1);
@@ -182,7 +219,7 @@ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsC
182
219
  i0.ɵɵproperty("ngForOf", ctx.flagsDisplayData);
183
220
  i0.ɵɵadvance(1);
184
221
  i0.ɵɵproperty("ngIf", !ctx.noFlagsError);
185
- } }, styles: [".flag-name-and-description{font-weight:700}"], encapsulation: 2 });
222
+ } }, directives: [i1.NgControlStatusGroup, i1.FormGroupDirective, i2.NgClass, i2.NgIf, i2.NgForOf, i1.RadioControlValueAccessor, i1.DefaultValueAccessor, i1.NgControlStatus, i1.FormControlName], pipes: [i3.RpxTranslatePipe], styles: [".flag-name-and-description{font-weight:700}"], encapsulation: 2 });
186
223
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ManageCaseFlagsComponent, [{
187
224
  type: Component,
188
225
  args: [{
@@ -197,9 +234,7 @@ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsC
197
234
  type: Input
198
235
  }], caseTitle: [{
199
236
  type: Input
200
- }], displayContextParameter: [{
201
- type: Input
202
237
  }], caseFlagStateEmitter: [{
203
238
  type: Output
204
239
  }] }); })();
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztJQ0k3SSw4QkFDNkM7SUFDM0MsZ0NBQW9DO0lBQUEsWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLGdHQUN6RTs7O0lBRUUsK0JBQXlGO0lBQ3ZGLDRCQUM4RTtJQUM5RSw0QkFBMEk7O0lBQzVJLGlCQUFNOzs7OztJQUgrQixlQUF5QjtJQUF6Qiw0REFBeUI7SUFBQyxpREFBNEIseUJBQUEsK0NBQUE7SUFFMUMsZUFB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QkFBdUI7Z0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7Z0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2dCQUNqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0QztnQkFFaUIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBQ1csb0JBQW9CO2tCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCwgRmxhZ3MsIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlciwgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1N0YXR1cywgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1tYW5hZ2UtY2FzZS1mbGFncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtY2FzZS1mbGFncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1jYXNlLWZsYWdzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZmxhZ3NEYXRhOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoW107XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdUaXRsZTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZTogU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnc0Rpc3BsYXlEYXRhOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoW107XG4gIHB1YmxpYyBmbGFnczogRmxhZ3M7XG4gIHB1YmxpYyBub0ZsYWdzRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkQ29udHJvbE5hbWUgPSAnc2VsZWN0ZWRNYW5hZ2VDYXNlTG9jYXRpb24nO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGVkRmxhZ1N0YXR1c2VzOiBDYXNlRmxhZ1N0YXR1c1tdID0gW0Nhc2VGbGFnU3RhdHVzLklOQUNUSVZFLCBDYXNlRmxhZ1N0YXR1cy5OT1RfQVBQUk9WRURdO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZUNhc2VGbGFnVGl0bGUgPSB0aGlzLnNldE1hbmFnZUNhc2VGbGFnVGl0bGUodGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcik7XG5cbiAgICAvLyBNYXAgZmxhZ3MgaW5zdGFuY2VzIHRvIG9iamVjdHMgZm9yIGRpc3BsYXlcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmZsYWdzRGF0YSkge1xuICAgICAgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhID0gdGhpcy5mbGFnc0RhdGEucmVkdWNlKChkaXNwbGF5RGF0YSwgZmxhZ3NJbnN0YW5jZSkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzICYmIGZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZGlzcGxheURhdGEgPSBbXG4gICAgICAgICAgICAuLi5kaXNwbGF5RGF0YSxcbiAgICAgICAgICAgIC4uLmZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5tYXAoZGV0YWlsID0+IHtcbiAgICAgICAgICAgICAgLy8gT25seSBtYXAgZmxhZ3MgaW5zdGFuY2VzIHdoZXJlIHRoZSBzdGF0dXMgaXMgbmVpdGhlciBcIkluYWN0aXZlXCIgbm9yIFwiTm90IGFwcHJvdmVkXCJcbiAgICAgICAgICAgICAgLy8gVGhpcyB3aWxsIHJlc3VsdCBpbiBzb21lIHVuZGVmaW5lZCBtYXBwaW5ncywgd2hpY2ggbmVlZCB0byBiZSBmaWx0ZXJlZCBvdXQgYWZ0ZXIgdGhlIHJlZHVjZSBvcGVyYXRpb25cbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmV4Y2x1ZGVkRmxhZ1N0YXR1c2VzLmluY2x1ZGVzKGRldGFpbC5zdGF0dXMgYXMgQ2FzZUZsYWdTdGF0dXMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZGV0YWlsLCBmbGFnc0luc3RhbmNlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwbGF5RGF0YTtcbiAgICAgIH0sIFtdKS5maWx0ZXIoZmxhZ0RldGFpbERpc3BsYXkgPT4gISFmbGFnRGV0YWlsRGlzcGxheSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGEgRm9ybUNvbnRyb2wgZm9yIHRoZSBzZWxlY3RlZCBjYXNlIGZsYWcgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGZsYWdzIGluc3RhbmNlIHJlbWFpbmluZyBhZnRlciBtYXBwaW5nXG4gICAgaWYgKHRoaXMuZmxhZ3NEaXNwbGF5RGF0YSAmJiB0aGlzLmZsYWdzRGlzcGxheURhdGEubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGZsYWdzIGRpc3BsYXkgZGF0YSBtZWFucyB0aGVyZSBhcmUgbm8gZmxhZ3MgdG8gc2VsZWN0IGZyb20uIFRoZSB1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggYSBmbGFnIHVwZGF0ZS5cbiAgICAgIC8vIChXaWxsIG5lZWQgdG8gYmUgZXh0ZW5kZWQgdG8gY2hlY2sgZm9yIGNhc2UtbGV2ZWwgZmxhZ3MgaW4gZnV0dXJlKVxuICAgICAgdGhpcy5vbk5vRmxhZ3NFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYXBGbGFnRGV0YWlsRm9yRGlzcGxheShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsLCBmbGFnc0luc3RhbmNlOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoKTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZsYWdEZXRhaWxEaXNwbGF5OiB7XG4gICAgICAgIHBhcnR5TmFtZTogZmxhZ3NJbnN0YW5jZS5mbGFncy5wYXJ0eU5hbWUsXG4gICAgICAgIGZsYWdEZXRhaWwsXG4gICAgICAgIGZsYWdzQ2FzZUZpZWxkSWQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkLmlkXG4gICAgICB9LFxuICAgICAgcGF0aFRvRmxhZ3NGb3JtR3JvdXA6IGZsYWdzSW5zdGFuY2UucGF0aFRvRmxhZ3NGb3JtR3JvdXAsXG4gICAgICBjYXNlRmllbGQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkLFxuICAgICAgcm9sZU9uQ2FzZTogZmxhZ3NJbnN0YW5jZS5mbGFncy5yb2xlT25DYXNlXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBzZWxlY3Rpb25cbiAgICB0aGlzLnZhbGlkYXRlU2VsZWN0aW9uKCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgZXJyb3IgbWVzc2FnZXMsIGFuZCBmbGFnIHNlbGVjdGlvbiB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgc2VsZWN0ZWRGbGFnOiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZVxuICAgICAgICA/IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlIGFzIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGhcbiAgICAgICAgOiBudWxsXG4gICAgfSk7XG5cbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWFuYWdlQ2FzZUZsYWdUaXRsZShkaXNwbGF5Q29udGV4dFBhcmFtZXRlcjogc3RyaW5nKTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUge1xuICAgIHN3aXRjaCAoZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfQ0FTRV9GTEFHUztcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfU1VQUE9SVDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5OT05FO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTCA/XG4gICAgICAgIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTUFOQUdFX1NVUFBPUlRfRkxBR19OT1RfU0VMRUNURUQgOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLk1BTkFHRV9DQVNFX0ZMQUdTX0ZMQUdfTk9UX1NFTEVDVEVEO1xuICAgICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCdcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Ob0ZsYWdzRXJyb3IoKTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLm5vRmxhZ3NFcnJvciA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTk9fRkxBR1MsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCd9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwibWFuYWdlLWNhc2UtZmxhZy1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tXCI+XG4gICAgICAgIDxoMSBpZD1cIm1hbmFnZS1jYXNlLWZsYWctaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7e21hbmFnZUNhc2VGbGFnVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2gxPlxuICAgICAgPC9sZWdlbmQ+XG4gICAgICA8ZGl2IGlkPVwibWFuYWdlLWNhc2UtZmxhZy1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwibWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3ttYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ0Rpc3BsYXkgb2YgZmxhZ3NEaXNwbGF5RGF0YTsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW25hbWVdPVwic2VsZWN0ZWRDb250cm9sTmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZmxhZ0Rpc3BsYXlcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInNlbGVjdGVkQ29udHJvbE5hbWVcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW2lubmVySHRtbF09XCJmbGFnRGlzcGxheSB8IG1hbmFnZUNhc2VGbGFnc0xhYmVsRGlzcGxheVwiPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiICpuZ0lmPVwiIW5vRmxhZ3NFcnJvclwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPnt7J05leHQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDSTVGLDhCQUM2QztJQUMzQyxnQ0FBb0M7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7SUFEeUUsZ0dBQ3pFOzs7SUFFRSwrQkFBeUY7SUFDdkYsNEJBQzhFO0lBQzlFLDRCQUFrSDtJQUNwSCxpQkFBTTs7Ozs7SUFIK0IsZUFBeUI7SUFBekIsNERBQXlCO0lBQUMsaURBQTRCLHlCQUFBLCtDQUFBO0lBRTFDLGVBQTBCO0lBQTFCLDZEQUEwQjtJQUFD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QkFBVztRQUNiLGlCQUFNO1FBQ04sMkVBRU07UUFDUixpQkFBTTs7UUF4QmtCLHlDQUF1QjtRQUNmLGVBQTBEO1FBQTFELGtGQUEwRDtRQUloRixlQUNGO1FBREUsOEVBQ0Y7UUFHQyxlQUF3QztRQUF4Qyw2REFBd0M7UUFJZSxlQUFxQjtRQUFyQiw4Q0FBcUI7UUFRbEQsZUFBbUI7UUFBbkIsd0NBQW1COzt1RkRUekMsd0JBQXdCO2NBTnBDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxXQUFXLEVBQUUsb0NBQW9DO2dCQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDakQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Z0JBS2lCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNXLG9CQUFvQjtrQkFBcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWwsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgsIEZsYWdzLCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1tYW5hZ2UtY2FzZS1mbGFncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtY2FzZS1mbGFncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1jYXNlLWZsYWdzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX0xFVkVMX0NBU0VfRkxBR1NfRklFTERfSUQgPSAnY2FzZUZsYWdzJztcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnc0RhdGE6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGhbXTtcbiAgQElucHV0KCkgcHVibGljIGNhc2VUaXRsZTogc3RyaW5nO1xuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIG1hbmFnZUNhc2VGbGFnVGl0bGU6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIG1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2U6IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgZmxhZ3NEaXNwbGF5RGF0YTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBwdWJsaWMgZmxhZ3M6IEZsYWdzO1xuICBwdWJsaWMgbm9GbGFnc0Vycm9yID0gZmFsc2U7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZENvbnRyb2xOYW1lID0gJ3NlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uJztcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1RpdGxlID0gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuTUFOQUdFX0NBU0VfRkxBR1M7XG5cbiAgICAvLyBNYXAgZmxhZ3MgaW5zdGFuY2VzIHRvIG9iamVjdHMgZm9yIGRpc3BsYXlcbiAgICBpZiAodGhpcy5mbGFnc0RhdGEpIHtcbiAgICAgIHRoaXMuZmxhZ3NEaXNwbGF5RGF0YSA9IHRoaXMuZmxhZ3NEYXRhLnJlZHVjZSgoZGlzcGxheURhdGEsIGZsYWdzSW5zdGFuY2UpID0+IHtcbiAgICAgICAgaWYgKGZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscyAmJiBmbGFnc0luc3RhbmNlLmZsYWdzLmRldGFpbHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRpc3BsYXlEYXRhID0gW1xuICAgICAgICAgICAgLi4uZGlzcGxheURhdGEsXG4gICAgICAgICAgICAuLi5mbGFnc0luc3RhbmNlLmZsYWdzLmRldGFpbHMubWFwKGRldGFpbCA9PlxuICAgICAgICAgICAgICB0aGlzLm1hcEZsYWdEZXRhaWxGb3JEaXNwbGF5KGRldGFpbCwgZmxhZ3NJbnN0YW5jZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwbGF5RGF0YTtcbiAgICAgIH0sIFtdKTtcblxuICAgICAgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhLmZvckVhY2goZmxhZ0Rpc3BsYXlEYXRhID0+IHtcbiAgICAgICAgZmxhZ0Rpc3BsYXlEYXRhLmxhYmVsID0gdGhpcy5wcm9jZXNzTGFiZWwoZmxhZ0Rpc3BsYXlEYXRhKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0ZWQgY2FzZSBmbGFnIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBmbGFncyBpbnN0YW5jZSByZW1haW5pbmcgYWZ0ZXIgbWFwcGluZ1xuICAgIGlmICh0aGlzLmZsYWdzRGlzcGxheURhdGEgJiYgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBmbGFncyBkaXNwbGF5IGRhdGEgbWVhbnMgdGhlcmUgYXJlIG5vIGZsYWdzIHRvIHNlbGVjdCBmcm9tLiBUaGUgdXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGEgZmxhZyB1cGRhdGUuXG4gICAgICAvLyAoV2lsbCBuZWVkIHRvIGJlIGV4dGVuZGVkIHRvIGNoZWNrIGZvciBjYXNlLWxldmVsIGZsYWdzIGluIGZ1dHVyZSlcbiAgICAgIHRoaXMub25Ob0ZsYWdzRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCwgZmxhZ3NJbnN0YW5jZTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgge1xuICAgIHJldHVybiB7XG4gICAgICBmbGFnRGV0YWlsRGlzcGxheToge1xuICAgICAgICBwYXJ0eU5hbWU6IGZsYWdzSW5zdGFuY2UuZmxhZ3MucGFydHlOYW1lLFxuICAgICAgICBmbGFnRGV0YWlsLFxuICAgICAgICBmbGFnc0Nhc2VGaWVsZElkOiBmbGFnc0luc3RhbmNlLmNhc2VGaWVsZC5pZFxuICAgICAgfSxcbiAgICAgIHBhdGhUb0ZsYWdzRm9ybUdyb3VwOiBmbGFnc0luc3RhbmNlLnBhdGhUb0ZsYWdzRm9ybUdyb3VwLFxuICAgICAgY2FzZUZpZWxkOiBmbGFnc0luc3RhbmNlLmNhc2VGaWVsZCxcbiAgICAgIHJvbGVPbkNhc2U6IGZsYWdzSW5zdGFuY2UuZmxhZ3Mucm9sZU9uQ2FzZVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0xhYmVsKGZsYWdEaXNwbGF5OiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoKTogc3RyaW5nIHtcbiAgICBjb25zdCBmbGFnRGV0YWlsID0gZmxhZ0Rpc3BsYXkuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICBjb25zdCBwYXJ0eU5hbWUgPSB0aGlzLmdldFBhcnR5TmFtZShmbGFnRGlzcGxheSk7XG4gICAgY29uc3QgZmxhZ05hbWUgPSB0aGlzLmdldEZsYWdOYW1lKGZsYWdEZXRhaWwpO1xuICAgIGNvbnN0IGZsYWdEZXNjcmlwdGlvbiA9IHRoaXMuZ2V0RmxhZ0Rlc2NyaXB0aW9uKGZsYWdEZXRhaWwpO1xuICAgIGNvbnN0IHJvbGVPbkNhc2UgPSB0aGlzLmdldFJvbGVPbkNhc2UoZmxhZ0Rpc3BsYXkpO1xuICAgIGNvbnN0IGZsYWdDb21tZW50ID0gdGhpcy5nZXRGbGFnQ29tbWVudHMoZmxhZ0RldGFpbCk7XG5cbiAgICByZXR1cm4gZmxhZ05hbWUgPT09IGZsYWdEZXNjcmlwdGlvblxuICAgICAgPyBgJHtwYXJ0eU5hbWV9JHtyb2xlT25DYXNlfSAtIDxzcGFuIGNsYXNzPVwiZmxhZy1uYW1lLWFuZC1kZXNjcmlwdGlvblwiPiR7ZmxhZ0Rlc2NyaXB0aW9ufTwvc3Bhbj4ke2ZsYWdDb21tZW50fWBcbiAgICAgIDogYCR7cGFydHlOYW1lfSR7cm9sZU9uQ2FzZX0gLSA8c3BhbiBjbGFzcz1cImZsYWctbmFtZS1hbmQtZGVzY3JpcHRpb25cIj4ke2ZsYWdOYW1lfSwgJHtmbGFnRGVzY3JpcHRpb259PC9zcGFuPiR7ZmxhZ0NvbW1lbnR9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYXJ0eU5hbWUoZmxhZ0Rpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGlzcGxheS5wYXRoVG9GbGFnc0Zvcm1Hcm91cCAmJiBmbGFnRGlzcGxheS5wYXRoVG9GbGFnc0Zvcm1Hcm91cCA9PT0gTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50LkNBU0VfTEVWRUxfQ0FTRV9GTEFHU19GSUVMRF9JRCkge1xuICAgICAgcmV0dXJuICdDYXNlIGxldmVsJztcbiAgICB9XG4gICAgaWYgKGZsYWdEaXNwbGF5LmZsYWdEZXRhaWxEaXNwbGF5LnBhcnR5TmFtZSkge1xuICAgICAgcmV0dXJuIGAke2ZsYWdEaXNwbGF5LmZsYWdEZXRhaWxEaXNwbGF5LnBhcnR5TmFtZX1gO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmxhZ05hbWUoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEZXRhaWwgJiYgZmxhZ0RldGFpbC5wYXRoICYmIGZsYWdEZXRhaWwucGF0aC5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gZmxhZ0RldGFpbC5wYXRoWzFdLnZhbHVlO1xuICAgIH1cbiAgICBpZiAoZmxhZ0RldGFpbC5zdWJUeXBlS2V5ICYmIGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlKSB7XG4gICAgICByZXR1cm4gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBmbGFnRGV0YWlsLm5hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmxhZ0Rlc2NyaXB0aW9uKGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGV0YWlsICYmIGZsYWdEZXRhaWwubmFtZSkge1xuICAgICAgaWYgKGZsYWdEZXRhaWwubmFtZSA9PT0gJ090aGVyJyAmJiBmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbjtcbiAgICAgIH1cbiAgICAgIGlmIChmbGFnRGV0YWlsLnN1YlR5cGVLZXkgJiYgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZsYWdEZXRhaWwubmFtZTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGdldFJvbGVPbkNhc2UoZmxhZ0Rpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGlzcGxheSAmJiBmbGFnRGlzcGxheS5yb2xlT25DYXNlKSB7XG4gICAgICByZXR1cm4gYCAoJHtmbGFnRGlzcGxheS5yb2xlT25DYXNlfSlgO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmxhZ0NvbW1lbnRzKGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGV0YWlsLmZsYWdDb21tZW50KSB7XG4gICAgICByZXR1cm4gYCAoJHtmbGFnRGV0YWlsLmZsYWdDb21tZW50fSlgO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgc2VsZWN0aW9uXG4gICAgdGhpcy52YWxpZGF0ZVNlbGVjdGlvbigpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIGVycm9yIG1lc3NhZ2VzLCBhbmQgZmxhZyBzZWxlY3Rpb24gdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19NQU5BR0VfQ0FTRV9GTEFHUyxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIHNlbGVjdGVkRmxhZzogdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkudmFsdWVcbiAgICAgICAgPyB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZSBhcyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoXG4gICAgICAgIDogbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGlmICghdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkudmFsdWUpIHtcbiAgICAgIHRoaXMubWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuRkxBR19OT1RfU0VMRUNURUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuRkxBR19OT1RfU0VMRUNURUQsXG4gICAgICAgIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCdcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Ob0ZsYWdzRXJyb3IoKTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLm5vRmxhZ3NFcnJvciA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTk9fRkxBR1MsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCd9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwibWFuYWdlLWNhc2UtZmxhZy1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBpZD1cIm1hbmFnZS1jYXNlLWZsYWctaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7e21hbmFnZUNhc2VGbGFnVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2gxPlxuICAgICAgPC9sZWdlbmQ+XG4gICAgICA8ZGl2IGlkPVwibWFuYWdlLWNhc2UtZmxhZy1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwibWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3ttYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ0Rpc3BsYXkgb2YgZmxhZ3NEaXNwbGF5RGF0YTsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW25hbWVdPVwic2VsZWN0ZWRDb250cm9sTmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZmxhZ0Rpc3BsYXlcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInNlbGVjdGVkQ29udHJvbE5hbWVcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW2lubmVySHRtbF09XCJmbGFnRGlzcGxheS5sYWJlbFwiPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIiAqbmdJZj1cIiFub0ZsYWdzRXJyb3JcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPnt7J05leHQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==