@hmcts/rpx-xui-common-lib 1.8.7-fix-wrong-services → 1.8.7-generic-filter-clear-errors-on-destroy

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 (325) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +4626 -7107
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +33 -35
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +2 -8
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +14 -112
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +2 -12
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +4 -65
  10. package/esm2015/lib/components/due-date/due-date.component.js +2 -97
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +7 -21
  12. package/esm2015/lib/components/find-location/find-location.component.js +46 -140
  13. package/esm2015/lib/components/find-person/find-person.component.js +14 -154
  14. package/esm2015/lib/components/find-service/find-service.component.js +97 -43
  15. package/esm2015/lib/components/find-task-name/find-task-name.component.js +97 -0
  16. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +11 -55
  17. package/esm2015/lib/components/generic-filter/generic-filter.component.js +286 -294
  18. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +3 -18
  19. package/esm2015/lib/components/index.js +2 -7
  20. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +2 -22
  21. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +2 -21
  22. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +3 -12
  23. package/esm2015/lib/components/pagination/pagination.component.js +2 -24
  24. package/esm2015/lib/components/public_api.js +37 -33
  25. package/esm2015/lib/components/search-judicials/search-judicials.component.js +11 -134
  26. package/esm2015/lib/components/search-location/search-location.component.js +64 -223
  27. package/esm2015/lib/components/search-service/search-service.component.js +28 -46
  28. package/esm2015/lib/components/search-venue/search-venue.component.js +11 -134
  29. package/esm2015/lib/components/selected-case/selected-case.component.js +20 -175
  30. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +3 -41
  31. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +4 -55
  32. package/esm2015/lib/components/service-message/service-message.component.js +2 -20
  33. package/esm2015/lib/components/service-messages/service-messages.component.js +7 -65
  34. package/esm2015/lib/components/share-case/share-case.component.js +23 -169
  35. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +4 -37
  36. package/esm2015/lib/components/tab/tab.component.js +2 -26
  37. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +2 -17
  38. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +2 -8
  39. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +2 -8
  40. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +2 -12
  41. package/esm2015/lib/components/user-details/user-details.component.js +2 -39
  42. package/esm2015/lib/components/user-list/user-list.component.js +2 -32
  43. package/esm2015/lib/components/user-select/user-select.component.js +5 -52
  44. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +3 -56
  45. package/esm2015/lib/directives/index.js +2 -7
  46. package/esm2015/lib/directives/let/let.directive.js +1 -39
  47. package/esm2015/lib/directives/public-api.js +3 -8
  48. package/esm2015/lib/exui-common-lib.module.js +11 -10
  49. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +2 -22
  50. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +44 -16
  51. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +4 -54
  52. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +2 -14
  53. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -17
  54. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +2 -24
  55. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +2 -16
  56. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +4 -24
  57. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +4 -13
  58. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +6 -24
  59. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +2 -13
  60. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +3 -22
  61. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +2 -32
  62. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +2 -18
  63. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +2 -0
  64. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +13 -25
  65. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +2 -44
  66. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +2 -16
  67. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +3 -37
  68. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +2 -23
  69. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +2 -22
  70. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +3 -30
  71. package/esm2015/lib/gov-ui/components/index.js +2 -7
  72. package/esm2015/lib/gov-ui/components/public_api.js +22 -7
  73. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +1 -22
  74. package/esm2015/lib/gov-ui/gov-ui.service.js +2 -8
  75. package/esm2015/lib/gov-ui/index.js +2 -7
  76. package/esm2015/lib/gov-ui/models/checkboxes-model.js +2 -22
  77. package/esm2015/lib/gov-ui/models/error-messages-model.js +2 -16
  78. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +2 -36
  79. package/esm2015/lib/gov-ui/models/index.js +2 -7
  80. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +2 -24
  81. package/esm2015/lib/gov-ui/models/public_api.js +4 -10
  82. package/esm2015/lib/gov-ui/models/radio-buttons.model.js +2 -0
  83. package/esm2015/lib/gov-ui/public_api.js +5 -9
  84. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
  85. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
  86. package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  87. package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
  88. package/esm2015/lib/gov-ui/validators/index.js +2 -7
  89. package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
  90. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
  91. package/esm2015/lib/models/case-share.model.js +7 -33
  92. package/esm2015/lib/models/contact-details.model.js +7 -31
  93. package/esm2015/lib/models/due-date.model.js +7 -14
  94. package/esm2015/lib/models/feature-user.js +1 -16
  95. package/esm2015/lib/models/filter.model.js +1 -124
  96. package/esm2015/lib/models/idle-config.model.js +2 -20
  97. package/esm2015/lib/models/index.js +16 -20
  98. package/esm2015/lib/models/location.model.js +7 -129
  99. package/esm2015/lib/models/pagination.model.js +2 -18
  100. package/esm2015/lib/models/person.model.js +19 -96
  101. package/esm2015/lib/models/public_api.js +6 -11
  102. package/esm2015/lib/models/search-options.model.js +2 -22
  103. package/esm2015/lib/models/task-name.model.js +2 -0
  104. package/esm2015/lib/models/tcDocument.model.js +2 -18
  105. package/esm2015/lib/models/timeout-notification.model.js +2 -18
  106. package/esm2015/lib/models/user-details.model.js +2 -22
  107. package/esm2015/lib/models/user.model.js +2 -25
  108. package/esm2015/lib/pipes/capitalize/capitalize.pipe.js +11 -0
  109. package/esm2015/lib/pipes/index.js +2 -0
  110. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +11 -96
  111. package/esm2015/lib/services/cookie/cookie.service.js +8 -71
  112. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +4 -43
  113. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +2 -28
  114. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +12 -94
  115. package/esm2015/lib/services/filter/filter.service.js +14 -69
  116. package/esm2015/lib/services/find-person/find-person.service.js +17 -125
  117. package/esm2015/lib/services/google-analytics/google-analytics.service.js +8 -63
  118. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +10 -64
  119. package/esm2015/lib/services/index.js +2 -7
  120. package/esm2015/lib/services/loading/loading.service.js +2 -41
  121. package/esm2015/lib/services/locations/location.service.js +14 -32
  122. package/esm2015/lib/services/manage-session/manage-session.services.js +10 -63
  123. package/esm2015/lib/services/public-api.js +14 -18
  124. package/esm2015/lib/services/ref-data/index.js +4 -0
  125. package/esm2015/lib/services/ref-data/models/ref-data-htmcs-service.model.js +2 -0
  126. package/esm2015/lib/services/ref-data/models/ref-data-region.model.js +2 -0
  127. package/esm2015/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.js +2 -0
  128. package/esm2015/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.js +34 -0
  129. package/esm2015/lib/services/ref-data/ref-data.service.js +35 -0
  130. package/esm2015/lib/services/role-guard/role.guard.js +17 -55
  131. package/esm2015/lib/services/role-guard/role.service.js +7 -26
  132. package/esm2015/lib/services/storage/session-storage/session-storage.service.js +41 -0
  133. package/esm2015/lib/services/task-name/task-name.service.js +37 -0
  134. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +16 -78
  135. package/esm2015/lib/window.js +1 -10
  136. package/esm2015/public-api.js +9 -13
  137. package/fesm2015/hmcts-rpx-xui-common-lib.js +3941 -5799
  138. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  139. package/hmcts-rpx-xui-common-lib.d.ts +31 -28
  140. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  141. package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
  142. package/lib/components/due-date/due-date.component.d.ts +4 -4
  143. package/lib/components/find-location/find-location.component.d.ts +13 -8
  144. package/lib/components/find-person/find-person.component.d.ts +1 -1
  145. package/lib/components/find-service/find-service.component.d.ts +21 -9
  146. package/lib/components/find-task-name/find-task-name.component.d.ts +41 -0
  147. package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
  148. package/lib/components/generic-filter/generic-filter.component.d.ts +20 -6
  149. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
  150. package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
  151. package/lib/components/public_api.d.ts +9 -0
  152. package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
  153. package/lib/components/search-location/search-location.component.d.ts +20 -20
  154. package/lib/components/search-service/search-service.component.d.ts +11 -9
  155. package/lib/components/search-venue/search-venue.component.d.ts +1 -1
  156. package/lib/components/user-list/user-list.component.d.ts +1 -1
  157. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
  158. package/lib/directives/let/let.directive.d.ts +1 -1
  159. package/lib/exui-common-lib.module.d.ts +4 -3
  160. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +14 -5
  161. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -2
  162. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -0
  163. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +2 -2
  164. package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
  165. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +4 -2
  166. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
  167. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
  168. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +3 -3
  169. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
  170. package/lib/gov-ui/components/public_api.d.ts +20 -0
  171. package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
  172. package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
  173. package/lib/gov-ui/models/public_api.d.ts +0 -1
  174. package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
  175. package/lib/gov-ui/public_api.d.ts +1 -0
  176. package/lib/models/filter.model.d.ts +38 -8
  177. package/lib/models/index.d.ts +1 -0
  178. package/lib/models/location.model.d.ts +8 -8
  179. package/lib/models/task-name.model.d.ts +4 -0
  180. package/lib/pipes/capitalize/capitalize.pipe.d.ts +4 -0
  181. package/lib/pipes/index.d.ts +1 -0
  182. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
  183. package/lib/services/filter/filter.service.d.ts +1 -0
  184. package/lib/services/find-person/find-person.service.d.ts +1 -1
  185. package/lib/services/loading/loading.service.d.ts +2 -2
  186. package/lib/services/locations/location.service.d.ts +1 -1
  187. package/lib/services/public-api.d.ts +1 -0
  188. package/lib/services/ref-data/index.d.ts +3 -0
  189. package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
  190. package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
  191. package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
  192. package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +15 -0
  193. package/lib/services/ref-data/ref-data.service.d.ts +14 -0
  194. package/lib/services/role-guard/role.guard.d.ts +2 -1
  195. package/lib/services/role-guard/role.service.d.ts +4 -2
  196. package/lib/services/task-name/task-name.service.d.ts +14 -0
  197. package/lib/window.d.ts +2 -2
  198. package/package.json +6 -16
  199. package/public-api.d.ts +1 -0
  200. package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -16
  201. package/esm2015/lib/services/session-storage/session-storage.service.js +0 -55
  202. package/esm5/hmcts-rpx-xui-common-lib.js +0 -75
  203. package/esm5/lib/components/accessibility/accessibility.component.js +0 -22
  204. package/esm5/lib/components/checkbox-list/checkbox-list.component.js +0 -391
  205. package/esm5/lib/components/contact-details/contact-details.component.js +0 -29
  206. package/esm5/lib/components/cookie-banner/cookie-banner.component.js +0 -154
  207. package/esm5/lib/components/due-date/due-date.component.js +0 -254
  208. package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -45
  209. package/esm5/lib/components/find-location/find-location.component.js +0 -293
  210. package/esm5/lib/components/find-person/find-person.component.js +0 -287
  211. package/esm5/lib/components/find-service/find-service.component.js +0 -64
  212. package/esm5/lib/components/generic-filter/generic-filter-utils.js +0 -66
  213. package/esm5/lib/components/generic-filter/generic-filter.component.js +0 -840
  214. package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -47
  215. package/esm5/lib/components/index.js +0 -7
  216. package/esm5/lib/components/invite-user-form/invite-user-form.component.js +0 -54
  217. package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -46
  218. package/esm5/lib/components/loading-spinner/loading-spinner.component.js +0 -29
  219. package/esm5/lib/components/pagination/pagination.component.js +0 -58
  220. package/esm5/lib/components/public_api.js +0 -33
  221. package/esm5/lib/components/search-judicials/search-judicials.component.js +0 -291
  222. package/esm5/lib/components/search-location/search-location.component.js +0 -329
  223. package/esm5/lib/components/search-service/search-service.component.js +0 -68
  224. package/esm5/lib/components/search-venue/search-venue.component.js +0 -290
  225. package/esm5/lib/components/selected-case/selected-case.component.js +0 -424
  226. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -84
  227. package/esm5/lib/components/selected-case-list/selected-case-list.component.js +0 -115
  228. package/esm5/lib/components/service-message/service-message.component.js +0 -46
  229. package/esm5/lib/components/service-messages/service-messages.component.js +0 -122
  230. package/esm5/lib/components/share-case/share-case.component.js +0 -435
  231. package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +0 -70
  232. package/esm5/lib/components/tab/tab.component.js +0 -51
  233. package/esm5/lib/components/tc-confirm/tc-confirm.component.js +0 -42
  234. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -22
  235. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -22
  236. package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -29
  237. package/esm5/lib/components/user-details/user-details.component.js +0 -92
  238. package/esm5/lib/components/user-list/user-list.component.js +0 -76
  239. package/esm5/lib/components/user-select/user-select.component.js +0 -131
  240. package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +0 -104
  241. package/esm5/lib/directives/index.js +0 -7
  242. package/esm5/lib/directives/let/let.directive.js +0 -78
  243. package/esm5/lib/directives/public-api.js +0 -8
  244. package/esm5/lib/exui-common-lib.module.js +0 -167
  245. package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -56
  246. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -36
  247. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -135
  248. package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -37
  249. package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
  250. package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -65
  251. package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -40
  252. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -66
  253. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -34
  254. package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -67
  255. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -36
  256. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -52
  257. package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -77
  258. package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -50
  259. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -38
  260. package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -108
  261. package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -40
  262. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -87
  263. package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -51
  264. package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -49
  265. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -46
  266. package/esm5/lib/gov-ui/components/index.js +0 -7
  267. package/esm5/lib/gov-ui/components/public_api.js +0 -7
  268. package/esm5/lib/gov-ui/directives/remove-host.directive.js +0 -52
  269. package/esm5/lib/gov-ui/gov-ui.service.js +0 -22
  270. package/esm5/lib/gov-ui/index.js +0 -7
  271. package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
  272. package/esm5/lib/gov-ui/models/checkboxes-model.js +0 -22
  273. package/esm5/lib/gov-ui/models/error-messages-model.js +0 -16
  274. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +0 -36
  275. package/esm5/lib/gov-ui/models/index.js +0 -7
  276. package/esm5/lib/gov-ui/models/isession-storage.interface.js +0 -24
  277. package/esm5/lib/gov-ui/models/public_api.js +0 -13
  278. package/esm5/lib/gov-ui/public_api.js +0 -12
  279. package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +0 -57
  280. package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -58
  281. package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -38
  282. package/esm5/lib/gov-ui/validators/date.validator.js +0 -32
  283. package/esm5/lib/gov-ui/validators/index.js +0 -7
  284. package/esm5/lib/gov-ui/validators/public_api.js +0 -12
  285. package/esm5/lib/gov-ui/validators/radio-group.validator.js +0 -27
  286. package/esm5/lib/models/case-share.model.js +0 -33
  287. package/esm5/lib/models/contact-details.model.js +0 -31
  288. package/esm5/lib/models/due-date.model.js +0 -15
  289. package/esm5/lib/models/feature-user.js +0 -28
  290. package/esm5/lib/models/filter.model.js +0 -130
  291. package/esm5/lib/models/idle-config.model.js +0 -20
  292. package/esm5/lib/models/index.js +0 -20
  293. package/esm5/lib/models/location.model.js +0 -129
  294. package/esm5/lib/models/pagination.model.js +0 -18
  295. package/esm5/lib/models/person.model.js +0 -96
  296. package/esm5/lib/models/public_api.js +0 -11
  297. package/esm5/lib/models/search-options.model.js +0 -22
  298. package/esm5/lib/models/tcDocument.model.js +0 -18
  299. package/esm5/lib/models/timeout-notification.model.js +0 -18
  300. package/esm5/lib/models/user-details.model.js +0 -22
  301. package/esm5/lib/models/user.model.js +0 -25
  302. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +0 -313
  303. package/esm5/lib/services/cookie/cookie.service.js +0 -136
  304. package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +0 -89
  305. package/esm5/lib/services/feature-toggle/feature-toggle.service.js +0 -90
  306. package/esm5/lib/services/feature-toggle/launch-darkly.service.js +0 -187
  307. package/esm5/lib/services/filter/filter.service.js +0 -190
  308. package/esm5/lib/services/find-person/find-person.service.js +0 -246
  309. package/esm5/lib/services/google-analytics/google-analytics.service.js +0 -128
  310. package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +0 -135
  311. package/esm5/lib/services/index.js +0 -7
  312. package/esm5/lib/services/loading/loading.service.js +0 -109
  313. package/esm5/lib/services/locations/location.service.js +0 -86
  314. package/esm5/lib/services/manage-session/manage-session.services.js +0 -111
  315. package/esm5/lib/services/public-api.js +0 -21
  316. package/esm5/lib/services/role-guard/role.guard.js +0 -81
  317. package/esm5/lib/services/role-guard/role.service.js +0 -45
  318. package/esm5/lib/services/session-storage/session-storage.service.js +0 -96
  319. package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +0 -190
  320. package/esm5/lib/window.js +0 -13
  321. package/esm5/public-api.js +0 -16
  322. package/fesm5/hmcts-rpx-xui-common-lib.js +0 -8157
  323. package/fesm5/hmcts-rpx-xui-common-lib.js.map +0 -1
  324. package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
  325. /package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +0 -0
@@ -1,18 +1,9 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/search-judicials/search-judicials.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
1
  import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
7
2
  import { AbstractControl, FormArray, FormBuilder, FormControl } from '@angular/forms';
8
3
  import { Subject } from 'rxjs';
9
4
  import { debounceTime, mergeMap } from 'rxjs/operators';
10
5
  import { FindAPersonService } from '../../services/find-person/find-person.service';
11
6
  export class SearchJudicialsComponent {
12
- /**
13
- * @param {?} judicialService
14
- * @param {?} fb
15
- */
16
7
  constructor(judicialService, fb) {
17
8
  this.judicialService = judicialService;
18
9
  this.disabled = null;
@@ -32,9 +23,6 @@ export class SearchJudicialsComponent {
32
23
  selectedFormControl: [null]
33
24
  });
34
25
  }
35
- /**
36
- * @return {?}
37
- */
38
26
  ngOnInit() {
39
27
  this.displayedJudicials = [];
40
28
  if (this.control) {
@@ -43,74 +31,28 @@ export class SearchJudicialsComponent {
43
31
  this.formGroup.controls.formControl.setValue(this.getControlValueDisplayText());
44
32
  }
45
33
  }
46
- this.keyUpSubject$.pipe(debounceTime(500)).subscribe((/**
47
- * @param {?} searchValue
48
- * @return {?}
49
- */
50
- searchValue => this.search((/** @type {?} */ (searchValue)))));
34
+ this.keyUpSubject$.pipe(debounceTime(500)).subscribe(searchValue => this.search(searchValue));
51
35
  }
52
- /**
53
- * @return {?}
54
- */
55
36
  onKeyDown() {
56
37
  this.judicialChanged.emit();
57
38
  }
58
- /**
59
- * @param {?} event
60
- * @return {?}
61
- */
62
39
  onKeyUp(event) {
63
40
  this.showAutocomplete = false;
64
41
  this.keyUpSubject$.next(event.target.value);
65
42
  }
66
- /**
67
- * @return {?}
68
- */
69
43
  onFocus() {
70
44
  this.showAutocomplete = false;
71
45
  }
72
- /**
73
- * @return {?}
74
- */
75
46
  get displayedJudicialsDuplicationFiltered() {
76
- return this.displayedJudicials.filter((/**
77
- * @param {?} judicial
78
- * @return {?}
79
- */
80
- judicial => !this.selectedJudicials.map((/**
81
- * @param {?} selectedJudicial
82
- * @return {?}
83
- */
84
- selectedJudicial => selectedJudicial.idamId)).includes(judicial.idamId)));
47
+ return this.displayedJudicials.filter(judicial => !this.selectedJudicials.map(selectedJudicial => selectedJudicial.idamId).includes(judicial.idamId));
85
48
  }
86
- /**
87
- * @param {?} term
88
- * @return {?}
89
- */
90
49
  filter(term) {
91
- this.searchJudicials(term, this.serviceId).pipe(mergeMap((/**
92
- * @param {?} apiData
93
- * @return {?}
94
- */
95
- (apiData) => {
96
- /** @type {?} */
97
- const apiFilter = apiData.filter((/**
98
- * @param {?} apiJudicial
99
- * @return {?}
100
- */
101
- apiJudicial => !this.selectedJudicials.map((/**
102
- * @param {?} selectedJudicial
103
- * @return {?}
104
- */
105
- selectedJudicial => selectedJudicial.idamId)).includes(apiJudicial.idamId)));
50
+ this.searchJudicials(term, this.serviceId).pipe(mergeMap((apiData) => {
51
+ const apiFilter = apiData.filter(apiJudicial => !this.selectedJudicials.map(selectedJudicial => selectedJudicial.idamId).includes(apiJudicial.idamId));
106
52
  this.displayedJudicials = apiFilter;
107
53
  this.searchInProgress = false;
108
54
  return apiFilter;
109
- }))).subscribe((/**
110
- * @param {?} judicial
111
- * @return {?}
112
- */
113
- judicial => {
55
+ })).subscribe(judicial => {
114
56
  if (term === judicial.fullName) {
115
57
  this.formGroup.controls.selectedFormControl.setValue(judicial);
116
58
  this.displayedJudicials = [];
@@ -118,25 +60,17 @@ export class SearchJudicialsComponent {
118
60
  this.showAutocomplete = false;
119
61
  }
120
62
  this.searchInProgress = false;
121
- }));
63
+ });
122
64
  }
123
- /**
124
- * @param {?=} selection
125
- * @return {?}
126
- */
127
65
  onSelectionChange(selection) {
128
66
  if (this.formGroup.controls.formControl instanceof FormArray) {
129
- ((/** @type {?} */ (this.formGroup.controls.selectedFormControl))).push(new FormControl(selection.idamId));
67
+ this.formGroup.controls.selectedFormControl.push(new FormControl(selection.idamId));
130
68
  }
131
69
  else {
132
70
  this.formGroup.controls.selectedFormControl.setValue(selection);
133
71
  }
134
72
  this.judicialChanged.emit(selection);
135
73
  }
136
- /**
137
- * @param {?} currentValue
138
- * @return {?}
139
- */
140
74
  search(currentValue) {
141
75
  this.searchInProgress = true;
142
76
  this.showAutocomplete = !!currentValue && (currentValue.length >= this.minSearchCharacters);
@@ -153,27 +87,15 @@ export class SearchJudicialsComponent {
153
87
  this.searchInProgress = false;
154
88
  }
155
89
  }
156
- /**
157
- * @param {?} selectedJudicial
158
- * @return {?}
159
- */
160
90
  getDisplayName(selectedJudicial) {
161
91
  return `${selectedJudicial.fullName} (${selectedJudicial.emailId})`;
162
92
  }
163
- /**
164
- * @param {?} term
165
- * @param {?} serviceId
166
- * @return {?}
167
- */
168
93
  searchJudicials(term, serviceId) {
169
94
  return this.judicialService.searchJudicial(term, serviceId);
170
95
  }
171
- /**
172
- * @return {?}
173
- */
174
96
  getControlValueDisplayText() {
175
97
  return this.formGroup && this.formGroup.controls && this.formGroup.controls.selectedFormControl.value ?
176
- this.getDisplayName((/** @type {?} */ (this.formGroup.controls.selectedFormControl.value))) : '';
98
+ this.getDisplayName(this.formGroup.controls.selectedFormControl.value) : '';
177
99
  }
178
100
  }
179
101
  SearchJudicialsComponent.decorators = [
@@ -181,9 +103,8 @@ SearchJudicialsComponent.decorators = [
181
103
  selector: 'xuilib-search-judicials',
182
104
  template: "<div class=\"govuk-form-group\">\n <input id=\"inputSelectPerson{{idValue}}\" [placeholder]=\"placeholderContent\" [formControl]=\"formGroup.controls.formControl\"\n [matAutocomplete]=\"autoComplete\" (keydown)=\"onKeyDown()\" (keyup)=\"onKeyUp($event)\" (focus)=\"onFocus()\"\n class=\"govuk-input\" [attr.disabled]=\"!disabled ? null: disabled\" [value]=\"getControlValueDisplayText()\"\n #inputSelection>\n <mat-autocomplete autoActiveFirstOption #autoComplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let judicial of displayedJudicialsDuplicationFiltered\" class=\"select-option\"\n [value]=\"getDisplayName(judicial)\" (onSelectionChange)=\"onSelectionChange(judicial)\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete}\">\n {{ getDisplayName(judicial) }}\n </mat-option>\n <mat-option class=\"select-option\"\n *ngIf=\"!displayedJudicialsDuplicationFiltered?.length && showAutocomplete && !searchInProgress\">\n {{ 'No results found' }}</mat-option>\n </mat-autocomplete>\n</div>\n",
183
105
  styles: [".hide-autocomplete{display:none}.mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}"]
184
- }] }
106
+ },] }
185
107
  ];
186
- /** @nocollapse */
187
108
  SearchJudicialsComponent.ctorParameters = () => [
188
109
  { type: FindAPersonService },
189
110
  { type: FormBuilder }
@@ -200,50 +121,6 @@ SearchJudicialsComponent.propDecorators = {
200
121
  idValue: [{ type: Input }],
201
122
  errorMessage: [{ type: Input }],
202
123
  serviceId: [{ type: Input }],
203
- autoCompleteInputBox: [{ type: ViewChild, args: ['inputSelection', { read: ElementRef },] }]
124
+ autoCompleteInputBox: [{ type: ViewChild, args: ['inputSelection', { read: ElementRef, static: true },] }]
204
125
  };
205
- if (false) {
206
- /** @type {?} */
207
- SearchJudicialsComponent.prototype.formGroup;
208
- /** @type {?} */
209
- SearchJudicialsComponent.prototype.control;
210
- /** @type {?} */
211
- SearchJudicialsComponent.prototype.disabled;
212
- /** @type {?} */
213
- SearchJudicialsComponent.prototype.selectedJudicials;
214
- /** @type {?} */
215
- SearchJudicialsComponent.prototype.submitted;
216
- /** @type {?} */
217
- SearchJudicialsComponent.prototype.placeholderContent;
218
- /** @type {?} */
219
- SearchJudicialsComponent.prototype.showAutocomplete;
220
- /** @type {?} */
221
- SearchJudicialsComponent.prototype.displayedJudicials;
222
- /** @type {?} */
223
- SearchJudicialsComponent.prototype.judicialChanged;
224
- /** @type {?} */
225
- SearchJudicialsComponent.prototype.idValue;
226
- /** @type {?} */
227
- SearchJudicialsComponent.prototype.errorMessage;
228
- /** @type {?} */
229
- SearchJudicialsComponent.prototype.serviceId;
230
- /** @type {?} */
231
- SearchJudicialsComponent.prototype.autoCompleteInputBox;
232
- /** @type {?} */
233
- SearchJudicialsComponent.prototype.selectedJudicial;
234
- /**
235
- * @type {?}
236
- * @private
237
- */
238
- SearchJudicialsComponent.prototype.minSearchCharacters;
239
- /** @type {?} */
240
- SearchJudicialsComponent.prototype.keyUpSubject$;
241
- /** @type {?} */
242
- SearchJudicialsComponent.prototype.searchInProgress;
243
- /**
244
- * @type {?}
245
- * @private
246
- */
247
- SearchJudicialsComponent.prototype.judicialService;
248
- }
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2VhcmNoLWp1ZGljaWFscy9zZWFyY2gtanVkaWNpYWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBT3BGLE1BQU0sT0FBTyx3QkFBd0I7Ozs7O0lBbUJuQyxZQUE2QixlQUFtQyxFQUFFLEVBQWU7UUFBcEQsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBaEJoRCxhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFDNUMsY0FBUyxHQUFhLElBQUksQ0FBQztRQUMzQix1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFDaEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBRWpDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDekQsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixpQkFBWSxHQUFXLHdCQUF3QixDQUFDO1FBQ2hELGNBQVMsR0FBVyxFQUFFLENBQUM7UUFHdEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQW9CLElBQUksT0FB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a0Q7O0lBQ2xELHNEQUF3RDs7SUFDeEQsbURBQXlFOztJQUN6RSwyQ0FBcUM7O0lBQ3JDLGdEQUFnRTs7SUFDaEUsNkNBQXVDOztJQUN2Qyx3REFBNkc7O0lBQzdHLG9EQUEyQzs7Ozs7SUFDM0MsdURBQXlDOztJQUN6QyxpREFBc0Q7O0lBQ3RELG9EQUF5Qzs7Ozs7SUFFN0IsbURBQW9EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSnVkaWNpYWxVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRmluZEFQZXJzb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmluZC1wZXJzb24vZmluZC1wZXJzb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zZWFyY2gtanVkaWNpYWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1qdWRpY2lhbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtanVkaWNpYWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoSnVkaWNpYWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRKdWRpY2lhbHM6IEp1ZGljaWFsVXNlck1vZGVsW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXJDb250ZW50OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNob3dBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXllZEp1ZGljaWFsczogSnVkaWNpYWxVc2VyTW9kZWxbXTtcbiAgQE91dHB1dCgpIHB1YmxpYyBqdWRpY2lhbENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEp1ZGljaWFsVXNlck1vZGVsPigpO1xuICBASW5wdXQoKSBwdWJsaWMgaWRWYWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICdZb3UgbXVzdCBzZWxlY3QgYSBuYW1lJztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VJZDogc3RyaW5nID0gJyc7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0U2VsZWN0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHB1YmxpYyBhdXRvQ29tcGxldGVJbnB1dEJveDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgcHVibGljIHNlbGVjdGVkSnVkaWNpYWw6IEp1ZGljaWFsVXNlck1vZGVsO1xuICBwcml2YXRlIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMga2V5VXBTdWJqZWN0JDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHNlYXJjaEluUHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1ZGljaWFsU2VydmljZTogRmluZEFQZXJzb25TZXJ2aWNlLCBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IGZiLmdyb3VwKHtcbiAgICAgIGZvcm1Db250cm9sOiBbbnVsbF0sXG4gICAgICBzZWxlY3RlZEZvcm1Db250cm9sOiBbbnVsbF1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZEp1ZGljaWFscyA9IFtdO1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Hcm91cCAmJiB0aGlzLmZvcm1Hcm91cC5jb250cm9scykge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sID0gdGhpcy5jb250cm9sO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmdldENvbnRyb2xWYWx1ZURpc3BsYXlUZXh0KCkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmtleVVwU3ViamVjdCQucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHNlYXJjaFZhbHVlID0+IHRoaXMuc2VhcmNoKHNlYXJjaFZhbHVlIGFzIHN0cmluZykpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5RG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmp1ZGljaWFsQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlVcChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy5rZXlVcFN1YmplY3QkLm5leHQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvY3VzKCkge1xuICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWRKdWRpY2lhbHNEdXBsaWNhdGlvbkZpbHRlcmVkKCk6IEp1ZGljaWFsVXNlck1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXllZEp1ZGljaWFscy5maWx0ZXIoXG4gICAgICBqdWRpY2lhbCA9PiAhdGhpcy5zZWxlY3RlZEp1ZGljaWFscy5tYXAoc2VsZWN0ZWRKdWRpY2lhbCA9PiBzZWxlY3RlZEp1ZGljaWFsLmlkYW1JZCkuaW5jbHVkZXMoanVkaWNpYWwuaWRhbUlkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoSnVkaWNpYWxzKHRlcm0sIHRoaXMuc2VydmljZUlkKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGFwaURhdGE6IEp1ZGljaWFsVXNlck1vZGVsW10pID0+IHtcbiAgICAgICAgY29uc3QgYXBpRmlsdGVyID0gYXBpRGF0YS5maWx0ZXIoXG4gICAgICAgICAgYXBpSnVkaWNpYWwgPT4gIXRoaXMuc2VsZWN0ZWRKdWRpY2lhbHMubWFwKHNlbGVjdGVkSnVkaWNpYWwgPT4gc2VsZWN0ZWRKdWRpY2lhbC5pZGFtSWQpLmluY2x1ZGVzKGFwaUp1ZGljaWFsLmlkYW1JZClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRKdWRpY2lhbHMgPSBhcGlGaWx0ZXI7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYXBpRmlsdGVyO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZShqdWRpY2lhbCA9PiB7XG4gICAgICBpZiAodGVybSA9PT0ganVkaWNpYWwuZnVsbE5hbWUpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbCk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkSnVkaWNpYWxzID0gW107XG4gICAgICAgIHRoaXMuanVkaWNpYWxDaGFuZ2VkLmVtaXQoanVkaWNpYWwpO1xuICAgICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbj86IEp1ZGljaWFsVXNlck1vZGVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLmZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAodGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbCBhcyBGb3JtQXJyYXkpLnB1c2gobmV3IEZvcm1Db250cm9sKHNlbGVjdGlvbi5pZGFtSWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3Rpb24pO1xuICAgIH1cbiAgICB0aGlzLmp1ZGljaWFsQ2hhbmdlZC5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKGN1cnJlbnRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hJblByb2dyZXNzID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSAhIWN1cnJlbnRWYWx1ZSAmJiAoY3VycmVudFZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpO1xuICAgIGlmICghIWN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNob3dBdXRvY29tcGxldGUpIHtcbiAgICAgIHRoaXMuZmlsdGVyKGN1cnJlbnRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5TmFtZShzZWxlY3RlZEp1ZGljaWFsOiBKdWRpY2lhbFVzZXJNb2RlbCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3NlbGVjdGVkSnVkaWNpYWwuZnVsbE5hbWV9ICgke3NlbGVjdGVkSnVkaWNpYWwuZW1haWxJZH0pYDtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hKdWRpY2lhbHModGVybTogc3RyaW5nLCBzZXJ2aWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmp1ZGljaWFsU2VydmljZS5zZWFyY2hKdWRpY2lhbCh0ZXJtLCBzZXJ2aWNlSWQpO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRyb2xWYWx1ZURpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wudmFsdWUgP1xuICAgICAgdGhpcy5nZXREaXNwbGF5TmFtZSh0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnZhbHVlIGFzIEp1ZGljaWFsVXNlck1vZGVsKSA6ICcnO1xuICB9XG59XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1qdWRpY2lhbHMvc2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFPcEYsTUFBTSxPQUFPLHdCQUF3QjtJQW1CbkMsWUFBNkIsZUFBbUMsRUFBRSxFQUFlO1FBQXBELG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQWhCaEQsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixzQkFBaUIsR0FBd0IsRUFBRSxDQUFDO1FBQzVDLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFDM0IsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBQ2hDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVqQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ3pELFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsaUJBQVksR0FBVyx3QkFBd0IsQ0FBQztRQUNoRCxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR3RCLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFvQixJ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QUVNLGNBQWMsQ0FBQyxnQkFBbUM7UUFDdkQsT0FBTyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsQ0FBQztJQUN0RSxDQUFDO0lBRU0sZUFBZSxDQUFDLElBQVksRUFBRSxTQUFpQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3JHLENBQUM7OztZQXJIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsOGhDQUFnRDs7YUFFakQ7OztZQU5RLGtCQUFrQjtZQUpVLFdBQVc7OztzQkFhN0MsS0FBSzt1QkFDTCxLQUFLO2dDQUNMLEtBQUs7d0JBQ0wsS0FBSztpQ0FDTCxLQUFLOytCQUNMLEtBQUs7aUNBQ0wsS0FBSzs4QkFDTCxNQUFNO3NCQUNOLEtBQUs7MkJBQ0wsS0FBSzt3QkFDTCxLQUFLO21DQUNMLFNBQVMsU0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEp1ZGljaWFsVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbmRBUGVyc29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VhcmNoLWp1ZGljaWFscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtanVkaWNpYWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEp1ZGljaWFsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkSnVkaWNpYWxzOiBKdWRpY2lhbFVzZXJNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyQ29udGVudDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5ZWRKdWRpY2lhbHM6IEp1ZGljaWFsVXNlck1vZGVsW107XG4gIEBPdXRwdXQoKSBwdWJsaWMganVkaWNpYWxDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxKdWRpY2lhbFVzZXJNb2RlbD4oKTtcbiAgQElucHV0KCkgcHVibGljIGlkVmFsdWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnWW91IG11c3Qgc2VsZWN0IGEgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWQ6IHN0cmluZyA9ICcnO1xuICBAVmlld0NoaWxkKCdpbnB1dFNlbGVjdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBhdXRvQ29tcGxldGVJbnB1dEJveDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgcHVibGljIHNlbGVjdGVkSnVkaWNpYWw6IEp1ZGljaWFsVXNlck1vZGVsO1xuICBwcml2YXRlIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMga2V5VXBTdWJqZWN0JDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHNlYXJjaEluUHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1ZGljaWFsU2VydmljZTogRmluZEFQZXJzb25TZXJ2aWNlLCBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IGZiLmdyb3VwKHtcbiAgICAgIGZvcm1Db250cm9sOiBbbnVsbF0sXG4gICAgICBzZWxlY3RlZEZvcm1Db250cm9sOiBbbnVsbF1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZEp1ZGljaWFscyA9IFtdO1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Hcm91cCAmJiB0aGlzLmZvcm1Hcm91cC5jb250cm9scykge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sID0gdGhpcy5jb250cm9sO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmdldENvbnRyb2xWYWx1ZURpc3BsYXlUZXh0KCkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmtleVVwU3ViamVjdCQucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHNlYXJjaFZhbHVlID0+IHRoaXMuc2VhcmNoKHNlYXJjaFZhbHVlIGFzIHN0cmluZykpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5RG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmp1ZGljaWFsQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlVcChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy5rZXlVcFN1YmplY3QkLm5leHQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvY3VzKCkge1xuICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWRKdWRpY2lhbHNEdXBsaWNhdGlvbkZpbHRlcmVkKCk6IEp1ZGljaWFsVXNlck1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXllZEp1ZGljaWFscy5maWx0ZXIoXG4gICAgICBqdWRpY2lhbCA9PiAhdGhpcy5zZWxlY3RlZEp1ZGljaWFscy5tYXAoc2VsZWN0ZWRKdWRpY2lhbCA9PiBzZWxlY3RlZEp1ZGljaWFsLmlkYW1JZCkuaW5jbHVkZXMoanVkaWNpYWwuaWRhbUlkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoSnVkaWNpYWxzKHRlcm0sIHRoaXMuc2VydmljZUlkKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGFwaURhdGE6IEp1ZGljaWFsVXNlck1vZGVsW10pID0+IHtcbiAgICAgICAgY29uc3QgYXBpRmlsdGVyID0gYXBpRGF0YS5maWx0ZXIoXG4gICAgICAgICAgYXBpSnVkaWNpYWwgPT4gIXRoaXMuc2VsZWN0ZWRKdWRpY2lhbHMubWFwKHNlbGVjdGVkSnVkaWNpYWwgPT4gc2VsZWN0ZWRKdWRpY2lhbC5pZGFtSWQpLmluY2x1ZGVzKGFwaUp1ZGljaWFsLmlkYW1JZClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRKdWRpY2lhbHMgPSBhcGlGaWx0ZXI7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYXBpRmlsdGVyO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZShqdWRpY2lhbCA9PiB7XG4gICAgICBpZiAodGVybSA9PT0ganVkaWNpYWwuZnVsbE5hbWUpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbCk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkSnVkaWNpYWxzID0gW107XG4gICAgICAgIHRoaXMuanVkaWNpYWxDaGFuZ2VkLmVtaXQoanVkaWNpYWwpO1xuICAgICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbj86IEp1ZGljaWFsVXNlck1vZGVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLmZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAodGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbCBhcyBGb3JtQXJyYXkpLnB1c2gobmV3IEZvcm1Db250cm9sKHNlbGVjdGlvbi5pZGFtSWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3Rpb24pO1xuICAgIH1cbiAgICB0aGlzLmp1ZGljaWFsQ2hhbmdlZC5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKGN1cnJlbnRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hJblByb2dyZXNzID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSAhIWN1cnJlbnRWYWx1ZSAmJiAoY3VycmVudFZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpO1xuICAgIGlmICghIWN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNob3dBdXRvY29tcGxldGUpIHtcbiAgICAgIHRoaXMuZmlsdGVyKGN1cnJlbnRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5TmFtZShzZWxlY3RlZEp1ZGljaWFsOiBKdWRpY2lhbFVzZXJNb2RlbCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3NlbGVjdGVkSnVkaWNpYWwuZnVsbE5hbWV9ICgke3NlbGVjdGVkSnVkaWNpYWwuZW1haWxJZH0pYDtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hKdWRpY2lhbHModGVybTogc3RyaW5nLCBzZXJ2aWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmp1ZGljaWFsU2VydmljZS5zZWFyY2hKdWRpY2lhbCh0ZXJtLCBzZXJ2aWNlSWQpO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRyb2xWYWx1ZURpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wudmFsdWUgP1xuICAgICAgdGhpcy5nZXREaXNwbGF5TmFtZSh0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnZhbHVlIGFzIEp1ZGljaWFsVXNlck1vZGVsKSA6ICcnO1xuICB9XG59XG4iXX0=