@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
@@ -0,0 +1,32 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FoehnInputModule } from '../foehn-input/foehn-input.module';
4
+ import { FoehnValidationAlertsModule } from '../foehn-validation-alerts/foehn-validation-alerts.module';
5
+ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
6
+ import { FoehnInputNav13Component } from './foehn-input-nav13.component';
7
+ import * as i0 from "@angular/core";
8
+ export class FoehnInputNav13Module {
9
+ }
10
+ FoehnInputNav13Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnInputNav13Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ FoehnInputNav13Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: FoehnInputNav13Module, declarations: [FoehnInputNav13Component], imports: [CommonModule,
12
+ FoehnValidationAlertsModule,
13
+ FoehnInputModule,
14
+ SdkDictionaryModule], exports: [FoehnInputNav13Component] });
15
+ FoehnInputNav13Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnInputNav13Module, imports: [CommonModule,
16
+ FoehnValidationAlertsModule,
17
+ FoehnInputModule,
18
+ SdkDictionaryModule] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnInputNav13Module, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ imports: [
23
+ CommonModule,
24
+ FoehnValidationAlertsModule,
25
+ FoehnInputModule,
26
+ SdkDictionaryModule
27
+ ],
28
+ declarations: [FoehnInputNav13Component],
29
+ exports: [FoehnInputNav13Component]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFZekUsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQUhmLHdCQUF3QixhQUxuQyxZQUFZO1FBQ1osMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQixtQkFBbUIsYUFHYix3QkFBd0I7bUhBRXpCLHFCQUFxQixZQVIxQixZQUFZO1FBQ1osMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQixtQkFBbUI7MkZBS2QscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dE1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobklucHV0TmF2MTNDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvZWhuVmFsaWRhdGlvbkFsZXJ0c01vZHVsZSxcbiAgICAgICAgRm9laG5JbnB1dE1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TmF2MTNNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,94 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./foehn-navigation.service";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "../foehn-icons/foehn-icon-chevron-left.component";
7
+ import * as i5 from "../foehn-icons/foehn-icon-chevron-right.component";
8
+ import * as i6 from "../gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component";
9
+ import * as i7 from "../sdk-dictionary/sdk-dictionary.pipe";
10
+ export class FoehnNavigationComponent {
11
+ constructor(navigationService, activatedRoute) {
12
+ this.navigationService = navigationService;
13
+ this.activatedRoute = activatedRoute;
14
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
15
+ this.onNext = new EventEmitter();
16
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
17
+ this.onPrevious = new EventEmitter();
18
+ this.nextLabel = 'foehn-navigation.next.label';
19
+ this.prevLabel = 'foehn-navigation.previous.label';
20
+ this.transmitLabel = 'foehn-navigation.transmit.label';
21
+ this.continueLaterLabel = 'foehn-navigation.continue-later.label';
22
+ this.showContinueLaterButton = true;
23
+ this.showNextButton = true;
24
+ }
25
+ ngOnInit() {
26
+ this.navigationService.activatedRoute = this.activatedRoute;
27
+ this.navigationService.updateRouteInformations();
28
+ }
29
+ goToNext() {
30
+ this.onNext.emit();
31
+ }
32
+ goToPrevious() {
33
+ this.onPrevious.emit();
34
+ }
35
+ canShowNextButton() {
36
+ if (!this.showNextButton) {
37
+ // In case the user explicitly disable the next button, for validation or error purposes.
38
+ return false;
39
+ }
40
+ const nextRouteIndex = this.getNextRouteIndex();
41
+ if (nextRouteIndex === null) {
42
+ return false;
43
+ }
44
+ // This assumes that the route orders are lower than the last one. For instance the last one being the confirmation page,
45
+ // its order must be greater than all the other orders.
46
+ return nextRouteIndex <= this.navigationService.getLastRouteOrder();
47
+ }
48
+ canShowPreviousButton() {
49
+ return !this.navigationService.isFirstFormPage();
50
+ }
51
+ isLastFormPage() {
52
+ return this.navigationService.isLastFormPage();
53
+ }
54
+ getNextRouteIndex() {
55
+ return this.navigationService.getNextRouteIndex();
56
+ }
57
+ getPreviousRouteIndex() {
58
+ return this.navigationService.getPreviousRouteIndex();
59
+ }
60
+ getTotalRoutesSize() {
61
+ // Assumes that last route is the confirmation page and thus isn't considered as a step.
62
+ return this.navigationService.getTotalRoutesSize() - 1;
63
+ }
64
+ isLinearRouting() {
65
+ return this.navigationService.isLinearRouting();
66
+ }
67
+ }
68
+ FoehnNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
69
+ FoehnNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", transmitLabel: "transmitLabel", continueLaterLabel: "continueLaterLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i6.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel"] }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
71
+ type: Component,
72
+ args: [{ selector: 'foehn-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
73
+ }], ctorParameters: function () { return [{ type: i1.FoehnNavigationService }, { type: i2.ActivatedRoute }]; }, propDecorators: {
74
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
75
+ onNext: [{
76
+ type: Output
77
+ }],
78
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
79
+ onPrevious: [{
80
+ type: Output
81
+ }], nextLabel: [{
82
+ type: Input
83
+ }], prevLabel: [{
84
+ type: Input
85
+ }], transmitLabel: [{
86
+ type: Input
87
+ }], continueLaterLabel: [{
88
+ type: Input
89
+ }], showContinueLaterButton: [{
90
+ type: Input
91
+ }], showNextButton: [{
92
+ type: Input
93
+ }] } });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyx3QkFBd0I7SUEyQmpDLFlBQ1ksaUJBQXlDLEVBQ3pDLGNBQThCO1FBRDlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBd0I7UUFDekMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBM0IxQywrREFBK0Q7UUFDL0QsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHbEMsK0RBQStEO1FBQy9ELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3RDLGNBQVMsR0FBRyw2QkFBNkIsQ0FBQztRQUcxQyxjQUFTLEdBQUcsaUNBQWlDLENBQUM7UUFHOUMsa0JBQWEsR0FBRyxpQ0FBaUMsQ0FBQztRQUdsRCx1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUc3RCw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFHL0IsbUJBQWMsR0FBRyxJQUFJLENBQUM7SUFLbkIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIseUZBQXlGO1lBQ3pGLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEQsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQseUhBQXlIO1FBQ3pILHVEQUF1RDtRQUN2RCxPQUFPLGNBQWMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtRQUNkLHdGQUF3RjtRQUN4RixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3BELENBQUM7O3FIQXBGUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw2VUNWckMsOHJHQStFQTsyRkRyRWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLGtCQUFrQjs7UUFNNUIsK0RBQStEO1FBQy9ELE1BQU07c0JBRkwsTUFBTTs7UUFLUCwrREFBK0Q7UUFDL0QsVUFBVTtzQkFGVCxNQUFNO2dCQUtQLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLW5hdmlnYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2Vobk5hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uUHJldmlvdXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIG5leHRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBwcmV2TGFiZWwgPSAnZm9laG4tbmF2aWdhdGlvbi5wcmV2aW91cy5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRyYW5zbWl0TGFiZWwgPSAnZm9laG4tbmF2aWdhdGlvbi50cmFuc21pdC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLmxhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd0NvbnRpbnVlTGF0ZXJCdXR0b24gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93TmV4dEJ1dHRvbiA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0aW9uU2VydmljZTogRm9laG5OYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5hY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuYWN0aXZhdGVkUm91dGU7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2UudXBkYXRlUm91dGVJbmZvcm1hdGlvbnMoKTtcbiAgICB9XG5cbiAgICBnb1RvTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk5leHQuZW1pdCgpO1xuICAgIH1cblxuICAgIGdvVG9QcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblByZXZpb3VzLmVtaXQoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93TmV4dEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dOZXh0QnV0dG9uKSB7XG4gICAgICAgICAgICAvLyBJbiBjYXNlIHRoZSB1c2VyIGV4cGxpY2l0bHkgZGlzYWJsZSB0aGUgbmV4dCBidXR0b24sIGZvciB2YWxpZGF0aW9uIG9yIGVycm9yIHB1cnBvc2VzLlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dFJvdXRlSW5kZXggPSB0aGlzLmdldE5leHRSb3V0ZUluZGV4KCk7XG4gICAgICAgIGlmIChuZXh0Um91dGVJbmRleCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBhc3N1bWVzIHRoYXQgdGhlIHJvdXRlIG9yZGVycyBhcmUgbG93ZXIgdGhhbiB0aGUgbGFzdCBvbmUuIEZvciBpbnN0YW5jZSB0aGUgbGFzdCBvbmUgYmVpbmcgdGhlIGNvbmZpcm1hdGlvbiBwYWdlLFxuICAgICAgICAvLyBpdHMgb3JkZXIgbXVzdCBiZSBncmVhdGVyIHRoYW4gYWxsIHRoZSBvdGhlciBvcmRlcnMuXG4gICAgICAgIHJldHVybiBuZXh0Um91dGVJbmRleCA8PSB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmdldExhc3RSb3V0ZU9yZGVyKCk7XG4gICAgfVxuXG4gICAgY2FuU2hvd1ByZXZpb3VzQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNGaXJzdEZvcm1QYWdlKCk7XG4gICAgfVxuXG4gICAgaXNMYXN0Rm9ybVBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmlzTGFzdEZvcm1QYWdlKCk7XG4gICAgfVxuXG4gICAgZ2V0TmV4dFJvdXRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0TmV4dFJvdXRlSW5kZXgoKTtcbiAgICB9XG5cbiAgICBnZXRQcmV2aW91c1JvdXRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0UHJldmlvdXNSb3V0ZUluZGV4KCk7XG4gICAgfVxuXG4gICAgZ2V0VG90YWxSb3V0ZXNTaXplKCk6IG51bWJlciB7XG4gICAgICAgIC8vIEFzc3VtZXMgdGhhdCBsYXN0IHJvdXRlIGlzIHRoZSBjb25maXJtYXRpb24gcGFnZSBhbmQgdGh1cyBpc24ndCBjb25zaWRlcmVkIGFzIGEgc3RlcC5cbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0VG90YWxSb3V0ZXNTaXplKCkgLSAxO1xuICAgIH1cblxuICAgIGlzTGluZWFyUm91dGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNMaW5lYXJSb3V0aW5nKCk7XG4gICAgfVxufVxuIiwiPGdlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uXG4gICAgKm5nSWY9XCJzaG93Q29udGludWVMYXRlckJ1dHRvblwiXG4gICAgW2NvbnRpbnVlTGF0ZXJMYWJlbF09XCJjb250aW51ZUxhdGVyTGFiZWwgfCBmcm9tRGljdGlvbmFyeVwiXG4+PC9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbj5cblxuPG5hdiBjbGFzcz1cInZkLXBhZ2luYXRpb25cIiBpZD1cImZvZWhuX25hdkNvbnRhaW5lclwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNob3dQcmV2aW91c0J1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwicHJldkJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub1ByZXZpb3VzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByZXZMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIiAqbmdJZj1cImlzTGluZWFyUm91dGluZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFByZXZpb3VzUm91dGVJbmRleCgpIH19XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5yb3V0ZS5pbmRleC5zZXBhcmF0b3InXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRUb3RhbFJvdXRlc1NpemUoKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBpZD1cIm5leHRCdXR0b25cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayB2ZC1wYWdpbmF0aW9uX19saW5rLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IGdvVG9OZXh0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbmV4dExhYmVsIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWljb24tY2hldnJvbi1yaWdodD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCIgKm5nSWY9XCJpc0xpbmVhclJvdXRpbmcoKVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0TmV4dFJvdXRlSW5kZXgoKSB9fVxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0VG90YWxSb3V0ZXNTaXplKCkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2l0ZW0gdmQtcGFnaW5hdGlvbl9faXRlbS0tbmV4dFwiXG4gICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0cmFuc21pdEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9OZXh0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHZkLWJ0bi1wYWdpbmF0aW9uLXN1Ym1pdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHJhbnNtaXRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FoehnIconsModule } from '../foehn-icons/foehn-icons.module';
4
+ import { GesdemActionRecoveryModule } from '../gesdem-action-recovery/gesdem-action-recovery.module';
5
+ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
6
+ import { FoehnNavigationComponent } from './foehn-navigation.component';
7
+ import * as i0 from "@angular/core";
8
+ export class FoehnNavigationModule {
9
+ }
10
+ FoehnNavigationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ FoehnNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationModule, declarations: [FoehnNavigationComponent], imports: [CommonModule,
12
+ FoehnIconsModule,
13
+ GesdemActionRecoveryModule,
14
+ SdkDictionaryModule], exports: [FoehnNavigationComponent] });
15
+ FoehnNavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationModule, imports: [CommonModule,
16
+ FoehnIconsModule,
17
+ GesdemActionRecoveryModule,
18
+ SdkDictionaryModule] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ imports: [
23
+ CommonModule,
24
+ FoehnIconsModule,
25
+ GesdemActionRecoveryModule,
26
+ SdkDictionaryModule
27
+ ],
28
+ declarations: [FoehnNavigationComponent],
29
+ exports: [FoehnNavigationComponent]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFZeEUsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQUhmLHdCQUF3QixhQUxuQyxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLDBCQUEwQjtRQUMxQixtQkFBbUIsYUFHYix3QkFBd0I7bUhBRXpCLHFCQUFxQixZQVIxQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLDBCQUEwQjtRQUMxQixtQkFBbUI7MkZBS2QscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSB9IGZyb20gJy4uL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9laG5JY29uc01vZHVsZSxcbiAgICAgICAgR2VzZGVtQWN0aW9uUmVjb3ZlcnlNb2R1bGUsXG4gICAgICAgIFNka0RpY3Rpb25hcnlNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW0ZvZWhuTmF2aWdhdGlvbkNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0ZvZWhuTmF2aWdhdGlvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5OYXZpZ2F0aW9uTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,303 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { ServiceLocator } from '../service-locator';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "../gesdem/gesdem-handler.service";
7
+ import * as i3 from "../gesdem-action-recovery/gesdem-action-recovery.service";
8
+ import * as i4 from "@angular/common";
9
+ export var NavigationDirection;
10
+ (function (NavigationDirection) {
11
+ NavigationDirection[NavigationDirection["FORWARD"] = 1] = "FORWARD";
12
+ NavigationDirection[NavigationDirection["BACKWARD"] = -1] = "BACKWARD";
13
+ })(NavigationDirection || (NavigationDirection = {}));
14
+ export class FoehnNavigationService {
15
+ constructor(router, gesdemService, gesdemActionRecoveryService, route, location) {
16
+ this.router = router;
17
+ this.gesdemService = gesdemService;
18
+ this.gesdemActionRecoveryService = gesdemActionRecoveryService;
19
+ this.route = route;
20
+ this.location = location;
21
+ this.isInit = false;
22
+ this.initializedAndRouteActivated = new BehaviorSubject(false);
23
+ this.linearRouting = true;
24
+ }
25
+ get initialized() {
26
+ return this.isInit;
27
+ }
28
+ set activatedRoute(value) {
29
+ this.throwIfNotInit();
30
+ this._activatedRoute = value;
31
+ this.initializedAndRouteActivated.next(true);
32
+ }
33
+ static getRootRouteRecursive(route) {
34
+ if (route) {
35
+ if (route.routeConfig &&
36
+ route.routeConfig.data &&
37
+ route.routeConfig.data.root) {
38
+ return route.routeConfig;
39
+ }
40
+ return this.getRootRouteRecursive(route.parent);
41
+ }
42
+ return null;
43
+ }
44
+ initRoute(route) {
45
+ if (route) {
46
+ this.orderedRoutes = this.indexRoutesByOrder(route);
47
+ // By default the prefix should be the path of the route. (e.g. in /validation/123123-12321/page1,
48
+ // the prefix is "validation"). However, if the application is code-splitted with the routing defined
49
+ // in a module, this won't work. In this case, you can specify the path in $.data.basePath so the GesDem
50
+ // service knows where to send the request to the backend.
51
+ const prefix = route.data.basePath || route.path;
52
+ this.gesdemService.prefix = prefix;
53
+ this.gesdemActionRecoveryService.prefix = prefix;
54
+ this.linearRouting = route.data.linearRouting !== false;
55
+ }
56
+ this.throwIfNotInit();
57
+ }
58
+ throwIfNotInit() {
59
+ if (!this.isInit) {
60
+ throw new TypeError("No route is identified as 'root'. Have you called initRoute() ?");
61
+ }
62
+ }
63
+ updateRouteInformations() {
64
+ this.throwIfNotInit();
65
+ const currentRoute = this._activatedRoute.routeConfig;
66
+ let currentRouteOrder = 1;
67
+ if (!!currentRoute &&
68
+ !!currentRoute.data &&
69
+ !!currentRoute.data.order) {
70
+ currentRouteOrder = currentRoute.data.order;
71
+ }
72
+ this.currentRouteOrder = currentRouteOrder;
73
+ }
74
+ getFirstRoute() {
75
+ return this.orderedRoutes[1];
76
+ }
77
+ current() {
78
+ this.throwIfNotInit();
79
+ if (!this.gesdemService.lastResponse) {
80
+ return Promise.reject('Erreur navigationService#current');
81
+ }
82
+ const currentRoute = this.orderedRoutes[this.currentRouteOrder];
83
+ const prefix = this.gesdemService.prefix;
84
+ const commands = [];
85
+ if (prefix) {
86
+ commands.push(prefix);
87
+ }
88
+ if (this.gesdemService.lastResponse.meta.reference) {
89
+ commands.push(this.gesdemService.lastResponse.meta.reference, currentRoute.path);
90
+ const tree = this.router.createUrlTree(commands);
91
+ const url = this.router.serializeUrl(tree) +
92
+ this.getQueryParamsToForwardAsString();
93
+ this.location.replaceState(url);
94
+ }
95
+ return Promise.resolve(true);
96
+ }
97
+ hasBeenInitialized() {
98
+ return this.initializedAndRouteActivated.asObservable();
99
+ }
100
+ getQueryParamsToForwardAsString() {
101
+ const params = this.getQueryParamsToForward() || [];
102
+ let stringParams = '';
103
+ for (const key of Object.keys(params)) {
104
+ const value = params[key];
105
+ stringParams += stringParams ? '&' : '?';
106
+ stringParams += `${key}=${value}`;
107
+ }
108
+ return stringParams;
109
+ }
110
+ getQueryParamsToForward() {
111
+ const reCaptchaByPassUUID = this.route.snapshot.queryParams
112
+ .reCaptchaByPassUUID;
113
+ const scrollTo = this.route.snapshot.queryParams.scrollTo;
114
+ if (!!reCaptchaByPassUUID || !!scrollTo) {
115
+ const params = {};
116
+ if (!!reCaptchaByPassUUID) {
117
+ params.reCaptchaByPassUUID = reCaptchaByPassUUID;
118
+ }
119
+ if (!!scrollTo) {
120
+ params.scrollTo = scrollTo;
121
+ }
122
+ return params;
123
+ }
124
+ return null;
125
+ }
126
+ next() {
127
+ this.throwIfNotInit();
128
+ return this.redirectToAvailableRoute(NavigationDirection.FORWARD);
129
+ }
130
+ previous() {
131
+ this.throwIfNotInit();
132
+ return this.redirectToAvailableRoute(NavigationDirection.BACKWARD);
133
+ }
134
+ last() {
135
+ this.throwIfNotInit();
136
+ const route = this.getAvailableRoutes();
137
+ const nextRoutePath = route[route.length - 1].path;
138
+ return this.redirect(nextRoutePath);
139
+ }
140
+ redirect(newPath) {
141
+ const routes = [];
142
+ if (this.gesdemService.prefix) {
143
+ routes.push(this.gesdemService.prefix);
144
+ }
145
+ routes.push(this.gesdemService.lastResponse.meta.reference, newPath);
146
+ return this.router
147
+ .navigate(routes, {
148
+ queryParams: this.getQueryParamsToForward()
149
+ })
150
+ .then(success => {
151
+ if (success) {
152
+ this.setFocusOnPageTitle();
153
+ }
154
+ return success;
155
+ });
156
+ }
157
+ getAvailableRoutes() {
158
+ return this.orderedRoutes.filter(route => this.isRouteAvailable(route));
159
+ }
160
+ getCurrentRouteIndex() {
161
+ // This evaluates all the guards
162
+ const availableRoutes = this.getAvailableRoutes();
163
+ const currentRoute = availableRoutes.find(route => route.data.order === this.currentRouteOrder);
164
+ if (!currentRoute) {
165
+ return null;
166
+ }
167
+ return availableRoutes.indexOf(currentRoute);
168
+ }
169
+ getTotalRoutesSize() {
170
+ return this.getAvailableRoutes().length;
171
+ }
172
+ getLastRouteOrder() {
173
+ const routes = this.getAvailableRoutes();
174
+ return routes[routes.length - 1].data.order;
175
+ }
176
+ getNextAvailableRoute(direction) {
177
+ // This evaluates all the guards
178
+ const availableRoutes = this.getAvailableRoutes();
179
+ // Assumes that the next or previous route is the next or previous on the array of available routes.
180
+ const currentRoute = this.getCurrentRoute(availableRoutes);
181
+ if (!currentRoute) {
182
+ throw new Error('Invalid routing, at least one route must be available');
183
+ }
184
+ const currentRouteIndex = availableRoutes.indexOf(currentRoute);
185
+ const targetRoute = availableRoutes[currentRouteIndex + direction];
186
+ if (!targetRoute) {
187
+ return null;
188
+ }
189
+ // The display index isn't always the route order as we support guards on available routes.
190
+ // The display index is 1-based.
191
+ targetRoute.data.displayIndex =
192
+ availableRoutes.indexOf(targetRoute) + 1;
193
+ return targetRoute;
194
+ }
195
+ isFirstFormPage() {
196
+ if (!this.getCurrentRoute(this.getAvailableRoutes())) {
197
+ return true;
198
+ }
199
+ return (this.getNextAvailableRoute(NavigationDirection.BACKWARD) === null);
200
+ }
201
+ isLastFormPage() {
202
+ if (!this.orderedRoutes?.length) {
203
+ return false;
204
+ }
205
+ if (!this.getCurrentRoute(this.getAvailableRoutes())) {
206
+ return true;
207
+ }
208
+ const nextRoute = this.getNextAvailableRoute(NavigationDirection.FORWARD);
209
+ if (!nextRoute) {
210
+ return true;
211
+ }
212
+ return nextRoute.data.order === this.getLastRouteOrder();
213
+ }
214
+ getNextRouteIndex() {
215
+ const nextRoute = this.getNextAvailableRoute(NavigationDirection.FORWARD);
216
+ if (!nextRoute) {
217
+ return null;
218
+ }
219
+ return nextRoute.data.displayIndex;
220
+ }
221
+ getPreviousRouteIndex() {
222
+ const previousRoute = this.getNextAvailableRoute(NavigationDirection.BACKWARD);
223
+ if (!previousRoute) {
224
+ return null;
225
+ }
226
+ return previousRoute.data.displayIndex;
227
+ }
228
+ isLinearRouting() {
229
+ return this.linearRouting;
230
+ }
231
+ getCurrentRoute(availableRoutes) {
232
+ return availableRoutes.find(route => route.data.order === this.currentRouteOrder);
233
+ }
234
+ redirectToAvailableRoute(direction) {
235
+ const route = this.getNextAvailableRoute(direction);
236
+ return this.redirect(route.path);
237
+ }
238
+ isRouteAvailable(route) {
239
+ const { canActivate } = route;
240
+ if (!canActivate || !canActivate.length) {
241
+ return true;
242
+ }
243
+ // All the guards must be evaluated to true
244
+ return !canActivate.some(guardType => !this.evaluateGuard(guardType));
245
+ }
246
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
247
+ evaluateGuard(guardType) {
248
+ const guard = ServiceLocator.injector.get(guardType);
249
+ const guardResult = guard.canActivate(this.route.snapshot, null);
250
+ if (typeof guardResult !== 'boolean') {
251
+ throw new Error('Not implemented: Dynamic routing guards only support boolean results');
252
+ }
253
+ return guardResult;
254
+ }
255
+ /**
256
+ * reindexe les routes par "order"
257
+ *
258
+ * @param applicationRoute as route
259
+ * @returns Route[]
260
+ */
261
+ indexRoutesByOrder(applicationRoute) {
262
+ this.isInit = false;
263
+ const routesToCrawl = applicationRoute.children;
264
+ if (!routesToCrawl.length) {
265
+ return [];
266
+ }
267
+ const result = this.flattenRoutes(routesToCrawl);
268
+ if (result.length > 0) {
269
+ this.isInit = true;
270
+ }
271
+ return result;
272
+ }
273
+ flattenRoutes(routesToCrawl, result = []) {
274
+ routesToCrawl.forEach(value => {
275
+ if (value.children && value.children.length) {
276
+ this.flattenRoutes(value.children, result);
277
+ }
278
+ if (!!value.data && !!value.data.order) {
279
+ result[value.data.order] = value;
280
+ }
281
+ return result;
282
+ });
283
+ return result;
284
+ }
285
+ setFocusOnPageTitle() {
286
+ // Ensures that the focus is properly set after the page is updated.
287
+ setTimeout(() => {
288
+ const title = document.getElementById('page-title');
289
+ if (title) {
290
+ title.focus();
291
+ }
292
+ }, 0);
293
+ }
294
+ }
295
+ FoehnNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationService, deps: [{ token: i1.Router }, { token: i2.GesdemHandlerService }, { token: i3.GesdemActionRecoveryService }, { token: i1.ActivatedRoute }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Injectable });
296
+ FoehnNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationService, providedIn: 'root' });
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNavigationService, decorators: [{
298
+ type: Injectable,
299
+ args: [{
300
+ providedIn: 'root'
301
+ }]
302
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.GesdemHandlerService }, { type: i3.GesdemActionRecoveryService }, { type: i1.ActivatedRoute }, { type: i4.Location }]; } });
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUluRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQUVwRCxNQUFNLENBQU4sSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzNCLG1FQUFZLENBQUE7SUFDWixzRUFBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCO0FBS0QsTUFBTSxPQUFPLHNCQUFzQjtJQVUvQixZQUNZLE1BQWMsRUFDZCxhQUFtQyxFQUNuQywyQkFBd0QsRUFDeEQsS0FBcUIsRUFDckIsUUFBa0I7UUFKbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFYdEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGlDQUE0QixHQUE2QixJQUFJLGVBQWUsQ0FDaEYsS0FBSyxDQUNSLENBQUM7UUFDTSxrQkFBYSxHQUFHLElBQUksQ0FBQztJQVExQixDQUFDO0lBRUosSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxLQUFxQjtRQUNwQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFD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QUU7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU8sYUFBYSxDQUNqQixhQUFzQixFQUN0QixTQUFrQixFQUFFO1FBRXBCLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDOUM7WUFFRCxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ3BDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLG9FQUFvRTtRQUNwRSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLEtBQUssRUFBRTtnQkFDUCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDakI7UUFDTCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDOzttSEExWFEsc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FGbkIsTUFBTTsyRkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIENhbkFjdGl2YXRlLFxuICAgIFBhcmFtcyxcbiAgICBSb3V0ZSxcbiAgICBSb3V0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlcnZpY2VMb2NhdG9yIH0gZnJvbSAnLi4vc2VydmljZS1sb2NhdG9yJztcblxuZXhwb3J0IGVudW0gTmF2aWdhdGlvbkRpcmVjdGlvbiB7XG4gICAgRk9SV0FSRCA9ICsxLFxuICAgIEJBQ0tXQVJEID0gLTFcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIHtcbiAgICBjdXJyZW50Um91dGVPcmRlcjogbnVtYmVyO1xuICAgIG9yZGVyZWRSb3V0ZXM6IFJvdXRlW107XG4gICAgcHJpdmF0ZSBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlO1xuICAgIHByaXZhdGUgaXNJbml0ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZEFuZFJvdXRlQWN0aXZhdGVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KFxuICAgICAgICBmYWxzZVxuICAgICk7XG4gICAgcHJpdmF0ZSBsaW5lYXJSb3V0aW5nID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZTogR2VzZGVtQWN0aW9uUmVjb3ZlcnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb25cbiAgICApIHt9XG5cbiAgICBnZXQgaW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzSW5pdDtcbiAgICB9XG5cbiAgICBzZXQgYWN0aXZhdGVkUm91dGUodmFsdWU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZEFuZFJvdXRlQWN0aXZhdGVkLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldFJvb3RSb3V0ZVJlY3Vyc2l2ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFJvdXRlIHtcbiAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgcm91dGUucm91dGVDb25maWcgJiZcbiAgICAgICAgICAgICAgICByb3V0ZS5yb3V0ZUNvbmZpZy5kYXRhICYmXG4gICAgICAgICAgICAgICAgcm91dGUucm91dGVDb25maWcuZGF0YS5yb290XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcm91dGUucm91dGVDb25maWc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRSb290Um91dGVSZWN1cnNpdmUocm91dGUucGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpbml0Um91dGUocm91dGU6IFJvdXRlKTogdm9pZCB7XG4gICAgICAgIGlmIChyb3V0ZSkge1xuICAgICAgICAgICAgdGhpcy5vcmRlcmVkUm91dGVzID0gdGhpcy5pbmRleFJvdXRlc0J5T3JkZXIocm91dGUpO1xuXG4gICAgICAgICAgICAvLyBCeSBkZWZhdWx0IHRoZSBwcmVmaXggc2hvdWxkIGJlIHRoZSBwYXRoIG9mIHRoZSByb3V0ZS4gKGUuZy4gaW4gL3ZhbGlkYXRpb24vMTIzMTIzLTEyMzIxL3BhZ2UxLFxuICAgICAgICAgICAgLy8gdGhlIHByZWZpeCBpcyBcInZhbGlkYXRpb25cIikuIEhvd2V2ZXIsIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBjb2RlLXNwbGl0dGVkIHdpdGggdGhlIHJvdXRpbmcgZGVmaW5lZFxuICAgICAgICAgICAgLy8gaW4gYSBtb2R1bGUsIHRoaXMgd29uJ3Qgd29yay4gSW4gdGhpcyBjYXNlLCB5b3UgY2FuIHNwZWNpZnkgdGhlIHBhdGggaW4gJC5kYXRhLmJhc2VQYXRoIHNvIHRoZSBHZXNEZW1cbiAgICAgICAgICAgIC8vIHNlcnZpY2Uga25vd3Mgd2hlcmUgdG8gc2VuZCB0aGUgcmVxdWVzdCB0byB0aGUgYmFja2VuZC5cbiAgICAgICAgICAgIGNvbnN0IHByZWZpeCA9IHJvdXRlLmRhdGEuYmFzZVBhdGggfHwgcm91dGUucGF0aDtcbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5wcmVmaXggPSBwcmVmaXg7XG4gICAgICAgICAgICB0aGlzLmdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZS5wcmVmaXggPSBwcmVmaXg7XG4gICAgICAgICAgICB0aGlzLmxpbmVhclJvdXRpbmcgPSByb3V0ZS5kYXRhLmxpbmVhclJvdXRpbmcgIT09IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICB9XG5cbiAgICB0aHJvd0lmTm90SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzSW5pdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBcIk5vIHJvdXRlIGlzIGlkZW50aWZpZWQgYXMgJ3Jvb3QnLiBIYXZlIHlvdSBjYWxsZWQgaW5pdFJvdXRlKCkgP1wiXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlUm91dGVJbmZvcm1hdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGUucm91dGVDb25maWc7XG5cbiAgICAgICAgbGV0IGN1cnJlbnRSb3V0ZU9yZGVyID0gMTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhIWN1cnJlbnRSb3V0ZSAmJlxuICAgICAgICAgICAgISFjdXJyZW50Um91dGUuZGF0YSAmJlxuICAgICAgICAgICAgISFjdXJyZW50Um91dGUuZGF0YS5vcmRlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIGN1cnJlbnRSb3V0ZU9yZGVyID0gY3VycmVudFJvdXRlLmRhdGEub3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50Um91dGVPcmRlciA9IGN1cnJlbnRSb3V0ZU9yZGVyO1xuICAgIH1cblxuICAgIGdldEZpcnN0Um91dGUoKTogUm91dGUge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmRlcmVkUm91dGVzWzFdO1xuICAgIH1cblxuICAgIGN1cnJlbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ0VycmV1ciBuYXZpZ2F0aW9uU2VydmljZSNjdXJyZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5vcmRlcmVkUm91dGVzW3RoaXMuY3VycmVudFJvdXRlT3JkZXJdO1xuXG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuZ2VzZGVtU2VydmljZS5wcmVmaXg7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAocHJlZml4KSB7XG4gICAgICAgICAgICBjb21tYW5kcy5wdXNoKHByZWZpeCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZSkge1xuICAgICAgICAgICAgY29tbWFuZHMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRSb3V0ZS5wYXRoXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBjb25zdCB0cmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShjb21tYW5kcyk7XG4gICAgICAgICAgICBjb25zdCB1cmwgPVxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0cmVlKSArXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRRdWVyeVBhcmFtc1RvRm9yd2FyZEFzU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh1cmwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcbiAgICB9XG5cbiAgICBoYXNCZWVuSW5pdGlhbGl6ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVkQW5kUm91dGVBY3RpdmF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0UXVlcnlQYXJhbXNUb0ZvcndhcmRBc1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFF1ZXJ5UGFyYW1zVG9Gb3J3YXJkKCkgfHwgW107XG4gICAgICAgIGxldCBzdHJpbmdQYXJhbXMgPSAnJztcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbXNba2V5XTtcbiAgICAgICAgICAgIHN0cmluZ1BhcmFtcyArPSBzdHJpbmdQYXJhbXMgPyAnJicgOiAnPyc7XG4gICAgICAgICAgICBzdHJpbmdQYXJhbXMgKz0gYCR7a2V5fT0ke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cmluZ1BhcmFtcztcbiAgICB9XG5cbiAgICBnZXRRdWVyeVBhcmFtc1RvRm9yd2FyZCgpOiBQYXJhbXMge1xuICAgICAgICBjb25zdCByZUNhcHRjaGFCeVBhc3NVVUlEID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1xuICAgICAgICAgICAgLnJlQ2FwdGNoYUJ5UGFzc1VVSUQ7XG4gICAgICAgIGNvbnN0IHNjcm9sbFRvID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5zY3JvbGxUbztcbiAgICAgICAgaWYgKCEhcmVDYXB0Y2hhQnlQYXNzVVVJRCB8fCAhIXNjcm9sbFRvKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXM6IFBhcmFtcyA9IHt9O1xuICAgICAgICAgICAgaWYgKCEhcmVDYXB0Y2hhQnlQYXNzVVVJRCkge1xuICAgICAgICAgICAgICAgIHBhcmFtcy5yZUNhcHRjaGFCeVBhc3NVVUlEID0gcmVDYXB0Y2hhQnlQYXNzVVVJRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghIXNjcm9sbFRvKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLnNjcm9sbFRvID0gc2Nyb2xsVG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG5leHQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3RUb0F2YWlsYWJsZVJvdXRlKE5hdmlnYXRpb25EaXJlY3Rpb24uRk9SV0FSRCk7XG4gICAgfVxuXG4gICAgcHJldmlvdXMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3RUb0F2YWlsYWJsZVJvdXRlKE5hdmlnYXRpb25EaXJlY3Rpb24uQkFDS1dBUkQpO1xuICAgIH1cblxuICAgIGxhc3QoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLmdldEF2YWlsYWJsZVJvdXRlcygpO1xuICAgICAgICBjb25zdCBuZXh0Um91dGVQYXRoID0gcm91dGVbcm91dGUubGVuZ3RoIC0gMV0ucGF0aDtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3QobmV4dFJvdXRlUGF0aCk7XG4gICAgfVxuXG4gICAgcmVkaXJlY3QobmV3UGF0aDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IHJvdXRlcyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLnByZWZpeCkge1xuICAgICAgICAgICAgcm91dGVzLnB1c2godGhpcy5nZXNkZW1TZXJ2aWNlLnByZWZpeCk7XG4gICAgICAgIH1cbiAgICAgICAgcm91dGVzLnB1c2godGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZSwgbmV3UGF0aCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyXG4gICAgICAgICAgICAubmF2aWdhdGUocm91dGVzLCB7XG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuZ2V0UXVlcnlQYXJhbXNUb0ZvcndhcmQoKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC50aGVuKHN1Y2Nlc3MgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNPblBhZ2VUaXRsZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VzcztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEF2YWlsYWJsZVJvdXRlcygpOiBSb3V0ZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JkZXJlZFJvdXRlcy5maWx0ZXIocm91dGUgPT4gdGhpcy5pc1JvdXRlQXZhaWxhYmxlKHJvdXRlKSk7XG4gICAgfVxuXG4gICAgZ2V0Q3VycmVudFJvdXRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gVGhpcyBldmFsdWF0ZXMgYWxsIHRoZSBndWFyZHNcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlUm91dGVzID0gdGhpcy5nZXRBdmFpbGFibGVSb3V0ZXMoKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50Um91dGUgPSBhdmFpbGFibGVSb3V0ZXMuZmluZChcbiAgICAgICAgICAgIHJvdXRlID0+IHJvdXRlLmRhdGEub3JkZXIgPT09IHRoaXMuY3VycmVudFJvdXRlT3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWN1cnJlbnRSb3V0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXZhaWxhYmxlUm91dGVzLmluZGV4T2YoY3VycmVudFJvdXRlKTtcbiAgICB9XG5cbiAgICBnZXRUb3RhbFJvdXRlc1NpemUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXZhaWxhYmxlUm91dGVzKCkubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldExhc3RSb3V0ZU9yZGVyKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJvdXRlcyA9IHRoaXMuZ2V0QXZhaWxhYmxlUm91dGVzKCk7XG4gICAgICAgIHJldHVybiByb3V0ZXNbcm91dGVzLmxlbmd0aCAtIDFdLmRhdGEub3JkZXI7XG4gICAgfVxuXG4gICAgZ2V0TmV4dEF2YWlsYWJsZVJvdXRlKGRpcmVjdGlvbjogTmF2aWdhdGlvbkRpcmVjdGlvbik6IFJvdXRlIHtcbiAgICAgICAgLy8gVGhpcyBldmFsdWF0ZXMgYWxsIHRoZSBndWFyZHNcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlUm91dGVzID0gdGhpcy5nZXRBdmFpbGFibGVSb3V0ZXMoKTtcblxuICAgICAgICAvLyBBc3N1bWVzIHRoYXQgdGhlIG5leHQgb3IgcHJldmlvdXMgcm91dGUgaXMgdGhlIG5leHQgb3IgcHJldmlvdXMgb24gdGhlIGFycmF5IG9mIGF2YWlsYWJsZSByb3V0ZXMuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMuZ2V0Q3VycmVudFJvdXRlKGF2YWlsYWJsZVJvdXRlcyk7XG4gICAgICAgIGlmICghY3VycmVudFJvdXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgJ0ludmFsaWQgcm91dGluZywgYXQgbGVhc3Qgb25lIHJvdXRlIG11c3QgYmUgYXZhaWxhYmxlJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZUluZGV4ID0gYXZhaWxhYmxlUm91dGVzLmluZGV4T2YoY3VycmVudFJvdXRlKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um91dGUgPSBhdmFpbGFibGVSb3V0ZXNbY3VycmVudFJvdXRlSW5kZXggKyBkaXJlY3Rpb25dO1xuICAgICAgICBpZiAoIXRhcmdldFJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBkaXNwbGF5IGluZGV4IGlzbid0IGFsd2F5cyB0aGUgcm91dGUgb3JkZXIgYXMgd2Ugc3VwcG9ydCBndWFyZHMgb24gYXZhaWxhYmxlIHJvdXRlcy5cbiAgICAgICAgLy8gVGhlIGRpc3BsYXkgaW5kZXggaXMgMS1iYXNlZC5cbiAgICAgICAgdGFyZ2V0Um91dGUuZGF0YS5kaXNwbGF5SW5kZXggPVxuICAgICAgICAgICAgYXZhaWxhYmxlUm91dGVzLmluZGV4T2YodGFyZ2V0Um91dGUpICsgMTtcbiAgICAgICAgcmV0dXJuIHRhcmdldFJvdXRlO1xuICAgIH1cblxuICAgIGlzRmlyc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmdldEN1cnJlbnRSb3V0ZSh0aGlzLmdldEF2YWlsYWJsZVJvdXRlcygpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZ2V0TmV4dEF2YWlsYWJsZVJvdXRlKE5hdmlnYXRpb25EaXJlY3Rpb24uQkFDS1dBUkQpID09PSBudWxsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaXNMYXN0Rm9ybVBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5vcmRlcmVkUm91dGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5nZXRDdXJyZW50Um91dGUodGhpcy5nZXRBdmFpbGFibGVSb3V0ZXMoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5leHRSb3V0ZSA9IHRoaXMuZ2V0TmV4dEF2YWlsYWJsZVJvdXRlKFxuICAgICAgICAgICAgTmF2aWdhdGlvbkRpcmVjdGlvbi5GT1JXQVJEXG4gICAgICAgICk7XG4gICAgICAgIGlmICghbmV4dFJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXh0Um91dGUuZGF0YS5vcmRlciA9PT0gdGhpcy5nZXRMYXN0Um91dGVPcmRlcigpO1xuICAgIH1cblxuICAgIGdldE5leHRSb3V0ZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IG5leHRSb3V0ZSA9IHRoaXMuZ2V0TmV4dEF2YWlsYWJsZVJvdXRlKFxuICAgICAgICAgICAgTmF2aWdhdGlvbkRpcmVjdGlvbi5GT1JXQVJEXG4gICAgICAgICk7XG4gICAgICAgIGlmICghbmV4dFJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXh0Um91dGUuZGF0YS5kaXNwbGF5SW5kZXg7XG4gICAgfVxuXG4gICAgZ2V0UHJldmlvdXNSb3V0ZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUm91dGUgPSB0aGlzLmdldE5leHRBdmFpbGFibGVSb3V0ZShcbiAgICAgICAgICAgIE5hdmlnYXRpb25EaXJlY3Rpb24uQkFDS1dBUkRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFwcmV2aW91c1JvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2aW91c1JvdXRlLmRhdGEuZGlzcGxheUluZGV4O1xuICAgIH1cblxuICAgIGlzTGluZWFyUm91dGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGluZWFyUm91dGluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbnRSb3V0ZShhdmFpbGFibGVSb3V0ZXM6IFJvdXRlW10pOiBSb3V0ZSB7XG4gICAgICAgIHJldHVybiBhdmFpbGFibGVSb3V0ZXMuZmluZChcbiAgICAgICAgICAgIHJvdXRlID0+IHJvdXRlLmRhdGEub3JkZXIgPT09IHRoaXMuY3VycmVudFJvdXRlT3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZGlyZWN0VG9BdmFpbGFibGVSb3V0ZShcbiAgICAgICAgZGlyZWN0aW9uOiBOYXZpZ2F0aW9uRGlyZWN0aW9uXG4gICAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IHJvdXRlID0gdGhpcy5nZXROZXh0QXZhaWxhYmxlUm91dGUoZGlyZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3Qocm91dGUucGF0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JvdXRlQXZhaWxhYmxlKHJvdXRlOiBSb3V0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7IGNhbkFjdGl2YXRlIH0gPSByb3V0ZTtcbiAgICAgICAgaWYgKCFjYW5BY3RpdmF0ZSB8fCAhY2FuQWN0aXZhdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFsbCB0aGUgZ3VhcmRzIG11c3QgYmUgZXZhbHVhdGVkIHRvIHRydWVcbiAgICAgICAgcmV0dXJuICFjYW5BY3RpdmF0ZS5zb21lKGd1YXJkVHlwZSA9PiAhdGhpcy5ldmFsdWF0ZUd1YXJkKGd1YXJkVHlwZSkpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBldmFsdWF0ZUd1YXJkKGd1YXJkVHlwZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGd1YXJkOiBDYW5BY3RpdmF0ZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldDxDYW5BY3RpdmF0ZT4oXG4gICAgICAgICAgICBndWFyZFR5cGVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZ3VhcmRSZXN1bHQgPSBndWFyZC5jYW5BY3RpdmF0ZSh0aGlzLnJvdXRlLnNuYXBzaG90LCBudWxsKTtcblxuICAgICAgICBpZiAodHlwZW9mIGd1YXJkUmVzdWx0ICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAnTm90IGltcGxlbWVudGVkOiBEeW5hbWljIHJvdXRpbmcgZ3VhcmRzIG9ubHkgc3VwcG9ydCBib29sZWFuIHJlc3VsdHMnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGd1YXJkUmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlaW5kZXhlIGxlcyByb3V0ZXMgcGFyIFwib3JkZXJcIlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcGxpY2F0aW9uUm91dGUgYXMgcm91dGVcbiAgICAgKiBAcmV0dXJucyBSb3V0ZVtdXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbmRleFJvdXRlc0J5T3JkZXIoYXBwbGljYXRpb25Sb3V0ZTogUm91dGUpOiBSb3V0ZVtdIHtcbiAgICAgICAgdGhpcy5pc0luaXQgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCByb3V0ZXNUb0NyYXdsID0gYXBwbGljYXRpb25Sb3V0ZS5jaGlsZHJlbjtcbiAgICAgICAgaWYgKCFyb3V0ZXNUb0NyYXdsLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5mbGF0dGVuUm91dGVzKHJvdXRlc1RvQ3Jhd2wpO1xuXG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5pc0luaXQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZsYXR0ZW5Sb3V0ZXMoXG4gICAgICAgIHJvdXRlc1RvQ3Jhd2w6IFJvdXRlW10sXG4gICAgICAgIHJlc3VsdDogUm91dGVbXSA9IFtdXG4gICAgKTogUm91dGVbXSB7XG4gICAgICAgIHJvdXRlc1RvQ3Jhd2wuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUuY2hpbGRyZW4gJiYgdmFsdWUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0dGVuUm91dGVzKHZhbHVlLmNoaWxkcmVuLCByZXN1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoISF2YWx1ZS5kYXRhICYmICEhdmFsdWUuZGF0YS5vcmRlcikge1xuICAgICAgICAgICAgICAgIHJlc3VsdFt2YWx1ZS5kYXRhLm9yZGVyXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9jdXNPblBhZ2VUaXRsZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBmb2N1cyBpcyBwcm9wZXJseSBzZXQgYWZ0ZXIgdGhlIHBhZ2UgaXMgdXBkYXRlZC5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLXRpdGxlJyk7XG4gICAgICAgICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aXRsZS5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iXX0=
@@ -2,8 +2,8 @@ import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/router";
4
4
  import * as i2 from "../foehn-page/foehn-page.service";
5
- import * as i3 from "../foehn-debug-summary/foehn-debug-summary.component";
6
- import * as i4 from "@angular/common";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "../foehn-debug-summary/foehn-debug-summary.component";
7
7
  export class FoehnNotfoundComponent {
8
8
  constructor(router, foehnPageService) {
9
9
  this.router = router;
@@ -48,17 +48,14 @@ export class FoehnNotfoundComponent {
48
48
  }
49
49
  }
50
50
  }
51
- FoehnNotfoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnNotfoundComponent, deps: [{ token: i1.Router }, { token: i2.FoehnPageService }], target: i0.ɵɵFactoryTarget.Component });
52
- FoehnNotfoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnNotfoundComponent, selector: "foehn-notfound", inputs: { setPageTitle: "setPageTitle", shouldRedirect: "shouldRedirect" }, ngImport: i0, template: "<div class=\"container mt-5\">\n <div class=\"alert alert-danger text-center\">\n <p class=\"h2\">Erreur</p>\n <p>Ressource inexistante</p>\n <p class=\"h2\">\n Vous allez \u00EAtre redirig\u00E9 dans {{ seconds }}\n <span *ngIf=\"seconds > 1\">secondes</span>\n <span *ngIf=\"seconds <= 1\">seconde</span>\n </p>\n </div>\n\n <foehn-debug-summary></foehn-debug-summary>\n</div>\n", components: [{ type: i3.FoehnDebugSummaryComponent, selector: "foehn-debug-summary" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnNotfoundComponent, decorators: [{
51
+ FoehnNotfoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNotfoundComponent, deps: [{ token: i1.Router }, { token: i2.FoehnPageService }], target: i0.ɵɵFactoryTarget.Component });
52
+ FoehnNotfoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FoehnNotfoundComponent, selector: "foehn-notfound", inputs: { setPageTitle: "setPageTitle", shouldRedirect: "shouldRedirect" }, ngImport: i0, template: "<div class=\"container mt-5\">\n <div class=\"alert alert-danger text-center\">\n <p class=\"h2\">Erreur</p>\n <p>Ressource inexistante</p>\n <p class=\"h2\">\n Vous allez \u00EAtre redirig\u00E9 dans {{ seconds }}\n <span *ngIf=\"seconds > 1\">secondes</span>\n <span *ngIf=\"seconds <= 1\">seconde</span>\n </p>\n </div>\n\n <foehn-debug-summary></foehn-debug-summary>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnDebugSummaryComponent, selector: "foehn-debug-summary" }] });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnNotfoundComponent, decorators: [{
54
54
  type: Component,
55
- args: [{
56
- selector: 'foehn-notfound',
57
- templateUrl: './foehn-notfound.component.html'
58
- }]
55
+ args: [{ selector: 'foehn-notfound', template: "<div class=\"container mt-5\">\n <div class=\"alert alert-danger text-center\">\n <p class=\"h2\">Erreur</p>\n <p>Ressource inexistante</p>\n <p class=\"h2\">\n Vous allez \u00EAtre redirig\u00E9 dans {{ seconds }}\n <span *ngIf=\"seconds > 1\">secondes</span>\n <span *ngIf=\"seconds <= 1\">seconde</span>\n </p>\n </div>\n\n <foehn-debug-summary></foehn-debug-summary>\n</div>\n" }]
59
56
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.FoehnPageService }]; }, propDecorators: { setPageTitle: [{
60
57
  type: Input
61
58
  }], shouldRedirect: [{
62
59
  type: Input
63
60
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbm90Zm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5vdGZvdW5kL2ZvZWhuLW5vdGZvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1ub3Rmb3VuZC9mb2Vobi1ub3Rmb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVFwRSxNQUFNLE9BQU8sc0JBQXNCO0lBWS9CLFlBQ1ksTUFBYyxFQUNkLGdCQUFrQztRQURsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVo5QyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUdwQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUV0QixZQUFPLEdBQUcsRUFBRSxDQUFDO0lBUVYsQ0FBQztJQUVKLFFBQVE7UUFDSixNQUFNLE9BQU8sR0FBRyxHQUFTLEVBQUU7WUFDdkIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDL0IsSUFBSSxNQUFNLEVBQUU7b0JBQ1Isb0VBQW9FO29CQUNwRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDekIsT0FBTztpQkFDVjtnQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFO29CQUNuQixNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsT0FBTztpQkFDVjtnQkFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztZQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDYixDQUFDLENBQUM7UUFFRixPQUFPLEVBQUUsQ0FBQztRQUVWLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDL0Q7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxRQUFRO1FBQ1osSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7O21IQTFEUSxzQkFBc0I7dUdBQXRCLHNCQUFzQixrSUNSbkMsb2NBYUE7MkZETGEsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSxpQ0FBaUM7aUJBQ2pEOzRIQUdHLFlBQVk7c0JBRFgsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvZWhuUGFnZVNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tbm90Zm91bmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1ub3Rmb3VuZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Ob3Rmb3VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHNldFBhZ2VUaXRsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3VsZFJlZGlyZWN0ID0gdHJ1ZTtcblxuICAgIHNlY29uZHMgPSAxMDtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBpbnRlcnZhbElkOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBmb2VoblBhZ2VTZXJ2aWNlOiBGb2VoblBhZ2VTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsb3N1cmUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBsZXQgaXNEZWFkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRGVhZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBBIG1vcmUgc2VjdXJlIHdheSBvZiBkZXN0cm95aW5nIHRoZSBpbnRlcnZhbCwgYmFzZWQgb24gYSBjbG9zdXJlLlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbmNlbFNldEludGVydmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWNvbmRzIDw9IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaXNEZWFkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWRpcmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZWNvbmRzIC09IDE7XG4gICAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjbG9zdXJlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2V0UGFnZVRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLmZvZWhuUGFnZVNlcnZpY2Uuc2V0UGFnZVRpdGxlKCdSZXNzb3VyY2UgaW5leGlzdGFudGUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbFNldEludGVydmFsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWRpcmVjdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkUmVkaXJlY3QpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbmNlbFNldEludGVydmFsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyIG10LTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyIHRleHQtY2VudGVyXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDJcIj5FcnJldXI8L3A+XG4gICAgICAgIDxwPlJlc3NvdXJjZSBpbmV4aXN0YW50ZTwvcD5cbiAgICAgICAgPHAgY2xhc3M9XCJoMlwiPlxuICAgICAgICAgICAgVm91cyBhbGxleiDDqnRyZSByZWRpcmlnw6kgZGFucyB7eyBzZWNvbmRzIH19XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlY29uZHMgPiAxXCI+c2Vjb25kZXM8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlY29uZHMgPD0gMVwiPnNlY29uZGU8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICA8L2Rpdj5cblxuICAgIDxmb2Vobi1kZWJ1Zy1zdW1tYXJ5PjwvZm9laG4tZGVidWctc3VtbWFyeT5cbjwvZGl2PlxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbm90Zm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5vdGZvdW5kL2ZvZWhuLW5vdGZvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1ub3Rmb3VuZC9mb2Vobi1ub3Rmb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVNwRSxNQUFNLE9BQU8sc0JBQXNCO0lBWS9CLFlBQ1ksTUFBYyxFQUNkLGdCQUFrQztRQURsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVo5QyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUdwQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUV0QixZQUFPLEdBQUcsRUFBRSxDQUFDO0lBUVYsQ0FBQztJQUVKLFFBQVE7UUFDSixNQUFNLE9BQU8sR0FBRyxHQUFTLEVBQUU7WUFDdkIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDL0IsSUFBSSxNQUFNLEVBQUU7b0JBQ1Isb0VBQW9FO29CQUNwRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDekIsT0FBTztpQkFDVjtnQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFO29CQUNuQixNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsT0FBTztpQkFDVjtnQkFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztZQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDYixDQUFDLENBQUM7UUFFRixPQUFPLEVBQUUsQ0FBQztRQUVWLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDL0Q7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxRQUFRO1FBQ1osSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7O21IQTFEUSxzQkFBc0I7dUdBQXRCLHNCQUFzQixrSUNUbkMsb2NBYUE7MkZESmEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNJLGdCQUFnQjs0SEFLMUIsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBGb2VoblBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLW5vdGZvdW5kJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tbm90Zm91bmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuTm90Zm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBzZXRQYWdlVGl0bGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBzaG91bGRSZWRpcmVjdCA9IHRydWU7XG5cbiAgICBzZWNvbmRzID0gMTA7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgaW50ZXJ2YWxJZDogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbG9zdXJlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgbGV0IGlzRGVhZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0RlYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQSBtb3JlIHNlY3VyZSB3YXkgb2YgZGVzdHJveWluZyB0aGUgaW50ZXJ2YWwsIGJhc2VkIG9uIGEgY2xvc3VyZS5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5jZWxTZXRJbnRlcnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2Vjb25kcyA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzRGVhZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVkaXJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc2Vjb25kcyAtPSAxO1xuICAgICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY2xvc3VyZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLnNldFBhZ2VUaXRsZSkge1xuICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLnNldFBhZ2VUaXRsZSgnUmVzc291cmNlIGluZXhpc3RhbnRlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYW5jZWxTZXRJbnRlcnZhbCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVkaXJlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNob3VsZFJlZGlyZWN0KSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJywgeyByZXBsYWNlVXJsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW5jZWxTZXRJbnRlcnZhbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lciBtdC01XCI+XG4gICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlciB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8cCBjbGFzcz1cImgyXCI+RXJyZXVyPC9wPlxuICAgICAgICA8cD5SZXNzb3VyY2UgaW5leGlzdGFudGU8L3A+XG4gICAgICAgIDxwIGNsYXNzPVwiaDJcIj5cbiAgICAgICAgICAgIFZvdXMgYWxsZXogw6p0cmUgcmVkaXJpZ8OpIGRhbnMge3sgc2Vjb25kcyB9fVxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWNvbmRzID4gMVwiPnNlY29uZGVzPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWNvbmRzIDw9IDFcIj5zZWNvbmRlPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9laG4tZGVidWctc3VtbWFyeT48L2ZvZWhuLWRlYnVnLXN1bW1hcnk+XG48L2Rpdj5cbiJdfQ==