@dsivd/prestations-ng 15.5.13 → 16.0.0-beta1

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 +1 -1
  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 +63 -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-beta1.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 +387 -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 +13397 -0
  258. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
  259. package/fesm2020/dsivd-prestations-ng.mjs +13372 -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 +34 -21
  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,130 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, merge, of } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../sdk-appinfo/application-info.service";
6
+ import * as i2 from "../gesdem/gesdem-event.service";
7
+ import * as i3 from "../gesdem/gesdem-handler.service";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "../foehn-icons/foehn-icon-chevron-up.component";
10
+ const GUIDE_URL = 'https://www.vd.ch/index.php?id=67827';
11
+ const TERM_OF_USE_URL = 'https://www.vd.ch/index.php?id=2015321';
12
+ const SECURITY_BEST_PRACTICE_URL = 'https://www.vd.ch/index.php?id=2015320';
13
+ export class FoehnFooterComponent {
14
+ constructor(applicationInfoService, gesdemEventService, gesdemService) {
15
+ /**
16
+ * If set to 'false', hide the default Contact link.
17
+ */
18
+ this.showDefaultContactLink = true;
19
+ /**
20
+ * If set to 'false', hide the default Guide link.
21
+ */
22
+ this.showDefaultGuideLink = true;
23
+ /**
24
+ * If set to 'false', hide the default Terms of use link.
25
+ */
26
+ this.showDefaultTermOfUseLink = true;
27
+ /**
28
+ * If set to 'false', hide the default Security Best Practice link.
29
+ */
30
+ this.showDefaultSecurityBestPracticeLink = true;
31
+ this.inputChanged = new BehaviorSubject(0);
32
+ this.gesdemService = gesdemService;
33
+ this.gesdemEventService = gesdemEventService;
34
+ this.applicationInfoService = applicationInfoService;
35
+ }
36
+ ngOnInit() {
37
+ this.applicationInfo = this.applicationInfoService.data;
38
+ const referenceObservable = this.gesdemEventService
39
+ .formInitializationObservable()
40
+ .pipe(map(() => this.gesdemService.lastResponse &&
41
+ this.gesdemService.lastResponse.meta.reference));
42
+ combineLatest([
43
+ this.applicationInfoService.getSafeSupportFormUrl(),
44
+ this.applicationInfoService.getSafeSupportFormTitle()
45
+ // eslint-disable-next-line rxjs-angular/prefer-async-pipe
46
+ ]).subscribe(([url, title]) => {
47
+ this.allLinks = combineLatest([
48
+ merge(of(null), referenceObservable),
49
+ this.inputChanged
50
+ ]).pipe(map(([reference]) => [
51
+ ...this.getDefaultLinks(title, url, reference),
52
+ ...(this.links || [])
53
+ ]));
54
+ });
55
+ }
56
+ ngOnChanges() {
57
+ this.inputChanged.next(this.inputChanged.getValue() + 1);
58
+ }
59
+ gotToTop(e) {
60
+ if (e) {
61
+ e.preventDefault();
62
+ }
63
+ window.scrollTo(0, 0);
64
+ }
65
+ getDefaultLinks(contactFormTitle, contactFormUrl, reference) {
66
+ return [
67
+ this.getContactLink(contactFormTitle, contactFormUrl, reference),
68
+ this.getGuideLink(),
69
+ this.getTermOfUseLink(),
70
+ this.getSecurityBestPracticeLink()
71
+ ].filter(value => !!value);
72
+ }
73
+ getContactLink(contactFormTitle, contactFormUrl, reference) {
74
+ if (!this.showDefaultContactLink) {
75
+ return null;
76
+ }
77
+ const referenceQueryParam = !!reference
78
+ ? `?concernedReference=${reference}`
79
+ : '';
80
+ const fullSupportAppUrl = contactFormUrl + referenceQueryParam;
81
+ return {
82
+ label: contactFormTitle,
83
+ url: fullSupportAppUrl
84
+ };
85
+ }
86
+ getGuideLink() {
87
+ if (!this.showDefaultGuideLink) {
88
+ return null;
89
+ }
90
+ return {
91
+ label: "Guide d'utilisation du portail sécurisé",
92
+ url: GUIDE_URL
93
+ };
94
+ }
95
+ getTermOfUseLink() {
96
+ if (!this.showDefaultTermOfUseLink) {
97
+ return null;
98
+ }
99
+ return {
100
+ label: "Conditions d'utilisation",
101
+ url: TERM_OF_USE_URL
102
+ };
103
+ }
104
+ getSecurityBestPracticeLink() {
105
+ if (!this.showDefaultSecurityBestPracticeLink) {
106
+ return null;
107
+ }
108
+ return {
109
+ label: 'Bonnes pratiques en matière de sécurité informatique et de protection des données personnelles',
110
+ url: SECURITY_BEST_PRACTICE_URL
111
+ };
112
+ }
113
+ }
114
+ FoehnFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFooterComponent, deps: [{ token: i1.ApplicationInfoService }, { token: i2.GesdemEventService }, { token: i3.GesdemHandlerService }], target: i0.ɵɵFactoryTarget.Component });
115
+ FoehnFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FoehnFooterComponent, selector: "foehn-footer", inputs: { links: "links", showDefaultContactLink: "showDefaultContactLink", showDefaultGuideLink: "showDefaultGuideLink", showDefaultTermOfUseLink: "showDefaultTermOfUseLink", showDefaultSecurityBestPracticeLink: "showDefaultSecurityBestPracticeLink" }, usesOnChanges: true, ngImport: i0, template: "<footer id=\"foehn_footerContainer\" class=\"mt-5\">\n <div class=\"container\">\n <div class=\"text-right\">\n <a\n href=\"\"\n class=\"btn btn-sm btn-dark\"\n title=\"Retour vers le haut de la page\"\n (click)=\"gotToTop($event)\"\n >\n Haut&nbsp;\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </a>\n </div>\n </div>\n\n <div class=\"footer\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-10\" *ngIf=\"allLinks | async as links\">\n <nav\n class=\"row\"\n aria-label=\"pied de page\"\n *ngIf=\"!!links && !!links.length\"\n >\n <div class=\"col-sm\">\n <ul class=\"list-unstyled\">\n <li *ngFor=\"let link of links\">\n <a\n class=\"footer-link\"\n target=\"_blank\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n </li>\n </ul>\n </div>\n </nav>\n </div>\n <div class=\"col-xs-2\">\n <div class=\"d-flex align-items-end flex-column h-100\">\n <div class=\"mt-auto w-100 text-right\">\n <a href=\"https://www.vd.ch\" class=\"d-inline-block\">\n <span class=\"sr-only\">\n Retour \u00E0 la page d'accueil\n </span>\n <img\n aria-hidden=\"true\"\n class=\"img-fluid footer-logo\"\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAIKCAMAAACTCbS+AAADAFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8HPQsIAAAA/3RSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1O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\"\n alt=\"Canton de Vaud\"\n />\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Num\u00E9ros de version de l'appli -->\n <!-- On les met en hidden pour tous pour \u00E9viter des probl\u00E8mes d'accessibilit\u00E9 -->\n <span\n id=\"appinfo\"\n aria-hidden=\"true\"\n class=\"d-none\"\n *ngIf=\"applicationInfo | async as appInfo\"\n >\n <span id=\"environment\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.environment }}\n </span>\n <span id=\"version\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.version }}\n </span>\n <span id=\"buildtime\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.buildtime }}\n </span>\n <span id=\"contextPath\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.contextPath }}\n </span>\n </span>\n</footer>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFooterComponent, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: 'foehn-footer', template: "<footer id=\"foehn_footerContainer\" class=\"mt-5\">\n <div class=\"container\">\n <div class=\"text-right\">\n <a\n href=\"\"\n class=\"btn btn-sm btn-dark\"\n title=\"Retour vers le haut de la page\"\n (click)=\"gotToTop($event)\"\n >\n Haut&nbsp;\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </a>\n </div>\n </div>\n\n <div class=\"footer\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-10\" *ngIf=\"allLinks | async as links\">\n <nav\n class=\"row\"\n aria-label=\"pied de page\"\n *ngIf=\"!!links && !!links.length\"\n >\n <div class=\"col-sm\">\n <ul class=\"list-unstyled\">\n <li *ngFor=\"let link of links\">\n <a\n class=\"footer-link\"\n target=\"_blank\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n </li>\n </ul>\n </div>\n </nav>\n </div>\n <div class=\"col-xs-2\">\n <div class=\"d-flex align-items-end flex-column h-100\">\n <div class=\"mt-auto w-100 text-right\">\n <a href=\"https://www.vd.ch\" class=\"d-inline-block\">\n <span class=\"sr-only\">\n Retour \u00E0 la page d'accueil\n </span>\n <img\n aria-hidden=\"true\"\n class=\"img-fluid footer-logo\"\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAIKCAMAAACTCbS+AAADAFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8HPQsIAAAA/3RSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1O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\"\n alt=\"Canton de Vaud\"\n />\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Num\u00E9ros de version de l'appli -->\n <!-- On les met en hidden pour tous pour \u00E9viter des probl\u00E8mes d'accessibilit\u00E9 -->\n <span\n id=\"appinfo\"\n aria-hidden=\"true\"\n class=\"d-none\"\n *ngIf=\"applicationInfo | async as appInfo\"\n >\n <span id=\"environment\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.environment }}\n </span>\n <span id=\"version\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.version }}\n </span>\n <span id=\"buildtime\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.buildtime }}\n </span>\n <span id=\"contextPath\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.contextPath }}\n </span>\n </span>\n</footer>\n" }]
119
+ }], ctorParameters: function () { return [{ type: i1.ApplicationInfoService }, { type: i2.GesdemEventService }, { type: i3.GesdemHandlerService }]; }, propDecorators: { links: [{
120
+ type: Input
121
+ }], showDefaultContactLink: [{
122
+ type: Input
123
+ }], showDefaultGuideLink: [{
124
+ type: Input
125
+ }], showDefaultTermOfUseLink: [{
126
+ type: Input
127
+ }], showDefaultSecurityBestPracticeLink: [{
128
+ type: Input
129
+ }] } });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb290ZXIvZm9laG4tZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb290ZXIvZm9laG4tZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVFyQyxNQUFNLFNBQVMsR0FBRyxzQ0FBc0MsQ0FBQztBQUN6RCxNQUFNLGVBQWUsR0FBRyx3Q0FBd0MsQ0FBQztBQUNqRSxNQUFNLDBCQUEwQixHQUFHLHdDQUF3QyxDQUFDO0FBTTVFLE1BQU0sT0FBTyxvQkFBb0I7SUFxQzdCLFlBQ0ksc0JBQThDLEVBQzlDLGtCQUFzQyxFQUN0QyxhQUFtQztRQXBDdkM7O1dBRUc7UUFFSCwyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFFOUI7O1dBRUc7UUFFSCx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFFNUI7O1dBRUc7UUFFSCw2QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFFSCx3Q0FBbUMsR0FBRyxJQUFJLENBQUM7UUFTbkMsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQU9sRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLHNC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SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTztZQUNILEtBQUssRUFBRSwwQkFBMEI7WUFDakMsR0FBRyxFQUFFLGVBQWU7U0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFTywyQkFBMkI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsRUFBRTtZQUMzQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTztZQUNILEtBQUssRUFDRCxnR0FBZ0c7WUFDcEcsR0FBRyxFQUFFLDBCQUEwQjtTQUNsQyxDQUFDO0lBQ04sQ0FBQzs7aUhBeEpRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHVVQ2xCakMsbzhsQkFpRkE7MkZEL0RhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDSSxjQUFjO2lMQUt4QixLQUFLO3NCQURKLEtBQUs7Z0JBT04sc0JBQXNCO3NCQURyQixLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFPTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBT04sbUNBQW1DO3NCQURsQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdlc2RlbUV2ZW50U2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mbyB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBGb290ZXJMaW5rIH0gZnJvbSAnLi9mb290ZXItbGluay50eXBlJztcblxuY29uc3QgR1VJREVfVVJMID0gJ2h0dHBzOi8vd3d3LnZkLmNoL2luZGV4LnBocD9pZD02NzgyNyc7XG5jb25zdCBURVJNX09GX1VTRV9VUkwgPSAnaHR0cHM6Ly93d3cudmQuY2gvaW5kZXgucGhwP2lkPTIwMTUzMjEnO1xuY29uc3QgU0VDVVJJVFlfQkVTVF9QUkFDVElDRV9VUkwgPSAnaHR0cHM6Ly93d3cudmQuY2gvaW5kZXgucGhwP2lkPTIwMTUzMjAnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWZvb3RlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLWZvb3Rlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Gb290ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KClcbiAgICBsaW5rczogRm9vdGVyTGlua1tdO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgQ29udGFjdCBsaW5rLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRDb250YWN0TGluayA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gJ2ZhbHNlJywgaGlkZSB0aGUgZGVmYXVsdCBHdWlkZSBsaW5rLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRHdWlkZUxpbmsgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgVGVybXMgb2YgdXNlIGxpbmsuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaG93RGVmYXVsdFRlcm1PZlVzZUxpbmsgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgU2VjdXJpdHkgQmVzdCBQcmFjdGljZSBsaW5rLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRTZWN1cml0eUJlc3RQcmFjdGljZUxpbmsgPSB0cnVlO1xuXG4gICAgYXBwbGljYXRpb25JbmZvOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uSW5mbz47XG4gICAgYWxsTGlua3M6IE9ic2VydmFibGU8Rm9vdGVyTGlua1tdPjtcblxuICAgIHJlYWRvbmx5IGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2U7XG4gICAgcmVhZG9ubHkgZ2VzZGVtRXZlbnRTZXJ2aWNlOiBHZXNkZW1FdmVudFNlcnZpY2U7XG4gICAgcmVhZG9ubHkgZ2VzZGVtU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2U7XG5cbiAgICBwcml2YXRlIGlucHV0Q2hhbmdlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBnZXNkZW1FdmVudFNlcnZpY2U6IEdlc2RlbUV2ZW50U2VydmljZSxcbiAgICAgICAgZ2VzZGVtU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5nZXNkZW1TZXJ2aWNlID0gZ2VzZGVtU2VydmljZTtcbiAgICAgICAgdGhpcy5nZXNkZW1FdmVudFNlcnZpY2UgPSBnZXNkZW1FdmVudFNlcnZpY2U7XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZSA9IGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvID0gdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmRhdGE7XG5cbiAgICAgICAgY29uc3QgcmVmZXJlbmNlT2JzZXJ2YWJsZSA9IHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgICAgICAgICAuZm9ybUluaXRpYWxpemF0aW9uT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5nZXRTYWZlU3VwcG9ydEZvcm1VcmwoKSxcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5nZXRTYWZlU3VwcG9ydEZvcm1UaXRsZSgpXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgIF0pLnN1YnNjcmliZSgoW3VybCwgdGl0bGVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFsbExpbmtzID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgbWVyZ2Uob2YobnVsbCksIHJlZmVyZW5jZU9ic2VydmFibGUpLFxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDaGFuZ2VkXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoW3JlZmVyZW5jZV0pID0+IFtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXREZWZhdWx0TGlua3ModGl0bGUsIHVybCwgcmVmZXJlbmNlKSxcbiAgICAgICAgICAgICAgICAgICAgLi4uKHRoaXMubGlua3MgfHwgW10pXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Q2hhbmdlZC5uZXh0KHRoaXMuaW5wdXRDaGFuZ2VkLmdldFZhbHVlKCkgKyAxKTtcbiAgICB9XG5cbiAgICBnb3RUb1RvcChlOiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZSkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRMaW5rcyhcbiAgICAgICAgY29udGFjdEZvcm1UaXRsZTogc3RyaW5nLFxuICAgICAgICBjb250YWN0Rm9ybVVybDogc3RyaW5nLFxuICAgICAgICByZWZlcmVuY2U6IHN0cmluZ1xuICAgICk6IEZvb3RlckxpbmtbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmdldENvbnRhY3RMaW5rKGNvbnRhY3RGb3JtVGl0bGUsIGNvbnRhY3RGb3JtVXJsLCByZWZlcmVuY2UpLFxuICAgICAgICAgICAgdGhpcy5nZXRHdWlkZUxpbmsoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0VGVybU9mVXNlTGluaygpLFxuICAgICAgICAgICAgdGhpcy5nZXRTZWN1cml0eUJlc3RQcmFjdGljZUxpbmsoKVxuICAgICAgICBdLmZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRhY3RMaW5rKFxuICAgICAgICBjb250YWN0Rm9ybVRpdGxlOiBzdHJpbmcsXG4gICAgICAgIGNvbnRhY3RGb3JtVXJsOiBzdHJpbmcsXG4gICAgICAgIHJlZmVyZW5jZTogc3RyaW5nXG4gICAgKTogRm9vdGVyTGluayB8IG51bGwge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd0RlZmF1bHRDb250YWN0TGluaykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWZlcmVuY2VRdWVyeVBhcmFtID0gISFyZWZlcmVuY2VcbiAgICAgICAgICAgID8gYD9jb25jZXJuZWRSZWZlcmVuY2U9JHtyZWZlcmVuY2V9YFxuICAgICAgICAgICAgOiAnJztcbiAgICAgICAgY29uc3QgZnVsbFN1cHBvcnRBcHBVcmwgPSBjb250YWN0Rm9ybVVybCArIHJlZmVyZW5jZVF1ZXJ5UGFyYW07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsYWJlbDogY29udGFjdEZvcm1UaXRsZSxcbiAgICAgICAgICAgIHVybDogZnVsbFN1cHBvcnRBcHBVcmxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEd1aWRlTGluaygpOiBGb290ZXJMaW5rIHwgbnVsbCB7XG4gICAgICAgIGlmICghdGhpcy5zaG93RGVmYXVsdEd1aWRlTGluaykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6IFwiR3VpZGUgZCd1dGlsaXNhdGlvbiBkdSBwb3J0YWlsIHPDqWN1cmlzw6lcIixcbiAgICAgICAgICAgIHVybDogR1VJREVfVVJMXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUZXJtT2ZVc2VMaW5rKCk6IEZvb3RlckxpbmsgfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dEZWZhdWx0VGVybU9mVXNlTGluaykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6IFwiQ29uZGl0aW9ucyBkJ3V0aWxpc2F0aW9uXCIsXG4gICAgICAgICAgICB1cmw6IFRFUk1fT0ZfVVNFX1VSTFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rKCk6IEZvb3RlckxpbmsgfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dEZWZhdWx0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgICAnQm9ubmVzIHByYXRpcXVlcyBlbiBtYXRpw6hyZSBkZSBzw6ljdXJpdMOpIGluZm9ybWF0aXF1ZSBldCBkZSBwcm90ZWN0aW9uIGRlcyBkb25uw6llcyBwZXJzb25uZWxsZXMnLFxuICAgICAgICAgICAgdXJsOiBTRUNVUklUWV9CRVNUX1BSQUNUSUNFX1VSTFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjxmb290ZXIgaWQ9XCJmb2Vobl9mb290ZXJDb250YWluZXJcIiBjbGFzcz1cIm10LTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGhyZWY9XCJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tZGFya1wiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJSZXRvdXIgdmVycyBsZSBoYXV0IGRlIGxhIHBhZ2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb3RUb1RvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBIYXV0Jm5ic3A7XG4gICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi11cD48L2ZvZWhuLWljb24tY2hldnJvbi11cD5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEwXCIgKm5nSWY9XCJhbGxMaW5rcyB8IGFzeW5jIGFzIGxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJwaWVkIGRlIHBhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhIWxpbmtzICYmICEhbGlua3MubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBsaW5rIG9mIGxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9vdGVyLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZCBmbGV4LWNvbHVtbiBoLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LWF1dG8gdy0xMDAgdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy52ZC5jaFwiIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXRvdXIgw6AgbGEgcGFnZSBkJ2FjY3VlaWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbWctZmx1aWQgZm9vdGVyLWxvZ29cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFLQUFBQUlLQ0FNQUFBQ1RDYlMrQUFBREFGQk1WRVVBQUFELy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy84SFBRc0lBQUFBLzNSU1RsTUFBUUlEQkFVR0J3Z0pDZ3NNRFE0UEVCRVNFeFFWRmhjWUdSb2JIQjBlSHlBaElpTWtKU1luS0NrcUt5d3RMaTh3TVRJek5EVTJOemc1T2pzOFBUNC9RRUZDUTBSRlJrZElTVXBMVEUxT1QxQlJVbE5VVlZaWFdGbGFXMXhkWGw5Z1lXSmpaR1ZtWjJocGFtdHNiVzV2Y0hGeWMzUjFkbmQ0ZVhwN2ZIMStmNENCZ29PRWhZYUhpSW1LaTR5TmpvK1FrWktUbEpXV2w1aVptcHVjblo2Zm9LR2lvNlNscHFlb3FhcXJySzJ1cjdDeHNyTzB0YmEzdUxtNnU3eTl2ci9Bd2NMRHhNWEd4OGpKeXN2TXpjN1AwTkhTMDlUVjF0ZlkyZHJiM04zZTMrRGg0dVBrNWVibjZPbnE2K3p0N3UvdzhmTHo5UFgyOS9qNSt2djgvZjdyQ05rMUFBQXEwVWxFUVZSNDJ1MWRaV0FVUnh2ZVMwaUlrSkFnd2QyZFFxRlFvRWh4ZDRJVUsrNFd0RGg4VUtCUW5OSmloZUlVMHFMRkN4UnBjU2xlM0FJRUNTRjYrKzNNMnV6dXpOemUzZHpsZnVUOUFYZTNlM05QZG5abjN1ZFZqaU9LMzRDZmpsOU1PVG04dElzM1I1UFA3L0FwTGVlS1VQQUZQK0pUWHY2aFhNTnZlRStROW1TQTJ6d0M0Q3d5d0g4OEF1QW1Nc0ROSGdGd0JobGdoRWNBYkVrR0dIRGJBL0FkdFZEV21UTG5VeHpmZ1Z6VWxkbzdmT2FPUTNiSk0vSnZmWHg4OS9xbHN5ZVBIajV4NXNMVlcvZGZXOG1uL24wUXl1WXBqVGkyNGpzeDN2QmpUNCt0R2hkZXEyeXVBUDNKWGhrTFYyclVlL2IyeTdHRzcxeXR6TGxFS2x6Ui9zNzduUkhWZzJ4L3paS3Y3ZHhMMm04bXp3OXdBYjZPMnN0M3RJMlBIVi9PTmUyNWRwYXpNc2MzRVIwL2NYa3B1KytQVGhmUUVlNlhZb3h2SmpyNnlUS09ET0U5NUIweXh1dGlUUEgxUnUrOVBoWUhSOGtaaVF6elh4YUcrT29sSWMvdEo0NlBZNW1CM29kK3pQQ2xmNklPKzI5ZXA0YnFsNndPOVQ5bUFIOVFCNzJkMGNteHVpS1BXbWxHK0txcXU4SUg1eCsrQlNyQ1UxNXNBQjVSaHd4M2ZqU2ZQOVhobWpQQlYwNGRjRDJMOFhKL1ZGZDdKZ0RYS3VQRjUyTXk0R3oxTHk3UFlMaXdCR1c0NzluY01xR3ZsUkZYTXhoT2Zld1NNak42NmlZcFE3NWk4SmhzVWtiYnlXclpLcWpPc2ZPYWwzZTBNbGhIWmd2cjM4cVlVNTBlcTRveVZtdzZaZ0NIcWZ1ZDAyTU5WTVk2ekc1dkw2MHVETjdPanJWWUdXc3VPNEErcXZKYnlObXhEaXBEZFdhb0hwMVZSbTNpN0ZDUGxhRlk2c0FybEZFam5Cd3BVRjBSUWhrQ25LeU11dHpKa2JLckFMMFpBbFFmNDgxT2psUkUxZlJaVW9pdmxXRjNPemxTZVdXa1J5d0J0bGFHUGVia1NOVlZvc2dTWUF0bDJQTk9qdFJJR2VrZFM0RGRsV0Z2T1RsU0hmVWhTY01RNEhEVlVPUGtTSitxQURNeEJEaE5HZlc0a3lNVlVBR1dZQWp3UjJYVTM1M1ZmbFdBWFJnQ1ZHMm5hNXdjeVV1bG5Fdlk0UXRJWkVjalhpcERuV1VIc0pvNkw5ODRPOVorMVJEQWJqTkd2RnlOMkQxdmZIOW1BRzh5WEJzYUk3NUpWdmpVN2NucGRacmpNaUVHczNLTUFQNnNEcm5PK2RFUWY4OTJOdmdLeHpPOWJXWWhsN0FlRTRCN0VIdC9UZ1ovTHdMd2hpOERmTTJRQVhleCtJTVI2eHMvMi9uaHNqN2tHZHZmT3FFRy9oN09qdVovQnZWVE1kR1EvRjRoUXliVWNtNHd5MWIwejUzTzVxbnJxM0dBTlhicWoxMlBqdlU4aEExQUwwMzBRUEl3eDBmS2NrcmpFR05tQ3ZoTTYxdGQ0K2ltWFBPQlpweGpGbFlBdWVWYWIyVlVEMGVHenJGQk8wcFNhV2I0dU9ETE9wZnY2YWIyMHZpc0U5L3J4aGpLa29YbGZxTDNTdDhmWjQrdnJjYW1CUDBBaXppbVVqN0c0RGhQT2ptdFJsb3pVOXQ1eldOalhNQk9iN1lBdVNaSnVQQ0QyQ05MQnRYSlJib2ovY3VHVDlwNEhSdTNjRFlkeDFycVJCT2pKT0tmWEQ2eWJmbThHUlBIalJrNWN2VFk4ZE5tTDF5MzU4eWRhSEpneGE1Z2pyMFV2c0VzSEdXT0YrY0tDZG5IQmw1OFY4NUY0ajMwTFFOOEo4cHlycE1zcTYxT3dudjZsWVZ6cVZRNjR3eTh1RGxCbk12bDg3VnhEc0s3SFpHSmM0dGtqSEFnY2k1cFJ6MEw1ejRwTWZqM2QzYWd1N0c0UlFqbmJrbnorZGpOMTVKc1lvcyt0cVJyVGk3RkpHM1pUdE5YN2pyN3lLQUw4Rzl1SE4yOGNFVDlGTVNtNVJvWjg1ZjhyUHFYZFJzMHJGZTdacFZQaXVSTXk2VktxcVJLcXFSS3FxUktxcVJLcWpoaEphZzNhYysxVi9GOGxHS0d6ZHVReEJwQ2VuNFh1WWU5clB1bU5sSDliYnBIQ1FpUGxUd0JWUVN3ZU1yZjdybkxVb1oyNThEK1l1bmo2RW1TSGZKNzRlVkxuRkcyWEJMdk9qbUl2U0lmTmVkSXFTY2R3ZXNYR0lwenhLVnBWODJNUDloSnRLNVliMnhZUEFzQnlFRVQ5MGJqN1JEalVvREdoSU1LMEc0Uk16c2JlSU1DVEhzTXZLdXVQeitibTFNbnZXRHM0eDdSUm1KQkFYSmhiM0hCNjk1eExnVm84RTZHUTN3U2FkVUM1RVlEUDFLWS9odC91eFNnSWZUNWdQRGhFemtWeGtzTE1PQWp6cDFaeDVYNEx1amRuYUhnQ1JuQjRRRnl1NFczV3cxMzdValhUZkpsUTdoVlhaRGtxTmdRdlhVQVJ3bHZ6eGlmKzRJemRseTU0WWpjZlBBcUhtZE9Fby8rdGJLMzBWME1Za2V2Y1NTQW5ZVzNEMWtialN0M1gvOVM1K3FqZUhTbmFYSUc5QUFiQW8rMUM2eU1YaFVuYVBQQkZ4SVR3c0NHdGtLMThPa0Fna2ZjNmhvWEJsZnZ0TWJSUk1yOG1DSWMzRXNFT0pwMUpLaEdtcUQ1ek5jSmRzTkJtbWdrSHgzQUg1akVLcEZ0aU9PUXBMcDcrUFFqRURXVm1JVUEwUGNKZzhCcnFqUkdIRUdYQW5GbkJBSlQ3VXdDUUJpYU84eVZBTG1paUw5dkMvWU1VUDdoclh3SmZUVUFNOXhpRkt0RWs0eDNWWVREY1NmQWpldHFGZ3pBa0xNc1lsNXRTbWxWZmZ1QVRjR0hrVjNYS29rYUZnS3dPc3hQVGlyaGFvQmNheXQ5a3ZORndXUDc2NmREQUdac2RwaFJSS2tKbWE1T2NrM2M4V29mSk5mVXRUOTNRNmk3ajk2U3YvQ3pPd2hsV2pXNmJDLzJoUEtQaWZxM2U1eHBhcnEzdFREMmhOQWx5VGg0RjZ1NWlaUDdxRS95Zk1JcCtXWSswSWR2YksvdnhibEx1cWlhRnprK3I4aFhNOWJ0TzNuMjB2a3pSN2N0SFZMTGozT2orS2lPMGlxZWFYajVsV0hxcEV1a3B3THdqR2NDektWR0kvcDdKa0sxcmtrWnp3UzRYUUhZempNQkxsTUFUdUNxWEloTE1DMXZOcWR6QzBBMWRYSXRkOTArTGozYUxRRDdJVGxOZG9aYnpYY0x3RlpJV3ZWU3UvQWx1bWRwYjRma2tGc2FEQm1PeWlncHNQelZYK3NYVEI0Yk1Ycjh0ei90dWlGcEQrdjZGSEhQUTlKZnJiNmlQK1FMaTlKOW5GZFU4Mmx3T0Z5Wm9pdTU2U21lb0FDOG96ODBIMXJYc3h2TkUxMkJuU2M2ekQwQTFaSXBsM1ZIU29DTXRqK3dVVGN0d0tHZjNBTlFEZWsvclR1eUVkanlBOG1MVTNKdXR3QThSQ3FPa0FhRThrNGlmQ3N6c0xEMmNRYyszeGlTRmIycXpocWpsWFhDd1VoM0FFVHkxbVpxajREYzhtamk5OFlCczVNN0FDTFpoTG9aRzBWTjJnYmVwcGZ1QUlpa2xlZ2Npbk9vZFh5YXVOQ0FpVW8yMWYxbjFibFl2NlZtMDRQQ0k4bHU0TWFMZVdJR09mVFZFSlBqNW9FZDBQWDRDaURobWovcUYyTmFZVXd2a0xUNmwrc0Iva0pKck10T0swTFRqbkhSRm9KVVFJTFozeG40K0Fud2NWL3NGN1BDNE9qUFhZMHYvMU9lVnNnTHBobGFlMksrbU9WZmFLQnhOYjZ3VzZqNmFmRCtjaGJvcnJEK3FnOVBDQmorbkd5eFl5aEJaMUY4T05wZVZFeXNzUjZJK0RLbitEaGJRc3AwV1A1Q3lrUnhNYjdLV29iVUdyc1B2bEZQaUhuOS9PVmJ0YVFBdjlhMXE3VC9kMXE3M3duOG1sdnNBb0dQZkhBdG8vTnVlbE9YZmtES2ZMRzB3QlhaalpudFVtMjY0UDhNaGwzYS9kUjR5YmxFVFo3TWpvak1yZ01YVW5NNEpyamxoSTFDcmdIVnVvNys5dnNsQytaTTZkOHlqNjJmQ0F5eFgwSnpGS3RVdDgzWDQ3YmdpOE0vejhIc0FyUSs5SlI5Tk1BclpxbFhGcGNVVDQ4dXorejY5WFVGdmpzTXE0emRjQUcrL1JuWTRmTmpIL3oyZmpETC9TQ01PYjRkaktuM1M3YndmaXZQZXBYZHdCRGQ4N2tsMlc4RDJhTVpvYnU5cEhFYWwyeFV4WjJQd1h5K2Y4NVgrVjI0MFpkb1BYcThRekp1ZVAvdTdiNG80S0hPbWxSSmxWUnhyUUduM1lBSnM0MHkyVE5jOUVXWGtWWGtlaWtQTC8wdnRGSUVDMU1jWDhuL3FMdlM0SlRHbDEwSlRJcVBlbUNRNnd0OFV4cmdNWkZUemErZjJUT2YzaVlRMzlKMEhydTh3QXM0eVhPWHYxQkFnVTU2OFByY2dra1JiUmZLWVBEMEJuZ0NrcENXSTlwZ1RFSWdQUE9LQjhETC9SUHdyQ2JQTkN4cTN6RnJhZUdNWlA0K2pyUnZBV2ZpbnlrTUwzaUtXc01zV1IrNjFVMzQ4R2FLd3ZNYm9iRUVqTkFkcmdCUXArQWVFalplMXc5dHRkN1lCNDczWXZpTEZyOTBwaVI5cG55Vk9rNDVZWWp1WGFzZkVHUmszSE5lSWNoUmYrU3kzLzUrOURiZVdVcHZjQ3praXNYNFFPMlRQRDAyUjdFeTFzUWFTL0JOaEtYMWZCeEZGOVR6RkVOalVuSXI0eTk0cllFSmQ4MGNxcTZYY2ZZSGxxYTR4M1dNUHhIUWRaTG9DbnU5ZmY1RW96RmxPQzJrMUhmQ081YndrcGRpYW1sYVR0djZWZzBpdmxJWG1Gb3l6M3lLM1FOdGZtOEJDVjgzcGhtVXIzcmo3ZFFCTnUraEVRUjhZMW5DczY0ZzFsaHJkaW42RFVVZXJ5TFk4cWF5eEpmQXZ1MWtWN2FXZE9ZUi9KV05oY240MXdlLzY5V3VZZFV5K2ZOQUthdVcvZnMyZjI1VUNueFNzL2ZDdTlvdmY4dFlBOUY3bTVJaWpkcXdlcE5pY3c0ckwzeE9UUjEzU21acDRkMGRteDF6MGtqbE9LRWhiSnJSNkRyUW55Ryt2Sm9KVHBxRzN5ZHRBdVM0b2llUVllcXlBL2lqNXZLUkRIUW1BSEplazVEcWVqYWEzNFhVbmJEaDBJVnJ0MjljUGhtNXFHdFJTc3hiSHZRQ0hpSFdzQnhsQXFBbXFlNHc1VGV6VDd5bU04RkYvMG9zQURrSnZYN2twcE1qVFFGRWV6cjJJNTBUT0NzQnR6aWR4MGQ1VzVBVjRoMGxzOUxjRmVRc2F2Kzc5NFNvaFNLa0NwdFdiT0prVlVvd25RTlhrTXVzTmlURVYzd3VLNStRZFBQbzlvMXJmOW15OTJ3MDdSdElOOVc5SEFPQVNHSmlIQzVYT093K1BQYjIyeXBJT0hydWJwS2VQTWo0QmFRd0xMVnI3Q2l6QUwxVWxXOHg1akFNZjR5ZmF0QVY2ME50TDY2QTRXbFhpUmk5SVpCcGdOem5hclNUTVNhK0l0UW1tdUxZeGwvWWxOKzY2Z1hzd2dnZ2QxVTV0WVBoMkVyd2NWdThTUUpVWmsvU2g2bXJmZEdTNk5YdVI1b0hPRUl0ZW1TZ0ZlOHBCc3lXT0N2L1NtVXdHM1pQT3dCbVVlTEdFdldLSzJ4YzFaUjA5MTdIbERGUTcyZ2JqUnpzbUdMdU4rWGNGcm9qdmNCeVI2emhPaCtUSWFQV3UyL0w3QW9pMFV6ZjZZNk01Mm1ONTREOVZkYzN6MHVONnluS0RxRGFnZXdVeG9CSmJtSFhGSHhGRzVtaHh2VllmZGdCOUZWc09nbit4bTNoQXZGN0lCc2lTYXN6bEZJak56aDJBRG0xdWtzcDR5ams1b2NUamVrYW42bmxpVmdDVkpQOWRDNEhtQkZJakozYWJFeUNVbk5uRG5Ic25tSnVpSEt5Ym5PRm1jZXpTRWEvZUtOWnV5NTVUWFhtQ3FwcCtQcmNBWkRmOTU0UXZRZksrZkFOTWM4TmxPMm1yNkNKNkxibXhISWFzRm5oWWF3cnB4MVlVWjdvekhJTmJWUmZ3VjFCRTBGUTFZa3FYREEwWWgvRTFFTHNCRmU4QWJwUGF5b2oyZXIvUEZRNTAwUithQm5sWklOVHBMTklRU2JvMmx0OEtkWWt2S0MzYTFZeS9aQ296VXhOaE9EbFFiSmo5YkpFaW92Zk5iNU4xZUlGY3VjclhMNSt2MlVTQzRneVVNR3lhcUVuRzcvWlJqblRSQVpyUG1KU2swRHdWeEJ0T2srTS9kN1VycE12YlB4bVBlWE0rcllCbGlabng0SXRsMUR6OEFCbWZRaFFEOXNJc3F1c25OamVOa0NWaVYzQ0hjNjVIR1BIL0FldnJVU1ROaVc5bEZCT0hHSWJvTG80SE1HZmtMN2pvbjhRY3Z4NFd3UXA5bFV0MmRDVC9wdTVpR3N2YmtsVFR2NlZmSkovaVZxdE8zYnIzSzV4aFd5VW9kU3VMaXZwdjVsZU9YR3JiWUNEbFpPZFRtaWVyMVpEcytHMWl5VWxYV05FZlZCbk9RdXdoNm9RMm9odnY2Z1FEZHUrUUxWdTVSajk4N0hxVjdJRk8zRFJpZkVXSEU4VnhVWVAwQzNLaVRaanViMWppY1JUb0NzdmlGNndhUmptRVpoc3c1U2krYmJKNGxqRmVPTEcvWkNtRHUzRDNSUG4xTXFMUGlZMWxOTzJBS3BrKzVuK0VBZ2N6RXY2M2tsY0p0UjM2bDlMYi9hSDBKZXNOZ0NlSlN0eHoya0FIOER5S2pwQmVyTnVwUCtzYXRiN21uNmkybnVkSDZrLzlvSUNzQ0xXK2g2c0x1aXhRU1p0MlRhTUVJamJ5bERyNnlVWllLYWorRHBUdTRrWjh6cHBaTTdTeVlXcDIrZHJ5WWlRbzBNdlNjQW1QSEhBZ1A3OSsvZnIxNjl2M3o1OSt2VHUzYnRYcjU2OWh5K0R6dUEzUnBVQWNZUGRvcWJTK0tsS3lGV2F2MXcxOThpN1lobnpmbkpNdG1BSUVqa1JUcjJFU005TFNnUFNTbFpEN2JlWnB2RmR3MFUrSWlrdnQ2Z3J6UmRJdEFReDNqazdZaUkvSUgwV1lSYmZYbXdmeEVySUdRT29seERwL2ZpYW9QaUxlZGFTeURFVjZYNnpIZCtTRUhWOGZrWEM3eUptNm9mVVM5Z05qWmpBYm5pNTBmNlY5MVU3a0plZmYwQzZvT0QwSVdDaExwWFdLRDdtOWdpYzBSYmRZNitoVHIzNWhsWEpaNlJHbWNjdC9DQ0h0cURkS3MwSjNxUTIybHd6SzQ4R2FaeTJHVHBmcFlkRkFYa2tITWhqTjhBcTZxZ2I2R2Z1MEZkZG5OcW1SdkZNL25rcU5oMTZNRkY3NkJuV3JYYUE1OTg1RUhiMGd6THNaUHFKWWVhanBscGhCeWgrNEc5SFlteUQvaU1YSHREUkliT3Bsc3M0cGxMMkplVyswVWcvay9oWUZ6M0pzMTNRWEQ5T01IRjdUREdEYjVFTGlyS0VmVkhjWEdiaG9HU2IrTDQzTTQ0WEpsRFNoOG1mMHRUR2t4Sm5zek53cnQ3cnJyL0MvWjFKKzVtME5zeTZpNGJ2ckMzelY4a05pZVJ2ajJkelA5UTdTL3FCdXgxdDNYNkRxUnZ6UEVaM3JLWEJGc3p2V0ErMHMza1h6YU1IbFRMTVQ4N1k4U2ROOUVIVTF0NG1OakZwbVVvNHVYaE0vKzRHQ2MvQitORlBWNloxLzFGVFpuNHpwR3MxYytIYllUQk1QV2FNbTZyazJTOXdnbS9uOTFSNFlpUjZUQUdQeGNkOVlzSXpuYUlDaldtRjdQeFNjUGZ2Rnc4cDVoNkFJQXJ4aWIwYmw1Z0llbjVnQmpjQW5NdmJYV0c1bUdMTGk5dFExK1dWNjZZZ1pOU2s3RWJYMnZ0VDhyb1c0QUFUTGlPZHZOSnRWdnZidTdJOE9jaXJlMjNYUEdYQkZMTlpVdDVsQURNa21mT2xJVlFXRzJ0NFlXQkdGeUU4Ym9wWEVEaXhSdW5jNUpvbjVpdVE4V0JYaGJ5cXhIenVCMVB5dVdDdkE2Rk96K3hhcW5YdDQ3VHFYVWZtZFR4S2dRRE02TFoyRWJvbDd5bmxuNVo4eWhoaEJWaEIrOXl3c2huTU03L0F6b2NvaWZzWEJ6TjhZanJjUTdpUzFTRHZ0NUZ5dC9OT3ZFT0dHTCtaVldlSmREYlRhc2FRYjkvcXF5aFQvWEFxRXlVemwwMUtQWjgrMVlmSlUyMDl4T0tKT1d6TDBHcHJDYUpPOVJ2bm54aWZsb05wMHRPRWNkTlNmU1ZscWk4UHllUUJlbTlnRjhwVXMzdGluQkxxVkRONllwemRsR2hQdGZWUUozOVBuK28zU3l0d25qN1ZySitZb0ZHYmVqT2U2dml0RGJ4WndmTWZGbVV1cnNuT3FYNDAzUUZEUVZDTnRyMkdSNkF5NGVjMzlPUlRKNmJhZXFTelhkVXhRa1pkSkZ1UncxM3pWTC85b2FMcGdYcFM5b0dFVWE1N3FxOE1OV2VBVzBUWmlROFhaL0JVM3lYLytkc2EybjVpK3NpUDE5TWJONkQ5ODlZMVFSNkovcUdoTGwvQUgwKzNzZHRuaFFUanhaUlBvTXVEVjF5TGdSMEEydVFXYmxqQWoxS2ZHTmplNTRoOE02QlJ6LzZnV2VIN0xPNVl3Tjh1LzR6NFBSQWFkVS94aFdqaXh2MXZPTEhLMkR2VlY0ZGxKbXZVNm00QjNxbTViU0J1TTU2cDhabzIxUW1iY1JhTzFtRFpUSzhCcU5yMUxjRG4ycEg1WGsxK3FpT05pWDlEdEpHVTRLenMyaFZvcFR2VnN1ZUd3RjJRNmZxSEZpQVNxZGJOWEh3bnc2bitSNjk3ejlQR3dPb0ExbkhBUU96a1ZPdWJyZjBQVk9OVjN5Wm9RODFBK2syOGV6VndYUWNhR0lPRUpHSUJQeitTTWx6VG1IVEZWcW8vMHdQVXAvR0JEc0N2Vlp2TUhXM0pSaEIrL2NGbDZESU92bWljNGlXNmsyQU1vM3JOam1pVGlrQlN6UVBYb1BQR2VtZU51My9hQkkzNUJYZ2xkcWhIUVpMeEhsZkFLekQxRVlGWUdiWldFRWVyTmpqcklMejdxQVRLdzlTTWNjelJCWFE1U2x5cWpTR2RBelVabjBFZzhsRnBZdktieVhRYXU2VFNqK1F5UCs4eCtRdVp3UnlmVTk2dUJlZXRnc3BEMkZhWTdjUVVYZGJoLzVLMTQ0OUxzUUhkczhFeEphRXBQL1J6ZmR5elpPays2RzVJL0l3ZHVqVE5JaE5wWmxtQzZ5OUlVTGp1cVcrSHVpVG1RNUJpczUvUkROc1VDcFZyOFVyVXRhb0paSnJHeWdMUTh5K2VtZG1tbVJMWWRyc1pHM2pWVmxHaWpoOU9zOXZ3NWR0ZzZlRnIxdzh2cWM4a0xpckgyRnMwWTN1RGxEVWQrcmJhUlFrZnZEZ2tZNHFpNDByUG8zUkJTSEZqWEVqZnZ5blB4V0c3bm9zeXY5OHk1c3lVUEg1aGxNUDNoNlgyZXJKRGozOHcyVDZuWTN2d2pCbXVOOWd2ZHpvV201ZDMwajNhYzFIUHpyOTdFRDZQNHhReGxKOHVmdTBQME54NGcrd09GU2tEMWJMOUJyMjVXU0x2QUtjcnZ6aWF0bDg0RURxUUZxWkM3c0Rjc2sxamNhVXRhSkpwOENYS2MzR3dvMFBCRjIxaGJoTFdDRlkxZ1NjMzI4T295RnNwZ1pMM0p6dnFqTjhKak1hRVp3R1doeklYQWxWdytpTktETzJtZWc2dkIySGdUaHRJbW43ZzZ2NmZHUnIrSjhVSWVuNlFNeUZVZ0pvbkU1TmgxMnJ0RG5pcFRGR1IrZWpGVG9iVUFOcDVqM2gwQUkvcHlLeFZrU01vS3JMMVFBZW5nNUltWUNxb2FHMWZNWTZxeVBjbjUyV3dZODdsYWVXZVljbDVrcG03K096bmxPZGlZeDAyZXRRRUtqVWZTS3lsRXR6ekpPMjVZQmRhQ0d6ODlOYXN1TElDbGRaUVZPVFhDejlocUJSVnhOUWJVWFdTSzlpU0hsbjJVcDZML2VGcDJhcThNWlNhUXMyd05RZ3kvVWVFZDI5aUhvNjFyQVlEdDhIZloyQm5UVElza2orUWVQZUcycTdvSkF5ekRCTndEVDFEVHVOTEVPRFZsWE1EUWwya21zTkV6Y1JGK3FJMWFUckJwcHJ4QnRkdUZsd2gzNFZsT1pkSmxnZWlsK0tYOEh6S0RBVlhuU0Faa0kzdFUzejBPa3Z5SCszU2NxNFVwVUFpLy9IZXViK09IanQ5VFUzd3dmV2YwVFloL1craTZ6dlJGNzVKdU8yVHNZRmxYeVBQeGZyYWJ1aXd6WEVCMDdFeGNLY0lpb2pjVWZwcy8xRE9YWklwNHB5TzZiejh1UnJ4N0RaL1JzZWNuMW5HelVRN1krMkJzMVpIN2ptNGY5Zm14UlBDUzFxNFZFbVZWRW1WVkVtVlZFbVZWR0VoL20wSGVaQjBURy9RcGkveEhpWDM5VUZ3NGJ5SHlYQWR3R0dlQmxCZnYyYVVwd0hVUjFUQ05pY0xPbnVFVE1LRkhuMERQbXptR1FzS3JPdjlnKzdEaVpnYTBDa2w1UUNXSHowWVlGbGNrYzVKbmdad0JlNEtOblliQnN2UU1uWUNuT0RlS3ppTFZrZ01POFhqYlZZSFpDbHRxWUhqNVhBQXg0RVBXN29MWVBWeE5QZE9lWUJsdWU3RDBlREQxcDd4a0lBZW5meFMzWWNSMUt5YjFwR0lLNzdTSHVoa3FCeTVTNURWMytTVjdwRmRvbXdEMXNUZ3RlRGxsdWxpdGJDaHUyUUJqYmF5YlpEZUxDT0Y3VUtEdnI3SkM0eDI2MFFDdUpPdnFyNlpJNVpobEJOazRzVCtLWXJ0RXpReCtsS3BDQWVtVWkxejlESXR4N1dYMzN3Z3BhNVZ4ZTNGd09QS2R5TUIzSTFXVHBzcmRpQmR6QS9La0NGajhWbjhCeGhVbjVDVUIvWlFnOEdudGZrRHdzdkM0WGRndWRJMHd1dHYrQlhDdjJBZU92Q2J4RzVyZ2FSZnE0RnJyOUdiV2xrYUQ3Q3JkSFZoTmJtRVJPVDgybEtJYmhtbE1IY2Y1UmZiMjJ3UFdodGcwVGVHNjQ2dHRXb0c0RXd4SWhZTGtJdEpzT2dCZHJBSnNBRXVaTEVqTlhXSkF0QnlVcncvc1FDejgwODUrd0cyd0JVMkJrNTFZOE5XT3NDWjFhcFZhN09UWHdNL1RVaXUvSmtnWXA1RkhSRmcva1BLYW9FQy9CMmMrQm01TGpCOGpQUk5KS0ZUZmFKOUFFVTVMcTVBY3VtUHJ1SVZUSGoyN05sYm5yOFdoZ0VvT1ZlSWNXL2RjR1ZKNitCU0VHd0EzRGQ3OXV5VjkvaVQwQkdlWUYzeG95RHpjNG1qSlVaRlJTWHhDNVJ5bkNqQW0rREVINGNUcjJBL1hGM2pxdFJLQUpSNzBPK29tQXVGdVFkblNiTnY3ejBJQ1Z4SE0xcXNxYWU0alZobEpkNElNTlA3cENLT0FCeUxxNFFKaTMydmN3UmdhMzRWQVNBM2cvK0ZjMkFkbklxTFQ4aE43WVZDQWVoN1NJd1d3QzB6R2Q4bEYzY0FJQXlLcjZYN01BT01IaVFEM0w0QXlQeGFLTUE5TTJiTVdINkh2eE1rUGlTTDRDbXo4NnZMRERlTjM0U1o0bi9oaVFzaVNHNjJoUUNMdnZDRUw3WGc5aXA1Zzk4bnZCa2pCaE5LNWJldFcwUm4vRk8wV0hoWjZTcUZ2bzZTUm1pcExMSkt0dzFyRnRxdkdTaEJBaTAxemYrTG1sQnFnR3lFZ0MraG5wUzJHdmlnaEp3d21yT0dLSlZoaEZKMUthS25pSndnbDZhV2ZLS2x2SFFtTVIxMkc3WmZ6V3RxZUpsYlpUOEFhTkRGUUJSTXRHY0FoR0VtaGpBbzBIa3cyVE84d3lEU0w4N3dLY3d2Q25KODFBNmdwTUFJNFpickFvc0xqQ2poK0ZDUHNZMXRmdE9tN05vdDhlK2ZDREtNUzN2eHlWTSs1c2tUSjdMT1FaN2liY09uTURiS2liaWNlRVJYZXpmSm1SbjJzbXJTcTFRcUpFaHRUd0NZSHQ4aVo3UnoxUjY0aEhYTm16Y3Z3d0lnYkNhMXcvQnhEeW9wTVFHUVY4TmduUVA0S2I1RlRuT3FTbTBDNE1UQXdFQnZGZ0RyNDNYbnFxUVlMYmZmZzUxd2xFUlNDRGM0Y1FXbmhncGlZUUJ3aUVKdE5KS1pxbS9aRmpIY2RnWjgvY0twMGlYVDhZMkJ2TUhxYzk3eFljczNGS1NCU09JK2RhcTZOb3c5eGFScWdtakJwNTZ3RlVOdEMxUE1CMmdMVmg4UEFBaFRLdExqVEd3T2RWOWdMNkE4eTBmTTU3Q25aMVViWnAxeGdveHNwV1RWcEIwanB1cG5IVDVPa2lGQWxhNFBYbzF1SjdWcDRiNXVJTElsNlpSQjZlay9Fa3VJZXg5bllxOTdLOFdNTHZLVDdiSWZzeXY3cE5vY1RvcGd0cTZCNmx0ZzBrMkZsdG51RkNLZWR4UnpvQXQrZmRSSW5MVjllUGhYMDZKa1ora05ubytBR0pvTEgvTWZ3OFBEbS9qQmE5QWhQTHpEMkh0aU1sa0cvaUc4eW54VU9KUkc5SjVtc0N2aGVzeUJMMDEwRm9oTGh2L2xmWmNNRjVLSy9GWCtvbndzRGY5V25TVDRYNllvUGd3RmVOdlVMUWl0ZzdNeEI0cVk2SGtuQWVRaStTL0Fmd3Y0THFlVjdId2pRRzR6MU4vc0JOZ0RIN2N0VEJOUHpjclJBUHdkUGsxcFhzUUdEWlkyRHl6QVAyQ2lvNTBBSnhJZEl1RFdmbXdLWU1HWUpQQWtOdUkzY3RtUzcxbElBQnNudncxR0FkNDFCUkEyN3NMMnpvTXJkWUNOaDZSYjE2NDk1MFNMMnRBRzROdzdLS2VEYWdCR2J0OGVlVkZLaEZNQThzbEFYdG5JZ3ptc0xSZUVDT2hTek5PL0xUbERFdWVBcVAyZzJGYytJQ0I5R1FhZ0dEN2ZqdE1BVExvSzVMaU4zTVNueFB5a0tiYWJmOFpaSTRZUEg5UkkvUHU2UWdOMFNQd3JIeVBBSW9VSzllVXZXclFBVGQyREliQmdEL1lRTlBSUE12V1FRRG5BMy90SGtJOVMvM2Y5UGVoMVZiclY3UU5ZaVd5b0xHKzdOeDRLTUlkU2FXOFQvaUZweTErQlBzMVF1d0IySlRkWFRBZExjcHNHR01IUHRBRHhmeWYyMHpNQXRGd1NieGo3cnVDM0ZMY3JTR3lOdFpnRmVGRnVHcnVHNzRKZlpscngxNzB4VzExajZsWVhTU25OY3BDbk5VNkVTNlg2ZU9WUXJJbjFSQ3JqRmFlb3V5L0Yra09XQzdCUG9LUXNoSnBURmtCU1N4SWh0V2VlVGE5N2EwVGJHYVhrNjQ4UWE2RjFWQ0lLV2tsclFiSHhjRm50THFwYjRXTkZHUlJNK1lWZ3dEeXVFUTYyWjlLejFUbUJuczVWaElNRlNKcVlHd1dHYVBVbEhRVVZMejU0cHloQVNEektrWTd1ZHRJRXgwQUF0L3hJckVFMnlYWVBUaGRMUVlEZ0JQRndROW9kNmhicFJHOGVDTTBmMXpPbG9DeTNvYkE4OElqbzBDSmtnS3M5QWQ4anlpM1EyUk1BcnFFQXpHcjFBSUJVblJtVy96bTlWeFNnZk8rWFhnT0x6ajNwOWQ0bm9LT085Qm80Z083TEI0QUw1cUQwR3BRSWZDQWZBR1ZlRDB1dkFlbDRKQjhBZC8wUitRMU1taytpWm9wT1FrbHBwVVFrdmtaUWcxN0lhZVNmSmlDUlFWdDUvcVhNY2NyR0lYMTZOL0I4dEp6VFcrb2pZaFQ0bWVmZnlzU2tlQ3pTSkJ5YXovKzBiV0gvUzlZSlJ3cC9qK3hxenloY2hJUHlnV0VDUS90U2VoMTZUOWpBNVhEQVFRSXhsRXMvQnQvbCtlUHl4dGtQc1pvRzNSSUl1THhiOUVMQ28yZkkvbWF5d0o1aG9yMEZxSGlDaHZoQXJ1VlFRMUR4eDhxbjdSTW90T3d3clpxRWROZ1c5dEpuWWNnTVRKRVA3TkROd0F6TUROelUxcEhFQ3V6Q0hDL3YxdG1GcmZGWFpQb1Q1TnB4V1o3ei9PK0lCcElrZS9BekMvZm5IdmxDanhZT2ZDSFBnS0N2NzVjUGpCQm1RQTVLQ0wwdjNKNXdCa3BCcm1wanIya0ZINlNiY2hHbXhvaDNKODBKbnI4aks1djFyV3JwQmUralNLSGpMNjJxalF6TXdFTjBCa2FUWnVBYjVRR3c1UWtKRWtPY1ZzdnY1d28wUmI3b2VhSjVOYzVrRnMvSHlYRUZPVjhoZFVuL3A1dUI3UWp2eHMvQUJHa0dZQXZqZXJhMjZ3UGlZdlNWYkVPOXdQT1gvWkhMMjExNjdmc1B6LzhyeHlpQ1doYTk1QXQ5U2pjRC9lUUxyWjhCdVU2cDk1OXdCZ3JEbm9NMkt3MzBrbXBYeTBFTlJUOGdnZjgvOFB4N3VSTlJvZmRJdGF0RmdxWmJWSHFkL3kzUC95d2YrRjVRNzByaVptQU9NZ081WG9NWkdBTis5eGViQ2srb1pIODVMYThEM1pDaVZnSC84dnhaWDhRa0szY2w4aE9tNTRMOHgzZEFtQnVZZ1N2eURMUkJYRWh3Qm1SVEZZZ1k3UEVQK05uNkp0MFVxSkZUV0hCZnk2NzQwbkZJQjgrMVBQOUdacWtsMEFWM0ZjKy9RMmRBQ1RrV3RLa1lkQVorUWl6NDBPTDAxQVRoYUNiSDNjamU3ZlJnSlphLzJGODRJUCtWd1hlRVJSMWRjT1ZRKzNUQ2duWmFkcmw4VFpxQnpzZ00rRjhSZi9RN0UwcXRMNkJPMXVzOC8wUk96UG84RVdudy9EdlBQNWREaGlvbUlPV3VmdVg1S0xuSWRybDRaQy9jSk15QVhMaTBUQnlpTVArQ3pFQkpzY3FlcVpvSU1MUnk5Vk9rdXE1dyt5Yko1Ull5b1F0dWhMRGcxcFRkQncva0JaZURZZG5xRFB3bmJMRHlEQXdnelFCTUpyaGtpaGRBQTFoVVU2dWFPdVlsS0NEM1pTV2psckRneXQ1TXkzNUJNWkhyUTFaTFVndnlXdmJvWmtCeGxmK21tNEZwNkswL3doeHpnZFUwT3dzN2Q3eHNiODN4RW5FQVRCVVdYTG1yVWRZWFBCK0ptTDhUNVlyd1ljSU03TEtvUHFJazJZZVZTVkRKOXNrSFJna3pVRU5jYVpLd1ZYZndBbk5MVHZtY0VRaFVJTExneW53L3pVbWV2eDJFVzNDUENWdXA3T2VxWTFYRG5qVXpVRE5aMVZqVUdZQk80cjBtdVY5MnVOMlZLL2dPMmZMbUMrdUFIS3lZN3czU2ZPODdZU1V1TGIzTy9ScXhnSDVMbW9GcG1CbEkrd0w4WkZPejdQUVhNV2VuRStLODg3c2szTUp5Z1RTUVo5bEZmdWpQOGZ5MUFHUXZsTU4zTlRQUUZPbExvSm1CaGxZWWtmd1ZMRWhydW9ZWVRPaUlEUVVrN3cycStpNUZmQm52NVBDL3dqSGFCVGRHWm8wRjNpRldnSVhJRE9SRloyQWVuQUVZOERiSVBNR0hGWHVIUWRYM1pCcGt3WlZWMzBCaG1memJCOW55Wkp1dC8xV2VQNThXTVJOZ1o2QWRvbzNBR2FnT3QzODdRdHZhd1FZbEZxNThBaExCc3Bublh5bmtJeDVaOWRmcnlJY1NqcjFHUno2VUpKWVZndEloejBBUllRYmUweTBlUmtuelVESzJEa05VMzVEN3lFbzhVRmh3NitMSVIxOGt4RGdkT2dNOVNUUFFUWEpDMjFWOEVucW9MMXEwcW04VmxIenMwcEdQcWZhUUQwai9VRzJFRmlPTmxReXhValI0bUtENjdrVEpSeFY1d1JYSXgxNTB3WlhwWHdaaEx6eUFJeDlnQm83SU16QVltWUZDRUdCMSsreGdNSUxoa3ZBNzlSRHk0U1dROGZzbytWRG9uNkNIUDVMSlIvVmt0WUsrUmVEaVQ5QVprRXVEV3hENk41ZnMvU0pMcm5pNUdCeVZmSlRIa1kvSndwWkhKUjlhK3BmOW8wTnBtekRwNjdKRnAvbzJSOGlIejJrQy9TT1REejM5RzY1b1Q2ZnN0bldLZjFkYnR1UkRNd016eEJuSUErZXFydjNXV09qV2dlN0FMa2psUC9Qa294dU9mSUFaNktHbGZ5dDRTdWxEbW1UNW9EUXkrVmxZaWZQZ3lNZEtIZm40QVNFZjc3SGtZNGx1QnRZVWdnVklhemhpMEo0RjJ4S0JTeGg4RzFsd2V5RnFSN29ieUlMYkhYR2tCVndqa0EvTkRBRFgxblhIK3laa2dodFFMMW4xblU0aUg3TnNrbzkxZ3RLQnpzQUNoUDVCcWVLWVR3QXFrUy9TeXd1dVBBMmhBdms0S0MrNFE4eVFqeUNCZkp5UVo2QVBTdjl1UUh5T3RoWUpnUVVJb1VIUzhvZXc1YUhrUS9hSlczWUxaRlltSDVWUitnZklSMVlNK2RETUFFd3BUWGJZdWRVWDJ1SUtHY2pIQkJMNUdJdlNQNEY4L0lHWVFqVXpjRWljZ2NBSHVGeG44K0lOUzZoRUtxcnZRQno1cUdzRnFxTktQaDdReVljMEE2SXBkQ2JVQTUzbzhpWG1DZGMxa0k5Y0tQbVlpZHJiWGlJV1QwQStLdURvM3lScEJvb20yTUUxOGJJRGNnVS9XZlc5S3EvRUxYWGs0d1pLUHZwUXlJY3lBM2ZUUzZhK1c3NU9lUi9qMVZSYVFENStKSkVQaGY0dFFDeWVnSHlzUTB5aE92b0g5WGJ6VkE0dk1QY3JvYmhDUGxyWkpCOFhCUjBESlIrZEVmSnhGVFdGRG9MbDAzYzY2Ui8xZzJhR1l4YXM1d05QUGo0Z3RWaCtRc2dIbUlIbGlDa1VTb3pUWWIyMWVUVzVISkNQWXlUeW9YZytlaUFsSlF6a0E1MEJYT1VnQndRMkhJb1dWOWFLS1BuWUxpeTRNdmtvajVLUExRTDl5Mm5MOS9TcFdGS2JRUWV5eksvQVNMc1Y4cUY0UGpJOFJNakhjQkw1SVBtZTRCS1lYSkZqSUdMSjJoNEsrVkE4SDEvUXlJZkc5NVFGb1gvaVh2aDVzcFBwSWFqc0EyTzl5MlAwUFJISngzaUUvbVZHNmQ4WTRhcUJHUWlFejk2ZFFEWUFjOEwrdTRjc2RNOEhvSCt5bjlSTFF6NlNFVk9vNUh0YUFpZTRHc2RJWUF5NHZCUFAwNUVQSlVsbXRrQSt5aUxrWTR1T2ZDRDByeDV2cjYzRGhzQ1lPV21EMEpDUFZqVHlRZlE5allWTDlIV0czYjZ6d0RaQkVpeEFQcGFSZkU4ckVGUDhoMklvK1VCTW9WQ1NHTFlmazlxWHlMRDA1T09jdk4xL3BTTWZGMUh5MFJHaGYwQ21jMHdGa2tONUg5aUlrSS9TZXZLQitwNFdvcjRuT2NtbWlWamxtbkdUeUVEWVBVTWlueHJ5Z2ZxZWdtNGpuby9laUtvU0tKQ1BNK0tXRndnM3VUZjVPTVpTQmpvWkplb0R5TWNrNUFsU3lFY0ZsUDV0USt4dHF1OXBIYlp4S0FPQlRRdmwwSTJ4aU9jam93bnlJZnFlNm5CeXArbWZPQmRJSk5LTjNJVG5RKzk3RXVsZmVUZ1Ivd2E0QW1CR1NNRmlTaXJrWXh1SmZQeUcrcDRxSS9SdmR5aXM4eDlibW5PSlZJQi8vYzMweXJPb2tJKy9FUExSQUNVZmYrcDhUMkp2cnM2Y2kwUU1GOWhoVWNnSDF2TXhWMGYvTmlHK0oyemJWWWF5RXVud3FDRWZiVkh5Y1JieFBXbm9uOWdNNFpTdjZ3RDZ3UkphVm5HOUxtYUtmQ3hUN1cwbFlaK2tGems1RjBwZXFGNS9LS2VRRDZ6bm95dnFlN29pMDcvTXNPTktVaTNPcFZJSDlqNThsRTBoSDlqQU41enZLZTBKVml6SnpIcDl4aDlMUHJDK0p5bndiUTN2U0Y4NUJ3UjZVQ1RMRE9yNTBBUytmWVlHdmtINkoyWlhIdk4xUGNBMEI1Rm1xT05KdnFmUnFPOUpvSC9YWVBEcGY1azVOMGlvMk1la041WjhZQVBmcWt2WlJlOUxjVzZSSWpEN05hbUpnWHlndnFkc3FPOXB0dWpQZEZ1TnpWclE1dlhoTTVsODlNU1JqMFlxL2N0OGk2ZVdsbU12SGVBZEZWVklUejd5b2VSRDhUMmxnMkZqYXN5WE8yUWsvTWs3WVZUeWNWN2tXVDUvd0pPM3VMZDk3VUxSOXBOZVR6NVdJdVJEcEgrVzllSUM0K2RXZkp6WHIyTHB2QUNKZkRReGtnL1JxdE1TK3Z6NGZ6TndiaFkvY2VmYTZ5dVJEMUxnbXhnditUUXY1M2JKY0ZtOHRid0o1RU9tZjVERHBVZ2VVcmJiOE1kWFdMRGtROUg1d1lKVWhVc1J5ZnRJc1FFWnlJZTQ1YldBdWs5Q2ZTNkZwSmpZVFd3eWhuekFSYmtCWE5DVDIzRXBKdVhGeWhBamRMNG5LZkN0bGhqMjJZdExRZmxDekJidkk1SVBPUWhjOUQxVmpZSEhSbkVwS2cyaHU4M2FDWklQamU5cDd6dW1QZW9kbHRid09VaHFpWkFQVGtwSE54dDM3R0xwQWhXSCtBWXcwbGpKdXRrbzRsdk1lWURBc3FsOGJDMDA2NmJJVTJXTjlBQVJWWnNQTlFENUVBUGZDajZHSDYzejRqeERKb3NJNjBEZmt3Q3FpSWh2cXpmbktUSkhyTzNkc2pyTXV2a0VKa2J4di90d25JY2hUQjQ2UmRqeVJyNFhZMDNTY3A0a2t1VXFVbWtvdTlPejhFbFJRS3BFK25LZUpnT1NFWHpMdlRuUGt5Wkt1OXVrTVp4SFNrNlJ2dkczS25PZUtqVTJQM3B6cUF1YjVlWC9xdzVWRXp3NFROc0FBQUFBU1VWT1JLNUNZSUk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIkNhbnRvbiBkZSBWYXVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBOdW3DqXJvcyBkZSB2ZXJzaW9uIGRlIGwnYXBwbGkgLS0+XG4gICAgPCEtLSBPbiBsZXMgbWV0IGVuIGhpZGRlbiBwb3VyIHRvdXMgcG91ciDDqXZpdGVyIGRlcyBwcm9ibMOobWVzIGQnYWNjZXNzaWJpbGl0w6kgLS0+XG4gICAgPHNwYW5cbiAgICAgICAgaWQ9XCJhcHBpbmZvXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgY2xhc3M9XCJkLW5vbmVcIlxuICAgICAgICAqbmdJZj1cImFwcGxpY2F0aW9uSW5mbyB8IGFzeW5jIGFzIGFwcEluZm9cIlxuICAgID5cbiAgICAgICAgPHNwYW4gaWQ9XCJlbnZpcm9ubWVudFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiZC1ub25lXCI+XG4gICAgICAgICAgICB7eyBhcHBJbmZvLmVudmlyb25tZW50IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gaWQ9XCJ2ZXJzaW9uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJkLW5vbmVcIj5cbiAgICAgICAgICAgIHt7IGFwcEluZm8udmVyc2lvbiB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGlkPVwiYnVpbGR0aW1lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJkLW5vbmVcIj5cbiAgICAgICAgICAgIHt7IGFwcEluZm8uYnVpbGR0aW1lIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gaWQ9XCJjb250ZXh0UGF0aFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiZC1ub25lXCI+XG4gICAgICAgICAgICB7eyBhcHBJbmZvLmNvbnRleHRQYXRoIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L3NwYW4+XG48L2Zvb3Rlcj5cbiJdfQ==
@@ -1,14 +1,14 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { FoehnIconsModule } from '../foehn-icons/foehn-icons.module';
4
4
  import { FoehnFooterComponent } from './foehn-footer.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class FoehnFooterModule {
7
7
  }
8
- FoehnFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- FoehnFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnFooterModule, declarations: [FoehnFooterComponent], imports: [CommonModule, FoehnIconsModule], exports: [FoehnFooterComponent] });
10
- FoehnFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnFooterModule, imports: [[CommonModule, FoehnIconsModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnFooterModule, decorators: [{
8
+ FoehnFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ FoehnFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: FoehnFooterModule, declarations: [FoehnFooterComponent], imports: [CommonModule, FoehnIconsModule], exports: [FoehnFooterComponent] });
10
+ FoehnFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFooterModule, imports: [CommonModule, FoehnIconsModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFooterModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule, FoehnIconsModule],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
16
16
  exports: [FoehnFooterComponent]
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZm9vdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb290ZXIvZm9laG4tZm9vdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFPaEUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUhYLG9CQUFvQixhQUR6QixZQUFZLEVBQUUsZ0JBQWdCLGFBRTlCLG9CQUFvQjsrR0FFckIsaUJBQWlCLFlBSmpCLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDOzJGQUloQyxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb2Vobkljb25zTW9kdWxlIH0gZnJvbSAnLi4vZm9laG4taWNvbnMvZm9laG4taWNvbnMubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1mb290ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb2Vobkljb25zTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2VobkZvb3RlckNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0ZvZWhuRm9vdGVyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkZvb3Rlck1vZHVsZSB7fVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZm9vdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb290ZXIvZm9laG4tZm9vdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFPaEUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUhYLG9CQUFvQixhQUR6QixZQUFZLEVBQUUsZ0JBQWdCLGFBRTlCLG9CQUFvQjsrR0FFckIsaUJBQWlCLFlBSmhCLFlBQVksRUFBRSxnQkFBZ0I7MkZBSS9CLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3pDLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobkZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tZm9vdGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9laG5JY29uc01vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5Gb290ZXJDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtGb2VobkZvb3RlckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Gb290ZXJNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,135 @@
1
+ import { Component, ContentChildren, Input, ViewChild } from '@angular/core';
2
+ import { NgForm } from '@angular/forms';
3
+ import { RegisterNgModelService } from '../foehn-form/register-ng-model.service';
4
+ import { FoehnInputComponent } from '../foehn-input/foehn-input.component';
5
+ import { ServiceLocator } from '../service-locator';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../foehn-validation-alert-summary/foehn-validation-alert-summary.component";
8
+ import * as i2 from "@angular/forms";
9
+ export class FoehnFormComponent {
10
+ constructor() {
11
+ this.shouldDisplayAlertSummary = true;
12
+ this.registeredNgModels = [];
13
+ this.registerNgModelService = ServiceLocator.injector.get(RegisterNgModelService);
14
+ // eslint-disable-next-line rxjs-angular/prefer-async-pipe
15
+ this.registerNgModelServiceSubscription = this.registerNgModelService.updateRegisteredNgModelsSubject.subscribe(() => this.updateRegisteredNgModels());
16
+ }
17
+ reset(resetChildrenValues = false) {
18
+ if (resetChildrenValues) {
19
+ for (const c of this.getAllComponents()) {
20
+ c.reset();
21
+ }
22
+ }
23
+ this.ngFormComponent.form.markAsUntouched();
24
+ this.ngFormComponent.form.markAsPristine();
25
+ }
26
+ ngOnDestroy() {
27
+ if (this.registerNgModelServiceSubscription) {
28
+ this.registerNgModelServiceSubscription.unsubscribe();
29
+ }
30
+ }
31
+ ngAfterViewInit() {
32
+ this.updateRegisteredNgModels();
33
+ // eslint-disable-next-line rxjs-angular/prefer-async-pipe
34
+ this.childrenInputComponents.changes.subscribe(() => this.updateRegisteredNgModels());
35
+ }
36
+ updateRegisteredNgModels() {
37
+ const currentNgModels = this.getAllNativeModels();
38
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
+ const toBeRegistered = [];
40
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
+ const toBeDeleted = [];
42
+ this.registeredNgModels.forEach(ng => {
43
+ if (!currentNgModels.includes(ng)) {
44
+ toBeDeleted.push(ng);
45
+ }
46
+ });
47
+ currentNgModels.forEach(ng => {
48
+ if (!this.registeredNgModels.includes(ng)) {
49
+ toBeRegistered.push(ng);
50
+ }
51
+ });
52
+ toBeDeleted.forEach(ng => this.deleteNgModel(ng));
53
+ toBeRegistered.forEach(ng => this.registerNgModel(ng));
54
+ }
55
+ getAllNativeModels() {
56
+ const models = [];
57
+ this.childrenInputComponents.forEach(c => {
58
+ c.getNativeInputList().forEach(m => {
59
+ models.push(m);
60
+ });
61
+ });
62
+ return models;
63
+ }
64
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
+ getAllComponents() {
66
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
+ let result = [];
68
+ if (this.childrenInputComponents) {
69
+ this.childrenInputComponents.forEach(c => {
70
+ result = result.concat(c.getMeAndSubComponents());
71
+ });
72
+ }
73
+ return result;
74
+ }
75
+ isValid() {
76
+ return !this.getAllComponents().some(i => i.hasErrors());
77
+ }
78
+ focusFirstInError() {
79
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
+ const allComponents = this.getAllComponents();
81
+ if (allComponents && allComponents.length > 0) {
82
+ const firstComponentInError = allComponents.find(component => component.hasErrors());
83
+ if (firstComponentInError) {
84
+ firstComponentInError.focus();
85
+ }
86
+ }
87
+ }
88
+ focusFirst() {
89
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
+ const allComponents = this.getAllComponents();
91
+ if (allComponents && allComponents.length > 0) {
92
+ allComponents[0].focus();
93
+ }
94
+ }
95
+ focusErrorSummary() {
96
+ // setTimeout to improve the compatibility with some screen readers.
97
+ setTimeout(() => {
98
+ const errorSummary = document.getElementById('error-summary');
99
+ if (errorSummary) {
100
+ errorSummary.scrollIntoView();
101
+ errorSummary.focus();
102
+ }
103
+ else {
104
+ // If there is no error summary, or if the error summary doesn't contain any compatible error.
105
+ this.focusFirstInError();
106
+ }
107
+ }, 0);
108
+ }
109
+ registerNgModel(ng) {
110
+ this.registeredNgModels.push(ng);
111
+ this.ngFormComponent.addControl(ng);
112
+ }
113
+ deleteNgModel(ng) {
114
+ const index = this.registeredNgModels.indexOf(ng);
115
+ if (index > -1) {
116
+ this.registeredNgModels.splice(index, 1);
117
+ }
118
+ this.ngFormComponent.removeControl(ng);
119
+ }
120
+ }
121
+ FoehnFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
+ FoehnFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FoehnFormComponent, selector: "foehn-form", inputs: { shouldDisplayAlertSummary: "shouldDisplayAlertSummary" }, queries: [{ propertyName: "childrenInputComponents", predicate: FoehnInputComponent, descendants: true }], viewQueries: [{ propertyName: "ngFormComponent", first: true, predicate: NgForm, descendants: true, static: true }], ngImport: i0, template: "<form id=\"foehn_formContainer\">\n <foehn-validation-alert-summary\n [form]=\"this\"\n ></foehn-validation-alert-summary>\n\n <ng-content></ng-content>\n</form>\n", dependencies: [{ kind: "component", type: i1.FoehnValidationAlertSummaryComponent, selector: "foehn-validation-alert-summary", inputs: ["form"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFormComponent, decorators: [{
124
+ type: Component,
125
+ args: [{ selector: 'foehn-form', template: "<form id=\"foehn_formContainer\">\n <foehn-validation-alert-summary\n [form]=\"this\"\n ></foehn-validation-alert-summary>\n\n <ng-content></ng-content>\n</form>\n" }]
126
+ }], ctorParameters: function () { return []; }, propDecorators: { shouldDisplayAlertSummary: [{
127
+ type: Input
128
+ }], ngFormComponent: [{
129
+ type: ViewChild,
130
+ args: [NgForm, { static: true }]
131
+ }], childrenInputComponents: [{
132
+ type: ContentChildren,
133
+ args: [FoehnInputComponent, { descendants: true }]
134
+ }] } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZm9ybS9mb2Vobi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb3JtL2ZvZWhuLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUdMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFHakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBTXBELE1BQU0sT0FBTyxrQkFBa0I7SUFnQjNCO1FBZEEsOEJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBU3pCLHVCQUFrQixHQUFjLEVBQUUsQ0FBQztRQU12QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ3JELHNCQUFzQixDQUN6QixDQUFDO1FBQ0YsMERBQTBEO1FBQzFELElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsK0JBQStCLENBQUMsU0FBUyxDQUMzRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FDeEMsQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQStCLEtBQUs7UUFDdEMsSUFBSSxtQkFBbUIsRUFBRTtZQUNyQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0Is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UUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7K0dBbkpRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhKQU9WLG1CQUFtQixpR0FIekIsTUFBTSw4REN4QnJCLHFMQU9BOzJGRGFhLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDSSxZQUFZOzBFQUt0Qix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSzNCLHVCQUF1QjtzQkFGOUIsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSZWdpc3Rlck5nTW9kZWxTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tZm9ybS9yZWdpc3Rlci1uZy1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi9zZXJ2aWNlLWxvY2F0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1mb3JtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VobkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgc2hvdWxkRGlzcGxheUFsZXJ0U3VtbWFyeSA9IHRydWU7XG5cbiAgICBAVmlld0NoaWxkKE5nRm9ybSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBuZ0Zvcm1Db21wb25lbnQ6IE5nRm9ybTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRm9laG5JbnB1dENvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBjaGlsZHJlbklucHV0Q29tcG9uZW50czogUXVlcnlMaXN0PEZvZWhuSW5wdXRDb21wb25lbnQ8YW55Pj47XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyZWROZ01vZGVsczogTmdNb2RlbFtdID0gW107XG4gICAgcHJpdmF0ZSByZWdpc3Rlck5nTW9kZWxTZXJ2aWNlOiBSZWdpc3Rlck5nTW9kZWxTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWdpc3Rlck5nTW9kZWxTZXJ2aWNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5yZWdpc3Rlck5nTW9kZWxTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgUmVnaXN0ZXJOZ01vZGVsU2VydmljZVxuICAgICAgICApO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgIHRoaXMucmVnaXN0ZXJOZ01vZGVsU2VydmljZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVnaXN0ZXJOZ01vZGVsU2VydmljZS51cGRhdGVSZWdpc3RlcmVkTmdNb2RlbHNTdWJqZWN0LnN1YnNjcmliZShcbiAgICAgICAgICAgICgpID0+IHRoaXMudXBkYXRlUmVnaXN0ZXJlZE5nTW9kZWxzKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXNldChyZXNldENoaWxkcmVuVmFsdWVzOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHJlc2V0Q2hpbGRyZW5WYWx1ZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgYyBvZiB0aGlzLmdldEFsbENvbXBvbmVudHMoKSkge1xuICAgICAgICAgICAgICAgIGMucmVzZXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5nRm9ybUNvbXBvbmVudC5mb3JtLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB0aGlzLm5nRm9ybUNvbXBvbmVudC5mb3JtLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlZ2lzdGVyTmdNb2RlbFNlcnZpY2VTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJOZ01vZGVsU2VydmljZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVJlZ2lzdGVyZWROZ01vZGVscygpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgIHRoaXMuY2hpbGRyZW5JbnB1dENvbXBvbmVudHMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlUmVnaXN0ZXJlZE5nTW9kZWxzKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVSZWdpc3RlcmVkTmdNb2RlbHMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnROZ01vZGVscyA9IHRoaXMuZ2V0QWxsTmF0aXZlTW9kZWxzKCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIGNvbnN0IHRvQmVSZWdpc3RlcmVkOiBhbnlbXSA9IFtdO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCB0b0JlRGVsZXRlZDogYW55W10gPSBbXTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyZWROZ01vZGVscy5mb3JFYWNoKG5nID0+IHtcbiAgICAgICAgICAgIGlmICghY3VycmVudE5nTW9kZWxzLmluY2x1ZGVzKG5nKSkge1xuICAgICAgICAgICAgICAgIHRvQmVEZWxldGVkLnB1c2gobmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY3VycmVudE5nTW9kZWxzLmZvckVhY2gobmcgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnJlZ2lzdGVyZWROZ01vZGVscy5pbmNsdWRlcyhuZykpIHtcbiAgICAgICAgICAgICAgICB0b0JlUmVnaXN0ZXJlZC5wdXNoKG5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdG9CZURlbGV0ZWQuZm9yRWFjaChuZyA9PiB0aGlzLmRlbGV0ZU5nTW9kZWwobmcpKTtcbiAgICAgICAgdG9CZVJlZ2lzdGVyZWQuZm9yRWFjaChuZyA9PiB0aGlzLnJlZ2lzdGVyTmdNb2RlbChuZykpO1xuICAgIH1cblxuICAgIGdldEFsbE5hdGl2ZU1vZGVscygpOiBOZ01vZGVsW10ge1xuICAgICAgICBjb25zdCBtb2RlbHM6IE5nTW9kZWxbXSA9IFtdO1xuICAgICAgICB0aGlzLmNoaWxkcmVuSW5wdXRDb21wb25lbnRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgICAgICBjLmdldE5hdGl2ZUlucHV0TGlzdCgpLmZvckVhY2gobSA9PiB7XG4gICAgICAgICAgICAgICAgbW9kZWxzLnB1c2gobSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBtb2RlbHM7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRBbGxDb21wb25lbnRzKCk6IEZvZWhuSW5wdXRDb21wb25lbnQ8YW55PltdIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgbGV0IHJlc3VsdDogRm9laG5JbnB1dENvbXBvbmVudDxhbnk+W10gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW5JbnB1dENvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5JbnB1dENvbXBvbmVudHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGMuZ2V0TWVBbmRTdWJDb21wb25lbnRzKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZ2V0QWxsQ29tcG9uZW50cygpLnNvbWUoaSA9PiBpLmhhc0Vycm9ycygpKTtcbiAgICB9XG5cbiAgICBmb2N1c0ZpcnN0SW5FcnJvcigpOiB2b2lkIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgY29uc3QgYWxsQ29tcG9uZW50czogRm9laG5JbnB1dENvbXBvbmVudDxhbnk+W10gPSB0aGlzLmdldEFsbENvbXBvbmVudHMoKTtcblxuICAgICAgICBpZiAoYWxsQ29tcG9uZW50cyAmJiBhbGxDb21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0Q29tcG9uZW50SW5FcnJvciA9IGFsbENvbXBvbmVudHMuZmluZChjb21wb25lbnQgPT5cbiAgICAgICAgICAgICAgICBjb21wb25lbnQuaGFzRXJyb3JzKClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZmlyc3RDb21wb25lbnRJbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgZmlyc3RDb21wb25lbnRJbkVycm9yLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1c0ZpcnN0KCk6IHZvaWQge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCBhbGxDb21wb25lbnRzOiBGb2VobklucHV0Q29tcG9uZW50PGFueT5bXSA9IHRoaXMuZ2V0QWxsQ29tcG9uZW50cygpO1xuXG4gICAgICAgIGlmIChhbGxDb21wb25lbnRzICYmIGFsbENvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgYWxsQ29tcG9uZW50c1swXS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXNFcnJvclN1bW1hcnkoKTogdm9pZCB7XG4gICAgICAgIC8vIHNldFRpbWVvdXQgdG8gaW1wcm92ZSB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgc2NyZWVuIHJlYWRlcnMuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JTdW1tYXJ5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXN1bW1hcnknKTtcblxuICAgICAgICAgICAgaWYgKGVycm9yU3VtbWFyeSkge1xuICAgICAgICAgICAgICAgIGVycm9yU3VtbWFyeS5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgIGVycm9yU3VtbWFyeS5mb2N1cygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBlcnJvciBzdW1tYXJ5LCBvciBpZiB0aGUgZXJyb3Igc3VtbWFyeSBkb2Vzbid0IGNvbnRhaW4gYW55IGNvbXBhdGlibGUgZXJyb3IuXG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c0ZpcnN0SW5FcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyTmdNb2RlbChuZzogTmdNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyZWROZ01vZGVscy5wdXNoKG5nKTtcbiAgICAgICAgdGhpcy5uZ0Zvcm1Db21wb25lbnQuYWRkQ29udHJvbChuZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWxldGVOZ01vZGVsKG5nOiBOZ01vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5yZWdpc3RlcmVkTmdNb2RlbHMuaW5kZXhPZihuZyk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyZWROZ01vZGVscy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmdGb3JtQ29tcG9uZW50LnJlbW92ZUNvbnRyb2wobmcpO1xuICAgIH1cbn1cbiIsIjxmb3JtIGlkPVwiZm9laG5fZm9ybUNvbnRhaW5lclwiPlxuICAgIDxmb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnlcbiAgICAgICAgW2Zvcm1dPVwidGhpc1wiXG4gICAgPjwvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5PlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9mb3JtPlxuIl19
@@ -0,0 +1,32 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { FoehnValidationAlertSummaryModule } from '../foehn-validation-alert-summary/foehn-validation-alert-summary.module';
5
+ import { FoehnFormComponent } from './foehn-form.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ export class FoehnFormModule {
9
+ }
10
+ FoehnFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ FoehnFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: FoehnFormModule, declarations: [FoehnFormComponent], imports: [CommonModule,
12
+ FoehnValidationAlertSummaryModule, i1.FormsModule], exports: [FoehnFormComponent] });
13
+ FoehnFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFormModule, imports: [CommonModule,
14
+ FoehnValidationAlertSummaryModule,
15
+ FormsModule.withConfig({
16
+ callSetDisabledState: 'whenDisabledForLegacyCode'
17
+ })] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnFormModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ imports: [
22
+ CommonModule,
23
+ FoehnValidationAlertSummaryModule,
24
+ FormsModule.withConfig({
25
+ callSetDisabledState: 'whenDisabledForLegacyCode'
26
+ })
27
+ ],
28
+ declarations: [FoehnFormComponent],
29
+ exports: [FoehnFormComponent]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZm9ybS9mb2Vobi1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDNUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQWE1RCxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQUhULGtCQUFrQixhQU43QixZQUFZO1FBQ1osaUNBQWlDLDZCQU0zQixrQkFBa0I7NkdBRW5CLGVBQWUsWUFUcEIsWUFBWTtRQUNaLGlDQUFpQztRQUNqQyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQ25CLG9CQUFvQixFQUFFLDJCQUEyQjtTQUNwRCxDQUFDOzJGQUtHLGVBQWU7a0JBWDNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osaUNBQWlDO3dCQUNqQyxXQUFXLENBQUMsVUFBVSxDQUFDOzRCQUNuQixvQkFBb0IsRUFBRSwyQkFBMkI7eUJBQ3BELENBQUM7cUJBQ0w7b0JBQ0QsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZvZWhuVmFsaWRhdGlvbkFsZXJ0U3VtbWFyeU1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnQtc3VtbWFyeS9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tZm9ybS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb2VoblZhbGlkYXRpb25BbGVydFN1bW1hcnlNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLndpdGhDb25maWcoe1xuICAgICAgICAgICAgY2FsbFNldERpc2FibGVkU3RhdGU6ICd3aGVuRGlzYWJsZWRGb3JMZWdhY3lDb2RlJ1xuICAgICAgICB9KVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5Gb3JtQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5Gb3JtQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkZvcm1Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class RegisterNgModelService {
5
+ constructor() {
6
+ this._updateRegisteredNgModelsSubject = new Subject();
7
+ }
8
+ get updateRegisteredNgModelsSubject() {
9
+ return this._updateRegisteredNgModelsSubject.asObservable();
10
+ }
11
+ updateRegisteredNgModels() {
12
+ this._updateRegisteredNgModelsSubject.next();
13
+ }
14
+ }
15
+ RegisterNgModelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: RegisterNgModelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ RegisterNgModelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: RegisterNgModelService, providedIn: 'root' });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: RegisterNgModelService, decorators: [{
18
+ type: Injectable,
19
+ args: [{
20
+ providedIn: 'root'
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItbmctbW9kZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb3JtL3JlZ2lzdGVyLW5nLW1vZGVsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBSVkscUNBQWdDLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7S0FTakY7SUFQRyxJQUFJLCtCQUErQjtRQUMvQixPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsd0JBQXdCO1FBQ3BCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDOzttSEFUUSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZuQixNQUFNOzJGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJOZ01vZGVsU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfdXBkYXRlUmVnaXN0ZXJlZE5nTW9kZWxzU3ViamVjdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgdXBkYXRlUmVnaXN0ZXJlZE5nTW9kZWxzU3ViamVjdCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwZGF0ZVJlZ2lzdGVyZWROZ01vZGVsc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlUmVnaXN0ZXJlZE5nTW9kZWxzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cGRhdGVSZWdpc3RlcmVkTmdNb2RlbHNTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG59XG4iXX0=