@dsivd/prestations-ng 17.0.0-beta.2 → 17.0.0-beta.20

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 (239) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/ESLINT_MIGRATION_GUIDE.md +2 -1
  3. package/UPGRADING_V17.md +385 -38
  4. package/dsivd-prestations-ng-17.0.0-beta.20.tgz +0 -0
  5. package/esm2022/abstract-page-component.mjs +10 -6
  6. package/esm2022/directives/currency-formatter.directive.mjs +4 -4
  7. package/esm2022/directives/formatter.module.mjs +5 -5
  8. package/esm2022/directives/iban-formatter.directive.mjs +4 -4
  9. package/esm2022/directives/ide-formatter.directive.mjs +4 -4
  10. package/esm2022/directives/ndc-formatter.directive.mjs +4 -4
  11. package/esm2022/foehn-address/foehn-address.module.mjs +5 -5
  12. package/esm2022/foehn-address/foehn-display-address.component.mjs +4 -4
  13. package/esm2022/foehn-address/foehn-input-address.component.mjs +9 -5
  14. package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +4 -4
  15. package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +6 -7
  16. package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +5 -5
  17. package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +6 -6
  18. package/esm2022/foehn-agenda/foehn-agenda.component.mjs +4 -4
  19. package/esm2022/foehn-agenda/foehn-agenda.module.mjs +5 -5
  20. package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +4 -4
  21. package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +5 -5
  22. package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +4 -4
  23. package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +4 -4
  24. package/esm2022/foehn-boolean/foehn-boolean.module.mjs +5 -5
  25. package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +24 -17
  26. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +4 -4
  27. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +5 -5
  28. package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +36 -34
  29. package/esm2022/foehn-checkables/foehn-checkables.module.mjs +5 -5
  30. package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +4 -4
  31. package/esm2022/foehn-checkables/foehn-radio.component.mjs +4 -4
  32. package/esm2022/foehn-checkables/foehn-select.component.mjs +4 -4
  33. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +5 -5
  34. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +5 -5
  35. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +4 -4
  36. package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +5 -5
  37. package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +5 -5
  38. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +4 -4
  39. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +5 -5
  40. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +4 -4
  41. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +5 -5
  42. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +4 -4
  43. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +5 -5
  44. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +5 -5
  45. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +5 -5
  46. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +90 -0
  47. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.module.mjs +32 -0
  48. package/esm2022/foehn-footer/foehn-footer.component.mjs +5 -5
  49. package/esm2022/foehn-footer/foehn-footer.module.mjs +5 -5
  50. package/esm2022/foehn-form/foehn-form.component.mjs +4 -4
  51. package/esm2022/foehn-form/foehn-form.module.mjs +5 -5
  52. package/esm2022/foehn-form/register-ng-model.service.mjs +4 -4
  53. package/esm2022/foehn-growl/foehn-growl.component.mjs +4 -4
  54. package/esm2022/foehn-growl/foehn-growl.module.mjs +5 -5
  55. package/esm2022/foehn-growl/growl-broker.service.mjs +4 -4
  56. package/esm2022/foehn-header/foehn-header.component.mjs +4 -4
  57. package/esm2022/foehn-header/foehn-header.module.mjs +5 -5
  58. package/esm2022/foehn-header/foehn-skip-link.component.mjs +4 -4
  59. package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +5 -5
  60. package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +5 -5
  61. package/esm2022/foehn-icons/abstract-icon-component.mjs +4 -4
  62. package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +4 -4
  63. package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +4 -4
  64. package/esm2022/foehn-icons/foehn-icon-check.component.mjs +4 -4
  65. package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +4 -4
  66. package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +4 -4
  67. package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +4 -4
  68. package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +4 -4
  69. package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +4 -4
  70. package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +4 -4
  71. package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +4 -4
  72. package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +4 -4
  73. package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +4 -4
  74. package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +4 -4
  75. package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +4 -4
  76. package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +4 -4
  77. package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +4 -4
  78. package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +4 -4
  79. package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +4 -4
  80. package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +4 -4
  81. package/esm2022/foehn-icons/foehn-icon-search.component.mjs +4 -4
  82. package/esm2022/foehn-icons/foehn-icon-times.component.mjs +4 -4
  83. package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +4 -4
  84. package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +4 -4
  85. package/esm2022/foehn-icons/foehn-icon-user.component.mjs +4 -4
  86. package/esm2022/foehn-icons/foehn-icons.module.mjs +5 -5
  87. package/esm2022/foehn-input/foehn-input-email.component.mjs +4 -4
  88. package/esm2022/foehn-input/foehn-input-hidden.component.mjs +4 -4
  89. package/esm2022/foehn-input/foehn-input-number.component.mjs +4 -4
  90. package/esm2022/foehn-input/foehn-input-password.component.mjs +4 -4
  91. package/esm2022/foehn-input/foehn-input-phone.component.mjs +4 -4
  92. package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +4 -4
  93. package/esm2022/foehn-input/foehn-input-string.component.mjs +4 -4
  94. package/esm2022/foehn-input/foehn-input-text.component.mjs +4 -4
  95. package/esm2022/foehn-input/foehn-input-textarea.component.mjs +4 -4
  96. package/esm2022/foehn-input/foehn-input.component.mjs +4 -4
  97. package/esm2022/foehn-input/foehn-input.module.mjs +5 -5
  98. package/esm2022/foehn-input-date/foehn-input-date.component.mjs +4 -4
  99. package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +4 -4
  100. package/esm2022/foehn-input-time/foehn-input-time.component.mjs +6 -6
  101. package/esm2022/foehn-list/foehn-list.component.mjs +5 -5
  102. package/esm2022/foehn-list/foehn-list.module.mjs +5 -5
  103. package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +4 -4
  104. package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +4 -4
  105. package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +4 -4
  106. package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +6 -5
  107. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +6 -6
  108. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +4 -4
  109. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +4 -4
  110. package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +5 -5
  111. package/esm2022/foehn-misc/foehn-abbr.component.mjs +4 -4
  112. package/esm2022/foehn-misc/foehn-misc.module.mjs +5 -5
  113. package/esm2022/foehn-modal/foehn-modal.component.mjs +5 -5
  114. package/esm2022/foehn-modal/foehn-modal.module.mjs +5 -5
  115. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +6 -6
  116. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +5 -5
  117. package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +4 -4
  118. package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +5 -5
  119. package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +4 -4
  120. package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +5 -5
  121. package/esm2022/foehn-navigation/foehn-navigation.module.mjs +5 -5
  122. package/esm2022/foehn-navigation/foehn-navigation.service.mjs +4 -4
  123. package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +5 -5
  124. package/esm2022/foehn-notfound/foehn-notfound.component.mjs +4 -4
  125. package/esm2022/foehn-notfound/foehn-notfound.module.mjs +5 -5
  126. package/esm2022/foehn-page/foehn-page-counter.component.mjs +4 -4
  127. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +4 -4
  128. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +4 -4
  129. package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +4 -4
  130. package/esm2022/foehn-page/foehn-page-expiration-timer/interval.helper.mjs +2 -2
  131. package/esm2022/foehn-page/foehn-page-modal.component.mjs +4 -4
  132. package/esm2022/foehn-page/foehn-page-modal.service.mjs +4 -4
  133. package/esm2022/foehn-page/foehn-page.component.mjs +5 -5
  134. package/esm2022/foehn-page/foehn-page.module.mjs +5 -5
  135. package/esm2022/foehn-page/foehn-page.service.mjs +4 -4
  136. package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +4 -4
  137. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +4 -4
  138. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +4 -4
  139. package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +4 -4
  140. package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +5 -5
  141. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +4 -4
  142. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +5 -5
  143. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +4 -4
  144. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +5 -5
  145. package/esm2022/foehn-table/foehn-table.component.mjs +9 -5
  146. package/esm2022/foehn-table/foehn-table.module.mjs +5 -5
  147. package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +4 -4
  148. package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +6 -19
  149. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +4 -4
  150. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +5 -5
  151. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +4 -4
  152. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +5 -5
  153. package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +6 -19
  154. package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +8 -6
  155. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +20 -47
  156. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +5 -5
  157. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +4 -4
  158. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +5 -5
  159. package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +4 -4
  160. package/esm2022/foehn-upload/page-upload-limit.service.mjs +4 -4
  161. package/esm2022/foehn-upload/uploader.helper.mjs +5 -13
  162. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +4 -4
  163. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +5 -5
  164. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +4 -4
  165. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +5 -5
  166. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +4 -4
  167. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +5 -5
  168. package/esm2022/gesdem/gesdem-error-handler.service.mjs +16 -13
  169. package/esm2022/gesdem/gesdem-event.service.mjs +4 -4
  170. package/esm2022/gesdem/gesdem-handler.service.mjs +29 -16
  171. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +4 -4
  172. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +31 -12
  173. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +5 -5
  174. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +4 -4
  175. package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +20 -15
  176. package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +12 -8
  177. package/esm2022/gesdem-error/gesdem-error.component.mjs +8 -6
  178. package/esm2022/gesdem-error/gesdem-error.module.mjs +5 -5
  179. package/esm2022/pipes/currency.pipe.mjs +4 -4
  180. package/esm2022/pipes/date.pipe.mjs +4 -4
  181. package/esm2022/pipes/formatIde.pipe.mjs +4 -4
  182. package/esm2022/pipes/pipes.module.mjs +5 -5
  183. package/esm2022/prestations-ng-core.module.mjs +5 -5
  184. package/esm2022/public_api.mjs +4 -1
  185. package/esm2022/sdk-appinfo/application-info.mjs +7 -1
  186. package/esm2022/sdk-appinfo/application-info.service.mjs +24 -6
  187. package/esm2022/sdk-currency/currency.helper.mjs +4 -4
  188. package/esm2022/sdk-date/date.helper.mjs +4 -4
  189. package/esm2022/sdk-dictionary/default-dictionary.mjs +19 -5
  190. package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +5 -5
  191. package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +4 -4
  192. package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +4 -4
  193. package/esm2022/sdk-drafts/drafts-container.component.mjs +5 -5
  194. package/esm2022/sdk-drafts/drafts.module.mjs +5 -5
  195. package/esm2022/sdk-drafts/drafts.service.mjs +4 -4
  196. package/esm2022/sdk-epayment/sdk-epayment.component.mjs +4 -4
  197. package/esm2022/sdk-epayment/sdk-epayment.module.mjs +5 -5
  198. package/esm2022/sdk-epayment/sdk-epayment.service.mjs +4 -4
  199. package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +4 -4
  200. package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +4 -4
  201. package/esm2022/sdk-recaptcha/recaptcha.service.mjs +8 -16
  202. package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +4 -4
  203. package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +5 -5
  204. package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +12 -11
  205. package/esm2022/sdk-redirect/redirect.component.mjs +32 -17
  206. package/esm2022/sdk-redirect/sdk-redirect.module.mjs +5 -5
  207. package/esm2022/sdk-session-info/session-info-with-application.service.mjs +4 -4
  208. package/esm2022/sdk-session-info/session-info.service.mjs +4 -4
  209. package/esm2022/sdk-statistics/sdk-statistics.service.mjs +4 -4
  210. package/esm2022/sdk-support-alert/support-alert-container.component.mjs +5 -5
  211. package/esm2022/sdk-support-alert/support-alert.component.mjs +12 -14
  212. package/esm2022/sdk-support-alert/support-alert.module.mjs +5 -5
  213. package/esm2022/sdk-support-alert/support-alert.service.mjs +4 -4
  214. package/esm2022/supported-browser.mjs +2 -2
  215. package/esm2022/validation/validation-handler.service.mjs +4 -4
  216. package/fesm2022/dsivd-prestations-ng.mjs +1304 -1153
  217. package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
  218. package/foehn-address/foehn-input-address.component.d.ts +2 -1
  219. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +3 -1
  220. package/foehn-checkables/foehn-checkable-group.component.d.ts +2 -1
  221. package/foehn-feedback-notification/foehn-feedback-notification.component.d.ts +30 -0
  222. package/foehn-feedback-notification/foehn-feedback-notification.module.d.ts +11 -0
  223. package/foehn-table/foehn-table.component.d.ts +3 -1
  224. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +1 -4
  225. package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +1 -4
  226. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +2 -4
  227. package/gesdem/gesdem-error-handler.service.d.ts +1 -0
  228. package/gesdem/gesdem-handler.service.d.ts +2 -2
  229. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +3 -1
  230. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +2 -0
  231. package/gesdem-confirmation/gesdem-confirmation.module.d.ts +2 -1
  232. package/gesdem-error/gesdem-error.component.d.ts +1 -0
  233. package/package.json +1 -1
  234. package/public_api.d.ts +2 -0
  235. package/schematics/utility/foehn2-bootstrap5-migration.js +19 -2
  236. package/sdk-appinfo/application-info.d.ts +4 -2
  237. package/sdk-recaptcha/recaptcha.service.d.ts +1 -3
  238. package/sdk-redirect/redirect.component.d.ts +4 -2
  239. package/dsivd-prestations-ng-17.0.0-beta.2.tgz +0 -0
@@ -35,6 +35,7 @@ export class GesdemActionRecoveryRegistrationComponent {
35
35
  this.sessionInfoService = sessionInfoService;
36
36
  this.router = router;
37
37
  this.eventsLoggerService = eventsLoggerService;
38
+ this.dispatchFormErrors = false;
38
39
  this.triggerOnPageChange = false;
39
40
  this.model = new RepriseInfo();
40
41
  this.mailSent = false;
@@ -99,6 +100,7 @@ export class GesdemActionRecoveryRegistrationComponent {
99
100
  this.triggerAutomaticallySub?.unsubscribe();
100
101
  }
101
102
  saveAndOpenModal() {
103
+ this.clearErrors();
102
104
  this.gesdemEventService
103
105
  .formSentObservable()
104
106
  .pipe(first(), filter(resp => !!resp.meta.reference), switchMap(() => this.isConnectedCyber))
@@ -109,6 +111,7 @@ export class GesdemActionRecoveryRegistrationComponent {
109
111
  this.foehnPageService.requestFormSave();
110
112
  }
111
113
  openModal(isConnectedCyber) {
114
+ this.clearErrors();
112
115
  this.mailSent = false;
113
116
  this.isVisible = true;
114
117
  this.eventsLoggerService.addEvent(SdkEventType.RECOVERY_MODAL_OPENED);
@@ -126,6 +129,7 @@ export class GesdemActionRecoveryRegistrationComponent {
126
129
  }
127
130
  }
128
131
  close() {
132
+ this.clearErrors();
129
133
  this.updateVisibilityStatus(false);
130
134
  }
131
135
  sendAndClose() {
@@ -134,18 +138,25 @@ export class GesdemActionRecoveryRegistrationComponent {
134
138
  .pipe(tap(formRecoveryErrors => {
135
139
  this.form.reset();
136
140
  this.validationHandler.shouldDisplayErrors(true);
137
- this.validationHandler.updateErrors([
138
- ...formRecoveryErrors,
139
- ...this.gesdemService.lastResponse.errors
140
- ]);
141
+ if (this.dispatchFormErrors) {
142
+ this.validationHandler.updateErrors([
143
+ ...formRecoveryErrors,
144
+ ...this.gesdemService.lastResponse.errors
145
+ ]);
146
+ }
147
+ else {
148
+ this.validationHandler.updateErrors(formRecoveryErrors);
149
+ }
141
150
  this.form.focusFirstInError();
142
151
  const registrationSuccessfull = !formRecoveryErrors.length;
143
152
  this.mailSent = registrationSuccessfull;
144
153
  if (registrationSuccessfull) {
145
154
  this.eventsLoggerService.addEvent(SdkEventType.RECOVERY_REGISTERED);
146
155
  // the form could have been updated by the backend on recovery registration
147
- // eslint-disable-next-line rxjs-angular/prefer-async-pipe
148
- this.gesdemService.retrieve(this.reference).subscribe();
156
+ this.gesdemService
157
+ .retrieve(this.reference, this.dispatchFormErrors)
158
+ // eslint-disable-next-line rxjs-angular/prefer-async-pipe
159
+ .subscribe();
149
160
  }
150
161
  }))
151
162
  // eslint-disable-next-line rxjs-angular/prefer-async-pipe
@@ -178,13 +189,21 @@ export class GesdemActionRecoveryRegistrationComponent {
178
189
  currentEtapeInfo.idMetierEtape ===
179
190
  currentEtapeInfo.idMetierPrestation);
180
191
  }
181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, deps: [{ token: i1.GesdemActionRecoveryService }, { token: i2.ValidationHandlerService }, { token: i3.FoehnPageService }, { token: i4.GesdemEventService }, { token: i5.GesdemHandlerService }, { token: i6.ApplicationInfoService }, { token: i7.SessionInfo }, { token: i8.Router }, { token: i9.SdkEventsLoggerService }], target: i0.ɵɵFactoryTarget.Component }); }
182
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: { continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", triggerOnPageChange: "triggerOnPageChange" }, viewQueries: [{ propertyName: "modalTrigger", first: true, predicate: ["modalTrigger"], descendants: true }, { propertyName: "form", first: true, predicate: FoehnFormComponent, descendants: true }], ngImport: i0, template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pe-0 ps-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n *ngIf=\"currentEtapeInfo | async as etapeInfo\"\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic:\n etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic:\n etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n id=\"continueLaterModalCancelButton\"\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ms-md-0 me-md-2 mb-2 mt-2\"\n >\n <button\n id=\"continueLaterModalSaveButton\"\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic: (\n currentEtapeInfo | async\n ).draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.FoehnInputTextComponent, selector: "foehn-input-text", inputs: ["numberOnly"] }, { kind: "component", type: i12.FoehnInputEmailComponent, selector: "foehn-input-email" }, { kind: "component", type: i13.FoehnInputPhoneComponent, selector: "foehn-input-phone", inputs: ["acceptInternational", "acceptMobilePhone", "acceptPhone"] }, { kind: "component", type: i14.FoehnIconPencilComponent, selector: "foehn-icon-pencil" }, { kind: "component", type: i15.FoehnFormComponent, selector: "foehn-form", inputs: ["shouldDisplayAlertSummary"] }, { kind: "component", type: i16.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i17.SdkDictionaryPipe, name: "fromDictionary" }, { kind: "pipe", type: i18.DisplayDatePipe, name: "displayDate" }] }); }
192
+ clearErrors() {
193
+ if (!this.dispatchFormErrors) {
194
+ this.validationHandler.shouldDisplayErrors(true);
195
+ this.validationHandler.updateErrors([]);
196
+ }
197
+ }
198
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, deps: [{ token: i1.GesdemActionRecoveryService }, { token: i2.ValidationHandlerService }, { token: i3.FoehnPageService }, { token: i4.GesdemEventService }, { token: i5.GesdemHandlerService }, { token: i6.ApplicationInfoService }, { token: i7.SessionInfo }, { token: i8.Router }, { token: i9.SdkEventsLoggerService }], target: i0.ɵɵFactoryTarget.Component }); }
199
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: { dispatchFormErrors: "dispatchFormErrors", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", triggerOnPageChange: "triggerOnPageChange" }, viewQueries: [{ propertyName: "modalTrigger", first: true, predicate: ["modalTrigger"], descendants: true }, { propertyName: "form", first: true, predicate: FoehnFormComponent, descendants: true }], ngImport: i0, template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pe-0 ps-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n *ngIf=\"currentEtapeInfo | async as etapeInfo\"\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic:\n etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic:\n etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n id=\"continueLaterModalCancelButton\"\n type=\"button\"\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ms-md-0 me-md-2 mb-2 mt-2\"\n >\n <button\n id=\"continueLaterModalSaveButton\"\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic: (\n currentEtapeInfo | async\n ).draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.FoehnInputTextComponent, selector: "foehn-input-text", inputs: ["numberOnly"] }, { kind: "component", type: i12.FoehnInputEmailComponent, selector: "foehn-input-email" }, { kind: "component", type: i13.FoehnInputPhoneComponent, selector: "foehn-input-phone", inputs: ["acceptInternational", "acceptMobilePhone", "acceptPhone"] }, { kind: "component", type: i14.FoehnIconPencilComponent, selector: "foehn-icon-pencil" }, { kind: "component", type: i15.FoehnFormComponent, selector: "foehn-form", inputs: ["shouldDisplayAlertSummary"] }, { kind: "component", type: i16.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i17.SdkDictionaryPipe, name: "fromDictionary" }, { kind: "pipe", type: i18.DisplayDatePipe, name: "displayDate" }] }); }
183
200
  }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, decorators: [{
185
202
  type: Component,
186
- args: [{ selector: 'gesdem-action-recovery-registration', template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pe-0 ps-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n *ngIf=\"currentEtapeInfo | async as etapeInfo\"\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic:\n etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic:\n etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n id=\"continueLaterModalCancelButton\"\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ms-md-0 me-md-2 mb-2 mt-2\"\n >\n <button\n id=\"continueLaterModalSaveButton\"\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic: (\n currentEtapeInfo | async\n ).draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"] }]
187
- }], ctorParameters: () => [{ type: i1.GesdemActionRecoveryService }, { type: i2.ValidationHandlerService }, { type: i3.FoehnPageService }, { type: i4.GesdemEventService }, { type: i5.GesdemHandlerService }, { type: i6.ApplicationInfoService }, { type: i7.SessionInfo }, { type: i8.Router }, { type: i9.SdkEventsLoggerService }], propDecorators: { continueLaterLabel: [{
203
+ args: [{ selector: 'gesdem-action-recovery-registration', template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pe-0 ps-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n *ngIf=\"currentEtapeInfo | async as etapeInfo\"\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic:\n etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic:\n etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n id=\"continueLaterModalCancelButton\"\n type=\"button\"\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ms-md-0 me-md-2 mb-2 mt-2\"\n >\n <button\n id=\"continueLaterModalSaveButton\"\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic: (\n currentEtapeInfo | async\n ).draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"] }]
204
+ }], ctorParameters: () => [{ type: i1.GesdemActionRecoveryService }, { type: i2.ValidationHandlerService }, { type: i3.FoehnPageService }, { type: i4.GesdemEventService }, { type: i5.GesdemHandlerService }, { type: i6.ApplicationInfoService }, { type: i7.SessionInfo }, { type: i8.Router }, { type: i9.SdkEventsLoggerService }], propDecorators: { dispatchFormErrors: [{
205
+ type: Input
206
+ }], continueLaterLabel: [{
188
207
  type: Input
189
208
  }], continueLaterAlreadyRegisteredLabel: [{
190
209
  type: Input
@@ -199,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
199
218
  type: ViewChild,
200
219
  args: [FoehnFormComponent]
201
220
  }] } });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBR0wsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULEdBQUcsRUFDTixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUt0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTlDLE1BQU0sT0FBTyx5Q0FBeUM7SUFpQ2xELFlBQ1kscUJBQWtELEVBQ2xELGlCQUEyQyxFQUMz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cUM7bVdBUS9DLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixtQ0FBbUM7c0JBRGxDLEtBQUs7Z0JBSU4sMkJBQTJCO3NCQUQxQixLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJTixZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYztnQkFJekIsSUFBSTtzQkFESCxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgZmlyc3QsXG4gICAgbWFwLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YXBcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb2VobkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9mb2Vobi1mb3JtL2ZvZWhuLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFdGFwZUluZm8gfSBmcm9tICcuLi8uLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2RrRXZlbnRUeXBlIH0gZnJvbSAnLi4vLi4vc2RrLWV2ZW50cy1sb2dnZXIvc2RrLWV2ZW50LXR5cGUnO1xuaW1wb3J0IHsgU2RrRXZlbnRzTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3Nkay1ldmVudHMtbG9nZ2VyL3Nkay1ldmVudHMtbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi8uLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtQWN0aW9uUmVjb3ZlcnlTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcHJpc2VJbmZvIH0gZnJvbSAnLi4vcmVwcmlzZS1pbmZvJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1BY3Rpb25SZWNvdmVyeVJlZ2lzdHJhdGlvbkNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQWxyZWFkeVJlZ2lzdGVyZWRMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlck9uUGFnZUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgnbW9kYWxUcmlnZ2VyJylcbiAgICBtb2RhbFRyaWdnZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKEZvZWhuRm9ybUNvbXBvbmVudClcbiAgICBmb3JtOiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBtb2RlbCA9IG5ldyBSZXByaXNlSW5mbygpO1xuICAgIG1haWxTZW50ID0gZmFsc2U7XG5cbiAgICBjYW5Db250aW51ZUxhdGVyOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzQ29ubmVjdGVkQ3liZXI6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgY3VycmVudEluZm9SZXByaXNlOiBPYnNlcnZhYmxlPFJlcHJpc2VJbmZvPjtcbiAgICBjdXJyZW50RXRhcGVJbmZvOiBPYnNlcnZhYmxlPEV0YXBlSW5mbz47XG4gICAgdHJpZ2dlckF1dG9tYXRpY2FsbHlTdWI6IFN1YnNjcmlwdGlvbjtcbiAgICBtb2RhbFRyaWdnZXJMYWJlbDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgcHJpdmF0ZSBpc1Zpc2libGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFjdGlvblJlY292ZXJ5U2VydmljZTogR2VzZGVtQWN0aW9uUmVjb3ZlcnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZhbGlkYXRpb25IYW5kbGVyOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1FdmVudFNlcnZpY2U6IEdlc2RlbUV2ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBJbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uSW5mb1NlcnZpY2U6IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIGV2ZW50c0xvZ2dlclNlcnZpY2U6IFNka0V2ZW50c0xvZ2dlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5jdXJyZW50SW5mb1JlcHJpc2UgPSBtZXJnZShcbiAgICAgICAgICAgIG9mKHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0aGlzLmdlc2RlbUV2ZW50U2VydmljZS5mb3JtSW5pdGlhbGl6YXRpb25PYnNlcnZhYmxlKClcbiAgICAgICAgKS5waXBlKG1hcCgoKSA9PiB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhPy5pbmZvUmVwcmlzZSkpO1xuXG4gICAgICAgIHRoaXMuY3VycmVudEV0YXBlSW5mbyA9IHRoaXMuYXBwSW5mb1NlcnZpY2UuY3VycmVudEV0YXBlSW5mbztcbiAgICB9XG5cbiAgICBnZXQgaXNNb2RhbFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBnZXQgcmVmZXJlbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhPy5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWRDeWJlciA9IHRoaXMuc2Vzc2lvbkluZm9TZXJ2aWNlLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChzZXNzaW9uSW5mbyA9PiAhIXNlc3Npb25JbmZvICYmICEhc2Vzc2lvbkluZm8uY29udGV4dClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBpc0Nvbm5lY3RlZElhbUFjdiA9IHRoaXMuc2Vzc2lvbkluZm9TZXJ2aWNlLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChzZXNzaW9uSW5mbyA9PiAhIXNlc3Npb25JbmZvICYmICFzZXNzaW9uSW5mby5jb250ZXh0KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuY2FuQ29udGludWVMYXRlciA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RXRhcGVJbmZvLFxuICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZEN5YmVyLFxuICAgICAgICAgICAgaXNDb25uZWN0ZWRJYW1BY3ZcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2N1cnJlbnRFdGFwZUluZm8sIGlzQ29ubmVjdGVkQ3liZXIsIGNvbm5lY3RlZElhbUFjdl0pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5Db250aW51ZUxhdGVyRm9yRXRhcGUoXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICAgICAgICAgIGlzQ29ubmVjdGVkQ3liZXIsXG4gICAgICAgICAgICAgICAgICAgIGNvbm5lY3RlZElhbUFjdlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLm1vZGFsVHJpZ2dlckxhYmVsID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmZvUmVwcmlzZS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXByaXNlSW5mbyA9PiAhIXJlcHJpc2VJbmZvKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZEN5YmVyXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtoYXNJbmZvUmVwcmlzZSwgaXNDb25uZWN0ZWRDeWJlcl0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNDb25uZWN0ZWRDeWJlcikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChoYXNJbmZvUmVwcmlzZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb250aW51ZUxhdGVyQWxyZWFkeVJlZ2lzdGVyZWRMYWJlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGludWVMYXRlckxhYmVsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyT25QYWdlQ2hhbmdlKSB7XG4gICAgICAgICAgICBsZXQgcmVjb3ZlcnlTdWdnZXN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckF1dG9tYXRpY2FsbHlTdWIgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbkNvbnRpbnVlTGF0ZXIucGlwZShmaXJzdCgpKSxcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmZvUmVwcmlzZS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAocmVwcmlzZUluZm8gPT4gISFyZXByaXNlSW5mbyksXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRoaXMuaXNDb25uZWN0ZWRDeWJlcixcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydClcbiAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICBdKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKFtjYW5Db250aW51ZUxhdGVyLCBoYXNJbmZvUmVwcmlzZSwgaXNDb25uZWN0ZWRDeWJlcl0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQ29ubmVjdGVkQ3liZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc0JlZW5TYXZlZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAhIXRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LnJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuQ29udGludWVMYXRlciAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWhhc0luZm9SZXByaXNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNCZWVuU2F2ZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFyZWNvdmVyeVN1Z2dlc3RlZFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0b3AgbGlzdGVuaW5nIHRvIHJvdXRlciBldmVudCBvZiB0eXBlIE5hdmlnYXRpb25TdGFydCwgc2luY2Ugd2Ugd2lsbCB0cmlnZ2VyIG9uZSBvbiBuZXh0IGxpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckF1dG9tYXRpY2FsbHlTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgbmF2aWdhdGlvbiB0byBuZXh0IHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3Blbk1vZGFsKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5U3VnZ2VzdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyQXV0b21hdGljYWxseVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBzYXZlQW5kT3Blbk1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICAgICAgLmZvcm1TZW50T2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihyZXNwID0+ICEhcmVzcC5tZXRhLnJlZmVyZW5jZSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaXNDb25uZWN0ZWRDeWJlcilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoaXNDb25uZWN0ZWRDeWJlciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuTW9kYWwoaXNDb25uZWN0ZWRDeWJlcik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZvZWhuUGFnZVNlcnZpY2UucmVxdWVzdEZvcm1TYXZlKCk7XG4gICAgfVxuXG4gICAgb3Blbk1vZGFsKGlzQ29ubmVjdGVkQ3liZXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYWlsU2VudCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5ldmVudHNMb2dnZXJTZXJ2aWNlLmFkZEV2ZW50KFNka0V2ZW50VHlwZS5SRUNPVkVSWV9NT0RBTF9PUEVORUQpO1xuXG4gICAgICAgIGlmICghaXNDb25uZWN0ZWRDeWJlcikge1xuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpb25SZWNvdmVyeVNlcnZpY2UuZ2V0RGVmYXVsdFJlY292ZXJ5VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmZvUmVwcmlzZVxuICAgICAgICAgICAgXSkgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtkZWZhdWx0UmVwcmlzZUluZm8sIGN1cnJlbnRSZXByaXNlSW5mb10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IGN1cnJlbnRSZXByaXNlSW5mbyB8fCBkZWZhdWx0UmVwcmlzZUluZm87XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoZmFsc2UpO1xuICAgIH1cblxuICAgIHNlbmRBbmRDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb25SZWNvdmVyeVNlcnZpY2VcbiAgICAgICAgICAgIC5yZWdpc3RlckZvclJlY292ZXJ5KHRoaXMucmVmZXJlbmNlLCB0aGlzLm1vZGVsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKGZvcm1SZWNvdmVyeUVycm9ycyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25IYW5kbGVyLnNob3VsZERpc3BsYXlFcnJvcnModHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXIudXBkYXRlRXJyb3JzKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZvcm1SZWNvdmVyeUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UuZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZm9jdXNGaXJzdEluRXJyb3IoKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWdpc3RyYXRpb25TdWNjZXNzZnVsbCA9ICFmb3JtUmVjb3ZlcnlFcnJvcnMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1haWxTZW50ID0gcmVnaXN0cmF0aW9uU3VjY2Vzc2Z1bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlZ2lzdHJhdGlvblN1Y2Nlc3NmdWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV2ZW50c0xvZ2dlclNlcnZpY2UuYWRkRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2RrRXZlbnRUeXBlLlJFQ09WRVJZX1JFR0lTVEVSRURcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZm9ybSBjb3VsZCBoYXZlIGJlZW4gdXBkYXRlZCBieSB0aGUgYmFja2VuZCBvbiByZWNvdmVyeSByZWdpc3RyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5yZXRyaWV2ZSh0aGlzLnJlZmVyZW5jZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIFN0b3JlIHRoZSBwcmV2aW91cyB2YWx1ZSB0byBoYW5kbGUgdHJhbnNpdGlvbnMgZnJvbSBvbmUgc3RhdGUgdG8gYW5vdGhlci5cbiAgICAgICAgY29uc3Qgd2FzT3BlbiA9IHRoaXMuaXNWaXNpYmxlO1xuXG4gICAgICAgIC8vIEluIGNhc2UgdGhlIG1vZGFsIGlzIGNsb3NlZCBieSBhbm90aGVyIG1lYW4uXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gc3RhdHVzO1xuXG4gICAgICAgIC8vIEZvY3VzIGJhY2sgb24gdGhlIHRyaWdnZXIuIE5vIG5lZWQgZm9yIGEgc2V0VGltZW91dCBhcyB0aGUgdHJpZ2dlciBzaG91bGQgc3RpbGwgYmUgaW4gdGhlIERPTS5cbiAgICAgICAgLy8gT25seSBkb2VzIGl0IHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZCBmcm9tIGEgb3BlbiBzdGF0ZSB0byBhdm9pZCB0byBzZXRcbiAgICAgICAgLy8gdGhlIGZvY3VzIHdoZW4gdGhlIHBhZ2UgbG9hZHMuXG4gICAgICAgIGlmICh3YXNPcGVuICYmICF0aGlzLmlzVmlzaWJsZSAmJiB0aGlzLm1vZGFsVHJpZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFRyaWdnZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW5Db250aW51ZUxhdGVyRm9yRXRhcGUoXG4gICAgICAgIGN1cnJlbnRFdGFwZUluZm86IEV0YXBlSW5mbyxcbiAgICAgICAgaXNDb25uZWN0ZWRDeWJlcjogYm9vbGVhbixcbiAgICAgICAgaXNDb25uZWN0ZWRJYW1BY3Y6IGJvb2xlYW5cbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGlzQ29ubmVjdGVkSWFtQWN2KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBub3QgY29ubmVjdGVkLCB0YWtlIHRoZSBcInJlcHJpc2VQb3NzaWJsZVwiIGZsYWcgZnJvbSBDYXRQcmVzdFxuICAgICAgICAvLyBpbnRvIGFjY291bnQuXG4gICAgICAgIGlmICghaXNDb25uZWN0ZWRDeWJlcikge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRFdGFwZUluZm8gJiYgY3VycmVudEV0YXBlSW5mby5yZXByaXNlUG9zc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBjb25uZWN0ZWQsIG9ubHkgZGlzcGxheSB0aGUgYnV0dG9uIGlmIHRoZSBjdXJyZW50IHN0ZXAgaWYgdGhlIGluaXRpYWxcbiAgICAgICAgLy8gc3RlcC5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8gJiZcbiAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8uaWRNZXRpZXJFdGFwZSA9PT1cbiAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvLmlkTWV0aWVyUHJlc3RhdGlvblxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBpZD1cImNvbnRpbnVlTGF0ZXJCdXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHBlLTAgcHMtMCBuby10ZXh0LXRyYW5zZm9ybVwiXG4gICAgKm5nSWY9XCJjYW5Db250aW51ZUxhdGVyIHwgYXN5bmNcIlxuICAgIFtpbm5lckhUTUxdPVwibW9kYWxUcmlnZ2VyTGFiZWwgfCBhc3luY1wiXG4gICAgKGNsaWNrKT1cInNhdmVBbmRPcGVuTW9kYWwoKVwiXG4gICAgI21vZGFsVHJpZ2dlclxuPjwvYnV0dG9uPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudEluZm9SZXByaXNlIHwgYXN5bmMgYXMgY3VycmVudEluZm9cIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmN1cnJlbnQtaW5mby5wcmV2aWV3J1xuICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5TWFpbDogY3VycmVudEluZm8uZW1haWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RSZWdpc3RyYXRpb246XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudEluZm8ubGFzdFVwZGF0ZSB8IGRpc3BsYXlEYXRlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICA+PC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGZvZWhuLW1vZGFsXG4gICAgKm5nSWY9XCJjdXJyZW50RXRhcGVJbmZvIHwgYXN5bmMgYXMgZXRhcGVJbmZvXCJcbiAgICBpZD1cImFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24tbW9kYWxcIlxuICAgIFttb2RhbFNpemVdPVwiIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpID8gJ21vZGFsLWxnJyA6ICdtb2RhbC1tZCdcIlxuICAgIFttb2RhbEhlYWRlclRleHRdPVwiXG4gICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5tb2RhbEhlYWRlclRleHQnIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtpc01vZGFsVmlzaWJsZV09XCJpc01vZGFsVmlzaWJsZVwiXG4gICAgKGlzTW9kYWxWaXNpYmxlQ2hhbmdlKT1cInVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhKGlzQ29ubmVjdGVkQ3liZXIgfCBhc3luYylcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvJ1xuICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuXG4gICAgICAgIDxhIGhyZWY9XCIvMTAwMDAyL2RlbWFuZGVzL3NlYXJjaC9NSU5FL0lOSVRJQUxcIj5cbiAgICAgICAgICAgIDxmb2Vobi1pY29uLXBlbmNpbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaDNcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8uZHJhZnQtbGluay10ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9mb2Vobi1pY29uLXBlbmNpbD5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvLmRyYWZ0LWxpbmstdGV4dCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbmZvUmVwcmlzZSB8IGFzeW5jIGFzIGN1cnJlbnRJbmZvO1xuICAgICAgICAgICAgICAgIGVsc2Ugbm9DdXJyZW50SW5mb1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhbWFpbFNlbnRcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmN1cnJlbnQtaW5mbydcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0UmVnaXN0cmF0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudEluZm8ubGFzdFVwZGF0ZSB8IGRpc3BsYXlEYXRlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0YXBlSW5mby5kcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWM/LnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1haWxTZW50XCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5pbmZvLnNlbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3ZlcnlNYWlsOiBjdXJyZW50SW5mby5lbWFpbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvdmVyeU1vYmlsZTogY3VycmVudEluZm8ubW9iaWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRhcGVJbmZvLmRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYz8udG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxmb2Vobi1mb3JtICpuZ0lmPVwiIW1haWxTZW50XCIgW3Nob3VsZERpc3BsYXlBbGVydFN1bW1hcnldPVwiZmFsc2VcIj5cbiAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1lbWFpbFxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQuZW1haWwubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbaGVscFRleHRdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmVtYWlsLmhlbHAtdGV4dCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsLmVtYWlsXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LWVtYWlsPlxuXG4gICAgICAgICAgICA8Zm9laG4taW5wdXQtcGhvbmVcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLm1vYmlsZS5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRJbnRlcm5hdGlvbmFsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRNb2JpbGVQaG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbYWNjZXB0UGhvbmVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsLm1vYmlsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cIm1vYmlsZVwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtcGhvbmU+XG5cbiAgICAgICAgICAgIDxmb2Vobi1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5yZWZlcmVuY2UtaW50ZXJuZS5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtoZWxwVGV4dF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQucmVmZXJlbmNlLWludGVybmUuaGVscC10ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWwucmVmZXJlbmNlSW50ZXJuZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInJlZmVyZW5jZUludGVybmVcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC10ZXh0PlxuICAgICAgICA8L2ZvZWhuLWZvcm0+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IG1vZGFsLWZvb3RlciBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1tZC1hdXRvIG1lLW1kLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpZD1cImNvbnRpbnVlTGF0ZXJNb2RhbENhbmNlbEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY2FuY2VsLmJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhKGlzQ29ubmVjdGVkQ3liZXIgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtbWQtMCBtZS1tZC0yIG1iLTIgbXQtMlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpZD1cImNvbnRpbnVlTGF0ZXJNb2RhbFNhdmVCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbmRBbmRDbG9zZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3Mgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFtYWlsU2VudFwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uc2F2ZS5idXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9laG4tbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSAjbm9DdXJyZW50SW5mbz5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5ub3QtcmVnaXN0ZXJlZC5pbmZvJ1xuICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYzogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mbyB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkuZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljPy50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcIlxuICAgID48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBR0wsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULEdBQUcsRUFDTixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUt0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTlDLE1BQU0sT0FBTyx5Q0FBeUM7SUFvQ2xELFlBQ1kscUJBQWtELEVBQ2xELGlCQUEyQyxFQUMz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LENBQUM7WUFDcEIsT0FBTyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7UUFDaEUsQ0FBQztRQUVELDJFQUEyRTtRQUMzRSxRQUFRO1FBQ1IsT0FBTyxDQUNILGdCQUFnQjtZQUNoQixnQkFBZ0IsQ0FBQyxhQUFhO2dCQUMxQixnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDMUMsQ0FBQztJQUNOLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDOytHQWpSUSx5Q0FBeUM7bUdBQXpDLHlDQUF5QyxvZUFxQnZDLGtCQUFrQixnREMzRGpDLGc5TkErTEE7OzRGRHpKYSx5Q0FBeUM7a0JBTnJELFNBQVM7K0JBRUkscUNBQXFDO21XQVEvQyxrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLG1DQUFtQztzQkFEbEMsS0FBSztnQkFJTiwyQkFBMkI7c0JBRDFCLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjO2dCQUl6QixJQUFJO3NCQURILFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBmaXJzdCxcbiAgICBtYXAsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRhcFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZvZWhuRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ZvZWhuLWZvcm0vZm9laG4tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdlc2RlbUV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEV0YXBlSW5mbyB9IGZyb20gJy4uLy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uLy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTZGtFdmVudFR5cGUgfSBmcm9tICcuLi8uLi9zZGstZXZlbnRzLWxvZ2dlci9zZGstZXZlbnQtdHlwZSc7XG5pbXBvcnQgeyBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWV2ZW50cy1sb2dnZXIvc2RrLWV2ZW50cy1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uLy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1BY3Rpb25SZWNvdmVyeVNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwcmlzZUluZm8gfSBmcm9tICcuLi9yZXByaXNlLWluZm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdlc2RlbUFjdGlvblJlY292ZXJ5UmVnaXN0cmF0aW9uQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGF0Y2hGb3JtRXJyb3JzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQWxyZWFkeVJlZ2lzdGVyZWRMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlck9uUGFnZUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgnbW9kYWxUcmlnZ2VyJylcbiAgICBtb2RhbFRyaWdnZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKEZvZWhuRm9ybUNvbXBvbmVudClcbiAgICBmb3JtOiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBtb2RlbCA9IG5ldyBSZXByaXNlSW5mbygpO1xuICAgIG1haWxTZW50ID0gZmFsc2U7XG5cbiAgICBjYW5Db250aW51ZUxhdGVyOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzQ29ubmVjdGVkQ3liZXI6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgY3VycmVudEluZm9SZXByaXNlOiBPYnNlcnZhYmxlPFJlcHJpc2VJbmZvPjtcbiAgICBjdXJyZW50RXRhcGVJbmZvOiBPYnNlcnZhYmxlPEV0YXBlSW5mbz47XG4gICAgdHJpZ2dlckF1dG9tYXRpY2FsbHlTdWI6IFN1YnNjcmlwdGlvbjtcbiAgICBtb2RhbFRyaWdnZXJMYWJlbDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgcHJpdmF0ZSBpc1Zpc2libGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFjdGlvblJlY292ZXJ5U2VydmljZTogR2VzZGVtQWN0aW9uUmVjb3ZlcnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZhbGlkYXRpb25IYW5kbGVyOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1FdmVudFNlcnZpY2U6IEdlc2RlbUV2ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBJbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uSW5mb1NlcnZpY2U6IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIGV2ZW50c0xvZ2dlclNlcnZpY2U6IFNka0V2ZW50c0xvZ2dlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5jdXJyZW50SW5mb1JlcHJpc2UgPSBtZXJnZShcbiAgICAgICAgICAgIG9mKHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0aGlzLmdlc2RlbUV2ZW50U2VydmljZS5mb3JtSW5pdGlhbGl6YXRpb25PYnNlcnZhYmxlKClcbiAgICAgICAgKS5waXBlKG1hcCgoKSA9PiB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhPy5pbmZvUmVwcmlzZSkpO1xuXG4gICAgICAgIHRoaXMuY3VycmVudEV0YXBlSW5mbyA9IHRoaXMuYXBwSW5mb1NlcnZpY2UuY3VycmVudEV0YXBlSW5mbztcbiAgICB9XG5cbiAgICBnZXQgaXNNb2RhbFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBnZXQgcmVmZXJlbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhPy5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWRDeWJlciA9IHRoaXMuc2Vzc2lvbkluZm9TZXJ2aWNlLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChzZXNzaW9uSW5mbyA9PiAhIXNlc3Npb25JbmZvICYmICEhc2Vzc2lvbkluZm8uY29udGV4dClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBpc0Nvbm5lY3RlZElhbUFjdiA9IHRoaXMuc2Vzc2lvbkluZm9TZXJ2aWNlLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChzZXNzaW9uSW5mbyA9PiAhIXNlc3Npb25JbmZvICYmICFzZXNzaW9uSW5mby5jb250ZXh0KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuY2FuQ29udGludWVMYXRlciA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RXRhcGVJbmZvLFxuICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZEN5YmVyLFxuICAgICAgICAgICAgaXNDb25uZWN0ZWRJYW1BY3ZcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2N1cnJlbnRFdGFwZUluZm8sIGlzQ29ubmVjdGVkQ3liZXIsIGNvbm5lY3RlZElhbUFjdl0pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5Db250aW51ZUxhdGVyRm9yRXRhcGUoXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICAgICAgICAgIGlzQ29ubmVjdGVkQ3liZXIsXG4gICAgICAgICAgICAgICAgICAgIGNvbm5lY3RlZElhbUFjdlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLm1vZGFsVHJpZ2dlckxhYmVsID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmZvUmVwcmlzZS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXByaXNlSW5mbyA9PiAhIXJlcHJpc2VJbmZvKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZEN5YmVyXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtoYXNJbmZvUmVwcmlzZSwgaXNDb25uZWN0ZWRDeWJlcl0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNDb25uZWN0ZWRDeWJlcikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChoYXNJbmZvUmVwcmlzZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb250aW51ZUxhdGVyQWxyZWFkeVJlZ2lzdGVyZWRMYWJlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGludWVMYXRlckxhYmVsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyT25QYWdlQ2hhbmdlKSB7XG4gICAgICAgICAgICBsZXQgcmVjb3ZlcnlTdWdnZXN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckF1dG9tYXRpY2FsbHlTdWIgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbkNvbnRpbnVlTGF0ZXIucGlwZShmaXJzdCgpKSxcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmZvUmVwcmlzZS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAocmVwcmlzZUluZm8gPT4gISFyZXByaXNlSW5mbyksXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRoaXMuaXNDb25uZWN0ZWRDeWJlcixcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydClcbiAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICBdKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKFtjYW5Db250aW51ZUxhdGVyLCBoYXNJbmZvUmVwcmlzZSwgaXNDb25uZWN0ZWRDeWJlcl0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQ29ubmVjdGVkQ3liZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc0JlZW5TYXZlZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAhIXRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LnJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuQ29udGludWVMYXRlciAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWhhc0luZm9SZXByaXNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNCZWVuU2F2ZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFyZWNvdmVyeVN1Z2dlc3RlZFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0b3AgbGlzdGVuaW5nIHRvIHJvdXRlciBldmVudCBvZiB0eXBlIE5hdmlnYXRpb25TdGFydCwgc2luY2Ugd2Ugd2lsbCB0cmlnZ2VyIG9uZSBvbiBuZXh0IGxpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckF1dG9tYXRpY2FsbHlTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgbmF2aWdhdGlvbiB0byBuZXh0IHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3Blbk1vZGFsKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5U3VnZ2VzdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyQXV0b21hdGljYWxseVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBzYXZlQW5kT3Blbk1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgICAgICAgICAuZm9ybVNlbnRPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKHJlc3AgPT4gISFyZXNwLm1ldGEucmVmZXJlbmNlKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5pc0Nvbm5lY3RlZEN5YmVyKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZShpc0Nvbm5lY3RlZEN5YmVyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5Nb2RhbChpc0Nvbm5lY3RlZEN5YmVyKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZS5yZXF1ZXN0Rm9ybVNhdmUoKTtcbiAgICB9XG5cbiAgICBvcGVuTW9kYWwoaXNDb25uZWN0ZWRDeWJlcjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgICAgIHRoaXMubWFpbFNlbnQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZXZlbnRzTG9nZ2VyU2VydmljZS5hZGRFdmVudChTZGtFdmVudFR5cGUuUkVDT1ZFUllfTU9EQUxfT1BFTkVEKTtcblxuICAgICAgICBpZiAoIWlzQ29ubmVjdGVkQ3liZXIpIHtcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uUmVjb3ZlcnlTZXJ2aWNlLmdldERlZmF1bHRSZWNvdmVyeVZhbHVlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5mb1JlcHJpc2VcbiAgICAgICAgICAgIF0pIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChbZGVmYXVsdFJlcHJpc2VJbmZvLCBjdXJyZW50UmVwcmlzZUluZm9dKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZWwgPSBjdXJyZW50UmVwcmlzZUluZm8gfHwgZGVmYXVsdFJlcHJpc2VJbmZvO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tb2RlbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckVycm9ycygpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoZmFsc2UpO1xuICAgIH1cblxuICAgIHNlbmRBbmRDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb25SZWNvdmVyeVNlcnZpY2VcbiAgICAgICAgICAgIC5yZWdpc3RlckZvclJlY292ZXJ5KHRoaXMucmVmZXJlbmNlLCB0aGlzLm1vZGVsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKGZvcm1SZWNvdmVyeUVycm9ycyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25IYW5kbGVyLnNob3VsZERpc3BsYXlFcnJvcnModHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRpc3BhdGNoRm9ybUVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uSGFuZGxlci51cGRhdGVFcnJvcnMoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZvcm1SZWNvdmVyeUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25IYW5kbGVyLnVwZGF0ZUVycm9ycyhmb3JtUmVjb3ZlcnlFcnJvcnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmZvY3VzRmlyc3RJbkVycm9yKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVnaXN0cmF0aW9uU3VjY2Vzc2Z1bGwgPSAhZm9ybVJlY292ZXJ5RXJyb3JzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYWlsU2VudCA9IHJlZ2lzdHJhdGlvblN1Y2Nlc3NmdWxsO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWdpc3RyYXRpb25TdWNjZXNzZnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldmVudHNMb2dnZXJTZXJ2aWNlLmFkZEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNka0V2ZW50VHlwZS5SRUNPVkVSWV9SRUdJU1RFUkVEXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGZvcm0gY291bGQgaGF2ZSBiZWVuIHVwZGF0ZWQgYnkgdGhlIGJhY2tlbmQgb24gcmVjb3ZlcnkgcmVnaXN0cmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmV0cmlldmUodGhpcy5yZWZlcmVuY2UsIHRoaXMuZGlzcGF0Y2hGb3JtRXJyb3JzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIFN0b3JlIHRoZSBwcmV2aW91cyB2YWx1ZSB0byBoYW5kbGUgdHJhbnNpdGlvbnMgZnJvbSBvbmUgc3RhdGUgdG8gYW5vdGhlci5cbiAgICAgICAgY29uc3Qgd2FzT3BlbiA9IHRoaXMuaXNWaXNpYmxlO1xuXG4gICAgICAgIC8vIEluIGNhc2UgdGhlIG1vZGFsIGlzIGNsb3NlZCBieSBhbm90aGVyIG1lYW4uXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gc3RhdHVzO1xuXG4gICAgICAgIC8vIEZvY3VzIGJhY2sgb24gdGhlIHRyaWdnZXIuIE5vIG5lZWQgZm9yIGEgc2V0VGltZW91dCBhcyB0aGUgdHJpZ2dlciBzaG91bGQgc3RpbGwgYmUgaW4gdGhlIERPTS5cbiAgICAgICAgLy8gT25seSBkb2VzIGl0IHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZCBmcm9tIGEgb3BlbiBzdGF0ZSB0byBhdm9pZCB0byBzZXRcbiAgICAgICAgLy8gdGhlIGZvY3VzIHdoZW4gdGhlIHBhZ2UgbG9hZHMuXG4gICAgICAgIGlmICh3YXNPcGVuICYmICF0aGlzLmlzVmlzaWJsZSAmJiB0aGlzLm1vZGFsVHJpZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFRyaWdnZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW5Db250aW51ZUxhdGVyRm9yRXRhcGUoXG4gICAgICAgIGN1cnJlbnRFdGFwZUluZm86IEV0YXBlSW5mbyxcbiAgICAgICAgaXNDb25uZWN0ZWRDeWJlcjogYm9vbGVhbixcbiAgICAgICAgaXNDb25uZWN0ZWRJYW1BY3Y6IGJvb2xlYW5cbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGlzQ29ubmVjdGVkSWFtQWN2KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBub3QgY29ubmVjdGVkLCB0YWtlIHRoZSBcInJlcHJpc2VQb3NzaWJsZVwiIGZsYWcgZnJvbSBDYXRQcmVzdFxuICAgICAgICAvLyBpbnRvIGFjY291bnQuXG4gICAgICAgIGlmICghaXNDb25uZWN0ZWRDeWJlcikge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRFdGFwZUluZm8gJiYgY3VycmVudEV0YXBlSW5mby5yZXByaXNlUG9zc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBjb25uZWN0ZWQsIG9ubHkgZGlzcGxheSB0aGUgYnV0dG9uIGlmIHRoZSBjdXJyZW50IHN0ZXAgaWYgdGhlIGluaXRpYWxcbiAgICAgICAgLy8gc3RlcC5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8gJiZcbiAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8uaWRNZXRpZXJFdGFwZSA9PT1cbiAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvLmlkTWV0aWVyUHJlc3RhdGlvblxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJFcnJvcnMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNwYXRjaEZvcm1FcnJvcnMpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXIuc2hvdWxkRGlzcGxheUVycm9ycyh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXIudXBkYXRlRXJyb3JzKFtdKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBpZD1cImNvbnRpbnVlTGF0ZXJCdXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHBlLTAgcHMtMCBuby10ZXh0LXRyYW5zZm9ybVwiXG4gICAgKm5nSWY9XCJjYW5Db250aW51ZUxhdGVyIHwgYXN5bmNcIlxuICAgIFtpbm5lckhUTUxdPVwibW9kYWxUcmlnZ2VyTGFiZWwgfCBhc3luY1wiXG4gICAgKGNsaWNrKT1cInNhdmVBbmRPcGVuTW9kYWwoKVwiXG4gICAgI21vZGFsVHJpZ2dlclxuPjwvYnV0dG9uPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudEluZm9SZXByaXNlIHwgYXN5bmMgYXMgY3VycmVudEluZm9cIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmN1cnJlbnQtaW5mby5wcmV2aWV3J1xuICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5TWFpbDogY3VycmVudEluZm8uZW1haWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RSZWdpc3RyYXRpb246XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudEluZm8ubGFzdFVwZGF0ZSB8IGRpc3BsYXlEYXRlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICA+PC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGZvZWhuLW1vZGFsXG4gICAgKm5nSWY9XCJjdXJyZW50RXRhcGVJbmZvIHwgYXN5bmMgYXMgZXRhcGVJbmZvXCJcbiAgICBpZD1cImFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24tbW9kYWxcIlxuICAgIFttb2RhbFNpemVdPVwiIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpID8gJ21vZGFsLWxnJyA6ICdtb2RhbC1tZCdcIlxuICAgIFttb2RhbEhlYWRlclRleHRdPVwiXG4gICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5tb2RhbEhlYWRlclRleHQnIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtpc01vZGFsVmlzaWJsZV09XCJpc01vZGFsVmlzaWJsZVwiXG4gICAgKGlzTW9kYWxWaXNpYmxlQ2hhbmdlKT1cInVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhKGlzQ29ubmVjdGVkQ3liZXIgfCBhc3luYylcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvJ1xuICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuXG4gICAgICAgIDxhIGhyZWY9XCIvMTAwMDAyL2RlbWFuZGVzL3NlYXJjaC9NSU5FL0lOSVRJQUxcIj5cbiAgICAgICAgICAgIDxmb2Vobi1pY29uLXBlbmNpbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaDNcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8uZHJhZnQtbGluay10ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9mb2Vobi1pY29uLXBlbmNpbD5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvLmRyYWZ0LWxpbmstdGV4dCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbmZvUmVwcmlzZSB8IGFzeW5jIGFzIGN1cnJlbnRJbmZvO1xuICAgICAgICAgICAgICAgIGVsc2Ugbm9DdXJyZW50SW5mb1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhbWFpbFNlbnRcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmN1cnJlbnQtaW5mbydcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0UmVnaXN0cmF0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudEluZm8ubGFzdFVwZGF0ZSB8IGRpc3BsYXlEYXRlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0YXBlSW5mby5kcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWM/LnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1haWxTZW50XCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5pbmZvLnNlbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3ZlcnlNYWlsOiBjdXJyZW50SW5mby5lbWFpbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvdmVyeU1vYmlsZTogY3VycmVudEluZm8ubW9iaWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRhcGVJbmZvLmRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYz8udG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxmb2Vobi1mb3JtICpuZ0lmPVwiIW1haWxTZW50XCIgW3Nob3VsZERpc3BsYXlBbGVydFN1bW1hcnldPVwiZmFsc2VcIj5cbiAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1lbWFpbFxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQuZW1haWwubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbaGVscFRleHRdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmVtYWlsLmhlbHAtdGV4dCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsLmVtYWlsXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LWVtYWlsPlxuXG4gICAgICAgICAgICA8Zm9laG4taW5wdXQtcGhvbmVcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLm1vYmlsZS5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRJbnRlcm5hdGlvbmFsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRNb2JpbGVQaG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbYWNjZXB0UGhvbmVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsLm1vYmlsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cIm1vYmlsZVwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtcGhvbmU+XG5cbiAgICAgICAgICAgIDxmb2Vobi1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5yZWZlcmVuY2UtaW50ZXJuZS5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtoZWxwVGV4dF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQucmVmZXJlbmNlLWludGVybmUuaGVscC10ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWwucmVmZXJlbmNlSW50ZXJuZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInJlZmVyZW5jZUludGVybmVcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC10ZXh0PlxuICAgICAgICA8L2ZvZWhuLWZvcm0+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IG1vZGFsLWZvb3RlciBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1tZC1hdXRvIG1lLW1kLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpZD1cImNvbnRpbnVlTGF0ZXJNb2RhbENhbmNlbEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNhbmNlbC5idXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLW1kLTAgbWUtbWQtMiBtYi0yIG10LTJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb250aW51ZUxhdGVyTW9kYWxTYXZlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZW5kQW5kQ2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhbWFpbFNlbnRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLnNhdmUuYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2ZvZWhuLW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI25vQ3VycmVudEluZm8+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQubm90LXJlZ2lzdGVyZWQuaW5mbydcbiAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWM6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8gfCBhc3luY1xuICAgICAgICAgICAgICAgICAgICAgICAgICApLmRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYz8udG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICA+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -12,8 +12,8 @@ import { GesdemActionRecoveryLoginComponent } from './gesdem-action-recovery-log
12
12
  import { GesdemActionRecoveryRegistrationComponent } from './gesdem-action-recovery-registration/gesdem-action-recovery-registration.component';
13
13
  import * as i0 from "@angular/core";
14
14
  export class GesdemActionRecoveryModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryModule, declarations: [GesdemActionRecoveryLoginComponent,
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryModule, declarations: [GesdemActionRecoveryLoginComponent,
17
17
  GesdemActionRecoveryRegistrationComponent], imports: [CommonModule,
18
18
  RouterModule,
19
19
  FoehnInputModule,
@@ -23,7 +23,7 @@ export class GesdemActionRecoveryModule {
23
23
  SdkDictionaryModule,
24
24
  PipeModule], exports: [GesdemActionRecoveryLoginComponent,
25
25
  GesdemActionRecoveryRegistrationComponent] }); }
26
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryModule, imports: [CommonModule,
26
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryModule, imports: [CommonModule,
27
27
  RouterModule,
28
28
  FoehnInputModule,
29
29
  FoehnIconsModule,
@@ -32,7 +32,7 @@ export class GesdemActionRecoveryModule {
32
32
  SdkDictionaryModule,
33
33
  PipeModule] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryModule, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryModule, decorators: [{
36
36
  type: NgModule,
37
37
  args: [{
38
38
  imports: [
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
55
55
  ]
56
56
  }]
57
57
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUMzSCxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0scUZBQXFGLENBQUM7O0FBc0JoSixNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7K0dBQTFCLDBCQUEwQixpQkFSL0Isa0NBQWtDO1lBQ2xDLHlDQUF5QyxhQVh6QyxZQUFZO1lBQ1osWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsVUFBVSxhQU9WLGtDQUFrQztZQUNsQyx5Q0FBeUM7K0dBR3BDLDBCQUEwQixZQWxCL0IsWUFBWTtZQUNaLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFVBQVU7OzJGQVdMLDBCQUEwQjtrQkFwQnRDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsVUFBVTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1Ysa0NBQWtDO3dCQUNsQyx5Q0FBeUM7cUJBQzVDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxrQ0FBa0M7d0JBQ2xDLHlDQUF5QztxQkFDNUM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEZvZWhuRm9ybU1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWZvcm0vZm9laG4tZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobklucHV0TW9kdWxlIH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuTW9kYWxNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5tb2R1bGUnO1xuaW1wb3J0IHsgUGlwZU1vZHVsZSB9IGZyb20gJy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5TW9kdWxlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkubW9kdWxlJztcbmltcG9ydCB7IEdlc2RlbUFjdGlvblJlY292ZXJ5TG9naW5Db21wb25lbnQgfSBmcm9tICcuL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1sb2dpbi5jb21wb25lbnQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbmltcG9ydCB7IEdlc2RlbUFjdGlvblJlY292ZXJ5UmVnaXN0cmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIEZvZWhuSW5wdXRNb2R1bGUsXG4gICAgICAgIEZvZWhuSWNvbnNNb2R1bGUsXG4gICAgICAgIEZvZWhuRm9ybU1vZHVsZSxcbiAgICAgICAgRm9laG5Nb2RhbE1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZSxcbiAgICAgICAgUGlwZU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEdlc2RlbUFjdGlvblJlY292ZXJ5TG9naW5Db21wb25lbnQsXG4gICAgICAgIEdlc2RlbUFjdGlvblJlY292ZXJ5UmVnaXN0cmF0aW9uQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEdlc2RlbUFjdGlvblJlY292ZXJ5TG9naW5Db21wb25lbnQsXG4gICAgICAgIEdlc2RlbUFjdGlvblJlY292ZXJ5UmVnaXN0cmF0aW9uQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSB7fVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUMzSCxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0scUZBQXFGLENBQUM7O0FBc0JoSixNQUFNLE9BQU8sMEJBQTBCOytHQUExQiwwQkFBMEI7Z0hBQTFCLDBCQUEwQixpQkFSL0Isa0NBQWtDO1lBQ2xDLHlDQUF5QyxhQVh6QyxZQUFZO1lBQ1osWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsVUFBVSxhQU9WLGtDQUFrQztZQUNsQyx5Q0FBeUM7Z0hBR3BDLDBCQUEwQixZQWxCL0IsWUFBWTtZQUNaLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFVBQVU7OzRGQVdMLDBCQUEwQjtrQkFwQnRDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsVUFBVTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1Ysa0NBQWtDO3dCQUNsQyx5Q0FBeUM7cUJBQzVDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxrQ0FBa0M7d0JBQ2xDLHlDQUF5QztxQkFDNUM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEZvZWhuRm9ybU1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWZvcm0vZm9laG4tZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobklucHV0TW9kdWxlIH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuTW9kYWxNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5tb2R1bGUnO1xuaW1wb3J0IHsgUGlwZU1vZHVsZSB9IGZyb20gJy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5TW9kdWxlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkubW9kdWxlJztcbmltcG9ydCB7IEdlc2RlbUFjdGlvblJlY292ZXJ5TG9naW5Db21wb25lbnQgfSBmcm9tICcuL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1sb2dpbi5jb21wb25lbnQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbmltcG9ydCB7IEdlc2RlbUFjdGlvblJlY292ZXJ5UmVnaXN0cmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIEZvZWhuSW5wdXRNb2R1bGUsXG4gICAgICAgIEZvZWhuSWNvbnNNb2R1bGUsXG4gICAgICAgIEZvZWhuRm9ybU1vZHVsZSxcbiAgICAgICAgRm9laG5Nb2RhbE1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZSxcbiAgICAgICAgUGlwZU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEdlc2RlbUFjdGlvblJlY292ZXJ5TG9naW5Db21wb25lbnQsXG4gICAgICAgIEdlc2RlbUFjdGlvblJlY292ZXJ5UmVnaXN0cmF0aW9uQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEdlc2RlbUFjdGlvblJlY292ZXJ5TG9naW5Db21wb25lbnQsXG4gICAgICAgIEdlc2RlbUFjdGlvblJlY292ZXJ5UmVnaXN0cmF0aW9uQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSB7fVxuIl19
@@ -70,13 +70,13 @@ export class GesdemActionRecoveryService {
70
70
  return throwError(() => true);
71
71
  }));
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryService, deps: [{ token: i1.HttpClient }, { token: i2.GrowlBrokerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryService, providedIn: 'root' }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryService, deps: [{ token: i1.HttpClient }, { token: i2.GrowlBrokerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryService, providedIn: 'root' }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemActionRecoveryService, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemActionRecoveryService, decorators: [{
77
77
  type: Injectable,
78
78
  args: [{
79
79
  providedIn: 'root'
80
80
  }]
81
81
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GrowlBrokerService }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUl2RDs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO0lBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUtGLE1BQU0sT0FBTywyQkFBMkI7SUFHcEMsWUFDWSxJQUFnQixFQUNoQixZQUFnQztRQURoQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtJQUN6QyxDQUFDO0lBRUosSUFBSSxNQUFNLENBQUMsTUFBYztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQixDQUFDO0lBRUQsbUJBQW1CLENBQ2YsU0FBaUIsRUFDakIsSUFBaUI7UUFFakIsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsR0FBRyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxHQUFHLElBQUksd0JBQXdCLFNBQVMsRUFBRSxDQUFDO1FBRTNDLE1BQU0scUJBQXFCLEdBQWdCO1lBQ3ZDLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM5QixNQUFNLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDaEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtTQUMxQyxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBYyxHQUFHLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQy9ELFVBQVUsQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUN6QixTQUFTLENBQUMsTUFBTSxFQUNoQix3REFBd0QsQ0FDM0QsQ0FBQztZQUNGLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBaUI7UUFDckMsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsR0FBRyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxHQUFHLElBQUkseUJBQXlCLFNBQVMsRUFBRSxDQUFDO1FBRTVDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQWMsR0FBRyxDQUFDO2FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUFpQjtRQUMzQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixHQUFHLEdBQUcsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELEdBQUcsSUFBSSxrQkFBa0IsU0FBUyxFQUFFLENBQUM7UUFFckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO1lBQzVCLFlBQVksRUFBRSxNQUFNO1NBQ3ZCLENBQXVCLENBQUM7SUFDN0IsQ0FBQztJQUVELHFCQUFxQixDQUFDLFNBQWlCLEVBQUUsR0FBVztRQUNoRCxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixHQUFHLEdBQUcsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELEdBQUcsSUFBSSwwQkFBMEIsU0FBUyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRTlELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNwRCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLEVBQ2hDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FDekIsU0FBUyxDQUFDLE1BQU0sRUFDaEIsdUVBQXVFLENBQzFFLENBQUM7WUFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0FoRlEsMkJBQTJCO2tIQUEzQiwyQkFBMkIsY0FGeEIsTUFBTTs7MkZBRVQsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdyb3dsQnJva2VyU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLWdyb3dsL2dyb3dsLWJyb2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb3dsVHlwZSB9IGZyb20gJy4uL2ZvZWhuLWdyb3dsL2dyb3dsLXR5cGVzJztcbmltcG9ydCB7IEZvcm1FcnJvciB9IGZyb20gJy4uL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgUmVwcmlzZUluZm8gfSBmcm9tICcuL3JlcHJpc2UtaW5mbyc7XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIHdoZXJlIHNwYWNlIHdpbGwgYmUgcmVtb3ZlZFxuICogQHJldHVybnMgc3RyaW5nXG4gKi9cbmNvbnN0IHJlbW92ZVNwYWNlID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xccy9nLCAnJyk7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZSB7XG4gICAgX3ByZWZpeDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBncm93bFNlcnZpY2U6IEdyb3dsQnJva2VyU2VydmljZVxuICAgICkge31cblxuICAgIHNldCBwcmVmaXgocHJlZml4OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcHJlZml4ID0gcHJlZml4O1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRm9yUmVjb3ZlcnkoXG4gICAgICAgIHJlZmVyZW5jZTogc3RyaW5nLFxuICAgICAgICBpbmZvOiBSZXByaXNlSW5mb1xuICAgICk6IE9ic2VydmFibGU8Rm9ybUVycm9yW10+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5fcHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5fcHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsICs9IGAvcmVnaXN0ZXJGb3JSZWNvdmVyeS8ke3JlZmVyZW5jZX1gO1xuXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRSZXByaXNlSW5mbzogUmVwcmlzZUluZm8gPSB7XG4gICAgICAgICAgICBlbWFpbDogcmVtb3ZlU3BhY2UoaW5mby5lbWFpbCksXG4gICAgICAgICAgICBtb2JpbGU6IHJlbW92ZVNwYWNlKGluZm8ubW9iaWxlKSxcbiAgICAgICAgICAgIHJlZmVyZW5jZUludGVybmU6IGluZm8ucmVmZXJlbmNlSW50ZXJuZVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGb3JtRXJyb3JbXT4odXJsLCBub3JtYWxpemVkUmVwcmlzZUluZm8pLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5EQU5HRVIsXG4gICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSwgdmV1aWxsZXogcsOpZXNzYXllciBwbHVzIHRhcmQuJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldERlZmF1bHRSZWNvdmVyeVZhbHVlKHJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXByaXNlSW5mbz4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaSc7XG4gICAgICAgIGlmICh0aGlzLl9wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLl9wcmVmaXh9YDtcbiAgICAgICAgfVxuICAgICAgICB1cmwgKz0gYC9kZWZhdWx0UmVjb3ZlcnlWYWx1ZS8ke3JlZmVyZW5jZX1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8UmVwcmlzZUluZm8+KHVybClcbiAgICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHRocm93RXJyb3IoKCkgPT4gZSkpKTtcbiAgICB9XG5cbiAgICBzdGFydFJlY292ZXJ5KHJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5fcHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5fcHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsICs9IGAvc3RhcnRSZWNvdmVyeS8ke3JlZmVyZW5jZX1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgbnVsbCwge1xuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgICAgICAgfSkgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIH1cblxuICAgIGNoZWNrUmVjb3ZlcnlQYXNzd29yZChyZWZlcmVuY2U6IHN0cmluZywgb3RwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5fcHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5fcHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsICs9IGAvY2hlY2tSZWNvdmVyeVBhc3N3b3JkLyR7cmVmZXJlbmNlfS9vdHAvJHtvdHB9L2NoZWNrYDtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0ID09PSAndHJ1ZScpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5EQU5HRVIsXG4gICAgICAgICAgICAgICAgICAgICdJbXBvc3NpYmxlIGRlIHbDqXJpZmllciBsZSBtb3QgZGUgcGFzc2UsIHZldWlsbGV6IHLDqWVzc2F5ZXIgcGx1cyB0YXJkLidcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRydWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUl2RDs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO0lBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUtGLE1BQU0sT0FBTywyQkFBMkI7SUFHcEMsWUFDWSxJQUFnQixFQUNoQixZQUFnQztRQURoQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtJQUN6QyxDQUFDO0lBRUosSUFBSSxNQUFNLENBQUMsTUFBYztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQixDQUFDO0lBRUQsbUJBQW1CLENBQ2YsU0FBaUIsRUFDakIsSUFBaUI7UUFFakIsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsR0FBRyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFB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fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdyb3dsQnJva2VyU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLWdyb3dsL2dyb3dsLWJyb2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb3dsVHlwZSB9IGZyb20gJy4uL2ZvZWhuLWdyb3dsL2dyb3dsLXR5cGVzJztcbmltcG9ydCB7IEZvcm1FcnJvciB9IGZyb20gJy4uL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgUmVwcmlzZUluZm8gfSBmcm9tICcuL3JlcHJpc2UtaW5mbyc7XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIHdoZXJlIHNwYWNlIHdpbGwgYmUgcmVtb3ZlZFxuICogQHJldHVybnMgc3RyaW5nXG4gKi9cbmNvbnN0IHJlbW92ZVNwYWNlID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xccy9nLCAnJyk7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZSB7XG4gICAgX3ByZWZpeDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBncm93bFNlcnZpY2U6IEdyb3dsQnJva2VyU2VydmljZVxuICAgICkge31cblxuICAgIHNldCBwcmVmaXgocHJlZml4OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcHJlZml4ID0gcHJlZml4O1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRm9yUmVjb3ZlcnkoXG4gICAgICAgIHJlZmVyZW5jZTogc3RyaW5nLFxuICAgICAgICBpbmZvOiBSZXByaXNlSW5mb1xuICAgICk6IE9ic2VydmFibGU8Rm9ybUVycm9yW10+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5fcHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5fcHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsICs9IGAvcmVnaXN0ZXJGb3JSZWNvdmVyeS8ke3JlZmVyZW5jZX1gO1xuXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRSZXByaXNlSW5mbzogUmVwcmlzZUluZm8gPSB7XG4gICAgICAgICAgICBlbWFpbDogcmVtb3ZlU3BhY2UoaW5mby5lbWFpbCksXG4gICAgICAgICAgICBtb2JpbGU6IHJlbW92ZVNwYWNlKGluZm8ubW9iaWxlKSxcbiAgICAgICAgICAgIHJlZmVyZW5jZUludGVybmU6IGluZm8ucmVmZXJlbmNlSW50ZXJuZVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGb3JtRXJyb3JbXT4odXJsLCBub3JtYWxpemVkUmVwcmlzZUluZm8pLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5EQU5HRVIsXG4gICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSwgdmV1aWxsZXogcsOpZXNzYXllciBwbHVzIHRhcmQuJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldERlZmF1bHRSZWNvdmVyeVZhbHVlKHJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXByaXNlSW5mbz4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaSc7XG4gICAgICAgIGlmICh0aGlzLl9wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLl9wcmVmaXh9YDtcbiAgICAgICAgfVxuICAgICAgICB1cmwgKz0gYC9kZWZhdWx0UmVjb3ZlcnlWYWx1ZS8ke3JlZmVyZW5jZX1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8UmVwcmlzZUluZm8+KHVybClcbiAgICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHRocm93RXJyb3IoKCkgPT4gZSkpKTtcbiAgICB9XG5cbiAgICBzdGFydFJlY292ZXJ5KHJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5fcHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5fcHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsICs9IGAvc3RhcnRSZWNvdmVyeS8ke3JlZmVyZW5jZX1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgbnVsbCwge1xuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgICAgICAgfSkgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIH1cblxuICAgIGNoZWNrUmVjb3ZlcnlQYXNzd29yZChyZWZlcmVuY2U6IHN0cmluZywgb3RwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5fcHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5fcHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsICs9IGAvY2hlY2tSZWNvdmVyeVBhc3N3b3JkLyR7cmVmZXJlbmNlfS9vdHAvJHtvdHB9L2NoZWNrYDtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0ID09PSAndHJ1ZScpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5EQU5HRVIsXG4gICAgICAgICAgICAgICAgICAgICdJbXBvc3NpYmxlIGRlIHbDqXJpZmllciBsZSBtb3QgZGUgcGFzc2UsIHZldWlsbGV6IHLDqWVzc2F5ZXIgcGx1cyB0YXJkLidcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRydWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=