@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
@@ -1,10 +1,11 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { first, map } from 'rxjs/operators';
2
+ import { BehaviorSubject, combineLatest } from 'rxjs';
3
+ import { first, map, tap } from 'rxjs/operators';
4
4
  import { BreadcrumbEventService } from '../foehn-breadcrumb/breadcrumb-event.service';
5
5
  import { FoehnNavigationService } from '../foehn-navigation/foehn-navigation.service';
6
6
  import { FoehnPageService } from '../foehn-page/foehn-page.service';
7
7
  import { ActionStatut, GesdemStatutUtils } from '../gesdem/gesdem-statut-utils';
8
+ import { ApplicationInfoService } from '../sdk-appinfo/application-info.service';
8
9
  import { SdkEventType } from '../sdk-events-logger/sdk-event-type';
9
10
  import { SdkEventsLoggerService } from '../sdk-events-logger/sdk-events-logger.service';
10
11
  import { SessionInfo } from '../sdk-session-info/session-info.service';
@@ -16,7 +17,8 @@ import * as i3 from "@angular/router";
16
17
  import * as i4 from "../sdk-dictionary/sdk-dictionary.service";
17
18
  import * as i5 from "@angular/common";
18
19
  import * as i6 from "../foehn-icons/foehn-icon-info-circle.component";
19
- import * as i7 from "../sdk-dictionary/sdk-dictionary.pipe";
20
+ import * as i7 from "../foehn-feedback-notification/foehn-feedback-notification.component";
21
+ import * as i8 from "../sdk-dictionary/sdk-dictionary.pipe";
20
22
  const isBooleanDefined = (value) => value === true || value === false;
21
23
  export class GesdemConfirmationComponent {
22
24
  constructor(gesdemService, foehnPageService, activatedRoute, dictionaryService, location) {
@@ -43,6 +45,7 @@ export class GesdemConfirmationComponent {
43
45
  this._sessionInfo = ServiceLocator.injector.get(SessionInfo);
44
46
  this._navigation = ServiceLocator.injector.get(FoehnNavigationService);
45
47
  this._eventsLoggerService = ServiceLocator.injector.get(SdkEventsLoggerService);
48
+ this._applicationInfoService = ServiceLocator.injector.get(ApplicationInfoService);
46
49
  const route = FoehnNavigationService.getRootRouteRecursive(activatedRoute.snapshot);
47
50
  this._navigation.initRoute(route);
48
51
  // Override from the routing.
@@ -86,18 +89,20 @@ export class GesdemConfirmationComponent {
86
89
  this.closeButtonConnectedText ||
87
90
  'gesdem-confirmation.exit-button-connected';
88
91
  // default closeLink if not by @Input and not by route data
89
- this.foehnPageService
90
- .onEtapeIdChange()
91
- .pipe(first())
92
- // eslint-disable-next-line rxjs/no-nested-subscribe,rxjs-angular/prefer-async-pipe
93
- .subscribe(etapeId => {
92
+ combineLatest([
93
+ this.foehnPageService.onEtapeIdChange().pipe(first()),
94
+ this._applicationInfoService.data.pipe(first())
95
+ ])
96
+ .pipe(first(), tap(([etapeId, appInfo]) => {
94
97
  if (!this.closeLinkNotConnected.getValue()) {
95
- this.closeLinkNotConnected.next(`https://www.vd.ch/go.to?prestation=${etapeId}`);
98
+ this.closeLinkNotConnected.next(`${appInfo.configuration.portail.baseVdChUrl}/go.to?prestation=${etapeId}`);
96
99
  }
97
100
  if (!this.closeLinkConnected.getValue()) {
98
101
  this.closeLinkConnected.next('/100018/logout');
99
102
  }
100
- });
103
+ }))
104
+ // eslint-disable-next-line rxjs/no-nested-subscribe,rxjs-angular/prefer-async-pipe,rxjs/no-nested-subscribe
105
+ .subscribe();
101
106
  });
102
107
  }
103
108
  get isTransferred() {
@@ -188,12 +193,12 @@ export class GesdemConfirmationComponent {
188
193
  gotToTop() {
189
194
  window.scrollTo(0, 0);
190
195
  }
191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemConfirmationComponent, deps: [{ token: i1.GesdemHandlerService }, { token: i2.FoehnPageService }, { token: i3.ActivatedRoute }, { token: i4.SdkDictionaryService }, { token: i5.Location }], target: i0.ɵɵFactoryTarget.Component }); }
192
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: GesdemConfirmationComponent, selector: "gesdem-confirmation", inputs: { reference: "reference", setPageTitle: "setPageTitle", hasEmailSent: "hasEmailSent", closeHref: "closeHref", closeHrefConnected: "closeHrefConnected", showDownloadPdfRecapButton: "showDownloadPdfRecapButton", showLinkToMyDemandes: "showLinkToMyDemandes", demandeIsClosedOnTransmit: "demandeIsClosedOnTransmit", actionStatut: "actionStatut", connectedConfirmationMessage: "connectedConfirmationMessage", connectedConfirmationMessageIfAbandoned: "connectedConfirmationMessageIfAbandoned", downloadPdfRecapButtonText: "downloadPdfRecapButtonText", closeButtonText: "closeButtonText", closeButtonConnectedText: "closeButtonConnectedText", baseUrlPdf: "baseUrlPdf", hideReference: "hideReference" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight highlight-dark\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"visually-hidden\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ms-0 me-md-auto me-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n (click)=\"logPdfDownloadedEvent()\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !(isConnectedCyber | async) && closeLinkNotConnected\n | async as link\n \"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !!(isConnectedCyber | async) && closeLinkConnected\n | async as link\n \"\n >\n <a\n [href]=\"link\"\n id=\"terminerConnectedBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ closeButtonConnectedText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight highlight-dark\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] }); }
196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemConfirmationComponent, deps: [{ token: i1.GesdemHandlerService }, { token: i2.FoehnPageService }, { token: i3.ActivatedRoute }, { token: i4.SdkDictionaryService }, { token: i5.Location }], target: i0.ɵɵFactoryTarget.Component }); }
197
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: GesdemConfirmationComponent, selector: "gesdem-confirmation", inputs: { reference: "reference", setPageTitle: "setPageTitle", hasEmailSent: "hasEmailSent", closeHref: "closeHref", closeHrefConnected: "closeHrefConnected", showDownloadPdfRecapButton: "showDownloadPdfRecapButton", showLinkToMyDemandes: "showLinkToMyDemandes", demandeIsClosedOnTransmit: "demandeIsClosedOnTransmit", actionStatut: "actionStatut", connectedConfirmationMessage: "connectedConfirmationMessage", connectedConfirmationMessageIfAbandoned: "connectedConfirmationMessageIfAbandoned", downloadPdfRecapButtonText: "downloadPdfRecapButtonText", closeButtonText: "closeButtonText", closeButtonConnectedText: "closeButtonConnectedText", baseUrlPdf: "baseUrlPdf", hideReference: "hideReference" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight highlight-dark\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"visually-hidden\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ms-0 me-md-auto me-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n (click)=\"logPdfDownloadedEvent()\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !(isConnectedCyber | async) && closeLinkNotConnected\n | async as link\n \"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !!(isConnectedCyber | async) && closeLinkConnected\n | async as link\n \"\n >\n <a\n [href]=\"link\"\n id=\"terminerConnectedBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ closeButtonConnectedText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight highlight-dark\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n\n<foehn-feedback-notification></foehn-feedback-notification>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.FoehnFeedbackNotificationComponent, selector: "foehn-feedback-notification" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SdkDictionaryPipe, name: "fromDictionary" }] }); }
193
198
  }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemConfirmationComponent, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemConfirmationComponent, decorators: [{
195
200
  type: Component,
196
- args: [{ selector: 'gesdem-confirmation', template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight highlight-dark\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"visually-hidden\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ms-0 me-md-auto me-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n (click)=\"logPdfDownloadedEvent()\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !(isConnectedCyber | async) && closeLinkNotConnected\n | async as link\n \"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !!(isConnectedCyber | async) && closeLinkConnected\n | async as link\n \"\n >\n <a\n [href]=\"link\"\n id=\"terminerConnectedBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ closeButtonConnectedText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight highlight-dark\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n" }]
201
+ args: [{ selector: 'gesdem-confirmation', template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight highlight-dark\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"visually-hidden\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ms-0 me-md-auto me-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n (click)=\"logPdfDownloadedEvent()\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !(isConnectedCyber | async) && closeLinkNotConnected\n | async as link\n \"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !!(isConnectedCyber | async) && closeLinkConnected\n | async as link\n \"\n >\n <a\n [href]=\"link\"\n id=\"terminerConnectedBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ closeButtonConnectedText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight highlight-dark\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n\n<foehn-feedback-notification></foehn-feedback-notification>\n" }]
197
202
  }], ctorParameters: () => [{ type: i1.GesdemHandlerService }, { type: i2.FoehnPageService }, { type: i3.ActivatedRoute }, { type: i4.SdkDictionaryService }, { type: i5.Location }], propDecorators: { reference: [{
198
203
  type: Input
199
204
  }], setPageTitle: [{
@@ -227,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
227
232
  }], hideReference: [{
228
233
  type: Input
229
234
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZ2VzZGVtLWNvbmZpcm1hdGlvbi9nZXNkZW0tY29uZmlybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tY29uZmlybWF0aW9uL2dlc2RlbS1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBTVIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7OztBQUVwRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYyxFQUFXLEVBQUUsQ0FDakQsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxD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QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLDRCQUE0QjtzQkFEM0IsS0FBSztnQkFLTix1Q0FBdUM7c0JBRHRDLEtBQUs7Z0JBS04sMEJBQTBCO3NCQUR6QixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJyZWFkY3J1bWJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1icmVhZGNydW1iL2JyZWFkY3J1bWItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdlc2RlbUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHV0LCBHZXNkZW1TdGF0dXRVdGlscyB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0tc3RhdHV0LXV0aWxzJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBTZGtFdmVudFR5cGUgfSBmcm9tICcuLi9zZGstZXZlbnRzLWxvZ2dlci9zZGstZXZlbnQtdHlwZSc7XG5pbXBvcnQgeyBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWV2ZW50cy1sb2dnZXIvc2RrLWV2ZW50cy1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi9zZXJ2aWNlLWxvY2F0b3InO1xuXG5jb25zdCBpc0Jvb2xlYW5EZWZpbmVkID0gKHZhbHVlOiBib29sZWFuKTogYm9vbGVhbiA9PlxuICAgIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSBmYWxzZTtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2dlc2RlbS1jb25maXJtYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9nZXNkZW0tY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1Db25maXJtYXRpb25Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgICBASW5wdXQoKVxuICAgIHJlZmVyZW5jZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzZXRQYWdlVGl0bGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBoYXNFbWFpbFNlbnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VIcmVmOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlSHJlZkNvbm5lY3RlZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93RG93bmxvYWRQZGZSZWNhcEJ1dHRvbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dMaW5rVG9NeURlbWFuZGVzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZGVtYW5kZUlzQ2xvc2VkT25UcmFuc21pdCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBhY3Rpb25TdGF0dXQgPSBBY3Rpb25TdGF0dXQuVFJBTlNGRVJSRUQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2UgPVxuICAgICAgICAnVm91cyBhdmV6IGVmZmVjdHXDqSBsYSBwcmVtacOocmUgw6l0YXBlIGRlIHZvdHJlIGTDqW1hcmNoZSBhdmVjIHN1Y2PDqHMgISc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZCA9XG4gICAgICAgIFwiTGEgZGVtYW5kZSDDoCBsYXF1ZWxsZSB2b3VzIGVzc2F5ZXogZCdhY2PDqWRlciBhIMOpdMOpIGFiYW5kb25uw6llLlwiO1xuXG4gICAgQElucHV0KClcbiAgICBkb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjbG9zZUJ1dHRvblRleHQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VCdXR0b25Db25uZWN0ZWRUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGJhc2VVcmxQZGYgPSAnYXBpL2RvY3VtZW50L3BkZi8nO1xuXG4gICAgQElucHV0KClcbiAgICBoaWRlUmVmZXJlbmNlID0gZmFsc2U7XG5cbiAgICBpc0Nvbm5lY3RlZEN5YmVyOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGZpcnN0UGFnZUxpbmsgPSAnLyc7XG4gICAgdXJsUGRmOiBzdHJpbmc7XG4gICAgY2xvc2VMaW5rTm90Q29ubmVjdGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gICAgY2xvc2VMaW5rQ29ubmVjdGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gICAgcHJvdGVjdGVkIF9icmVhZGNydW1iRXZlbnRTZXJ2aWNlOiBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb25JbmZvOiBTZXNzaW9uSW5mbztcbiAgICBwcm90ZWN0ZWQgX25hdmlnYXRpb246IEZvZWhuTmF2aWdhdGlvblNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9ldmVudHNMb2dnZXJTZXJ2aWNlOiBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBkYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBwYWdlVGl0bGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZ2VzZGVtU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBmb2VoblBhZ2VTZXJ2aWNlOiBGb2VoblBhZ2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJFdmVudFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5QYWdlU2VydmljZSk7XG4gICAgICAgIHRoaXMuX3Nlc3Npb25JbmZvID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFNlc3Npb25JbmZvKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbiA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChGb2Vobk5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fZXZlbnRzTG9nZ2VyU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFNka0V2ZW50c0xvZ2dlclNlcnZpY2VcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCByb3V0ZSA9IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKFxuICAgICAgICAgICAgYWN0aXZhdGVkUm91dGUuc25hcHNob3RcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pbml0Um91dGUocm91dGUpO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGZyb20gdGhlIHJvdXRpbmcuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5kYXRhLnN1YnNjcmliZShcbiAgICAgICAgICAgIHJvdXRlRGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNFbWFpbFNlbnQgPSByb3V0ZURhdGEuaGFzRW1haWxTZW50IHx8IHRoaXMuaGFzRW1haWxTZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMaW5rTm90Q29ubmVjdGVkLm5leHQoXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jbG9zZUhyZWYgfHwgdGhpcy5jbG9zZUxpbmtOb3RDb25uZWN0ZWQuZ2V0VmFsdWUoKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUxpbmtDb25uZWN0ZWQubmV4dChcbiAgICAgICAgICAgICAgICAgICAgcm91dGVEYXRhLmNsb3NlSHJlZkNvbm5lY3RlZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZUxpbmtDb25uZWN0ZWQuZ2V0VmFsdWUoKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlID1cbiAgICAgICAgICAgICAgICAgICAgcm91dGVEYXRhLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2UgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlO1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZUlmQWJhbmRvbmVkID1cbiAgICAgICAgICAgICAgICAgICAgcm91dGVEYXRhLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZCB8fFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZDtcbiAgICAgICAgICAgICAgICBpZiAoaXNCb29sZWFuRGVmaW5lZChyb3V0ZURhdGEuc2hvd0Rvd25sb2FkUGRmUmVjYXBCdXR0b24pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Rvd25sb2FkUGRmUmVjYXBCdXR0b24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVEYXRhLnNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNCb29sZWFuRGVmaW5lZChyb3V0ZURhdGEuc2hvd0xpbmtUb015RGVtYW5kZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0xpbmtUb015RGVtYW5kZXMgPSByb3V0ZURhdGEuc2hvd0xpbmtUb015RGVtYW5kZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0Jvb2xlYW5EZWZpbmVkKHJvdXRlRGF0YS5kZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0KSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbWFuZGVJc0Nsb3NlZE9uVHJhbnNtaXQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVEYXRhLmRlbWFuZGVJc0Nsb3NlZE9uVHJhbnNtaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0Jvb2xlYW5EZWZpbmVkKHJvdXRlRGF0YS5oaWRlUmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVSZWZlcmVuY2UgPSByb3V0ZURhdGEuaGlkZVJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dCA9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5kb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dCB8fFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkUGRmUmVjYXBCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRvd25sb2FkLXBkZi1yZWNhcC1idXR0b24nO1xuICAgICAgICAgICAgICAgIHRoaXMuYmFzZVVybFBkZiA9IHJvdXRlRGF0YS5iYXNlVXJsUGRmIHx8IHRoaXMuYmFzZVVybFBkZjtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlQnV0dG9uVGV4dCA9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jbG9zZUJ1dHRvblRleHQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZUJ1dHRvblRleHQgfHxcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24nO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUJ1dHRvbkNvbm5lY3RlZFRleHQgPVxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuY2xvc2VCdXR0b25Db25uZWN0ZWRUZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25Db25uZWN0ZWRUZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmV4aXQtYnV0dG9uLWNvbm5lY3RlZCc7XG5cbiAgICAgICAgICAgICAgICAvLyBkZWZhdWx0IGNsb3NlTGluayBpZiBub3QgYnkgQElucHV0IGFuZCBub3QgYnkgcm91dGUgZGF0YVxuICAgICAgICAgICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAub25FdGFwZUlkQ2hhbmdlKClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMvbm8tbmVzdGVkLXN1YnNjcmliZSxyeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShldGFwZUlkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5jbG9zZUxpbmtOb3RDb25uZWN0ZWQuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMaW5rTm90Q29ubmVjdGVkLm5leHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBodHRwczovL3d3dy52ZC5jaC9nby50bz9wcmVzdGF0aW9uPSR7ZXRhcGVJZH1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5jbG9zZUxpbmtDb25uZWN0ZWQuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMaW5rQ29ubmVjdGVkLm5leHQoJy8xMDAwMTgvbG9nb3V0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpc1RyYW5zZmVycmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXQgJiYgdGhpcy5hY3Rpb25TdGF0dXQgPT09IEFjdGlvblN0YXR1dC5UUkFOU0ZFUlJFRFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpc0FiYW5kb25lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uU3RhdHV0ICYmIHRoaXMuYWN0aW9uU3RhdHV0ID09PSBBY3Rpb25TdGF0dXQuQUJBTkRPTkVEXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGlzSW5Qcm9ncmVzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFHZXNkZW1TdGF0dXRVdGlscy5pc0ZpbmFsKHRoaXMuYWN0aW9uU3RhdHV0KTtcbiAgICB9XG5cbiAgICBnZXQgc3VjY2Vzc0xhYmVsRGljb0tleSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpc0ZpcnN0QWN0aW9uID1cbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LmN1cnJlbnRBY3Rpb24gPT09IDE7XG4gICAgICAgIHJldHVybiBpc0ZpcnN0QWN0aW9uXG4gICAgICAgICAgICA/ICdnZXNkZW0tY29uZmlybWF0aW9uLnN1Y2Nlc3MtbGFiZWwnXG4gICAgICAgICAgICA6ICdnZXNkZW0tY29uZmlybWF0aW9uLm5leHQtc3RlcC5zdWNjZXNzLWxhYmVsJztcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNoYW5nZU5vdENvbm5lY3RlZDogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5jbG9zZUhyZWY7XG4gICAgICAgIGlmIChjaGFuZ2VOb3RDb25uZWN0ZWQgJiYgY2hhbmdlTm90Q29ubmVjdGVkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUxpbmtOb3RDb25uZWN0ZWQubmV4dChjaGFuZ2VOb3RDb25uZWN0ZWQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoYW5nZUNvbm5lY3RlZDogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5jbG9zZUhyZWZDb25uZWN0ZWQ7XG4gICAgICAgIGlmIChjaGFuZ2VDb25uZWN0ZWQgJiYgY2hhbmdlQ29ubmVjdGVkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUxpbmtDb25uZWN0ZWQubmV4dChjaGFuZ2VDb25uZWN0ZWQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdvdFRvVG9wKCk7XG4gICAgICAgIGNvbnN0IGxhc3RSZXNwb25zZSA9IHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U7XG4gICAgICAgIGlmIChsYXN0UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVmZXJlbmNlID0gbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXQgPVxuICAgICAgICAgICAgICAgIEFjdGlvblN0YXR1dFtsYXN0UmVzcG9uc2UubWV0YS5zdGF0dXQgYXMgQWN0aW9uU3RhdHV0XTtcbiAgICAgICAgICAgIHRoaXMudXJsUGRmID0gdGhpcy5iYXNlVXJsUGRmICsgdGhpcy5yZWZlcmVuY2U7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50QWN0aW9uID0gbGFzdFJlc3BvbnNlLm1ldGEuY3VycmVudEFjdGlvbjtcbiAgICAgICAgICAgIGlmICghIWN1cnJlbnRBY3Rpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVybFBkZiArPSBgLSR7Y3VycmVudEFjdGlvbn1gO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvY2F0aW9uLnBhdGgoKS5pbmNsdWRlcyhgLyR7dGhpcy5yZWZlcmVuY2V9L2ApKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxSZWZlcmVuY2VVcmwgPSB0aGlzLmxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAucGF0aCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLnJlZmVyZW5jZX0tJHtjdXJyZW50QWN0aW9ufWBcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGZ1bGxSZWZlcmVuY2VVcmwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2VDb2RlID0gbGFzdFJlc3BvbnNlLmZvcm0ubGFuZ3VhZ2U7XG4gICAgICAgICAgICB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlQ29kZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXaGV0aGVyIHRoZSB1c2VyIGhhcyBhIGNvbnRleHQgd2UgY29uc2lkZXIgaXQgYXMgY29ubmVjdGVkLlxuICAgICAgICB0aGlzLmlzQ29ubmVjdGVkQ3liZXIgPSB0aGlzLl9zZXNzaW9uSW5mby5kYXRhLnBpcGUoXG4gICAgICAgICAgICBtYXAodXNlckluZm8gPT4gISF1c2VySW5mbyAmJiAhIXVzZXJJbmZvLmNvbnRleHQpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2V0UGFnZVRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbiA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0S2V5KCdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJylcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh0aXRsZSA9PiB0aGlzLl9mb2VoblBhZ2VTZXJ2aWNlLnNldFBhZ2VUaXRsZSh0aXRsZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maXJzdFBhZ2VMaW5rID0gdGhpcy5nZXRGaXJzdFBhZ2VMaW5rKCk7XG5cbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkV2ZW50U2VydmljZS5za2lwTGVhdmluZ0FsZXJ0QmVjYXVzZURlbWFuZElzVHJhbnNtaXR0ZWQgPVxuICAgICAgICAgICAgdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFzQ29ubmVjdGVkQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaGFzQ29uZk1lc3NhZ2UgPVxuICAgICAgICAgICAgdGhpcy5pc1RyYW5zZmVycmVkICYmICEhdGhpcy5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlO1xuICAgICAgICBjb25zdCBoYXNBYmFuZG9uZWRDb25mTWVzc2FnZSA9XG4gICAgICAgICAgICAhdGhpcy5pc1RyYW5zZmVycmVkICYmXG4gICAgICAgICAgICAhIXRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZUlmQWJhbmRvbmVkO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBoYXNDb25mTWVzc2FnZSB8fFxuICAgICAgICAgICAgaGFzQWJhbmRvbmVkQ29uZk1lc3NhZ2UgfHxcbiAgICAgICAgICAgICEhdGhpcy5zaG93TGlua1RvTXlEZW1hbmRlc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGxvZ1BkZkRvd25sb2FkZWRFdmVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzTG9nZ2VyU2VydmljZS5hZGRFdmVudChTZGtFdmVudFR5cGUuUERGX1JFQ0FQX0RPV05MT0FEKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0UGFnZUxpbmsoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGxpbmsgPSAnLyc7XG4gICAgICAgIGNvbnN0IGZpcnN0UGFnZSA9IHRoaXMuX25hdmlnYXRpb24uZ2V0Rmlyc3RSb3V0ZSgpO1xuICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLnByZWZpeCkge1xuICAgICAgICAgICAgbGluayArPSBgJHt0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4fS9gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2xpbmsgKyB0aGlzLnJlZmVyZW5jZX0vJHtmaXJzdFBhZ2UucGF0aH1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ290VG9Ub3AoKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyIG10LTVcIiAqbmdJZj1cInJlZmVyZW5jZSAmJiAhaXNJblByb2dyZXNzXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFsZXJ0IHRleHQtY2VudGVyIG1iLTJcIlxuICAgICAgICBbbmdDbGFzc109XCJpc1RyYW5zZmVycmVkID8gJ2FsZXJ0LXN1Y2Nlc3MnIDogJ2FsZXJ0LWRhbmdlcidcIlxuICAgID5cbiAgICAgICAgPHAgY2xhc3M9XCJoMlwiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBpc1RyYW5zZmVycmVkXG4gICAgICAgICAgICAgICAgICAgID8gKHN1Y2Nlc3NMYWJlbERpY29LZXkgfCBmcm9tRGljdGlvbmFyeSlcbiAgICAgICAgICAgICAgICAgICAgOiAoJ2dlc2RlbS1jb25maXJtYXRpb24uYWJvcnQtbGFiZWwnIHwgZnJvbURpY3Rpb25hcnkpXG4gICAgICAgICAgICB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxkbCAqbmdJZj1cIiFoaWRlUmVmZXJlbmNlXCI+XG4gICAgICAgICAgICA8ZHQgY2xhc3M9XCJmdy1saWdodFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlZmVyZW5jZS10aXRsZS5sYWJlbCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgPGRkIGlkPVwibnVtRGVtYW5kZVwiIGNsYXNzPVwiaDQgZC1ibG9jayBtdC0zXCI+e3sgcmVmZXJlbmNlIH19PC9kZD5cbiAgICAgICAgPC9kbD5cbiAgICAgICAgPHAgKm5nSWY9XCJoYXNFbWFpbFNlbnQgJiYgIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICB7eyAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5tYWlsLXNlbnQubGFiZWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPHNwYW5cbiAgICAgICAgW2lubmVySFRNTF09XCInZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JyB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICA+PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC1tZC0xMiB2ZC1oaWdobGlnaHQgaGlnaGxpZ2h0LWRhcmtcIlxuICAgICAgICAqbmdJZj1cIihpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpICYmIGhhc0Nvbm5lY3RlZENvbnRlbnQoKVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi50cmFuc21pc3Npb24taW5mb3JtYXRpb24ubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgIFwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMVwiPlxuICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWluZm8tY2lyY2xlIGNsYXNzPVwiaDNcIj48L2ZvZWhuLWljb24taW5mby1jaXJjbGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTFcIj5cbiAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXNUcmFuc2ZlcnJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZUlmQWJhbmRvbmVkXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvcD5cbiAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICBpZD1cImxpbmtUb1RyZWF0ZWREZW1hbmRlc1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93TGlua1RvTXlEZW1hbmRlcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgKGRlbWFuZGVJc0Nsb3NlZE9uVHJhbnNtaXQgfHwgaXNBYmFuZG9uZWQpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLWRldGFpbC1saW5rLmxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvMTAwMDAyL2RlbWFuZGVzL3t7IHJlZmVyZW5jZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0tZGVtYW5kLWRldGFpbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeTogeyByZWZlcmVuY2U6IHJlZmVyZW5jZSB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJyZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgICAgICAuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgIGlkPVwibGlua1RvSW5Qcm9ncmVzc0RlbWFuZGVzXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dMaW5rVG9NeURlbWFuZGVzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhZGVtYW5kZUlzQ2xvc2VkT25UcmFuc21pdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWlzQWJhbmRvbmVkXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLXByb2Nlc3NpbmctcHJvZ3Jlc3MtbGluay5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiLzEwMDAwMi9kZW1hbmRlcy97eyByZWZlcmVuY2UgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWRlbWFuZC1kZXRhaWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgcmVmZXJlbmNlOiByZWZlcmVuY2UgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwicmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgLlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbGlzdC11bnN0eWxlZCBkLW1kLWZsZXggcC0wIG10LTRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTAgbWUtbWQtYXV0byBtZS1tZC0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJ1cmxQZGZcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2dQZGZEb3dubG9hZGVkRXZlbnQoKVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZWxlY2hhcmdlckJ0blwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS5kb3dubG9hZC1wZGYuYnV0dG9uLnRpdGxlJyB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBkb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibWUtMCBtcy1tZC1hdXRvIG1iLTIgbXQtMlwiXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKSAmJiBjbG9zZUxpbmtOb3RDb25uZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgfCBhc3luYyBhcyBsaW5rXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rXCIgaWQ9XCJ0ZXJtaW5lckJ0blwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCI+XG4gICAgICAgICAgICAgICAge3sgY2xvc2VCdXR0b25UZXh0IHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtZS0wIG1zLW1kLWF1dG8gbWItMiBtdC0yXCJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgISEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKSAmJiBjbG9zZUxpbmtDb25uZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgfCBhc3luYyBhcyBsaW5rXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmtcIlxuICAgICAgICAgICAgICAgIGlkPVwidGVybWluZXJDb25uZWN0ZWRCdG5cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBjbG9zZUJ1dHRvbkNvbm5lY3RlZFRleHQgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyIG10LTVcIiAqbmdJZj1cIiFoaWRlUmVmZXJlbmNlICYmIHJlZmVyZW5jZSAmJiBpc0luUHJvZ3Jlc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyB0ZXh0LWNlbnRlciBtYi0yXCI+XG4gICAgICAgIDxwXG4gICAgICAgICAgICBjbGFzcz1cImgyXCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLWluLXByb2dyZXNzLnRpdGxlJyB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9wPlxuICAgICAgICA8ZGw+XG4gICAgICAgICAgICA8ZHQgY2xhc3M9XCJmdy1saWdodFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlZmVyZW5jZS10aXRsZS5sYWJlbCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgPGRkIGlkPVwibnVtRGVtYW5kZUVuQ291cnNcIiBjbGFzcz1cImg0IGQtYmxvY2sgbXQtM1wiPlxuICAgICAgICAgICAgICAgIHt7IHJlZmVyZW5jZSB9fVxuICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgPC9kbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgdmQtaGlnaGxpZ2h0IGhpZ2hsaWdodC1kYXJrXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMVwiPlxuICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWluZm8tY2lyY2xlIGNsYXNzPVwiaDNcIj48L2ZvZWhuLWljb24taW5mby1jaXJjbGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTFcIj5cbiAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlc3VtZS1teS1kZW1hbmQubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiZmlyc3RQYWdlTGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZXN1bWUtbXktZGVtYW5kLmJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZ2VzZGVtLWNvbmZpcm1hdGlvbi9nZXNkZW0tY29uZmlybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tY29uZmlybWF0aW9uL2dlc2RlbS1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBTVIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7OztBQUVwRCxNQUFNLGdCQUFnQixH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QUM7SUFDeEQsQ0FBQztJQUVPLFFBQVE7UUFDWixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDOytHQTlSUSwyQkFBMkI7bUdBQTNCLDJCQUEyQixneEJDbEN4QyxvbU5BaU1BOzs0RkQvSmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUVJLHFCQUFxQjsrTUFPL0IsU0FBUztzQkFEUixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTiwwQkFBMEI7c0JBRHpCLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQUlOLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sNEJBQTRCO3NCQUQzQixLQUFLO2dCQUtOLHVDQUF1QztzQkFEdEMsS0FBSztnQkFLTiwwQkFBMEI7c0JBRHpCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tYnJlYWRjcnVtYi9icmVhZGNydW1iLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuUGFnZVNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvblN0YXR1dCwgR2VzZGVtU3RhdHV0VXRpbHMgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLXN0YXR1dC11dGlscyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBTZGtFdmVudFR5cGUgfSBmcm9tICcuLi9zZGstZXZlbnRzLWxvZ2dlci9zZGstZXZlbnQtdHlwZSc7XG5pbXBvcnQgeyBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWV2ZW50cy1sb2dnZXIvc2RrLWV2ZW50cy1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi9zZXJ2aWNlLWxvY2F0b3InO1xuXG5jb25zdCBpc0Jvb2xlYW5EZWZpbmVkID0gKHZhbHVlOiBib29sZWFuKTogYm9vbGVhbiA9PlxuICAgIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSBmYWxzZTtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2dlc2RlbS1jb25maXJtYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9nZXNkZW0tY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1Db25maXJtYXRpb25Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgICBASW5wdXQoKVxuICAgIHJlZmVyZW5jZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzZXRQYWdlVGl0bGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBoYXNFbWFpbFNlbnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VIcmVmOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlSHJlZkNvbm5lY3RlZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93RG93bmxvYWRQZGZSZWNhcEJ1dHRvbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dMaW5rVG9NeURlbWFuZGVzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZGVtYW5kZUlzQ2xvc2VkT25UcmFuc21pdCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBhY3Rpb25TdGF0dXQgPSBBY3Rpb25TdGF0dXQuVFJBTlNGRVJSRUQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2UgPVxuICAgICAgICAnVm91cyBhdmV6IGVmZmVjdHXDqSBsYSBwcmVtacOocmUgw6l0YXBlIGRlIHZvdHJlIGTDqW1hcmNoZSBhdmVjIHN1Y2PDqHMgISc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZCA9XG4gICAgICAgIFwiTGEgZGVtYW5kZSDDoCBsYXF1ZWxsZSB2b3VzIGVzc2F5ZXogZCdhY2PDqWRlciBhIMOpdMOpIGFiYW5kb25uw6llLlwiO1xuXG4gICAgQElucHV0KClcbiAgICBkb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjbG9zZUJ1dHRvblRleHQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VCdXR0b25Db25uZWN0ZWRUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGJhc2VVcmxQZGYgPSAnYXBpL2RvY3VtZW50L3BkZi8nO1xuXG4gICAgQElucHV0KClcbiAgICBoaWRlUmVmZXJlbmNlID0gZmFsc2U7XG5cbiAgICBpc0Nvbm5lY3RlZEN5YmVyOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGZpcnN0UGFnZUxpbmsgPSAnLyc7XG4gICAgdXJsUGRmOiBzdHJpbmc7XG4gICAgY2xvc2VMaW5rTm90Q29ubmVjdGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gICAgY2xvc2VMaW5rQ29ubmVjdGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gICAgcHJvdGVjdGVkIF9icmVhZGNydW1iRXZlbnRTZXJ2aWNlOiBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb25JbmZvOiBTZXNzaW9uSW5mbztcbiAgICBwcm90ZWN0ZWQgX25hdmlnYXRpb246IEZvZWhuTmF2aWdhdGlvblNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9ldmVudHNMb2dnZXJTZXJ2aWNlOiBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZTtcblxuICAgIHByaXZhdGUgZGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgcGFnZVRpdGxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGxvY2F0aW9uOiBMb2NhdGlvblxuICAgICkge1xuICAgICAgICB0aGlzLl9icmVhZGNydW1iRXZlbnRTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgQnJlYWRjcnVtYkV2ZW50U2VydmljZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9mb2VoblBhZ2VTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEZvZWhuUGFnZVNlcnZpY2UpO1xuICAgICAgICB0aGlzLl9zZXNzaW9uSW5mbyA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChTZXNzaW9uSW5mbyk7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb24gPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5OYXZpZ2F0aW9uU2VydmljZSk7XG4gICAgICAgIHRoaXMuX2V2ZW50c0xvZ2dlclNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2FwcGxpY2F0aW9uSW5mb1NlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgcm91dGUgPSBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmdldFJvb3RSb3V0ZVJlY3Vyc2l2ZShcbiAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlLnNuYXBzaG90XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb24uaW5pdFJvdXRlKHJvdXRlKTtcblxuICAgICAgICAvLyBPdmVycmlkZSBmcm9tIHRoZSByb3V0aW5nLlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbiA9IHRoaXMuYWN0aXZhdGVkUm91dGUuZGF0YS5zdWJzY3JpYmUoXG4gICAgICAgICAgICByb3V0ZURhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzRW1haWxTZW50ID0gcm91dGVEYXRhLmhhc0VtYWlsU2VudCB8fCB0aGlzLmhhc0VtYWlsU2VudDtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTGlua05vdENvbm5lY3RlZC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuY2xvc2VIcmVmIHx8IHRoaXMuY2xvc2VMaW5rTm90Q29ubmVjdGVkLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMaW5rQ29ubmVjdGVkLm5leHQoXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jbG9zZUhyZWZDb25uZWN0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMaW5rQ29ubmVjdGVkLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZCA9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlSWZBYmFuZG9uZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlSWZBYmFuZG9uZWQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzQm9vbGVhbkRlZmluZWQocm91dGVEYXRhLnNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5zaG93RG93bmxvYWRQZGZSZWNhcEJ1dHRvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzQm9vbGVhbkRlZmluZWQocm91dGVEYXRhLnNob3dMaW5rVG9NeURlbWFuZGVzKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dMaW5rVG9NeURlbWFuZGVzID0gcm91dGVEYXRhLnNob3dMaW5rVG9NeURlbWFuZGVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNCb29sZWFuRGVmaW5lZChyb3V0ZURhdGEuZGVtYW5kZUlzQ2xvc2VkT25UcmFuc21pdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5kZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNCb29sZWFuRGVmaW5lZChyb3V0ZURhdGEuaGlkZVJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlUmVmZXJlbmNlID0gcm91dGVEYXRhLmhpZGVSZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRQZGZSZWNhcEJ1dHRvblRleHQgPVxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuZG93bmxvYWRQZGZSZWNhcEJ1dHRvblRleHQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dCB8fFxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJztcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VVcmxQZGYgPSByb3V0ZURhdGEuYmFzZVVybFBkZiB8fCB0aGlzLmJhc2VVcmxQZGY7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUJ1dHRvblRleHQgPVxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuY2xvc2VCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmV4aXQtYnV0dG9uJztcblxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25Db25uZWN0ZWRUZXh0ID1cbiAgICAgICAgICAgICAgICAgICAgcm91dGVEYXRhLmNsb3NlQnV0dG9uQ29ubmVjdGVkVGV4dCB8fFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlQnV0dG9uQ29ubmVjdGVkVGV4dCB8fFxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leGl0LWJ1dHRvbi1jb25uZWN0ZWQnO1xuXG4gICAgICAgICAgICAgICAgLy8gZGVmYXVsdCBjbG9zZUxpbmsgaWYgbm90IGJ5IEBJbnB1dCBhbmQgbm90IGJ5IHJvdXRlIGRhdGFcblxuICAgICAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvZWhuUGFnZVNlcnZpY2Uub25FdGFwZUlkQ2hhbmdlKCkucGlwZShmaXJzdCgpKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoKFtldGFwZUlkLCBhcHBJbmZvXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5jbG9zZUxpbmtOb3RDb25uZWN0ZWQuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTGlua05vdENvbm5lY3RlZC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7YXBwSW5mby5jb25maWd1cmF0aW9uLnBvcnRhaWwuYmFzZVZkQ2hVcmx9L2dvLnRvP3ByZXN0YXRpb249JHtldGFwZUlkfWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNsb3NlTGlua0Nvbm5lY3RlZC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMaW5rQ29ubmVjdGVkLm5leHQoJy8xMDAwMTgvbG9nb3V0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1uZXN0ZWQtc3Vic2NyaWJlLHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZSxyeGpzL25vLW5lc3RlZC1zdWJzY3JpYmVcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpc1RyYW5zZmVycmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXQgJiYgdGhpcy5hY3Rpb25TdGF0dXQgPT09IEFjdGlvblN0YXR1dC5UUkFOU0ZFUlJFRFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpc0FiYW5kb25lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uU3RhdHV0ICYmIHRoaXMuYWN0aW9uU3RhdHV0ID09PSBBY3Rpb25TdGF0dXQuQUJBTkRPTkVEXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGlzSW5Qcm9ncmVzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFHZXNkZW1TdGF0dXRVdGlscy5pc0ZpbmFsKHRoaXMuYWN0aW9uU3RhdHV0KTtcbiAgICB9XG5cbiAgICBnZXQgc3VjY2Vzc0xhYmVsRGljb0tleSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpc0ZpcnN0QWN0aW9uID1cbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LmN1cnJlbnRBY3Rpb24gPT09IDE7XG4gICAgICAgIHJldHVybiBpc0ZpcnN0QWN0aW9uXG4gICAgICAgICAgICA/ICdnZXNkZW0tY29uZmlybWF0aW9uLnN1Y2Nlc3MtbGFiZWwnXG4gICAgICAgICAgICA6ICdnZXNkZW0tY29uZmlybWF0aW9uLm5leHQtc3RlcC5zdWNjZXNzLWxhYmVsJztcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNoYW5nZU5vdENvbm5lY3RlZDogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5jbG9zZUhyZWY7XG4gICAgICAgIGlmIChjaGFuZ2VOb3RDb25uZWN0ZWQgJiYgY2hhbmdlTm90Q29ubmVjdGVkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUxpbmtOb3RDb25uZWN0ZWQubmV4dChjaGFuZ2VOb3RDb25uZWN0ZWQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoYW5nZUNvbm5lY3RlZDogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5jbG9zZUhyZWZDb25uZWN0ZWQ7XG4gICAgICAgIGlmIChjaGFuZ2VDb25uZWN0ZWQgJiYgY2hhbmdlQ29ubmVjdGVkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUxpbmtDb25uZWN0ZWQubmV4dChjaGFuZ2VDb25uZWN0ZWQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdvdFRvVG9wKCk7XG4gICAgICAgIGNvbnN0IGxhc3RSZXNwb25zZSA9IHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U7XG4gICAgICAgIGlmIChsYXN0UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVmZXJlbmNlID0gbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXQgPVxuICAgICAgICAgICAgICAgIEFjdGlvblN0YXR1dFtsYXN0UmVzcG9uc2UubWV0YS5zdGF0dXQgYXMgQWN0aW9uU3RhdHV0XTtcbiAgICAgICAgICAgIHRoaXMudXJsUGRmID0gdGhpcy5iYXNlVXJsUGRmICsgdGhpcy5yZWZlcmVuY2U7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50QWN0aW9uID0gbGFzdFJlc3BvbnNlLm1ldGEuY3VycmVudEFjdGlvbjtcbiAgICAgICAgICAgIGlmICghIWN1cnJlbnRBY3Rpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVybFBkZiArPSBgLSR7Y3VycmVudEFjdGlvbn1gO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvY2F0aW9uLnBhdGgoKS5pbmNsdWRlcyhgLyR7dGhpcy5yZWZlcmVuY2V9L2ApKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxSZWZlcmVuY2VVcmwgPSB0aGlzLmxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAucGF0aCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLnJlZmVyZW5jZX0tJHtjdXJyZW50QWN0aW9ufWBcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGZ1bGxSZWZlcmVuY2VVcmwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2VDb2RlID0gbGFzdFJlc3BvbnNlLmZvcm0ubGFuZ3VhZ2U7XG4gICAgICAgICAgICB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlQ29kZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXaGV0aGVyIHRoZSB1c2VyIGhhcyBhIGNvbnRleHQgd2UgY29uc2lkZXIgaXQgYXMgY29ubmVjdGVkLlxuICAgICAgICB0aGlzLmlzQ29ubmVjdGVkQ3liZXIgPSB0aGlzLl9zZXNzaW9uSW5mby5kYXRhLnBpcGUoXG4gICAgICAgICAgICBtYXAodXNlckluZm8gPT4gISF1c2VySW5mbyAmJiAhIXVzZXJJbmZvLmNvbnRleHQpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2V0UGFnZVRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbiA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0S2V5KCdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJylcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh0aXRsZSA9PiB0aGlzLl9mb2VoblBhZ2VTZXJ2aWNlLnNldFBhZ2VUaXRsZSh0aXRsZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maXJzdFBhZ2VMaW5rID0gdGhpcy5nZXRGaXJzdFBhZ2VMaW5rKCk7XG5cbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkV2ZW50U2VydmljZS5za2lwTGVhdmluZ0FsZXJ0QmVjYXVzZURlbWFuZElzVHJhbnNtaXR0ZWQgPVxuICAgICAgICAgICAgdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFzQ29ubmVjdGVkQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaGFzQ29uZk1lc3NhZ2UgPVxuICAgICAgICAgICAgdGhpcy5pc1RyYW5zZmVycmVkICYmICEhdGhpcy5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlO1xuICAgICAgICBjb25zdCBoYXNBYmFuZG9uZWRDb25mTWVzc2FnZSA9XG4gICAgICAgICAgICAhdGhpcy5pc1RyYW5zZmVycmVkICYmXG4gICAgICAgICAgICAhIXRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZUlmQWJhbmRvbmVkO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBoYXNDb25mTWVzc2FnZSB8fFxuICAgICAgICAgICAgaGFzQWJhbmRvbmVkQ29uZk1lc3NhZ2UgfHxcbiAgICAgICAgICAgICEhdGhpcy5zaG93TGlua1RvTXlEZW1hbmRlc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGxvZ1BkZkRvd25sb2FkZWRFdmVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzTG9nZ2VyU2VydmljZS5hZGRFdmVudChTZGtFdmVudFR5cGUuUERGX1JFQ0FQX0RPV05MT0FEKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0UGFnZUxpbmsoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGxpbmsgPSAnLyc7XG4gICAgICAgIGNvbnN0IGZpcnN0UGFnZSA9IHRoaXMuX25hdmlnYXRpb24uZ2V0Rmlyc3RSb3V0ZSgpO1xuICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLnByZWZpeCkge1xuICAgICAgICAgICAgbGluayArPSBgJHt0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4fS9gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2xpbmsgKyB0aGlzLnJlZmVyZW5jZX0vJHtmaXJzdFBhZ2UucGF0aH1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ290VG9Ub3AoKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyIG10LTVcIiAqbmdJZj1cInJlZmVyZW5jZSAmJiAhaXNJblByb2dyZXNzXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFsZXJ0IHRleHQtY2VudGVyIG1iLTJcIlxuICAgICAgICBbbmdDbGFzc109XCJpc1RyYW5zZmVycmVkID8gJ2FsZXJ0LXN1Y2Nlc3MnIDogJ2FsZXJ0LWRhbmdlcidcIlxuICAgID5cbiAgICAgICAgPHAgY2xhc3M9XCJoMlwiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBpc1RyYW5zZmVycmVkXG4gICAgICAgICAgICAgICAgICAgID8gKHN1Y2Nlc3NMYWJlbERpY29LZXkgfCBmcm9tRGljdGlvbmFyeSlcbiAgICAgICAgICAgICAgICAgICAgOiAoJ2dlc2RlbS1jb25maXJtYXRpb24uYWJvcnQtbGFiZWwnIHwgZnJvbURpY3Rpb25hcnkpXG4gICAgICAgICAgICB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxkbCAqbmdJZj1cIiFoaWRlUmVmZXJlbmNlXCI+XG4gICAgICAgICAgICA8ZHQgY2xhc3M9XCJmdy1saWdodFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlZmVyZW5jZS10aXRsZS5sYWJlbCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgPGRkIGlkPVwibnVtRGVtYW5kZVwiIGNsYXNzPVwiaDQgZC1ibG9jayBtdC0zXCI+e3sgcmVmZXJlbmNlIH19PC9kZD5cbiAgICAgICAgPC9kbD5cbiAgICAgICAgPHAgKm5nSWY9XCJoYXNFbWFpbFNlbnQgJiYgIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICB7eyAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5tYWlsLXNlbnQubGFiZWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPHNwYW5cbiAgICAgICAgW2lubmVySFRNTF09XCInZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JyB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICA+PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC1tZC0xMiB2ZC1oaWdobGlnaHQgaGlnaGxpZ2h0LWRhcmtcIlxuICAgICAgICAqbmdJZj1cIihpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpICYmIGhhc0Nvbm5lY3RlZENvbnRlbnQoKVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi50cmFuc21pc3Npb24taW5mb3JtYXRpb24ubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgIFwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMVwiPlxuICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWluZm8tY2lyY2xlIGNsYXNzPVwiaDNcIj48L2ZvZWhuLWljb24taW5mby1jaXJjbGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTFcIj5cbiAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXNUcmFuc2ZlcnJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZUlmQWJhbmRvbmVkXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvcD5cbiAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICBpZD1cImxpbmtUb1RyZWF0ZWREZW1hbmRlc1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93TGlua1RvTXlEZW1hbmRlcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgKGRlbWFuZGVJc0Nsb3NlZE9uVHJhbnNtaXQgfHwgaXNBYmFuZG9uZWQpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLWRldGFpbC1saW5rLmxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvMTAwMDAyL2RlbWFuZGVzL3t7IHJlZmVyZW5jZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0tZGVtYW5kLWRldGFpbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeTogeyByZWZlcmVuY2U6IHJlZmVyZW5jZSB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJyZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgICAgICAuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgIGlkPVwibGlua1RvSW5Qcm9ncmVzc0RlbWFuZGVzXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dMaW5rVG9NeURlbWFuZGVzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhZGVtYW5kZUlzQ2xvc2VkT25UcmFuc21pdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWlzQWJhbmRvbmVkXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLXByb2Nlc3NpbmctcHJvZ3Jlc3MtbGluay5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiLzEwMDAwMi9kZW1hbmRlcy97eyByZWZlcmVuY2UgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWRlbWFuZC1kZXRhaWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgcmVmZXJlbmNlOiByZWZlcmVuY2UgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwicmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgLlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbGlzdC11bnN0eWxlZCBkLW1kLWZsZXggcC0wIG10LTRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTAgbWUtbWQtYXV0byBtZS1tZC0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJ1cmxQZGZcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2dQZGZEb3dubG9hZGVkRXZlbnQoKVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZWxlY2hhcmdlckJ0blwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS5kb3dubG9hZC1wZGYuYnV0dG9uLnRpdGxlJyB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBkb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibWUtMCBtcy1tZC1hdXRvIG1iLTIgbXQtMlwiXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKSAmJiBjbG9zZUxpbmtOb3RDb25uZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgfCBhc3luYyBhcyBsaW5rXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rXCIgaWQ9XCJ0ZXJtaW5lckJ0blwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCI+XG4gICAgICAgICAgICAgICAge3sgY2xvc2VCdXR0b25UZXh0IHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtZS0wIG1zLW1kLWF1dG8gbWItMiBtdC0yXCJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgISEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKSAmJiBjbG9zZUxpbmtDb25uZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgfCBhc3luYyBhcyBsaW5rXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmtcIlxuICAgICAgICAgICAgICAgIGlkPVwidGVybWluZXJDb25uZWN0ZWRCdG5cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBjbG9zZUJ1dHRvbkNvbm5lY3RlZFRleHQgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyIG10LTVcIiAqbmdJZj1cIiFoaWRlUmVmZXJlbmNlICYmIHJlZmVyZW5jZSAmJiBpc0luUHJvZ3Jlc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyB0ZXh0LWNlbnRlciBtYi0yXCI+XG4gICAgICAgIDxwXG4gICAgICAgICAgICBjbGFzcz1cImgyXCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLWluLXByb2dyZXNzLnRpdGxlJyB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9wPlxuICAgICAgICA8ZGw+XG4gICAgICAgICAgICA8ZHQgY2xhc3M9XCJmdy1saWdodFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlZmVyZW5jZS10aXRsZS5sYWJlbCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgPGRkIGlkPVwibnVtRGVtYW5kZUVuQ291cnNcIiBjbGFzcz1cImg0IGQtYmxvY2sgbXQtM1wiPlxuICAgICAgICAgICAgICAgIHt7IHJlZmVyZW5jZSB9fVxuICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgPC9kbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgdmQtaGlnaGxpZ2h0IGhpZ2hsaWdodC1kYXJrXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMVwiPlxuICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWluZm8tY2lyY2xlIGNsYXNzPVwiaDNcIj48L2ZvZWhuLWljb24taW5mby1jaXJjbGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTFcIj5cbiAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlc3VtZS1teS1kZW1hbmQubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiZmlyc3RQYWdlTGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZXN1bWUtbXktZGVtYW5kLmJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48Zm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uPjwvZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uPlxuIl19
@@ -1,32 +1,36 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { RouterModule } from '@angular/router';
4
+ import { FoehnFeedbackNotificationModule } from '../foehn-feedback-notification/foehn-feedback-notification.module';
4
5
  import { FoehnIconsModule } from '../foehn-icons/foehn-icons.module';
5
6
  import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
6
7
  import { GesdemConfirmationComponent } from './gesdem-confirmation.component';
7
8
  import * as i0 from "@angular/core";
8
9
  export class GesdemConfirmationModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemConfirmationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: GesdemConfirmationModule, declarations: [GesdemConfirmationComponent], imports: [CommonModule,
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemConfirmationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: GesdemConfirmationModule, declarations: [GesdemConfirmationComponent], imports: [CommonModule,
11
12
  FoehnIconsModule,
12
13
  RouterModule,
13
- SdkDictionaryModule], exports: [GesdemConfirmationComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemConfirmationModule, imports: [CommonModule,
14
+ SdkDictionaryModule,
15
+ FoehnFeedbackNotificationModule], exports: [GesdemConfirmationComponent] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemConfirmationModule, imports: [CommonModule,
15
17
  FoehnIconsModule,
16
18
  RouterModule,
17
- SdkDictionaryModule] }); }
19
+ SdkDictionaryModule,
20
+ FoehnFeedbackNotificationModule] }); }
18
21
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemConfirmationModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemConfirmationModule, decorators: [{
20
23
  type: NgModule,
21
24
  args: [{
22
25
  imports: [
23
26
  CommonModule,
24
27
  FoehnIconsModule,
25
28
  RouterModule,
26
- SdkDictionaryModule
29
+ SdkDictionaryModule,
30
+ FoehnFeedbackNotificationModule
27
31
  ],
28
32
  declarations: [GesdemConfirmationComponent],
29
33
  exports: [GesdemConfirmationComponent]
30
34
  }]
31
35
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWNvbmZpcm1hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZ2VzZGVtLWNvbmZpcm1hdGlvbi9nZXNkZW0tY29uZmlybWF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBWTlFLE1BQU0sT0FBTyx3QkFBd0I7OEdBQXhCLHdCQUF3QjsrR0FBeEIsd0JBQXdCLGlCQUhsQiwyQkFBMkIsYUFMdEMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osbUJBQW1CLGFBR2IsMkJBQTJCOytHQUU1Qix3QkFBd0IsWUFSN0IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osbUJBQW1COzsyRkFLZCx3QkFBd0I7a0JBVnBDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLG1CQUFtQjtxQkFDdEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5TW9kdWxlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkubW9kdWxlJztcbmltcG9ydCB7IEdlc2RlbUNvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZ2VzZGVtLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb2Vobkljb25zTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIFNka0RpY3Rpb25hcnlNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW0dlc2RlbUNvbmZpcm1hdGlvbkNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0dlc2RlbUNvbmZpcm1hdGlvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgR2VzZGVtQ29uZmlybWF0aW9uTW9kdWxlIHt9XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWNvbmZpcm1hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZ2VzZGVtLWNvbmZpcm1hdGlvbi9nZXNkZW0tY29uZmlybWF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBYTlFLE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjtnSEFBeEIsd0JBQXdCLGlCQUhsQiwyQkFBMkIsYUFOdEMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLCtCQUErQixhQUd6QiwyQkFBMkI7Z0hBRTVCLHdCQUF3QixZQVQ3QixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsK0JBQStCOzs0RkFLMUIsd0JBQXdCO2tCQVhwQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLCtCQUErQjtxQkFDbEM7b0JBQ0QsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgRm9laG5GZWVkYmFja05vdGlmaWNhdGlvbk1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuSWNvbnNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1pY29ucy9mb2Vobi1pY29ucy5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBHZXNkZW1Db25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2dlc2RlbS1jb25maXJtYXRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9laG5JY29uc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBTZGtEaWN0aW9uYXJ5TW9kdWxlLFxuICAgICAgICBGb2VobkZlZWRiYWNrTm90aWZpY2F0aW9uTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtHZXNkZW1Db25maXJtYXRpb25Db21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtHZXNkZW1Db25maXJtYXRpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEdlc2RlbUNvbmZpcm1hdGlvbk1vZHVsZSB7fVxuIl19
@@ -2,7 +2,7 @@ import { Component, Input } from '@angular/core';
2
2
  import { of } from 'rxjs';
3
3
  import { catchError, map, tap } from 'rxjs/operators';
4
4
  import { FoehnNavigationService } from '../foehn-navigation/foehn-navigation.service';
5
- import { SESSION_EXPIRED } from '../gesdem/gesdem-error-handler.service';
5
+ import { DEMANDE_SHOULD_EXIST, SESSION_EXPIRED } from '../gesdem/gesdem-error-handler.service';
6
6
  import { ActionStatut, GesdemStatutUtils } from '../gesdem/gesdem-statut-utils';
7
7
  import { DemandeHelper } from '../helpers/demande.helper';
8
8
  import * as i0 from "@angular/core";
@@ -28,6 +28,7 @@ export class GesdemErrorComponent {
28
28
  this.applicationInfoService = applicationInfoService;
29
29
  this.setPageTitle = true;
30
30
  this.hasSessionExpired = false;
31
+ this.demandeShouldExist = false;
31
32
  const route = FoehnNavigationService.getRootRouteRecursive(activatedRoute.snapshot);
32
33
  navigation.initRoute(route);
33
34
  this.link = this.getBasePath();
@@ -57,6 +58,7 @@ export class GesdemErrorComponent {
57
58
  this.link += `${this.reference}/${firstPage.path}`;
58
59
  const errorCode = this.activatedRoute.snapshot.queryParamMap.get('errorCode');
59
60
  this.hasSessionExpired = errorCode === SESSION_EXPIRED;
61
+ this.demandeShouldExist = errorCode === DEMANDE_SHOULD_EXIST;
60
62
  }
61
63
  // The error might have been caused by an issue with the prestation that has been identified
62
64
  // whilst the user is using the prestation. This ensures that if any alert is added by the
@@ -78,13 +80,13 @@ export class GesdemErrorComponent {
78
80
  }
79
81
  return '/';
80
82
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemErrorComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FoehnNavigationService }, { token: i3.GesdemHandlerService }, { token: i4.GesdemEventService }, { token: i5.FoehnPageService }, { token: i6.SupportAlertService }, { token: i7.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: GesdemErrorComponent, selector: "gesdem-error", inputs: { setPageTitle: "setPageTitle" }, ngImport: i0, template: "<div class=\"vd-card mb-3\" *ngIf=\"!hasSessionExpired\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <div class=\"card-body\">\n <ng-container *ngIf=\"(isPendingPayment | async) === true\">\n <p\n class=\"card-text vd-card-text alert alert-danger\"\n [innerHTML]=\"\n 'gesdem-error.text.pending-payment'\n | fromDictionary\n : {\n supportLink: (supportLink | async)\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(isPendingPayment | async) === false\">\n <p class=\"card-text vd-card-text\">\n {{\n (!!reference\n ? 'gesdem-error.text.has-reference'\n : 'gesdem-error.text.has-no-reference'\n ) | fromDictionary\n }}\n </p>\n <ul class=\"vd-list-links\">\n <li>\n <a [href]=\"link\">\n {{\n (!!reference\n ? 'gesdem-error.link.has-reference'\n : 'gesdem-error.link.has-no-reference'\n ) | fromDictionary\n }}\n </a>\n </li>\n </ul>\n </ng-container>\n\n <foehn-debug-summary></foehn-debug-summary>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<gesdem-action-recovery-login\n *ngIf=\"hasSessionExpired\"\n [reference]=\"reference\"\n [redirectTarget]=\"link\"\n></gesdem-action-recovery-login>\n", dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.GesdemActionRecoveryLoginComponent, selector: "gesdem-action-recovery-login", inputs: ["reference", "redirectTarget"] }, { kind: "component", type: i10.FoehnDebugSummaryComponent, selector: "foehn-debug-summary" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.SdkDictionaryPipe, name: "fromDictionary" }] }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemErrorComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FoehnNavigationService }, { token: i3.GesdemHandlerService }, { token: i4.GesdemEventService }, { token: i5.FoehnPageService }, { token: i6.SupportAlertService }, { token: i7.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: GesdemErrorComponent, selector: "gesdem-error", inputs: { setPageTitle: "setPageTitle" }, ngImport: i0, template: "<div class=\"vd-card mb-3\" *ngIf=\"!hasSessionExpired\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <div class=\"card-body\">\n <ng-container *ngIf=\"(isPendingPayment | async) === true\">\n <p\n class=\"card-text vd-card-text alert alert-danger\"\n [innerHTML]=\"\n 'gesdem-error.text.pending-payment'\n | fromDictionary\n : {\n supportLink: (supportLink | async)\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(isPendingPayment | async) === false\">\n <ng-container\n *ngIf=\"\n !demandeShouldExist;\n else demandeShouldExistTemplate\n \"\n >\n <p class=\"card-text vd-card-text\">\n {{\n (!!reference\n ? 'gesdem-error.text.has-reference'\n : 'gesdem-error.text.has-no-reference'\n ) | fromDictionary\n }}\n </p>\n <ul class=\"vd-list-links\">\n <li>\n <a [href]=\"link\">\n {{\n (!!reference\n ? 'gesdem-error.link.has-reference'\n : 'gesdem-error.link.has-no-reference'\n ) | fromDictionary\n }}\n </a>\n </li>\n </ul>\n </ng-container>\n </ng-container>\n\n <foehn-debug-summary></foehn-debug-summary>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<gesdem-action-recovery-login\n *ngIf=\"hasSessionExpired\"\n [reference]=\"reference\"\n [redirectTarget]=\"link\"\n></gesdem-action-recovery-login>\n\n<ng-template #demandeShouldExistTemplate>\n <p\n class=\"card-text vd-card-text\"\n [innerHTML]=\"'gesdem-error.demande-should-exist' | fromDictionary\"\n ></p>\n <ul class=\"vd-list-links\">\n <li>\n <a\n [href]=\"link\"\n [innerHTML]=\"\n 'gesdem-error.link.has-no-reference' | fromDictionary\n \"\n ></a>\n </li>\n </ul>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.GesdemActionRecoveryLoginComponent, selector: "gesdem-action-recovery-login", inputs: ["reference", "redirectTarget"] }, { kind: "component", type: i10.FoehnDebugSummaryComponent, selector: "foehn-debug-summary" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.SdkDictionaryPipe, name: "fromDictionary" }] }); }
83
85
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemErrorComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemErrorComponent, decorators: [{
85
87
  type: Component,
86
- args: [{ selector: 'gesdem-error', template: "<div class=\"vd-card mb-3\" *ngIf=\"!hasSessionExpired\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <div class=\"card-body\">\n <ng-container *ngIf=\"(isPendingPayment | async) === true\">\n <p\n class=\"card-text vd-card-text alert alert-danger\"\n [innerHTML]=\"\n 'gesdem-error.text.pending-payment'\n | fromDictionary\n : {\n supportLink: (supportLink | async)\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(isPendingPayment | async) === false\">\n <p class=\"card-text vd-card-text\">\n {{\n (!!reference\n ? 'gesdem-error.text.has-reference'\n : 'gesdem-error.text.has-no-reference'\n ) | fromDictionary\n }}\n </p>\n <ul class=\"vd-list-links\">\n <li>\n <a [href]=\"link\">\n {{\n (!!reference\n ? 'gesdem-error.link.has-reference'\n : 'gesdem-error.link.has-no-reference'\n ) | fromDictionary\n }}\n </a>\n </li>\n </ul>\n </ng-container>\n\n <foehn-debug-summary></foehn-debug-summary>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<gesdem-action-recovery-login\n *ngIf=\"hasSessionExpired\"\n [reference]=\"reference\"\n [redirectTarget]=\"link\"\n></gesdem-action-recovery-login>\n" }]
88
+ args: [{ selector: 'gesdem-error', template: "<div class=\"vd-card mb-3\" *ngIf=\"!hasSessionExpired\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <div class=\"card-body\">\n <ng-container *ngIf=\"(isPendingPayment | async) === true\">\n <p\n class=\"card-text vd-card-text alert alert-danger\"\n [innerHTML]=\"\n 'gesdem-error.text.pending-payment'\n | fromDictionary\n : {\n supportLink: (supportLink | async)\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(isPendingPayment | async) === false\">\n <ng-container\n *ngIf=\"\n !demandeShouldExist;\n else demandeShouldExistTemplate\n \"\n >\n <p class=\"card-text vd-card-text\">\n {{\n (!!reference\n ? 'gesdem-error.text.has-reference'\n : 'gesdem-error.text.has-no-reference'\n ) | fromDictionary\n }}\n </p>\n <ul class=\"vd-list-links\">\n <li>\n <a [href]=\"link\">\n {{\n (!!reference\n ? 'gesdem-error.link.has-reference'\n : 'gesdem-error.link.has-no-reference'\n ) | fromDictionary\n }}\n </a>\n </li>\n </ul>\n </ng-container>\n </ng-container>\n\n <foehn-debug-summary></foehn-debug-summary>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<gesdem-action-recovery-login\n *ngIf=\"hasSessionExpired\"\n [reference]=\"reference\"\n [redirectTarget]=\"link\"\n></gesdem-action-recovery-login>\n\n<ng-template #demandeShouldExistTemplate>\n <p\n class=\"card-text vd-card-text\"\n [innerHTML]=\"'gesdem-error.demande-should-exist' | fromDictionary\"\n ></p>\n <ul class=\"vd-list-links\">\n <li>\n <a\n [href]=\"link\"\n [innerHTML]=\"\n 'gesdem-error.link.has-no-reference' | fromDictionary\n \"\n ></a>\n </li>\n </ul>\n</ng-template>\n" }]
87
89
  }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.FoehnNavigationService }, { type: i3.GesdemHandlerService }, { type: i4.GesdemEventService }, { type: i5.FoehnPageService }, { type: i6.SupportAlertService }, { type: i7.ApplicationInfoService }], propDecorators: { setPageTitle: [{
88
90
  type: Input
89
91
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWVycm9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tZXJyb3IvZ2VzZGVtLWVycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tZXJyb3IvZ2VzZGVtLWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTMUQsTUFBTSxPQUFPLG9CQUFvQjtJQVU3QixZQUNZLGNBQThCLEVBQzlCLFVBQWtDLEVBQ2xDLGFBQW1DLEVBQ25DLGtCQUFzQyxFQUN0QyxnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLHNCQUE4QztRQU45QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx3QkFBbUIsR0FBbkIsbUJB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LENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs4R0F4RlEsb0JBQW9CO2tHQUFwQixvQkFBb0IsOEZDcEJqQyw0dEVBb0RBOzsyRkRoQ2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUVJLGNBQWM7a1NBS3hCLFlBQVk7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuUGFnZVNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTRVNTSU9OX0VYUElSRUQgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXQsIEdlc2RlbVN0YXR1dFV0aWxzIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgRGVtYW5kZUhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvZGVtYW5kZS5oZWxwZXInO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTdXBwb3J0QWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLXN1cHBvcnQtYWxlcnQvc3VwcG9ydC1hbGVydC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2dlc2RlbS1lcnJvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlc2RlbS1lcnJvci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgR2VzZGVtRXJyb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgc2V0UGFnZVRpdGxlID0gdHJ1ZTtcblxuICAgIGxpbms6IHN0cmluZztcbiAgICByZWZlcmVuY2U6IHN0cmluZztcbiAgICBzdXBwb3J0TGluazogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhhc1Nlc3Npb25FeHBpcmVkID0gZmFsc2U7XG4gICAgaXNQZW5kaW5nUGF5bWVudDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0aW9uOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc3VwcG9ydEFsZXJ0U2VydmljZTogU3VwcG9ydEFsZXJ0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHJvdXRlID0gRm9laG5OYXZpZ2F0aW9uU2VydmljZS5nZXRSb290Um91dGVSZWN1cnNpdmUoXG4gICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdFxuICAgICAgICApO1xuICAgICAgICBuYXZpZ2F0aW9uLmluaXRSb3V0ZShyb3V0ZSk7XG4gICAgICAgIHRoaXMubGluayA9IHRoaXMuZ2V0QmFzZVBhdGgoKTtcbiAgICAgICAgdGhpcy5yZWZlcmVuY2UgPVxuICAgICAgICAgICAgRGVtYW5kZUhlbHBlci5nZXRTYWZlUmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zLnJlZmVyZW5jZVxuICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgRGVtYW5kZUhlbHBlci5nZXRTYWZlUmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LnJlZmVyZW5jZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdXBwb3J0TGluayA9IHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5nZXRTYWZlU3VwcG9ydEZvcm1VcmwoXG4gICAgICAgICAgICB0aGlzLnJlZmVyZW5jZVxuICAgICAgICApO1xuICAgICAgICBpZiAoIXRoaXMucmVmZXJlbmNlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQZW5kaW5nUGF5bWVudCA9IG9mKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNQZW5kaW5nUGF5bWVudCA9IHRoaXMuZ2VzZGVtU2VydmljZVxuICAgICAgICAgICAgICAgIC5yZXRyaWV2ZUFjdGlvblN0YXR1dCh0aGlzLnJlZmVyZW5jZSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKHN0YXR1dCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoR2VzZGVtU3RhdHV0VXRpbHMuaXNGaW5hbChzdGF0dXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uLmxhc3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1hcChzdGF0dXQgPT4gc3RhdHV0ID09PSBBY3Rpb25TdGF0dXQuUEVORElOR19QQVlNRU5UKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0UGFnZSA9IHRoaXMuZ2V0Rmlyc3RQYWdlKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLnByZWZpeCkge1xuICAgICAgICAgICAgICAgIHRoaXMubGluayArPSBgJHt0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4fS9gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxpbmsgKz0gYCR7dGhpcy5yZWZlcmVuY2V9LyR7Zmlyc3RQYWdlLnBhdGh9YDtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yQ29kZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZXJyb3JDb2RlJyk7XG4gICAgICAgICAgICB0aGlzLmhhc1Nlc3Npb25FeHBpcmVkID0gZXJyb3JDb2RlID09PSBTRVNTSU9OX0VYUElSRUQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgZXJyb3IgbWlnaHQgaGF2ZSBiZWVuIGNhdXNlZCBieSBhbiBpc3N1ZSB3aXRoIHRoZSBwcmVzdGF0aW9uIHRoYXQgaGFzIGJlZW4gaWRlbnRpZmllZFxuICAgICAgICAvLyB3aGlsc3QgdGhlIHVzZXIgaXMgdXNpbmcgdGhlIHByZXN0YXRpb24uIFRoaXMgZW5zdXJlcyB0aGF0IGlmIGFueSBhbGVydCBpcyBhZGRlZCBieSB0aGVcbiAgICAgICAgLy8gYWRtaW5pc3RyYXRvciwgdGhlIHVzZXIgd2lsbCBhdCBsZWFzdCBzZWUgdGhlbSBpZiBhbiBlcnJvciBpcyBzaG93bi5cbiAgICAgICAgdGhpcy5zdXBwb3J0QWxlcnRTZXJ2aWNlLnJlZnJlc2hBbGVydHMoKTtcblxuICAgICAgICBpZiAodGhpcy5zZXRQYWdlVGl0bGUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZS5zZXRQYWdlVGl0bGUoXG4gICAgICAgICAgICAgICAgdGhpcy5oYXNTZXNzaW9uRXhwaXJlZFxuICAgICAgICAgICAgICAgICAgICA/ICdSZXByaXNlIGRlIGxhIGRlbWFuZGUnXG4gICAgICAgICAgICAgICAgICAgIDogJ0VycmV1ciByZW5jb250csOpZSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0UGFnZSgpOiBSb3V0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb24uZ2V0Rmlyc3RSb3V0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QmFzZVBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYmFzZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdiYXNlJyk7XG4gICAgICAgIGlmIChiYXNlLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VbMF0uaHJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJy8nO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ2ZC1jYXJkIG1iLTNcIiAqbmdJZj1cIiFoYXNTZXNzaW9uRXhwaXJlZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy04XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGlzUGVuZGluZ1BheW1lbnQgfCBhc3luYykgPT09IHRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLXRleHQgdmQtY2FyZC10ZXh0IGFsZXJ0IGFsZXJ0LWRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1lcnJvci50ZXh0LnBlbmRpbmctcGF5bWVudCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0TGluazogKHN1cHBvcnRMaW5rIHwgYXN5bmMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGlzUGVuZGluZ1BheW1lbnQgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImNhcmQtdGV4dCB2ZC1jYXJkLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoISFyZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2dlc2RlbS1lcnJvci50ZXh0Lmhhcy1yZWZlcmVuY2UnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtbm8tcmVmZXJlbmNlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtbGlzdC1saW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoISFyZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnZ2VzZGVtLWVycm9yLmxpbmsuaGFzLXJlZmVyZW5jZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZ2VzZGVtLWVycm9yLmxpbmsuaGFzLW5vLXJlZmVyZW5jZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWRlYnVnLXN1bW1hcnk+PC9mb2Vobi1kZWJ1Zy1zdW1tYXJ5PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luXG4gICAgKm5nSWY9XCJoYXNTZXNzaW9uRXhwaXJlZFwiXG4gICAgW3JlZmVyZW5jZV09XCJyZWZlcmVuY2VcIlxuICAgIFtyZWRpcmVjdFRhcmdldF09XCJsaW5rXCJcbj48L2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWVycm9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tZXJyb3IvZ2VzZGVtLWVycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tZXJyb3IvZ2VzZGVtLWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdEYsT0FBTyxFQUNILG9CQUFvQixFQUNwQixlQUFlLEVBQ2xCLE1BQU0sd0NBQXdDLENBQUM7QUFHaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVMxRCxNQUFNLE9BQU8sb0JBQW9CO0lBVzdCLFlBQ1ksY0FBOEIsRUFDOUIsVUFBa0MsRUFDbEMsYUFBbUMsRUFDbkMsa0JBQXNDLEVBQ3RDLGdCQUFrQyxFQUNsQyxtQkFBd0MsRUFDeEMsc0JBQThDO1FBTjlDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdC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LENBQzVCLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzsrR0ExRlEsb0JBQW9CO21HQUFwQixvQkFBb0IsOEZDdkJqQyx5aUdBNEVBOzs0RkRyRGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUVJLGNBQWM7a1NBS3hCLFlBQVk7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuUGFnZVNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIERFTUFOREVfU0hPVUxEX0VYSVNULFxuICAgIFNFU1NJT05fRVhQSVJFRFxufSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXQsIEdlc2RlbVN0YXR1dFV0aWxzIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgRGVtYW5kZUhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvZGVtYW5kZS5oZWxwZXInO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTdXBwb3J0QWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLXN1cHBvcnQtYWxlcnQvc3VwcG9ydC1hbGVydC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2dlc2RlbS1lcnJvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlc2RlbS1lcnJvci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgR2VzZGVtRXJyb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgc2V0UGFnZVRpdGxlID0gdHJ1ZTtcblxuICAgIGxpbms6IHN0cmluZztcbiAgICByZWZlcmVuY2U6IHN0cmluZztcbiAgICBzdXBwb3J0TGluazogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhhc1Nlc3Npb25FeHBpcmVkID0gZmFsc2U7XG4gICAgZGVtYW5kZVNob3VsZEV4aXN0ID0gZmFsc2U7XG4gICAgaXNQZW5kaW5nUGF5bWVudDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0aW9uOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc3VwcG9ydEFsZXJ0U2VydmljZTogU3VwcG9ydEFsZXJ0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHJvdXRlID0gRm9laG5OYXZpZ2F0aW9uU2VydmljZS5nZXRSb290Um91dGVSZWN1cnNpdmUoXG4gICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdFxuICAgICAgICApO1xuICAgICAgICBuYXZpZ2F0aW9uLmluaXRSb3V0ZShyb3V0ZSk7XG4gICAgICAgIHRoaXMubGluayA9IHRoaXMuZ2V0QmFzZVBhdGgoKTtcbiAgICAgICAgdGhpcy5yZWZlcmVuY2UgPVxuICAgICAgICAgICAgRGVtYW5kZUhlbHBlci5nZXRTYWZlUmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zLnJlZmVyZW5jZVxuICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgRGVtYW5kZUhlbHBlci5nZXRTYWZlUmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LnJlZmVyZW5jZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdXBwb3J0TGluayA9IHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5nZXRTYWZlU3VwcG9ydEZvcm1VcmwoXG4gICAgICAgICAgICB0aGlzLnJlZmVyZW5jZVxuICAgICAgICApO1xuICAgICAgICBpZiAoIXRoaXMucmVmZXJlbmNlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQZW5kaW5nUGF5bWVudCA9IG9mKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNQZW5kaW5nUGF5bWVudCA9IHRoaXMuZ2VzZGVtU2VydmljZVxuICAgICAgICAgICAgICAgIC5yZXRyaWV2ZUFjdGlvblN0YXR1dCh0aGlzLnJlZmVyZW5jZSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKHN0YXR1dCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoR2VzZGVtU3RhdHV0VXRpbHMuaXNGaW5hbChzdGF0dXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uLmxhc3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1hcChzdGF0dXQgPT4gc3RhdHV0ID09PSBBY3Rpb25TdGF0dXQuUEVORElOR19QQVlNRU5UKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0UGFnZSA9IHRoaXMuZ2V0Rmlyc3RQYWdlKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLnByZWZpeCkge1xuICAgICAgICAgICAgICAgIHRoaXMubGluayArPSBgJHt0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4fS9gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxpbmsgKz0gYCR7dGhpcy5yZWZlcmVuY2V9LyR7Zmlyc3RQYWdlLnBhdGh9YDtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yQ29kZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZXJyb3JDb2RlJyk7XG4gICAgICAgICAgICB0aGlzLmhhc1Nlc3Npb25FeHBpcmVkID0gZXJyb3JDb2RlID09PSBTRVNTSU9OX0VYUElSRUQ7XG4gICAgICAgICAgICB0aGlzLmRlbWFuZGVTaG91bGRFeGlzdCA9IGVycm9yQ29kZSA9PT0gREVNQU5ERV9TSE9VTERfRVhJU1Q7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgZXJyb3IgbWlnaHQgaGF2ZSBiZWVuIGNhdXNlZCBieSBhbiBpc3N1ZSB3aXRoIHRoZSBwcmVzdGF0aW9uIHRoYXQgaGFzIGJlZW4gaWRlbnRpZmllZFxuICAgICAgICAvLyB3aGlsc3QgdGhlIHVzZXIgaXMgdXNpbmcgdGhlIHByZXN0YXRpb24uIFRoaXMgZW5zdXJlcyB0aGF0IGlmIGFueSBhbGVydCBpcyBhZGRlZCBieSB0aGVcbiAgICAgICAgLy8gYWRtaW5pc3RyYXRvciwgdGhlIHVzZXIgd2lsbCBhdCBsZWFzdCBzZWUgdGhlbSBpZiBhbiBlcnJvciBpcyBzaG93bi5cbiAgICAgICAgdGhpcy5zdXBwb3J0QWxlcnRTZXJ2aWNlLnJlZnJlc2hBbGVydHMoKTtcblxuICAgICAgICBpZiAodGhpcy5zZXRQYWdlVGl0bGUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZS5zZXRQYWdlVGl0bGUoXG4gICAgICAgICAgICAgICAgdGhpcy5oYXNTZXNzaW9uRXhwaXJlZFxuICAgICAgICAgICAgICAgICAgICA/ICdSZXByaXNlIGRlIGxhIGRlbWFuZGUnXG4gICAgICAgICAgICAgICAgICAgIDogJ0VycmV1ciByZW5jb250csOpZSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0UGFnZSgpOiBSb3V0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb24uZ2V0Rmlyc3RSb3V0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QmFzZVBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYmFzZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdiYXNlJyk7XG4gICAgICAgIGlmIChiYXNlLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VbMF0uaHJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJy8nO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ2ZC1jYXJkIG1iLTNcIiAqbmdJZj1cIiFoYXNTZXNzaW9uRXhwaXJlZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy04XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGlzUGVuZGluZ1BheW1lbnQgfCBhc3luYykgPT09IHRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLXRleHQgdmQtY2FyZC10ZXh0IGFsZXJ0IGFsZXJ0LWRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1lcnJvci50ZXh0LnBlbmRpbmctcGF5bWVudCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0TGluazogKHN1cHBvcnRMaW5rIHwgYXN5bmMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGlzUGVuZGluZ1BheW1lbnQgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWRlbWFuZGVTaG91bGRFeGlzdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBkZW1hbmRlU2hvdWxkRXhpc3RUZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJjYXJkLXRleHQgdmQtY2FyZC10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoISFyZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtcmVmZXJlbmNlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2dlc2RlbS1lcnJvci50ZXh0Lmhhcy1uby1yZWZlcmVuY2UnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtbGlzdC1saW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCEhcmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdnZXNkZW0tZXJyb3IubGluay5oYXMtcmVmZXJlbmNlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZ2VzZGVtLWVycm9yLmxpbmsuaGFzLW5vLXJlZmVyZW5jZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1kZWJ1Zy1zdW1tYXJ5PjwvZm9laG4tZGVidWctc3VtbWFyeT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1sb2dpblxuICAgICpuZ0lmPVwiaGFzU2Vzc2lvbkV4cGlyZWRcIlxuICAgIFtyZWZlcmVuY2VdPVwicmVmZXJlbmNlXCJcbiAgICBbcmVkaXJlY3RUYXJnZXRdPVwibGlua1wiXG4+PC9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luPlxuXG48bmctdGVtcGxhdGUgI2RlbWFuZGVTaG91bGRFeGlzdFRlbXBsYXRlPlxuICAgIDxwXG4gICAgICAgIGNsYXNzPVwiY2FyZC10ZXh0IHZkLWNhcmQtdGV4dFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiJ2dlc2RlbS1lcnJvci5kZW1hbmRlLXNob3VsZC1leGlzdCcgfCBmcm9tRGljdGlvbmFyeVwiXG4gICAgPjwvcD5cbiAgICA8dWwgY2xhc3M9XCJ2ZC1saXN0LWxpbmtzXCI+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwibGlua1wiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1lcnJvci5saW5rLmhhcy1uby1yZWZlcmVuY2UnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -7,19 +7,19 @@ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
7
7
  import { GesdemErrorComponent } from './gesdem-error.component';
8
8
  import * as i0 from "@angular/core";
9
9
  export class GesdemErrorModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: GesdemErrorModule, declarations: [GesdemErrorComponent], imports: [CommonModule,
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: GesdemErrorModule, declarations: [GesdemErrorComponent], imports: [CommonModule,
12
12
  RouterModule,
13
13
  GesdemActionRecoveryModule,
14
14
  FoehnDebugSummaryComponentModule,
15
15
  SdkDictionaryModule], exports: [GesdemErrorComponent] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemErrorModule, imports: [CommonModule,
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemErrorModule, imports: [CommonModule,
17
17
  RouterModule,
18
18
  GesdemActionRecoveryModule,
19
19
  FoehnDebugSummaryComponentModule,
20
20
  SdkDictionaryModule] }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GesdemErrorModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: GesdemErrorModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  imports: [
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
33
33
  exports: [GesdemErrorComponent]
34
34
  }]
35
35
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWVycm9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tZXJyb3IvZ2VzZGVtLWVycm9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDL0csT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBYWhFLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUhYLG9CQUFvQixhQU4vQixZQUFZO1lBQ1osWUFBWTtZQUNaLDBCQUEwQjtZQUMxQixnQ0FBZ0M7WUFDaEMsbUJBQW1CLGFBR2Isb0JBQW9COytHQUVyQixpQkFBaUIsWUFUdEIsWUFBWTtZQUNaLFlBQVk7WUFDWiwwQkFBMEI7WUFDMUIsZ0NBQWdDO1lBQ2hDLG1CQUFtQjs7MkZBS2QsaUJBQWlCO2tCQVg3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQixnQ0FBZ0M7d0JBQ2hDLG1CQUFtQjtxQkFDdEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgRm9laG5EZWJ1Z1N1bW1hcnlDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1kZWJ1Zy1zdW1tYXJ5L2ZvZWhuLWRlYnVnLXN1bW1hcnkuY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSB9IGZyb20gJy4uL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBHZXNkZW1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vZ2VzZGVtLWVycm9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgR2VzZGVtQWN0aW9uUmVjb3ZlcnlNb2R1bGUsXG4gICAgICAgIEZvZWhuRGVidWdTdW1tYXJ5Q29tcG9uZW50TW9kdWxlLFxuICAgICAgICBTZGtEaWN0aW9uYXJ5TW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtHZXNkZW1FcnJvckNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0dlc2RlbUVycm9yQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1FcnJvck1vZHVsZSB7fVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWVycm9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tZXJyb3IvZ2VzZGVtLWVycm9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDL0csT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBYWhFLE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQUhYLG9CQUFvQixhQU4vQixZQUFZO1lBQ1osWUFBWTtZQUNaLDBCQUEwQjtZQUMxQixnQ0FBZ0M7WUFDaEMsbUJBQW1CLGFBR2Isb0JBQW9CO2dIQUVyQixpQkFBaUIsWUFUdEIsWUFBWTtZQUNaLFlBQVk7WUFDWiwwQkFBMEI7WUFDMUIsZ0NBQWdDO1lBQ2hDLG1CQUFtQjs7NEZBS2QsaUJBQWlCO2tCQVg3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQixnQ0FBZ0M7d0JBQ2hDLG1CQUFtQjtxQkFDdEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgRm9laG5EZWJ1Z1N1bW1hcnlDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1kZWJ1Zy1zdW1tYXJ5L2ZvZWhuLWRlYnVnLXN1bW1hcnkuY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSB9IGZyb20gJy4uL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBHZXNkZW1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vZ2VzZGVtLWVycm9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgR2VzZGVtQWN0aW9uUmVjb3ZlcnlNb2R1bGUsXG4gICAgICAgIEZvZWhuRGVidWdTdW1tYXJ5Q29tcG9uZW50TW9kdWxlLFxuICAgICAgICBTZGtEaWN0aW9uYXJ5TW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtHZXNkZW1FcnJvckNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0dlc2RlbUVycm9yQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1FcnJvck1vZHVsZSB7fVxuIl19
@@ -8,11 +8,11 @@ export class DisplayCurrencyPipe {
8
8
  transform(value, currency = 'CHF', fixedDecimalCount = null, showZero = true) {
9
9
  return this.currencyHelper.formatCurrency(value, currency, fixedDecimalCount, showZero);
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DisplayCurrencyPipe, deps: [{ token: i1.CurrencyHelper }], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: DisplayCurrencyPipe, name: "displayCurrency" }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DisplayCurrencyPipe, deps: [{ token: i1.CurrencyHelper }], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: DisplayCurrencyPipe, name: "displayCurrency" }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DisplayCurrencyPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DisplayCurrencyPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{ name: 'displayCurrency' }]
17
17
  }], ctorParameters: () => [{ type: i1.CurrencyHelper }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9waXBlcy9jdXJyZW5jeS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFLcEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXRELFNBQVMsQ0FDTCxLQUFzQixFQUN0QixXQUFtQixLQUFLLEVBQ3hCLG9CQUE0QixJQUFJLEVBQ2hDLFdBQW9CLElBQUk7UUFFeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FDckMsS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsUUFBUSxDQUNYLENBQUM7SUFDTixDQUFDOzhHQWZRLG1CQUFtQjs0R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDdXJyZW5jeUhlbHBlciB9IGZyb20gJy4uL3Nkay1jdXJyZW5jeS9jdXJyZW5jeS5oZWxwZXInO1xuXG5AUGlwZSh7IG5hbWU6ICdkaXNwbGF5Q3VycmVuY3knIH0pXG5leHBvcnQgY2xhc3MgRGlzcGxheUN1cnJlbmN5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3VycmVuY3lIZWxwZXI6IEN1cnJlbmN5SGVscGVyKSB7fVxuXG4gICAgdHJhbnNmb3JtKFxuICAgICAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgICAgICBjdXJyZW5jeTogc3RyaW5nID0gJ0NIRicsXG4gICAgICAgIGZpeGVkRGVjaW1hbENvdW50OiBudW1iZXIgPSBudWxsLFxuICAgICAgICBzaG93WmVybzogYm9vbGVhbiA9IHRydWVcbiAgICApOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeUhlbHBlci5mb3JtYXRDdXJyZW5jeShcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgY3VycmVuY3ksXG4gICAgICAgICAgICBmaXhlZERlY2ltYWxDb3VudCxcbiAgICAgICAgICAgIHNob3daZXJvXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9waXBlcy9jdXJyZW5jeS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFLcEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXRELFNBQVMsQ0FDTCxLQUFzQixFQUN0QixXQUFtQixLQUFLLEVBQ3hCLG9CQUE0QixJQUFJLEVBQ2hDLFdBQW9CLElBQUk7UUFFeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FDckMsS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsUUFBUSxDQUNYLENBQUM7SUFDTixDQUFDOytHQWZRLG1CQUFtQjs2R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDdXJyZW5jeUhlbHBlciB9IGZyb20gJy4uL3Nkay1jdXJyZW5jeS9jdXJyZW5jeS5oZWxwZXInO1xuXG5AUGlwZSh7IG5hbWU6ICdkaXNwbGF5Q3VycmVuY3knIH0pXG5leHBvcnQgY2xhc3MgRGlzcGxheUN1cnJlbmN5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3VycmVuY3lIZWxwZXI6IEN1cnJlbmN5SGVscGVyKSB7fVxuXG4gICAgdHJhbnNmb3JtKFxuICAgICAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgICAgICBjdXJyZW5jeTogc3RyaW5nID0gJ0NIRicsXG4gICAgICAgIGZpeGVkRGVjaW1hbENvdW50OiBudW1iZXIgPSBudWxsLFxuICAgICAgICBzaG93WmVybzogYm9vbGVhbiA9IHRydWVcbiAgICApOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeUhlbHBlci5mb3JtYXRDdXJyZW5jeShcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgY3VycmVuY3ksXG4gICAgICAgICAgICBmaXhlZERlY2ltYWxDb3VudCxcbiAgICAgICAgICAgIHNob3daZXJvXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19