@dsivd/prestations-ng 17.10.9 → 18.0.0-beta.10

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 (314) hide show
  1. package/CHANGELOG.md +2478 -2466
  2. package/CONTRIBUTING.md +66 -66
  3. package/ESLINT_MIGRATION_GUIDE.md +19 -33
  4. package/MODULES.md +88 -88
  5. package/MULTI_ETAPES.md +9 -9
  6. package/README.md +25 -24
  7. package/README_COMMON.md +10 -10
  8. package/UPGRADING_V12.md +36 -36
  9. package/UPGRADING_V13.md +3 -3
  10. package/UPGRADING_V14.md +2 -2
  11. package/UPGRADING_V15.md +4 -4
  12. package/UPGRADING_V16.md +38 -38
  13. package/UPGRADING_V17.md +51 -51
  14. package/UPGRADING_V18.md +596 -8
  15. package/UPGRADING_V8.md +5 -5
  16. package/abstract-page-component.d.ts +1 -1
  17. package/dsivd-prestations-ng-18.0.0-beta.10.tgz +0 -0
  18. package/fesm2022/dsivd-prestations-ng.mjs +903 -868
  19. package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
  20. package/foehn-checkables/foehn-checkable-group.component.d.ts +1 -1
  21. package/foehn-checkables/foehn-checkables.module.d.ts +6 -7
  22. package/foehn-date-picker/date-picker.helper.d.ts +1 -1
  23. package/foehn-icons/abstract-icon-component.d.ts +1 -1
  24. package/foehn-input/foehn-input-string.component.d.ts +1 -1
  25. package/foehn-input/foehn-input.component.d.ts +1 -1
  26. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
  27. package/foehn-menu-prestation/abstract-menu-page.component.d.ts +1 -1
  28. package/foehn-menu-prestation/abstract-page-from-menu.component.d.ts +1 -1
  29. package/foehn-navigation/abstract-foehn-navigation.component.d.ts +1 -1
  30. package/foehn-table/foehn-table.component.d.ts +1 -6
  31. package/foehn-upload/abstract-foehn-uploader.component.d.ts +1 -2
  32. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -3
  33. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +1 -1
  34. package/index.d.ts +1 -1
  35. package/index.html +1 -1
  36. package/package.json +15 -17
  37. package/prestations-ng-core.module.d.ts +5 -4
  38. package/sdk-appinfo/application-info.service.d.ts +1 -0
  39. package/sdk-drafts/drafts.module.d.ts +7 -8
  40. package/sdk-support-alert/support-alert.module.d.ts +2 -3
  41. package/dsivd-prestations-ng-17.10.9.tgz +0 -0
  42. package/esm2022/abstract-page-component.mjs +0 -232
  43. package/esm2022/directives/currency-formatter.directive.mjs +0 -143
  44. package/esm2022/directives/formatter.module.mjs +0 -37
  45. package/esm2022/directives/iban-formatter.directive.mjs +0 -29
  46. package/esm2022/directives/ide-formatter.directive.mjs +0 -37
  47. package/esm2022/directives/ndc-formatter.directive.mjs +0 -75
  48. package/esm2022/dsivd-prestations-ng.mjs +0 -5
  49. package/esm2022/foehn-address/address.type.mjs +0 -10
  50. package/esm2022/foehn-address/foehn-address.module.mjs +0 -55
  51. package/esm2022/foehn-address/foehn-display-address.component.mjs +0 -69
  52. package/esm2022/foehn-address/foehn-input-address.component.mjs +0 -498
  53. package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +0 -66
  54. package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +0 -56
  55. package/esm2022/foehn-agenda/calendar.type.mjs +0 -3
  56. package/esm2022/foehn-agenda/current-week.type.mjs +0 -4
  57. package/esm2022/foehn-agenda/day-slots.type.mjs +0 -3
  58. package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +0 -75
  59. package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +0 -242
  60. package/esm2022/foehn-agenda/foehn-agenda.component.mjs +0 -95
  61. package/esm2022/foehn-agenda/foehn-agenda.module.mjs +0 -62
  62. package/esm2022/foehn-agenda/pagination-week.type.mjs +0 -3
  63. package/esm2022/foehn-agenda/selected-slot.type.mjs +0 -3
  64. package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +0 -684
  65. package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +0 -40
  66. package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +0 -28
  67. package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +0 -40
  68. package/esm2022/foehn-boolean/foehn-boolean.module.mjs +0 -33
  69. package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +0 -177
  70. package/esm2022/foehn-breadcrumb/breadcrumb.mjs +0 -5
  71. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +0 -106
  72. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +0 -20
  73. package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +0 -291
  74. package/esm2022/foehn-checkables/foehn-checkables.module.mjs +0 -68
  75. package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +0 -37
  76. package/esm2022/foehn-checkables/foehn-radio.component.mjs +0 -64
  77. package/esm2022/foehn-checkables/foehn-select.component.mjs +0 -55
  78. package/esm2022/foehn-checkables/form-select-option-group.mjs +0 -3
  79. package/esm2022/foehn-checkables/form-select-option.mjs +0 -3
  80. package/esm2022/foehn-confirm-modal/foehn-confirm-modal-content.mjs +0 -7
  81. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +0 -40
  82. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +0 -19
  83. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +0 -53
  84. package/esm2022/foehn-date-picker/date-picker-navigation.helper.mjs +0 -168
  85. package/esm2022/foehn-date-picker/date-picker.helper.mjs +0 -132
  86. package/esm2022/foehn-date-picker/day-month.type.mjs +0 -3
  87. package/esm2022/foehn-date-picker/focused-day.type.mjs +0 -3
  88. package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +0 -392
  89. package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +0 -40
  90. package/esm2022/foehn-date-picker/month-year.type.mjs +0 -3
  91. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +0 -97
  92. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +0 -36
  93. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +0 -84
  94. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +0 -20
  95. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +0 -37
  96. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +0 -32
  97. package/esm2022/foehn-dropdown-menu/dropdown-menu-group.type.mjs +0 -3
  98. package/esm2022/foehn-dropdown-menu/dropdown-menu-item.type.mjs +0 -6
  99. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +0 -212
  100. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +0 -21
  101. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +0 -113
  102. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.module.mjs +0 -32
  103. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.type.mjs +0 -3
  104. package/esm2022/foehn-footer/foehn-footer.component.mjs +0 -130
  105. package/esm2022/foehn-footer/foehn-footer.module.mjs +0 -19
  106. package/esm2022/foehn-footer/footer-link.type.mjs +0 -3
  107. package/esm2022/foehn-form/foehn-form.component.mjs +0 -136
  108. package/esm2022/foehn-form/foehn-form.module.mjs +0 -32
  109. package/esm2022/foehn-form/register-ng-model.service.mjs +0 -23
  110. package/esm2022/foehn-growl/foehn-growl.component.mjs +0 -45
  111. package/esm2022/foehn-growl/foehn-growl.module.mjs +0 -18
  112. package/esm2022/foehn-growl/growl-broker.service.mjs +0 -37
  113. package/esm2022/foehn-growl/growl-message.mjs +0 -9
  114. package/esm2022/foehn-growl/growl-types.mjs +0 -7
  115. package/esm2022/foehn-header/foehn-header.component.mjs +0 -159
  116. package/esm2022/foehn-header/foehn-header.module.mjs +0 -40
  117. package/esm2022/foehn-header/foehn-skip-link.component.mjs +0 -51
  118. package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +0 -44
  119. package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +0 -20
  120. package/esm2022/foehn-help-modal/foehn-help-modal.type.mjs +0 -2
  121. package/esm2022/foehn-icons/abstract-icon-component.mjs +0 -12
  122. package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +0 -19
  123. package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +0 -19
  124. package/esm2022/foehn-icons/foehn-icon-check.component.mjs +0 -19
  125. package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +0 -19
  126. package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +0 -19
  127. package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +0 -19
  128. package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +0 -19
  129. package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +0 -19
  130. package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +0 -19
  131. package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +0 -19
  132. package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +0 -19
  133. package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +0 -19
  134. package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +0 -19
  135. package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +0 -19
  136. package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +0 -19
  137. package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +0 -19
  138. package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +0 -19
  139. package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +0 -19
  140. package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +0 -19
  141. package/esm2022/foehn-icons/foehn-icon-search.component.mjs +0 -19
  142. package/esm2022/foehn-icons/foehn-icon-times.component.mjs +0 -19
  143. package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +0 -19
  144. package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +0 -19
  145. package/esm2022/foehn-icons/foehn-icon-user.component.mjs +0 -19
  146. package/esm2022/foehn-icons/foehn-icons.module.mjs +0 -139
  147. package/esm2022/foehn-input/foehn-input-email.component.mjs +0 -74
  148. package/esm2022/foehn-input/foehn-input-hidden.component.mjs +0 -54
  149. package/esm2022/foehn-input/foehn-input-number.component.mjs +0 -319
  150. package/esm2022/foehn-input/foehn-input-password.component.mjs +0 -51
  151. package/esm2022/foehn-input/foehn-input-phone.component.mjs +0 -99
  152. package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +0 -116
  153. package/esm2022/foehn-input/foehn-input-string.component.mjs +0 -27
  154. package/esm2022/foehn-input/foehn-input-text.component.mjs +0 -69
  155. package/esm2022/foehn-input/foehn-input-textarea.component.mjs +0 -97
  156. package/esm2022/foehn-input/foehn-input.component.mjs +0 -418
  157. package/esm2022/foehn-input/foehn-input.module.mjs +0 -98
  158. package/esm2022/foehn-input/pattern.const.mjs +0 -16
  159. package/esm2022/foehn-input-date/foehn-input-date.component.mjs +0 -163
  160. package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +0 -201
  161. package/esm2022/foehn-input-time/foehn-input-time.component.mjs +0 -89
  162. package/esm2022/foehn-list/foehn-list.component.mjs +0 -127
  163. package/esm2022/foehn-list/foehn-list.module.mjs +0 -19
  164. package/esm2022/foehn-list/page-change-event.mjs +0 -3
  165. package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +0 -122
  166. package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +0 -31
  167. package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +0 -87
  168. package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +0 -25
  169. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs +0 -2
  170. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs +0 -3
  171. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +0 -161
  172. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +0 -38
  173. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +0 -58
  174. package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +0 -67
  175. package/esm2022/foehn-misc/foehn-abbr.component.mjs +0 -15
  176. package/esm2022/foehn-misc/foehn-misc.module.mjs +0 -17
  177. package/esm2022/foehn-modal/foehn-modal.component.mjs +0 -94
  178. package/esm2022/foehn-modal/foehn-modal.module.mjs +0 -21
  179. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +0 -287
  180. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +0 -40
  181. package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +0 -114
  182. package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +0 -32
  183. package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +0 -55
  184. package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +0 -67
  185. package/esm2022/foehn-navigation/foehn-navigation.module.mjs +0 -37
  186. package/esm2022/foehn-navigation/foehn-navigation.service.mjs +0 -322
  187. package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +0 -26
  188. package/esm2022/foehn-notfound/foehn-notfound.component.mjs +0 -61
  189. package/esm2022/foehn-notfound/foehn-notfound.module.mjs +0 -20
  190. package/esm2022/foehn-page/foehn-page-counter.component.mjs +0 -31
  191. package/esm2022/foehn-page/foehn-page-expiration-timer/current-session-expiration.mjs +0 -3
  192. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +0 -68
  193. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +0 -53
  194. package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +0 -175
  195. package/esm2022/foehn-page/foehn-page-expiration-timer/interval.helper.mjs +0 -29
  196. package/esm2022/foehn-page/foehn-page-modal.component.mjs +0 -54
  197. package/esm2022/foehn-page/foehn-page-modal.service.mjs +0 -38
  198. package/esm2022/foehn-page/foehn-page.component.mjs +0 -223
  199. package/esm2022/foehn-page/foehn-page.module.mjs +0 -101
  200. package/esm2022/foehn-page/foehn-page.service.mjs +0 -54
  201. package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +0 -52
  202. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +0 -23
  203. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +0 -32
  204. package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +0 -98
  205. package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +0 -20
  206. package/esm2022/foehn-recap-section/foehn-recap-section.type.mjs +0 -2
  207. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +0 -50
  208. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +0 -18
  209. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +0 -56
  210. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +0 -20
  211. package/esm2022/foehn-table/foehn-table-column-configuration.mjs +0 -3
  212. package/esm2022/foehn-table/foehn-table-page-change-event.mjs +0 -3
  213. package/esm2022/foehn-table/foehn-table.component.mjs +0 -190
  214. package/esm2022/foehn-table/foehn-table.module.mjs +0 -40
  215. package/esm2022/foehn-table/row-element.type.mjs +0 -3
  216. package/esm2022/foehn-table/tableSort.mjs +0 -3
  217. package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +0 -242
  218. package/esm2022/foehn-upload/document-reference.mjs +0 -6
  219. package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +0 -116
  220. package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs +0 -6
  221. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +0 -199
  222. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +0 -40
  223. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +0 -250
  224. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +0 -40
  225. package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +0 -125
  226. package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.type.mjs +0 -6
  227. package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +0 -163
  228. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +0 -178
  229. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +0 -44
  230. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +0 -83
  231. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +0 -21
  232. package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +0 -66
  233. package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.type.mjs +0 -7
  234. package/esm2022/foehn-upload/page-upload-limit.service.mjs +0 -80
  235. package/esm2022/foehn-upload/pending-upload.type.mjs +0 -3
  236. package/esm2022/foehn-upload/uploader.helper.mjs +0 -329
  237. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +0 -21
  238. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +0 -19
  239. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +0 -96
  240. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +0 -19
  241. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +0 -29
  242. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +0 -18
  243. package/esm2022/form-error.mjs +0 -2
  244. package/esm2022/form-post-response.mjs +0 -10
  245. package/esm2022/gesdem/gesdem-error-handler.service.mjs +0 -85
  246. package/esm2022/gesdem/gesdem-event.service.mjs +0 -38
  247. package/esm2022/gesdem/gesdem-handler.service.mjs +0 -201
  248. package/esm2022/gesdem/gesdem-loader.guard.mjs +0 -25
  249. package/esm2022/gesdem/gesdem-statut-utils.mjs +0 -25
  250. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +0 -170
  251. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +0 -227
  252. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +0 -62
  253. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +0 -97
  254. package/esm2022/gesdem-action-recovery/reprise-info.mjs +0 -4
  255. package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +0 -241
  256. package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +0 -36
  257. package/esm2022/gesdem-error/gesdem-error.component.mjs +0 -96
  258. package/esm2022/gesdem-error/gesdem-error.module.mjs +0 -36
  259. package/esm2022/global.const.mjs +0 -5
  260. package/esm2022/helpers/demande.helper.mjs +0 -19
  261. package/esm2022/helpers/object.helper.mjs +0 -124
  262. package/esm2022/i18n-form.mjs +0 -7
  263. package/esm2022/pipes/currency.pipe.mjs +0 -18
  264. package/esm2022/pipes/date.pipe.mjs +0 -43
  265. package/esm2022/pipes/formatIde.pipe.mjs +0 -22
  266. package/esm2022/pipes/pipes.module.mjs +0 -18
  267. package/esm2022/prestations-ng-core.module.mjs +0 -31
  268. package/esm2022/public_api.mjs +0 -288
  269. package/esm2022/refinf/model/address-type-light.mjs +0 -3
  270. package/esm2022/refinf/model/canton.mjs +0 -3
  271. package/esm2022/refinf/model/district.mjs +0 -3
  272. package/esm2022/refinf/model/municipality.mjs +0 -3
  273. package/esm2022/refinf/model/place-of-origin.mjs +0 -3
  274. package/esm2022/refinf/model/postal-locality.mjs +0 -3
  275. package/esm2022/sdk-appinfo/application-info.mjs +0 -22
  276. package/esm2022/sdk-appinfo/application-info.service.mjs +0 -146
  277. package/esm2022/sdk-currency/currency.helper.mjs +0 -34
  278. package/esm2022/sdk-date/date.helper.mjs +0 -109
  279. package/esm2022/sdk-dictionary/default-dictionary.mjs +0 -312
  280. package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +0 -16
  281. package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +0 -28
  282. package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +0 -122
  283. package/esm2022/sdk-drafts/draft.model.mjs +0 -2
  284. package/esm2022/sdk-drafts/drafts-container.component.mjs +0 -99
  285. package/esm2022/sdk-drafts/drafts.module.mjs +0 -47
  286. package/esm2022/sdk-drafts/drafts.service.mjs +0 -51
  287. package/esm2022/sdk-epayment/model/EPaymentParameters.mjs +0 -2
  288. package/esm2022/sdk-epayment/pending-payment/pending-payment.component.mjs +0 -24
  289. package/esm2022/sdk-epayment/sdk-epayment.component.mjs +0 -76
  290. package/esm2022/sdk-epayment/sdk-epayment.module.mjs +0 -23
  291. package/esm2022/sdk-epayment/sdk-epayment.service.mjs +0 -51
  292. package/esm2022/sdk-events-logger/sdk-event-type.mjs +0 -14
  293. package/esm2022/sdk-events-logger/sdk-event.mjs +0 -3
  294. package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +0 -43
  295. package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +0 -113
  296. package/esm2022/sdk-recaptcha/recaptcha.service.mjs +0 -180
  297. package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +0 -75
  298. package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +0 -19
  299. package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +0 -62
  300. package/esm2022/sdk-redirect/redirect.component.mjs +0 -55
  301. package/esm2022/sdk-redirect/sdk-redirect.module.mjs +0 -19
  302. package/esm2022/sdk-session-info/session-info-data.mjs +0 -6
  303. package/esm2022/sdk-session-info/session-info-with-application.service.mjs +0 -68
  304. package/esm2022/sdk-session-info/session-info.service.mjs +0 -50
  305. package/esm2022/sdk-statistics/sdk-statistics.service.mjs +0 -74
  306. package/esm2022/sdk-support-alert/support-alert-container.component.mjs +0 -49
  307. package/esm2022/sdk-support-alert/support-alert.component.mjs +0 -32
  308. package/esm2022/sdk-support-alert/support-alert.model.mjs +0 -7
  309. package/esm2022/sdk-support-alert/support-alert.module.mjs +0 -21
  310. package/esm2022/sdk-support-alert/support-alert.service.mjs +0 -139
  311. package/esm2022/service-locator.mjs +0 -4
  312. package/esm2022/supported-browser.mjs +0 -2
  313. package/esm2022/validation/validation-handler.service.mjs +0 -44
  314. /package/{public_api.d.ts → public-api.d.ts} +0 -0
@@ -1,212 +0,0 @@
1
- import { Component, HostBinding, HostListener, Input, ViewChild, ViewChildren } from '@angular/core';
2
- import { first } from 'rxjs/operators';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "../sdk-dictionary/sdk-dictionary.pipe";
7
- export class FoehnDropdownMenuComponent {
8
- constructor(router) {
9
- this.router = router;
10
- this.btnCssClass = 'btn-secondary';
11
- this.isDropdownVisible = false;
12
- this.currentItemGlobalIndex = -1;
13
- this.popupPosition = {
14
- top: 0,
15
- left: 0
16
- };
17
- }
18
- handleKeyboardUpEvent(event) {
19
- if (this.isDropdownVisible && event.key === 'Escape') {
20
- this.resetDropdown();
21
- this.buttonTrigger.nativeElement.focus();
22
- }
23
- }
24
- handleKeyboardDownEvent(event) {
25
- if (this.isDropdownVisible) {
26
- this.onKeyDownInner(event);
27
- }
28
- }
29
- ngOnInit() {
30
- this.hostId = this.buildId();
31
- }
32
- handleFocusIn() {
33
- clearTimeout(this.closeDropdownTimer);
34
- }
35
- handleFocusOut() {
36
- clearTimeout(this.closeDropdownTimer);
37
- this.closeDropdownTimer = setTimeout(() => {
38
- this.resetDropdown();
39
- }, 50);
40
- }
41
- buildId(suffix = '') {
42
- const baseId = this.id;
43
- if (!baseId) {
44
- return null;
45
- }
46
- return `${baseId}${suffix}`;
47
- }
48
- toggleDropdownVisibility() {
49
- this.isDropdownVisible = !this.isDropdownVisible;
50
- if (this.isDropdownVisible) {
51
- // eslint-disable-next-line rxjs-angular/prefer-async-pipe
52
- this.selectedFocusList.changes.pipe(first()).subscribe(() => {
53
- this.entryPoint.nativeElement.focus();
54
- // Need setTimeout to be sure we have latest position for calculations
55
- setTimeout(() => this.calculatePopupPosition());
56
- });
57
- }
58
- else {
59
- this.resetDropdown();
60
- }
61
- }
62
- resetDropdown() {
63
- this.isDropdownVisible = false;
64
- this.currentItemGlobalIndex = -1;
65
- }
66
- onKeyDownInner(keyEvent) {
67
- // IE doesn't support keyEvent.code, and has different values
68
- // in keyEvent.key (Down instead of ArrowDown for instance), hence the multi-support.
69
- let ie11CompatibleCode = keyEvent.code || keyEvent.key;
70
- if (keyEvent.shiftKey) {
71
- ie11CompatibleCode = `Shift+${ie11CompatibleCode}`;
72
- }
73
- switch (ie11CompatibleCode) {
74
- case 'Down':
75
- case 'ArrowDown':
76
- case 'Tab':
77
- this.focusNextElement(true);
78
- break;
79
- case 'Up':
80
- case 'ArrowUp':
81
- case 'Shift+Tab':
82
- this.focusNextElement(false);
83
- break;
84
- case 'Home':
85
- this.focusFirstElement();
86
- break;
87
- case 'End':
88
- this.focusLastElement();
89
- break;
90
- case 'Space':
91
- case 'Spacebar':
92
- case 'Enter':
93
- this.selectCurrentFocusItem();
94
- break;
95
- default:
96
- return true;
97
- }
98
- keyEvent.preventDefault();
99
- keyEvent.stopPropagation();
100
- return false;
101
- }
102
- focusNextElement(down) {
103
- if (this.elementsDisplayed()) {
104
- const step = down ? 1 : -1;
105
- this.currentItemGlobalIndex += step;
106
- const MAX_INDEX = this.selectedFocusList.length - 1;
107
- if (this.currentItemGlobalIndex < 0) {
108
- this.currentItemGlobalIndex = MAX_INDEX;
109
- }
110
- else if (this.currentItemGlobalIndex > MAX_INDEX) {
111
- this.currentItemGlobalIndex = 0;
112
- }
113
- const nextLiElement = this.selectedFocusList.get(this.currentItemGlobalIndex).nativeElement;
114
- // Check if li contains a link and focus it
115
- if (nextLiElement.firstElementChild.tagName === 'A') {
116
- nextLiElement.firstElementChild.focus();
117
- return;
118
- }
119
- // Focus li-group-title
120
- nextLiElement.focus();
121
- }
122
- }
123
- focusFirstElement() {
124
- this.currentItemGlobalIndex = -1;
125
- this.focusNextElement(true);
126
- }
127
- focusLastElement() {
128
- this.currentItemGlobalIndex = -1;
129
- this.focusNextElement(false);
130
- }
131
- selectCurrentFocusItem() {
132
- const currentFocusedElement = document.activeElement;
133
- if (!!currentFocusedElement && currentFocusedElement.tagName === 'A') {
134
- if (currentFocusedElement.getAttribute('use-router') === 'true') {
135
- this.router.navigate([
136
- currentFocusedElement.getAttribute('href')
137
- ]);
138
- }
139
- else {
140
- if (!!currentFocusedElement.getAttribute('target')) {
141
- window.open(currentFocusedElement.getAttribute('href'), currentFocusedElement.getAttribute('target'));
142
- }
143
- else {
144
- window.open(currentFocusedElement.getAttribute('href'), '_self');
145
- }
146
- }
147
- }
148
- }
149
- elementsDisplayed() {
150
- return this.selectedFocusList && !!this.selectedFocusList.length;
151
- }
152
- calculatePopupPosition() {
153
- const screenWidth = window.innerWidth - 20;
154
- const screenHeight = window.innerHeight - 20;
155
- if (this.entryPoint) {
156
- const popupBoundingRect = this.entryPoint.nativeElement.getBoundingClientRect();
157
- const triggerButtonBoundingRect = this.buttonTrigger.nativeElement.getBoundingClientRect();
158
- const calculatedWidth = triggerButtonBoundingRect.x + popupBoundingRect.width;
159
- const calculatedHeight = triggerButtonBoundingRect.y +
160
- triggerButtonBoundingRect.height +
161
- popupBoundingRect.height;
162
- if (calculatedWidth > screenWidth) {
163
- this.popupPosition.left =
164
- -popupBoundingRect.width + triggerButtonBoundingRect.width;
165
- }
166
- else {
167
- this.popupPosition.left = 0;
168
- }
169
- if (calculatedHeight > screenHeight) {
170
- this.popupPosition.top =
171
- -triggerButtonBoundingRect.height -
172
- popupBoundingRect.height;
173
- }
174
- else {
175
- this.popupPosition.top = 0;
176
- }
177
- }
178
- }
179
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnDropdownMenuComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
180
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnDropdownMenuComponent, selector: "foehn-dropdown-menu", inputs: { id: "id", label: "label", model: "model", btnCssClass: "btnCssClass" }, host: { listeners: { "keyup": "handleKeyboardUpEvent($event)", "keydown": "handleKeyboardDownEvent($event)" }, properties: { "attr.id": "this.hostId" } }, viewQueries: [{ propertyName: "buttonTrigger", first: true, predicate: ["buttonTrigger"], descendants: true, static: true }, { propertyName: "entryPoint", first: true, predicate: ["entryPoint"], descendants: true }, { propertyName: "selectedFocusList", predicate: ["selectedFocusList"], descendants: true }], ngImport: i0, template: "<nav\n [attr.id]=\"buildId('NavContainer')\"\n tabindex=\"-1\"\n [attr.aria-label]=\"'foehn-dropdown-menu.aria-label' | fromDictionary\"\n>\n <button\n [attr.id]=\"buildId('TriggerButton')\"\n type=\"button\"\n class=\"d-flex align-items-center btn\"\n [ngClass]=\"btnCssClass\"\n (click)=\"toggleDropdownVisibility()\"\n (focusin)=\"handleFocusIn()\"\n (focusout)=\"handleFocusOut()\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isDropdownVisible\"\n [attr.aria-controls]=\"'dropdown-menu-list'\"\n [attr.aria-label]=\"label || null\"\n #buttonTrigger\n >\n <ng-content></ng-content>\n </button>\n\n <div class=\"dropdown-menu-container\" *ngIf=\"!!model && isDropdownVisible\">\n <ul\n id=\"dropdown-menu-list\"\n class=\"parent-list list-group\"\n (focusin)=\"handleFocusIn()\"\n (focusout)=\"handleFocusOut()\"\n [style.left.px]=\"popupPosition.left\"\n [style.top.px]=\"popupPosition.top\"\n tabindex=\"-1\"\n #entryPoint\n >\n <ng-container *ngFor=\"let group of model; let i = index\">\n <ng-container *ngIf=\"!!group.title\">\n <li\n *ngIf=\"i > 0\"\n class=\"list-group-item item-divider\"\n [attr.role]=\"'separator'\"\n ></li>\n <li\n class=\"list-group-item list-group-title\"\n tabindex=\"0\"\n #selectedFocusList\n >\n <strong *ngIf=\"!!group.title\">{{ group.title }}</strong>\n <ul class=\"child-list list-group\">\n <li\n *ngFor=\"let item of group.items\"\n class=\"list-group-item\"\n #selectedFocusList\n >\n <ng-container\n [ngTemplateOutlet]=\"itemLink\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </li>\n </ul>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!group.title\">\n <li\n *ngIf=\"i > 0\"\n class=\"list-group-item item-divider\"\n [attr.role]=\"'separator'\"\n ></li>\n <li\n *ngFor=\"let item of group.items; let j = index\"\n class=\"list-group-item\"\n #selectedFocusList\n >\n <ng-container\n [ngTemplateOutlet]=\"itemLink\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n</nav>\n\n<ng-template #itemLink let-item=\"item\">\n <a\n *ngIf=\"!!item.routerLink\"\n [attr.title]=\"item.title\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [innerHTML]=\"item.label\"\n [attr.use-router]=\"true\"\n ></a>\n <a\n *ngIf=\"!item.routerLink\"\n [attr.title]=\"item.title\"\n [attr.href]=\"item.href\"\n [attr.target]=\"item.target\"\n [innerHTML]=\"item.label\"\n [attr.use-router]=\"false\"\n ></a>\n</ng-template>\n", styles: [":host ::ng-deep .btn .svg-inline--fa{color:#000!important}nav button:after{display:inline-block;width:0;height:0;margin-left:.3em;content:\"\";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}nav button.btn.btn-link:after{color:#000}.dropdown-menu-container{position:relative;width:100%}.dropdown-menu-container .parent-list{position:absolute;top:0;left:0;z-index:9999;box-shadow:0 4px 8px #0003,0 6px 20px #00000030;background-color:#fff;width:max-content;max-width:350px}.dropdown-menu-container .list-group-item{border:0;padding:0}.dropdown-menu-container li.item-divider{border-top:1px solid #ddd!important}.dropdown-menu-container li a{width:100%;color:inherit;display:block;padding:.75rem;word-break:break-word}.dropdown-menu-container li.list-group-title strong{padding-left:.75rem}.dropdown-menu-container ul.child-list a{padding-left:1.5rem}.dropdown-menu-container li a:focus{box-shadow:none}.dropdown-menu-container li.list-group-item:hover,.dropdown-menu-container li.list-group-item a:focus{background-color:var(--vd-primary-dark);outline:none;color:#fff}.dropdown-menu-container .list-group-title{padding-top:.5rem}.dropdown-menu-container li.list-group-title:hover{background:none;color:inherit}.dropdown-menu-container li.list-group-title:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i3.SdkDictionaryPipe, name: "fromDictionary" }] }); }
181
- }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnDropdownMenuComponent, decorators: [{
183
- type: Component,
184
- args: [{ selector: 'foehn-dropdown-menu', template: "<nav\n [attr.id]=\"buildId('NavContainer')\"\n tabindex=\"-1\"\n [attr.aria-label]=\"'foehn-dropdown-menu.aria-label' | fromDictionary\"\n>\n <button\n [attr.id]=\"buildId('TriggerButton')\"\n type=\"button\"\n class=\"d-flex align-items-center btn\"\n [ngClass]=\"btnCssClass\"\n (click)=\"toggleDropdownVisibility()\"\n (focusin)=\"handleFocusIn()\"\n (focusout)=\"handleFocusOut()\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isDropdownVisible\"\n [attr.aria-controls]=\"'dropdown-menu-list'\"\n [attr.aria-label]=\"label || null\"\n #buttonTrigger\n >\n <ng-content></ng-content>\n </button>\n\n <div class=\"dropdown-menu-container\" *ngIf=\"!!model && isDropdownVisible\">\n <ul\n id=\"dropdown-menu-list\"\n class=\"parent-list list-group\"\n (focusin)=\"handleFocusIn()\"\n (focusout)=\"handleFocusOut()\"\n [style.left.px]=\"popupPosition.left\"\n [style.top.px]=\"popupPosition.top\"\n tabindex=\"-1\"\n #entryPoint\n >\n <ng-container *ngFor=\"let group of model; let i = index\">\n <ng-container *ngIf=\"!!group.title\">\n <li\n *ngIf=\"i > 0\"\n class=\"list-group-item item-divider\"\n [attr.role]=\"'separator'\"\n ></li>\n <li\n class=\"list-group-item list-group-title\"\n tabindex=\"0\"\n #selectedFocusList\n >\n <strong *ngIf=\"!!group.title\">{{ group.title }}</strong>\n <ul class=\"child-list list-group\">\n <li\n *ngFor=\"let item of group.items\"\n class=\"list-group-item\"\n #selectedFocusList\n >\n <ng-container\n [ngTemplateOutlet]=\"itemLink\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </li>\n </ul>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!group.title\">\n <li\n *ngIf=\"i > 0\"\n class=\"list-group-item item-divider\"\n [attr.role]=\"'separator'\"\n ></li>\n <li\n *ngFor=\"let item of group.items; let j = index\"\n class=\"list-group-item\"\n #selectedFocusList\n >\n <ng-container\n [ngTemplateOutlet]=\"itemLink\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n</nav>\n\n<ng-template #itemLink let-item=\"item\">\n <a\n *ngIf=\"!!item.routerLink\"\n [attr.title]=\"item.title\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [innerHTML]=\"item.label\"\n [attr.use-router]=\"true\"\n ></a>\n <a\n *ngIf=\"!item.routerLink\"\n [attr.title]=\"item.title\"\n [attr.href]=\"item.href\"\n [attr.target]=\"item.target\"\n [innerHTML]=\"item.label\"\n [attr.use-router]=\"false\"\n ></a>\n</ng-template>\n", styles: [":host ::ng-deep .btn .svg-inline--fa{color:#000!important}nav button:after{display:inline-block;width:0;height:0;margin-left:.3em;content:\"\";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}nav button.btn.btn-link:after{color:#000}.dropdown-menu-container{position:relative;width:100%}.dropdown-menu-container .parent-list{position:absolute;top:0;left:0;z-index:9999;box-shadow:0 4px 8px #0003,0 6px 20px #00000030;background-color:#fff;width:max-content;max-width:350px}.dropdown-menu-container .list-group-item{border:0;padding:0}.dropdown-menu-container li.item-divider{border-top:1px solid #ddd!important}.dropdown-menu-container li a{width:100%;color:inherit;display:block;padding:.75rem;word-break:break-word}.dropdown-menu-container li.list-group-title strong{padding-left:.75rem}.dropdown-menu-container ul.child-list a{padding-left:1.5rem}.dropdown-menu-container li a:focus{box-shadow:none}.dropdown-menu-container li.list-group-item:hover,.dropdown-menu-container li.list-group-item a:focus{background-color:var(--vd-primary-dark);outline:none;color:#fff}.dropdown-menu-container .list-group-title{padding-top:.5rem}.dropdown-menu-container li.list-group-title:hover{background:none;color:inherit}.dropdown-menu-container li.list-group-title:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}\n"] }]
185
- }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { selectedFocusList: [{
186
- type: ViewChildren,
187
- args: ['selectedFocusList']
188
- }], buttonTrigger: [{
189
- type: ViewChild,
190
- args: ['buttonTrigger', { static: true }]
191
- }], entryPoint: [{
192
- type: ViewChild,
193
- args: ['entryPoint']
194
- }], id: [{
195
- type: Input
196
- }], label: [{
197
- type: Input
198
- }], model: [{
199
- type: Input
200
- }], btnCssClass: [{
201
- type: Input
202
- }], hostId: [{
203
- type: HostBinding,
204
- args: ['attr.id']
205
- }], handleKeyboardUpEvent: [{
206
- type: HostListener,
207
- args: ['keyup', ['$event']]
208
- }], handleKeyboardDownEvent: [{
209
- type: HostListener,
210
- args: ['keydown', ['$event']]
211
- }] } });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZHJvcGRvd24tbWVudS9mb2Vobi1kcm9wZG93bi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1kcm9wZG93bi1tZW51L2ZvZWhuLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFjdkMsTUFBTSxPQUFPLDBCQUEwQjtJQWdDbkMsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFabEMsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFLOUIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBS2xCLDJCQUFzQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBR2hDLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDakIsR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLEVBQUUsQ0FBQztTQUNWLENBQUM7SUFDTixDQUFDO0lBR0QscUJBQXFCLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsQ0FBQztJQUNMLENBQUM7SUFHRCx1QkFBdUIsQ0FBQyxLQUFvQjtRQUN4QyxJ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MEJBQTBCO2tCQUx0QyxTQUFTOytCQUNJLHFCQUFxQjsyRUFNL0IsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLG1CQUFtQjtnQkFJakMsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVDLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZO2dCQUl2QixFQUFFO3NCQURELEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxXQUFXO3VCQUFDLFNBQVM7Z0JBa0J0QixxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNqQyx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEcm9wZG93bk1lbnVHcm91cCB9IGZyb20gJy4vZHJvcGRvd24tbWVudS1ncm91cC50eXBlJztcblxuaW50ZXJmYWNlIFBvc2l0aW9uIHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tZHJvcGRvd24tbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuRHJvcGRvd25NZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkcmVuKCdzZWxlY3RlZEZvY3VzTGlzdCcpXG4gICAgc2VsZWN0ZWRGb2N1c0xpc3Q6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2J1dHRvblRyaWdnZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGJ1dHRvblRyaWdnZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKCdlbnRyeVBvaW50JylcbiAgICBlbnRyeVBvaW50OiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBtb2RlbDogRHJvcGRvd25NZW51R3JvdXBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgYnRuQ3NzQ2xhc3MgPSAnYnRuLXNlY29uZGFyeSc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGhvc3RJZDogc3RyaW5nO1xuXG4gICAgaXNEcm9wZG93blZpc2libGUgPSBmYWxzZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGNsb3NlRHJvcGRvd25UaW1lcjogYW55O1xuICAgIHBvcHVwUG9zaXRpb246IFBvc2l0aW9uO1xuXG4gICAgcHJpdmF0ZSBjdXJyZW50SXRlbUdsb2JhbEluZGV4ID0gLTE7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgICAgIHRoaXMucG9wdXBQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIGxlZnQ6IDBcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlS2V5Ym9hcmRVcEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcGRvd25WaXNpYmxlICYmIGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXREcm9wZG93bigpO1xuICAgICAgICAgICAgdGhpcy5idXR0b25UcmlnZ2VyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWJvYXJkRG93bkV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcGRvd25WaXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLm9uS2V5RG93bklubmVyKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3RJZCA9IHRoaXMuYnVpbGRJZCgpO1xuICAgIH1cblxuICAgIGhhbmRsZUZvY3VzSW4oKTogdm9pZCB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlRHJvcGRvd25UaW1lcik7XG4gICAgfVxuXG4gICAgaGFuZGxlRm9jdXNPdXQoKTogdm9pZCB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlRHJvcGRvd25UaW1lcik7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93blRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0RHJvcGRvd24oKTtcbiAgICAgICAgfSwgNTApO1xuICAgIH1cblxuICAgIGJ1aWxkSWQoc3VmZml4OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJhc2VJZCA9IHRoaXMuaWQ7XG4gICAgICAgIGlmICghYmFzZUlkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHtiYXNlSWR9JHtzdWZmaXh9YDtcbiAgICB9XG5cbiAgICB0b2dnbGVEcm9wZG93blZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93blZpc2libGUgPSAhdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZTtcblxuICAgICAgICBpZiAodGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZvY3VzTGlzdC5jaGFuZ2VzLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVudHJ5UG9pbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIC8vIE5lZWQgc2V0VGltZW91dCB0byBiZSBzdXJlIHdlIGhhdmUgbGF0ZXN0IHBvc2l0aW9uIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2FsY3VsYXRlUG9wdXBQb3NpdGlvbigpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZXNldERyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldERyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW1HbG9iYWxJbmRleCA9IC0xO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25LZXlEb3duSW5uZXIoa2V5RXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgLy8gSUUgZG9lc24ndCBzdXBwb3J0IGtleUV2ZW50LmNvZGUsIGFuZCBoYXMgZGlmZmVyZW50IHZhbHVlc1xuICAgICAgICAvLyBpbiBrZXlFdmVudC5rZXkgKERvd24gaW5zdGVhZCBvZiBBcnJvd0Rvd24gZm9yIGluc3RhbmNlKSwgaGVuY2UgdGhlIG11bHRpLXN1cHBvcnQuXG4gICAgICAgIGxldCBpZTExQ29tcGF0aWJsZUNvZGUgPSBrZXlFdmVudC5jb2RlIHx8IGtleUV2ZW50LmtleTtcbiAgICAgICAgaWYgKGtleUV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICBpZTExQ29tcGF0aWJsZUNvZGUgPSBgU2hpZnQrJHtpZTExQ29tcGF0aWJsZUNvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKGllMTFDb21wYXRpYmxlQ29kZSkge1xuICAgICAgICAgICAgY2FzZSAnRG93bic6XG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzTmV4dEVsZW1lbnQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdVcCc6XG4gICAgICAgICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgICAgIGNhc2UgJ1NoaWZ0K1RhYic6XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c05leHRFbGVtZW50KGZhbHNlKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNGaXJzdEVsZW1lbnQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c0xhc3RFbGVtZW50KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdTcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdTcGFjZWJhcic6XG4gICAgICAgICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RDdXJyZW50Rm9jdXNJdGVtKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAga2V5RXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAga2V5RXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNOZXh0RWxlbWVudChkb3duOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRzRGlzcGxheWVkKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0ZXAgPSBkb3duID8gMSA6IC0xO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50SXRlbUdsb2JhbEluZGV4ICs9IHN0ZXA7XG5cbiAgICAgICAgICAgIGNvbnN0IE1BWF9JTkRFWCA9IHRoaXMuc2VsZWN0ZWRGb2N1c0xpc3QubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRJdGVtR2xvYmFsSW5kZXggPCAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SXRlbUdsb2JhbEluZGV4ID0gTUFYX0lOREVYO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRJdGVtR2xvYmFsSW5kZXggPiBNQVhfSU5ERVgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJdGVtR2xvYmFsSW5kZXggPSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBuZXh0TGlFbGVtZW50ID0gdGhpcy5zZWxlY3RlZEZvY3VzTGlzdC5nZXQoXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SXRlbUdsb2JhbEluZGV4XG4gICAgICAgICAgICApLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiBsaSBjb250YWlucyBhIGxpbmsgYW5kIGZvY3VzIGl0XG4gICAgICAgICAgICBpZiAobmV4dExpRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgICAgICAgICAgICBuZXh0TGlFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRm9jdXMgbGktZ3JvdXAtdGl0bGVcbiAgICAgICAgICAgIG5leHRMaUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNGaXJzdEVsZW1lbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW1HbG9iYWxJbmRleCA9IC0xO1xuICAgICAgICB0aGlzLmZvY3VzTmV4dEVsZW1lbnQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0xhc3RFbGVtZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRJdGVtR2xvYmFsSW5kZXggPSAtMTtcbiAgICAgICAgdGhpcy5mb2N1c05leHRFbGVtZW50KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdEN1cnJlbnRGb2N1c0l0ZW0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKCEhY3VycmVudEZvY3VzZWRFbGVtZW50ICYmIGN1cnJlbnRGb2N1c2VkRWxlbWVudC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50Rm9jdXNlZEVsZW1lbnQuZ2V0QXR0cmlidXRlKCd1c2Utcm91dGVyJykgPT09ICd0cnVlJykge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEZvY3VzZWRFbGVtZW50LmdldEF0dHJpYnV0ZSgnaHJlZicpXG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghIWN1cnJlbnRGb2N1c2VkRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEZvY3VzZWRFbGVtZW50LmdldEF0dHJpYnV0ZSgnaHJlZicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEZvY3VzZWRFbGVtZW50LmdldEF0dHJpYnV0ZSgndGFyZ2V0JylcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRGb2N1c2VkRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdfc2VsZidcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGVsZW1lbnRzRGlzcGxheWVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZvY3VzTGlzdCAmJiAhIXRoaXMuc2VsZWN0ZWRGb2N1c0xpc3QubGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlUG9wdXBQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIDIwO1xuICAgICAgICBjb25zdCBzY3JlZW5IZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSAyMDtcblxuICAgICAgICBpZiAodGhpcy5lbnRyeVBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBwb3B1cEJvdW5kaW5nUmVjdCA9XG4gICAgICAgICAgICAgICAgdGhpcy5lbnRyeVBvaW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCB0cmlnZ2VyQnV0dG9uQm91bmRpbmdSZWN0ID1cbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblRyaWdnZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0ZWRXaWR0aCA9XG4gICAgICAgICAgICAgICAgdHJpZ2dlckJ1dHRvbkJvdW5kaW5nUmVjdC54ICsgcG9wdXBCb3VuZGluZ1JlY3Qud2lkdGg7XG4gICAgICAgICAgICBjb25zdCBjYWxjdWxhdGVkSGVpZ2h0ID1cbiAgICAgICAgICAgICAgICB0cmlnZ2VyQnV0dG9uQm91bmRpbmdSZWN0LnkgK1xuICAgICAgICAgICAgICAgIHRyaWdnZXJCdXR0b25Cb3VuZGluZ1JlY3QuaGVpZ2h0ICtcbiAgICAgICAgICAgICAgICBwb3B1cEJvdW5kaW5nUmVjdC5oZWlnaHQ7XG5cbiAgICAgICAgICAgIGlmIChjYWxjdWxhdGVkV2lkdGggPiBzY3JlZW5XaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wdXBQb3NpdGlvbi5sZWZ0ID1cbiAgICAgICAgICAgICAgICAgICAgLXBvcHVwQm91bmRpbmdSZWN0LndpZHRoICsgdHJpZ2dlckJ1dHRvbkJvdW5kaW5nUmVjdC53aWR0aDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3B1cFBvc2l0aW9uLmxlZnQgPSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY2FsY3VsYXRlZEhlaWdodCA+IHNjcmVlbkhlaWdodCkge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wdXBQb3NpdGlvbi50b3AgPVxuICAgICAgICAgICAgICAgICAgICAtdHJpZ2dlckJ1dHRvbkJvdW5kaW5nUmVjdC5oZWlnaHQgLVxuICAgICAgICAgICAgICAgICAgICBwb3B1cEJvdW5kaW5nUmVjdC5oZWlnaHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wdXBQb3NpdGlvbi50b3AgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5hdlxuICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoJ05hdkNvbnRhaW5lcicpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidmb2Vobi1kcm9wZG93bi1tZW51LmFyaWEtbGFiZWwnIHwgZnJvbURpY3Rpb25hcnlcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgnVHJpZ2dlckJ1dHRvbicpXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBidG5cIlxuICAgICAgICBbbmdDbGFzc109XCJidG5Dc3NDbGFzc1wiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93blZpc2liaWxpdHkoKVwiXG4gICAgICAgIChmb2N1c2luKT1cImhhbmRsZUZvY3VzSW4oKVwiXG4gICAgICAgIChmb2N1c291dCk9XCJoYW5kbGVGb2N1c091dCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJ0cnVlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Ryb3Bkb3duVmlzaWJsZVwiXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ2Ryb3Bkb3duLW1lbnUtbGlzdCdcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsIHx8IG51bGxcIlxuICAgICAgICAjYnV0dG9uVHJpZ2dlclxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUtY29udGFpbmVyXCIgKm5nSWY9XCIhIW1vZGVsICYmIGlzRHJvcGRvd25WaXNpYmxlXCI+XG4gICAgICAgIDx1bFxuICAgICAgICAgICAgaWQ9XCJkcm9wZG93bi1tZW51LWxpc3RcIlxuICAgICAgICAgICAgY2xhc3M9XCJwYXJlbnQtbGlzdCBsaXN0LWdyb3VwXCJcbiAgICAgICAgICAgIChmb2N1c2luKT1cImhhbmRsZUZvY3VzSW4oKVwiXG4gICAgICAgICAgICAoZm9jdXNvdXQpPVwiaGFuZGxlRm9jdXNPdXQoKVwiXG4gICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJwb3B1cFBvc2l0aW9uLmxlZnRcIlxuICAgICAgICAgICAgW3N0eWxlLnRvcC5weF09XCJwb3B1cFBvc2l0aW9uLnRvcFwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICNlbnRyeVBvaW50XG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIG1vZGVsOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhZ3JvdXAudGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImkgPiAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGl0ZW0tZGl2aWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIidzZXBhcmF0b3InXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gbGlzdC1ncm91cC10aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGVjdGVkRm9jdXNMaXN0XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgKm5nSWY9XCIhIWdyb3VwLnRpdGxlXCI+e3sgZ3JvdXAudGl0bGUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImNoaWxkLWxpc3QgbGlzdC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cC5pdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGVjdGVkRm9jdXNMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtTGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cC50aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaSA+IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gaXRlbS1kaXZpZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiJ3NlcGFyYXRvcidcIlxuICAgICAgICAgICAgICAgICAgICA+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cC5pdGVtczsgbGV0IGogPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjc2VsZWN0ZWRGb2N1c0xpc3RcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1MaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L25hdj5cblxuPG5nLXRlbXBsYXRlICNpdGVtTGluayBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cIiEhaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgIFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgW2F0dHIudXNlLXJvdXRlcl09XCJ0cnVlXCJcbiAgICA+PC9hPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwiIWl0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICBbYXR0ci5ocmVmXT1cIml0ZW0uaHJlZlwiXG4gICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgIFthdHRyLnVzZS1yb3V0ZXJdPVwiZmFsc2VcIlxuICAgID48L2E+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,21 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { RouterLink } from '@angular/router';
5
- import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
6
- import { FoehnDropdownMenuComponent } from './foehn-dropdown-menu.component';
7
- import * as i0 from "@angular/core";
8
- export class FoehnDropdownMenuModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnDropdownMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FoehnDropdownMenuModule, declarations: [FoehnDropdownMenuComponent], imports: [CommonModule, FormsModule, SdkDictionaryModule, RouterLink], exports: [FoehnDropdownMenuComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnDropdownMenuModule, imports: [CommonModule, FormsModule, SdkDictionaryModule] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnDropdownMenuModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [CommonModule, FormsModule, SdkDictionaryModule, RouterLink],
17
- declarations: [FoehnDropdownMenuComponent],
18
- exports: [FoehnDropdownMenuComponent]
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZHJvcGRvd24tbWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZHJvcGRvd24tbWVudS9mb2Vobi1kcm9wZG93bi1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU83RSxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7Z0hBQXZCLHVCQUF1QixpQkFIakIsMEJBQTBCLGFBRC9CLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxhQUUxRCwwQkFBMEI7Z0hBRTNCLHVCQUF1QixZQUp0QixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjs7NEZBSS9DLHVCQUF1QjtrQkFMbkMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsQ0FBQztvQkFDckUsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobkRyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tZHJvcGRvd24tbWVudS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTZGtEaWN0aW9uYXJ5TW9kdWxlLCBSb3V0ZXJMaW5rXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2VobkRyb3Bkb3duTWVudUNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0ZvZWhuRHJvcGRvd25NZW51Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkRyb3Bkb3duTWVudU1vZHVsZSB7fVxuIl19
@@ -1,113 +0,0 @@
1
- import { Component, HostListener } from '@angular/core';
2
- import { faFaceFrown, faFaceMeh, faFaceSmile } from '@fortawesome/free-solid-svg-icons';
3
- import { combineLatest, filter, of, startWith } from 'rxjs';
4
- import { map, tap } from 'rxjs/operators';
5
- import { FoehnFeedbackNotificationType } from '../foehn-feedback-notification/foehn-feedback-notification.type';
6
- import { PORTAIL_BASE_URL_INT, PORTAIL_BASE_URL_PROD, PORTAIL_BASE_URL_VAL } from '../sdk-appinfo/application-info.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../sdk-appinfo/application-info.service";
9
- import * as i2 from "../sdk-session-info/session-info.service";
10
- import * as i3 from "../gesdem/gesdem-handler.service";
11
- import * as i4 from "@angular/common/http";
12
- import * as i5 from "@angular/common";
13
- import * as i6 from "@fortawesome/angular-fontawesome";
14
- import * as i7 from "../foehn-icons/foehn-icon-chevron-down.component";
15
- import * as i8 from "../foehn-icons/foehn-icon-chevron-up.component";
16
- import * as i9 from "../sdk-dictionary/sdk-dictionary.pipe";
17
- export const FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX = 'FEEDBACK-USAGERS-';
18
- export class FoehnFeedbackNotificationComponent {
19
- constructor(applicationInfoService, sessionInfo, gesdemHandlerService, http) {
20
- this.applicationInfoService = applicationInfoService;
21
- this.sessionInfo = sessionInfo;
22
- this.gesdemHandlerService = gesdemHandlerService;
23
- this.http = http;
24
- this.goodIconName = faFaceSmile;
25
- this.mediumIconName = faFaceMeh;
26
- this.badIconName = faFaceFrown;
27
- this.visible = combineLatest([
28
- this.applicationInfoService.data,
29
- this.applicationInfoService.currentEtapeInfo,
30
- this.sessionInfo.data.pipe(startWith(null)),
31
- this.gesdemHandlerService.updateFormDataSubject.pipe(startWith(null), map(() => this.gesdemHandlerService.lastResponse?.meta))
32
- ]).pipe(filter(([, etapeInfo, , meta]) => !!etapeInfo && !!meta), tap(([applicationInfo, etapeInfo, sessionInfoData, meta]) => {
33
- const feedBackFormBaseUrl = `${this.getPortailBaseUrl(applicationInfo)}pub/101643/`;
34
- const feedbackUsager = new FoehnFeedbackNotificationType();
35
- feedbackUsager.isConnected =
36
- !!sessionInfoData && !!sessionInfoData.context;
37
- feedbackUsager.idMetierEtape = etapeInfo.idMetierEtape;
38
- feedbackUsager.beneficiaryCategory = this.getCategory(sessionInfoData, etapeInfo);
39
- feedbackUsager.currentAction = meta?.currentAction;
40
- feedbackUsager.isBehindIAM =
41
- window.location.origin.includes('etat-de-vaud.ch');
42
- this.goodUrl = this.getUrl('good', feedbackUsager, feedBackFormBaseUrl, meta.reference);
43
- this.mediumUrl = this.getUrl('medium', feedbackUsager, feedBackFormBaseUrl, meta.reference);
44
- this.badUrl = this.getUrl('bad', feedbackUsager, feedBackFormBaseUrl, meta.reference);
45
- }), map(([, etapeInfo, , meta]) => {
46
- const visible = etapeInfo?.userFeedbackRequested;
47
- const needFeedback = !localStorage.getItem(`${FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX}${this.getFullReference(meta)}`);
48
- this.expanded = visible;
49
- return needFeedback && visible;
50
- }));
51
- }
52
- onWindowScroll() {
53
- this.isScrollEnded =
54
- window.innerHeight + window.scrollY >=
55
- document.body.offsetHeight - 30;
56
- }
57
- hideNotification() {
58
- localStorage.setItem(FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX +
59
- this.getFullReference(this.gesdemHandlerService.lastResponse?.meta), 'Done');
60
- this.visible = of(false);
61
- }
62
- getUrl(answer, feedbackUsager, feedBackFormBaseUrl, reference) {
63
- if (!feedbackUsager || !feedBackFormBaseUrl || !reference) {
64
- return of(null);
65
- }
66
- const fbu = { ...feedbackUsager };
67
- fbu.answer = answer;
68
- return this.http
69
- .post(`api/feedbacknotification/queryparams/${reference}`, fbu, {
70
- responseType: 'text'
71
- })
72
- .pipe(map(cryptedUrlParams => `${feedBackFormBaseUrl}?q=${encodeURIComponent(cryptedUrlParams)}`));
73
- }
74
- getCategory(sessionInfoData, etapeInfo) {
75
- if (sessionInfoData) {
76
- return sessionInfoData.categories[0];
77
- }
78
- return etapeInfo.publicCible?.length === 1
79
- ? etapeInfo.publicCible[0]
80
- : 'Inconnu';
81
- }
82
- getPortailBaseUrl(appInfo) {
83
- const baseUrl = appInfo.configuration?.portail?.baseUrl;
84
- if (!!baseUrl) {
85
- return baseUrl;
86
- }
87
- switch (appInfo.environment) {
88
- case 'CO':
89
- case 'IN':
90
- return PORTAIL_BASE_URL_INT;
91
- case 'VA':
92
- return PORTAIL_BASE_URL_VAL;
93
- default:
94
- return PORTAIL_BASE_URL_PROD;
95
- }
96
- }
97
- getFullReference(meta) {
98
- if (!meta) {
99
- return null;
100
- }
101
- return `${meta.reference}-${meta.currentAction}`;
102
- }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnFeedbackNotificationComponent, deps: [{ token: i1.ApplicationInfoService }, { token: i2.SessionInfo }, { token: i3.GesdemHandlerService }, { token: i4.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnFeedbackNotificationComponent, selector: "foehn-feedback-notification", host: { listeners: { "window:scroll": "onWindowScroll($event)" } }, ngImport: i0, template: "<div\n id=\"feedback-container\"\n [ngClass]=\"expanded ? 'expanded' : 'reduced'\"\n [class.offset-bottom]=\"isScrollEnded\"\n [class.visible]=\"visible | async\"\n>\n <button\n type=\"button\"\n class=\"feedback-chevron btn btn-link\"\n (click)=\"expanded = !expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"'feedback-form'\"\n >\n <foehn-icon-chevron-down\n *ngIf=\"expanded\"\n [title]=\"\n 'foehn-feedback-notification.chevron-down' | fromDictionary\n \"\n ></foehn-icon-chevron-down>\n <foehn-icon-chevron-up\n *ngIf=\"!expanded\"\n [title]=\"'foehn-feedback-notification.chevron-up' | fromDictionary\"\n ></foehn-icon-chevron-up>\n </button>\n <div id=\"feedback-title\" class=\"h4\">\n <span *ngIf=\"expanded\">\n {{ 'foehn-feedback-notification.title-expanded' | fromDictionary }}\n </span>\n <span *ngIf=\"!expanded\" (click)=\"expanded = !expanded\">\n {{ 'foehn-feedback-notification.title-reduced' | fromDictionary }}\n </span>\n </div>\n <div id=\"feedback-form\" [class.visible]=\"expanded\">\n <label>\n {{\n 'foehn-feedback-notification.question.Q_NOTIFICATION_FACILE_A_UTILISER'\n | fromDictionary\n }}\n </label>\n <ul class=\"vd-list-icons mb-0 d-flex justify-content-center\">\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"goodUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-success\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n \"\n [icon]=\"goodIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li class=\"mx-2\" (click)=\"hideNotification()\">\n <a\n [href]=\"mediumUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-warning\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n \"\n [icon]=\"mediumIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"badUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-danger\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n \"\n [icon]=\"badIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#feedback-container{display:none;position:fixed;bottom:0;right:0;color:#fff;background-color:var(--vd-neutral-dark);border:1px white solid;border-bottom:0;z-index:99999;transition:all .3s}#feedback-container.visible{display:block;animation:popout 1s}#feedback-container.offset-bottom{bottom:23px}#feedback-container.expanded{padding:15px;width:420px;height:175px;background-color:var(--vd-neutral-dark);border-top-left-radius:20px;border-top-right-radius:20px}#feedback-container.expanded #feedback-title{margin-top:0;text-align:center}#feedback-container.reduced{width:230px;height:35px;text-align:left;padding-left:12px}#feedback-container.reduced #feedback-title{margin-top:5px;cursor:pointer}#feedback-container .feedback-chevron{position:absolute;top:0;right:0}#feedback-container.expanded .feedback-chevron{border-top-right-radius:50%}#feedback-container #feedback-form{display:none}#feedback-container #feedback-form.visible{display:block;animation:fadeIn .5s}#feedback-container #feedback-form a{border:solid 1px var(--vd-neutral-dark);border-radius:50%;padding-left:11px;padding-right:11px}#feedback-container #feedback-form a:focus{background-color:var(--vd-neutral-dark)}#feedback-container #feedback-form .smiley-link{font-size:60px}:host ::ng-deep #feedback-container #feedback-form svg{transition:all .2s}:host ::ng-deep #feedback-container #feedback-form svg:hover,:host ::ng-deep #feedback-container #feedback-form svg:focus{transform:scale(1.3)}@keyframes fadeIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (min-width: 577px){@keyframes popout{0%{bottom:-175px}to{bottom:0}}}@media (max-width: 576px){#feedback-container{transform:scale(.8)}#feedback-container.expanded{right:-42px;bottom:-20px}#feedback-container.reduced{right:-29px;bottom:-3px}#feedback-container.expanded.offset-bottom{bottom:6px}#feedback-container.reduced.offset-bottom{bottom:20px}@keyframes popout{0%{bottom:-140px}to{bottom:-20px}}}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i7.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { kind: "component", type: i8.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.SdkDictionaryPipe, name: "fromDictionary" }] }); }
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnFeedbackNotificationComponent, decorators: [{
107
- type: Component,
108
- args: [{ selector: 'foehn-feedback-notification', template: "<div\n id=\"feedback-container\"\n [ngClass]=\"expanded ? 'expanded' : 'reduced'\"\n [class.offset-bottom]=\"isScrollEnded\"\n [class.visible]=\"visible | async\"\n>\n <button\n type=\"button\"\n class=\"feedback-chevron btn btn-link\"\n (click)=\"expanded = !expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"'feedback-form'\"\n >\n <foehn-icon-chevron-down\n *ngIf=\"expanded\"\n [title]=\"\n 'foehn-feedback-notification.chevron-down' | fromDictionary\n \"\n ></foehn-icon-chevron-down>\n <foehn-icon-chevron-up\n *ngIf=\"!expanded\"\n [title]=\"'foehn-feedback-notification.chevron-up' | fromDictionary\"\n ></foehn-icon-chevron-up>\n </button>\n <div id=\"feedback-title\" class=\"h4\">\n <span *ngIf=\"expanded\">\n {{ 'foehn-feedback-notification.title-expanded' | fromDictionary }}\n </span>\n <span *ngIf=\"!expanded\" (click)=\"expanded = !expanded\">\n {{ 'foehn-feedback-notification.title-reduced' | fromDictionary }}\n </span>\n </div>\n <div id=\"feedback-form\" [class.visible]=\"expanded\">\n <label>\n {{\n 'foehn-feedback-notification.question.Q_NOTIFICATION_FACILE_A_UTILISER'\n | fromDictionary\n }}\n </label>\n <ul class=\"vd-list-icons mb-0 d-flex justify-content-center\">\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"goodUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-success\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n \"\n [icon]=\"goodIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li class=\"mx-2\" (click)=\"hideNotification()\">\n <a\n [href]=\"mediumUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-warning\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n \"\n [icon]=\"mediumIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"badUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-danger\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n \"\n [icon]=\"badIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#feedback-container{display:none;position:fixed;bottom:0;right:0;color:#fff;background-color:var(--vd-neutral-dark);border:1px white solid;border-bottom:0;z-index:99999;transition:all .3s}#feedback-container.visible{display:block;animation:popout 1s}#feedback-container.offset-bottom{bottom:23px}#feedback-container.expanded{padding:15px;width:420px;height:175px;background-color:var(--vd-neutral-dark);border-top-left-radius:20px;border-top-right-radius:20px}#feedback-container.expanded #feedback-title{margin-top:0;text-align:center}#feedback-container.reduced{width:230px;height:35px;text-align:left;padding-left:12px}#feedback-container.reduced #feedback-title{margin-top:5px;cursor:pointer}#feedback-container .feedback-chevron{position:absolute;top:0;right:0}#feedback-container.expanded .feedback-chevron{border-top-right-radius:50%}#feedback-container #feedback-form{display:none}#feedback-container #feedback-form.visible{display:block;animation:fadeIn .5s}#feedback-container #feedback-form a{border:solid 1px var(--vd-neutral-dark);border-radius:50%;padding-left:11px;padding-right:11px}#feedback-container #feedback-form a:focus{background-color:var(--vd-neutral-dark)}#feedback-container #feedback-form .smiley-link{font-size:60px}:host ::ng-deep #feedback-container #feedback-form svg{transition:all .2s}:host ::ng-deep #feedback-container #feedback-form svg:hover,:host ::ng-deep #feedback-container #feedback-form svg:focus{transform:scale(1.3)}@keyframes fadeIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (min-width: 577px){@keyframes popout{0%{bottom:-175px}to{bottom:0}}}@media (max-width: 576px){#feedback-container{transform:scale(.8)}#feedback-container.expanded{right:-42px;bottom:-20px}#feedback-container.reduced{right:-29px;bottom:-3px}#feedback-container.expanded.offset-bottom{bottom:6px}#feedback-container.reduced.offset-bottom{bottom:20px}@keyframes popout{0%{bottom:-140px}to{bottom:-20px}}}\n"] }]
109
- }], ctorParameters: () => [{ type: i1.ApplicationInfoService }, { type: i2.SessionInfo }, { type: i3.GesdemHandlerService }, { type: i4.HttpClient }], propDecorators: { onWindowScroll: [{
110
- type: HostListener,
111
- args: ['window:scroll', ['$event']]
112
- }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDZCxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUloSCxPQUFPLEVBRUgsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDdkIsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFJakQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsbUJBQW1CLENBQUM7QUFPekUsTUFBTSxPQUFPLGtDQUFrQztJQWEzQyxZQUNZLHNCQUE4QyxFQUM5QyxXQUF3QixFQUN4QixvQkFBMEMsRUFDMUMsSUFBZ0I7UUFIaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix5QkFBb0IsR0FB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RSxNQUFNLEtBQUssQ0FBQztZQUN0QyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNwQixDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBd0I7UUFDOUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ3hELElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUNELFFBQVEsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFCLEtBQUssSUFBSSxDQUFDO1lBQ1YsS0FBSyxJQUFJO2dCQUNMLE9BQU8sb0JBQW9CLENBQUM7WUFDaEMsS0FBSyxJQUFJO2dCQUNMLE9BQU8sb0JBQW9CLENBQUM7WUFDaEM7Z0JBQ0ksT0FBTyxxQkFBcUIsQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQWtCO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckQsQ0FBQzsrR0FuSlEsa0NBQWtDO21HQUFsQyxrQ0FBa0MsdUlDOUIvQywrcklBZ0hBOzs0RkRsRmEsa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNJLDZCQUE2QjtpTEE4RXZDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgZmFGYWNlRnJvd24sXG4gICAgZmFGYWNlTWVoLFxuICAgIGZhRmFjZVNtaWxlXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIE9ic2VydmFibGUsIG9mLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb2VobkZlZWRiYWNrTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4uL2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24udHlwZSc7XG5pbXBvcnQgeyBGb3JtTWV0YWRhdGEgfSBmcm9tICcuLi9mb3JtLXBvc3QtcmVzcG9uc2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm8sIEV0YXBlSW5mbyB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgIFBPUlRBSUxfQkFTRV9VUkxfSU5ULFxuICAgIFBPUlRBSUxfQkFTRV9VUkxfUFJPRCxcbiAgICBQT1JUQUlMX0JBU0VfVVJMX1ZBTFxufSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvRGF0YSB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLWRhdGEnO1xuXG5leHBvcnQgY29uc3QgRkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWCA9ICdGRUVEQkFDSy1VU0FHRVJTLSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnQge1xuICAgIGdvb2RJY29uTmFtZSA9IGZhRmFjZVNtaWxlO1xuICAgIG1lZGl1bUljb25OYW1lID0gZmFGYWNlTWVoO1xuICAgIGJhZEljb25OYW1lID0gZmFGYWNlRnJvd247XG5cbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbiAgICBpc1Njcm9sbEVuZGVkOiBib29sZWFuO1xuXG4gICAgdmlzaWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBnb29kVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgbWVkaXVtVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgYmFkVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1IYW5kbGVyU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICAgICkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhLFxuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGEucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1IYW5kbGVyU2VydmljZS51cGRhdGVGb3JtRGF0YVN1YmplY3QucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhKVxuICAgICAgICAgICAgKVxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChbLCBldGFwZUluZm8sICwgbWV0YV0pID0+ICEhZXRhcGVJbmZvICYmICEhbWV0YSksXG4gICAgICAgICAgICB0YXAoKFthcHBsaWNhdGlvbkluZm8sIGV0YXBlSW5mbywgc2Vzc2lvbkluZm9EYXRhLCBtZXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlZWRCYWNrRm9ybUJhc2VVcmwgPSBgJHt0aGlzLmdldFBvcnRhaWxCYXNlVXJsKGFwcGxpY2F0aW9uSW5mbyl9cHViLzEwMTY0My9gO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlZWRiYWNrVXNhZ2VyID0gbmV3IEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25UeXBlKCk7XG4gICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIuaXNDb25uZWN0ZWQgPVxuICAgICAgICAgICAgICAgICAgICAhIXNlc3Npb25JbmZvRGF0YSAmJiAhIXNlc3Npb25JbmZvRGF0YS5jb250ZXh0O1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmlkTWV0aWVyRXRhcGUgPSBldGFwZUluZm8uaWRNZXRpZXJFdGFwZTtcbiAgICAgICAgICAgICAgICBmZWVkYmFja1VzYWdlci5iZW5lZmljaWFyeUNhdGVnb3J5ID0gdGhpcy5nZXRDYXRlZ29yeShcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICAgICAgICAgICAgICBldGFwZUluZm9cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmN1cnJlbnRBY3Rpb24gPSBtZXRhPy5jdXJyZW50QWN0aW9uO1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmlzQmVoaW5kSUFNID1cbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLm9yaWdpbi5pbmNsdWRlcygnZXRhdC1kZS12YXVkLmNoJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5nb29kVXJsID0gdGhpcy5nZXRVcmwoXG4gICAgICAgICAgICAgICAgICAgICdnb29kJyxcbiAgICAgICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRCYWNrRm9ybUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgIG1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lZGl1bVVybCA9IHRoaXMuZ2V0VXJsKFxuICAgICAgICAgICAgICAgICAgICAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRCYWNrRm9ybUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgIG1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJhZFVybCA9IHRoaXMuZ2V0VXJsKFxuICAgICAgICAgICAgICAgICAgICAnYmFkJyxcbiAgICAgICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRCYWNrRm9ybUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgIG1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKChbLCBldGFwZUluZm8sICwgbWV0YV0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2aXNpYmxlID0gZXRhcGVJbmZvPy51c2VyRmVlZGJhY2tSZXF1ZXN0ZWQ7XG4gICAgICAgICAgICAgICAgY29uc3QgbmVlZEZlZWRiYWNrID0gIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFxuICAgICAgICAgICAgICAgICAgICBgJHtGRUVEQkFDS19VU0FHRVJTX0xPQ0FMX1NUT1JBR0VfUFJFRklYfSR7dGhpcy5nZXRGdWxsUmVmZXJlbmNlKG1ldGEpfWBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB2aXNpYmxlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5lZWRGZWVkYmFjayAmJiB2aXNpYmxlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgWyckZXZlbnQnXSlcbiAgICBvbldpbmRvd1Njcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Njcm9sbEVuZGVkID1cbiAgICAgICAgICAgIHdpbmRvdy5pbm5lckhlaWdodCArIHdpbmRvdy5zY3JvbGxZID49XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCAtIDMwO1xuICAgIH1cblxuICAgIGhpZGVOb3RpZmljYXRpb24oKTogdm9pZCB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgICAgRkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWCArXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRGdWxsUmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbUhhbmRsZXJTZXJ2aWNlLmxhc3RSZXNwb25zZT8ubWV0YVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAnRG9uZSdcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gb2YoZmFsc2UpO1xuICAgIH1cblxuICAgIGdldFVybChcbiAgICAgICAgYW5zd2VyOiBzdHJpbmcsXG4gICAgICAgIGZlZWRiYWNrVXNhZ2VyOiBGb2VobkZlZWRiYWNrTm90aWZpY2F0aW9uVHlwZSxcbiAgICAgICAgZmVlZEJhY2tGb3JtQmFzZVVybDogc3RyaW5nLFxuICAgICAgICByZWZlcmVuY2U6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIGlmICghZmVlZGJhY2tVc2FnZXIgfHwgIWZlZWRCYWNrRm9ybUJhc2VVcmwgfHwgIXJlZmVyZW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZidSA9IHsgLi4uZmVlZGJhY2tVc2FnZXIgfTtcbiAgICAgICAgZmJ1LmFuc3dlciA9IGFuc3dlcjtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3QoYGFwaS9mZWVkYmFja25vdGlmaWNhdGlvbi9xdWVyeXBhcmFtcy8ke3JlZmVyZW5jZX1gLCBmYnUsIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0J1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgY3J5cHRlZFVybFBhcmFtcyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7ZmVlZEJhY2tGb3JtQmFzZVVybH0/cT0ke2VuY29kZVVSSUNvbXBvbmVudChjcnlwdGVkVXJsUGFyYW1zKX1gXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENhdGVnb3J5KFxuICAgICAgICBzZXNzaW9uSW5mb0RhdGE6IFNlc3Npb25JbmZvRGF0YSxcbiAgICAgICAgZXRhcGVJbmZvOiBFdGFwZUluZm9cbiAgICApOiBzdHJpbmcge1xuICAgICAgICBpZiAoc2Vzc2lvbkluZm9EYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gc2Vzc2lvbkluZm9EYXRhLmNhdGVnb3JpZXNbMF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV0YXBlSW5mby5wdWJsaWNDaWJsZT8ubGVuZ3RoID09PSAxXG4gICAgICAgICAgICA/IGV0YXBlSW5mby5wdWJsaWNDaWJsZVswXVxuICAgICAgICAgICAgOiAnSW5jb25udSc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3J0YWlsQmFzZVVybChhcHBJbmZvOiBBcHBsaWNhdGlvbkluZm8pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBiYXNlVXJsID0gYXBwSW5mby5jb25maWd1cmF0aW9uPy5wb3J0YWlsPy5iYXNlVXJsO1xuICAgICAgICBpZiAoISFiYXNlVXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVVybDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKGFwcEluZm8uZW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIGNhc2UgJ0NPJzpcbiAgICAgICAgICAgIGNhc2UgJ0lOJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gUE9SVEFJTF9CQVNFX1VSTF9JTlQ7XG4gICAgICAgICAgICBjYXNlICdWQSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFBPUlRBSUxfQkFTRV9VUkxfVkFMO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gUE9SVEFJTF9CQVNFX1VSTF9QUk9EO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGdWxsUmVmZXJlbmNlKG1ldGE6IEZvcm1NZXRhZGF0YSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghbWV0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke21ldGEucmVmZXJlbmNlfS0ke21ldGEuY3VycmVudEFjdGlvbn1gO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBpZD1cImZlZWRiYWNrLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwiZXhwYW5kZWQgPyAnZXhwYW5kZWQnIDogJ3JlZHVjZWQnXCJcbiAgICBbY2xhc3Mub2Zmc2V0LWJvdHRvbV09XCJpc1Njcm9sbEVuZGVkXCJcbiAgICBbY2xhc3MudmlzaWJsZV09XCJ2aXNpYmxlIHwgYXN5bmNcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZmVlZGJhY2stY2hldnJvbiBidG4gYnRuLWxpbmtcIlxuICAgICAgICAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCInZmVlZGJhY2stZm9ybSdcIlxuICAgID5cbiAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1kb3duXG4gICAgICAgICAgICAqbmdJZj1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNoZXZyb24tZG93bicgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLWRvd24+XG4gICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tdXBcbiAgICAgICAgICAgICpuZ0lmPVwiIWV4cGFuZGVkXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCInZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNoZXZyb24tdXAnIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tdXA+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiBpZD1cImZlZWRiYWNrLXRpdGxlXCIgY2xhc3M9XCJoNFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImV4cGFuZGVkXCI+XG4gICAgICAgICAgICB7eyAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnRpdGxlLWV4cGFuZGVkJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhZXhwYW5kZWRcIiAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWRcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24udGl0bGUtcmVkdWNlZCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBpZD1cImZlZWRiYWNrLWZvcm1cIiBbY2xhc3MudmlzaWJsZV09XCJleHBhbmRlZFwiPlxuICAgICAgICA8bGFiZWw+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24ucXVlc3Rpb24uUV9OT1RJRklDQVRJT05fRkFDSUxFX0FfVVRJTElTRVInXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDx1bCBjbGFzcz1cInZkLWxpc3QtaWNvbnMgbWItMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgPGxpIChjbGljayk9XCJoaWRlTm90aWZpY2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJnb29kVXJsIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICByZWw9XCJvcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNtaWxleS1saW5rIHRleHQtc3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24uZ29vZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImdvb2RJY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5nb29kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm14LTJcIiAoY2xpY2spPVwiaGlkZU5vdGlmaWNhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibWVkaXVtVXJsIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICByZWw9XCJvcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNtaWxleS1saW5rIHRleHQtd2FybmluZ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24ubWVkaXVtJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibWVkaXVtSWNvbk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24ubWVkaXVtJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSAoY2xpY2spPVwiaGlkZU5vdGlmaWNhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYmFkVXJsIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICByZWw9XCJvcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNtaWxleS1saW5rIHRleHQtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5iYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJiYWRJY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5iYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,32 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
4
- import { FoehnIconsModule } from '../foehn-icons/foehn-icons.module';
5
- import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
6
- import { FoehnFeedbackNotificationComponent } from './foehn-feedback-notification.component';
7
- import * as i0 from "@angular/core";
8
- export class FoehnFeedbackNotificationModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnFeedbackNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FoehnFeedbackNotificationModule, declarations: [FoehnFeedbackNotificationComponent], imports: [CommonModule,
11
- FontAwesomeModule,
12
- FoehnIconsModule,
13
- SdkDictionaryModule], exports: [FoehnFeedbackNotificationComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnFeedbackNotificationModule, imports: [CommonModule,
15
- FontAwesomeModule,
16
- FoehnIconsModule,
17
- SdkDictionaryModule] }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnFeedbackNotificationModule, decorators: [{
20
- type: NgModule,
21
- args: [{
22
- imports: [
23
- CommonModule,
24
- FontAwesomeModule,
25
- FoehnIconsModule,
26
- SdkDictionaryModule
27
- ],
28
- declarations: [FoehnFeedbackNotificationComponent],
29
- exports: [FoehnFeedbackNotificationComponent]
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFZN0YsTUFBTSxPQUFPLCtCQUErQjsrR0FBL0IsK0JBQStCO2dIQUEvQiwrQkFBK0IsaUJBSHpCLGtDQUFrQyxhQUw3QyxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixtQkFBbUIsYUFHYixrQ0FBa0M7Z0hBRW5DLCtCQUErQixZQVJwQyxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixtQkFBbUI7OzRGQUtkLCtCQUErQjtrQkFWM0MsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDbEQsT0FBTyxFQUFFLENBQUMsa0NBQWtDLENBQUM7aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcblxuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5TW9kdWxlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgICAgICAgRm9laG5JY29uc01vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5GZWVkYmFja05vdGlmaWNhdGlvbkNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0ZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25Nb2R1bGUge31cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export class FoehnFeedbackNotificationType {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uL2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyw2QkFBNkI7Q0FPekMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRm9laG5GZWVkYmFja05vdGlmaWNhdGlvblR5cGUge1xuICAgIGFuc3dlcjogc3RyaW5nO1xuICAgIGlkTWV0aWVyRXRhcGU6IHN0cmluZztcbiAgICBpc0Nvbm5lY3RlZDogYm9vbGVhbjtcbiAgICBiZW5lZmljaWFyeUNhdGVnb3J5OiBzdHJpbmc7XG4gICAgY3VycmVudEFjdGlvbjogbnVtYmVyO1xuICAgIGlzQmVoaW5kSUFNOiBib29sZWFuO1xufVxuIl19