@dsivd/prestations-ng 17.0.0-beta.2 → 17.0.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/ESLINT_MIGRATION_GUIDE.md +2 -1
  3. package/UPGRADING_V17.md +385 -38
  4. package/dsivd-prestations-ng-17.0.0-beta.20.tgz +0 -0
  5. package/esm2022/abstract-page-component.mjs +10 -6
  6. package/esm2022/directives/currency-formatter.directive.mjs +4 -4
  7. package/esm2022/directives/formatter.module.mjs +5 -5
  8. package/esm2022/directives/iban-formatter.directive.mjs +4 -4
  9. package/esm2022/directives/ide-formatter.directive.mjs +4 -4
  10. package/esm2022/directives/ndc-formatter.directive.mjs +4 -4
  11. package/esm2022/foehn-address/foehn-address.module.mjs +5 -5
  12. package/esm2022/foehn-address/foehn-display-address.component.mjs +4 -4
  13. package/esm2022/foehn-address/foehn-input-address.component.mjs +9 -5
  14. package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +4 -4
  15. package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +6 -7
  16. package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +5 -5
  17. package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +6 -6
  18. package/esm2022/foehn-agenda/foehn-agenda.component.mjs +4 -4
  19. package/esm2022/foehn-agenda/foehn-agenda.module.mjs +5 -5
  20. package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +4 -4
  21. package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +5 -5
  22. package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +4 -4
  23. package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +4 -4
  24. package/esm2022/foehn-boolean/foehn-boolean.module.mjs +5 -5
  25. package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +24 -17
  26. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +4 -4
  27. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +5 -5
  28. package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +36 -34
  29. package/esm2022/foehn-checkables/foehn-checkables.module.mjs +5 -5
  30. package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +4 -4
  31. package/esm2022/foehn-checkables/foehn-radio.component.mjs +4 -4
  32. package/esm2022/foehn-checkables/foehn-select.component.mjs +4 -4
  33. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +5 -5
  34. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +5 -5
  35. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +4 -4
  36. package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +5 -5
  37. package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +5 -5
  38. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +4 -4
  39. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +5 -5
  40. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +4 -4
  41. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +5 -5
  42. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +4 -4
  43. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +5 -5
  44. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +5 -5
  45. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +5 -5
  46. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +90 -0
  47. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.module.mjs +32 -0
  48. package/esm2022/foehn-footer/foehn-footer.component.mjs +5 -5
  49. package/esm2022/foehn-footer/foehn-footer.module.mjs +5 -5
  50. package/esm2022/foehn-form/foehn-form.component.mjs +4 -4
  51. package/esm2022/foehn-form/foehn-form.module.mjs +5 -5
  52. package/esm2022/foehn-form/register-ng-model.service.mjs +4 -4
  53. package/esm2022/foehn-growl/foehn-growl.component.mjs +4 -4
  54. package/esm2022/foehn-growl/foehn-growl.module.mjs +5 -5
  55. package/esm2022/foehn-growl/growl-broker.service.mjs +4 -4
  56. package/esm2022/foehn-header/foehn-header.component.mjs +4 -4
  57. package/esm2022/foehn-header/foehn-header.module.mjs +5 -5
  58. package/esm2022/foehn-header/foehn-skip-link.component.mjs +4 -4
  59. package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +5 -5
  60. package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +5 -5
  61. package/esm2022/foehn-icons/abstract-icon-component.mjs +4 -4
  62. package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +4 -4
  63. package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +4 -4
  64. package/esm2022/foehn-icons/foehn-icon-check.component.mjs +4 -4
  65. package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +4 -4
  66. package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +4 -4
  67. package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +4 -4
  68. package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +4 -4
  69. package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +4 -4
  70. package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +4 -4
  71. package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +4 -4
  72. package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +4 -4
  73. package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +4 -4
  74. package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +4 -4
  75. package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +4 -4
  76. package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +4 -4
  77. package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +4 -4
  78. package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +4 -4
  79. package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +4 -4
  80. package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +4 -4
  81. package/esm2022/foehn-icons/foehn-icon-search.component.mjs +4 -4
  82. package/esm2022/foehn-icons/foehn-icon-times.component.mjs +4 -4
  83. package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +4 -4
  84. package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +4 -4
  85. package/esm2022/foehn-icons/foehn-icon-user.component.mjs +4 -4
  86. package/esm2022/foehn-icons/foehn-icons.module.mjs +5 -5
  87. package/esm2022/foehn-input/foehn-input-email.component.mjs +4 -4
  88. package/esm2022/foehn-input/foehn-input-hidden.component.mjs +4 -4
  89. package/esm2022/foehn-input/foehn-input-number.component.mjs +4 -4
  90. package/esm2022/foehn-input/foehn-input-password.component.mjs +4 -4
  91. package/esm2022/foehn-input/foehn-input-phone.component.mjs +4 -4
  92. package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +4 -4
  93. package/esm2022/foehn-input/foehn-input-string.component.mjs +4 -4
  94. package/esm2022/foehn-input/foehn-input-text.component.mjs +4 -4
  95. package/esm2022/foehn-input/foehn-input-textarea.component.mjs +4 -4
  96. package/esm2022/foehn-input/foehn-input.component.mjs +4 -4
  97. package/esm2022/foehn-input/foehn-input.module.mjs +5 -5
  98. package/esm2022/foehn-input-date/foehn-input-date.component.mjs +4 -4
  99. package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +4 -4
  100. package/esm2022/foehn-input-time/foehn-input-time.component.mjs +6 -6
  101. package/esm2022/foehn-list/foehn-list.component.mjs +5 -5
  102. package/esm2022/foehn-list/foehn-list.module.mjs +5 -5
  103. package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +4 -4
  104. package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +4 -4
  105. package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +4 -4
  106. package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +6 -5
  107. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +6 -6
  108. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +4 -4
  109. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +4 -4
  110. package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +5 -5
  111. package/esm2022/foehn-misc/foehn-abbr.component.mjs +4 -4
  112. package/esm2022/foehn-misc/foehn-misc.module.mjs +5 -5
  113. package/esm2022/foehn-modal/foehn-modal.component.mjs +5 -5
  114. package/esm2022/foehn-modal/foehn-modal.module.mjs +5 -5
  115. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +6 -6
  116. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +5 -5
  117. package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +4 -4
  118. package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +5 -5
  119. package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +4 -4
  120. package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +5 -5
  121. package/esm2022/foehn-navigation/foehn-navigation.module.mjs +5 -5
  122. package/esm2022/foehn-navigation/foehn-navigation.service.mjs +4 -4
  123. package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +5 -5
  124. package/esm2022/foehn-notfound/foehn-notfound.component.mjs +4 -4
  125. package/esm2022/foehn-notfound/foehn-notfound.module.mjs +5 -5
  126. package/esm2022/foehn-page/foehn-page-counter.component.mjs +4 -4
  127. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +4 -4
  128. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +4 -4
  129. package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +4 -4
  130. package/esm2022/foehn-page/foehn-page-expiration-timer/interval.helper.mjs +2 -2
  131. package/esm2022/foehn-page/foehn-page-modal.component.mjs +4 -4
  132. package/esm2022/foehn-page/foehn-page-modal.service.mjs +4 -4
  133. package/esm2022/foehn-page/foehn-page.component.mjs +5 -5
  134. package/esm2022/foehn-page/foehn-page.module.mjs +5 -5
  135. package/esm2022/foehn-page/foehn-page.service.mjs +4 -4
  136. package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +4 -4
  137. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +4 -4
  138. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +4 -4
  139. package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +4 -4
  140. package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +5 -5
  141. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +4 -4
  142. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +5 -5
  143. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +4 -4
  144. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +5 -5
  145. package/esm2022/foehn-table/foehn-table.component.mjs +9 -5
  146. package/esm2022/foehn-table/foehn-table.module.mjs +5 -5
  147. package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +4 -4
  148. package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +6 -19
  149. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +4 -4
  150. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +5 -5
  151. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +4 -4
  152. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +5 -5
  153. package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +6 -19
  154. package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +8 -6
  155. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +20 -47
  156. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +5 -5
  157. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +4 -4
  158. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +5 -5
  159. package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +4 -4
  160. package/esm2022/foehn-upload/page-upload-limit.service.mjs +4 -4
  161. package/esm2022/foehn-upload/uploader.helper.mjs +5 -13
  162. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +4 -4
  163. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +5 -5
  164. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +4 -4
  165. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +5 -5
  166. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +4 -4
  167. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +5 -5
  168. package/esm2022/gesdem/gesdem-error-handler.service.mjs +16 -13
  169. package/esm2022/gesdem/gesdem-event.service.mjs +4 -4
  170. package/esm2022/gesdem/gesdem-handler.service.mjs +29 -16
  171. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +4 -4
  172. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +31 -12
  173. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +5 -5
  174. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +4 -4
  175. package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +20 -15
  176. package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +12 -8
  177. package/esm2022/gesdem-error/gesdem-error.component.mjs +8 -6
  178. package/esm2022/gesdem-error/gesdem-error.module.mjs +5 -5
  179. package/esm2022/pipes/currency.pipe.mjs +4 -4
  180. package/esm2022/pipes/date.pipe.mjs +4 -4
  181. package/esm2022/pipes/formatIde.pipe.mjs +4 -4
  182. package/esm2022/pipes/pipes.module.mjs +5 -5
  183. package/esm2022/prestations-ng-core.module.mjs +5 -5
  184. package/esm2022/public_api.mjs +4 -1
  185. package/esm2022/sdk-appinfo/application-info.mjs +7 -1
  186. package/esm2022/sdk-appinfo/application-info.service.mjs +24 -6
  187. package/esm2022/sdk-currency/currency.helper.mjs +4 -4
  188. package/esm2022/sdk-date/date.helper.mjs +4 -4
  189. package/esm2022/sdk-dictionary/default-dictionary.mjs +19 -5
  190. package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +5 -5
  191. package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +4 -4
  192. package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +4 -4
  193. package/esm2022/sdk-drafts/drafts-container.component.mjs +5 -5
  194. package/esm2022/sdk-drafts/drafts.module.mjs +5 -5
  195. package/esm2022/sdk-drafts/drafts.service.mjs +4 -4
  196. package/esm2022/sdk-epayment/sdk-epayment.component.mjs +4 -4
  197. package/esm2022/sdk-epayment/sdk-epayment.module.mjs +5 -5
  198. package/esm2022/sdk-epayment/sdk-epayment.service.mjs +4 -4
  199. package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +4 -4
  200. package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +4 -4
  201. package/esm2022/sdk-recaptcha/recaptcha.service.mjs +8 -16
  202. package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +4 -4
  203. package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +5 -5
  204. package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +12 -11
  205. package/esm2022/sdk-redirect/redirect.component.mjs +32 -17
  206. package/esm2022/sdk-redirect/sdk-redirect.module.mjs +5 -5
  207. package/esm2022/sdk-session-info/session-info-with-application.service.mjs +4 -4
  208. package/esm2022/sdk-session-info/session-info.service.mjs +4 -4
  209. package/esm2022/sdk-statistics/sdk-statistics.service.mjs +4 -4
  210. package/esm2022/sdk-support-alert/support-alert-container.component.mjs +5 -5
  211. package/esm2022/sdk-support-alert/support-alert.component.mjs +12 -14
  212. package/esm2022/sdk-support-alert/support-alert.module.mjs +5 -5
  213. package/esm2022/sdk-support-alert/support-alert.service.mjs +4 -4
  214. package/esm2022/supported-browser.mjs +2 -2
  215. package/esm2022/validation/validation-handler.service.mjs +4 -4
  216. package/fesm2022/dsivd-prestations-ng.mjs +1304 -1153
  217. package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
  218. package/foehn-address/foehn-input-address.component.d.ts +2 -1
  219. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +3 -1
  220. package/foehn-checkables/foehn-checkable-group.component.d.ts +2 -1
  221. package/foehn-feedback-notification/foehn-feedback-notification.component.d.ts +30 -0
  222. package/foehn-feedback-notification/foehn-feedback-notification.module.d.ts +11 -0
  223. package/foehn-table/foehn-table.component.d.ts +3 -1
  224. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +1 -4
  225. package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +1 -4
  226. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +2 -4
  227. package/gesdem/gesdem-error-handler.service.d.ts +1 -0
  228. package/gesdem/gesdem-handler.service.d.ts +2 -2
  229. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +3 -1
  230. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +2 -0
  231. package/gesdem-confirmation/gesdem-confirmation.module.d.ts +2 -1
  232. package/gesdem-error/gesdem-error.component.d.ts +1 -0
  233. package/package.json +1 -1
  234. package/public_api.d.ts +2 -0
  235. package/schematics/utility/foehn2-bootstrap5-migration.js +19 -2
  236. package/sdk-appinfo/application-info.d.ts +4 -2
  237. package/sdk-recaptcha/recaptcha.service.d.ts +1 -3
  238. package/sdk-redirect/redirect.component.d.ts +4 -2
  239. package/dsivd-prestations-ng-17.0.0-beta.2.tgz +0 -0
@@ -92,8 +92,8 @@ export class FoehnInputNav13Component extends FoehnInputStringComponent {
92
92
  this.part4 = this.part4 || '';
93
93
  return `${this.PREFIX_NAVS}.${this.part2}.${this.part3}.${this.part4}`;
94
94
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnInputNav13Component, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnInputNav13Component, selector: "foehn-input-nav13", providers: [
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnInputNav13Component, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: FoehnInputNav13Component, selector: "foehn-input-nav13", providers: [
97
97
  {
98
98
  provide: FoehnInputComponent,
99
99
  useExisting: forwardRef(() => FoehnInputNav13Component),
@@ -101,7 +101,7 @@ export class FoehnInputNav13Component extends FoehnInputStringComponent {
101
101
  }
102
102
  ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend\n [attr.for]=\"buildChildId()\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"vd-form-flex\">\n <div\n [ngClass]=\"{\n 'vd-form-flex__item--4-char-width':\n displayClearButton() | async,\n 'vd-form-flex__item--3-char-width': !(\n displayClearButton() | async\n )\n }\"\n class=\"vd-form-flex__item\"\n >\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part1Child'\"\n class=\"visually-hidden\"\n >\n Code du pays\n </label>\n <small\n [id]=\"buildId() + '_part1ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"visually-hidden\">\n Etant obligatoirement un num\u00E9ro AVS suisse, ce\n champs est pr\u00E9rempli\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part1'\"\n [id]=\"buildId() + '_part1'\"\n [model]=\"PREFIX_NAVS\"\n [maxlength]=\"3\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n [disabled]=\"true\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div class=\"vd-form-flex__item vd-form-flex__item--4-char-width\">\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part2Child'\"\n class=\"visually-hidden\"\n >\n Premiers chiffres al\u00E9atoires et anonymes\n </label>\n <small\n [id]=\"buildId() + '_part2ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"visually-hidden\">\n Saisir quatres chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 1234\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part2'\"\n [id]=\"buildId() + '_part2'\"\n [(model)]=\"part2\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"4\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n (paste)=\"onPaste($event)\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div class=\"vd-form-flex__item vd-form-flex__item--4-char-width\">\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part3Child'\"\n class=\"visually-hidden\"\n >\n Deuxi\u00E8mes chiffres al\u00E9atoires et anonymes\n </label>\n <small\n [id]=\"buildId() + '_part3ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"visually-hidden\">\n Saisir quatres chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 5678\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part3'\"\n [id]=\"buildId() + '_part3'\"\n [(model)]=\"part3\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"4\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div\n [ngClass]=\"{\n 'vd-form-flex__item--3-char-width':\n displayClearButton() | async,\n 'vd-form-flex__item--2-char-width': !(\n displayClearButton() | async\n )\n }\"\n class=\"vd-form-flex__item vd-form-flex__item--3-char-width\"\n >\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part4Child'\"\n class=\"visually-hidden\"\n >\n Chiffre al\u00E9atoire et anonyme et num\u00E9ro de contr\u00F4le\n </label>\n <small\n [id]=\"buildId() + '_part4ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"visually-hidden\">\n Saisir deux chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 97\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part4'\"\n [id]=\"buildId() + '_part4'\"\n [(model)]=\"part4\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"2\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n", styles: [":host ::ng-deep .vd-form-flex__item>div.form-group,:host ::ng-deep foehn-input-number>div.form-group{margin-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: i3.FoehnInputNumberComponent, selector: "foehn-input-number", inputs: ["hideStandardHelpText", "allowDecimal", "allowNegative", "maxDecimalCount", "allowFreeInput", "allowLeadingZero", "model"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SdkDictionaryPipe, name: "fromDictionary" }] }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnInputNav13Component, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnInputNav13Component, decorators: [{
105
105
  type: Component,
106
106
  args: [{ selector: 'foehn-input-nav13', providers: [
107
107
  {
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
111
111
  }
112
112
  ], template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend\n [attr.for]=\"buildChildId()\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"vd-form-flex\">\n <div\n [ngClass]=\"{\n 'vd-form-flex__item--4-char-width':\n displayClearButton() | async,\n 'vd-form-flex__item--3-char-width': !(\n displayClearButton() | async\n )\n }\"\n class=\"vd-form-flex__item\"\n >\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part1Child'\"\n class=\"visually-hidden\"\n >\n Code du pays\n </label>\n <small\n [id]=\"buildId() + '_part1ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"visually-hidden\">\n Etant obligatoirement un num\u00E9ro AVS suisse, ce\n champs est pr\u00E9rempli\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part1'\"\n [id]=\"buildId() + '_part1'\"\n [model]=\"PREFIX_NAVS\"\n [maxlength]=\"3\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n [disabled]=\"true\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div class=\"vd-form-flex__item vd-form-flex__item--4-char-width\">\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part2Child'\"\n class=\"visually-hidden\"\n >\n Premiers chiffres al\u00E9atoires et anonymes\n </label>\n <small\n [id]=\"buildId() + '_part2ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"visually-hidden\">\n Saisir quatres chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 1234\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part2'\"\n [id]=\"buildId() + '_part2'\"\n [(model)]=\"part2\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"4\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n (paste)=\"onPaste($event)\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div class=\"vd-form-flex__item vd-form-flex__item--4-char-width\">\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part3Child'\"\n class=\"visually-hidden\"\n >\n Deuxi\u00E8mes chiffres al\u00E9atoires et anonymes\n </label>\n <small\n [id]=\"buildId() + '_part3ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"visually-hidden\">\n Saisir quatres chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 5678\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part3'\"\n [id]=\"buildId() + '_part3'\"\n [(model)]=\"part3\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"4\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n\n <div\n [ngClass]=\"{\n 'vd-form-flex__item--3-char-width':\n displayClearButton() | async,\n 'vd-form-flex__item--2-char-width': !(\n displayClearButton() | async\n )\n }\"\n class=\"vd-form-flex__item vd-form-flex__item--3-char-width\"\n >\n <div class=\"form-group\">\n <label\n [attr.for]=\"buildId() + '_part4Child'\"\n class=\"visually-hidden\"\n >\n Chiffre al\u00E9atoire et anonyme et num\u00E9ro de contr\u00F4le\n </label>\n <small\n [id]=\"buildId() + '_part4ChildHelp'\"\n class=\"form-text text-secondary\"\n >\n <span class=\"visually-hidden\">\n Saisir deux chiffres :\n <abbr title=\"Exemple\">Ex.</abbr>\n : 97\n </span>\n </small>\n\n <foehn-input-number\n [name]=\"name + '_part4'\"\n [id]=\"buildId() + '_part4'\"\n [(model)]=\"part4\"\n (modelChange)=\"updateNavs()\"\n [maxlength]=\"2\"\n [autocomplete]=\"'off'\"\n [clearButton]=\"displayClearButton() | async\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n [hideStandardHelpText]=\"true\"\n [allowLeadingZero]=\"true\"\n ></foehn-input-number>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n", styles: [":host ::ng-deep .vd-form-flex__item>div.form-group,:host ::ng-deep foehn-input-number>div.form-group{margin-bottom:0!important}\n"] }]
113
113
  }] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1uYXYxMy9mb2Vobi1pbnB1dC1uYXYxMy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7QUFjeEYsTUFBTSxPQUFPLHdCQUNULFNBQVEseUJBQXlCO0lBYnJDOztRQWdCSSxnQkFBVyxHQUFHLEtBQUssQ0FBQztLQStGdkI7SUExRkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsK0JBQStCLENBQUM7UUFDcEQsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLGtEQUFrRCxDQUFDO1FBQ3BFLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sVUFBVSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENB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QyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5QixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNFLENBQUM7OEdBbEdRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDRDQVJ0QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxtQkFBbUI7Z0JBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixpRENoQkwsc2dRQXFNQTs7MkZEbkxhLHdCQUF3QjtrQkFacEMsU0FBUzsrQkFDSSxtQkFBbUIsYUFHbEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LXN0cmluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWlucHV0LW5hdjEzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4taW5wdXQtbmF2MTMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuSW5wdXROYXYxM0NvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TmF2MTNDb21wb25lbnRcbiAgICBleHRlbmRzIEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIFBSRUZJWF9OQVZTID0gJzc1Nic7XG4gICAgcGFydDI6IHN0cmluZztcbiAgICBwYXJ0Mzogc3RyaW5nO1xuICAgIHBhcnQ0OiBzdHJpbmc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmhlbHBUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmhlbHBUZXh0ID0gJ1BhciBleGVtcGxlLCA3NTYgMTIzNCA1Njc4IDk3JztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSAnVm90cmUgbnVtw6lybyA8YWJiciB0aXRsZT1cIk51bcOpcm8gQVZTXCI+QVZTPC9hYmJyPic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVOYXZzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbCh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVVzZXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRWYWx1ZSA9IHRoaXMuZ2V0VmFsaWRWYWx1ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZSh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zcGxpdFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFydDIgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5wYXJ0MyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIGNsZWFyIGJ1dHRvbiBmb25jdGlvbiBub3Qgd29ycnkgYWJvdXQgdGhlIG1vZGVsIGF0IHRoaXMgc3RhZ2UuXG4gICAgICAgIHJldHVybiBvZih0aGlzLmNsZWFyQnV0dG9uKTtcbiAgICB9XG5cbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcmV2ZW50UGFzdGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXN0ZWRWYWx1ZSA9IGV2ZW50LmNsaXBib2FyZERhdGFcbiAgICAgICAgICAgIC5nZXREYXRhKCd0ZXh0JylcbiAgICAgICAgICAgID8ucmVwbGFjZSgvXFxEL2csICcnKTtcblxuICAgICAgICBjb25zdCBpc1Bhc3RlZFZhbHVlTW9yZVRoYW5PbmVBdnNCbG9jayA9IHBhc3RlZFZhbHVlPy5sZW5ndGggPiA0O1xuXG4gICAgICAgIGlmIChpc1Bhc3RlZFZhbHVlTW9yZVRoYW5PbmVBdnNCbG9jaykge1xuICAgICAgICAgICAgbGV0IHZhbHVlVG9QYXN0ZSA9IHBhc3RlZFZhbHVlO1xuICAgICAgICAgICAgaWYgKCFwYXN0ZWRWYWx1ZS5zdGFydHNXaXRoKHRoaXMuUFJFRklYX05BVlMpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWVUb1Bhc3RlID0gcGFzdGVkVmFsdWUuaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgICAgICAgICA/IGAke3RoaXMuUFJFRklYX05BVlN9LiR7cGFzdGVkVmFsdWV9YFxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuUFJFRklYX05BVlMgKyBwYXN0ZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHZhbHVlVG9QYXN0ZSk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVzZXJJbnB1dCgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3BsaXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEzICYmICF2YWx1ZS5pbmNsdWRlcygnLicpKSB7XG4gICAgICAgICAgICB0aGlzLnBhcnQyID0gdmFsdWUuc3Vic3RyaW5nKDMsIDcpO1xuICAgICAgICAgICAgdGhpcy5wYXJ0MyA9IHZhbHVlLnN1YnN0cmluZyg3LCAxMSk7XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gdmFsdWUuc3Vic3RyaW5nKDExLCAxMyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzcGxpdHRlZCA9IHZhbHVlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICB0aGlzLnBhcnQyID0gc3BsaXR0ZWRbMV07XG4gICAgICAgICAgICB0aGlzLnBhcnQzID0gc3BsaXR0ZWRbMl07XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gc3BsaXR0ZWRbM107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbGlkVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5wYXJ0MiAmJiAhdGhpcy5wYXJ0MyAmJiAhdGhpcy5wYXJ0NCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWxfICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhcnQyID0gdGhpcy5wYXJ0MiB8fCAnJztcbiAgICAgICAgdGhpcy5wYXJ0MyA9IHRoaXMucGFydDMgfHwgJyc7XG4gICAgICAgIHRoaXMucGFydDQgPSB0aGlzLnBhcnQ0IHx8ICcnO1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5QUkVGSVhfTkFWU30uJHt0aGlzLnBhcnQyfS4ke3RoaXMucGFydDN9LiR7dGhpcy5wYXJ0NH1gO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICAgIFtjbGFzcy5oYXMtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbY2xhc3MudmQtZm9ybS1ncm91cC1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoJ0NvbnRhaW5lcicpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8ZmllbGRzZXRcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgID5cbiAgICAgICAgPGxlZ2VuZFxuICAgICAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTGFiZWxTck9ubHkgPyAndmlzdWFsbHktaGlkZGVuJyA6ICd2ZC1wJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXJlcXVpcmVkICYmICFoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdmb2Vobi1pbnB1dC5vcHRpb25hbCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xlZ2VuZD5cblxuICAgICAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscFRleHRcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgICAgICA+PC9zbWFsbD5cblxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZkLWZvcm0tZmxleFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3ZkLWZvcm0tZmxleF9faXRlbS0tNC1jaGFyLXdpZHRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmMsXG4gICAgICAgICAgICAgICAgICAgICd2ZC1mb3JtLWZsZXhfX2l0ZW0tLTMtY2hhci13aWR0aCc6ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MUNoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIENvZGUgZHUgcGF5c1xuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQxQ2hpbGRIZWxwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRXRhbnQgb2JsaWdhdG9pcmVtZW50IHVuIG51bcOpcm8gQVZTIHN1aXNzZSwgY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFtcHMgZXN0IHByw6lyZW1wbGlcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cblxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJ19wYXJ0MSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkSWQoKSArICdfcGFydDEnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJQUkVGSVhfTkFWU1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJCdXR0b25dPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaGlkZVN0YW5kYXJkSGVscFRleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dMZWFkaW5nWmVyb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtbnVtYmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZC1mb3JtLWZsZXhfX2l0ZW0gdmQtZm9ybS1mbGV4X19pdGVtLS00LWNoYXItd2lkdGhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmZvcl09XCJidWlsZElkKCkgKyAnX3BhcnQyQ2hpbGQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgUHJlbWllcnMgY2hpZmZyZXMgYWzDqWF0b2lyZXMgZXQgYW5vbnltZXNcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MkNoaWxkSGVscCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhaXNpciBxdWF0cmVzIGNoaWZmcmVzIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWJiciB0aXRsZT1cIkV4ZW1wbGVcIj5FeC48L2FiYnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMjM0XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICdfcGFydDInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwYXJ0MlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwidXBkYXRlTmF2cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbl09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh1c2VySW5wdXQpPVwiaGFuZGxlVXNlcklucHV0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzRXJyb3JJbmhlcml0ZWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVTdGFuZGFyZEhlbHBUZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93TGVhZGluZ1plcm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LW51bWJlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmQtZm9ybS1mbGV4X19pdGVtIHZkLWZvcm0tZmxleF9faXRlbS0tNC1jaGFyLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0M0NoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIERldXhpw6htZXMgY2hpZmZyZXMgYWzDqWF0b2lyZXMgZXQgYW5vbnltZXNcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0M0NoaWxkSGVscCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhaXNpciBxdWF0cmVzIGNoaWZmcmVzIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWJiciB0aXRsZT1cIkV4ZW1wbGVcIj5FeC48L2FiYnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA1Njc4XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICdfcGFydDMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwYXJ0M1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwidXBkYXRlTmF2cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbl09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh1c2VySW5wdXQpPVwiaGFuZGxlVXNlcklucHV0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzRXJyb3JJbmhlcml0ZWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlU3RhbmRhcmRIZWxwVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0xlYWRpbmdaZXJvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3ZkLWZvcm0tZmxleF9faXRlbS0tMy1jaGFyLXdpZHRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmMsXG4gICAgICAgICAgICAgICAgICAgICd2ZC1mb3JtLWZsZXhfX2l0ZW0tLTItY2hhci13aWR0aCc6ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbSB2ZC1mb3JtLWZsZXhfX2l0ZW0tLTMtY2hhci13aWR0aFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0NENoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIENoaWZmcmUgYWzDqWF0b2lyZSBldCBhbm9ueW1lIGV0IG51bcOpcm8gZGUgY29udHLDtGxlXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkSWQoKSArICdfcGFydDRDaGlsZEhlbHAnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYWlzaXIgZGV1eCBjaGlmZnJlcyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFiYnIgdGl0bGU9XCJFeGVtcGxlXCI+RXguPC9hYmJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogOTdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cblxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJ19wYXJ0NCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkSWQoKSArICdfcGFydDQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInBhcnQ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ1cGRhdGVOYXZzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ29mZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsZWFyQnV0dG9uXT1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHVzZXJJbnB1dCk9XCJoYW5kbGVVc2VySW5wdXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNFcnJvckluaGVyaXRlZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVTdGFuZGFyZEhlbHBUZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93TGVhZGluZ1plcm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LW51bWJlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1uYXYxMy9mb2Vobi1pbnB1dC1uYXYxMy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7QUFjeEYsTUFBTSxPQUFPLHdCQUNULFNBQVEseUJBQXlCO0lBYnJDOztRQWdCSSxnQkFBVyxHQUFHLEtBQUssQ0FBQztLQStGdkI7SUExRkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsK0JBQStCLENBQUM7UUFDcEQsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLGtEQUFrRCxDQUFDO1FBQ3BFLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sVUFBVSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENB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QyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5QixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNFLENBQUM7K0dBbEdRLHdCQUF3QjttR0FBeEIsd0JBQXdCLDRDQVJ0QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxtQkFBbUI7Z0JBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixpRENoQkwsc2dRQXFNQTs7NEZEbkxhLHdCQUF3QjtrQkFacEMsU0FBUzsrQkFDSSxtQkFBbUIsYUFHbEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LXN0cmluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWlucHV0LW5hdjEzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4taW5wdXQtbmF2MTMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuSW5wdXROYXYxM0NvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TmF2MTNDb21wb25lbnRcbiAgICBleHRlbmRzIEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIFBSRUZJWF9OQVZTID0gJzc1Nic7XG4gICAgcGFydDI6IHN0cmluZztcbiAgICBwYXJ0Mzogc3RyaW5nO1xuICAgIHBhcnQ0OiBzdHJpbmc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmhlbHBUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmhlbHBUZXh0ID0gJ1BhciBleGVtcGxlLCA3NTYgMTIzNCA1Njc4IDk3JztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSAnVm90cmUgbnVtw6lybyA8YWJiciB0aXRsZT1cIk51bcOpcm8gQVZTXCI+QVZTPC9hYmJyPic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVOYXZzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbCh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVVzZXJJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRWYWx1ZSA9IHRoaXMuZ2V0VmFsaWRWYWx1ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZSh2YWxpZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zcGxpdFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFydDIgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5wYXJ0MyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIGNsZWFyIGJ1dHRvbiBmb25jdGlvbiBub3Qgd29ycnkgYWJvdXQgdGhlIG1vZGVsIGF0IHRoaXMgc3RhZ2UuXG4gICAgICAgIHJldHVybiBvZih0aGlzLmNsZWFyQnV0dG9uKTtcbiAgICB9XG5cbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcmV2ZW50UGFzdGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXN0ZWRWYWx1ZSA9IGV2ZW50LmNsaXBib2FyZERhdGFcbiAgICAgICAgICAgIC5nZXREYXRhKCd0ZXh0JylcbiAgICAgICAgICAgID8ucmVwbGFjZSgvXFxEL2csICcnKTtcblxuICAgICAgICBjb25zdCBpc1Bhc3RlZFZhbHVlTW9yZVRoYW5PbmVBdnNCbG9jayA9IHBhc3RlZFZhbHVlPy5sZW5ndGggPiA0O1xuXG4gICAgICAgIGlmIChpc1Bhc3RlZFZhbHVlTW9yZVRoYW5PbmVBdnNCbG9jaykge1xuICAgICAgICAgICAgbGV0IHZhbHVlVG9QYXN0ZSA9IHBhc3RlZFZhbHVlO1xuICAgICAgICAgICAgaWYgKCFwYXN0ZWRWYWx1ZS5zdGFydHNXaXRoKHRoaXMuUFJFRklYX05BVlMpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWVUb1Bhc3RlID0gcGFzdGVkVmFsdWUuaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgICAgICAgICA/IGAke3RoaXMuUFJFRklYX05BVlN9LiR7cGFzdGVkVmFsdWV9YFxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuUFJFRklYX05BVlMgKyBwYXN0ZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHZhbHVlVG9QYXN0ZSk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVzZXJJbnB1dCgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3BsaXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEzICYmICF2YWx1ZS5pbmNsdWRlcygnLicpKSB7XG4gICAgICAgICAgICB0aGlzLnBhcnQyID0gdmFsdWUuc3Vic3RyaW5nKDMsIDcpO1xuICAgICAgICAgICAgdGhpcy5wYXJ0MyA9IHZhbHVlLnN1YnN0cmluZyg3LCAxMSk7XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gdmFsdWUuc3Vic3RyaW5nKDExLCAxMyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzcGxpdHRlZCA9IHZhbHVlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICB0aGlzLnBhcnQyID0gc3BsaXR0ZWRbMV07XG4gICAgICAgICAgICB0aGlzLnBhcnQzID0gc3BsaXR0ZWRbMl07XG4gICAgICAgICAgICB0aGlzLnBhcnQ0ID0gc3BsaXR0ZWRbM107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbGlkVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5wYXJ0MiAmJiAhdGhpcy5wYXJ0MyAmJiAhdGhpcy5wYXJ0NCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWxfICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhcnQyID0gdGhpcy5wYXJ0MiB8fCAnJztcbiAgICAgICAgdGhpcy5wYXJ0MyA9IHRoaXMucGFydDMgfHwgJyc7XG4gICAgICAgIHRoaXMucGFydDQgPSB0aGlzLnBhcnQ0IHx8ICcnO1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5QUkVGSVhfTkFWU30uJHt0aGlzLnBhcnQyfS4ke3RoaXMucGFydDN9LiR7dGhpcy5wYXJ0NH1gO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICAgIFtjbGFzcy5oYXMtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbY2xhc3MudmQtZm9ybS1ncm91cC1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoJ0NvbnRhaW5lcicpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8ZmllbGRzZXRcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgID5cbiAgICAgICAgPGxlZ2VuZFxuICAgICAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTGFiZWxTck9ubHkgPyAndmlzdWFsbHktaGlkZGVuJyA6ICd2ZC1wJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXJlcXVpcmVkICYmICFoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdmb2Vobi1pbnB1dC5vcHRpb25hbCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xlZ2VuZD5cblxuICAgICAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscFRleHRcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgICAgICA+PC9zbWFsbD5cblxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZkLWZvcm0tZmxleFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3ZkLWZvcm0tZmxleF9faXRlbS0tNC1jaGFyLXdpZHRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmMsXG4gICAgICAgICAgICAgICAgICAgICd2ZC1mb3JtLWZsZXhfX2l0ZW0tLTMtY2hhci13aWR0aCc6ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MUNoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIENvZGUgZHUgcGF5c1xuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQxQ2hpbGRIZWxwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRXRhbnQgb2JsaWdhdG9pcmVtZW50IHVuIG51bcOpcm8gQVZTIHN1aXNzZSwgY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFtcHMgZXN0IHByw6lyZW1wbGlcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cblxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJ19wYXJ0MSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkSWQoKSArICdfcGFydDEnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJQUkVGSVhfTkFWU1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJCdXR0b25dPVwiZGlzcGxheUNsZWFyQnV0dG9uKCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaGlkZVN0YW5kYXJkSGVscFRleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dMZWFkaW5nWmVyb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtbnVtYmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZC1mb3JtLWZsZXhfX2l0ZW0gdmQtZm9ybS1mbGV4X19pdGVtLS00LWNoYXItd2lkdGhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmZvcl09XCJidWlsZElkKCkgKyAnX3BhcnQyQ2hpbGQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgUHJlbWllcnMgY2hpZmZyZXMgYWzDqWF0b2lyZXMgZXQgYW5vbnltZXNcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0MkNoaWxkSGVscCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhaXNpciBxdWF0cmVzIGNoaWZmcmVzIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWJiciB0aXRsZT1cIkV4ZW1wbGVcIj5FeC48L2FiYnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMjM0XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICdfcGFydDInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwYXJ0MlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwidXBkYXRlTmF2cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbl09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh1c2VySW5wdXQpPVwiaGFuZGxlVXNlcklucHV0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzRXJyb3JJbmhlcml0ZWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVTdGFuZGFyZEhlbHBUZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93TGVhZGluZ1plcm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LW51bWJlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmQtZm9ybS1mbGV4X19pdGVtIHZkLWZvcm0tZmxleF9faXRlbS0tNC1jaGFyLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0M0NoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIERldXhpw6htZXMgY2hpZmZyZXMgYWzDqWF0b2lyZXMgZXQgYW5vbnltZXNcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wYXJ0M0NoaWxkSGVscCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhaXNpciBxdWF0cmVzIGNoaWZmcmVzIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWJiciB0aXRsZT1cIkV4ZW1wbGVcIj5FeC48L2FiYnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA1Njc4XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICdfcGFydDMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3BhcnQzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwYXJ0M1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwidXBkYXRlTmF2cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbl09XCJkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh1c2VySW5wdXQpPVwiaGFuZGxlVXNlcklucHV0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzRXJyb3JJbmhlcml0ZWRdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlU3RhbmRhcmRIZWxwVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd0xlYWRpbmdaZXJvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1udW1iZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3ZkLWZvcm0tZmxleF9faXRlbS0tMy1jaGFyLXdpZHRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmMsXG4gICAgICAgICAgICAgICAgICAgICd2ZC1mb3JtLWZsZXhfX2l0ZW0tLTItY2hhci13aWR0aCc6ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2xlYXJCdXR0b24oKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZkLWZvcm0tZmxleF9faXRlbSB2ZC1mb3JtLWZsZXhfX2l0ZW0tLTMtY2hhci13aWR0aFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRJZCgpICsgJ19wYXJ0NENoaWxkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIENoaWZmcmUgYWzDqWF0b2lyZSBldCBhbm9ueW1lIGV0IG51bcOpcm8gZGUgY29udHLDtGxlXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkSWQoKSArICdfcGFydDRDaGlsZEhlbHAnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYWlzaXIgZGV1eCBjaGlmZnJlcyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFiYnIgdGl0bGU9XCJFeGVtcGxlXCI+RXguPC9hYmJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogOTdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cblxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJ19wYXJ0NCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkSWQoKSArICdfcGFydDQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInBhcnQ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ1cGRhdGVOYXZzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ29mZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsZWFyQnV0dG9uXT1cImRpc3BsYXlDbGVhckJ1dHRvbigpIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHVzZXJJbnB1dCk9XCJoYW5kbGVVc2VySW5wdXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNFcnJvckluaGVyaXRlZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVTdGFuZGFyZEhlbHBUZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93TGVhZGluZ1plcm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LW51bWJlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
@@ -6,17 +6,17 @@ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
6
6
  import { FoehnInputNav13Component } from './foehn-input-nav13.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class FoehnInputNav13Module {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnInputNav13Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FoehnInputNav13Module, declarations: [FoehnInputNav13Component], imports: [CommonModule,
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnInputNav13Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: FoehnInputNav13Module, declarations: [FoehnInputNav13Component], imports: [CommonModule,
11
11
  FoehnValidationAlertsModule,
12
12
  FoehnInputModule,
13
13
  SdkDictionaryModule], exports: [FoehnInputNav13Component] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnInputNav13Module, imports: [CommonModule,
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnInputNav13Module, imports: [CommonModule,
15
15
  FoehnValidationAlertsModule,
16
16
  FoehnInputModule,
17
17
  SdkDictionaryModule] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnInputNav13Module, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnInputNav13Module, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
29
29
  exports: [FoehnInputNav13Component]
30
30
  }]
31
31
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFZekUsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsaUJBSGYsd0JBQXdCLGFBTG5DLFlBQVk7WUFDWiwyQkFBMkI7WUFDM0IsZ0JBQWdCO1lBQ2hCLG1CQUFtQixhQUdiLHdCQUF3QjsrR0FFekIscUJBQXFCLFlBUjFCLFlBQVk7WUFDWiwyQkFBMkI7WUFDM0IsZ0JBQWdCO1lBQ2hCLG1CQUFtQjs7MkZBS2QscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dE1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobklucHV0TmF2MTNDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvZWhuVmFsaWRhdGlvbkFsZXJ0c01vZHVsZSxcbiAgICAgICAgRm9laG5JbnB1dE1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TmF2MTNNb2R1bGUge31cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtbmF2MTMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdjEzL2ZvZWhuLWlucHV0LW5hdjEzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFZekUsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO2dIQUFyQixxQkFBcUIsaUJBSGYsd0JBQXdCLGFBTG5DLFlBQVk7WUFDWiwyQkFBMkI7WUFDM0IsZ0JBQWdCO1lBQ2hCLG1CQUFtQixhQUdiLHdCQUF3QjtnSEFFekIscUJBQXFCLFlBUjFCLFlBQVk7WUFDWiwyQkFBMkI7WUFDM0IsZ0JBQWdCO1lBQ2hCLG1CQUFtQjs7NEZBS2QscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dE1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobklucHV0TmF2MTNDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LW5hdjEzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvZWhuVmFsaWRhdGlvbkFsZXJ0c01vZHVsZSxcbiAgICAgICAgRm9laG5JbnB1dE1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5JbnB1dE5hdjEzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TmF2MTNNb2R1bGUge31cbiJdfQ==
@@ -22,10 +22,10 @@ export class AbstractFoehnNavigationComponent {
22
22
  canShowNextButton() {
23
23
  return this.showNextButton;
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: AbstractFoehnNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: AbstractFoehnNavigationComponent, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: AbstractFoehnNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.10", type: AbstractFoehnNavigationComponent, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: AbstractFoehnNavigationComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: AbstractFoehnNavigationComponent, decorators: [{
29
29
  type: Directive
30
30
  }], propDecorators: {
31
31
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
52
52
  }], triggerRecoveryOnPageChange: [{
53
53
  type: Input
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RSxNQUFNLE9BQWdCLGdDQUFnQztJQUR0RDtRQUlJLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSWxDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3RDLGNBQVMsR0FBRyw2QkFBNkIsQ0FBQztRQUcxQyxjQUFTLEdBQUcsaUNBQWlDLENBQUM7UUFHOUMsdUJBQWtCLEdBQUcsdUNBQXVDLENBQUM7UUFHN0Qsd0NBQW1DLEdBQy9CLDBEQUEwRCxDQUFDO1FBRy9ELGdDQUEyQixHQUN2QixpREFBaUQsQ0FBQztRQUd0RCw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFHL0IsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFHdEIsZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO0tBYXZDO0lBWEcsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQzs4R0E3Q2lCLGdDQUFnQztrR0FBaEMsZ0NBQWdDOzsyRkFBaEMsZ0NBQWdDO2tCQURyRCxTQUFTOztRQUdOLCtEQUErRDtRQUMvRCxNQUFNO3NCQUZMLE1BQU07O1FBS1AsK0RBQStEO1FBQy9ELFVBQVU7c0JBRlQsTUFBTTtnQkFLUCxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixtQ0FBbUM7c0JBRGxDLEtBQUs7Z0JBS04sMkJBQTJCO3NCQUQxQixLQUFLO2dCQUtOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sMkJBQTJCO3NCQUQxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb2Vobk5hdmlnYXRpb25Db21wb25lbnQge1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uUHJldmlvdXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIG5leHRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBwcmV2TGFiZWwgPSAnZm9laG4tbmF2aWdhdGlvbi5wcmV2aW91cy5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLmxhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWwgPVxuICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci1hbHJlYWR5LXJlZ2lzdGVyZWQubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWwgPVxuICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci1jb25uZWN0ZWQubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93Q29udGludWVMYXRlckJ1dHRvbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dOZXh0QnV0dG9uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlclJlY292ZXJ5T25QYWdlQ2hhbmdlID0gZmFsc2U7XG5cbiAgICBnb1RvTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk5leHQuZW1pdCgpO1xuICAgIH1cblxuICAgIGdvVG9QcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblByZXZpb3VzLmVtaXQoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93TmV4dEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd05leHRCdXR0b247XG4gICAgfVxufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RSxNQUFNLE9BQWdCLGdDQUFnQztJQUR0RDtRQUlJLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSWxDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3RDLGNBQVMsR0FBRyw2QkFBNkIsQ0FBQztRQUcxQyxjQUFTLEdBQUcsaUNBQWlDLENBQUM7UUFHOUMsdUJBQWtCLEdBQUcsdUNBQXVDLENBQUM7UUFHN0Qsd0NBQW1DLEdBQy9CLDBEQUEwRCxDQUFDO1FBRy9ELGdDQUEyQixHQUN2QixpREFBaUQsQ0FBQztRQUd0RCw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFHL0IsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFHdEIsZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO0tBYXZDO0lBWEcsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQzsrR0E3Q2lCLGdDQUFnQzttR0FBaEMsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQURyRCxTQUFTOztRQUdOLCtEQUErRDtRQUMvRCxNQUFNO3NCQUZMLE1BQU07O1FBS1AsK0RBQStEO1FBQy9ELFVBQVU7c0JBRlQsTUFBTTtnQkFLUCxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixtQ0FBbUM7c0JBRGxDLEtBQUs7Z0JBS04sMkJBQTJCO3NCQUQxQixLQUFLO2dCQUtOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sMkJBQTJCO3NCQUQxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb2Vobk5hdmlnYXRpb25Db21wb25lbnQge1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uUHJldmlvdXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIG5leHRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBwcmV2TGFiZWwgPSAnZm9laG4tbmF2aWdhdGlvbi5wcmV2aW91cy5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLmxhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWwgPVxuICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci1hbHJlYWR5LXJlZ2lzdGVyZWQubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWwgPVxuICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci1jb25uZWN0ZWQubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93Q29udGludWVMYXRlckJ1dHRvbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dOZXh0QnV0dG9uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlclJlY292ZXJ5T25QYWdlQ2hhbmdlID0gZmFsc2U7XG5cbiAgICBnb1RvTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk5leHQuZW1pdCgpO1xuICAgIH1cblxuICAgIGdvVG9QcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblByZXZpb3VzLmVtaXQoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93TmV4dEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd05leHRCdXR0b247XG4gICAgfVxufVxuIl19
@@ -51,13 +51,13 @@ export class FoehnNavigationComponent extends AbstractFoehnNavigationComponent {
51
51
  isLinearRouting() {
52
52
  return this.navigationService.isLinearRouting();
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i6.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i6.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["dispatchFormErrors", "continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
58
58
  type: Component,
59
- args: [{ selector: 'foehn-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
59
+ args: [{ selector: 'foehn-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"] }]
60
60
  }], ctorParameters: () => [{ type: i1.FoehnNavigationService }, { type: i2.ActivatedRoute }], propDecorators: { transmitLabel: [{
61
61
  type: Input
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLHdCQUNULFNBQVEsZ0NBQWdDO0lBTXhDLFlBQ1ksaUJBQXlDLEVBQ3pDLGNBQThCO1FBRXRDLEtBQUssRUFBRSxDQUFDO1FBSEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKMUMsa0JBQWEsR0FBRyxpQ0FBaUMsQ0FBQztJQU9sRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2Qix5RkFBeUY7WUFDekYsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hELElBQUksY0FBYyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCx5SEFBeUg7UUFDekgsdURBQXVEO1FBQ3ZELE9BQU8sY0FBYyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxxQkFBcUI7UUFDakIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2Qsd0ZBQXdGO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDcEQsQ0FBQzs4R0ExRFEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMkhDWHJDLGk5R0FvRkE7OzJGRHpFYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCO3dIQVM1QixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQWJzdHJhY3RGb2Vobk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1uYXZpZ2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuTmF2aWdhdGlvbkNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RGb2Vobk5hdmlnYXRpb25Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIEBJbnB1dCgpXG4gICAgdHJhbnNtaXRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS51cGRhdGVSb3V0ZUluZm9ybWF0aW9ucygpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd05leHRCdXR0b24pIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2UgdGhlIHVzZXIgZXhwbGljaXRseSBkaXNhYmxlIHRoZSBuZXh0IGJ1dHRvbiwgZm9yIHZhbGlkYXRpb24gb3IgZXJyb3IgcHVycG9zZXMuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0Um91dGVJbmRleCA9IHRoaXMuZ2V0TmV4dFJvdXRlSW5kZXgoKTtcbiAgICAgICAgaWYgKG5leHRSb3V0ZUluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB0aGUgcm91dGUgb3JkZXJzIGFyZSBsb3dlciB0aGFuIHRoZSBsYXN0IG9uZS4gRm9yIGluc3RhbmNlIHRoZSBsYXN0IG9uZSBiZWluZyB0aGUgY29uZmlybWF0aW9uIHBhZ2UsXG4gICAgICAgIC8vIGl0cyBvcmRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBhbGwgdGhlIG90aGVyIG9yZGVycy5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZUluZGV4IDw9IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0TGFzdFJvdXRlT3JkZXIoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93UHJldmlvdXNCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0ZpcnN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBpc0xhc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNMYXN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBnZXROZXh0Um91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXROZXh0Um91dGVJbmRleCgpO1xuICAgIH1cblxuICAgIGdldFByZXZpb3VzUm91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRQcmV2aW91c1JvdXRlSW5kZXgoKTtcbiAgICB9XG5cbiAgICBnZXRUb3RhbFJvdXRlc1NpemUoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aGF0IGxhc3Qgcm91dGUgaXMgdGhlIGNvbmZpcm1hdGlvbiBwYWdlIGFuZCB0aHVzIGlzbid0IGNvbnNpZGVyZWQgYXMgYSBzdGVwLlxuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRUb3RhbFJvdXRlc1NpemUoKSAtIDE7XG4gICAgfVxuXG4gICAgaXNMaW5lYXJSb3V0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0xpbmVhclJvdXRpbmcoKTtcbiAgICB9XG59XG4iLCI8Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb25cbiAgICAqbmdJZj1cInNob3dDb250aW51ZUxhdGVyQnV0dG9uXCJcbiAgICBbY29udGludWVMYXRlckxhYmVsXT1cImNvbnRpbnVlTGF0ZXJMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICBbY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWxdPVwiXG4gICAgICAgIGNvbnRpbnVlTGF0ZXJBbHJlYWR5UmVnaXN0ZXJlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWxdPVwiY29udGludWVMYXRlckNvbm5lY3RlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgIFt0cmlnZ2VyT25QYWdlQ2hhbmdlXT1cInRyaWdnZXJSZWNvdmVyeU9uUGFnZUNoYW5nZVwiXG4+PC9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbj5cblxuPG5hdiBjbGFzcz1cInZkLXBhZ2luYXRpb25cIiBpZD1cImZvZWhuX25hdkNvbnRhaW5lclwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNob3dQcmV2aW91c0J1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwicHJldkJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub1ByZXZpb3VzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByZXZMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCIgKm5nSWY9XCJpc0xpbmVhclJvdXRpbmcoKVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0UHJldmlvdXNSb3V0ZUluZGV4KCkgfX1cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLnJvdXRlLmluZGV4LnNlcGFyYXRvcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFRvdGFsUm91dGVzU2l6ZSgpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIlxuICAgICAgICAgICAgKm5nSWY9XCIhaXNMYXN0Rm9ybVBhZ2UoKSAmJiBjYW5TaG93TmV4dEJ1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwibmV4dEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub05leHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBuZXh0TGFiZWwgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIiAqbmdJZj1cImlzTGluZWFyUm91dGluZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldE5leHRSb3V0ZUluZGV4KCkgfX1cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLnJvdXRlLmluZGV4LnNlcGFyYXRvcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFRvdGFsUm91dGVzU2l6ZSgpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIlxuICAgICAgICAgICAgKm5nSWY9XCJpc0xhc3RGb3JtUGFnZSgpICYmIGNhblNob3dOZXh0QnV0dG9uKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0xhc3RGb3JtUGFnZSgpICYmIGNhblNob3dOZXh0QnV0dG9uKClcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIGlkPVwidHJhbnNtaXRCdXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvTmV4dCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyB2ZC1idG4tcGFnaW5hdGlvbi1zdWJtaXRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRyYW5zbWl0TGFiZWwgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvbmF2PlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLHdCQUNULFNBQVEsZ0NBQWdDO0lBTXhDLFlBQ1ksaUJBQXlDLEVBQ3pDLGNBQThCO1FBRXRDLEtBQUssRUFBRSxDQUFDO1FBSEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKMUMsa0JBQWEsR0FBRyxpQ0FBaUMsQ0FBQztJQU9sRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2Qix5RkFBeUY7WUFDekYsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hELElBQUksY0FBYyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCx5SEFBeUg7UUFDekgsdURBQXVEO1FBQ3ZELE9BQU8sY0FBYyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxxQkFBcUI7UUFDakIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2Qsd0ZBQXdGO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDcEQsQ0FBQzsrR0ExRFEsd0JBQXdCO21HQUF4Qix3QkFBd0IsMkhDWHJDLHk5R0FvRkE7OzRGRHpFYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCO3dIQVM1QixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQWJzdHJhY3RGb2Vobk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1uYXZpZ2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuTmF2aWdhdGlvbkNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RGb2Vobk5hdmlnYXRpb25Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIEBJbnB1dCgpXG4gICAgdHJhbnNtaXRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS51cGRhdGVSb3V0ZUluZm9ybWF0aW9ucygpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd05leHRCdXR0b24pIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2UgdGhlIHVzZXIgZXhwbGljaXRseSBkaXNhYmxlIHRoZSBuZXh0IGJ1dHRvbiwgZm9yIHZhbGlkYXRpb24gb3IgZXJyb3IgcHVycG9zZXMuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0Um91dGVJbmRleCA9IHRoaXMuZ2V0TmV4dFJvdXRlSW5kZXgoKTtcbiAgICAgICAgaWYgKG5leHRSb3V0ZUluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB0aGUgcm91dGUgb3JkZXJzIGFyZSBsb3dlciB0aGFuIHRoZSBsYXN0IG9uZS4gRm9yIGluc3RhbmNlIHRoZSBsYXN0IG9uZSBiZWluZyB0aGUgY29uZmlybWF0aW9uIHBhZ2UsXG4gICAgICAgIC8vIGl0cyBvcmRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBhbGwgdGhlIG90aGVyIG9yZGVycy5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZUluZGV4IDw9IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0TGFzdFJvdXRlT3JkZXIoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93UHJldmlvdXNCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0ZpcnN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBpc0xhc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNMYXN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBnZXROZXh0Um91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXROZXh0Um91dGVJbmRleCgpO1xuICAgIH1cblxuICAgIGdldFByZXZpb3VzUm91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRQcmV2aW91c1JvdXRlSW5kZXgoKTtcbiAgICB9XG5cbiAgICBnZXRUb3RhbFJvdXRlc1NpemUoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aGF0IGxhc3Qgcm91dGUgaXMgdGhlIGNvbmZpcm1hdGlvbiBwYWdlIGFuZCB0aHVzIGlzbid0IGNvbnNpZGVyZWQgYXMgYSBzdGVwLlxuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRUb3RhbFJvdXRlc1NpemUoKSAtIDE7XG4gICAgfVxuXG4gICAgaXNMaW5lYXJSb3V0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0xpbmVhclJvdXRpbmcoKTtcbiAgICB9XG59XG4iLCI8Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb25cbiAgICAqbmdJZj1cInNob3dDb250aW51ZUxhdGVyQnV0dG9uXCJcbiAgICBbY29udGludWVMYXRlckxhYmVsXT1cImNvbnRpbnVlTGF0ZXJMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICBbY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWxdPVwiXG4gICAgICAgIGNvbnRpbnVlTGF0ZXJBbHJlYWR5UmVnaXN0ZXJlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWxdPVwiY29udGludWVMYXRlckNvbm5lY3RlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgIFt0cmlnZ2VyT25QYWdlQ2hhbmdlXT1cInRyaWdnZXJSZWNvdmVyeU9uUGFnZUNoYW5nZVwiXG4+PC9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbj5cblxuPG5hdiBjbGFzcz1cInZkLXBhZ2luYXRpb25cIiBpZD1cImZvZWhuX25hdkNvbnRhaW5lclwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNob3dQcmV2aW91c0J1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwicHJldkJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayB2ZC1wYWdpbmF0aW9uX19saW5rLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IGdvVG9QcmV2aW91cygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tbGVmdFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWljb24tY2hldnJvbi1sZWZ0PlxuICAgICAgICAgICAgICAgICAgICB7eyBwcmV2TGFiZWwgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIiAqbmdJZj1cImlzTGluZWFyUm91dGluZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFByZXZpb3VzUm91dGVJbmRleCgpIH19XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5yb3V0ZS5pbmRleC5zZXBhcmF0b3InXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRUb3RhbFJvdXRlc1NpemUoKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBpZD1cIm5leHRCdXR0b25cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBnb1RvTmV4dCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IG5leHRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tcmlnaHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tcmlnaHQ+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCIgKm5nSWY9XCJpc0xpbmVhclJvdXRpbmcoKVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0TmV4dFJvdXRlSW5kZXgoKSB9fVxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0VG90YWxSb3V0ZXNTaXplKCkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2l0ZW0gdmQtcGFnaW5hdGlvbl9faXRlbS0tbmV4dFwiXG4gICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0cmFuc21pdEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9OZXh0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHZkLWJ0bi1wYWdpbmF0aW9uLXN1Ym1pdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHJhbnNtaXRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=
@@ -7,17 +7,17 @@ import { FoehnNavigationComponent } from './foehn-navigation/foehn-navigation.co
7
7
  import { FoehnSimpleNavigationComponent } from './foehn-simple-navigation/foehn-simple-navigation.component';
8
8
  import * as i0 from "@angular/core";
9
9
  export class FoehnNavigationModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationModule, declarations: [FoehnNavigationComponent, FoehnSimpleNavigationComponent], imports: [CommonModule,
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationModule, declarations: [FoehnNavigationComponent, FoehnSimpleNavigationComponent], imports: [CommonModule,
12
12
  FoehnIconsModule,
13
13
  GesdemActionRecoveryModule,
14
14
  SdkDictionaryModule], exports: [FoehnNavigationComponent, FoehnSimpleNavigationComponent] }); }
15
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationModule, imports: [CommonModule,
15
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationModule, imports: [CommonModule,
16
16
  FoehnIconsModule,
17
17
  GesdemActionRecoveryModule,
18
18
  SdkDictionaryModule] }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationModule, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationModule, decorators: [{
21
21
  type: NgModule,
22
22
  args: [{
23
23
  imports: [
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
30
30
  exports: [FoehnNavigationComponent, FoehnSimpleNavigationComponent]
31
31
  }]
32
32
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7QUFZN0csTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsaUJBSGYsd0JBQXdCLEVBQUUsOEJBQThCLGFBTG5FLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLG1CQUFtQixhQUdiLHdCQUF3QixFQUFFLDhCQUE4QjsrR0FFekQscUJBQXFCLFlBUjFCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLG1CQUFtQjs7MkZBS2QscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixFQUFFLDhCQUE4QixDQUFDO29CQUN4RSxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSw4QkFBOEIsQ0FBQztpQkFDdEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSB9IGZyb20gJy4uL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5TaW1wbGVOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1zaW1wbGUtbmF2aWdhdGlvbi9mb2Vobi1zaW1wbGUtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb2Vobkljb25zTW9kdWxlLFxuICAgICAgICBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50LCBGb2VoblNpbXBsZU5hdmlnYXRpb25Db21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtGb2Vobk5hdmlnYXRpb25Db21wb25lbnQsIEZvZWhuU2ltcGxlTmF2aWdhdGlvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5OYXZpZ2F0aW9uTW9kdWxlIHt9XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7QUFZN0csTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO2dIQUFyQixxQkFBcUIsaUJBSGYsd0JBQXdCLEVBQUUsOEJBQThCLGFBTG5FLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLG1CQUFtQixhQUdiLHdCQUF3QixFQUFFLDhCQUE4QjtnSEFFekQscUJBQXFCLFlBUjFCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLG1CQUFtQjs7NEZBS2QscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixFQUFFLDhCQUE4QixDQUFDO29CQUN4RSxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSw4QkFBOEIsQ0FBQztpQkFDdEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSB9IGZyb20gJy4uL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5tb2R1bGUnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5TaW1wbGVOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1zaW1wbGUtbmF2aWdhdGlvbi9mb2Vobi1zaW1wbGUtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb2Vobkljb25zTW9kdWxlLFxuICAgICAgICBHZXNkZW1BY3Rpb25SZWNvdmVyeU1vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50LCBGb2VoblNpbXBsZU5hdmlnYXRpb25Db21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtGb2Vobk5hdmlnYXRpb25Db21wb25lbnQsIEZvZWhuU2ltcGxlTmF2aWdhdGlvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5OYXZpZ2F0aW9uTW9kdWxlIHt9XG4iXX0=
@@ -296,13 +296,13 @@ export class FoehnNavigationService {
296
296
  }
297
297
  }, 0);
298
298
  }
299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationService, deps: [{ token: i1.Router }, { token: i2.GesdemHandlerService }, { token: i3.GesdemActionRecoveryService }, { token: i1.ActivatedRoute }, { token: i4.Location }, { token: i5.DemandeTransmitInterceptor }, { token: i6.SdkEventsLoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
300
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationService, providedIn: 'root' }); }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationService, deps: [{ token: i1.Router }, { token: i2.GesdemHandlerService }, { token: i3.GesdemActionRecoveryService }, { token: i1.ActivatedRoute }, { token: i4.Location }, { token: i5.DemandeTransmitInterceptor }, { token: i6.SdkEventsLoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
300
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationService, providedIn: 'root' }); }
301
301
  }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FoehnNavigationService, decorators: [{
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnNavigationService, decorators: [{
303
303
  type: Injectable,
304
304
  args: [{
305
305
  providedIn: 'root'
306
306
  }]
307
307
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.GesdemHandlerService }, { type: i3.GesdemActionRecoveryService }, { type: i1.ActivatedRoute }, { type: i4.Location }, { type: i5.DemandeTransmitInterceptor }, { type: i6.SdkEventsLoggerService }] });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBR25FLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDM0IsbUVBQVksQ0FBQTtJQUNaLHNFQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUI7QUFLRCxNQUFNLE9BQU8sc0JBQXNCO0lBUy9CLFlBQ1ksTUFBYyxFQUNkLGFBQW1DLEVBQ25DLDJCQUF3RCxFQUN4RCxLQUFxQixFQUNyQixRQUFrQixFQUNsQiwwQkFBc0QsRUFDdEQsbUJBQTJDO1FBTjNDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQVovQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsaUNBQTRCLEdBQ2hDLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO0lBVTFCLENBQUM7SUFFSixJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxN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QUFFLENBQUM7Z0JBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNyQyxDQUFDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLG9FQUFvRTtRQUNwRSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs4R0FoWVEsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWN0aXZhdGVkUm91dGUsXG4gICAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBDYW5BY3RpdmF0ZUZuLFxuICAgIFBhcmFtcyxcbiAgICBSb3V0ZSxcbiAgICBSb3V0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEZW1hbmRlVHJhbnNtaXRJbnRlcmNlcHRvciB9IGZyb20gJy4uL2ZvZWhuLXBhZ2UvZm9laG4tdHJhbnNtaXQtd2FpdGluZy1tb2RhbC9kZW1hbmRlLXRyYW5zbWl0LWludGVyY2VwdG9yJztcbmltcG9ydCB7IEdlc2RlbUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtQWN0aW9uUmVjb3ZlcnlTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2RrRXZlbnRUeXBlIH0gZnJvbSAnLi4vc2RrLWV2ZW50cy1sb2dnZXIvc2RrLWV2ZW50LXR5cGUnO1xuaW1wb3J0IHsgU2RrRXZlbnRzTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3Nkay1ldmVudHMtbG9nZ2VyL3Nkay1ldmVudHMtbG9nZ2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgZW51bSBOYXZpZ2F0aW9uRGlyZWN0aW9uIHtcbiAgICBGT1JXQVJEID0gKzEsXG4gICAgQkFDS1dBUkQgPSAtMVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuTmF2aWdhdGlvblNlcnZpY2Uge1xuICAgIGN1cnJlbnRSb3V0ZU9yZGVyOiBudW1iZXI7XG4gICAgb3JkZXJlZFJvdXRlczogUm91dGVbXTtcbiAgICBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICAgcHJpdmF0ZSBpc0luaXQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGluaXRpYWxpemVkQW5kUm91dGVBY3RpdmF0ZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgbGluZWFyUm91dGluZyA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1BY3Rpb25SZWNvdmVyeVNlcnZpY2U6IEdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICBwcml2YXRlIGRlbWFuZGVUcmFuc21pdEludGVyY2VwdG9yOiBEZW1hbmRlVHJhbnNtaXRJbnRlcmNlcHRvcixcbiAgICAgICAgcHJpdmF0ZSBldmVudHNMb2dnZXJTZXJ2aWNlOiBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgZ2V0IGluaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0luaXQ7XG4gICAgfVxuXG4gICAgc2V0IGFjdGl2YXRlZFJvdXRlKHZhbHVlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICB0aGlzLnRocm93SWZOb3RJbml0KCk7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWRBbmRSb3V0ZUFjdGl2YXRlZC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRSb290Um91dGVSZWN1cnNpdmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBSb3V0ZSB7XG4gICAgICAgIGlmIChyb3V0ZSkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHJvdXRlLnJvdXRlQ29uZmlnICYmXG4gICAgICAgICAgICAgICAgcm91dGUucm91dGVDb25maWcuZGF0YSAmJlxuICAgICAgICAgICAgICAgIHJvdXRlLnJvdXRlQ29uZmlnLmRhdGEucm9vdFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvdXRlLnJvdXRlQ29uZmlnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKHJvdXRlLnBhcmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaW5pdFJvdXRlKHJvdXRlOiBSb3V0ZSk6IHZvaWQge1xuICAgICAgICBpZiAocm91dGUpIHtcbiAgICAgICAgICAgIHRoaXMub3JkZXJlZFJvdXRlcyA9IHRoaXMuaW5kZXhSb3V0ZXNCeU9yZGVyKHJvdXRlKTtcblxuICAgICAgICAgICAgLy8gQnkgZGVmYXVsdCB0aGUgcHJlZml4IHNob3VsZCBiZSB0aGUgcGF0aCBvZiB0aGUgcm91dGUuIChlLmcuIGluIC92YWxpZGF0aW9uLzEyMzEyMy0xMjMyMS9wYWdlMSxcbiAgICAgICAgICAgIC8vIHRoZSBwcmVmaXggaXMgXCJ2YWxpZGF0aW9uXCIpLiBIb3dldmVyLCBpZiB0aGUgYXBwbGljYXRpb24gaXMgY29kZS1zcGxpdHRlZCB3aXRoIHRoZSByb3V0aW5nIGRlZmluZWRcbiAgICAgICAgICAgIC8vIGluIGEgbW9kdWxlLCB0aGlzIHdvbid0IHdvcmsuIEluIHRoaXMgY2FzZSwgeW91IGNhbiBzcGVjaWZ5IHRoZSBwYXRoIGluICQuZGF0YS5iYXNlUGF0aCBzbyB0aGUgR2VzRGVtXG4gICAgICAgICAgICAvLyBzZXJ2aWNlIGtub3dzIHdoZXJlIHRvIHNlbmQgdGhlIHJlcXVlc3QgdG8gdGhlIGJhY2tlbmQuXG4gICAgICAgICAgICBjb25zdCBwcmVmaXggPSByb3V0ZS5kYXRhLmJhc2VQYXRoIHx8IHJvdXRlLnBhdGg7XG4gICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4ID0gcHJlZml4O1xuICAgICAgICAgICAgdGhpcy5nZXNkZW1BY3Rpb25SZWNvdmVyeVNlcnZpY2UucHJlZml4ID0gcHJlZml4O1xuICAgICAgICAgICAgdGhpcy5kZW1hbmRlVHJhbnNtaXRJbnRlcmNlcHRvci5wcmVmaXggPSBwcmVmaXg7XG4gICAgICAgICAgICB0aGlzLmxpbmVhclJvdXRpbmcgPSByb3V0ZS5kYXRhLmxpbmVhclJvdXRpbmcgIT09IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICB9XG5cbiAgICB0aHJvd0lmTm90SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzSW5pdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBcIk5vIHJvdXRlIGlzIGlkZW50aWZpZWQgYXMgJ3Jvb3QnLiBIYXZlIHlvdSBjYWxsZWQgaW5pdFJvdXRlKCkgP1wiXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlUm91dGVJbmZvcm1hdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGUucm91dGVDb25maWc7XG5cbiAgICAgICAgbGV0IGN1cnJlbnRSb3V0ZU9yZGVyID0gMTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhIWN1cnJlbnRSb3V0ZSAmJlxuICAgICAgICAgICAgISFjdXJyZW50Um91dGUuZGF0YSAmJlxuICAgICAgICAgICAgISFjdXJyZW50Um91dGUuZGF0YS5vcmRlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIGN1cnJlbnRSb3V0ZU9yZGVyID0gY3VycmVudFJvdXRlLmRhdGEub3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50Um91dGVPcmRlciA9IGN1cnJlbnRSb3V0ZU9yZGVyO1xuICAgIH1cblxuICAgIGdldEZpcnN0Um91dGUoKTogUm91dGUge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmRlcmVkUm91dGVzWzFdO1xuICAgIH1cblxuICAgIGN1cnJlbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ0VycmV1ciBuYXZpZ2F0aW9uU2VydmljZSNjdXJyZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5vcmRlcmVkUm91dGVzW3RoaXMuY3VycmVudFJvdXRlT3JkZXJdO1xuXG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuZ2VzZGVtU2VydmljZS5wcmVmaXg7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAocHJlZml4KSB7XG4gICAgICAgICAgICBjb21tYW5kcy5wdXNoKHByZWZpeCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZSkge1xuICAgICAgICAgICAgY29tbWFuZHMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRSb3V0ZS5wYXRoXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBjb25zdCB0cmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShjb21tYW5kcyk7XG4gICAgICAgICAgICBjb25zdCB1cmwgPVxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0cmVlKSArXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRRdWVyeVBhcmFtc1RvRm9yd2FyZEFzU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh1cmwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcbiAgICB9XG5cbiAgICBoYXNCZWVuSW5pdGlhbGl6ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVkQW5kUm91dGVBY3RpdmF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0UXVlcnlQYXJhbXNUb0ZvcndhcmRBc1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFF1ZXJ5UGFyYW1zVG9Gb3J3YXJkKCkgfHwgW107XG4gICAgICAgIGxldCBzdHJpbmdQYXJhbXMgPSAnJztcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbXNba2V5XTtcbiAgICAgICAgICAgIHN0cmluZ1BhcmFtcyArPSBzdHJpbmdQYXJhbXMgPyAnJicgOiAnPyc7XG4gICAgICAgICAgICBzdHJpbmdQYXJhbXMgKz0gYCR7a2V5fT0ke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cmluZ1BhcmFtcztcbiAgICB9XG5cbiAgICBnZXRRdWVyeVBhcmFtc1RvRm9yd2FyZCgpOiBQYXJhbXMge1xuICAgICAgICBjb25zdCByZUNhcHRjaGFCeVBhc3NVVUlEID1cbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVDYXB0Y2hhQnlQYXNzVVVJRDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG8gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnNjcm9sbFRvO1xuICAgICAgICBpZiAoISFyZUNhcHRjaGFCeVBhc3NVVUlEIHx8ICEhc2Nyb2xsVG8pIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtczogUGFyYW1zID0ge307XG4gICAgICAgICAgICBpZiAoISFyZUNhcHRjaGFCeVBhc3NVVUlEKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLnJlQ2FwdGNoYUJ5UGFzc1VVSUQgPSByZUNhcHRjaGFCeVBhc3NVVUlEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCEhc2Nyb2xsVG8pIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMuc2Nyb2xsVG8gPSBzY3JvbGxUbztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbmV4dCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgdGhpcy50aHJvd0lmTm90SW5pdCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFRvQXZhaWxhYmxlUm91dGUoTmF2aWdhdGlvbkRpcmVjdGlvbi5GT1JXQVJEKTtcbiAgICB9XG5cbiAgICBwcmV2aW91cygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgdGhpcy50aHJvd0lmTm90SW5pdCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFRvQXZhaWxhYmxlUm91dGUoTmF2aWdhdGlvbkRpcmVjdGlvbi5CQUNLV0FSRCk7XG4gICAgfVxuXG4gICAgbGFzdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgdGhpcy50aHJvd0lmTm90SW5pdCgpO1xuICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMuZ2V0QXZhaWxhYmxlUm91dGVzKCk7XG4gICAgICAgIGNvbnN0IG5leHRSb3V0ZVBhdGggPSByb3V0ZVtyb3V0ZS5sZW5ndGggLSAxXS5wYXRoO1xuICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdChuZXh0Um91dGVQYXRoKTtcbiAgICB9XG5cbiAgICByZWRpcmVjdChuZXdQYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3Qgcm91dGVzID0gW107XG4gICAgICAgIGlmICh0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4KSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCh0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgICByb3V0ZXMucHVzaCh0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlLCBuZXdQYXRoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXJcbiAgICAgICAgICAgIC5uYXZpZ2F0ZShyb3V0ZXMsIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5nZXRRdWVyeVBhcmFtc1RvRm9yd2FyZCgpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oc3VjY2VzcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1c09uUGFnZVRpdGxlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZXNzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlUm91dGVzKCk6IFJvdXRlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmRlcmVkUm91dGVzLmZpbHRlcihyb3V0ZSA9PiB0aGlzLmlzUm91dGVBdmFpbGFibGUocm91dGUpKTtcbiAgICB9XG5cbiAgICBnZXRDdXJyZW50Um91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICAvLyBUaGlzIGV2YWx1YXRlcyBhbGwgdGhlIGd1YXJkc1xuICAgICAgICBjb25zdCBhdmFpbGFibGVSb3V0ZXMgPSB0aGlzLmdldEF2YWlsYWJsZVJvdXRlcygpO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IGF2YWlsYWJsZVJvdXRlcy5maW5kKFxuICAgICAgICAgICAgcm91dGUgPT4gcm91dGUuZGF0YS5vcmRlciA9PT0gdGhpcy5jdXJyZW50Um91dGVPcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghY3VycmVudFJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhdmFpbGFibGVSb3V0ZXMuaW5kZXhPZihjdXJyZW50Um91dGUpO1xuICAgIH1cblxuICAgIGdldFRvdGFsUm91dGVzU2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBdmFpbGFibGVSb3V0ZXMoKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0TGFzdFJvdXRlT3JkZXIoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91dGVzID0gdGhpcy5nZXRBdmFpbGFibGVSb3V0ZXMoKTtcbiAgICAgICAgcmV0dXJuIHJvdXRlc1tyb3V0ZXMubGVuZ3RoIC0gMV0uZGF0YS5vcmRlcjtcbiAgICB9XG5cbiAgICBnZXROZXh0QXZhaWxhYmxlUm91dGUoZGlyZWN0aW9uOiBOYXZpZ2F0aW9uRGlyZWN0aW9uKTogUm91dGUge1xuICAgICAgICAvLyBUaGlzIGV2YWx1YXRlcyBhbGwgdGhlIGd1YXJkc1xuICAgICAgICBjb25zdCBhdmFpbGFibGVSb3V0ZXMgPSB0aGlzLmdldEF2YWlsYWJsZVJvdXRlcygpO1xuXG4gICAgICAgIC8vIEFzc3VtZXMgdGhhdCB0aGUgbmV4dCBvciBwcmV2aW91cyByb3V0ZSBpcyB0aGUgbmV4dCBvciBwcmV2aW91cyBvbiB0aGUgYXJyYXkgb2YgYXZhaWxhYmxlIHJvdXRlcy5cbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5nZXRDdXJyZW50Um91dGUoYXZhaWxhYmxlUm91dGVzKTtcbiAgICAgICAgaWYgKCFjdXJyZW50Um91dGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAnSW52YWxpZCByb3V0aW5nLCBhdCBsZWFzdCBvbmUgcm91dGUgbXVzdCBiZSBhdmFpbGFibGUnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlSW5kZXggPSBhdmFpbGFibGVSb3V0ZXMuaW5kZXhPZihjdXJyZW50Um91dGUpO1xuICAgICAgICBjb25zdCB0YXJnZXRSb3V0ZSA9IGF2YWlsYWJsZVJvdXRlc1tjdXJyZW50Um91dGVJbmRleCArIGRpcmVjdGlvbl07XG4gICAgICAgIGlmICghdGFyZ2V0Um91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGRpc3BsYXkgaW5kZXggaXNuJ3QgYWx3YXlzIHRoZSByb3V0ZSBvcmRlciBhcyB3ZSBzdXBwb3J0IGd1YXJkcyBvbiBhdmFpbGFibGUgcm91dGVzLlxuICAgICAgICAvLyBUaGUgZGlzcGxheSBpbmRleCBpcyAxLWJhc2VkLlxuICAgICAgICB0YXJnZXRSb3V0ZS5kYXRhLmRpc3BsYXlJbmRleCA9XG4gICAgICAgICAgICBhdmFpbGFibGVSb3V0ZXMuaW5kZXhPZih0YXJnZXRSb3V0ZSkgKyAxO1xuICAgICAgICByZXR1cm4gdGFyZ2V0Um91dGU7XG4gICAgfVxuXG4gICAgaXNGaXJzdEZvcm1QYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0Q3VycmVudFJvdXRlKHRoaXMuZ2V0QXZhaWxhYmxlUm91dGVzKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5nZXROZXh0QXZhaWxhYmxlUm91dGUoTmF2aWdhdGlvbkRpcmVjdGlvbi5CQUNLV0FSRCkgPT09IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpc0xhc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm9yZGVyZWRSb3V0ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmdldEN1cnJlbnRSb3V0ZSh0aGlzLmdldEF2YWlsYWJsZVJvdXRlcygpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFJvdXRlID0gdGhpcy5nZXROZXh0QXZhaWxhYmxlUm91dGUoXG4gICAgICAgICAgICBOYXZpZ2F0aW9uRGlyZWN0aW9uLkZPUldBUkRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFuZXh0Um91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZS5kYXRhLm9yZGVyID09PSB0aGlzLmdldExhc3RSb3V0ZU9yZGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0TmV4dFJvdXRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbmV4dFJvdXRlID0gdGhpcy5nZXROZXh0QXZhaWxhYmxlUm91dGUoXG4gICAgICAgICAgICBOYXZpZ2F0aW9uRGlyZWN0aW9uLkZPUldBUkRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFuZXh0Um91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZS5kYXRhLmRpc3BsYXlJbmRleDtcbiAgICB9XG5cbiAgICBnZXRQcmV2aW91c1JvdXRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNSb3V0ZSA9IHRoaXMuZ2V0TmV4dEF2YWlsYWJsZVJvdXRlKFxuICAgICAgICAgICAgTmF2aWdhdGlvbkRpcmVjdGlvbi5CQUNLV0FSRFxuICAgICAgICApO1xuICAgICAgICBpZiAoIXByZXZpb3VzUm91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZpb3VzUm91dGUuZGF0YS5kaXNwbGF5SW5kZXg7XG4gICAgfVxuXG4gICAgaXNMaW5lYXJSb3V0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5lYXJSb3V0aW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFJvdXRlKGF2YWlsYWJsZVJvdXRlczogUm91dGVbXSk6IFJvdXRlIHtcbiAgICAgICAgcmV0dXJuIGF2YWlsYWJsZVJvdXRlcy5maW5kKFxuICAgICAgICAgICAgcm91dGUgPT4gcm91dGUuZGF0YS5vcmRlciA9PT0gdGhpcy5jdXJyZW50Um91dGVPcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVkaXJlY3RUb0F2YWlsYWJsZVJvdXRlKFxuICAgICAgICBkaXJlY3Rpb246IE5hdmlnYXRpb25EaXJlY3Rpb25cbiAgICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLmdldE5leHRBdmFpbGFibGVSb3V0ZShkaXJlY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IGV2ZW50VHlwZSA9XG4gICAgICAgICAgICBkaXJlY3Rpb24gPT09IE5hdmlnYXRpb25EaXJlY3Rpb24uRk9SV0FSRFxuICAgICAgICAgICAgICAgID8gU2RrRXZlbnRUeXBlLk5BVklHQVRJT05fRk9SV0FSRFxuICAgICAgICAgICAgICAgIDogU2RrRXZlbnRUeXBlLk5BVklHQVRJT05fQkFDS1dBUkQ7XG4gICAgICAgIHRoaXMuZXZlbnRzTG9nZ2VyU2VydmljZS5hZGRFdmVudChldmVudFR5cGUsIHJvdXRlLnBhdGgpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0KHJvdXRlLnBhdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNSb3V0ZUF2YWlsYWJsZShyb3V0ZTogUm91dGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgeyBjYW5BY3RpdmF0ZSB9ID0gcm91dGU7XG4gICAgICAgIGlmICghY2FuQWN0aXZhdGUgfHwgIWNhbkFjdGl2YXRlLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbGwgdGhlIGd1YXJkcyBtdXN0IGJlIGV2YWx1YXRlZCB0byB0cnVlXG4gICAgICAgIHJldHVybiAhY2FuQWN0aXZhdGUuc29tZShcbiAgICAgICAgICAgIChndWFyZEZuOiBDYW5BY3RpdmF0ZUZuKSA9PiAhdGhpcy5ldmFsdWF0ZUd1YXJkKGd1YXJkRm4pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBldmFsdWF0ZUd1YXJkKGd1YXJkRm46IENhbkFjdGl2YXRlRm4pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZ3VhcmRSZXN1bHQgPSBndWFyZEZuKHRoaXMucm91dGUuc25hcHNob3QsIG51bGwpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgZ3VhcmRSZXN1bHQgIT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICdOb3QgaW1wbGVtZW50ZWQ6IER5bmFtaWMgcm91dGluZyBndWFyZHMgb25seSBzdXBwb3J0IGJvb2xlYW4gcmVzdWx0cydcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ3VhcmRSZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVpbmRleGUgbGVzIHJvdXRlcyBwYXIgXCJvcmRlclwiXG4gICAgICogQHBhcmFtIGFwcGxpY2F0aW9uUm91dGUgYXMgcm91dGVcbiAgICAgKiBAcmV0dXJucyBSb3V0ZVtdXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbmRleFJvdXRlc0J5T3JkZXIoYXBwbGljYXRpb25Sb3V0ZTogUm91dGUpOiBSb3V0ZVtdIHtcbiAgICAgICAgdGhpcy5pc0luaXQgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCByb3V0ZXNUb0NyYXdsID0gYXBwbGljYXRpb25Sb3V0ZS5jaGlsZHJlbjtcbiAgICAgICAgaWYgKCFyb3V0ZXNUb0NyYXdsLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5mbGF0dGVuUm91dGVzKHJvdXRlc1RvQ3Jhd2wpO1xuXG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5pc0luaXQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZsYXR0ZW5Sb3V0ZXMoXG4gICAgICAgIHJvdXRlc1RvQ3Jhd2w6IFJvdXRlW10sXG4gICAgICAgIHJlc3VsdDogUm91dGVbXSA9IFtdXG4gICAgKTogUm91dGVbXSB7XG4gICAgICAgIHJvdXRlc1RvQ3Jhd2wuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUuY2hpbGRyZW4gJiYgdmFsdWUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0dGVuUm91dGVzKHZhbHVlLmNoaWxkcmVuLCByZXN1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoISF2YWx1ZS5kYXRhICYmICEhdmFsdWUuZGF0YS5vcmRlcikge1xuICAgICAgICAgICAgICAgIHJlc3VsdFt2YWx1ZS5kYXRhLm9yZGVyXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9jdXNPblBhZ2VUaXRsZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBmb2N1cyBpcyBwcm9wZXJseSBzZXQgYWZ0ZXIgdGhlIHBhZ2UgaXMgdXBkYXRlZC5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLXRpdGxlJyk7XG4gICAgICAgICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aXRsZS5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iXX0=
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBR25FLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDM0IsbUVBQVksQ0FBQTtJQUNaLHNFQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUI7QUFLRCxNQUFNLE9BQU8sc0JBQXNCO0lBUy9CLFlBQ1ksTUFBYyxFQUNkLGFBQW1DLEVBQ25DLDJCQUF3RCxFQUN4RCxLQUFxQixFQUNyQixRQUFrQixFQUNsQiwwQkFBc0QsRUFDdEQsbUJBQTJDO1FBTjNDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQVovQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsaUNBQTRCLEdBQ2hDLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO0lBVTFCLENBQUM7SUFFSixJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxN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QUFFLENBQUM7Z0JBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNyQyxDQUFDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLG9FQUFvRTtRQUNwRSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzsrR0FoWVEsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7NEZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWN0aXZhdGVkUm91dGUsXG4gICAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBDYW5BY3RpdmF0ZUZuLFxuICAgIFBhcmFtcyxcbiAgICBSb3V0ZSxcbiAgICBSb3V0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEZW1hbmRlVHJhbnNtaXRJbnRlcmNlcHRvciB9IGZyb20gJy4uL2ZvZWhuLXBhZ2UvZm9laG4tdHJhbnNtaXQtd2FpdGluZy1tb2RhbC9kZW1hbmRlLXRyYW5zbWl0LWludGVyY2VwdG9yJztcbmltcG9ydCB7IEdlc2RlbUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtQWN0aW9uUmVjb3ZlcnlTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2RrRXZlbnRUeXBlIH0gZnJvbSAnLi4vc2RrLWV2ZW50cy1sb2dnZXIvc2RrLWV2ZW50LXR5cGUnO1xuaW1wb3J0IHsgU2RrRXZlbnRzTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3Nkay1ldmVudHMtbG9nZ2VyL3Nkay1ldmVudHMtbG9nZ2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgZW51bSBOYXZpZ2F0aW9uRGlyZWN0aW9uIHtcbiAgICBGT1JXQVJEID0gKzEsXG4gICAgQkFDS1dBUkQgPSAtMVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuTmF2aWdhdGlvblNlcnZpY2Uge1xuICAgIGN1cnJlbnRSb3V0ZU9yZGVyOiBudW1iZXI7XG4gICAgb3JkZXJlZFJvdXRlczogUm91dGVbXTtcbiAgICBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICAgcHJpdmF0ZSBpc0luaXQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGluaXRpYWxpemVkQW5kUm91dGVBY3RpdmF0ZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgbGluZWFyUm91dGluZyA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1BY3Rpb25SZWNvdmVyeVNlcnZpY2U6IEdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICBwcml2YXRlIGRlbWFuZGVUcmFuc21pdEludGVyY2VwdG9yOiBEZW1hbmRlVHJhbnNtaXRJbnRlcmNlcHRvcixcbiAgICAgICAgcHJpdmF0ZSBldmVudHNMb2dnZXJTZXJ2aWNlOiBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgZ2V0IGluaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0luaXQ7XG4gICAgfVxuXG4gICAgc2V0IGFjdGl2YXRlZFJvdXRlKHZhbHVlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICB0aGlzLnRocm93SWZOb3RJbml0KCk7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWRBbmRSb3V0ZUFjdGl2YXRlZC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRSb290Um91dGVSZWN1cnNpdmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBSb3V0ZSB7XG4gICAgICAgIGlmIChyb3V0ZSkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHJvdXRlLnJvdXRlQ29uZmlnICYmXG4gICAgICAgICAgICAgICAgcm91dGUucm91dGVDb25maWcuZGF0YSAmJlxuICAgICAgICAgICAgICAgIHJvdXRlLnJvdXRlQ29uZmlnLmRhdGEucm9vdFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvdXRlLnJvdXRlQ29uZmlnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKHJvdXRlLnBhcmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaW5pdFJvdXRlKHJvdXRlOiBSb3V0ZSk6IHZvaWQge1xuICAgICAgICBpZiAocm91dGUpIHtcbiAgICAgICAgICAgIHRoaXMub3JkZXJlZFJvdXRlcyA9IHRoaXMuaW5kZXhSb3V0ZXNCeU9yZGVyKHJvdXRlKTtcblxuICAgICAgICAgICAgLy8gQnkgZGVmYXVsdCB0aGUgcHJlZml4IHNob3VsZCBiZSB0aGUgcGF0aCBvZiB0aGUgcm91dGUuIChlLmcuIGluIC92YWxpZGF0aW9uLzEyMzEyMy0xMjMyMS9wYWdlMSxcbiAgICAgICAgICAgIC8vIHRoZSBwcmVmaXggaXMgXCJ2YWxpZGF0aW9uXCIpLiBIb3dldmVyLCBpZiB0aGUgYXBwbGljYXRpb24gaXMgY29kZS1zcGxpdHRlZCB3aXRoIHRoZSByb3V0aW5nIGRlZmluZWRcbiAgICAgICAgICAgIC8vIGluIGEgbW9kdWxlLCB0aGlzIHdvbid0IHdvcmsuIEluIHRoaXMgY2FzZSwgeW91IGNhbiBzcGVjaWZ5IHRoZSBwYXRoIGluICQuZGF0YS5iYXNlUGF0aCBzbyB0aGUgR2VzRGVtXG4gICAgICAgICAgICAvLyBzZXJ2aWNlIGtub3dzIHdoZXJlIHRvIHNlbmQgdGhlIHJlcXVlc3QgdG8gdGhlIGJhY2tlbmQuXG4gICAgICAgICAgICBjb25zdCBwcmVmaXggPSByb3V0ZS5kYXRhLmJhc2VQYXRoIHx8IHJvdXRlLnBhdGg7XG4gICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4ID0gcHJlZml4O1xuICAgICAgICAgICAgdGhpcy5nZXNkZW1BY3Rpb25SZWNvdmVyeVNlcnZpY2UucHJlZml4ID0gcHJlZml4O1xuICAgICAgICAgICAgdGhpcy5kZW1hbmRlVHJhbnNtaXRJbnRlcmNlcHRvci5wcmVmaXggPSBwcmVmaXg7XG4gICAgICAgICAgICB0aGlzLmxpbmVhclJvdXRpbmcgPSByb3V0ZS5kYXRhLmxpbmVhclJvdXRpbmcgIT09IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICB9XG5cbiAgICB0aHJvd0lmTm90SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzSW5pdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBcIk5vIHJvdXRlIGlzIGlkZW50aWZpZWQgYXMgJ3Jvb3QnLiBIYXZlIHlvdSBjYWxsZWQgaW5pdFJvdXRlKCkgP1wiXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlUm91dGVJbmZvcm1hdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGUucm91dGVDb25maWc7XG5cbiAgICAgICAgbGV0IGN1cnJlbnRSb3V0ZU9yZGVyID0gMTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhIWN1cnJlbnRSb3V0ZSAmJlxuICAgICAgICAgICAgISFjdXJyZW50Um91dGUuZGF0YSAmJlxuICAgICAgICAgICAgISFjdXJyZW50Um91dGUuZGF0YS5vcmRlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIGN1cnJlbnRSb3V0ZU9yZGVyID0gY3VycmVudFJvdXRlLmRhdGEub3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50Um91dGVPcmRlciA9IGN1cnJlbnRSb3V0ZU9yZGVyO1xuICAgIH1cblxuICAgIGdldEZpcnN0Um91dGUoKTogUm91dGUge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmRlcmVkUm91dGVzWzFdO1xuICAgIH1cblxuICAgIGN1cnJlbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMudGhyb3dJZk5vdEluaXQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ0VycmV1ciBuYXZpZ2F0aW9uU2VydmljZSNjdXJyZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5vcmRlcmVkUm91dGVzW3RoaXMuY3VycmVudFJvdXRlT3JkZXJdO1xuXG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuZ2VzZGVtU2VydmljZS5wcmVmaXg7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAocHJlZml4KSB7XG4gICAgICAgICAgICBjb21tYW5kcy5wdXNoKHByZWZpeCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZSkge1xuICAgICAgICAgICAgY29tbWFuZHMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRSb3V0ZS5wYXRoXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBjb25zdCB0cmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShjb21tYW5kcyk7XG4gICAgICAgICAgICBjb25zdCB1cmwgPVxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0cmVlKSArXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRRdWVyeVBhcmFtc1RvRm9yd2FyZEFzU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh1cmwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcbiAgICB9XG5cbiAgICBoYXNCZWVuSW5pdGlhbGl6ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVkQW5kUm91dGVBY3RpdmF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0UXVlcnlQYXJhbXNUb0ZvcndhcmRBc1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFF1ZXJ5UGFyYW1zVG9Gb3J3YXJkKCkgfHwgW107XG4gICAgICAgIGxldCBzdHJpbmdQYXJhbXMgPSAnJztcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbXNba2V5XTtcbiAgICAgICAgICAgIHN0cmluZ1BhcmFtcyArPSBzdHJpbmdQYXJhbXMgPyAnJicgOiAnPyc7XG4gICAgICAgICAgICBzdHJpbmdQYXJhbXMgKz0gYCR7a2V5fT0ke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cmluZ1BhcmFtcztcbiAgICB9XG5cbiAgICBnZXRRdWVyeVBhcmFtc1RvRm9yd2FyZCgpOiBQYXJhbXMge1xuICAgICAgICBjb25zdCByZUNhcHRjaGFCeVBhc3NVVUlEID1cbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVDYXB0Y2hhQnlQYXNzVVVJRDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG8gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnNjcm9sbFRvO1xuICAgICAgICBpZiAoISFyZUNhcHRjaGFCeVBhc3NVVUlEIHx8ICEhc2Nyb2xsVG8pIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtczogUGFyYW1zID0ge307XG4gICAgICAgICAgICBpZiAoISFyZUNhcHRjaGFCeVBhc3NVVUlEKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLnJlQ2FwdGNoYUJ5UGFzc1VVSUQgPSByZUNhcHRjaGFCeVBhc3NVVUlEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCEhc2Nyb2xsVG8pIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMuc2Nyb2xsVG8gPSBzY3JvbGxUbztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbmV4dCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgdGhpcy50aHJvd0lmTm90SW5pdCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFRvQXZhaWxhYmxlUm91dGUoTmF2aWdhdGlvbkRpcmVjdGlvbi5GT1JXQVJEKTtcbiAgICB9XG5cbiAgICBwcmV2aW91cygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgdGhpcy50aHJvd0lmTm90SW5pdCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFRvQXZhaWxhYmxlUm91dGUoTmF2aWdhdGlvbkRpcmVjdGlvbi5CQUNLV0FSRCk7XG4gICAgfVxuXG4gICAgbGFzdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgdGhpcy50aHJvd0lmTm90SW5pdCgpO1xuICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMuZ2V0QXZhaWxhYmxlUm91dGVzKCk7XG4gICAgICAgIGNvbnN0IG5leHRSb3V0ZVBhdGggPSByb3V0ZVtyb3V0ZS5sZW5ndGggLSAxXS5wYXRoO1xuICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdChuZXh0Um91dGVQYXRoKTtcbiAgICB9XG5cbiAgICByZWRpcmVjdChuZXdQYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3Qgcm91dGVzID0gW107XG4gICAgICAgIGlmICh0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4KSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCh0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgICByb3V0ZXMucHVzaCh0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlLCBuZXdQYXRoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXJcbiAgICAgICAgICAgIC5uYXZpZ2F0ZShyb3V0ZXMsIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5nZXRRdWVyeVBhcmFtc1RvRm9yd2FyZCgpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oc3VjY2VzcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1c09uUGFnZVRpdGxlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZXNzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlUm91dGVzKCk6IFJvdXRlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmRlcmVkUm91dGVzLmZpbHRlcihyb3V0ZSA9PiB0aGlzLmlzUm91dGVBdmFpbGFibGUocm91dGUpKTtcbiAgICB9XG5cbiAgICBnZXRDdXJyZW50Um91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICAvLyBUaGlzIGV2YWx1YXRlcyBhbGwgdGhlIGd1YXJkc1xuICAgICAgICBjb25zdCBhdmFpbGFibGVSb3V0ZXMgPSB0aGlzLmdldEF2YWlsYWJsZVJvdXRlcygpO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IGF2YWlsYWJsZVJvdXRlcy5maW5kKFxuICAgICAgICAgICAgcm91dGUgPT4gcm91dGUuZGF0YS5vcmRlciA9PT0gdGhpcy5jdXJyZW50Um91dGVPcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghY3VycmVudFJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhdmFpbGFibGVSb3V0ZXMuaW5kZXhPZihjdXJyZW50Um91dGUpO1xuICAgIH1cblxuICAgIGdldFRvdGFsUm91dGVzU2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBdmFpbGFibGVSb3V0ZXMoKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0TGFzdFJvdXRlT3JkZXIoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91dGVzID0gdGhpcy5nZXRBdmFpbGFibGVSb3V0ZXMoKTtcbiAgICAgICAgcmV0dXJuIHJvdXRlc1tyb3V0ZXMubGVuZ3RoIC0gMV0uZGF0YS5vcmRlcjtcbiAgICB9XG5cbiAgICBnZXROZXh0QXZhaWxhYmxlUm91dGUoZGlyZWN0aW9uOiBOYXZpZ2F0aW9uRGlyZWN0aW9uKTogUm91dGUge1xuICAgICAgICAvLyBUaGlzIGV2YWx1YXRlcyBhbGwgdGhlIGd1YXJkc1xuICAgICAgICBjb25zdCBhdmFpbGFibGVSb3V0ZXMgPSB0aGlzLmdldEF2YWlsYWJsZVJvdXRlcygpO1xuXG4gICAgICAgIC8vIEFzc3VtZXMgdGhhdCB0aGUgbmV4dCBvciBwcmV2aW91cyByb3V0ZSBpcyB0aGUgbmV4dCBvciBwcmV2aW91cyBvbiB0aGUgYXJyYXkgb2YgYXZhaWxhYmxlIHJvdXRlcy5cbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5nZXRDdXJyZW50Um91dGUoYXZhaWxhYmxlUm91dGVzKTtcbiAgICAgICAgaWYgKCFjdXJyZW50Um91dGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAnSW52YWxpZCByb3V0aW5nLCBhdCBsZWFzdCBvbmUgcm91dGUgbXVzdCBiZSBhdmFpbGFibGUnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlSW5kZXggPSBhdmFpbGFibGVSb3V0ZXMuaW5kZXhPZihjdXJyZW50Um91dGUpO1xuICAgICAgICBjb25zdCB0YXJnZXRSb3V0ZSA9IGF2YWlsYWJsZVJvdXRlc1tjdXJyZW50Um91dGVJbmRleCArIGRpcmVjdGlvbl07XG4gICAgICAgIGlmICghdGFyZ2V0Um91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGRpc3BsYXkgaW5kZXggaXNuJ3QgYWx3YXlzIHRoZSByb3V0ZSBvcmRlciBhcyB3ZSBzdXBwb3J0IGd1YXJkcyBvbiBhdmFpbGFibGUgcm91dGVzLlxuICAgICAgICAvLyBUaGUgZGlzcGxheSBpbmRleCBpcyAxLWJhc2VkLlxuICAgICAgICB0YXJnZXRSb3V0ZS5kYXRhLmRpc3BsYXlJbmRleCA9XG4gICAgICAgICAgICBhdmFpbGFibGVSb3V0ZXMuaW5kZXhPZih0YXJnZXRSb3V0ZSkgKyAxO1xuICAgICAgICByZXR1cm4gdGFyZ2V0Um91dGU7XG4gICAgfVxuXG4gICAgaXNGaXJzdEZvcm1QYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0Q3VycmVudFJvdXRlKHRoaXMuZ2V0QXZhaWxhYmxlUm91dGVzKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5nZXROZXh0QXZhaWxhYmxlUm91dGUoTmF2aWdhdGlvbkRpcmVjdGlvbi5CQUNLV0FSRCkgPT09IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpc0xhc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm9yZGVyZWRSb3V0ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmdldEN1cnJlbnRSb3V0ZSh0aGlzLmdldEF2YWlsYWJsZVJvdXRlcygpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFJvdXRlID0gdGhpcy5nZXROZXh0QXZhaWxhYmxlUm91dGUoXG4gICAgICAgICAgICBOYXZpZ2F0aW9uRGlyZWN0aW9uLkZPUldBUkRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFuZXh0Um91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZS5kYXRhLm9yZGVyID09PSB0aGlzLmdldExhc3RSb3V0ZU9yZGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0TmV4dFJvdXRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbmV4dFJvdXRlID0gdGhpcy5nZXROZXh0QXZhaWxhYmxlUm91dGUoXG4gICAgICAgICAgICBOYXZpZ2F0aW9uRGlyZWN0aW9uLkZPUldBUkRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFuZXh0Um91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZS5kYXRhLmRpc3BsYXlJbmRleDtcbiAgICB9XG5cbiAgICBnZXRQcmV2aW91c1JvdXRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNSb3V0ZSA9IHRoaXMuZ2V0TmV4dEF2YWlsYWJsZVJvdXRlKFxuICAgICAgICAgICAgTmF2aWdhdGlvbkRpcmVjdGlvbi5CQUNLV0FSRFxuICAgICAgICApO1xuICAgICAgICBpZiAoIXByZXZpb3VzUm91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZpb3VzUm91dGUuZGF0YS5kaXNwbGF5SW5kZXg7XG4gICAgfVxuXG4gICAgaXNMaW5lYXJSb3V0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5lYXJSb3V0aW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFJvdXRlKGF2YWlsYWJsZVJvdXRlczogUm91dGVbXSk6IFJvdXRlIHtcbiAgICAgICAgcmV0dXJuIGF2YWlsYWJsZVJvdXRlcy5maW5kKFxuICAgICAgICAgICAgcm91dGUgPT4gcm91dGUuZGF0YS5vcmRlciA9PT0gdGhpcy5jdXJyZW50Um91dGVPcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVkaXJlY3RUb0F2YWlsYWJsZVJvdXRlKFxuICAgICAgICBkaXJlY3Rpb246IE5hdmlnYXRpb25EaXJlY3Rpb25cbiAgICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLmdldE5leHRBdmFpbGFibGVSb3V0ZShkaXJlY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IGV2ZW50VHlwZSA9XG4gICAgICAgICAgICBkaXJlY3Rpb24gPT09IE5hdmlnYXRpb25EaXJlY3Rpb24uRk9SV0FSRFxuICAgICAgICAgICAgICAgID8gU2RrRXZlbnRUeXBlLk5BVklHQVRJT05fRk9SV0FSRFxuICAgICAgICAgICAgICAgIDogU2RrRXZlbnRUeXBlLk5BVklHQVRJT05fQkFDS1dBUkQ7XG4gICAgICAgIHRoaXMuZXZlbnRzTG9nZ2VyU2VydmljZS5hZGRFdmVudChldmVudFR5cGUsIHJvdXRlLnBhdGgpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0KHJvdXRlLnBhdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNSb3V0ZUF2YWlsYWJsZShyb3V0ZTogUm91dGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgeyBjYW5BY3RpdmF0ZSB9ID0gcm91dGU7XG4gICAgICAgIGlmICghY2FuQWN0aXZhdGUgfHwgIWNhbkFjdGl2YXRlLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbGwgdGhlIGd1YXJkcyBtdXN0IGJlIGV2YWx1YXRlZCB0byB0cnVlXG4gICAgICAgIHJldHVybiAhY2FuQWN0aXZhdGUuc29tZShcbiAgICAgICAgICAgIChndWFyZEZuOiBDYW5BY3RpdmF0ZUZuKSA9PiAhdGhpcy5ldmFsdWF0ZUd1YXJkKGd1YXJkRm4pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBldmFsdWF0ZUd1YXJkKGd1YXJkRm46IENhbkFjdGl2YXRlRm4pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZ3VhcmRSZXN1bHQgPSBndWFyZEZuKHRoaXMucm91dGUuc25hcHNob3QsIG51bGwpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgZ3VhcmRSZXN1bHQgIT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICdOb3QgaW1wbGVtZW50ZWQ6IER5bmFtaWMgcm91dGluZyBndWFyZHMgb25seSBzdXBwb3J0IGJvb2xlYW4gcmVzdWx0cydcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ3VhcmRSZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVpbmRleGUgbGVzIHJvdXRlcyBwYXIgXCJvcmRlclwiXG4gICAgICogQHBhcmFtIGFwcGxpY2F0aW9uUm91dGUgYXMgcm91dGVcbiAgICAgKiBAcmV0dXJucyBSb3V0ZVtdXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbmRleFJvdXRlc0J5T3JkZXIoYXBwbGljYXRpb25Sb3V0ZTogUm91dGUpOiBSb3V0ZVtdIHtcbiAgICAgICAgdGhpcy5pc0luaXQgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCByb3V0ZXNUb0NyYXdsID0gYXBwbGljYXRpb25Sb3V0ZS5jaGlsZHJlbjtcbiAgICAgICAgaWYgKCFyb3V0ZXNUb0NyYXdsLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5mbGF0dGVuUm91dGVzKHJvdXRlc1RvQ3Jhd2wpO1xuXG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5pc0luaXQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZsYXR0ZW5Sb3V0ZXMoXG4gICAgICAgIHJvdXRlc1RvQ3Jhd2w6IFJvdXRlW10sXG4gICAgICAgIHJlc3VsdDogUm91dGVbXSA9IFtdXG4gICAgKTogUm91dGVbXSB7XG4gICAgICAgIHJvdXRlc1RvQ3Jhd2wuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUuY2hpbGRyZW4gJiYgdmFsdWUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0dGVuUm91dGVzKHZhbHVlLmNoaWxkcmVuLCByZXN1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoISF2YWx1ZS5kYXRhICYmICEhdmFsdWUuZGF0YS5vcmRlcikge1xuICAgICAgICAgICAgICAgIHJlc3VsdFt2YWx1ZS5kYXRhLm9yZGVyXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9jdXNPblBhZ2VUaXRsZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBmb2N1cyBpcyBwcm9wZXJseSBzZXQgYWZ0ZXIgdGhlIHBhZ2UgaXMgdXBkYXRlZC5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLXRpdGxlJyk7XG4gICAgICAgICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aXRsZS5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iXX0=