@hmcts/rpx-xui-common-lib 1.7.0-ao-rectification → 1.8.0-angular-upgrade-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 (284) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +4154 -6312
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +15 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +29 -33
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +13 -17
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +45 -127
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +16 -23
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +31 -78
  10. package/esm2015/lib/components/due-date/due-date.component.js +24 -110
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +29 -34
  12. package/esm2015/lib/components/find-location/find-location.component.js +62 -132
  13. package/esm2015/lib/components/find-person/find-person.component.js +93 -174
  14. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +11 -55
  15. package/esm2015/lib/components/generic-filter/generic-filter.component.js +54 -290
  16. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +20 -29
  17. package/esm2015/lib/components/index.js +2 -7
  18. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +23 -33
  19. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +34 -35
  20. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +16 -22
  21. package/esm2015/lib/components/pagination/pagination.component.js +28 -38
  22. package/esm2015/lib/components/public_api.js +33 -34
  23. package/esm2015/lib/components/search-judicials/search-judicials.component.js +163 -0
  24. package/esm2015/lib/components/search-location/search-location.component.js +79 -180
  25. package/esm2015/lib/components/search-venue/search-venue.component.js +154 -0
  26. package/esm2015/lib/components/selected-case/selected-case.component.js +54 -191
  27. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -53
  28. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +38 -68
  29. package/esm2015/lib/components/service-message/service-message.component.js +23 -32
  30. package/esm2015/lib/components/service-messages/service-messages.component.js +29 -77
  31. package/esm2015/lib/components/share-case/share-case.component.js +45 -104
  32. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +27 -50
  33. package/esm2015/lib/components/tab/tab.component.js +19 -37
  34. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +20 -29
  35. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +13 -17
  36. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +13 -17
  37. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +16 -23
  38. package/esm2015/lib/components/user-details/user-details.component.js +47 -57
  39. package/esm2015/lib/components/user-list/user-list.component.js +19 -83
  40. package/esm2015/lib/components/user-select/user-select.component.js +23 -64
  41. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +21 -67
  42. package/esm2015/lib/directives/index.js +2 -7
  43. package/esm2015/lib/directives/let/let.directive.js +16 -49
  44. package/esm2015/lib/directives/public-api.js +3 -8
  45. package/esm2015/lib/exui-common-lib.module.js +35 -41
  46. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +23 -34
  47. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +18 -23
  48. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +30 -68
  49. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +19 -25
  50. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +19 -28
  51. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -36
  52. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +23 -28
  53. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -35
  54. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +15 -22
  55. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +23 -35
  56. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +18 -23
  57. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +27 -34
  58. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +32 -47
  59. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +22 -29
  60. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +20 -26
  61. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +26 -56
  62. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +17 -27
  63. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +40 -52
  64. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +29 -36
  65. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +18 -35
  66. package/esm2015/lib/gov-ui/components/index.js +2 -7
  67. package/esm2015/lib/gov-ui/components/public_api.js +21 -7
  68. package/esm2015/lib/gov-ui/directives/index.js +2 -0
  69. package/esm2015/lib/gov-ui/directives/public_api.js +2 -0
  70. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +12 -30
  71. package/esm2015/lib/gov-ui/gov-ui.service.js +12 -16
  72. package/esm2015/lib/gov-ui/index.js +2 -7
  73. package/esm2015/lib/gov-ui/models/banner-data-model.js +1 -16
  74. package/esm2015/lib/gov-ui/models/checkboxes-model.js +1 -22
  75. package/esm2015/lib/gov-ui/models/error-messages-model.js +1 -16
  76. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +1 -36
  77. package/esm2015/lib/gov-ui/models/index.js +1 -7
  78. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +1 -24
  79. package/esm2015/lib/gov-ui/models/public_api.js +1 -10
  80. package/esm2015/lib/gov-ui/public_api.js +5 -9
  81. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
  82. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
  83. package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  84. package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
  85. package/esm2015/lib/gov-ui/validators/index.js +2 -7
  86. package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
  87. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
  88. package/esm2015/lib/models/case-share.model.js +1 -26
  89. package/esm2015/lib/models/contact-details.model.js +7 -31
  90. package/esm2015/lib/models/due-date.model.js +7 -14
  91. package/esm2015/lib/models/feature-user.js +1 -16
  92. package/esm2015/lib/models/filter.model.js +1 -110
  93. package/esm2015/lib/models/idle-config.model.js +1 -20
  94. package/esm2015/lib/models/index.js +6 -19
  95. package/esm2015/lib/models/location.model.js +1 -108
  96. package/esm2015/lib/models/person.model.js +17 -66
  97. package/esm2015/lib/models/public_api.js +4 -11
  98. package/esm2015/lib/models/search-options.model.js +1 -22
  99. package/esm2015/lib/models/tcDocument.model.js +1 -18
  100. package/esm2015/lib/models/timeout-notification.model.js +1 -18
  101. package/esm2015/lib/models/user-details.model.js +1 -22
  102. package/esm2015/lib/models/user.model.js +1 -25
  103. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +19 -92
  104. package/esm2015/lib/services/cookie/cookie.service.js +19 -78
  105. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +16 -51
  106. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +11 -35
  107. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +21 -101
  108. package/esm2015/lib/services/filter/filter.service.js +11 -63
  109. package/esm2015/lib/services/find-person/find-person.service.js +28 -125
  110. package/esm2015/lib/services/google-analytics/google-analytics.service.js +21 -70
  111. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +23 -71
  112. package/esm2015/lib/services/index.js +2 -7
  113. package/esm2015/lib/services/loading/loading.service.js +11 -48
  114. package/esm2015/lib/services/locations/location.service.js +27 -30
  115. package/esm2015/lib/services/manage-session/manage-session.services.js +21 -70
  116. package/esm2015/lib/services/public-api.js +13 -18
  117. package/esm2015/lib/services/role-guard/role.guard.js +24 -61
  118. package/esm2015/lib/services/role-guard/role.service.js +11 -28
  119. package/esm2015/lib/services/session-storage/session-storage.service.js +12 -24
  120. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +20 -82
  121. package/esm2015/lib/window.js +1 -10
  122. package/esm2015/public-api.js +8 -13
  123. package/esm5/hmcts-rpx-xui-common-lib.js +29 -33
  124. package/esm5/lib/components/accessibility/accessibility.component.js +10 -15
  125. package/esm5/lib/components/checkbox-list/checkbox-list.component.js +57 -232
  126. package/esm5/lib/components/contact-details/contact-details.component.js +14 -22
  127. package/esm5/lib/components/cookie-banner/cookie-banner.component.js +36 -106
  128. package/esm5/lib/components/due-date/due-date.component.js +29 -142
  129. package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +27 -33
  130. package/esm5/lib/components/find-location/find-location.component.js +72 -168
  131. package/esm5/lib/components/find-person/find-person.component.js +97 -193
  132. package/esm5/lib/components/generic-filter/generic-filter-utils.js +13 -57
  133. package/esm5/lib/components/generic-filter/generic-filter.component.js +83 -409
  134. package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +19 -32
  135. package/esm5/lib/components/index.js +2 -7
  136. package/esm5/lib/components/invite-user-form/invite-user-form.component.js +23 -37
  137. package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +32 -34
  138. package/esm5/lib/components/loading-spinner/loading-spinner.component.js +14 -21
  139. package/esm5/lib/components/pagination/pagination.component.js +28 -45
  140. package/esm5/lib/components/public_api.js +33 -34
  141. package/esm5/lib/components/search-judicials/search-judicials.component.js +171 -0
  142. package/esm5/lib/components/search-location/search-location.component.js +87 -210
  143. package/esm5/lib/components/search-venue/search-venue.component.js +162 -0
  144. package/esm5/lib/components/selected-case/selected-case.component.js +72 -279
  145. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -61
  146. package/esm5/lib/components/selected-case-list/selected-case-list.component.js +39 -82
  147. package/esm5/lib/components/service-message/service-message.component.js +22 -36
  148. package/esm5/lib/components/service-messages/service-messages.component.js +30 -91
  149. package/esm5/lib/components/share-case/share-case.component.js +52 -138
  150. package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +25 -49
  151. package/esm5/lib/components/tab/tab.component.js +18 -41
  152. package/esm5/lib/components/tc-confirm/tc-confirm.component.js +19 -32
  153. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +10 -15
  154. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +10 -15
  155. package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +14 -22
  156. package/esm5/lib/components/user-details/user-details.component.js +48 -71
  157. package/esm5/lib/components/user-list/user-list.component.js +18 -103
  158. package/esm5/lib/components/user-select/user-select.component.js +27 -92
  159. package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +21 -70
  160. package/esm5/lib/directives/index.js +2 -7
  161. package/esm5/lib/directives/let/let.directive.js +15 -51
  162. package/esm5/lib/directives/public-api.js +3 -8
  163. package/esm5/lib/exui-common-lib.module.js +26 -35
  164. package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +22 -37
  165. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +16 -22
  166. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +32 -89
  167. package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +17 -24
  168. package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +18 -31
  169. package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -43
  170. package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +21 -27
  171. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -45
  172. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +13 -21
  173. package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +18 -44
  174. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +16 -22
  175. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +26 -37
  176. package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +31 -51
  177. package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +21 -32
  178. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +18 -25
  179. package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +28 -71
  180. package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +16 -27
  181. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +41 -60
  182. package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +28 -36
  183. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +16 -34
  184. package/esm5/lib/gov-ui/components/index.js +2 -7
  185. package/esm5/lib/gov-ui/components/public_api.js +21 -7
  186. package/esm5/lib/gov-ui/directives/index.js +2 -0
  187. package/esm5/lib/gov-ui/directives/public_api.js +2 -0
  188. package/esm5/lib/gov-ui/directives/remove-host.directive.js +10 -29
  189. package/esm5/lib/gov-ui/gov-ui.service.js +9 -14
  190. package/esm5/lib/gov-ui/index.js +2 -7
  191. package/esm5/lib/gov-ui/models/banner-data-model.js +1 -16
  192. package/esm5/lib/gov-ui/models/checkboxes-model.js +1 -22
  193. package/esm5/lib/gov-ui/models/error-messages-model.js +1 -16
  194. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +1 -36
  195. package/esm5/lib/gov-ui/models/index.js +1 -7
  196. package/esm5/lib/gov-ui/models/isession-storage.interface.js +1 -24
  197. package/esm5/lib/gov-ui/models/public_api.js +1 -10
  198. package/esm5/lib/gov-ui/public_api.js +5 -9
  199. package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +3 -34
  200. package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
  201. package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  202. package/esm5/lib/gov-ui/validators/date.validator.js +3 -20
  203. package/esm5/lib/gov-ui/validators/index.js +2 -7
  204. package/esm5/lib/gov-ui/validators/public_api.js +4 -9
  205. package/esm5/lib/gov-ui/validators/radio-group.validator.js +3 -15
  206. package/esm5/lib/models/case-share.model.js +1 -26
  207. package/esm5/lib/models/contact-details.model.js +7 -31
  208. package/esm5/lib/models/due-date.model.js +7 -14
  209. package/esm5/lib/models/feature-user.js +1 -16
  210. package/esm5/lib/models/filter.model.js +1 -110
  211. package/esm5/lib/models/idle-config.model.js +1 -20
  212. package/esm5/lib/models/index.js +6 -19
  213. package/esm5/lib/models/location.model.js +1 -108
  214. package/esm5/lib/models/person.model.js +17 -66
  215. package/esm5/lib/models/public_api.js +4 -11
  216. package/esm5/lib/models/search-options.model.js +1 -22
  217. package/esm5/lib/models/tcDocument.model.js +1 -18
  218. package/esm5/lib/models/timeout-notification.model.js +1 -18
  219. package/esm5/lib/models/user-details.model.js +1 -22
  220. package/esm5/lib/models/user.model.js +1 -25
  221. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +27 -132
  222. package/esm5/lib/services/cookie/cookie.service.js +21 -104
  223. package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +13 -61
  224. package/esm5/lib/services/feature-toggle/feature-toggle.service.js +12 -70
  225. package/esm5/lib/services/feature-toggle/launch-darkly.service.js +21 -142
  226. package/esm5/lib/services/filter/filter.service.js +15 -101
  227. package/esm5/lib/services/find-person/find-person.service.js +29 -141
  228. package/esm5/lib/services/google-analytics/google-analytics.service.js +21 -78
  229. package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +23 -79
  230. package/esm5/lib/services/index.js +2 -7
  231. package/esm5/lib/services/loading/loading.service.js +14 -69
  232. package/esm5/lib/services/locations/location.service.js +19 -34
  233. package/esm5/lib/services/manage-session/manage-session.services.js +20 -73
  234. package/esm5/lib/services/public-api.js +13 -18
  235. package/esm5/lib/services/role-guard/role.guard.js +22 -60
  236. package/esm5/lib/services/role-guard/role.service.js +10 -28
  237. package/esm5/lib/services/session-storage/session-storage.service.js +12 -61
  238. package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +19 -111
  239. package/esm5/lib/window.js +1 -10
  240. package/esm5/public-api.js +8 -13
  241. package/fesm2015/hmcts-rpx-xui-common-lib.js +3150 -4658
  242. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  243. package/fesm5/hmcts-rpx-xui-common-lib.js +2951 -5334
  244. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  245. package/hmcts-rpx-xui-common-lib.d.ts +27 -26
  246. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  247. package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
  248. package/lib/components/due-date/due-date.component.d.ts +4 -4
  249. package/lib/components/find-location/find-location.component.d.ts +5 -3
  250. package/lib/components/generic-filter/generic-filter.component.d.ts +4 -2
  251. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
  252. package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
  253. package/lib/components/public_api.d.ts +9 -5
  254. package/lib/components/search-judicials/search-judicials.component.d.ts +37 -0
  255. package/lib/components/search-location/search-location.component.d.ts +4 -2
  256. package/lib/components/search-venue/search-venue.component.d.ts +37 -0
  257. package/lib/components/user-list/user-list.component.d.ts +0 -8
  258. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
  259. package/lib/directives/let/let.directive.d.ts +1 -1
  260. package/lib/exui-common-lib.module.d.ts +3 -1
  261. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
  262. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
  263. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
  264. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
  265. package/lib/gov-ui/components/public_api.d.ts +19 -0
  266. package/lib/gov-ui/directives/index.d.ts +1 -0
  267. package/lib/gov-ui/directives/public_api.d.ts +1 -0
  268. package/lib/gov-ui/public_api.d.ts +2 -1
  269. package/lib/models/filter.model.d.ts +1 -0
  270. package/lib/models/index.d.ts +0 -1
  271. package/lib/models/person.model.d.ts +12 -0
  272. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
  273. package/lib/services/find-person/find-person.service.d.ts +2 -1
  274. package/lib/services/loading/loading.service.d.ts +2 -2
  275. package/lib/services/locations/location.service.d.ts +8 -0
  276. package/lib/services/role-guard/role.service.d.ts +2 -1
  277. package/lib/window.d.ts +2 -2
  278. package/package.json +3 -8
  279. package/esm2015/lib/components/pagination-v1/pagination.component.js +0 -130
  280. package/esm2015/lib/models/pagination.model.js +0 -16
  281. package/esm5/lib/components/pagination-v1/pagination.component.js +0 -144
  282. package/esm5/lib/models/pagination.model.js +0 -16
  283. package/lib/components/pagination-v1/pagination.component.d.ts +0 -19
  284. package/lib/models/pagination.model.d.ts +0 -4
@@ -0,0 +1,171 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
+ import { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';
4
+ import { Subject } from 'rxjs';
5
+ import { debounceTime, mergeMap } from 'rxjs/operators';
6
+ import { FindAPersonService } from '../../services/find-person/find-person.service';
7
+ var SearchJudicialsComponent = /** @class */ (function () {
8
+ function SearchJudicialsComponent(judicialService, fb) {
9
+ this.judicialService = judicialService;
10
+ this.disabled = null;
11
+ this.selectedJudicials = [];
12
+ this.submitted = true;
13
+ this.placeholderContent = '';
14
+ this.showAutocomplete = false;
15
+ this.judicialChanged = new EventEmitter();
16
+ this.idValue = '';
17
+ this.errorMessage = 'You must select a name';
18
+ this.serviceId = '';
19
+ this.minSearchCharacters = 3;
20
+ this.keyUpSubject$ = new Subject();
21
+ this.searchInProgress = false;
22
+ this.formGroup = fb.group({
23
+ formControl: [null],
24
+ selectedFormControl: [null]
25
+ });
26
+ }
27
+ SearchJudicialsComponent.prototype.ngOnInit = function () {
28
+ var _this = this;
29
+ this.displayedJudicials = [];
30
+ if (this.control) {
31
+ if (this.formGroup && this.formGroup.controls) {
32
+ this.formGroup.controls.selectedFormControl = this.control;
33
+ this.formGroup.controls.formControl.setValue(this.getControlValueDisplayText());
34
+ }
35
+ }
36
+ this.keyUpSubject$.pipe(debounceTime(500)).subscribe(function (searchValue) { return _this.search(searchValue); });
37
+ };
38
+ SearchJudicialsComponent.prototype.onKeyDown = function () {
39
+ this.judicialChanged.emit();
40
+ };
41
+ SearchJudicialsComponent.prototype.onKeyUp = function (event) {
42
+ this.showAutocomplete = false;
43
+ this.keyUpSubject$.next(event.target.value);
44
+ };
45
+ SearchJudicialsComponent.prototype.onFocus = function () {
46
+ this.showAutocomplete = false;
47
+ };
48
+ Object.defineProperty(SearchJudicialsComponent.prototype, "displayedJudicialsDuplicationFiltered", {
49
+ get: function () {
50
+ var _this = this;
51
+ return this.displayedJudicials.filter(function (judicial) { return !_this.selectedJudicials.map(function (selectedJudicial) { return selectedJudicial.idamId; }).includes(judicial.idamId); });
52
+ },
53
+ enumerable: true,
54
+ configurable: true
55
+ });
56
+ SearchJudicialsComponent.prototype.filter = function (term) {
57
+ var _this = this;
58
+ this.searchJudicials(term, this.serviceId).pipe(mergeMap(function (apiData) {
59
+ var apiFilter = apiData.filter(function (apiJudicial) { return !_this.selectedJudicials.map(function (selectedJudicial) { return selectedJudicial.idamId; }).includes(apiJudicial.idamId); });
60
+ _this.displayedJudicials = apiFilter;
61
+ _this.searchInProgress = false;
62
+ return apiFilter;
63
+ })).subscribe(function (judicial) {
64
+ if (term === judicial.knownAs) {
65
+ _this.formGroup.controls.selectedFormControl.setValue(judicial);
66
+ _this.displayedJudicials = [];
67
+ _this.judicialChanged.emit(judicial);
68
+ _this.showAutocomplete = false;
69
+ }
70
+ _this.searchInProgress = false;
71
+ });
72
+ };
73
+ SearchJudicialsComponent.prototype.onSelectionChange = function (selection) {
74
+ if (this.formGroup.controls.formControl instanceof FormArray) {
75
+ this.formGroup.controls.selectedFormControl.push(new FormControl(selection.idamId));
76
+ }
77
+ else {
78
+ this.formGroup.controls.selectedFormControl.setValue(selection);
79
+ }
80
+ this.judicialChanged.emit(selection);
81
+ };
82
+ SearchJudicialsComponent.prototype.search = function (currentValue) {
83
+ this.searchInProgress = true;
84
+ this.showAutocomplete = !!currentValue && (currentValue.length >= this.minSearchCharacters);
85
+ if (!!currentValue) {
86
+ this.formGroup.controls.selectedFormControl.markAsDirty();
87
+ }
88
+ else {
89
+ this.formGroup.controls.selectedFormControl.reset();
90
+ }
91
+ if (this.showAutocomplete) {
92
+ this.filter(currentValue);
93
+ }
94
+ else {
95
+ this.searchInProgress = false;
96
+ }
97
+ };
98
+ SearchJudicialsComponent.prototype.getDisplayName = function (selectedJudicial) {
99
+ return selectedJudicial.knownAs + " (" + selectedJudicial.emailId + ")";
100
+ };
101
+ SearchJudicialsComponent.prototype.searchJudicials = function (term, serviceId) {
102
+ return this.judicialService.searchJudicial(term, serviceId);
103
+ };
104
+ SearchJudicialsComponent.prototype.getControlValueDisplayText = function () {
105
+ return this.formGroup && this.formGroup.controls && this.formGroup.controls.selectedFormControl.value ?
106
+ this.getDisplayName(this.formGroup.controls.selectedFormControl.value) : '';
107
+ };
108
+ SearchJudicialsComponent.ctorParameters = function () { return [
109
+ { type: FindAPersonService },
110
+ { type: FormBuilder }
111
+ ]; };
112
+ __decorate([
113
+ Input(),
114
+ __metadata("design:type", AbstractControl)
115
+ ], SearchJudicialsComponent.prototype, "control", void 0);
116
+ __decorate([
117
+ Input(),
118
+ __metadata("design:type", Boolean)
119
+ ], SearchJudicialsComponent.prototype, "disabled", void 0);
120
+ __decorate([
121
+ Input(),
122
+ __metadata("design:type", Array)
123
+ ], SearchJudicialsComponent.prototype, "selectedJudicials", void 0);
124
+ __decorate([
125
+ Input(),
126
+ __metadata("design:type", Boolean)
127
+ ], SearchJudicialsComponent.prototype, "submitted", void 0);
128
+ __decorate([
129
+ Input(),
130
+ __metadata("design:type", String)
131
+ ], SearchJudicialsComponent.prototype, "placeholderContent", void 0);
132
+ __decorate([
133
+ Input(),
134
+ __metadata("design:type", Boolean)
135
+ ], SearchJudicialsComponent.prototype, "showAutocomplete", void 0);
136
+ __decorate([
137
+ Input(),
138
+ __metadata("design:type", Array)
139
+ ], SearchJudicialsComponent.prototype, "displayedJudicials", void 0);
140
+ __decorate([
141
+ Output(),
142
+ __metadata("design:type", Object)
143
+ ], SearchJudicialsComponent.prototype, "judicialChanged", void 0);
144
+ __decorate([
145
+ Input(),
146
+ __metadata("design:type", String)
147
+ ], SearchJudicialsComponent.prototype, "idValue", void 0);
148
+ __decorate([
149
+ Input(),
150
+ __metadata("design:type", String)
151
+ ], SearchJudicialsComponent.prototype, "errorMessage", void 0);
152
+ __decorate([
153
+ Input(),
154
+ __metadata("design:type", String)
155
+ ], SearchJudicialsComponent.prototype, "serviceId", void 0);
156
+ __decorate([
157
+ ViewChild('inputSelection', { read: ElementRef }),
158
+ __metadata("design:type", ElementRef)
159
+ ], SearchJudicialsComponent.prototype, "autoCompleteInputBox", void 0);
160
+ SearchJudicialsComponent = __decorate([
161
+ Component({
162
+ selector: 'xuilib-search-judicials',
163
+ 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",
164
+ styles: [".hide-autocomplete{display:none}.mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}"]
165
+ }),
166
+ __metadata("design:paramtypes", [FindAPersonService, FormBuilder])
167
+ ], SearchJudicialsComponent);
168
+ return SearchJudicialsComponent;
169
+ }());
170
+ export { SearchJudicialsComponent };
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2VhcmNoLWp1ZGljaWFscy9zZWFyY2gtanVkaWNpYWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBT3BGO0lBbUJFLGtDQUE2QixlQUFtQyxFQUFFLEVBQWU7UUFBcEQsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBaEJoRCxhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFDNUMsY0FBUyxHQUFhLElBQUksQ0FBQztRQUMzQix1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFDaEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBRWpDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDekQsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixpQkFBWSxHQUFXLHdCQUF3QixDQUFDO1FBQ2hELGNBQVMsR0FBVyxFQUFFLENBQUM7UUFHdEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7UUFD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RTs7a0VBQXdEO0lBQ3ZEO1FBQVIsS0FBSyxFQUFFOzsrREFBK0I7SUFDWTtRQUFsRCxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7a0NBQThCLFVBQVU7MEVBQW1CO0lBYmxHLHdCQUF3QjtRQUxwQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLDhoQ0FBZ0Q7O1NBRWpELENBQUM7eUNBb0I4QyxrQkFBa0IsRUFBTSxXQUFXO09BbkJ0RSx3QkFBd0IsQ0FpSHBDO0lBQUQsK0JBQUM7Q0FBQSxBQWpIRCxJQWlIQztTQWpIWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBKdWRpY2lhbFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBGaW5kQVBlcnNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maW5kLXBlcnNvbi9maW5kLXBlcnNvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXNlYXJjaC1qdWRpY2lhbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1qdWRpY2lhbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hKdWRpY2lhbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEp1ZGljaWFsczogSnVkaWNpYWxVc2VyTW9kZWxbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlckNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheWVkSnVkaWNpYWxzOiBKdWRpY2lhbFVzZXJNb2RlbFtdO1xuICBAT3V0cHV0KCkgcHVibGljIGp1ZGljaWFsQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SnVkaWNpYWxVc2VyTW9kZWw+KCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJ1lvdSBtdXN0IHNlbGVjdCBhIG5hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZUlkOiBzdHJpbmcgPSAnJztcbiAgQFZpZXdDaGlsZCgnaW5wdXRTZWxlY3Rpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHVibGljIGF1dG9Db21wbGV0ZUlucHV0Qm94OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBwdWJsaWMgc2VsZWN0ZWRKdWRpY2lhbDogSnVkaWNpYWxVc2VyTW9kZWw7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDM7XG4gIHB1YmxpYyBrZXlVcFN1YmplY3QkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgc2VhcmNoSW5Qcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkganVkaWNpYWxTZXJ2aWNlOiBGaW5kQVBlcnNvblNlcnZpY2UsIGZiOiBGb3JtQnVpbGRlcikge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gZmIuZ3JvdXAoe1xuICAgICAgZm9ybUNvbnRyb2w6IFtudWxsXSxcbiAgICAgIHNlbGVjdGVkRm9ybUNvbnRyb2w6IFtudWxsXVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkSnVkaWNpYWxzID0gW107XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wgPSB0aGlzLmNvbnRyb2w7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuZ2V0Q29udHJvbFZhbHVlRGlzcGxheVRleHQoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMua2V5VXBTdWJqZWN0JC5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUoc2VhcmNoVmFsdWUgPT4gdGhpcy5zZWFyY2goc2VhcmNoVmFsdWUgYXMgc3RyaW5nKSk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuanVkaWNpYWxDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleVVwKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgICB0aGlzLmtleVVwU3ViamVjdCQubmV4dChldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXllZEp1ZGljaWFsc0R1cGxpY2F0aW9uRmlsdGVyZWQoKTogSnVkaWNpYWxVc2VyTW9kZWxbXSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheWVkSnVkaWNpYWxzLmZpbHRlcihcbiAgICAgIGp1ZGljaWFsID0+ICF0aGlzLnNlbGVjdGVkSnVkaWNpYWxzLm1hcChzZWxlY3RlZEp1ZGljaWFsID0+IHNlbGVjdGVkSnVkaWNpYWwuaWRhbUlkKS5pbmNsdWRlcyhqdWRpY2lhbC5pZGFtSWQpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIodGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hKdWRpY2lhbHModGVybSwgdGhpcy5zZXJ2aWNlSWQpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgoYXBpRGF0YTogSnVkaWNpYWxVc2VyTW9kZWxbXSkgPT4ge1xuICAgICAgICBjb25zdCBhcGlGaWx0ZXIgPSBhcGlEYXRhLmZpbHRlcihcbiAgICAgICAgICBhcGlKdWRpY2lhbCA9PiAhdGhpcy5zZWxlY3RlZEp1ZGljaWFscy5tYXAoc2VsZWN0ZWRKdWRpY2lhbCA9PiBzZWxlY3RlZEp1ZGljaWFsLmlkYW1JZCkuaW5jbHVkZXMoYXBpSnVkaWNpYWwuaWRhbUlkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRpc3BsYXllZEp1ZGljaWFscyA9IGFwaUZpbHRlcjtcbiAgICAgICAgdGhpcy5zZWFyY2hJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHJldHVybiBhcGlGaWx0ZXI7XG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKGp1ZGljaWFsID0+IHtcbiAgICAgIGlmICh0ZXJtID09PSBqdWRpY2lhbC5rbm93bkFzKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wuc2V0VmFsdWUoanVkaWNpYWwpO1xuICAgICAgICB0aGlzLmRpc3BsYXllZEp1ZGljaWFscyA9IFtdO1xuICAgICAgICB0aGlzLmp1ZGljaWFsQ2hhbmdlZC5lbWl0KGp1ZGljaWFsKTtcbiAgICAgICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24/OiBKdWRpY2lhbFVzZXJNb2RlbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5jb250cm9scy5mb3JtQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wgYXMgRm9ybUFycmF5KS5wdXNoKG5ldyBGb3JtQ29udHJvbChzZWxlY3Rpb24uaWRhbUlkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0aW9uKTtcbiAgICB9XG4gICAgdGhpcy5qdWRpY2lhbENoYW5nZWQuZW1pdChzZWxlY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaChjdXJyZW50VmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gISFjdXJyZW50VmFsdWUgJiYgKGN1cnJlbnRWYWx1ZS5sZW5ndGggPj0gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKTtcbiAgICBpZiAoISFjdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5yZXNldCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zaG93QXV0b2NvbXBsZXRlKSB7XG4gICAgICB0aGlzLmZpbHRlcihjdXJyZW50VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0RGlzcGxheU5hbWUoc2VsZWN0ZWRKdWRpY2lhbDogSnVkaWNpYWxVc2VyTW9kZWwpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzZWxlY3RlZEp1ZGljaWFsLmtub3duQXN9ICgke3NlbGVjdGVkSnVkaWNpYWwuZW1haWxJZH0pYDtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hKdWRpY2lhbHModGVybTogc3RyaW5nLCBzZXJ2aWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmp1ZGljaWFsU2VydmljZS5zZWFyY2hKdWRpY2lhbCh0ZXJtLCBzZXJ2aWNlSWQpO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRyb2xWYWx1ZURpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wudmFsdWUgP1xuICAgICAgdGhpcy5nZXREaXNwbGF5TmFtZSh0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnZhbHVlIGFzIEp1ZGljaWFsVXNlck1vZGVsKSA6ICcnO1xuICB9XG59XG4iXX0=
@@ -1,9 +1,5 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/search-location/search-location.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
7
3
  import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
8
4
  import { debounceTime, filter, map, mergeMap, tap } from 'rxjs/operators';
9
5
  import { LocationService } from '../../services/locations/location.service';
@@ -31,17 +27,10 @@ var SearchLocationComponent = /** @class */ (function () {
31
27
  });
32
28
  }
33
29
  Object.defineProperty(SearchLocationComponent.prototype, "reset", {
34
- get: /**
35
- * @return {?}
36
- */
37
- function () {
30
+ get: function () {
38
31
  return this.pReset;
39
32
  },
40
- set: /**
41
- * @param {?} value
42
- * @return {?}
43
- */
44
- function (value) {
33
+ set: function (value) {
45
34
  this.pReset = value;
46
35
  this.resetSearchTerm();
47
36
  },
@@ -49,241 +38,129 @@ var SearchLocationComponent = /** @class */ (function () {
49
38
  configurable: true
50
39
  });
51
40
  Object.defineProperty(SearchLocationComponent.prototype, "selectedLocations", {
52
- get: /**
53
- * @return {?}
54
- */
55
- function () {
41
+ get: function () {
56
42
  return this.pSelectedLocations;
57
43
  },
58
- set: /**
59
- * @param {?} value
60
- * @return {?}
61
- */
62
- function (value) {
44
+ set: function (value) {
63
45
  this.pSelectedLocations = value;
64
46
  },
65
47
  enumerable: true,
66
48
  configurable: true
67
49
  });
68
- /**
69
- * @return {?}
70
- */
71
- SearchLocationComponent.prototype.ngOnInit = /**
72
- * @return {?}
73
- */
74
- function () {
50
+ SearchLocationComponent.prototype.ngOnInit = function () {
75
51
  if (this.singleMode && this.selectedLocations.length > 0) {
76
- /** @type {?} */
77
52
  var location_1 = this.selectedLocations[0];
78
- this.form.controls.searchTerm.patchValue(location_1.venue_name, { emitEvent: false, onlySelf: true });
53
+ this.form.controls.searchTerm.patchValue(location_1.site_name, { emitEvent: false, onlySelf: true });
79
54
  }
80
55
  this.search();
81
56
  };
82
- /**
83
- * @param {?} term
84
- * @return {?}
85
- */
86
- SearchLocationComponent.prototype.filter = /**
87
- * @param {?} term
88
- * @return {?}
89
- */
90
- function (term) {
57
+ SearchLocationComponent.prototype.filter = function (term) {
91
58
  var _this = this;
92
- this.getLocations(term).pipe(map((/**
93
- * @param {?} locations
94
- * @return {?}
95
- */
96
- function (locations) { return _this.removeSelectedLocations(locations); })));
59
+ this.getLocations(term).pipe(map(function (locations) { return _this.removeSelectedLocations(locations); }));
97
60
  };
98
- /**
99
- * @param {?} location
100
- * @return {?}
101
- */
102
- SearchLocationComponent.prototype.onSelectionChange = /**
103
- * @param {?} location
104
- * @return {?}
105
- */
106
- function (location) {
107
- this.form.controls.searchTerm.patchValue(location.venue_name, { emitEvent: false, onlySelf: true });
61
+ SearchLocationComponent.prototype.onSelectionChange = function (location) {
62
+ this.form.controls.searchTerm.patchValue(location.site_name, { emitEvent: false, onlySelf: true });
108
63
  this.locationSelected.emit(location);
109
64
  };
110
- /**
111
- * @return {?}
112
- */
113
- SearchLocationComponent.prototype.search = /**
114
- * @return {?}
115
- */
116
- function () {
65
+ SearchLocationComponent.prototype.search = function () {
117
66
  var _this = this;
118
67
  this.form.controls.searchTerm.valueChanges
119
- .pipe(tap((/**
120
- * @param {?} term
121
- * @return {?}
122
- */
123
- function (term) { return _this.locationInputChanged.next(term); })), tap((/**
124
- * @return {?}
125
- */
126
- function () { return _this.locations = []; })), tap((/**
127
- * @param {?} term
128
- * @return {?}
129
- */
130
- function (term) { return _this.term = term; })), filter((/**
131
- * @param {?} term
132
- * @return {?}
133
- */
134
- function (term) { return !!term && term.length >= _this.minSearchCharacters; })), debounceTime(this.delay), mergeMap((/**
135
- * @param {?} value
136
- * @return {?}
137
- */
138
- function (value) { return _this.getLocations(value); })), map((/**
139
- * @param {?} locations
140
- * @return {?}
141
- */
142
- function (locations) { return _this.removeSelectedLocations(locations); }))).subscribe((/**
143
- * @param {?} locations
144
- * @return {?}
145
- */
146
- function (locations) {
68
+ .pipe(tap(function (term) { return _this.locationInputChanged.next(term); }), tap(function () { return _this.locations = []; }), tap(function (term) { return _this.term = term; }), filter(function (term) { return !!term && term.length >= _this.minSearchCharacters; }), debounceTime(this.delay), mergeMap(function (value) { return _this.getLocations(value); }), map(function (locations) { return _this.removeSelectedLocations(locations); })).subscribe(function (locations) {
147
69
  _this.locations = locations;
148
70
  _this.cd.markForCheck();
149
- if (locations.length === 1 && _this.term === locations[0].venue_name && !_this.singleMode) {
71
+ if (locations.length === 1 && _this.term === locations[0].site_name && !_this.singleMode) {
150
72
  _this.locationSelected.emit(locations[0]);
151
73
  _this.showAutocomplete = false;
152
74
  return;
153
75
  }
154
76
  _this.showAutocomplete = true;
155
- }));
77
+ });
156
78
  };
157
- /**
158
- * @param {?} term
159
- * @return {?}
160
- */
161
- SearchLocationComponent.prototype.getLocations = /**
162
- * @param {?} term
163
- * @return {?}
164
- */
165
- function (term) {
79
+ SearchLocationComponent.prototype.getLocations = function (term) {
166
80
  return this.locationService.getAllLocations(this.serviceIds, this.locationType, term);
167
81
  };
168
- /**
169
- * @return {?}
170
- */
171
- SearchLocationComponent.prototype.resetSearchTerm = /**
172
- * @return {?}
173
- */
174
- function () {
82
+ SearchLocationComponent.prototype.resetSearchTerm = function () {
175
83
  this.form.controls.searchTerm.patchValue('', { emitEvent: false, onlySelf: true });
176
84
  };
177
- /**
178
- * @private
179
- * @param {?} locations
180
- * @return {?}
181
- */
182
- SearchLocationComponent.prototype.removeSelectedLocations = /**
183
- * @private
184
- * @param {?} locations
185
- * @return {?}
186
- */
187
- function (locations) {
85
+ SearchLocationComponent.prototype.removeSelectedLocations = function (locations) {
188
86
  var _this = this;
189
87
  if (this.singleMode) {
190
88
  return locations;
191
89
  }
192
- return locations.filter((/**
193
- * @param {?} location
194
- * @return {?}
195
- */
196
- function (location) { return !_this.selectedLocations.map((/**
197
- * @param {?} selectedLocation
198
- * @return {?}
199
- */
200
- function (selectedLocation) { return selectedLocation.epimms_id; })).includes(location.epimms_id) && location.venue_name; }));
90
+ return locations.filter(function (location) { return !_this.selectedLocations.map(function (selectedLocation) { return selectedLocation.epimms_id; }).includes(location.epimms_id) && location.site_name; });
201
91
  };
202
- SearchLocationComponent.decorators = [
203
- { type: Component, args: [{
204
- selector: 'exui-search-location',
205
- template: "<div class=\"auto-complete-container\">\n <input\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.venue_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
206
- styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
207
- }] }
208
- ];
209
- /** @nocollapse */
210
92
  SearchLocationComponent.ctorParameters = function () { return [
211
93
  { type: LocationService },
212
94
  { type: FormBuilder },
213
95
  { type: ChangeDetectorRef }
214
96
  ]; };
215
- SearchLocationComponent.propDecorators = {
216
- control: [{ type: Input }],
217
- disabled: [{ type: Input }],
218
- singleMode: [{ type: Input }],
219
- locationType: [{ type: Input }],
220
- serviceIds: [{ type: Input }],
221
- submitted: [{ type: Input }],
222
- delay: [{ type: Input }],
223
- form: [{ type: Input }],
224
- showAutocomplete: [{ type: Input }],
225
- locations: [{ type: Input }],
226
- locationSelected: [{ type: Output }],
227
- locationInputChanged: [{ type: Output }],
228
- reset: [{ type: Input }],
229
- selectedLocations: [{ type: Input }]
230
- };
97
+ __decorate([
98
+ Input(),
99
+ __metadata("design:type", AbstractControl)
100
+ ], SearchLocationComponent.prototype, "control", void 0);
101
+ __decorate([
102
+ Input(),
103
+ __metadata("design:type", Boolean)
104
+ ], SearchLocationComponent.prototype, "disabled", void 0);
105
+ __decorate([
106
+ Input(),
107
+ __metadata("design:type", Boolean)
108
+ ], SearchLocationComponent.prototype, "singleMode", void 0);
109
+ __decorate([
110
+ Input(),
111
+ __metadata("design:type", String)
112
+ ], SearchLocationComponent.prototype, "locationType", void 0);
113
+ __decorate([
114
+ Input(),
115
+ __metadata("design:type", String)
116
+ ], SearchLocationComponent.prototype, "serviceIds", void 0);
117
+ __decorate([
118
+ Input(),
119
+ __metadata("design:type", Boolean)
120
+ ], SearchLocationComponent.prototype, "submitted", void 0);
121
+ __decorate([
122
+ Input(),
123
+ __metadata("design:type", Number)
124
+ ], SearchLocationComponent.prototype, "delay", void 0);
125
+ __decorate([
126
+ Input(),
127
+ __metadata("design:type", FormGroup)
128
+ ], SearchLocationComponent.prototype, "form", void 0);
129
+ __decorate([
130
+ Input(),
131
+ __metadata("design:type", Boolean)
132
+ ], SearchLocationComponent.prototype, "showAutocomplete", void 0);
133
+ __decorate([
134
+ Input(),
135
+ __metadata("design:type", Array)
136
+ ], SearchLocationComponent.prototype, "locations", void 0);
137
+ __decorate([
138
+ Output(),
139
+ __metadata("design:type", Object)
140
+ ], SearchLocationComponent.prototype, "locationSelected", void 0);
141
+ __decorate([
142
+ Output(),
143
+ __metadata("design:type", EventEmitter)
144
+ ], SearchLocationComponent.prototype, "locationInputChanged", void 0);
145
+ __decorate([
146
+ Input(),
147
+ __metadata("design:type", Boolean),
148
+ __metadata("design:paramtypes", [Boolean])
149
+ ], SearchLocationComponent.prototype, "reset", null);
150
+ __decorate([
151
+ Input(),
152
+ __metadata("design:type", Array),
153
+ __metadata("design:paramtypes", [Array])
154
+ ], SearchLocationComponent.prototype, "selectedLocations", null);
155
+ SearchLocationComponent = __decorate([
156
+ Component({
157
+ selector: 'exui-search-location',
158
+ template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
159
+ styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
160
+ }),
161
+ __metadata("design:paramtypes", [LocationService, FormBuilder, ChangeDetectorRef])
162
+ ], SearchLocationComponent);
231
163
  return SearchLocationComponent;
232
164
  }());
233
165
  export { SearchLocationComponent };
234
- if (false) {
235
- /** @type {?} */
236
- SearchLocationComponent.prototype.control;
237
- /** @type {?} */
238
- SearchLocationComponent.prototype.disabled;
239
- /** @type {?} */
240
- SearchLocationComponent.prototype.singleMode;
241
- /** @type {?} */
242
- SearchLocationComponent.prototype.locationType;
243
- /** @type {?} */
244
- SearchLocationComponent.prototype.serviceIds;
245
- /** @type {?} */
246
- SearchLocationComponent.prototype.submitted;
247
- /** @type {?} */
248
- SearchLocationComponent.prototype.delay;
249
- /** @type {?} */
250
- SearchLocationComponent.prototype.form;
251
- /** @type {?} */
252
- SearchLocationComponent.prototype.showAutocomplete;
253
- /** @type {?} */
254
- SearchLocationComponent.prototype.locations;
255
- /** @type {?} */
256
- SearchLocationComponent.prototype.locationSelected;
257
- /** @type {?} */
258
- SearchLocationComponent.prototype.locationInputChanged;
259
- /** @type {?} */
260
- SearchLocationComponent.prototype.minSearchCharacters;
261
- /** @type {?} */
262
- SearchLocationComponent.prototype.term;
263
- /**
264
- * @type {?}
265
- * @private
266
- */
267
- SearchLocationComponent.prototype.pSelectedLocations;
268
- /**
269
- * @type {?}
270
- * @private
271
- */
272
- SearchLocationComponent.prototype.pReset;
273
- /**
274
- * @type {?}
275
- * @private
276
- */
277
- SearchLocationComponent.prototype.locationService;
278
- /**
279
- * @type {?}
280
- * @private
281
- */
282
- SearchLocationComponent.prototype.fb;
283
- /**
284
- * @type {?}
285
- * @private
286
- */
287
- SearchLocationComponent.prototype.cd;
288
- }
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFMUU7SUF1QkUsaUNBQTZCLGVBQWdDLEVBQW1CLEVBQWUsRUFBbUIsRUFBcUI7UUFBMUcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBbUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFoQnZILGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFDM0IsVUFBSyxHQUFZLEdBQUcsQ0FBQztRQUVyQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsY0FBUyxHQUE0QixFQUFFLENBQUM7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDN0QseUJBQW9CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekUsd0JB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2NhdGlvbkJ5RVBJTU1TTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9sb2NhdGlvbi5tb2RlbCc7XG5pbXBvcnQge0xvY2F0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYXRpb25zL2xvY2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaW5nbGVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvblR5cGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZUlkczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGRlbGF5PzogbnVtYmVyID0gNTAwO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSA9IFtdO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPExvY2F0aW9uQnlFUElNTVNNb2RlbD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2NhdGlvbklucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMgdGVybTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgcFNlbGVjdGVkTG9jYXRpb25zOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBzZWFyY2hUZXJtOiBbJyddXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBSZXNldDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVzZXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBSZXNldCA9IHZhbHVlO1xuICAgIHRoaXMucmVzZXRTZWFyY2hUZXJtKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkTG9jYXRpb25zKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5wU2VsZWN0ZWRMb2NhdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkTG9jYXRpb25zKHZhbHVlOiBhbnlbXSkge1xuICAgIHRoaXMucFNlbGVjdGVkTG9jYXRpb25zID0gdmFsdWU7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaW5nbGVNb2RlICYmIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zWzBdO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0ucGF0Y2hWYWx1ZShsb2NhdGlvbi52ZW51ZV9uYW1lLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIodGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5nZXRMb2NhdGlvbnModGVybSkucGlwZShcbiAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLnJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9ucylcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS5wYXRjaFZhbHVlKGxvY2F0aW9uLnZlbnVlX25hbWUsIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX0pO1xuICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KGxvY2F0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLmxvY2F0aW9uSW5wdXRDaGFuZ2VkLm5leHQodGVybSkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5sb2NhdGlvbnMgPSBbXSksXG4gICAgICAgIHRhcCgodGVybSkgPT4gdGhpcy50ZXJtID0gdGVybSksXG4gICAgICAgIGZpbHRlcih0ZXJtID0+ICEhdGVybSAmJiB0ZXJtLmxlbmd0aCA+PSB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWxheSksXG4gICAgICAgIG1lcmdlTWFwKHZhbHVlID0+IHRoaXMuZ2V0TG9jYXRpb25zKHZhbHVlKSksXG4gICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLnJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9ucykpXG4gICAgICApLnN1YnNjcmliZShsb2NhdGlvbnMgPT4ge1xuICAgICAgdGhpcy5sb2NhdGlvbnMgPSBsb2NhdGlvbnM7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgaWYgKGxvY2F0aW9ucy5sZW5ndGggPT09IDEgJiYgdGhpcy50ZXJtID09PSBsb2NhdGlvbnNbMF0udmVudWVfbmFtZSAmJiAhdGhpcy5zaW5nbGVNb2RlKSB7XG4gICAgICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KGxvY2F0aW9uc1swXSk7XG4gICAgICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldExvY2F0aW9ucyh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEFsbExvY2F0aW9ucyh0aGlzLnNlcnZpY2VJZHMsIHRoaXMubG9jYXRpb25UeXBlLCB0ZXJtKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFNlYXJjaFRlcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0ucGF0Y2hWYWx1ZSgnJywge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10pOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSB7XG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIoXG4gICAgICBsb2NhdGlvbiA9PiAhdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5tYXAoc2VsZWN0ZWRMb2NhdGlvbiA9PiBzZWxlY3RlZExvY2F0aW9uLmVwaW1tc19pZCkuaW5jbHVkZXMobG9jYXRpb24uZXBpbW1zX2lkKSAmJiBsb2NhdGlvbi52ZW51ZV9uYW1lXG4gICAgKTtcbiAgfVxufVxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFPMUU7SUFrQkUsaUNBQTZCLGVBQWdDLEVBQW1CLEVBQWUsRUFBbUIsRUFBcUI7UUFBMUcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBbUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFoQnZILGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFDM0IsVUFBSyxHQUFZLEdBQUcsQ0FBQztRQUVyQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsY0FBUyxHQUE0QixFQUFFLENBQUM7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDN0QseUJBQW9CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFD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Y2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xvY2F0aW9uQnlFUElNTVNNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7TG9jYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhdGlvbnMvbG9jYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V4dWktc2VhcmNoLWxvY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaExvY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNpbmdsZU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXk/OiBudW1iZXIgPSA1MDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYXRpb25CeUVQSU1NU01vZGVsPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uSW5wdXRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDM7XG4gIHB1YmxpYyB0ZXJtOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBwU2VsZWN0ZWRMb2NhdGlvbnM6IGFueVtdID0gW107XG4gIHByaXZhdGUgcFJlc2V0OiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uU2VydmljZTogTG9jYXRpb25TZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNlYXJjaFRlcm06IFsnJ11cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucFJlc2V0O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZXNldCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMucFJlc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5yZXNldFNlYXJjaFRlcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRMb2NhdGlvbnMoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLnBTZWxlY3RlZExvY2F0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRMb2NhdGlvbnModmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy5wU2VsZWN0ZWRMb2NhdGlvbnMgPSB2YWx1ZTtcblxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNpbmdsZU1vZGUgJiYgdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnNbMF07XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS5wYXRjaFZhbHVlKGxvY2F0aW9uLnNpdGVfbmFtZSwge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoKCk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZ2V0TG9jYXRpb25zKHRlcm0pLnBpcGUoXG4gICAgICBtYXAoKGxvY2F0aW9ucykgPT4gdGhpcy5yZW1vdmVTZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShsb2NhdGlvbjogTG9jYXRpb25CeUVQSU1NU01vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0ucGF0Y2hWYWx1ZShsb2NhdGlvbi5zaXRlX25hbWUsIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX0pO1xuICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KGxvY2F0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLmxvY2F0aW9uSW5wdXRDaGFuZ2VkLm5leHQodGVybSkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5sb2NhdGlvbnMgPSBbXSksXG4gICAgICAgIHRhcCgodGVybSkgPT4gdGhpcy50ZXJtID0gdGVybSksXG4gICAgICAgIGZpbHRlcih0ZXJtID0+ICEhdGVybSAmJiB0ZXJtLmxlbmd0aCA+PSB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWxheSksXG4gICAgICAgIG1lcmdlTWFwKHZhbHVlID0+IHRoaXMuZ2V0TG9jYXRpb25zKHZhbHVlKSksXG4gICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLnJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9ucykpXG4gICAgICApLnN1YnNjcmliZShsb2NhdGlvbnMgPT4ge1xuICAgICAgdGhpcy5sb2NhdGlvbnMgPSBsb2NhdGlvbnM7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgaWYgKGxvY2F0aW9ucy5sZW5ndGggPT09IDEgJiYgdGhpcy50ZXJtID09PSBsb2NhdGlvbnNbMF0uc2l0ZV9uYW1lICYmICF0aGlzLnNpbmdsZU1vZGUpIHtcbiAgICAgICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb25zWzBdKTtcbiAgICAgICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TG9jYXRpb25zKHRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8TG9jYXRpb25CeUVQSU1NU01vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdGlvblNlcnZpY2UuZ2V0QWxsTG9jYXRpb25zKHRoaXMuc2VydmljZUlkcywgdGhpcy5sb2NhdGlvblR5cGUsIHRlcm0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0U2VhcmNoVGVybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS5wYXRjaFZhbHVlKCcnLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlU2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSk6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHtcbiAgICBpZiAodGhpcy5zaW5nbGVNb2RlKSB7XG4gICAgICByZXR1cm4gbG9jYXRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYXRpb25zLmZpbHRlcihcbiAgICAgIGxvY2F0aW9uID0+ICF0aGlzLnNlbGVjdGVkTG9jYXRpb25zLm1hcChzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbW1zX2lkKS5pbmNsdWRlcyhsb2NhdGlvbi5lcGltbXNfaWQpICYmIGxvY2F0aW9uLnNpdGVfbmFtZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==