@dsivd/prestations-ng 15.5.13 → 16.0.0-beta2

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 (590) hide show
  1. package/CHANGELOG.md +666 -1
  2. package/CONTRIBUTING.md +32 -1
  3. package/ESLINT_MIGRATION_GUIDE.md +35 -7
  4. package/README.md +6 -0
  5. package/UPGRADING_V12.md +0 -15
  6. package/UPGRADING_V13.md +0 -15
  7. package/UPGRADING_V14.md +8 -26
  8. package/UPGRADING_V15.md +113 -0
  9. package/UPGRADING_V16.md +56 -0
  10. package/abstract-page-component.d.ts +8 -8
  11. package/directives/currency-formatter.directive.d.ts +4 -1
  12. package/directives/iban-formatter.directive.d.ts +1 -1
  13. package/directives/ide-formatter.directive.d.ts +1 -1
  14. package/directives/ndc-formatter.directive.d.ts +1 -1
  15. package/dsivd-prestations-ng-v16.0.0-beta2.tgz +0 -0
  16. package/esm2020/abstract-page-component.mjs +223 -0
  17. package/esm2020/directives/currency-formatter.directive.mjs +143 -0
  18. package/{esm2015/directives/formatter.module.js → esm2020/directives/formatter.module.mjs} +8 -8
  19. package/{esm2015/directives/iban-formatter.directive.js → esm2020/directives/iban-formatter.directive.mjs} +4 -4
  20. package/{esm2015/directives/ide-formatter.directive.js → esm2020/directives/ide-formatter.directive.mjs} +4 -4
  21. package/{esm2015/directives/ndc-formatter.directive.js → esm2020/directives/ndc-formatter.directive.mjs} +4 -4
  22. package/{esm2015/dsivd-prestations-ng.js → esm2020/dsivd-prestations-ng.mjs} +0 -0
  23. package/{esm2015/foehn-address/address.type.js → esm2020/foehn-address/address.type.mjs} +1 -1
  24. package/esm2020/foehn-address/foehn-address.module.mjs +55 -0
  25. package/{esm2015/foehn-address/foehn-display-address.component.js → esm2020/foehn-address/foehn-display-address.component.mjs} +5 -9
  26. package/esm2020/foehn-address/foehn-input-address.component.mjs +406 -0
  27. package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +66 -0
  28. package/esm2020/foehn-address/foehn-input-foreign-street.component.mjs +55 -0
  29. package/esm2020/foehn-agenda/calendar.type.mjs +3 -0
  30. package/esm2020/foehn-agenda/current-week.type.mjs +4 -0
  31. package/esm2020/foehn-agenda/day-slots.type.mjs +3 -0
  32. package/esm2020/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +74 -0
  33. package/esm2020/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +242 -0
  34. package/esm2020/foehn-agenda/foehn-agenda.component.mjs +95 -0
  35. package/esm2020/foehn-agenda/foehn-agenda.module.mjs +62 -0
  36. package/esm2020/foehn-agenda/pagination-week.type.mjs +3 -0
  37. package/esm2020/foehn-agenda/selected-slot.type.mjs +3 -0
  38. package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +608 -0
  39. package/esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs +40 -0
  40. package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +28 -0
  41. package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +40 -0
  42. package/esm2020/foehn-boolean/foehn-boolean.module.mjs +33 -0
  43. package/esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs +181 -0
  44. package/{esm2015/foehn-breadcrumb/breadcrumb.js → esm2020/foehn-breadcrumb/breadcrumb.mjs} +0 -0
  45. package/esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs +80 -0
  46. package/esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs +19 -0
  47. package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +298 -0
  48. package/esm2020/foehn-checkables/foehn-checkables.module.mjs +68 -0
  49. package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +37 -0
  50. package/esm2020/foehn-checkables/foehn-radio.component.mjs +64 -0
  51. package/esm2020/foehn-checkables/foehn-select.component.mjs +53 -0
  52. package/{esm2015/foehn-checkables/form-select-option-group.js → esm2020/foehn-checkables/form-select-option-group.mjs} +0 -0
  53. package/{esm2015/foehn-checkables/form-select-option.js → esm2020/foehn-checkables/form-select-option.mjs} +0 -0
  54. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal-content.js → esm2020/foehn-confirm-modal/foehn-confirm-modal-content.mjs} +1 -1
  55. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +40 -0
  56. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs +19 -0
  57. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.service.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs} +4 -4
  58. package/esm2020/foehn-date-picker/date-picker-navigation.helper.mjs +167 -0
  59. package/esm2020/foehn-date-picker/date-picker.helper.mjs +132 -0
  60. package/{esm2015/foehn-date-picker/day-month.type.js → esm2020/foehn-date-picker/day-month.type.mjs} +0 -0
  61. package/{esm2015/foehn-date-picker/focused-day.type.js → esm2020/foehn-date-picker/focused-day.type.mjs} +0 -0
  62. package/esm2020/foehn-date-picker/foehn-date-picker.component.mjs +389 -0
  63. package/esm2020/foehn-date-picker/foehn-date-picker.module.mjs +40 -0
  64. package/{esm2015/foehn-date-picker/month-year.type.js → esm2020/foehn-date-picker/month-year.type.mjs} +0 -0
  65. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +97 -0
  66. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs +36 -0
  67. package/esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs +67 -0
  68. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.module.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs} +7 -7
  69. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +37 -0
  70. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs +32 -0
  71. package/esm2020/foehn-footer/foehn-footer.component.mjs +130 -0
  72. package/{esm2015/foehn-footer/foehn-footer.module.js → esm2020/foehn-footer/foehn-footer.module.mjs} +6 -6
  73. package/{esm2015/foehn-footer/footer-link.type.js → esm2020/foehn-footer/footer-link.type.mjs} +0 -0
  74. package/esm2020/foehn-form/foehn-form.component.mjs +135 -0
  75. package/esm2020/foehn-form/foehn-form.module.mjs +32 -0
  76. package/esm2020/foehn-form/register-ng-model.service.mjs +23 -0
  77. package/esm2020/foehn-growl/foehn-growl.component.mjs +44 -0
  78. package/{esm2015/foehn-growl/foehn-growl.module.js → esm2020/foehn-growl/foehn-growl.module.mjs} +6 -6
  79. package/{esm2015/foehn-growl/growl-broker.service.js → esm2020/foehn-growl/growl-broker.service.mjs} +5 -5
  80. package/{esm2015/foehn-growl/growl-message.js → esm2020/foehn-growl/growl-message.mjs} +1 -1
  81. package/{esm2015/foehn-growl/growl-types.js → esm2020/foehn-growl/growl-types.mjs} +0 -0
  82. package/esm2020/foehn-header/foehn-header.component.mjs +68 -0
  83. package/esm2020/foehn-header/foehn-header.module.mjs +21 -0
  84. package/{esm2015/foehn-header/foehn-skip-link.component.js → esm2020/foehn-header/foehn-skip-link.component.mjs} +5 -8
  85. package/esm2020/foehn-help-modal/foehn-help-modal.component.mjs +44 -0
  86. package/esm2020/foehn-help-modal/foehn-help-modal.module.mjs +20 -0
  87. package/esm2020/foehn-help-modal/foehn-help-modal.type.mjs +2 -0
  88. package/{esm2015/foehn-icons/abstract-icon-component.js → esm2020/foehn-icons/abstract-icon-component.mjs} +5 -5
  89. package/esm2020/foehn-icons/foehn-icon-calendar.component.mjs +19 -0
  90. package/esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs +19 -0
  91. package/esm2020/foehn-icons/foehn-icon-check.component.mjs +19 -0
  92. package/esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs +19 -0
  93. package/esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs +19 -0
  94. package/esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs +19 -0
  95. package/esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs +19 -0
  96. package/esm2020/foehn-icons/foehn-icon-clock.component.mjs +19 -0
  97. package/esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs +19 -0
  98. package/esm2020/foehn-icons/foehn-icon-edit.component.mjs +19 -0
  99. package/esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs +19 -0
  100. package/esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs +19 -0
  101. package/esm2020/foehn-icons/foehn-icon-info-circle.component.mjs +19 -0
  102. package/esm2020/foehn-icons/foehn-icon-lock.component.mjs +19 -0
  103. package/esm2020/foehn-icons/foehn-icon-map-marker.component.mjs +19 -0
  104. package/esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs +19 -0
  105. package/esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs +19 -0
  106. package/esm2020/foehn-icons/foehn-icon-plus-square.component.mjs +19 -0
  107. package/esm2020/foehn-icons/foehn-icon-search.component.mjs +19 -0
  108. package/esm2020/foehn-icons/foehn-icon-times.component.mjs +19 -0
  109. package/esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs +19 -0
  110. package/esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs +19 -0
  111. package/{esm2015/foehn-icons/foehn-icons.module.js → esm2020/foehn-icons/foehn-icons.module.mjs} +20 -20
  112. package/esm2020/foehn-input/foehn-input-email.component.mjs +59 -0
  113. package/esm2020/foehn-input/foehn-input-hidden.component.mjs +55 -0
  114. package/esm2020/foehn-input/foehn-input-number.component.mjs +276 -0
  115. package/esm2020/foehn-input/foehn-input-password.component.mjs +52 -0
  116. package/esm2020/foehn-input/foehn-input-phone.component.mjs +92 -0
  117. package/{esm2015/foehn-input/foehn-input-string.component.js → esm2020/foehn-input/foehn-input-string.component.mjs} +5 -5
  118. package/esm2020/foehn-input/foehn-input-text.component.mjs +76 -0
  119. package/esm2020/foehn-input/foehn-input-textarea.component.mjs +109 -0
  120. package/esm2020/foehn-input/foehn-input.component.mjs +390 -0
  121. package/esm2020/foehn-input/foehn-input.module.mjs +93 -0
  122. package/{esm2015/foehn-input/pattern.const.js → esm2020/foehn-input/pattern.const.mjs} +0 -0
  123. package/esm2020/foehn-input-date/foehn-input-date.component.mjs +118 -0
  124. package/esm2020/foehn-input-date-time/foehn-input-date-time.component.mjs +143 -0
  125. package/esm2020/foehn-input-time/foehn-input-time.component.mjs +74 -0
  126. package/esm2020/foehn-list/foehn-list.component.mjs +128 -0
  127. package/esm2020/foehn-list/foehn-list.module.mjs +19 -0
  128. package/{esm2015/foehn-list/page-change-event.js → esm2020/foehn-list/page-change-event.mjs} +0 -0
  129. package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +122 -0
  130. package/{esm2015/foehn-menu-prestation/abstract-menu-page.component.js → esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs} +4 -4
  131. package/{esm2015/foehn-menu-prestation/abstract-page-from-menu.component.js → esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs} +4 -4
  132. package/esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +23 -0
  133. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs} +0 -0
  134. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs} +0 -0
  135. package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +71 -0
  136. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +35 -0
  137. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +51 -0
  138. package/esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs +59 -0
  139. package/{esm2015/foehn-misc/foehn-abbr.component.js → esm2020/foehn-misc/foehn-abbr.component.mjs} +5 -9
  140. package/{esm2015/foehn-misc/foehn-misc.module.js → esm2020/foehn-misc/foehn-misc.module.mjs} +5 -5
  141. package/esm2020/foehn-modal/foehn-modal.component.mjs +94 -0
  142. package/esm2020/foehn-modal/foehn-modal.module.mjs +21 -0
  143. package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +268 -0
  144. package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +40 -0
  145. package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +114 -0
  146. package/esm2020/foehn-nav13/foehn-input-nav13.module.mjs +32 -0
  147. package/esm2020/foehn-navigation/foehn-navigation.component.mjs +94 -0
  148. package/esm2020/foehn-navigation/foehn-navigation.module.mjs +32 -0
  149. package/esm2020/foehn-navigation/foehn-navigation.service.mjs +303 -0
  150. package/{esm2015/foehn-notfound/foehn-notfound.component.js → esm2020/foehn-notfound/foehn-notfound.component.mjs} +7 -10
  151. package/esm2020/foehn-notfound/foehn-notfound.module.mjs +20 -0
  152. package/{esm2015/foehn-page/foehn-page-counter.component.js → esm2020/foehn-page/foehn-page-counter.component.mjs} +5 -8
  153. package/esm2020/foehn-page/foehn-page-modal.component.mjs +53 -0
  154. package/{esm2015/foehn-page/foehn-page-modal.service.js → esm2020/foehn-page/foehn-page-modal.service.mjs} +4 -4
  155. package/esm2020/foehn-page/foehn-page.component.mjs +218 -0
  156. package/esm2020/foehn-page/foehn-page.module.mjs +78 -0
  157. package/{esm2015/foehn-page/foehn-page.service.js → esm2020/foehn-page/foehn-page.service.mjs} +4 -4
  158. package/esm2020/foehn-recap-section/foehn-recap-section.component.mjs +88 -0
  159. package/esm2020/foehn-recap-section/foehn-recap-section.module.mjs +20 -0
  160. package/{esm2015/foehn-recap-section/foehn-recap-section.type.js → esm2020/foehn-recap-section/foehn-recap-section.type.mjs} +0 -0
  161. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs} +5 -9
  162. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs} +6 -6
  163. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +56 -0
  164. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +20 -0
  165. package/esm2020/foehn-table/foehn-table-column-configuration.mjs +3 -0
  166. package/esm2020/foehn-table/foehn-table-page-change-event.mjs +3 -0
  167. package/esm2020/foehn-table/foehn-table.component.mjs +148 -0
  168. package/esm2020/foehn-table/foehn-table.module.mjs +32 -0
  169. package/esm2020/foehn-table/tableSort.mjs +3 -0
  170. package/esm2020/foehn-upload/abstract-foehn-uploader.component.mjs +192 -0
  171. package/{esm2015/foehn-upload/document-reference.js → esm2020/foehn-upload/document-reference.mjs} +0 -0
  172. package/esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +71 -0
  173. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs} +0 -0
  174. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +174 -0
  175. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +40 -0
  176. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +224 -0
  177. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +40 -0
  178. package/esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +83 -0
  179. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.type.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.type.mjs} +0 -0
  180. package/esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +158 -0
  181. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +202 -0
  182. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +44 -0
  183. package/esm2020/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +75 -0
  184. package/esm2020/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +21 -0
  185. package/esm2020/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +62 -0
  186. package/esm2020/foehn-upload/foehn-upload-progress-bar/upload-progress.type.mjs +3 -0
  187. package/{esm2015/foehn-upload/pending-upload.type.js → esm2020/foehn-upload/pending-upload.type.mjs} +1 -1
  188. package/esm2020/foehn-upload/uploader.helper.mjs +327 -0
  189. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.component.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs} +5 -8
  190. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.module.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs} +6 -6
  191. package/esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +96 -0
  192. package/esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +19 -0
  193. package/esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs +29 -0
  194. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.module.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs} +6 -6
  195. package/esm2020/form-error.mjs +2 -0
  196. package/esm2020/form-post-response.mjs +10 -0
  197. package/{esm2015/gesdem/gesdem-error-handler.service.js → esm2020/gesdem/gesdem-error-handler.service.mjs} +4 -4
  198. package/esm2020/gesdem/gesdem-event.service.mjs +38 -0
  199. package/esm2020/gesdem/gesdem-handler.service.mjs +160 -0
  200. package/esm2020/gesdem/gesdem-loader.guard.mjs +41 -0
  201. package/{esm2015/gesdem/gesdem-statut-utils.js → esm2020/gesdem/gesdem-statut-utils.mjs} +0 -0
  202. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +101 -0
  203. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +130 -0
  204. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs +50 -0
  205. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs +82 -0
  206. package/{esm2015/gesdem-action-recovery/reprise-info.js → esm2020/gesdem-action-recovery/reprise-info.mjs} +0 -0
  207. package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +201 -0
  208. package/esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs +32 -0
  209. package/esm2020/gesdem-error/gesdem-error.component.mjs +87 -0
  210. package/esm2020/gesdem-error/gesdem-error.module.mjs +36 -0
  211. package/esm2020/global.const.mjs +5 -0
  212. package/esm2020/helpers/object.helper.mjs +89 -0
  213. package/{esm2015/i18n-form.js → esm2020/i18n-form.mjs} +0 -0
  214. package/esm2020/index.mjs +263 -0
  215. package/{esm2015/pipes/currency.pipe.js → esm2020/pipes/currency.pipe.mjs} +4 -4
  216. package/{esm2015/pipes/date.pipe.js → esm2020/pipes/date.pipe.mjs} +4 -4
  217. package/{esm2015/pipes/formatIde.pipe.js → esm2020/pipes/formatIde.pipe.mjs} +3 -3
  218. package/{esm2015/pipes/pipes.module.js → esm2020/pipes/pipes.module.mjs} +7 -7
  219. package/{esm2015/prestations-ng-core.module.js → esm2020/prestations-ng-core.module.mjs} +7 -7
  220. package/esm2020/refinf/model/address-type-light.mjs +3 -0
  221. package/esm2020/refinf/model/canton.mjs +3 -0
  222. package/esm2020/refinf/model/district.mjs +3 -0
  223. package/esm2020/refinf/model/municipality.mjs +3 -0
  224. package/esm2020/refinf/model/place-of-origin.mjs +3 -0
  225. package/esm2020/refinf/model/postal-locality.mjs +3 -0
  226. package/esm2020/sdk-appinfo/application-info.mjs +14 -0
  227. package/esm2020/sdk-appinfo/application-info.service.mjs +104 -0
  228. package/{esm2015/sdk-currency/currency.helper.js → esm2020/sdk-currency/currency.helper.mjs} +3 -3
  229. package/esm2020/sdk-date/date.helper.mjs +100 -0
  230. package/esm2020/sdk-dictionary/default-dictionary.mjs +166 -0
  231. package/{esm2015/sdk-dictionary/sdk-dictionary.module.js → esm2020/sdk-dictionary/sdk-dictionary.module.mjs} +5 -5
  232. package/{esm2015/sdk-dictionary/sdk-dictionary.pipe.js → esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs} +6 -6
  233. package/esm2020/sdk-dictionary/sdk-dictionary.service.mjs +111 -0
  234. package/{esm2015/sdk-epayment/model/EPaymentParameters.js → esm2020/sdk-epayment/model/EPaymentParameters.mjs} +0 -0
  235. package/esm2020/sdk-epayment/sdk-epayment.component.mjs +81 -0
  236. package/esm2020/sdk-epayment/sdk-epayment.module.mjs +21 -0
  237. package/esm2020/sdk-epayment/sdk-epayment.service.mjs +52 -0
  238. package/{esm2015/sdk-recaptcha/grecaptcha/grecaptcha.component.js → esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs} +6 -10
  239. package/esm2020/sdk-recaptcha/recaptcha.service.mjs +162 -0
  240. package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +69 -0
  241. package/esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs +19 -0
  242. package/esm2020/sdk-redirect/iam-expired-interceptor.service.mjs +58 -0
  243. package/esm2020/sdk-redirect/redirect.component.mjs +35 -0
  244. package/esm2020/sdk-redirect/sdk-redirect.module.mjs +19 -0
  245. package/{esm2015/sdk-session-info/session-info-data.js → esm2020/sdk-session-info/session-info-data.mjs} +1 -1
  246. package/{esm2015/sdk-session-info/session-info-with-application.service.js → esm2020/sdk-session-info/session-info-with-application.service.mjs} +5 -5
  247. package/esm2020/sdk-session-info/session-info.service.mjs +50 -0
  248. package/esm2020/sdk-statistics/sdk-statistics.service.mjs +70 -0
  249. package/esm2020/sdk-support-alert/support-alert-container.component.mjs +49 -0
  250. package/esm2020/sdk-support-alert/support-alert.component.mjs +34 -0
  251. package/{esm2015/sdk-support-alert/support-alert.model.js → esm2020/sdk-support-alert/support-alert.model.mjs} +0 -0
  252. package/esm2020/sdk-support-alert/support-alert.module.mjs +21 -0
  253. package/esm2020/sdk-support-alert/support-alert.service.mjs +117 -0
  254. package/{esm2015/service-locator.js → esm2020/service-locator.mjs} +0 -0
  255. package/esm2020/supported-browser.mjs +2 -0
  256. package/esm2020/validation/validation-handler.service.mjs +44 -0
  257. package/fesm2015/dsivd-prestations-ng.mjs +13399 -0
  258. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
  259. package/fesm2020/dsivd-prestations-ng.mjs +13374 -0
  260. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -0
  261. package/foehn-address/address.type.d.ts +3 -3
  262. package/foehn-address/foehn-display-address.component.d.ts +1 -1
  263. package/foehn-address/foehn-input-address.component.d.ts +18 -8
  264. package/foehn-address/foehn-input-foreign-locality.component.d.ts +1 -1
  265. package/foehn-address/foehn-input-foreign-street.component.d.ts +1 -1
  266. package/foehn-agenda/calendar.type.d.ts +9 -0
  267. package/foehn-agenda/current-week.type.d.ts +5 -0
  268. package/foehn-agenda/day-slots.type.d.ts +5 -0
  269. package/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.d.ts +21 -0
  270. package/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.d.ts +51 -0
  271. package/foehn-agenda/foehn-agenda.component.d.ts +29 -0
  272. package/foehn-agenda/foehn-agenda.module.d.ts +17 -0
  273. package/foehn-agenda/pagination-week.type.d.ts +5 -0
  274. package/foehn-agenda/selected-slot.type.d.ts +7 -0
  275. package/foehn-autocomplete/foehn-autocomplete.component.d.ts +22 -6
  276. package/foehn-boolean/foehn-boolean-checkbox.component.d.ts +1 -1
  277. package/foehn-boolean/foehn-boolean-radio.component.d.ts +2 -1
  278. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +2 -2
  279. package/foehn-breadcrumb/foehn-breadcrumb.component.d.ts +6 -5
  280. package/foehn-checkables/foehn-checkable-group.component.d.ts +8 -8
  281. package/foehn-checkables/foehn-checkables.module.d.ts +3 -1
  282. package/foehn-checkables/foehn-checkbox.component.d.ts +1 -1
  283. package/foehn-checkables/foehn-radio.component.d.ts +1 -1
  284. package/foehn-checkables/foehn-select.component.d.ts +2 -10
  285. package/foehn-confirm-modal/foehn-confirm-modal-content.d.ts +1 -0
  286. package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +2 -2
  287. package/foehn-date-picker/date-picker-navigation.helper.d.ts +7 -1
  288. package/foehn-date-picker/date-picker.helper.d.ts +3 -2
  289. package/foehn-date-picker/foehn-date-picker.component.d.ts +21 -10
  290. package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +13 -5
  291. package/foehn-debug-summary/foehn-debug-summary.component.d.ts +7 -5
  292. package/foehn-decision-electronique/foehn-decision-electronique.component.d.ts +2 -2
  293. package/foehn-decision-electronique/foehn-decision-electronique.module.d.ts +2 -1
  294. package/foehn-footer/foehn-footer.component.d.ts +4 -4
  295. package/foehn-form/foehn-form.component.d.ts +7 -4
  296. package/foehn-form/register-ng-model.service.d.ts +9 -0
  297. package/foehn-growl/foehn-growl.component.d.ts +3 -3
  298. package/foehn-growl/growl-broker.service.d.ts +1 -1
  299. package/foehn-header/foehn-header.component.d.ts +7 -7
  300. package/foehn-header/foehn-skip-link.component.d.ts +2 -2
  301. package/foehn-help-modal/foehn-help-modal.component.d.ts +1 -1
  302. package/foehn-help-modal/foehn-help-modal.type.d.ts +4 -0
  303. package/foehn-icons/abstract-icon-component.d.ts +1 -1
  304. package/foehn-icons/foehn-icon-calendar.component.d.ts +1 -1
  305. package/foehn-icons/foehn-icon-check-square-o.component.d.ts +1 -1
  306. package/foehn-icons/foehn-icon-check.component.d.ts +1 -1
  307. package/foehn-icons/foehn-icon-chevron-down.component.d.ts +1 -1
  308. package/foehn-icons/foehn-icon-chevron-left.component.d.ts +1 -1
  309. package/foehn-icons/foehn-icon-chevron-right.component.d.ts +1 -1
  310. package/foehn-icons/foehn-icon-chevron-up.component.d.ts +1 -1
  311. package/foehn-icons/foehn-icon-clock.component.d.ts +1 -1
  312. package/foehn-icons/foehn-icon-comment-dots.component.d.ts +1 -1
  313. package/foehn-icons/foehn-icon-edit.component.d.ts +1 -1
  314. package/foehn-icons/foehn-icon-external-link-alt.component.d.ts +1 -1
  315. package/foehn-icons/foehn-icon-file-pdf.component.d.ts +1 -1
  316. package/foehn-icons/foehn-icon-info-circle.component.d.ts +1 -1
  317. package/foehn-icons/foehn-icon-lock.component.d.ts +1 -1
  318. package/foehn-icons/foehn-icon-map-marker.component.d.ts +1 -1
  319. package/foehn-icons/foehn-icon-minus-circle.component.d.ts +1 -1
  320. package/foehn-icons/foehn-icon-plus-circle.component.d.ts +1 -1
  321. package/foehn-icons/foehn-icon-plus-square.component.d.ts +1 -1
  322. package/foehn-icons/foehn-icon-search.component.d.ts +1 -1
  323. package/foehn-icons/foehn-icon-times.component.d.ts +1 -1
  324. package/foehn-icons/foehn-icon-trash-alt.component.d.ts +1 -1
  325. package/foehn-icons/foehn-icon-unlock-alt.component.d.ts +1 -1
  326. package/foehn-input/foehn-input-email.component.d.ts +4 -2
  327. package/foehn-input/foehn-input-hidden.component.d.ts +1 -1
  328. package/foehn-input/foehn-input-number.component.d.ts +16 -6
  329. package/foehn-input/foehn-input-password.component.d.ts +1 -1
  330. package/foehn-input/foehn-input-phone.component.d.ts +1 -1
  331. package/foehn-input/foehn-input-string.component.d.ts +1 -1
  332. package/foehn-input/foehn-input-text.component.d.ts +1 -1
  333. package/foehn-input/foehn-input-textarea.component.d.ts +5 -2
  334. package/foehn-input/foehn-input.component.d.ts +25 -9
  335. package/foehn-input/foehn-input.module.d.ts +9 -6
  336. package/foehn-input-date/foehn-input-date.component.d.ts +10 -3
  337. package/foehn-input-date-time/foehn-input-date-time.component.d.ts +29 -0
  338. package/foehn-input-time/foehn-input-time.component.d.ts +1 -1
  339. package/foehn-list/foehn-list.component.d.ts +2 -3
  340. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +5 -5
  341. package/foehn-menu-prestation/abstract-menu-page.component.d.ts +1 -1
  342. package/foehn-menu-prestation/abstract-page-from-menu.component.d.ts +1 -1
  343. package/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.d.ts +1 -1
  344. package/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.d.ts +3 -3
  345. package/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.d.ts +1 -1
  346. package/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.d.ts +2 -2
  347. package/foehn-misc/foehn-abbr.component.d.ts +1 -1
  348. package/foehn-modal/foehn-modal.component.d.ts +2 -3
  349. package/foehn-modal/foehn-modal.module.d.ts +3 -1
  350. package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.d.ts +51 -0
  351. package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.d.ts +13 -0
  352. package/foehn-nav13/foehn-input-nav13.component.d.ts +2 -1
  353. package/foehn-navigation/foehn-navigation.component.d.ts +2 -2
  354. package/foehn-navigation/foehn-navigation.service.d.ts +4 -3
  355. package/foehn-notfound/foehn-notfound.component.d.ts +1 -1
  356. package/foehn-page/foehn-page-counter.component.d.ts +1 -1
  357. package/foehn-page/foehn-page-modal.component.d.ts +1 -1
  358. package/foehn-page/foehn-page-modal.service.d.ts +1 -1
  359. package/foehn-page/foehn-page.component.d.ts +15 -12
  360. package/foehn-page/foehn-page.module.d.ts +2 -1
  361. package/foehn-page/foehn-page.service.d.ts +2 -2
  362. package/foehn-recap-section/foehn-recap-section.component.d.ts +3 -1
  363. package/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.d.ts +1 -1
  364. package/foehn-status-progress-bar/foehn-status-progress-bar.component.d.ts +23 -0
  365. package/foehn-status-progress-bar/foehn-status-progress-bar.module.d.ts +10 -0
  366. package/foehn-table/foehn-table-column-configuration.d.ts +18 -0
  367. package/foehn-table/foehn-table-page-change-event.d.ts +5 -0
  368. package/foehn-table/foehn-table.component.d.ts +33 -0
  369. package/foehn-table/foehn-table.module.d.ts +11 -0
  370. package/foehn-table/tableSort.d.ts +4 -0
  371. package/foehn-upload/abstract-foehn-uploader.component.d.ts +7 -7
  372. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +6 -4
  373. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +6 -5
  374. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.d.ts +2 -1
  375. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +9 -8
  376. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.d.ts +2 -1
  377. package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +6 -4
  378. package/foehn-upload/foehn-multi-upload/pending-upload.service.d.ts +3 -3
  379. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +7 -4
  380. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +2 -1
  381. package/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.d.ts +19 -0
  382. package/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.d.ts +11 -0
  383. package/foehn-upload/foehn-upload-progress-bar/upload-progress.service.d.ts +19 -0
  384. package/foehn-upload/foehn-upload-progress-bar/upload-progress.type.d.ts +4 -0
  385. package/foehn-upload/pending-upload.type.d.ts +1 -0
  386. package/foehn-upload/uploader.helper.d.ts +13 -13
  387. package/foehn-user-connected-as/foehn-user-connected-as.component.d.ts +2 -2
  388. package/foehn-validation-alert-summary/foehn-validation-alert-summary.component.d.ts +2 -2
  389. package/foehn-validation-alerts/foehn-validation-alerts.component.d.ts +4 -4
  390. package/{error-template.d.ts → form-error.d.ts} +1 -1
  391. package/form-post-response.d.ts +17 -0
  392. package/gesdem/gesdem-error-handler.service.d.ts +2 -2
  393. package/gesdem/gesdem-event.service.d.ts +7 -7
  394. package/gesdem/gesdem-handler.service.d.ts +8 -6
  395. package/gesdem/gesdem-loader.guard.d.ts +1 -1
  396. package/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.d.ts +5 -5
  397. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +7 -7
  398. package/gesdem-action-recovery/gesdem-action-recovery.service.d.ts +3 -3
  399. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +10 -9
  400. package/gesdem-error/gesdem-error.component.d.ts +10 -3
  401. package/gesdem-error/gesdem-error.module.d.ts +2 -1
  402. package/global.const.d.ts +1 -0
  403. package/index.d.ts +102 -70
  404. package/package.json +36 -22
  405. package/pipes/currency.pipe.d.ts +1 -1
  406. package/pipes/date.pipe.d.ts +1 -1
  407. package/pipes/formatIde.pipe.d.ts +1 -1
  408. package/refinf/model/address-type-light.d.ts +5 -0
  409. package/refinf/model/canton.d.ts +4 -0
  410. package/refinf/model/district.d.ts +7 -0
  411. package/refinf/model/municipality.d.ts +8 -0
  412. package/refinf/model/place-of-origin.d.ts +9 -0
  413. package/refinf/model/postal-locality.d.ts +11 -0
  414. package/schematics/ng-add/index.js +10 -10
  415. package/schematics/ng-update/migrations/update-13_1_0/index.js +2 -2
  416. package/schematics/ng-update/migrations/update-13_2_0/index.js +3 -3
  417. package/schematics/ng-update/migrations/update-13_5_1/index.js +3 -3
  418. package/schematics/ng-update/migrations/update-14_5_0/index.js +2 -2
  419. package/schematics/update-karma-config/index.js +2 -2
  420. package/schematics/utility/migrate-to-karma-coverage.js +3 -3
  421. package/sdk-appinfo/application-info.d.ts +1 -0
  422. package/sdk-appinfo/application-info.service.d.ts +4 -4
  423. package/sdk-dictionary/sdk-dictionary.pipe.d.ts +1 -1
  424. package/sdk-dictionary/sdk-dictionary.service.d.ts +9 -0
  425. package/sdk-epayment/sdk-epayment.component.d.ts +6 -16
  426. package/sdk-epayment/sdk-epayment.service.d.ts +3 -6
  427. package/sdk-recaptcha/grecaptcha/grecaptcha.component.d.ts +2 -2
  428. package/sdk-recaptcha/recaptcha.service.d.ts +5 -5
  429. package/sdk-recaptcha/sdk-recaptcha.component.d.ts +4 -4
  430. package/sdk-redirect/iam-expired-interceptor.service.d.ts +3 -3
  431. package/sdk-redirect/redirect.component.d.ts +3 -9
  432. package/sdk-session-info/session-info-data.d.ts +0 -1
  433. package/sdk-session-info/session-info.service.d.ts +4 -4
  434. package/sdk-statistics/sdk-statistics.service.d.ts +22 -0
  435. package/sdk-support-alert/support-alert-container.component.d.ts +3 -3
  436. package/sdk-support-alert/support-alert.component.d.ts +1 -1
  437. package/sdk-support-alert/support-alert.service.d.ts +5 -4
  438. package/validation/validation-handler.service.d.ts +4 -4
  439. package/backend-response.d.ts +0 -18
  440. package/bundles/dsivd-prestations-ng.umd.js +0 -13188
  441. package/bundles/dsivd-prestations-ng.umd.js.map +0 -1
  442. package/dsivd-prestations-ng-v15.5.13.tgz +0 -0
  443. package/dsivd-prestations-ng.d.ts +0 -5
  444. package/esm2015/abstract-page-component.js +0 -224
  445. package/esm2015/backend-response.js +0 -10
  446. package/esm2015/directives/currency-formatter.directive.js +0 -116
  447. package/esm2015/error-template.js +0 -2
  448. package/esm2015/foehn-address/foehn-address.module.js +0 -57
  449. package/esm2015/foehn-address/foehn-input-address.component.js +0 -365
  450. package/esm2015/foehn-address/foehn-input-foreign-locality.component.js +0 -71
  451. package/esm2015/foehn-address/foehn-input-foreign-street.component.js +0 -60
  452. package/esm2015/foehn-autocomplete/foehn-autocomplete.component.js +0 -556
  453. package/esm2015/foehn-autocomplete/foehn-autocomplete.module.js +0 -42
  454. package/esm2015/foehn-boolean/foehn-boolean-checkbox.component.js +0 -32
  455. package/esm2015/foehn-boolean/foehn-boolean-radio.component.js +0 -41
  456. package/esm2015/foehn-boolean/foehn-boolean.module.js +0 -35
  457. package/esm2015/foehn-breadcrumb/breadcrumb-event.service.js +0 -182
  458. package/esm2015/foehn-breadcrumb/foehn-breadcrumb.component.js +0 -85
  459. package/esm2015/foehn-breadcrumb/foehn-breadcrumb.module.js +0 -19
  460. package/esm2015/foehn-checkables/foehn-checkable-group.component.js +0 -294
  461. package/esm2015/foehn-checkables/foehn-checkables.module.js +0 -62
  462. package/esm2015/foehn-checkables/foehn-checkbox.component.js +0 -40
  463. package/esm2015/foehn-checkables/foehn-radio.component.js +0 -67
  464. package/esm2015/foehn-checkables/foehn-select.component.js +0 -66
  465. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.component.js +0 -42
  466. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.module.js +0 -19
  467. package/esm2015/foehn-date-picker/date-picker-navigation.helper.js +0 -117
  468. package/esm2015/foehn-date-picker/date-picker.helper.js +0 -126
  469. package/esm2015/foehn-date-picker/foehn-date-picker.component.js +0 -300
  470. package/esm2015/foehn-date-picker/foehn-date-picker.module.js +0 -42
  471. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.component.js +0 -74
  472. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.module.js +0 -38
  473. package/esm2015/foehn-debug-summary/foehn-debug-summary.component.js +0 -61
  474. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.component.js +0 -40
  475. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.module.js +0 -20
  476. package/esm2015/foehn-footer/foehn-footer.component.js +0 -132
  477. package/esm2015/foehn-form/foehn-form.component.js +0 -146
  478. package/esm2015/foehn-form/foehn-form.module.js +0 -20
  479. package/esm2015/foehn-growl/foehn-growl.component.js +0 -47
  480. package/esm2015/foehn-header/foehn-header.component.js +0 -73
  481. package/esm2015/foehn-header/foehn-header.module.js +0 -21
  482. package/esm2015/foehn-help-modal/foehn-help-modal.component.js +0 -48
  483. package/esm2015/foehn-help-modal/foehn-help-modal.module.js +0 -20
  484. package/esm2015/foehn-help-modal/foehn-help-modal.type.js +0 -2
  485. package/esm2015/foehn-icons/foehn-icon-calendar.component.js +0 -22
  486. package/esm2015/foehn-icons/foehn-icon-check-square-o.component.js +0 -22
  487. package/esm2015/foehn-icons/foehn-icon-check.component.js +0 -22
  488. package/esm2015/foehn-icons/foehn-icon-chevron-down.component.js +0 -22
  489. package/esm2015/foehn-icons/foehn-icon-chevron-left.component.js +0 -22
  490. package/esm2015/foehn-icons/foehn-icon-chevron-right.component.js +0 -22
  491. package/esm2015/foehn-icons/foehn-icon-chevron-up.component.js +0 -22
  492. package/esm2015/foehn-icons/foehn-icon-clock.component.js +0 -22
  493. package/esm2015/foehn-icons/foehn-icon-comment-dots.component.js +0 -22
  494. package/esm2015/foehn-icons/foehn-icon-edit.component.js +0 -22
  495. package/esm2015/foehn-icons/foehn-icon-external-link-alt.component.js +0 -22
  496. package/esm2015/foehn-icons/foehn-icon-file-pdf.component.js +0 -22
  497. package/esm2015/foehn-icons/foehn-icon-info-circle.component.js +0 -22
  498. package/esm2015/foehn-icons/foehn-icon-lock.component.js +0 -22
  499. package/esm2015/foehn-icons/foehn-icon-map-marker.component.js +0 -22
  500. package/esm2015/foehn-icons/foehn-icon-minus-circle.component.js +0 -22
  501. package/esm2015/foehn-icons/foehn-icon-plus-circle.component.js +0 -22
  502. package/esm2015/foehn-icons/foehn-icon-plus-square.component.js +0 -22
  503. package/esm2015/foehn-icons/foehn-icon-search.component.js +0 -22
  504. package/esm2015/foehn-icons/foehn-icon-times.component.js +0 -22
  505. package/esm2015/foehn-icons/foehn-icon-trash-alt.component.js +0 -22
  506. package/esm2015/foehn-icons/foehn-icon-unlock-alt.component.js +0 -22
  507. package/esm2015/foehn-input/foehn-input-email.component.js +0 -55
  508. package/esm2015/foehn-input/foehn-input-hidden.component.js +0 -57
  509. package/esm2015/foehn-input/foehn-input-number.component.js +0 -190
  510. package/esm2015/foehn-input/foehn-input-password.component.js +0 -55
  511. package/esm2015/foehn-input/foehn-input-phone.component.js +0 -96
  512. package/esm2015/foehn-input/foehn-input-text.component.js +0 -80
  513. package/esm2015/foehn-input/foehn-input-textarea.component.js +0 -104
  514. package/esm2015/foehn-input/foehn-input.component.js +0 -364
  515. package/esm2015/foehn-input/foehn-input.module.js +0 -82
  516. package/esm2015/foehn-input-date/foehn-input-date.component.js +0 -94
  517. package/esm2015/foehn-input-time/foehn-input-time.component.js +0 -79
  518. package/esm2015/foehn-list/foehn-list.component.js +0 -135
  519. package/esm2015/foehn-list/foehn-list.module.js +0 -19
  520. package/esm2015/foehn-menu-prestation/abstract-list-item-detail-page.component.js +0 -122
  521. package/esm2015/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.js +0 -26
  522. package/esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.js +0 -75
  523. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.js +0 -38
  524. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.js +0 -54
  525. package/esm2015/foehn-menu-prestation/foehn-menu-prestation.module.js +0 -61
  526. package/esm2015/foehn-modal/foehn-modal.component.js +0 -100
  527. package/esm2015/foehn-modal/foehn-modal.module.js +0 -19
  528. package/esm2015/foehn-nav13/foehn-input-nav13.component.js +0 -98
  529. package/esm2015/foehn-nav13/foehn-input-nav13.module.js +0 -34
  530. package/esm2015/foehn-navigation/foehn-navigation.component.js +0 -98
  531. package/esm2015/foehn-navigation/foehn-navigation.module.js +0 -34
  532. package/esm2015/foehn-navigation/foehn-navigation.service.js +0 -297
  533. package/esm2015/foehn-notfound/foehn-notfound.module.js +0 -20
  534. package/esm2015/foehn-page/foehn-page-modal.component.js +0 -55
  535. package/esm2015/foehn-page/foehn-page.component.js +0 -214
  536. package/esm2015/foehn-page/foehn-page.module.js +0 -76
  537. package/esm2015/foehn-recap-section/foehn-recap-section.component.js +0 -88
  538. package/esm2015/foehn-recap-section/foehn-recap-section.module.js +0 -20
  539. package/esm2015/foehn-upload/abstract-foehn-uploader.component.js +0 -192
  540. package/esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js +0 -62
  541. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +0 -168
  542. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.js +0 -38
  543. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +0 -217
  544. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.js +0 -38
  545. package/esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js +0 -76
  546. package/esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js +0 -157
  547. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +0 -164
  548. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js +0 -42
  549. package/esm2015/foehn-upload/uploader.helper.js +0 -322
  550. package/esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.component.js +0 -88
  551. package/esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.module.js +0 -19
  552. package/esm2015/foehn-validation-alerts/foehn-validation-alerts.component.js +0 -32
  553. package/esm2015/gesdem/gesdem-event.service.js +0 -38
  554. package/esm2015/gesdem/gesdem-handler.service.js +0 -151
  555. package/esm2015/gesdem/gesdem-loader.guard.js +0 -40
  556. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.js +0 -103
  557. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.js +0 -133
  558. package/esm2015/gesdem-action-recovery/gesdem-action-recovery.module.js +0 -52
  559. package/esm2015/gesdem-action-recovery/gesdem-action-recovery.service.js +0 -82
  560. package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +0 -194
  561. package/esm2015/gesdem-confirmation/gesdem-confirmation.module.js +0 -34
  562. package/esm2015/gesdem-error/gesdem-error.component.js +0 -70
  563. package/esm2015/gesdem-error/gesdem-error.module.js +0 -34
  564. package/esm2015/helpers/object.helper.js +0 -88
  565. package/esm2015/index.js +0 -224
  566. package/esm2015/sdk-appinfo/application-info.js +0 -14
  567. package/esm2015/sdk-appinfo/application-info.service.js +0 -111
  568. package/esm2015/sdk-date/date.helper.js +0 -90
  569. package/esm2015/sdk-dictionary/default-dictionary.js +0 -80
  570. package/esm2015/sdk-dictionary/sdk-dictionary.service.js +0 -96
  571. package/esm2015/sdk-epayment/model/EPaymentRequest.js +0 -3
  572. package/esm2015/sdk-epayment/sdk-epayment.component.js +0 -113
  573. package/esm2015/sdk-epayment/sdk-epayment.module.js +0 -21
  574. package/esm2015/sdk-epayment/sdk-epayment.service.js +0 -46
  575. package/esm2015/sdk-recaptcha/recaptcha.service.js +0 -162
  576. package/esm2015/sdk-recaptcha/sdk-recaptcha.component.js +0 -72
  577. package/esm2015/sdk-recaptcha/sdk-recaptcha.module.js +0 -19
  578. package/esm2015/sdk-redirect/iam-expired-interceptor.service.js +0 -48
  579. package/esm2015/sdk-redirect/redirect.component.js +0 -47
  580. package/esm2015/sdk-redirect/sdk-redirect.module.js +0 -19
  581. package/esm2015/sdk-session-info/session-info.service.js +0 -44
  582. package/esm2015/sdk-support-alert/support-alert-container.component.js +0 -53
  583. package/esm2015/sdk-support-alert/support-alert.component.js +0 -38
  584. package/esm2015/sdk-support-alert/support-alert.module.js +0 -21
  585. package/esm2015/sdk-support-alert/support-alert.service.js +0 -113
  586. package/esm2015/supported-browser.js +0 -2
  587. package/esm2015/validation/validation-handler.service.js +0 -44
  588. package/fesm2015/dsivd-prestations-ng.js +0 -11618
  589. package/fesm2015/dsivd-prestations-ng.js.map +0 -1
  590. package/sdk-epayment/model/EPaymentRequest.d.ts +0 -5
@@ -1,162 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpParams } from '@angular/common/http';
3
- import { BehaviorSubject, combineLatest, merge, of } from 'rxjs';
4
- import { debounceTime, map } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- import * as i2 from "../sdk-session-info/session-info.service";
8
- import * as i3 from "@angular/router";
9
- import * as i4 from "../validation/validation-handler.service";
10
- import * as i5 from "../gesdem/gesdem-handler.service";
11
- import * as i6 from "../gesdem/gesdem-event.service";
12
- import * as i7 from "../sdk-appinfo/application-info.service";
13
- export const RECAPTCHA_API_URL = 'api/recaptcha';
14
- export const CAPTCHA_ERROR_NAME = 'recaptcha';
15
- export class RecaptchaService {
16
- constructor(http, sessionInfo, route, validationHandlerService, gesdemService, gesdemEventService, applicationInfoService) {
17
- this.http = http;
18
- this.sessionInfo = sessionInfo;
19
- this.route = route;
20
- this.validationHandlerService = validationHandlerService;
21
- this.gesdemService = gesdemService;
22
- this.gesdemEventService = gesdemEventService;
23
- this.applicationInfoService = applicationInfoService;
24
- this.errorsSubject = new BehaviorSubject([]);
25
- this.shouldDisplay = this.initShouldDisplayObservable();
26
- this.errors = this.initErrorObservable();
27
- this.publicKey = this.initPublicKeyObservable();
28
- }
29
- onSuccess(token) {
30
- // To be accessed by the gesdem service and to avoid to have a circular
31
- // dependency between the gesdemHandlerService and the captcha service.
32
- this.gesdemService.setCaptchaToken(token);
33
- this.token = token;
34
- if (!!this.token) {
35
- this.clearErrors();
36
- this.http.post(RECAPTCHA_API_URL, { token: this.token }).subscribe(
37
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
- (data) => {
39
- const success = !!data.success;
40
- if (success) {
41
- // Clear any potential errors from the server. We can do
42
- // that because this should be the only error in the set as
43
- // the captcha must be valid to have at least one form error.
44
- this.validationHandlerService.updateErrors([]);
45
- }
46
- else {
47
- // If this is thrown, that's pretty bad because it means
48
- // that Google couldn't verify the captcha key. This is
49
- // either an attack or a misconfiguration.
50
- this.addError('Votre captcha est invalide');
51
- }
52
- }, (e) => {
53
- console.error(e);
54
- // 404, timeout or network issue. Could happen.
55
- this.addError('Une erreur est survenue lors de la validation du captcha.');
56
- });
57
- }
58
- }
59
- addError(message) {
60
- const existingErrors = this.errorsSubject.getValue();
61
- const newError = {
62
- name: CAPTCHA_ERROR_NAME,
63
- code: CAPTCHA_ERROR_NAME,
64
- message
65
- };
66
- this.errorsSubject.next([newError, ...existingErrors]);
67
- }
68
- clearErrors() {
69
- this.errorsSubject.next([]);
70
- }
71
- getErrors() {
72
- return this.errors;
73
- }
74
- getShouldDisplay() {
75
- return this.shouldDisplay;
76
- }
77
- getPublicKey() {
78
- return this.publicKey;
79
- }
80
- getToken() {
81
- return this.token;
82
- }
83
- initErrorObservable() {
84
- const matchingGesdemErrors = merge(
85
- // Ensures that there's an initial value
86
- of([]),
87
- // Read from the gesdem service all errors.
88
- this.validationHandlerService.validationErrorsSubject).pipe(
89
- // Errors from GesDem, or nothing
90
- map(errors => errors.filter(ex => CAPTCHA_ERROR_NAME === ex.code)));
91
- // Bind errors to the component, either from the backend of from this component
92
- return combineLatest([
93
- // Errors from gesdem matching the name of the captcha.
94
- matchingGesdemErrors,
95
- // Manual errors
96
- this.errorsSubject
97
- ]).pipe(
98
- // Merge the two errors sets
99
- map(([gesdemErrors, localErrors]) => [
100
- ...gesdemErrors,
101
- ...localErrors
102
- ]));
103
- }
104
- initShouldDisplayObservable() {
105
- const isConnectedObservable = this.sessionInfo.data.pipe(map(data => !this.sessionInfo.neverConnected && !!data));
106
- const hasBypassEnabledObservable = this.checkBypassProperty().pipe(map(bypass => !!bypass.value));
107
- const hasReferenceObservable = merge(
108
- // To have an initial value. Can be null if there is no form.
109
- of(this.gesdemService.lastResponse),
110
- // Read the form from GesDem
111
- this.gesdemEventService.formInitializationObservable()).pipe(map(form => !!form &&
112
- !!this.gesdemService.lastResponse &&
113
- !!this.gesdemService.lastResponse.meta &&
114
- !!this.gesdemService.lastResponse.meta.reference));
115
- return combineLatest([
116
- isConnectedObservable,
117
- hasBypassEnabledObservable,
118
- hasReferenceObservable
119
- ]).pipe(
120
- // To work around rapidly changing observables, such as the form
121
- // when the page loads.
122
- debounceTime(0), map(([isConnected, hasBypassEnabled, hasReference]) =>
123
- // Do not display the captcha if the user is connected, the application
124
- // already has a reference or if the bypass is enabled.
125
- !isConnected && !hasBypassEnabled && !hasReference));
126
- }
127
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
128
- checkBypassProperty() {
129
- const params = !!this.route.snapshot.queryParams.reCaptchaByPassUUID
130
- ? new HttpParams().set('reCaptchaByPassUUID', this.route.snapshot.queryParams.reCaptchaByPassUUID)
131
- : null;
132
- return this.http.get(`${RECAPTCHA_API_URL}/bypass`, { params });
133
- }
134
- initPublicKeyObservable() {
135
- return this.applicationInfoService.data.pipe(map(applicationInfo => this.getPublicKeyOrNull(applicationInfo)));
136
- }
137
- getPublicKeyOrNull(applicationInfo) {
138
- // Replace this whole shenanigan with applicationInfo?.configuration?.captcha?.publickey when
139
- // Typescript supports it.
140
- if (!applicationInfo) {
141
- return null;
142
- }
143
- const { configuration } = applicationInfo;
144
- if (!configuration) {
145
- return null;
146
- }
147
- const { captcha } = configuration;
148
- if (!captcha) {
149
- return null;
150
- }
151
- return captcha.publickey || null;
152
- }
153
- }
154
- RecaptchaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: RecaptchaService, deps: [{ token: i1.HttpClient }, { token: i2.SessionInfo }, { token: i3.ActivatedRoute }, { token: i4.ValidationHandlerService }, { token: i5.GesdemHandlerService }, { token: i6.GesdemEventService }, { token: i7.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
155
- RecaptchaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: RecaptchaService, providedIn: 'root' });
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: RecaptchaService, decorators: [{
157
- type: Injectable,
158
- args: [{
159
- providedIn: 'root'
160
- }]
161
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.SessionInfo }, { type: i3.ActivatedRoute }, { type: i4.ValidationHandlerService }, { type: i5.GesdemHandlerService }, { type: i6.GesdemEventService }, { type: i7.ApplicationInfoService }]; } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLXJlY2FwdGNoYS9yZWNhcHRjaGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVFuRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDO0FBSzlDLE1BQU0sT0FBTyxnQkFBZ0I7SUFPekIsWUFDWSxJQUFnQixFQUNoQixXQUF3QixFQUN4QixLQUFxQixFQUNyQix3QkFBa0QsRUFDbEQsYUFBbUMsRUFDbkMsa0JBQXNDLEVBQ3RDLHNCQUE4QztRQU45QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVp6QyxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQWN0RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDbkIsdUVBQXVFO1FBQ3ZFLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVM7WUFDOUQsOERBQThEO1lBQzlELENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQy9CLElBQUksT0FBTyxFQUFFO29CQUNULHdEQUF3RDtvQkFDeEQsMkRBQTJEO29CQUMzRCw2REFBNkQ7b0JBQzdELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ2xEO3FCQUFNO29CQUNILHdEQUF3RDtvQkFDeEQsdURBQXVEO29CQUN2RCwwQ0FBMEM7b0JBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQztpQkFDL0M7WUFDTCxDQUFDLEVBQ0QsQ0FBQyxDQUFVLEVBQUUsRUFBRTtnQkFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVqQiwrQ0FBK0M7Z0JBQy9DLElBQUksQ0FBQyxRQUFRLENBQ1QsMkRBQTJELENBQzlELENBQUM7WUFDTixDQUFDLENBQ0osQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFlO1FBQ3BCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsTUFBTSxRQUFRLEdBQUc7WUFDYixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsT0FBTztTQUNWLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsTUFBTSxvQkFBb0IsR0FBRyxLQUFLO1FBQzlCLHdDQUF3QztRQUN4QyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ04sMkNBQTJDO1FBQzNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FDeEQsQ0FBQyxJQUFJO1FBQ0YsaUNBQWlDO1FBQ2pDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDckUsQ0FBQztRQUVGLCtFQUErRTtRQUMvRSxPQUFPLGFBQWEsQ0FBQztZQUNqQix1REFBdUQ7WUFDdkQsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsYUFBYTtTQUNyQixDQUFDLENBQUMsSUFBSTtRQUNILDRCQUE0QjtRQUM1QixHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakMsR0FBRyxZQUFZO1lBQ2YsR0FBRyxXQUFXO1NBQ2pCLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLDJCQUEyQjtRQUMvQixNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDcEQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQzFELENBQUM7UUFFRixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FDOUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FDaEMsQ0FBQztRQUVGLE1BQU0sc0JBQXNCLEdBQUcsS0FBSztRQUNoQyw2REFBNkQ7UUFDN0QsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQ25DLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLEVBQUUsQ0FDekQsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUNDLElBQUksQ0FBQyxFQUFFLENBQ0gsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJO1lBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUN2RCxDQUNKLENBQUM7UUFFRixPQUFPLGFBQWEsQ0FBQztZQUNqQixxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLHNCQUFzQjtTQUN6QixDQUFDLENBQUMsSUFBSTtRQUNILGdFQUFnRTtRQUNoRSx1QkFBdUI7UUFDdkIsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUNmLEdBQUcsQ0FDQyxDQUFDLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUU7UUFDOUMsdUVBQXVFO1FBQ3ZFLHVEQUF1RDtRQUN2RCxDQUFDLFdBQVcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsWUFBWSxDQUN6RCxDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsOERBQThEO0lBQ3RELG1CQUFtQjtRQUN2QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLG1CQUFtQjtZQUNoRSxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQ2hCLHFCQUFxQixFQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQ3REO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUNuRSxDQUFDO0lBQ04sQ0FBQztJQUVPLGtCQUFrQixDQUN0QixlQUFnQztRQUVoQyw2RkFBNkY7UUFDN0YsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxlQUFlLENBQUM7UUFFMUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUVsQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7SUFDckMsQ0FBQzs7NkdBbk1RLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvclRlbXBsYXRlIH0gZnJvbSAnLi4vZXJyb3ItdGVtcGxhdGUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mbyB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuXG5leHBvcnQgY29uc3QgUkVDQVBUQ0hBX0FQSV9VUkwgPSAnYXBpL3JlY2FwdGNoYSc7XG5leHBvcnQgY29uc3QgQ0FQVENIQV9FUlJPUl9OQU1FID0gJ3JlY2FwdGNoYSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVjYXB0Y2hhU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvcnM6IE9ic2VydmFibGU8RXJyb3JUZW1wbGF0ZVtdPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9yc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVycm9yVGVtcGxhdGVbXT4oW10pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2hvdWxkRGlzcGxheTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHB1YmxpY0tleTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHByaXZhdGUgdG9rZW46IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSB2YWxpZGF0aW9uSGFuZGxlclNlcnZpY2U6IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1FdmVudFNlcnZpY2U6IEdlc2RlbUV2ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2hvdWxkRGlzcGxheSA9IHRoaXMuaW5pdFNob3VsZERpc3BsYXlPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMuZXJyb3JzID0gdGhpcy5pbml0RXJyb3JPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMucHVibGljS2V5ID0gdGhpcy5pbml0UHVibGljS2V5T2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIG9uU3VjY2Vzcyh0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIFRvIGJlIGFjY2Vzc2VkIGJ5IHRoZSBnZXNkZW0gc2VydmljZSBhbmQgdG8gYXZvaWQgdG8gaGF2ZSBhIGNpcmN1bGFyXG4gICAgICAgIC8vIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUgZ2VzZGVtSGFuZGxlclNlcnZpY2UgYW5kIHRoZSBjYXB0Y2hhIHNlcnZpY2UuXG4gICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5zZXRDYXB0Y2hhVG9rZW4odG9rZW4pO1xuXG4gICAgICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcblxuICAgICAgICBpZiAoISF0aGlzLnRva2VuKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgICAgICAgICB0aGlzLmh0dHAucG9zdChSRUNBUFRDSEFfQVBJX1VSTCwgeyB0b2tlbjogdGhpcy50b2tlbiB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSAhIWRhdGEuc3VjY2VzcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIGFueSBwb3RlbnRpYWwgZXJyb3JzIGZyb20gdGhlIHNlcnZlci4gV2UgY2FuIGRvXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0IGJlY2F1c2UgdGhpcyBzaG91bGQgYmUgdGhlIG9ubHkgZXJyb3IgaW4gdGhlIHNldCBhc1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGNhcHRjaGEgbXVzdCBiZSB2YWxpZCB0byBoYXZlIGF0IGxlYXN0IG9uZSBmb3JtIGVycm9yLlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uSGFuZGxlclNlcnZpY2UudXBkYXRlRXJyb3JzKFtdKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgdGhyb3duLCB0aGF0J3MgcHJldHR5IGJhZCBiZWNhdXNlIGl0IG1lYW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0IEdvb2dsZSBjb3VsZG4ndCB2ZXJpZnkgdGhlIGNhcHRjaGEga2V5LiBUaGlzIGlzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlaXRoZXIgYW4gYXR0YWNrIG9yIGEgbWlzY29uZmlndXJhdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRXJyb3IoJ1ZvdHJlIGNhcHRjaGEgZXN0IGludmFsaWRlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gNDA0LCB0aW1lb3V0IG9yIG5ldHdvcmsgaXNzdWUuIENvdWxkIGhhcHBlbi5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHZhbGlkYXRpb24gZHUgY2FwdGNoYS4nXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZEVycm9yKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBleGlzdGluZ0Vycm9ycyA9IHRoaXMuZXJyb3JzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBuZXdFcnJvciA9IHtcbiAgICAgICAgICAgIG5hbWU6IENBUFRDSEFfRVJST1JfTkFNRSxcbiAgICAgICAgICAgIGNvZGU6IENBUFRDSEFfRVJST1JfTkFNRSxcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmVycm9yc1N1YmplY3QubmV4dChbbmV3RXJyb3IsIC4uLmV4aXN0aW5nRXJyb3JzXSk7XG4gICAgfVxuXG4gICAgY2xlYXJFcnJvcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXJyb3JzU3ViamVjdC5uZXh0KFtdKTtcbiAgICB9XG5cbiAgICBnZXRFcnJvcnMoKTogT2JzZXJ2YWJsZTxFcnJvclRlbXBsYXRlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzO1xuICAgIH1cblxuICAgIGdldFNob3VsZERpc3BsYXkoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3VsZERpc3BsYXk7XG4gICAgfVxuXG4gICAgZ2V0UHVibGljS2V5KCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnB1YmxpY0tleTtcbiAgICB9XG5cbiAgICBnZXRUb2tlbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRFcnJvck9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxFcnJvclRlbXBsYXRlW10+IHtcbiAgICAgICAgY29uc3QgbWF0Y2hpbmdHZXNkZW1FcnJvcnMgPSBtZXJnZShcbiAgICAgICAgICAgIC8vIEVuc3VyZXMgdGhhdCB0aGVyZSdzIGFuIGluaXRpYWwgdmFsdWVcbiAgICAgICAgICAgIG9mKFtdKSxcbiAgICAgICAgICAgIC8vIFJlYWQgZnJvbSB0aGUgZ2VzZGVtIHNlcnZpY2UgYWxsIGVycm9ycy5cbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLnZhbGlkYXRpb25FcnJvcnNTdWJqZWN0XG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIC8vIEVycm9ycyBmcm9tIEdlc0RlbSwgb3Igbm90aGluZ1xuICAgICAgICAgICAgbWFwKGVycm9ycyA9PiBlcnJvcnMuZmlsdGVyKGV4ID0+IENBUFRDSEFfRVJST1JfTkFNRSA9PT0gZXguY29kZSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQmluZCBlcnJvcnMgdG8gdGhlIGNvbXBvbmVudCwgZWl0aGVyIGZyb20gdGhlIGJhY2tlbmQgb2YgZnJvbSB0aGlzIGNvbXBvbmVudFxuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAvLyBFcnJvcnMgZnJvbSBnZXNkZW0gbWF0Y2hpbmcgdGhlIG5hbWUgb2YgdGhlIGNhcHRjaGEuXG4gICAgICAgICAgICBtYXRjaGluZ0dlc2RlbUVycm9ycyxcbiAgICAgICAgICAgIC8vIE1hbnVhbCBlcnJvcnNcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzU3ViamVjdFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgLy8gTWVyZ2UgdGhlIHR3byBlcnJvcnMgc2V0c1xuICAgICAgICAgICAgbWFwKChbZ2VzZGVtRXJyb3JzLCBsb2NhbEVycm9yc10pID0+IFtcbiAgICAgICAgICAgICAgICAuLi5nZXNkZW1FcnJvcnMsXG4gICAgICAgICAgICAgICAgLi4ubG9jYWxFcnJvcnNcbiAgICAgICAgICAgIF0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2hvdWxkRGlzcGxheU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IGlzQ29ubmVjdGVkT2JzZXJ2YWJsZSA9IHRoaXMuc2Vzc2lvbkluZm8uZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKGRhdGEgPT4gIXRoaXMuc2Vzc2lvbkluZm8ubmV2ZXJDb25uZWN0ZWQgJiYgISFkYXRhKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGhhc0J5cGFzc0VuYWJsZWRPYnNlcnZhYmxlID0gdGhpcy5jaGVja0J5cGFzc1Byb3BlcnR5KCkucGlwZShcbiAgICAgICAgICAgIG1hcChieXBhc3MgPT4gISFieXBhc3MudmFsdWUpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaGFzUmVmZXJlbmNlT2JzZXJ2YWJsZSA9IG1lcmdlKFxuICAgICAgICAgICAgLy8gVG8gaGF2ZSBhbiBpbml0aWFsIHZhbHVlLiBDYW4gYmUgbnVsbCBpZiB0aGVyZSBpcyBubyBmb3JtLlxuICAgICAgICAgICAgb2YodGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSksXG4gICAgICAgICAgICAvLyBSZWFkIHRoZSBmb3JtIGZyb20gR2VzRGVtXG4gICAgICAgICAgICB0aGlzLmdlc2RlbUV2ZW50U2VydmljZS5mb3JtSW5pdGlhbGl6YXRpb25PYnNlcnZhYmxlKClcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgIGZvcm0gPT5cbiAgICAgICAgICAgICAgICAgICAgISFmb3JtICYmXG4gICAgICAgICAgICAgICAgICAgICEhdGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICAhIXRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YSAmJlxuICAgICAgICAgICAgICAgICAgICAhIXRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2VcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICBpc0Nvbm5lY3RlZE9ic2VydmFibGUsXG4gICAgICAgICAgICBoYXNCeXBhc3NFbmFibGVkT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGhhc1JlZmVyZW5jZU9ic2VydmFibGVcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIC8vIFRvIHdvcmsgYXJvdW5kIHJhcGlkbHkgY2hhbmdpbmcgb2JzZXJ2YWJsZXMsIHN1Y2ggYXMgdGhlIGZvcm1cbiAgICAgICAgICAgIC8vIHdoZW4gdGhlIHBhZ2UgbG9hZHMuXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMCksXG4gICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKFtpc0Nvbm5lY3RlZCwgaGFzQnlwYXNzRW5hYmxlZCwgaGFzUmVmZXJlbmNlXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgLy8gRG8gbm90IGRpc3BsYXkgdGhlIGNhcHRjaGEgaWYgdGhlIHVzZXIgaXMgY29ubmVjdGVkLCB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgLy8gYWxyZWFkeSBoYXMgYSByZWZlcmVuY2Ugb3IgaWYgdGhlIGJ5cGFzcyBpcyBlbmFibGVkLlxuICAgICAgICAgICAgICAgICAgICAhaXNDb25uZWN0ZWQgJiYgIWhhc0J5cGFzc0VuYWJsZWQgJiYgIWhhc1JlZmVyZW5jZVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBjaGVja0J5cGFzc1Byb3BlcnR5KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9ICEhdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5yZUNhcHRjaGFCeVBhc3NVVUlEXG4gICAgICAgICAgICA/IG5ldyBIdHRwUGFyYW1zKCkuc2V0KFxuICAgICAgICAgICAgICAgICAgJ3JlQ2FwdGNoYUJ5UGFzc1VVSUQnLFxuICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5yZUNhcHRjaGFCeVBhc3NVVUlEXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogbnVsbDtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtSRUNBUFRDSEFfQVBJX1VSTH0vYnlwYXNzYCwgeyBwYXJhbXMgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0UHVibGljS2V5T2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChhcHBsaWNhdGlvbkluZm8gPT4gdGhpcy5nZXRQdWJsaWNLZXlPck51bGwoYXBwbGljYXRpb25JbmZvKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFB1YmxpY0tleU9yTnVsbChcbiAgICAgICAgYXBwbGljYXRpb25JbmZvOiBBcHBsaWNhdGlvbkluZm9cbiAgICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgLy8gUmVwbGFjZSB0aGlzIHdob2xlIHNoZW5hbmlnYW4gd2l0aCBhcHBsaWNhdGlvbkluZm8/LmNvbmZpZ3VyYXRpb24/LmNhcHRjaGE/LnB1YmxpY2tleSB3aGVuXG4gICAgICAgIC8vIFR5cGVzY3JpcHQgc3VwcG9ydHMgaXQuXG4gICAgICAgIGlmICghYXBwbGljYXRpb25JbmZvKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgY29uZmlndXJhdGlvbiB9ID0gYXBwbGljYXRpb25JbmZvO1xuXG4gICAgICAgIGlmICghY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBjYXB0Y2hhIH0gPSBjb25maWd1cmF0aW9uO1xuXG4gICAgICAgIGlmICghY2FwdGNoYSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FwdGNoYS5wdWJsaWNrZXkgfHwgbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -1,72 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { GrecaptchaComponent } from './grecaptcha/grecaptcha.component';
3
- import { debounceTime } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./recaptcha.service";
6
- import * as i2 from "./grecaptcha/grecaptcha.component";
7
- import * as i3 from "@angular/common";
8
- export class SdkRecaptchaComponent {
9
- constructor(recaptchaService, cdr) {
10
- this.recaptchaService = recaptchaService;
11
- this.cdr = cdr;
12
- this.hasLoadingError = false;
13
- }
14
- ngOnInit() {
15
- this.recaptchaService.clearErrors();
16
- this.shouldDisplay = this.recaptchaService.getShouldDisplay();
17
- this.errors = this.recaptchaService.getErrors();
18
- this.publicKey = this.recaptchaService.getPublicKey();
19
- this.errorsSubscription = this.errors
20
- .pipe(debounceTime(500))
21
- .subscribe(errors => {
22
- // Hack because the captcha confuses Angular detection change.
23
- if (this.forceDetectChange) {
24
- this.forceDetectChange();
25
- }
26
- // In case of errors, reset the captcha for a better user
27
- // experience.
28
- if (errors.length && this.grecaptcha) {
29
- this.grecaptcha.reset();
30
- }
31
- });
32
- this.forceDetectChange = () => this.cdr.detectChanges();
33
- }
34
- ngOnDestroy() {
35
- if (this.errorsSubscription) {
36
- this.errorsSubscription.unsubscribe();
37
- }
38
- // Avoid cdr on destroyed components.
39
- this.forceDetectChange = null;
40
- }
41
- setIsLoaded(isLoaded) {
42
- this.isLoaded = isLoaded;
43
- // Angular doesn't detect the change properly
44
- if (this.forceDetectChange) {
45
- this.forceDetectChange();
46
- }
47
- }
48
- setScriptError(scriptError) {
49
- this.hasLoadingError = scriptError;
50
- // Angular doesn't detect the change properly
51
- if (this.forceDetectChange) {
52
- this.forceDetectChange();
53
- }
54
- }
55
- tokenOnSuccess(token) {
56
- this.recaptchaService.onSuccess(token);
57
- }
58
- }
59
- SdkRecaptchaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRecaptchaComponent, deps: [{ token: i1.RecaptchaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
60
- SdkRecaptchaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SdkRecaptchaComponent, selector: "captcha", viewQueries: [{ propertyName: "grecaptcha", first: true, predicate: GrecaptchaComponent, descendants: true }], ngImport: i0, template: "<!-- Only display the content if the captcha should be displayed (user not connected for instance) -->\n<div id=\"foehn_recaptchaContainer\" *ngIf=\"shouldDisplay | async\">\n <!-- Manual error handling because errors can come from multiple sources -->\n <ng-container *ngIf=\"errors | async as err\">\n <div\n class=\"form-control-feedback text-danger\"\n *ngIf=\"err && err.length\"\n >\n <p *ngFor=\"let error of err\">{{ error.message }}</p>\n </div>\n </ng-container>\n\n <!-- While the captcha is being loaded -->\n <div class=\"alert alert-info\" *ngIf=\"!isLoaded && !hasLoadingError\">\n Chargement du captcha\n </div>\n\n <!-- In case google.com cannot be reached for instance -->\n <div class=\"alert alert-danger\" *ngIf=\"hasLoadingError\">\n <div class=\"mt-0 alert-heading h4\">\n Une erreur est survenue lors du chargement du captcha.\n </div>\n <p>\n Merci de v\u00E9rifier que votre navigateur peut acc\u00E9der \u00E0\n <a href=\"http://google.com\" target=\"_blank\">google.com</a>\n .\n </p>\n </div>\n\n <ng-container *ngIf=\"publicKey | async as key\">\n <!-- The captcha itself is in a different container not to confused Angular change detection -->\n <app-grecaptcha\n [siteKey]=\"key\"\n (loaded)=\"setIsLoaded($event)\"\n (scriptError)=\"setScriptError($event)\"\n (tokenOnSuccess)=\"tokenOnSuccess($event)\"\n ></app-grecaptcha>\n </ng-container>\n</div>\n", components: [{ type: i2.GrecaptchaComponent, selector: "app-grecaptcha", inputs: ["siteKey"], outputs: ["loaded", "scriptError", "tokenOnSuccess", "destroyed"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe } });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRecaptchaComponent, decorators: [{
62
- type: Component,
63
- args: [{
64
- // eslint-disable-next-line @angular-eslint/component-selector
65
- selector: 'captcha',
66
- templateUrl: './sdk-recaptcha.component.html'
67
- }]
68
- }], ctorParameters: function () { return [{ type: i1.RecaptchaService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { grecaptcha: [{
69
- type: ViewChild,
70
- args: [GrecaptchaComponent]
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLXJlY2FwdGNoYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLXJlY2FwdGNoYS9zZGstcmVjYXB0Y2hhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9zZGstcmVjYXB0Y2hhL3Nkay1yZWNhcHRjaGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFHVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU85QyxNQUFNLE9BQU8scUJBQXFCO0lBYTlCLFlBQ1ksZ0JBQWtDLEVBQ2xDLEdBQXNCO1FBRHRCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUbEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFVckIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEIsOERBQThEO1lBQzlELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUN4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUM1QjtZQUNELHlEQUF5RDtZQUN6RCxjQUFjO1lBQ2QsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pDO1FBRUQscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFpQjtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV6Qiw2Q0FBNkM7UUFDN0MsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW9CO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDO1FBRW5DLDZDQUE2QztRQUM3QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7O2tIQXRFUSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwyRkFDbkIsbUJBQW1CLGdEQ25CbEMsa2xEQXVDQTsyRkRyQmEscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNQLCtEQUErRDtvQkFDL0QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFdBQVcsRUFBRSxnQ0FBZ0M7aUJBQ2hEO3VJQUdHLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVjYXB0Y2hhU2VydmljZSB9IGZyb20gJy4vcmVjYXB0Y2hhLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JUZW1wbGF0ZSB9IGZyb20gJy4uL2Vycm9yLXRlbXBsYXRlJztcbmltcG9ydCB7IEdyZWNhcHRjaGFDb21wb25lbnQgfSBmcm9tICcuL2dyZWNhcHRjaGEvZ3JlY2FwdGNoYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2NhcHRjaGEnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZGstcmVjYXB0Y2hhLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZGtSZWNhcHRjaGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChHcmVjYXB0Y2hhQ29tcG9uZW50KVxuICAgIGdyZWNhcHRjaGE6IEdyZWNhcHRjaGFDb21wb25lbnQ7XG5cbiAgICBzaG91bGREaXNwbGF5OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzTG9hZGVkOiBib29sZWFuO1xuICAgIGhhc0xvYWRpbmdFcnJvciA9IGZhbHNlO1xuICAgIGVycm9yczogT2JzZXJ2YWJsZTxFcnJvclRlbXBsYXRlW10+O1xuICAgIHB1YmxpY0tleTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgcHJpdmF0ZSBlcnJvcnNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGZvcmNlRGV0ZWN0Q2hhbmdlOiAoKSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVjYXB0Y2hhU2VydmljZTogUmVjYXB0Y2hhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVjYXB0Y2hhU2VydmljZS5jbGVhckVycm9ycygpO1xuICAgICAgICB0aGlzLnNob3VsZERpc3BsYXkgPSB0aGlzLnJlY2FwdGNoYVNlcnZpY2UuZ2V0U2hvdWxkRGlzcGxheSgpO1xuICAgICAgICB0aGlzLmVycm9ycyA9IHRoaXMucmVjYXB0Y2hhU2VydmljZS5nZXRFcnJvcnMoKTtcbiAgICAgICAgdGhpcy5wdWJsaWNLZXkgPSB0aGlzLnJlY2FwdGNoYVNlcnZpY2UuZ2V0UHVibGljS2V5KCk7XG5cbiAgICAgICAgdGhpcy5lcnJvcnNTdWJzY3JpcHRpb24gPSB0aGlzLmVycm9yc1xuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGVycm9ycyA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSGFjayBiZWNhdXNlIHRoZSBjYXB0Y2hhIGNvbmZ1c2VzIEFuZ3VsYXIgZGV0ZWN0aW9uIGNoYW5nZS5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb3JjZURldGVjdENoYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcmNlRGV0ZWN0Q2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgZXJyb3JzLCByZXNldCB0aGUgY2FwdGNoYSBmb3IgYSBiZXR0ZXIgdXNlclxuICAgICAgICAgICAgICAgIC8vIGV4cGVyaWVuY2UuXG4gICAgICAgICAgICAgICAgaWYgKGVycm9ycy5sZW5ndGggJiYgdGhpcy5ncmVjYXB0Y2hhKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JlY2FwdGNoYS5yZXNldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9yY2VEZXRlY3RDaGFuZ2UgPSAoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVycm9yc1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5lcnJvcnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEF2b2lkIGNkciBvbiBkZXN0cm95ZWQgY29tcG9uZW50cy5cbiAgICAgICAgdGhpcy5mb3JjZURldGVjdENoYW5nZSA9IG51bGw7XG4gICAgfVxuXG4gICAgc2V0SXNMb2FkZWQoaXNMb2FkZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGlzTG9hZGVkO1xuXG4gICAgICAgIC8vIEFuZ3VsYXIgZG9lc24ndCBkZXRlY3QgdGhlIGNoYW5nZSBwcm9wZXJseVxuICAgICAgICBpZiAodGhpcy5mb3JjZURldGVjdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JjZURldGVjdENoYW5nZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0U2NyaXB0RXJyb3Ioc2NyaXB0RXJyb3I6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNMb2FkaW5nRXJyb3IgPSBzY3JpcHRFcnJvcjtcblxuICAgICAgICAvLyBBbmd1bGFyIGRvZXNuJ3QgZGV0ZWN0IHRoZSBjaGFuZ2UgcHJvcGVybHlcbiAgICAgICAgaWYgKHRoaXMuZm9yY2VEZXRlY3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuZm9yY2VEZXRlY3RDaGFuZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRva2VuT25TdWNjZXNzKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWNhcHRjaGFTZXJ2aWNlLm9uU3VjY2Vzcyh0b2tlbik7XG4gICAgfVxufVxuIiwiPCEtLSBPbmx5IGRpc3BsYXkgdGhlIGNvbnRlbnQgaWYgdGhlIGNhcHRjaGEgc2hvdWxkIGJlIGRpc3BsYXllZCAodXNlciBub3QgY29ubmVjdGVkIGZvciBpbnN0YW5jZSkgLS0+XG48ZGl2IGlkPVwiZm9laG5fcmVjYXB0Y2hhQ29udGFpbmVyXCIgKm5nSWY9XCJzaG91bGREaXNwbGF5IHwgYXN5bmNcIj5cbiAgICA8IS0tIE1hbnVhbCBlcnJvciBoYW5kbGluZyBiZWNhdXNlIGVycm9ycyBjYW4gY29tZSBmcm9tIG11bHRpcGxlIHNvdXJjZXMgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9ycyB8IGFzeW5jIGFzIGVyclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbC1mZWVkYmFjayB0ZXh0LWRhbmdlclwiXG4gICAgICAgICAgICAqbmdJZj1cImVyciAmJiBlcnIubGVuZ3RoXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHAgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVyclwiPnt7IGVycm9yLm1lc3NhZ2UgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBXaGlsZSB0aGUgY2FwdGNoYSBpcyBiZWluZyBsb2FkZWQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIiAqbmdJZj1cIiFpc0xvYWRlZCAmJiAhaGFzTG9hZGluZ0Vycm9yXCI+XG4gICAgICAgIENoYXJnZW1lbnQgZHUgY2FwdGNoYVxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBJbiBjYXNlIGdvb2dsZS5jb20gY2Fubm90IGJlIHJlYWNoZWQgZm9yIGluc3RhbmNlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIiAqbmdJZj1cImhhc0xvYWRpbmdFcnJvclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMCBhbGVydC1oZWFkaW5nIGg0XCI+XG4gICAgICAgICAgICBVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGR1IGNoYXJnZW1lbnQgZHUgY2FwdGNoYS5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwPlxuICAgICAgICAgICAgTWVyY2kgZGUgdsOpcmlmaWVyIHF1ZSB2b3RyZSBuYXZpZ2F0ZXVyIHBldXQgYWNjw6lkZXIgw6BcbiAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwOi8vZ29vZ2xlLmNvbVwiIHRhcmdldD1cIl9ibGFua1wiPmdvb2dsZS5jb208L2E+XG4gICAgICAgICAgICAuXG4gICAgICAgIDwvcD5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwdWJsaWNLZXkgfCBhc3luYyBhcyBrZXlcIj5cbiAgICAgICAgPCEtLSBUaGUgY2FwdGNoYSBpdHNlbGYgaXMgaW4gYSBkaWZmZXJlbnQgY29udGFpbmVyIG5vdCB0byBjb25mdXNlZCBBbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gLS0+XG4gICAgICAgIDxhcHAtZ3JlY2FwdGNoYVxuICAgICAgICAgICAgW3NpdGVLZXldPVwia2V5XCJcbiAgICAgICAgICAgIChsb2FkZWQpPVwic2V0SXNMb2FkZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2NyaXB0RXJyb3IpPVwic2V0U2NyaXB0RXJyb3IoJGV2ZW50KVwiXG4gICAgICAgICAgICAodG9rZW5PblN1Y2Nlc3MpPVwidG9rZW5PblN1Y2Nlc3MoJGV2ZW50KVwiXG4gICAgICAgID48L2FwcC1ncmVjYXB0Y2hhPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { SdkRecaptchaComponent } from './sdk-recaptcha.component';
4
- import { GrecaptchaComponent } from './grecaptcha/grecaptcha.component';
5
- import * as i0 from "@angular/core";
6
- export class SdkRecaptchaModule {
7
- }
8
- SdkRecaptchaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SdkRecaptchaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRecaptchaModule, declarations: [SdkRecaptchaComponent, GrecaptchaComponent], imports: [CommonModule], exports: [SdkRecaptchaComponent] });
10
- SdkRecaptchaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRecaptchaModule, imports: [[CommonModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRecaptchaModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- imports: [CommonModule],
15
- declarations: [SdkRecaptchaComponent, GrecaptchaComponent],
16
- exports: [SdkRecaptchaComponent]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLXJlY2FwdGNoYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLXJlY2FwdGNoYS9zZGstcmVjYXB0Y2hhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFPeEUsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQUhaLHFCQUFxQixFQUFFLG1CQUFtQixhQUQvQyxZQUFZLGFBRVoscUJBQXFCO2dIQUV0QixrQkFBa0IsWUFKbEIsQ0FBQyxZQUFZLENBQUM7MkZBSWQsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLENBQUM7b0JBQzFELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2RrUmVjYXB0Y2hhQ29tcG9uZW50IH0gZnJvbSAnLi9zZGstcmVjYXB0Y2hhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmVjYXB0Y2hhQ29tcG9uZW50IH0gZnJvbSAnLi9ncmVjYXB0Y2hhL2dyZWNhcHRjaGEuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtTZGtSZWNhcHRjaGFDb21wb25lbnQsIEdyZWNhcHRjaGFDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtTZGtSZWNhcHRjaGFDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFNka1JlY2FwdGNoYU1vZHVsZSB7fVxuIl19
@@ -1,48 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { throwError as observableThrowError, Subject } from 'rxjs';
3
- import { Injectable } from '@angular/core';
4
- import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
5
- import { catchError, map } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- const IAM_SESSION_EXPIRED_HEADER = 'iam-session-expired';
8
- const LOGIN_PATH = '/100018/login';
9
- export class IamExpiredInterceptorService {
10
- constructor() {
11
- this._iamExpirationHeaderPresence = new Subject();
12
- }
13
- get iamExpirationHeaderPresence() {
14
- return this._iamExpirationHeaderPresence.asObservable();
15
- }
16
- intercept(req, next) {
17
- return next.handle(req).pipe(map(event => {
18
- if (event instanceof HttpResponse) {
19
- // either we have the header 'iam-session-expired'
20
- const iamExpiredHeader = event.headers.get(IAM_SESSION_EXPIRED_HEADER);
21
- if (null !== iamExpiredHeader) {
22
- this._iamExpirationHeaderPresence.next(true);
23
- }
24
- }
25
- return event;
26
- }), catchError(this.handleError.bind(this)));
27
- }
28
- handleError(err) {
29
- if (err instanceof HttpErrorResponse) {
30
- if (err.status === 200) {
31
- const isLogin = err.url.indexOf(LOGIN_PATH) > 0;
32
- if (isLogin) {
33
- this._iamExpirationHeaderPresence.next(true);
34
- }
35
- }
36
- }
37
- return observableThrowError(err);
38
- }
39
- }
40
- IamExpiredInterceptorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: IamExpiredInterceptorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
41
- IamExpiredInterceptorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: IamExpiredInterceptorService, providedIn: 'root' });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: IamExpiredInterceptorService, decorators: [{
43
- type: Injectable,
44
- args: [{
45
- providedIn: 'root'
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLWV4cGlyZWQtaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9zZGstcmVkaXJlY3QvaWFtLWV4cGlyZWQtaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsSUFBSSxvQkFBb0IsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsaUJBQWlCLEVBS2pCLFlBQVksRUFDZixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWpELE1BQU0sMEJBQTBCLEdBQUcscUJBQXFCLENBQUM7QUFDekQsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDO0FBS25DLE1BQU0sT0FBTyw0QkFBNEI7SUFIekM7UUFJWSxpQ0FBNEIsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztLQTBDbkY7SUF4Q0csSUFBSSwyQkFBMkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELFNBQVMsQ0FDTCxHQUFxQixFQUNyQixJQUFpQjtRQUVqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7Z0JBQy9CLGtEQUFrRDtnQkFDbEQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FDdEMsMEJBQTBCLENBQzdCLENBQUM7Z0JBQ0YsSUFBSSxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7b0JBQzNCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2hEO2FBQ0o7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDMUMsQ0FBQztJQUNOLENBQUM7SUFFTyxXQUFXLENBQ2YsR0FBdUM7UUFFdkMsSUFBSSxHQUFHLFlBQVksaUJBQWlCLEVBQUU7WUFDbEMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDcEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLE9BQU8sRUFBRTtvQkFDVCxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNoRDthQUNKO1NBQ0o7UUFFRCxPQUFPLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O3lIQTFDUSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUZ6QixNQUFNOzJGQUVULDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBFdmVudCxcbiAgICBIdHRwSGFuZGxlcixcbiAgICBIdHRwSW50ZXJjZXB0b3IsXG4gICAgSHR0cFJlcXVlc3QsXG4gICAgSHR0cFJlc3BvbnNlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgSUFNX1NFU1NJT05fRVhQSVJFRF9IRUFERVIgPSAnaWFtLXNlc3Npb24tZXhwaXJlZCc7XG5jb25zdCBMT0dJTl9QQVRIID0gJy8xMDAwMTgvbG9naW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIElhbUV4cGlyZWRJbnRlcmNlcHRvclNlcnZpY2UgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIHByaXZhdGUgX2lhbUV4cGlyYXRpb25IZWFkZXJQcmVzZW5jZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBnZXQgaWFtRXhwaXJhdGlvbkhlYWRlclByZXNlbmNlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faWFtRXhwaXJhdGlvbkhlYWRlclByZXNlbmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGludGVyY2VwdChcbiAgICAgICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxuICAgICAgICBuZXh0OiBIdHRwSGFuZGxlclxuICAgICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4gfCBhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcbiAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVpdGhlciB3ZSBoYXZlIHRoZSBoZWFkZXIgJ2lhbS1zZXNzaW9uLWV4cGlyZWQnXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlhbUV4cGlyZWRIZWFkZXIgPSBldmVudC5oZWFkZXJzLmdldChcbiAgICAgICAgICAgICAgICAgICAgICAgIElBTV9TRVNTSU9OX0VYUElSRURfSEVBREVSXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChudWxsICE9PSBpYW1FeHBpcmVkSGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9pYW1FeHBpcmF0aW9uSGVhZGVyUHJlc2VuY2UubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBldmVudDtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICAgICAgZXJyOiBIdHRwRXJyb3JSZXNwb25zZSB8IEh0dHBFdmVudDxhbnk+XG4gICAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0xvZ2luID0gZXJyLnVybC5pbmRleE9mKExPR0lOX1BBVEgpID4gMDtcbiAgICAgICAgICAgICAgICBpZiAoaXNMb2dpbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pYW1FeHBpcmF0aW9uSGVhZGVyUHJlc2VuY2UubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyKTtcbiAgICB9XG59XG4iXX0=
@@ -1,47 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./iam-expired-interceptor.service";
4
- import * as i2 from "../foehn-modal/foehn-modal.component";
5
- export class RedirectComponent {
6
- constructor(iamInterceptor) {
7
- this.iamInterceptor = iamInterceptor;
8
- this.subscription = this.iamInterceptor.iamExpirationHeaderPresence.subscribe(() => {
9
- this.showModal();
10
- });
11
- }
12
- ngOnInit() {
13
- this.modalHeaderText = 'Information';
14
- this.modalBodyText = `<p>Votre session a expiré.</p>
15
- <p>Vous pouvez vous connecter à nouveau pour continuer à utiliser nos services.</p>`;
16
- }
17
- ngOnDestroy() {
18
- this.subscription.unsubscribe();
19
- }
20
- redirect() {
21
- // feels dirty...
22
- // @todo replace with router.navigateToUrl
23
- window.location.href = '/iam/accueil';
24
- }
25
- showModal() {
26
- this.counter = 10;
27
- this.isModalVisible = true;
28
- setInterval(() => {
29
- if (0 === this.counter) {
30
- this.redirect();
31
- return;
32
- }
33
- this.counter--;
34
- }, 1000);
35
- }
36
- }
37
- RedirectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: RedirectComponent, deps: [{ token: i1.IamExpiredInterceptorService }], target: i0.ɵɵFactoryTarget.Component });
38
- RedirectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: RedirectComponent, selector: "redirector", ngImport: i0, template: "<foehn-modal\n [modalBodyText]=\"modalBodyText\"\n [isModalVisible]=\"isModalVisible\"\n [modalHeaderText]=\"modalHeaderText\"\n [modalFooterText]=\"'Vous allez \u00EAtre redirig\u00E9 dans ' + this.counter + ' s.'\"\n></foehn-modal>\n", components: [{ type: i2.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "modalFooterText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: RedirectComponent, decorators: [{
40
- type: Component,
41
- args: [{
42
- // eslint-disable-next-line @angular-eslint/component-selector
43
- selector: 'redirector',
44
- templateUrl: './redirect.component.html'
45
- }]
46
- }], ctorParameters: function () { return [{ type: i1.IamExpiredInterceptorService }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1yZWRpcmVjdC9yZWRpcmVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLXJlZGlyZWN0L3JlZGlyZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzdELE1BQU0sT0FBTyxpQkFBaUI7SUFRMUIsWUFBb0IsY0FBNEM7UUFBNUMsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxTQUFTLENBQ3pFLEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRztnR0FDbUUsQ0FBQztJQUM3RixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLFFBQVE7UUFDWixpQkFBaUI7UUFDakIsMENBQTBDO1FBQzFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sU0FBUztRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNwQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDYixDQUFDOzs4R0ExQ1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsa0RDVDlCLHlQQU1BOzJGREdhLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDUCwrREFBK0Q7b0JBQy9ELFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsMkJBQTJCO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElhbUV4cGlyZWRJbnRlcmNlcHRvclNlcnZpY2UgfSBmcm9tICcuL2lhbS1leHBpcmVkLWludGVyY2VwdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAncmVkaXJlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlZGlyZWN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWRpcmVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcbiAgICBtb2RhbEhlYWRlclRleHQ6IHN0cmluZztcbiAgICBtb2RhbEJvZHlUZXh0OiBzdHJpbmc7XG4gICAgY291bnRlcjogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaWFtSW50ZXJjZXB0b3I6IElhbUV4cGlyZWRJbnRlcmNlcHRvclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmlhbUludGVyY2VwdG9yLmlhbUV4cGlyYXRpb25IZWFkZXJQcmVzZW5jZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TW9kYWwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RhbEhlYWRlclRleHQgPSAnSW5mb3JtYXRpb24nO1xuICAgICAgICB0aGlzLm1vZGFsQm9keVRleHQgPSBgPHA+Vm90cmUgc2Vzc2lvbiBhIGV4cGlyw6kuPC9wPlxuICAgICAgICAgICAgPHA+Vm91cyBwb3V2ZXogdm91cyBjb25uZWN0ZXIgw6Agbm91dmVhdSBwb3VyIGNvbnRpbnVlciDDoCB1dGlsaXNlciBub3Mgc2VydmljZXMuPC9wPmA7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWRpcmVjdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gZmVlbHMgZGlydHkuLi5cbiAgICAgICAgLy8gQHRvZG8gcmVwbGFjZSB3aXRoIHJvdXRlci5uYXZpZ2F0ZVRvVXJsXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9pYW0vYWNjdWVpbCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93TW9kYWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY291bnRlciA9IDEwO1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKDAgPT09IHRoaXMuY291bnRlcikge1xuICAgICAgICAgICAgICAgIHRoaXMucmVkaXJlY3QoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvdW50ZXItLTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgfVxufVxuIiwiPGZvZWhuLW1vZGFsXG4gICAgW21vZGFsQm9keVRleHRdPVwibW9kYWxCb2R5VGV4dFwiXG4gICAgW2lzTW9kYWxWaXNpYmxlXT1cImlzTW9kYWxWaXNpYmxlXCJcbiAgICBbbW9kYWxIZWFkZXJUZXh0XT1cIm1vZGFsSGVhZGVyVGV4dFwiXG4gICAgW21vZGFsRm9vdGVyVGV4dF09XCInVm91cyBhbGxleiDDqnRyZSByZWRpcmlnw6kgZGFucyAnICsgdGhpcy5jb3VudGVyICsgJyBzLidcIlxuPjwvZm9laG4tbW9kYWw+XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RedirectComponent } from './redirect.component';
4
- import { FoehnModalModule } from '../foehn-modal/foehn-modal.module';
5
- import * as i0 from "@angular/core";
6
- export class SdkRedirectModule {
7
- }
8
- SdkRedirectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRedirectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SdkRedirectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRedirectModule, declarations: [RedirectComponent], imports: [CommonModule, FoehnModalModule], exports: [RedirectComponent] });
10
- SdkRedirectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRedirectModule, imports: [[CommonModule, FoehnModalModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SdkRedirectModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- imports: [CommonModule, FoehnModalModule],
15
- declarations: [RedirectComponent],
16
- exports: [RedirectComponent]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLXJlZGlyZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9zZGstcmVkaXJlY3Qvc2RrLXJlZGlyZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFPckUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUhYLGlCQUFpQixhQUR0QixZQUFZLEVBQUUsZ0JBQWdCLGFBRTlCLGlCQUFpQjsrR0FFbEIsaUJBQWlCLFlBSmpCLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDOzJGQUloQyxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWRpcmVjdENvbXBvbmVudCB9IGZyb20gJy4vcmVkaXJlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuTW9kYWxNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvZWhuTW9kYWxNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1JlZGlyZWN0Q29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbUmVkaXJlY3RDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFNka1JlZGlyZWN0TW9kdWxlIHt9XG4iXX0=
@@ -1,44 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import { map, shareReplay } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export const SESSION_INFO_API_URL = 'api/sessionInfo/data';
7
- export class SessionInfo {
8
- constructor(http) {
9
- this.http = http;
10
- }
11
- get data() {
12
- if (this.neverConnected_) {
13
- return of(null);
14
- }
15
- else {
16
- if (!this.pulling_) {
17
- this.pulling_ = this.http
18
- .get(SESSION_INFO_API_URL)
19
- .pipe(map((r) => {
20
- if (r) {
21
- return (this.sessionData = r);
22
- }
23
- return null;
24
- }), shareReplay(1));
25
- }
26
- return this.pulling_;
27
- }
28
- }
29
- set neverConnected(neverConnected) {
30
- this.neverConnected_ = neverConnected;
31
- }
32
- get neverConnected() {
33
- return this.neverConnected_;
34
- }
35
- }
36
- SessionInfo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SessionInfo, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
37
- SessionInfo.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SessionInfo, providedIn: 'root' });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SessionInfo, decorators: [{
39
- type: Injectable,
40
- args: [{
41
- providedIn: 'root'
42
- }]
43
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRWxELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBSzNELE1BQU0sT0FBTyxXQUFXO0lBS3BCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLElBQUksSUFBSTtRQUNKLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUk7cUJBQ3BCLEdBQUcsQ0FBa0Isb0JBQW9CLENBQUM7cUJBQzFDLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxDQUFrQixFQUFFLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxFQUFFO3dCQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO3FCQUNqQztvQkFDRCxPQUFPLElBQUksQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO2FBQ1Q7WUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsY0FBdUI7UUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDOzt3R0FsQ1EsV0FBVzs0R0FBWCxXQUFXLGNBRlIsTUFBTTsyRkFFVCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm9EYXRhIH0gZnJvbSAnLi9zZXNzaW9uLWluZm8tZGF0YSc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgU0VTU0lPTl9JTkZPX0FQSV9VUkwgPSAnYXBpL3Nlc3Npb25JbmZvL2RhdGEnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlc3Npb25JbmZvIHtcbiAgICBwcml2YXRlIHNlc3Npb25EYXRhOiBTZXNzaW9uSW5mb0RhdGE7XG4gICAgcHJpdmF0ZSBwdWxsaW5nXzogT2JzZXJ2YWJsZTxTZXNzaW9uSW5mb0RhdGE+O1xuICAgIHByaXZhdGUgbmV2ZXJDb25uZWN0ZWRfOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gICAgZ2V0IGRhdGEoKTogT2JzZXJ2YWJsZTxTZXNzaW9uSW5mb0RhdGE+IHtcbiAgICAgICAgaWYgKHRoaXMubmV2ZXJDb25uZWN0ZWRfKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucHVsbGluZ18pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnB1bGxpbmdfID0gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgICAgIC5nZXQ8U2Vzc2lvbkluZm9EYXRhPihTRVNTSU9OX0lORk9fQVBJX1VSTClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHI6IFNlc3Npb25JbmZvRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAodGhpcy5zZXNzaW9uRGF0YSA9IHIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnB1bGxpbmdfO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0IG5ldmVyQ29ubmVjdGVkKG5ldmVyQ29ubmVjdGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubmV2ZXJDb25uZWN0ZWRfID0gbmV2ZXJDb25uZWN0ZWQ7XG4gICAgfVxuXG4gICAgZ2V0IG5ldmVyQ29ubmVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXZlckNvbm5lY3RlZF87XG4gICAgfVxufVxuIl19
@@ -1,53 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./support-alert.service";
4
- import * as i2 from "./support-alert.component";
5
- import * as i3 from "@angular/common";
6
- const DEFAULT_SUPPORT_ALERT_URL = 'api/support-alert/{etapeId}';
7
- export class SupportAlertContainerComponent {
8
- constructor(supportAlertService) {
9
- this.supportAlertService = supportAlertService;
10
- }
11
- ngOnInit() {
12
- this.alertsToDisplay = this.supportAlertService.getDisplayableAlerts();
13
- this.hasAlerts = this.supportAlertService.getHasAlerts();
14
- this.hasHiddenAlerts = this.supportAlertService.getHasHiddenAlerts();
15
- }
16
- restoreAllAlerts() {
17
- this.supportAlertService.restoreAllAlerts();
18
- }
19
- ngOnChanges(changes) {
20
- const etapeIdChange = changes.etapeId;
21
- if (etapeIdChange && etapeIdChange.currentValue) {
22
- // Change the URL of the alerts when the etapeId is set.
23
- this.supportAlertService.setSupportAlertUrl(this.formatUrl(etapeIdChange.currentValue));
24
- return;
25
- }
26
- // We want to support the use-case wheter the etapeId isn't defined.
27
- const supportAlertUrl = changes.supportAlertUrl;
28
- if (supportAlertUrl && supportAlertUrl.currentValue) {
29
- // Change the URL of the alerts when the etapeId is set.
30
- this.supportAlertService.setSupportAlertUrl(supportAlertUrl.currentValue);
31
- return;
32
- }
33
- }
34
- formatUrl(etapeId) {
35
- const url = this.supportAlertUrl || DEFAULT_SUPPORT_ALERT_URL;
36
- return url.replace('{etapeId}', etapeId);
37
- }
38
- }
39
- SupportAlertContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SupportAlertContainerComponent, deps: [{ token: i1.SupportAlertService }], target: i0.ɵɵFactoryTarget.Component });
40
- SupportAlertContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SupportAlertContainerComponent, selector: "sdk-support-alert-container", inputs: { etapeId: "etapeId", supportAlertUrl: "supportAlertUrl" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-column container mt-2\" *ngIf=\"hasAlerts | async\">\n <h2 class=\"sr-only\">Messages de support</h2>\n <div class=\"mb-2 mt-2\" *ngIf=\"hasHiddenAlerts | async\">\n <button class=\"btn btn-link pr-0 pl-0\" (click)=\"restoreAllAlerts()\">\n Afficher tous les messages\n </button>\n </div>\n <sdk-support-alert\n *ngFor=\"let alert of alertsToDisplay | async\"\n [alert]=\"alert\"\n ></sdk-support-alert>\n</div>\n", components: [{ type: i2.SupportAlertComponent, selector: "sdk-support-alert", inputs: ["alert"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe } });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SupportAlertContainerComponent, decorators: [{
42
- type: Component,
43
- args: [{
44
- // eslint-disable-next-line @angular-eslint/component-selector
45
- selector: 'sdk-support-alert-container',
46
- templateUrl: './support-alert-container.component.html'
47
- }]
48
- }], ctorParameters: function () { return [{ type: i1.SupportAlertService }]; }, propDecorators: { etapeId: [{
49
- type: Input
50
- }], supportAlertUrl: [{
51
- type: Input
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC1hbGVydC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1zdXBwb3J0LWFsZXJ0L3N1cHBvcnQtYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9zZGstc3VwcG9ydC1hbGVydC9zdXBwb3J0LWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFJUixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFLdkIsTUFBTSx5QkFBeUIsR0FBRyw2QkFBNkIsQ0FBQztBQU9oRSxNQUFNLE9BQU8sOEJBQThCO0lBWXZDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUVoRSxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDdEMsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLFlBQVksRUFBRTtZQUM3Qyx3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FDN0MsQ0FBQztZQUNGLE9BQU87U0FDVjtRQUVELG9FQUFvRTtRQUNwRSxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQ2hELElBQUksZUFBZSxJQUFJLGVBQWUsQ0FBQyxZQUFZLEVBQUU7WUFDakQsd0RBQXdEO1lBQ3hELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FDdkMsZUFBZSxDQUFDLFlBQVksQ0FDL0IsQ0FBQztZQUNGLE9BQU87U0FDVjtJQUNMLENBQUM7SUFFTyxTQUFTLENBQUMsT0FBZTtRQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLHlCQUF5QixDQUFDO1FBQzlELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7MkhBaERRLDhCQUE4QjsrR0FBOUIsOEJBQThCLDRKQ2xCM0MsOGVBWUE7MkZETWEsOEJBQThCO2tCQUwxQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztpQkFDMUQ7MEdBR0csT0FBTztzQkFETixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1cHBvcnRBbGVydFNlcnZpY2UgfSBmcm9tICcuL3N1cHBvcnQtYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdXBwb3J0QWxlcnQgfSBmcm9tICcuL3N1cHBvcnQtYWxlcnQubW9kZWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBERUZBVUxUX1NVUFBPUlRfQUxFUlRfVVJMID0gJ2FwaS9zdXBwb3J0LWFsZXJ0L3tldGFwZUlkfSc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdzZGstc3VwcG9ydC1hbGVydC1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdXBwb3J0LWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU3VwcG9ydEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpXG4gICAgZXRhcGVJZDogc3RyaW5nO1xuXG4gICAgLy8gU29tZSBwcmVzdGF0aW9uIGhhdmUgdGhlaXIgb3duIGJhY2tlbmQgdG8gaGFuZGxlIGFsZXJ0cywgc3VjaCBhcyBFUy5cbiAgICBASW5wdXQoKVxuICAgIHN1cHBvcnRBbGVydFVybDogc3RyaW5nO1xuXG4gICAgYWxlcnRzVG9EaXNwbGF5OiBPYnNlcnZhYmxlPFN1cHBvcnRBbGVydFtdPjtcbiAgICBoYXNBbGVydHM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGFzSGlkZGVuQWxlcnRzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzdXBwb3J0QWxlcnRTZXJ2aWNlOiBTdXBwb3J0QWxlcnRTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxlcnRzVG9EaXNwbGF5ID0gdGhpcy5zdXBwb3J0QWxlcnRTZXJ2aWNlLmdldERpc3BsYXlhYmxlQWxlcnRzKCk7XG4gICAgICAgIHRoaXMuaGFzQWxlcnRzID0gdGhpcy5zdXBwb3J0QWxlcnRTZXJ2aWNlLmdldEhhc0FsZXJ0cygpO1xuICAgICAgICB0aGlzLmhhc0hpZGRlbkFsZXJ0cyA9IHRoaXMuc3VwcG9ydEFsZXJ0U2VydmljZS5nZXRIYXNIaWRkZW5BbGVydHMoKTtcbiAgICB9XG5cbiAgICByZXN0b3JlQWxsQWxlcnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1cHBvcnRBbGVydFNlcnZpY2UucmVzdG9yZUFsbEFsZXJ0cygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXRhcGVJZENoYW5nZSA9IGNoYW5nZXMuZXRhcGVJZDtcbiAgICAgICAgaWYgKGV0YXBlSWRDaGFuZ2UgJiYgZXRhcGVJZENoYW5nZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIC8vIENoYW5nZSB0aGUgVVJMIG9mIHRoZSBhbGVydHMgd2hlbiB0aGUgZXRhcGVJZCBpcyBzZXQuXG4gICAgICAgICAgICB0aGlzLnN1cHBvcnRBbGVydFNlcnZpY2Uuc2V0U3VwcG9ydEFsZXJ0VXJsKFxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0VXJsKGV0YXBlSWRDaGFuZ2UuY3VycmVudFZhbHVlKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIHdhbnQgdG8gc3VwcG9ydCB0aGUgdXNlLWNhc2Ugd2hldGVyIHRoZSBldGFwZUlkIGlzbid0IGRlZmluZWQuXG4gICAgICAgIGNvbnN0IHN1cHBvcnRBbGVydFVybCA9IGNoYW5nZXMuc3VwcG9ydEFsZXJ0VXJsO1xuICAgICAgICBpZiAoc3VwcG9ydEFsZXJ0VXJsICYmIHN1cHBvcnRBbGVydFVybC5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIC8vIENoYW5nZSB0aGUgVVJMIG9mIHRoZSBhbGVydHMgd2hlbiB0aGUgZXRhcGVJZCBpcyBzZXQuXG4gICAgICAgICAgICB0aGlzLnN1cHBvcnRBbGVydFNlcnZpY2Uuc2V0U3VwcG9ydEFsZXJ0VXJsKFxuICAgICAgICAgICAgICAgIHN1cHBvcnRBbGVydFVybC5jdXJyZW50VmFsdWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFVybChldGFwZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnN1cHBvcnRBbGVydFVybCB8fCBERUZBVUxUX1NVUFBPUlRfQUxFUlRfVVJMO1xuICAgICAgICByZXR1cm4gdXJsLnJlcGxhY2UoJ3tldGFwZUlkfScsIGV0YXBlSWQpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gY29udGFpbmVyIG10LTJcIiAqbmdJZj1cImhhc0FsZXJ0cyB8IGFzeW5jXCI+XG4gICAgPGgyIGNsYXNzPVwic3Itb25seVwiPk1lc3NhZ2VzIGRlIHN1cHBvcnQ8L2gyPlxuICAgIDxkaXYgY2xhc3M9XCJtYi0yIG10LTJcIiAqbmdJZj1cImhhc0hpZGRlbkFsZXJ0cyB8IGFzeW5jXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpbmsgcHItMCBwbC0wXCIgKGNsaWNrKT1cInJlc3RvcmVBbGxBbGVydHMoKVwiPlxuICAgICAgICAgICAgQWZmaWNoZXIgdG91cyBsZXMgbWVzc2FnZXNcbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPHNkay1zdXBwb3J0LWFsZXJ0XG4gICAgICAgICpuZ0Zvcj1cImxldCBhbGVydCBvZiBhbGVydHNUb0Rpc3BsYXkgfCBhc3luY1wiXG4gICAgICAgIFthbGVydF09XCJhbGVydFwiXG4gICAgPjwvc2RrLXN1cHBvcnQtYWxlcnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,38 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { SupportAlertLevel } from './support-alert.model';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./support-alert.service";
5
- import * as i2 from "@angular/common";
6
- export class SupportAlertComponent {
7
- constructor(supportAlertService) {
8
- this.supportAlertService = supportAlertService;
9
- }
10
- hideAlert(alert) {
11
- this.supportAlertService.hideAlert(alert);
12
- }
13
- getAlertClass(alert) {
14
- switch (alert.level) {
15
- case SupportAlertLevel.INFO:
16
- return 'alert-info';
17
- case SupportAlertLevel.WARNING:
18
- return 'alert-warning';
19
- case SupportAlertLevel.IMPORTANT:
20
- return 'alert-danger';
21
- default:
22
- return 'alert-info';
23
- }
24
- }
25
- }
26
- SupportAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SupportAlertComponent, deps: [{ token: i1.SupportAlertService }], target: i0.ɵɵFactoryTarget.Component });
27
- SupportAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SupportAlertComponent, selector: "sdk-support-alert", inputs: { alert: "alert" }, ngImport: i0, template: "<section\n [class]=\"'alert alert-dismissible fade show ' + getAlertClass(alert)\"\n role=\"alert\"\n *ngIf=\"!!alert\"\n>\n <h3\n class=\"alert-heading mt-0 h5\"\n *ngIf=\"alert.messageTitle && alert.messageTitle.length > 0\"\n [innerHtml]=\"alert.messageTitle\"\n ></h3>\n\n <div [innerHtml]=\"alert.messageBody\"></div>\n\n <button\n *ngIf=\"!alert.blocking\"\n type=\"button\"\n class=\"close\"\n aria-label=\"Cacher ce message\"\n title=\"Cacher ce message\"\n (click)=\"hideAlert(alert)\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</section>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SupportAlertComponent, decorators: [{
29
- type: Component,
30
- args: [{
31
- // eslint-disable-next-line @angular-eslint/component-selector
32
- selector: 'sdk-support-alert',
33
- templateUrl: './support-alert.component.html'
34
- }]
35
- }], ctorParameters: function () { return [{ type: i1.SupportAlertService }]; }, propDecorators: { alert: [{
36
- type: Input
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLXN1cHBvcnQtYWxlcnQvc3VwcG9ydC1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLXN1cHBvcnQtYWxlcnQvc3VwcG9ydC1hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFReEUsTUFBTSxPQUFPLHFCQUFxQjtJQUk5QixZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7SUFFaEUsU0FBUyxDQUFDLEtBQW1CO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFtQjtRQUM3QixRQUFRLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDakIsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUN2QixPQUFPLFlBQVksQ0FBQztZQUN4QixLQUFLLGlCQUFpQixDQUFDLE9BQU87Z0JBQzFCLE9BQU8sZUFBZSxDQUFDO1lBQzNCLEtBQUssaUJBQWlCLENBQUMsU0FBUztnQkFDNUIsT0FBTyxjQUFjLENBQUM7WUFDMUI7Z0JBQ0ksT0FBTyxZQUFZLENBQUM7U0FDM0I7SUFDTCxDQUFDOztrSEFyQlEscUJBQXFCO3NHQUFyQixxQkFBcUIscUZDVGxDLDJwQkF3QkE7MkZEZmEscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLGdDQUFnQztpQkFDaEQ7MEdBR0csS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3VwcG9ydEFsZXJ0LCBTdXBwb3J0QWxlcnRMZXZlbCB9IGZyb20gJy4vc3VwcG9ydC1hbGVydC5tb2RlbCc7XG5pbXBvcnQgeyBTdXBwb3J0QWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi9zdXBwb3J0LWFsZXJ0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnc2RrLXN1cHBvcnQtYWxlcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdXBwb3J0LWFsZXJ0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTdXBwb3J0QWxlcnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgYWxlcnQ6IFN1cHBvcnRBbGVydDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3VwcG9ydEFsZXJ0U2VydmljZTogU3VwcG9ydEFsZXJ0U2VydmljZSkge31cblxuICAgIGhpZGVBbGVydChhbGVydDogU3VwcG9ydEFsZXJ0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3VwcG9ydEFsZXJ0U2VydmljZS5oaWRlQWxlcnQoYWxlcnQpO1xuICAgIH1cblxuICAgIGdldEFsZXJ0Q2xhc3MoYWxlcnQ6IFN1cHBvcnRBbGVydCk6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAoYWxlcnQubGV2ZWwpIHtcbiAgICAgICAgICAgIGNhc2UgU3VwcG9ydEFsZXJ0TGV2ZWwuSU5GTzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LWluZm8nO1xuICAgICAgICAgICAgY2FzZSBTdXBwb3J0QWxlcnRMZXZlbC5XQVJOSU5HOlxuICAgICAgICAgICAgICAgIHJldHVybiAnYWxlcnQtd2FybmluZyc7XG4gICAgICAgICAgICBjYXNlIFN1cHBvcnRBbGVydExldmVsLklNUE9SVEFOVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LWRhbmdlcic7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnYWxlcnQtaW5mbyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8c2VjdGlvblxuICAgIFtjbGFzc109XCInYWxlcnQgYWxlcnQtZGlzbWlzc2libGUgZmFkZSBzaG93ICcgKyBnZXRBbGVydENsYXNzKGFsZXJ0KVwiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICAqbmdJZj1cIiEhYWxlcnRcIlxuPlxuICAgIDxoM1xuICAgICAgICBjbGFzcz1cImFsZXJ0LWhlYWRpbmcgbXQtMCBoNVwiXG4gICAgICAgICpuZ0lmPVwiYWxlcnQubWVzc2FnZVRpdGxlICYmIGFsZXJ0Lm1lc3NhZ2VUaXRsZS5sZW5ndGggPiAwXCJcbiAgICAgICAgW2lubmVySHRtbF09XCJhbGVydC5tZXNzYWdlVGl0bGVcIlxuICAgID48L2gzPlxuXG4gICAgPGRpdiBbaW5uZXJIdG1sXT1cImFsZXJ0Lm1lc3NhZ2VCb2R5XCI+PC9kaXY+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIWFsZXJ0LmJsb2NraW5nXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ2FjaGVyIGNlIG1lc3NhZ2VcIlxuICAgICAgICB0aXRsZT1cIkNhY2hlciBjZSBtZXNzYWdlXCJcbiAgICAgICAgKGNsaWNrKT1cImhpZGVBbGVydChhbGVydClcIlxuICAgID5cbiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvc2VjdGlvbj5cbiJdfQ==