@dsivd/prestations-ng 15.0.0-beta1 → 15.0.0-beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/CONTRIBUTING.md +32 -1
  3. package/README.md +2 -0
  4. package/UPGRADING_V12.md +0 -15
  5. package/UPGRADING_V13.md +0 -15
  6. package/UPGRADING_V14.md +4 -17
  7. package/UPGRADING_V15.md +51 -0
  8. package/dsivd-prestations-ng-v15.0.0-beta2.tgz +0 -0
  9. package/esm2020/abstract-page-component.mjs +226 -0
  10. package/{esm2015/backend-response.js → esm2020/backend-response.mjs} +0 -0
  11. package/{esm2015/directives/currency-formatter.directive.js → esm2020/directives/currency-formatter.directive.mjs} +3 -3
  12. package/{esm2015/directives/formatter.module.js → esm2020/directives/formatter.module.mjs} +4 -4
  13. package/{esm2015/directives/iban-formatter.directive.js → esm2020/directives/iban-formatter.directive.mjs} +3 -3
  14. package/{esm2015/directives/ide-formatter.directive.js → esm2020/directives/ide-formatter.directive.mjs} +3 -3
  15. package/{esm2015/directives/ndc-formatter.directive.js → esm2020/directives/ndc-formatter.directive.mjs} +3 -3
  16. package/{esm2015/dsivd-prestations-ng.js → esm2020/dsivd-prestations-ng.mjs} +0 -0
  17. package/{esm2015/error-template.js → esm2020/error-template.mjs} +0 -0
  18. package/{esm2015/foehn-address/address.type.js → esm2020/foehn-address/address.type.mjs} +0 -0
  19. package/{esm2015/foehn-address/foehn-address.module.js → esm2020/foehn-address/foehn-address.module.mjs} +4 -4
  20. package/{esm2015/foehn-address/foehn-display-address.component.js → esm2020/foehn-address/foehn-display-address.component.mjs} +5 -9
  21. package/esm2020/foehn-address/foehn-input-address.component.mjs +366 -0
  22. package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +66 -0
  23. package/{esm2015/foehn-address/foehn-input-foreign-street.component.js → esm2020/foehn-address/foehn-input-foreign-street.component.mjs} +6 -11
  24. package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +548 -0
  25. package/{esm2015/foehn-autocomplete/foehn-autocomplete.module.js → esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs} +4 -4
  26. package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +28 -0
  27. package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +37 -0
  28. package/{esm2015/foehn-boolean/foehn-boolean.module.js → esm2020/foehn-boolean/foehn-boolean.module.mjs} +4 -4
  29. package/{esm2015/foehn-breadcrumb/breadcrumb-event.service.js → esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs} +10 -10
  30. package/{esm2015/foehn-breadcrumb/breadcrumb.js → esm2020/foehn-breadcrumb/breadcrumb.mjs} +0 -0
  31. package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.component.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs} +5 -9
  32. package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.module.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs} +4 -4
  33. package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +283 -0
  34. package/{esm2015/foehn-checkables/foehn-checkables.module.js → esm2020/foehn-checkables/foehn-checkables.module.mjs} +4 -4
  35. package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +36 -0
  36. package/esm2020/foehn-checkables/foehn-radio.component.mjs +63 -0
  37. package/esm2020/foehn-checkables/foehn-select.component.mjs +62 -0
  38. package/{esm2015/foehn-checkables/form-select-option-group.js → esm2020/foehn-checkables/form-select-option-group.mjs} +0 -0
  39. package/{esm2015/foehn-checkables/form-select-option.js → esm2020/foehn-checkables/form-select-option.mjs} +0 -0
  40. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal-content.js → esm2020/foehn-confirm-modal/foehn-confirm-modal-content.mjs} +0 -0
  41. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +39 -0
  42. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.module.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs} +4 -4
  43. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.service.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs} +3 -3
  44. package/{esm2015/foehn-date-picker/date-picker-navigation.helper.js → esm2020/foehn-date-picker/date-picker-navigation.helper.mjs} +7 -7
  45. package/{esm2015/foehn-date-picker/date-picker.helper.js → esm2020/foehn-date-picker/date-picker.helper.mjs} +4 -4
  46. package/{esm2015/foehn-date-picker/day-month.type.js → esm2020/foehn-date-picker/day-month.type.mjs} +0 -0
  47. package/{esm2015/foehn-date-picker/focused-day.type.js → esm2020/foehn-date-picker/focused-day.type.mjs} +0 -0
  48. package/{esm2015/foehn-date-picker/foehn-date-picker.component.js → esm2020/foehn-date-picker/foehn-date-picker.component.mjs} +22 -25
  49. package/{esm2015/foehn-date-picker/foehn-date-picker.module.js → esm2020/foehn-date-picker/foehn-date-picker.module.mjs} +4 -4
  50. package/{esm2015/foehn-date-picker/month-year.type.js → esm2020/foehn-date-picker/month-year.type.mjs} +0 -0
  51. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +70 -0
  52. package/{esm2015/foehn-date-picker-button/foehn-date-picker-button.module.js → esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs} +4 -4
  53. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs} +8 -11
  54. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.module.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs} +4 -4
  55. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +36 -0
  56. package/{esm2015/foehn-decision-electronique/foehn-decision-electronique.module.js → esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs} +4 -4
  57. package/esm2020/foehn-footer/foehn-footer.component.mjs +129 -0
  58. package/{esm2015/foehn-footer/foehn-footer.module.js → esm2020/foehn-footer/foehn-footer.module.mjs} +4 -4
  59. package/{esm2015/foehn-footer/footer-link.type.js → esm2020/foehn-footer/footer-link.type.mjs} +0 -0
  60. package/{esm2015/foehn-form/foehn-form.component.js → esm2020/foehn-form/foehn-form.component.mjs} +5 -8
  61. package/{esm2015/foehn-form/foehn-form.module.js → esm2020/foehn-form/foehn-form.module.mjs} +4 -4
  62. package/{esm2015/foehn-growl/foehn-growl.component.js → esm2020/foehn-growl/foehn-growl.component.mjs} +8 -12
  63. package/{esm2015/foehn-growl/foehn-growl.module.js → esm2020/foehn-growl/foehn-growl.module.mjs} +4 -4
  64. package/{esm2015/foehn-growl/growl-broker.service.js → esm2020/foehn-growl/growl-broker.service.mjs} +3 -3
  65. package/{esm2015/foehn-growl/growl-message.js → esm2020/foehn-growl/growl-message.mjs} +0 -0
  66. package/{esm2015/foehn-growl/growl-types.js → esm2020/foehn-growl/growl-types.mjs} +0 -0
  67. package/esm2020/foehn-header/foehn-header.component.mjs +69 -0
  68. package/{esm2015/foehn-header/foehn-header.module.js → esm2020/foehn-header/foehn-header.module.mjs} +4 -4
  69. package/{esm2015/foehn-header/foehn-skip-link.component.js → esm2020/foehn-header/foehn-skip-link.component.mjs} +5 -8
  70. package/{esm2015/foehn-help-modal/foehn-help-modal.component.js → esm2020/foehn-help-modal/foehn-help-modal.component.mjs} +5 -9
  71. package/{esm2015/foehn-help-modal/foehn-help-modal.module.js → esm2020/foehn-help-modal/foehn-help-modal.module.mjs} +4 -4
  72. package/{esm2015/foehn-help-modal/foehn-help-modal.type.js → esm2020/foehn-help-modal/foehn-help-modal.type.mjs} +0 -0
  73. package/{esm2015/foehn-icons/abstract-icon-component.js → esm2020/foehn-icons/abstract-icon-component.mjs} +4 -4
  74. package/{esm2015/foehn-icons/foehn-icon-calendar.component.js → esm2020/foehn-icons/foehn-icon-calendar.component.mjs} +5 -8
  75. package/{esm2015/foehn-icons/foehn-icon-check-square-o.component.js → esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs} +5 -8
  76. package/{esm2015/foehn-icons/foehn-icon-check.component.js → esm2020/foehn-icons/foehn-icon-check.component.mjs} +5 -8
  77. package/{esm2015/foehn-icons/foehn-icon-chevron-down.component.js → esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs} +5 -8
  78. package/{esm2015/foehn-icons/foehn-icon-chevron-left.component.js → esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs} +5 -8
  79. package/{esm2015/foehn-icons/foehn-icon-chevron-right.component.js → esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs} +5 -8
  80. package/{esm2015/foehn-icons/foehn-icon-chevron-up.component.js → esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs} +5 -8
  81. package/{esm2015/foehn-icons/foehn-icon-clock.component.js → esm2020/foehn-icons/foehn-icon-clock.component.mjs} +5 -8
  82. package/{esm2015/foehn-icons/foehn-icon-comment-dots.component.js → esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs} +5 -8
  83. package/{esm2015/foehn-icons/foehn-icon-edit.component.js → esm2020/foehn-icons/foehn-icon-edit.component.mjs} +5 -8
  84. package/{esm2015/foehn-icons/foehn-icon-external-link-alt.component.js → esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs} +5 -8
  85. package/{esm2015/foehn-icons/foehn-icon-file-pdf.component.js → esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs} +5 -8
  86. package/{esm2015/foehn-icons/foehn-icon-info-circle.component.js → esm2020/foehn-icons/foehn-icon-info-circle.component.mjs} +5 -8
  87. package/{esm2015/foehn-icons/foehn-icon-lock.component.js → esm2020/foehn-icons/foehn-icon-lock.component.mjs} +5 -8
  88. package/{esm2015/foehn-icons/foehn-icon-map-marker.component.js → esm2020/foehn-icons/foehn-icon-map-marker.component.mjs} +5 -8
  89. package/{esm2015/foehn-icons/foehn-icon-minus-circle.component.js → esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs} +5 -8
  90. package/{esm2015/foehn-icons/foehn-icon-plus-circle.component.js → esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs} +5 -8
  91. package/{esm2015/foehn-icons/foehn-icon-plus-square.component.js → esm2020/foehn-icons/foehn-icon-plus-square.component.mjs} +5 -8
  92. package/{esm2015/foehn-icons/foehn-icon-search.component.js → esm2020/foehn-icons/foehn-icon-search.component.mjs} +5 -8
  93. package/{esm2015/foehn-icons/foehn-icon-times.component.js → esm2020/foehn-icons/foehn-icon-times.component.mjs} +5 -8
  94. package/{esm2015/foehn-icons/foehn-icon-trash-alt.component.js → esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs} +5 -8
  95. package/{esm2015/foehn-icons/foehn-icon-unlock-alt.component.js → esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs} +5 -8
  96. package/{esm2015/foehn-icons/foehn-icons.module.js → esm2020/foehn-icons/foehn-icons.module.mjs} +4 -4
  97. package/esm2020/foehn-input/foehn-input-email.component.mjs +50 -0
  98. package/esm2020/foehn-input/foehn-input-hidden.component.mjs +53 -0
  99. package/{esm2015/foehn-input/foehn-input-number.component.js → esm2020/foehn-input/foehn-input-number.component.mjs} +10 -15
  100. package/esm2020/foehn-input/foehn-input-password.component.mjs +50 -0
  101. package/{esm2015/foehn-input/foehn-input-phone.component.js → esm2020/foehn-input/foehn-input-phone.component.mjs} +6 -11
  102. package/{esm2015/foehn-input/foehn-input-string.component.js → esm2020/foehn-input/foehn-input-string.component.mjs} +3 -3
  103. package/{esm2015/foehn-input/foehn-input-text.component.js → esm2020/foehn-input/foehn-input-text.component.mjs} +6 -11
  104. package/{esm2015/foehn-input/foehn-input-textarea.component.js → esm2020/foehn-input/foehn-input-textarea.component.mjs} +6 -11
  105. package/{esm2015/foehn-input/foehn-input.component.js → esm2020/foehn-input/foehn-input.component.mjs} +14 -14
  106. package/{esm2015/foehn-input/foehn-input.module.js → esm2020/foehn-input/foehn-input.module.mjs} +4 -4
  107. package/{esm2015/foehn-input/pattern.const.js → esm2020/foehn-input/pattern.const.mjs} +0 -0
  108. package/esm2020/foehn-input-date/foehn-input-date.component.mjs +90 -0
  109. package/esm2020/foehn-input-time/foehn-input-time.component.mjs +75 -0
  110. package/esm2020/foehn-list/foehn-list.component.mjs +130 -0
  111. package/{esm2015/foehn-list/foehn-list.module.js → esm2020/foehn-list/foehn-list.module.mjs} +4 -4
  112. package/{esm2015/foehn-list/page-change-event.js → esm2020/foehn-list/page-change-event.mjs} +0 -0
  113. package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +122 -0
  114. package/{esm2015/foehn-menu-prestation/abstract-menu-page.component.js → esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs} +3 -3
  115. package/{esm2015/foehn-menu-prestation/abstract-page-from-menu.component.js → esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs} +3 -3
  116. package/{esm2015/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.js → esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs} +5 -8
  117. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs} +0 -0
  118. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs} +0 -0
  119. package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +71 -0
  120. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +35 -0
  121. package/{esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.js → esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs} +5 -8
  122. package/{esm2015/foehn-menu-prestation/foehn-menu-prestation.module.js → esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs} +4 -4
  123. package/{esm2015/foehn-misc/foehn-abbr.component.js → esm2020/foehn-misc/foehn-abbr.component.mjs} +5 -9
  124. package/{esm2015/foehn-misc/foehn-misc.module.js → esm2020/foehn-misc/foehn-misc.module.mjs} +4 -4
  125. package/esm2020/foehn-modal/foehn-modal.component.mjs +96 -0
  126. package/{esm2015/foehn-modal/foehn-modal.module.js → esm2020/foehn-modal/foehn-modal.module.mjs} +4 -4
  127. package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +94 -0
  128. package/{esm2015/foehn-nav13/foehn-input-nav13.module.js → esm2020/foehn-nav13/foehn-input-nav13.module.mjs} +4 -4
  129. package/esm2020/foehn-navigation/foehn-navigation.component.mjs +94 -0
  130. package/{esm2015/foehn-navigation/foehn-navigation.module.js → esm2020/foehn-navigation/foehn-navigation.module.mjs} +4 -4
  131. package/{esm2015/foehn-navigation/foehn-navigation.service.js → esm2020/foehn-navigation/foehn-navigation.service.mjs} +9 -9
  132. package/{esm2015/foehn-notfound/foehn-notfound.component.js → esm2020/foehn-notfound/foehn-notfound.component.mjs} +5 -8
  133. package/{esm2015/foehn-notfound/foehn-notfound.module.js → esm2020/foehn-notfound/foehn-notfound.module.mjs} +4 -4
  134. package/{esm2015/foehn-page/foehn-page-counter.component.js → esm2020/foehn-page/foehn-page-counter.component.mjs} +5 -8
  135. package/esm2020/foehn-page/foehn-page-modal.component.mjs +52 -0
  136. package/{esm2015/foehn-page/foehn-page-modal.service.js → esm2020/foehn-page/foehn-page-modal.service.mjs} +3 -3
  137. package/esm2020/foehn-page/foehn-page.component.mjs +212 -0
  138. package/{esm2015/foehn-page/foehn-page.module.js → esm2020/foehn-page/foehn-page.module.mjs} +4 -4
  139. package/{esm2015/foehn-page/foehn-page.service.js → esm2020/foehn-page/foehn-page.service.mjs} +3 -3
  140. package/{esm2015/foehn-recap-section/foehn-recap-section.component.js → esm2020/foehn-recap-section/foehn-recap-section.component.mjs} +5 -8
  141. package/{esm2015/foehn-recap-section/foehn-recap-section.module.js → esm2020/foehn-recap-section/foehn-recap-section.module.mjs} +4 -4
  142. package/{esm2015/foehn-recap-section/foehn-recap-section.type.js → esm2020/foehn-recap-section/foehn-recap-section.type.mjs} +0 -0
  143. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs} +5 -9
  144. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs} +4 -4
  145. package/{esm2015/foehn-table/foehn-table-column-configuration.js → esm2020/foehn-table/foehn-table-column-configuration.mjs} +0 -0
  146. package/{esm2015/foehn-table/foehn-table-page-change-event.js → esm2020/foehn-table/foehn-table-page-change-event.mjs} +0 -0
  147. package/esm2020/foehn-table/foehn-table.component.mjs +149 -0
  148. package/{esm2015/foehn-table/foehn-table.module.js → esm2020/foehn-table/foehn-table.module.mjs} +4 -4
  149. package/{esm2015/foehn-table/tableSort.js → esm2020/foehn-table/tableSort.mjs} +0 -0
  150. package/{esm2015/foehn-upload/abstract-foehn-uploader.component.js → esm2020/foehn-upload/abstract-foehn-uploader.component.mjs} +17 -17
  151. package/{esm2015/foehn-upload/document-reference.js → esm2020/foehn-upload/document-reference.mjs} +0 -0
  152. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs} +3 -3
  153. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs} +0 -0
  154. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +165 -0
  155. package/{esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.js → esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs} +4 -4
  156. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +214 -0
  157. package/{esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.js → esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs} +4 -4
  158. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs} +3 -3
  159. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.type.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.type.mjs} +0 -0
  160. package/{esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs} +3 -3
  161. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +163 -0
  162. package/{esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js → esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs} +4 -4
  163. package/{esm2015/foehn-upload/pending-upload.type.js → esm2020/foehn-upload/pending-upload.type.mjs} +0 -0
  164. package/esm2020/foehn-upload/uploader.helper.mjs +326 -0
  165. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.component.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs} +5 -8
  166. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.module.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs} +4 -4
  167. package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.component.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs} +5 -9
  168. package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.module.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs} +4 -4
  169. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.component.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs} +5 -8
  170. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.module.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs} +4 -4
  171. package/{esm2015/gesdem/gesdem-error-handler.service.js → esm2020/gesdem/gesdem-error-handler.service.mjs} +3 -3
  172. package/{esm2015/gesdem/gesdem-event.service.js → esm2020/gesdem/gesdem-event.service.mjs} +13 -13
  173. package/{esm2015/gesdem/gesdem-handler.service.js → esm2020/gesdem/gesdem-handler.service.mjs} +13 -13
  174. package/{esm2015/gesdem/gesdem-loader.guard.js → esm2020/gesdem/gesdem-loader.guard.mjs} +3 -3
  175. package/{esm2015/gesdem/gesdem-statut-utils.js → esm2020/gesdem/gesdem-statut-utils.mjs} +0 -0
  176. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.js → esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs} +5 -10
  177. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +128 -0
  178. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery.module.js → esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs} +4 -4
  179. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery.service.js → esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs} +3 -3
  180. package/{esm2015/gesdem-action-recovery/reprise-info.js → esm2020/gesdem-action-recovery/reprise-info.mjs} +0 -0
  181. package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +189 -0
  182. package/{esm2015/gesdem-confirmation/gesdem-confirmation.module.js → esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs} +4 -4
  183. package/{esm2015/gesdem-error/gesdem-error.component.js → esm2020/gesdem-error/gesdem-error.component.mjs} +5 -9
  184. package/{esm2015/gesdem-error/gesdem-error.module.js → esm2020/gesdem-error/gesdem-error.module.mjs} +4 -4
  185. package/{esm2015/helpers/object.helper.js → esm2020/helpers/object.helper.mjs} +2 -2
  186. package/{esm2015/i18n-form.js → esm2020/i18n-form.mjs} +0 -0
  187. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  188. package/{esm2015/pipes/currency.pipe.js → esm2020/pipes/currency.pipe.mjs} +3 -3
  189. package/{esm2015/pipes/date.pipe.js → esm2020/pipes/date.pipe.mjs} +3 -3
  190. package/{esm2015/pipes/formatIde.pipe.js → esm2020/pipes/formatIde.pipe.mjs} +3 -3
  191. package/{esm2015/pipes/pipes.module.js → esm2020/pipes/pipes.module.mjs} +4 -4
  192. package/{esm2015/prestations-ng-core.module.js → esm2020/prestations-ng-core.module.mjs} +4 -4
  193. package/{esm2015/sdk-appinfo/application-info.js → esm2020/sdk-appinfo/application-info.mjs} +0 -0
  194. package/esm2020/sdk-appinfo/application-info.service.mjs +102 -0
  195. package/{esm2015/sdk-currency/currency.helper.js → esm2020/sdk-currency/currency.helper.mjs} +3 -3
  196. package/esm2020/sdk-date/date.helper.mjs +91 -0
  197. package/{esm2015/sdk-dictionary/default-dictionary.js → esm2020/sdk-dictionary/default-dictionary.mjs} +0 -0
  198. package/{esm2015/sdk-dictionary/sdk-dictionary.module.js → esm2020/sdk-dictionary/sdk-dictionary.module.mjs} +4 -4
  199. package/{esm2015/sdk-dictionary/sdk-dictionary.pipe.js → esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs} +5 -5
  200. package/{esm2015/sdk-dictionary/sdk-dictionary.service.js → esm2020/sdk-dictionary/sdk-dictionary.service.mjs} +3 -3
  201. package/{esm2015/sdk-epayment/model/EPaymentParameters.js → esm2020/sdk-epayment/model/EPaymentParameters.mjs} +0 -0
  202. package/{esm2015/sdk-epayment/sdk-epayment.component.js → esm2020/sdk-epayment/sdk-epayment.component.mjs} +5 -10
  203. package/{esm2015/sdk-epayment/sdk-epayment.module.js → esm2020/sdk-epayment/sdk-epayment.module.mjs} +4 -4
  204. package/{esm2015/sdk-epayment/sdk-epayment.service.js → esm2020/sdk-epayment/sdk-epayment.service.mjs} +3 -3
  205. package/{esm2015/sdk-recaptcha/grecaptcha/grecaptcha.component.js → esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs} +5 -9
  206. package/{esm2015/sdk-recaptcha/recaptcha.service.js → esm2020/sdk-recaptcha/recaptcha.service.mjs} +3 -3
  207. package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +68 -0
  208. package/{esm2015/sdk-recaptcha/sdk-recaptcha.module.js → esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs} +4 -4
  209. package/{esm2015/sdk-redirect/iam-expired-interceptor.service.js → esm2020/sdk-redirect/iam-expired-interceptor.service.mjs} +3 -3
  210. package/{esm2015/sdk-redirect/redirect.component.js → esm2020/sdk-redirect/redirect.component.mjs} +5 -9
  211. package/{esm2015/sdk-redirect/sdk-redirect.module.js → esm2020/sdk-redirect/sdk-redirect.module.mjs} +4 -4
  212. package/{esm2015/sdk-session-info/session-info-data.js → esm2020/sdk-session-info/session-info-data.mjs} +0 -0
  213. package/{esm2015/sdk-session-info/session-info-with-application.service.js → esm2020/sdk-session-info/session-info-with-application.service.mjs} +3 -3
  214. package/esm2020/sdk-session-info/session-info.service.mjs +73 -0
  215. package/{esm2015/sdk-support-alert/support-alert-container.component.js → esm2020/sdk-support-alert/support-alert-container.component.mjs} +5 -9
  216. package/esm2020/sdk-support-alert/support-alert.component.mjs +34 -0
  217. package/{esm2015/sdk-support-alert/support-alert.model.js → esm2020/sdk-support-alert/support-alert.model.mjs} +0 -0
  218. package/{esm2015/sdk-support-alert/support-alert.module.js → esm2020/sdk-support-alert/support-alert.module.mjs} +4 -4
  219. package/esm2020/sdk-support-alert/support-alert.service.mjs +114 -0
  220. package/{esm2015/service-locator.js → esm2020/service-locator.mjs} +0 -0
  221. package/esm2020/supported-browser.mjs +2 -0
  222. package/{esm2015/validation/validation-handler.service.js → esm2020/validation/validation-handler.service.mjs} +7 -7
  223. package/fesm2015/{dsivd-prestations-ng.js → dsivd-prestations-ng.mjs} +949 -1247
  224. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
  225. package/fesm2020/dsivd-prestations-ng.mjs +11481 -0
  226. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -0
  227. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +2 -2
  228. package/foehn-checkables/foehn-checkable-group.component.d.ts +3 -3
  229. package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +1 -1
  230. package/foehn-date-picker/date-picker-navigation.helper.d.ts +1 -1
  231. package/foehn-date-picker/date-picker.helper.d.ts +1 -1
  232. package/foehn-date-picker/foehn-date-picker.component.d.ts +3 -3
  233. package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +2 -2
  234. package/foehn-debug-summary/foehn-debug-summary.component.d.ts +1 -1
  235. package/foehn-growl/foehn-growl.component.d.ts +1 -1
  236. package/foehn-header/foehn-header.component.d.ts +2 -2
  237. package/foehn-input/foehn-input-number.component.d.ts +1 -1
  238. package/foehn-input/foehn-input.component.d.ts +3 -3
  239. package/foehn-list/foehn-list.component.d.ts +2 -2
  240. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
  241. package/foehn-modal/foehn-modal.component.d.ts +1 -1
  242. package/foehn-navigation/foehn-navigation.service.d.ts +1 -1
  243. package/foehn-table/foehn-table.component.d.ts +2 -2
  244. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +1 -1
  245. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +2 -2
  246. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -1
  247. package/foehn-upload/uploader.helper.d.ts +7 -7
  248. package/gesdem/gesdem-event.service.d.ts +3 -3
  249. package/gesdem/gesdem-handler.service.d.ts +2 -2
  250. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +2 -2
  251. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +4 -4
  252. package/package.json +26 -13
  253. package/schematics/ng-add/index.js +6 -6
  254. package/schematics/ng-update/migrations/update-13_1_0/index.js +2 -2
  255. package/schematics/ng-update/migrations/update-13_2_0/index.js +3 -3
  256. package/schematics/ng-update/migrations/update-13_5_1/index.js +2 -2
  257. package/schematics/ng-update/migrations/update-14_5_0/index.js +2 -2
  258. package/schematics/update-karma-config/index.js +2 -2
  259. package/schematics/utility/migrate-to-karma-coverage.js +3 -3
  260. package/sdk-appinfo/application-info.service.d.ts +2 -2
  261. package/sdk-session-info/session-info.service.d.ts +9 -2
  262. package/sdk-support-alert/support-alert.service.d.ts +3 -2
  263. package/validation/validation-handler.service.d.ts +1 -1
  264. package/bundles/dsivd-prestations-ng.umd.js +0 -13375
  265. package/bundles/dsivd-prestations-ng.umd.js.map +0 -1
  266. package/dsivd-prestations-ng-v15.0.0-beta1.tgz +0 -0
  267. package/esm2015/abstract-page-component.js +0 -224
  268. package/esm2015/foehn-address/foehn-input-address.component.js +0 -365
  269. package/esm2015/foehn-address/foehn-input-foreign-locality.component.js +0 -71
  270. package/esm2015/foehn-autocomplete/foehn-autocomplete.component.js +0 -556
  271. package/esm2015/foehn-boolean/foehn-boolean-checkbox.component.js +0 -32
  272. package/esm2015/foehn-boolean/foehn-boolean-radio.component.js +0 -41
  273. package/esm2015/foehn-checkables/foehn-checkable-group.component.js +0 -294
  274. package/esm2015/foehn-checkables/foehn-checkbox.component.js +0 -40
  275. package/esm2015/foehn-checkables/foehn-radio.component.js +0 -67
  276. package/esm2015/foehn-checkables/foehn-select.component.js +0 -66
  277. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.component.js +0 -42
  278. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.component.js +0 -74
  279. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.component.js +0 -40
  280. package/esm2015/foehn-footer/foehn-footer.component.js +0 -132
  281. package/esm2015/foehn-header/foehn-header.component.js +0 -73
  282. package/esm2015/foehn-input/foehn-input-email.component.js +0 -55
  283. package/esm2015/foehn-input/foehn-input-hidden.component.js +0 -57
  284. package/esm2015/foehn-input/foehn-input-password.component.js +0 -55
  285. package/esm2015/foehn-input-date/foehn-input-date.component.js +0 -94
  286. package/esm2015/foehn-input-time/foehn-input-time.component.js +0 -79
  287. package/esm2015/foehn-list/foehn-list.component.js +0 -136
  288. package/esm2015/foehn-menu-prestation/abstract-list-item-detail-page.component.js +0 -122
  289. package/esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.js +0 -75
  290. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.js +0 -38
  291. package/esm2015/foehn-modal/foehn-modal.component.js +0 -100
  292. package/esm2015/foehn-nav13/foehn-input-nav13.component.js +0 -98
  293. package/esm2015/foehn-navigation/foehn-navigation.component.js +0 -98
  294. package/esm2015/foehn-page/foehn-page-modal.component.js +0 -55
  295. package/esm2015/foehn-page/foehn-page.component.js +0 -214
  296. package/esm2015/foehn-table/foehn-table.component.js +0 -153
  297. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +0 -171
  298. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +0 -220
  299. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +0 -167
  300. package/esm2015/foehn-upload/uploader.helper.js +0 -322
  301. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.js +0 -133
  302. package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +0 -194
  303. package/esm2015/sdk-appinfo/application-info.service.js +0 -111
  304. package/esm2015/sdk-date/date.helper.js +0 -90
  305. package/esm2015/sdk-recaptcha/sdk-recaptcha.component.js +0 -72
  306. package/esm2015/sdk-session-info/session-info.service.js +0 -44
  307. package/esm2015/sdk-support-alert/support-alert.component.js +0 -38
  308. package/esm2015/sdk-support-alert/support-alert.service.js +0 -113
  309. package/esm2015/supported-browser.js +0 -2
  310. package/fesm2015/dsivd-prestations-ng.js.map +0 -1
@@ -0,0 +1,326 @@
1
+ import { DocumentReferenceWithFile } from './document-reference';
2
+ export class UploaderHelper {
3
+ constructor(dictionaryService, applicationInfoService) {
4
+ this.dictionaryService = dictionaryService;
5
+ this.applicationInfoService = applicationInfoService;
6
+ this._accept = '.pdf';
7
+ this._maxSizeInMo = 1;
8
+ this._maxFileNameLength = 64;
9
+ this._illegalCharacters = '/,\\,?,%,*,:,|,",<,>,°';
10
+ this._fileMinSizeInBytes = 20;
11
+ this.CHAR_TO_REPLACE = new RegExp('[^a-zA-Z0-9]', 'g');
12
+ this.applicationInfoService.data.subscribe((appInfo) => {
13
+ if (appInfo.configuration.document) {
14
+ this.accept = appInfo.configuration.document.fileExtensions;
15
+ this.maxFileNameLength = Number(appInfo.configuration.document.maxFileNameLength);
16
+ this.maxSizeInMo = Number(appInfo.configuration.document.maxFileSizeInMo);
17
+ this.illegalCharacters =
18
+ appInfo.configuration.document.illegalCharacters;
19
+ }
20
+ });
21
+ }
22
+ get fileMinSizeInBytes() {
23
+ return this._fileMinSizeInBytes;
24
+ }
25
+ set fileMinSizeInBytes(value) {
26
+ this._fileMinSizeInBytes = value;
27
+ }
28
+ // eslint-disable-next-line @typescript-eslint/member-ordering
29
+ get illegalCharacters() {
30
+ return this._illegalCharacters;
31
+ }
32
+ set illegalCharacters(value) {
33
+ this._illegalCharacters = value;
34
+ }
35
+ // eslint-disable-next-line @typescript-eslint/member-ordering
36
+ get maxFileNameLength() {
37
+ return this._maxFileNameLength;
38
+ }
39
+ set maxFileNameLength(value) {
40
+ this._maxFileNameLength = value;
41
+ }
42
+ // eslint-disable-next-line @typescript-eslint/member-ordering
43
+ get maxSizeInMo() {
44
+ return this._maxSizeInMo;
45
+ }
46
+ set maxSizeInMo(value) {
47
+ this._maxSizeInMo = value;
48
+ }
49
+ // eslint-disable-next-line @typescript-eslint/member-ordering
50
+ get accept() {
51
+ return this._accept;
52
+ }
53
+ set accept(value) {
54
+ this._accept = value;
55
+ }
56
+ isFileTooBig(fileSizeInBytes, overrideMaxSizeInMo) {
57
+ if (!!overrideMaxSizeInMo) {
58
+ return this.isTooBig(fileSizeInBytes, overrideMaxSizeInMo);
59
+ }
60
+ if (!this.maxSizeInMo) {
61
+ return false;
62
+ }
63
+ return this.isTooBig(fileSizeInBytes, this.maxSizeInMo);
64
+ }
65
+ isFileTooSmall(fileSizeInBytes) {
66
+ if (!this.fileMinSizeInBytes) {
67
+ return false;
68
+ }
69
+ return fileSizeInBytes < this.fileMinSizeInBytes;
70
+ }
71
+ isFileNameLengthValid(filename, overrideMaxFileNameLength) {
72
+ const maxFileLenght = !!overrideMaxFileNameLength
73
+ ? overrideMaxFileNameLength
74
+ : this.maxFileNameLength;
75
+ return filename.length <= maxFileLenght;
76
+ }
77
+ isFileNameNameValid(filename, overrideIllegalCharacters) {
78
+ const illegalCharacters = !!overrideIllegalCharacters
79
+ ? overrideIllegalCharacters.split(',')
80
+ : this.illegalCharacters.split(',');
81
+ let isValid = true;
82
+ for (const illegalCharacter of illegalCharacters) {
83
+ if (filename.includes(illegalCharacter)) {
84
+ isValid = false;
85
+ break;
86
+ }
87
+ }
88
+ return isValid;
89
+ }
90
+ getFileExtension(filename) {
91
+ return `.${filename.split('.').pop()}`;
92
+ }
93
+ isFileExtensionValid(fileExtension, overrideAcceptedExtensions) {
94
+ const acceptedExtensions = !!overrideAcceptedExtensions
95
+ ? overrideAcceptedExtensions
96
+ : this.accept;
97
+ return (!!fileExtension &&
98
+ acceptedExtensions
99
+ .toUpperCase()
100
+ .split(',')
101
+ .includes(fileExtension.toUpperCase()));
102
+ }
103
+ getUniqueErrorByCode(name, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
104
+ const uniqSuffix = new Date().getTime();
105
+ return {
106
+ name,
107
+ code: `${errorCode}_${uniqSuffix}`,
108
+ message: this.replaceErrorMessageKeys(customErrors[errorCode], fileName, errorCode, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters)
109
+ };
110
+ }
111
+ addCustomErrorOrDefault(name, destinationErrors, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
112
+ // Check if we have a custom error to manage
113
+ if (customErrors[errorCode]) {
114
+ // Need to create unique error to ensure ability to display multiple error messages
115
+ destinationErrors.push(this.getUniqueErrorByCode(name, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
116
+ }
117
+ else {
118
+ destinationErrors.push({
119
+ name,
120
+ code: errorCode,
121
+ message: this.getDefaultUnknownErrorMessage(fileName)
122
+ });
123
+ }
124
+ }
125
+ createDefaultCustomErrors(customErrors) {
126
+ customErrors.FILENAME_TOO_LONG = this.dictionaryService.getKeySync('errors.FILENAME_TOO_LONG');
127
+ customErrors.FILE_TOO_SMALL = this.dictionaryService.getKeySync('errors.FILE_TOO_SMALL');
128
+ customErrors.PDF_PASSWORD_LOCKED = this.dictionaryService.getKeySync('errors.PDF_PASSWORD_LOCKED');
129
+ customErrors.PDF_CONTAINS_SCRIPT = this.dictionaryService.getKeySync('errors.PDF_CONTAINS_SCRIPT');
130
+ customErrors.PDF_HAS_ATTACHMENTS = this.dictionaryService.getKeySync('errors.PDF_HAS_ATTACHMENTS');
131
+ customErrors.EMPTY_PDF = this.dictionaryService.getKeySync('errors.EMPTY_PDF');
132
+ customErrors.PDF_GENERAL_PROBLEM = this.dictionaryService.getKeySync('errors.PDF_GENERAL_PROBLEM');
133
+ customErrors.PDF_HAS_RESTRICTIONS = this.dictionaryService.getKeySync('errors.PDF_HAS_RESTRICTIONS');
134
+ customErrors.FILENAME_SHOULD_NOT_CONTAIN = this.dictionaryService.getKeySync('errors.FILENAME_SHOULD_NOT_CONTAIN');
135
+ customErrors['406'] = this.dictionaryService.getKeySync('errors.406');
136
+ customErrors['413'] = this.dictionaryService.getKeySync('errors.413');
137
+ customErrors['415'] = this.dictionaryService.getKeySync('errors.415');
138
+ customErrors['422'] = this.dictionaryService.getKeySync('errors.422');
139
+ customErrors['500'] = this.dictionaryService.getKeySync('errors.500');
140
+ // MultiPartException from Zuul returns HTTP 0
141
+ customErrors['0'] = customErrors['413'];
142
+ }
143
+ getLocalErrors(name, files, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
144
+ const errors = [];
145
+ files.forEach(file => {
146
+ // File bad extension
147
+ const fileExtension = this.getFileExtension(file.name);
148
+ if (!this.isFileExtensionValid(fileExtension, overrideAcceptedExtensions)) {
149
+ // Default custom error 415 exist (see function 'createDefaultCustomErrors')
150
+ // Need to create unique error to ensure ability to display multiple error messages
151
+ errors.push(this.getUniqueErrorByCode(name, '415', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
152
+ }
153
+ // File name contains illegal characters
154
+ if (!this.isFileNameNameValid(file.name, overrideIllegalCharacters)) {
155
+ // Default custom error FILENAME_SHOULD_NOT_CONTAIN exist (see function 'createDefaultCustomErrors')
156
+ // Need to create unique error to ensure ability to display multiple error messages
157
+ errors.push(this.getUniqueErrorByCode(name, 'FILENAME_SHOULD_NOT_CONTAIN', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
158
+ }
159
+ // Files too big
160
+ if (this.isFileTooBig(file.size, overrideMaxSizeInMo)) {
161
+ // Default custom error 413 exist (see function 'createDefaultCustomErrors')
162
+ // Need to create unique error to ensure ability to display multiple error messages
163
+ errors.push(this.getUniqueErrorByCode(name, '413', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
164
+ }
165
+ if (this.isFileTooSmall(file.size)) {
166
+ // Default custom error FILE_TOO_SMALL exist (see function 'createDefaultCustomErrors')
167
+ // Need to create unique error to ensure ability to display multiple error messages
168
+ errors.push(this.getUniqueErrorByCode(name, 'FILE_TOO_SMALL', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
169
+ }
170
+ // File name too long (64 chars max)
171
+ if (!this.isFileNameLengthValid(file.name, overrideMaxFileNameLength)) {
172
+ // Default custom error FILENAME_TOO_LONG exist (see function 'createDefaultCustomErrors')
173
+ // Need to create unique error to ensure ability to display multiple error messages
174
+ errors.push(this.getUniqueErrorByCode(name, 'FILENAME_TOO_LONG', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
175
+ }
176
+ });
177
+ return errors;
178
+ }
179
+ hasLiveUploadErrors(errors) {
180
+ return (!!errors &&
181
+ !!errors.find(e => e.code.startsWith('413') ||
182
+ e.code.startsWith('415') ||
183
+ e.code.startsWith('PDF_PASSWORD_LOCKED') ||
184
+ e.code.startsWith('PDF_CONTAINS_SCRIPT') ||
185
+ e.code.startsWith('PDF_HAS_ATTACHMENTS') ||
186
+ e.code.startsWith('EMPTY_PDF') ||
187
+ e.code.startsWith('PDF_GENERAL_PROBLEM') ||
188
+ e.code.startsWith('PDF_HAS_RESTRICTIONS') ||
189
+ e.code.startsWith('FILENAME_TOO_LONG') ||
190
+ e.code.startsWith('FILE_TOO_SMALL') ||
191
+ e.code.startsWith('FILENAME_SHOULD_NOT_CONTAIN')));
192
+ }
193
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
194
+ preventAndStop(event) {
195
+ event.preventDefault();
196
+ event.stopPropagation();
197
+ }
198
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
199
+ getAllFilesCount(data) {
200
+ if (!data) {
201
+ return null;
202
+ }
203
+ return `${data.length}`;
204
+ }
205
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
206
+ getAllFilesSizeInMo(data) {
207
+ if (!data) {
208
+ return null;
209
+ }
210
+ const fileSizeInBytes = data.reduce(
211
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
212
+ (totalDocSize, document) => {
213
+ if (document.hasOwnProperty('fileSize')) {
214
+ return totalDocSize + document.fileSize;
215
+ }
216
+ return totalDocSize + document.size;
217
+ }, 0);
218
+ return this.toMegaOctets(fileSizeInBytes);
219
+ }
220
+ toMegaOctets(size) {
221
+ return `${(size / (1024 * 1024)).toFixed(2)}`;
222
+ }
223
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
224
+ getTransfer(event) {
225
+ if (!!event.dataTransfer) {
226
+ return event.dataTransfer.files;
227
+ }
228
+ return null;
229
+ }
230
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
231
+ getGlobalInfos(data) {
232
+ return `${this.getAllFilesCount(data)} fichiers pour un total de ${this.getAllFilesSizeInMo(data)} <abbr title="Megaoctet">Mo</abbr>`;
233
+ }
234
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
235
+ showGlobalInfos(data, hideGlobalInfos) {
236
+ return !hideGlobalInfos && !!data && !!data.length && data.length > 1;
237
+ }
238
+ mapToDocumentReference(file, label, key, isMultiple, uniqPrefix, globalSequence) {
239
+ const document = new DocumentReferenceWithFile();
240
+ if (isMultiple) {
241
+ // Override key to ensures that GesDem can accept the document key (length of 64 char. max.)
242
+ key = `doc${uniqPrefix}${globalSequence}`;
243
+ document.key = this.normalizeKey(key);
244
+ }
245
+ document.key = key;
246
+ document.filename = file.name;
247
+ document.mimeType = file.type;
248
+ document.fileSize = file.size;
249
+ document.label = label;
250
+ document.file = file;
251
+ return document;
252
+ }
253
+ mapToFormData(documents, formKey, language) {
254
+ const formData = new FormData();
255
+ documents.forEach(({ file, key, label }) => {
256
+ formData.append('keys', key);
257
+ formData.append('labels', this.removeCommasInLabel(label));
258
+ formData.append('files', file, file.name);
259
+ });
260
+ formData.append('formKey', formKey);
261
+ formData.append('language', language);
262
+ return formData;
263
+ }
264
+ /**
265
+ * Commas are removed to avoid a wrong interpretation as an array of string in formData.
266
+ *
267
+ * @param label to be cleaned from comma
268
+ * @returns string
269
+ */
270
+ removeCommasInLabel(label) {
271
+ return label.split(',').join('');
272
+ }
273
+ isTooBig(fileSizeInBytes, limitInMo) {
274
+ return fileSizeInBytes / (1024 * 1024) > limitInMo;
275
+ }
276
+ replaceErrorMessageKeys(errorMsg, fileName, errorCode, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
277
+ const formattedErrorMsg = errorMsg.replace('%1$s', fileName);
278
+ if (errorCode.startsWith('413')) {
279
+ // REQUEST_ENTITY_TOO_LARGE_ERROR_MSG
280
+ const fileMaxSize = (overrideMaxSizeInMo
281
+ ? overrideMaxSizeInMo
282
+ : this.maxSizeInMo).toString();
283
+ return formattedErrorMsg.replace('%2$s', fileMaxSize);
284
+ }
285
+ if (errorCode.startsWith('415')) {
286
+ // UNSUPPORTED_MEDIA_TYPE_ERROR_MSG
287
+ const fileExtensions = (overrideAcceptedExtensions
288
+ ? overrideAcceptedExtensions
289
+ : this.accept)
290
+ .toUpperCase()
291
+ .replace(/,/g, ' ou ');
292
+ return formattedErrorMsg.replace('%2$s', fileExtensions);
293
+ }
294
+ if (errorCode.startsWith('FILENAME_TOO_LONG')) {
295
+ const maxFileNameLength = (overrideMaxFileNameLength
296
+ ? overrideMaxFileNameLength
297
+ : this.maxFileNameLength).toString();
298
+ return formattedErrorMsg.replace('%2$s', maxFileNameLength);
299
+ }
300
+ if (errorCode.startsWith('FILE_TOO_SMALL')) {
301
+ return formattedErrorMsg.replace('%2$s', this.fileMinSizeInBytes.toString());
302
+ }
303
+ if (errorCode.startsWith('FILENAME_SHOULD_NOT_CONTAIN')) {
304
+ const fileNameIllegalCharacters = (overrideIllegalCharacters
305
+ ? overrideIllegalCharacters
306
+ : this.illegalCharacters).replace(/,/g, '');
307
+ return formattedErrorMsg.replace('%2$s', fileNameIllegalCharacters);
308
+ }
309
+ return formattedErrorMsg;
310
+ }
311
+ getDefaultUnknownErrorMessage(fileName) {
312
+ const msg = 'Impossible de transmettre le fichier';
313
+ if (!!fileName && !!fileName.length) {
314
+ return `${msg} ${fileName}.`;
315
+ }
316
+ return `${msg}.`;
317
+ }
318
+ /**
319
+ * @param key to be normalized
320
+ * @returns string
321
+ */
322
+ normalizeKey(key) {
323
+ return key ? key.toLowerCase().replace(this.CHAR_TO_REPLACE, '') : null;
324
+ }
325
+ }
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVwbG9hZC91cGxvYWRlci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUFTdkIsWUFDWSxpQkFBdUMsRUFDdkMsc0JBQThDO1FBRDlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVZsRCxZQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyx3QkFBd0IsQ0FBQztRQUM5Qyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFaEIsb0JBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFNL0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3RDLENBQUMsT0FBd0IsRUFBRSxFQUFFO1lBQ3pCLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUMzQixPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDbkQsQ0FBQztnQkFDRixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FDckIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUNqRCxDQUFDO2dCQUNGLElBQUksQ0FBQyxpQkFBaUI7b0JBQ2xC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dGUgfSBmcm9tICcuLi9lcnJvci10ZW1wbGF0ZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm8gfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7IERvY3VtZW50UmVmZXJlbmNlV2l0aEZpbGUgfSBmcm9tICcuL2RvY3VtZW50LXJlZmVyZW5jZSc7XG5cbmV4cG9ydCBjbGFzcyBVcGxvYWRlckhlbHBlciB7XG4gICAgcHJpdmF0ZSBfYWNjZXB0ID0gJy5wZGYnO1xuICAgIHByaXZhdGUgX21heFNpemVJbk1vID0gMTtcbiAgICBwcml2YXRlIF9tYXhGaWxlTmFtZUxlbmd0aCA9IDY0O1xuICAgIHByaXZhdGUgX2lsbGVnYWxDaGFyYWN0ZXJzID0gJy8sXFxcXCw/LCUsKiw6LHwsXCIsPCw+LMKwJztcbiAgICBwcml2YXRlIF9maWxlTWluU2l6ZUluQnl0ZXMgPSAyMDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ0hBUl9UT19SRVBMQUNFID0gbmV3IFJlZ0V4cCgnW15hLXpBLVowLTldJywgJ2cnKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhLnN1YnNjcmliZShcbiAgICAgICAgICAgIChhcHBJbmZvOiBBcHBsaWNhdGlvbkluZm8pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWNjZXB0ID0gYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50LmZpbGVFeHRlbnNpb25zO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1heEZpbGVOYW1lTGVuZ3RoID0gTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50Lm1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWF4U2l6ZUluTW8gPSBOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBJbmZvLmNvbmZpZ3VyYXRpb24uZG9jdW1lbnQubWF4RmlsZVNpemVJbk1vXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaWxsZWdhbENoYXJhY3RlcnMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50LmlsbGVnYWxDaGFyYWN0ZXJzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZU1pblNpemVJbkJ5dGVzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTWluU2l6ZUluQnl0ZXM7XG4gICAgfVxuXG4gICAgc2V0IGZpbGVNaW5TaXplSW5CeXRlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2ZpbGVNaW5TaXplSW5CeXRlcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IGlsbGVnYWxDaGFyYWN0ZXJzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbGxlZ2FsQ2hhcmFjdGVycztcbiAgICB9XG5cbiAgICBzZXQgaWxsZWdhbENoYXJhY3RlcnModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pbGxlZ2FsQ2hhcmFjdGVycyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IG1heEZpbGVOYW1lTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhGaWxlTmFtZUxlbmd0aDtcbiAgICB9XG5cbiAgICBzZXQgbWF4RmlsZU5hbWVMZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tYXhGaWxlTmFtZUxlbmd0aCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IG1heFNpemVJbk1vKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhTaXplSW5NbztcbiAgICB9XG5cbiAgICBzZXQgbWF4U2l6ZUluTW8odmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tYXhTaXplSW5NbyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IGFjY2VwdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWNjZXB0O1xuICAgIH1cblxuICAgIHNldCBhY2NlcHQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9hY2NlcHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBpc0ZpbGVUb29CaWcoXG4gICAgICAgIGZpbGVTaXplSW5CeXRlczogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vOiBudW1iZXJcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCEhb3ZlcnJpZGVNYXhTaXplSW5Nbykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNUb29CaWcoZmlsZVNpemVJbkJ5dGVzLCBvdmVycmlkZU1heFNpemVJbk1vKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMubWF4U2l6ZUluTW8pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5pc1Rvb0JpZyhmaWxlU2l6ZUluQnl0ZXMsIHRoaXMubWF4U2l6ZUluTW8pO1xuICAgIH1cblxuICAgIGlzRmlsZVRvb1NtYWxsKGZpbGVTaXplSW5CeXRlczogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5maWxlTWluU2l6ZUluQnl0ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsZVNpemVJbkJ5dGVzIDwgdGhpcy5maWxlTWluU2l6ZUluQnl0ZXM7XG4gICAgfVxuXG4gICAgaXNGaWxlTmFtZUxlbmd0aFZhbGlkKFxuICAgICAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoOiBudW1iZXJcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbWF4RmlsZUxlbmdodCA9ICEhb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aFxuICAgICAgICAgICAgPyBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICA6IHRoaXMubWF4RmlsZU5hbWVMZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIGZpbGVuYW1lLmxlbmd0aCA8PSBtYXhGaWxlTGVuZ2h0O1xuICAgIH1cblxuICAgIGlzRmlsZU5hbWVOYW1lVmFsaWQoXG4gICAgICAgIGZpbGVuYW1lOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnM6IHN0cmluZ1xuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBpbGxlZ2FsQ2hhcmFjdGVycyA9ICEhb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgPyBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzLnNwbGl0KCcsJylcbiAgICAgICAgICAgIDogdGhpcy5pbGxlZ2FsQ2hhcmFjdGVycy5zcGxpdCgnLCcpO1xuXG4gICAgICAgIGxldCBpc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgZm9yIChjb25zdCBpbGxlZ2FsQ2hhcmFjdGVyIG9mIGlsbGVnYWxDaGFyYWN0ZXJzKSB7XG4gICAgICAgICAgICBpZiAoZmlsZW5hbWUuaW5jbHVkZXMoaWxsZWdhbENoYXJhY3RlcikpIHtcbiAgICAgICAgICAgICAgICBpc1ZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNWYWxpZDtcbiAgICB9XG5cbiAgICBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYC4ke2ZpbGVuYW1lLnNwbGl0KCcuJykucG9wKCl9YDtcbiAgICB9XG5cbiAgICBpc0ZpbGVFeHRlbnNpb25WYWxpZChcbiAgICAgICAgZmlsZUV4dGVuc2lvbjogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uczogc3RyaW5nXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGFjY2VwdGVkRXh0ZW5zaW9ucyA9ICEhb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnNcbiAgICAgICAgICAgID8gb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnNcbiAgICAgICAgICAgIDogdGhpcy5hY2NlcHQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhZmlsZUV4dGVuc2lvbiAmJlxuICAgICAgICAgICAgYWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICAgICAgLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgICAgIC5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uLnRvVXBwZXJDYXNlKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgZXJyb3JDb2RlOiBzdHJpbmcsXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbzogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uczogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnM6IHN0cmluZ1xuICAgICk6IEVycm9yVGVtcGxhdGUge1xuICAgICAgICBjb25zdCB1bmlxU3VmZml4ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgY29kZTogYCR7ZXJyb3JDb2RlfV8ke3VuaXFTdWZmaXh9YCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMucmVwbGFjZUVycm9yTWVzc2FnZUtleXMoXG4gICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzW2Vycm9yQ29kZV0sXG4gICAgICAgICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgZXJyb3JDb2RlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW8sXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICApXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgYWRkQ3VzdG9tRXJyb3JPckRlZmF1bHQoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgZGVzdGluYXRpb25FcnJvcnM6IEVycm9yVGVtcGxhdGVbXSxcbiAgICAgICAgZXJyb3JDb2RlOiBzdHJpbmcsXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbzogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uczogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnM6IHN0cmluZ1xuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgY3VzdG9tIGVycm9yIHRvIG1hbmFnZVxuICAgICAgICBpZiAoY3VzdG9tRXJyb3JzW2Vycm9yQ29kZV0pIHtcbiAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICBkZXN0aW5hdGlvbkVycm9ycy5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVzdGluYXRpb25FcnJvcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBjb2RlOiBlcnJvckNvZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5nZXREZWZhdWx0VW5rbm93bkVycm9yTWVzc2FnZShmaWxlTmFtZSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycyhjdXN0b21FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICAgICAgY3VzdG9tRXJyb3JzLkZJTEVOQU1FX1RPT19MT05HID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5GSUxFTkFNRV9UT09fTE9ORydcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLkZJTEVfVE9PX1NNQUxMID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5GSUxFX1RPT19TTUFMTCdcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLlBERl9QQVNTV09SRF9MT0NLRUQgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLlBERl9QQVNTV09SRF9MT0NLRUQnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5QREZfQ09OVEFJTlNfU0NSSVBUID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfQ09OVEFJTlNfU0NSSVBUJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX0hBU19BVFRBQ0hNRU5UUyA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuUERGX0hBU19BVFRBQ0hNRU5UUydcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLkVNUFRZX1BERiA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuRU1QVFlfUERGJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX0dFTkVSQUxfUFJPQkxFTSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuUERGX0dFTkVSQUxfUFJPQkxFTSdcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLlBERl9IQVNfUkVTVFJJQ1RJT05TID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfSEFTX1JFU1RSSUNUSU9OUydcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTiA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnNbJzQwNiddID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuNDA2Jyk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNDEzJ10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy40MTMnKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzWyc0MTUnXSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLjQxNScpO1xuICAgICAgICBjdXN0b21FcnJvcnNbJzQyMiddID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuNDIyJyk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNTAwJ10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy41MDAnKTtcblxuICAgICAgICAvLyBNdWx0aVBhcnRFeGNlcHRpb24gZnJvbSBadXVsIHJldHVybnMgSFRUUCAwXG4gICAgICAgIGN1c3RvbUVycm9yc1snMCddID0gY3VzdG9tRXJyb3JzWyc0MTMnXTtcbiAgICB9XG5cbiAgICBnZXRMb2NhbEVycm9ycyhcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBmaWxlczogRmlsZVtdLFxuICAgICAgICBjdXN0b21FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW86IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBFcnJvclRlbXBsYXRlW10ge1xuICAgICAgICBjb25zdCBlcnJvcnM6IEVycm9yVGVtcGxhdGVbXSA9IFtdO1xuXG4gICAgICAgIGZpbGVzLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICAgICAgICAvLyBGaWxlIGJhZCBleHRlbnNpb25cbiAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSB0aGlzLmdldEZpbGVFeHRlbnNpb24oZmlsZS5uYW1lKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5pc0ZpbGVFeHRlbnNpb25WYWxpZChcbiAgICAgICAgICAgICAgICAgICAgZmlsZUV4dGVuc2lvbixcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnNcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGN1c3RvbSBlcnJvciA0MTUgZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnNDE1JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW8sXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmlsZSBuYW1lIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVyc1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlzRmlsZU5hbWVOYW1lVmFsaWQoZmlsZS5uYW1lLCBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0ZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTicsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZpbGVzIHRvbyBiaWdcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRmlsZVRvb0JpZyhmaWxlLnNpemUsIG92ZXJyaWRlTWF4U2l6ZUluTW8pKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgNDEzIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJzQxMycsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRmlsZVRvb1NtYWxsKGZpbGUuc2l6ZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGN1c3RvbSBlcnJvciBGSUxFX1RPT19TTUFMTCBleGlzdCAoc2VlIGZ1bmN0aW9uICdjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzJylcbiAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIGNyZWF0ZSB1bmlxdWUgZXJyb3IgdG8gZW5zdXJlIGFiaWxpdHkgdG8gZGlzcGxheSBtdWx0aXBsZSBlcnJvciBtZXNzYWdlc1xuICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFVuaXF1ZUVycm9yQnlDb2RlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdGSUxFX1RPT19TTUFMTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZpbGUgbmFtZSB0b28gbG9uZyAoNjQgY2hhcnMgbWF4KVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlzRmlsZU5hbWVMZW5ndGhWYWxpZChcbiAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgRklMRU5BTUVfVE9PX0xPTkcgZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRklMRU5BTUVfVE9PX0xPTkcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuXG4gICAgaGFzTGl2ZVVwbG9hZEVycm9ycyhlcnJvcnM6IEVycm9yVGVtcGxhdGVbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISFlcnJvcnMgJiZcbiAgICAgICAgICAgICEhKGVycm9ycyBhcyBFcnJvclRlbXBsYXRlW10pLmZpbmQoXG4gICAgICAgICAgICAgICAgZSA9PlxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnNDEzJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJzQxNScpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdQREZfUEFTU1dPUkRfTE9DS0VEJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJ1BERl9DT05UQUlOU19TQ1JJUFQnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX0hBU19BVFRBQ0hNRU5UUycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdFTVBUWV9QREYnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX0dFTkVSQUxfUFJPQkxFTScpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdQREZfSEFTX1JFU1RSSUNUSU9OUycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9UT09fTE9ORycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFX1RPT19TTUFMTCcpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJldmVudEFuZFN0b3AoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldEFsbEZpbGVzQ291bnQoZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHtkYXRhLmxlbmd0aH1gO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0QWxsRmlsZXNTaXplSW5NbyhkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsZVNpemVJbkJ5dGVzID0gZGF0YS5yZWR1Y2UoXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgKHRvdGFsRG9jU2l6ZTogbnVtYmVyLCBkb2N1bWVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50Lmhhc093blByb3BlcnR5KCdmaWxlU2l6ZScpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbERvY1NpemUgKyBkb2N1bWVudC5maWxlU2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsRG9jU2l6ZSArIGRvY3VtZW50LnNpemU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnRvTWVnYU9jdGV0cyhmaWxlU2l6ZUluQnl0ZXMpO1xuICAgIH1cblxuICAgIHRvTWVnYU9jdGV0cyhzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7KHNpemUgLyAoMTAyNCAqIDEwMjQpKS50b0ZpeGVkKDIpfWA7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRUcmFuc2ZlcihldmVudDogYW55KTogRmlsZUxpc3Qge1xuICAgICAgICBpZiAoISFldmVudC5kYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRHbG9iYWxJbmZvcyhkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRBbGxGaWxlc0NvdW50KFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICApfSBmaWNoaWVycyBwb3VyIHVuIHRvdGFsIGRlICR7dGhpcy5nZXRBbGxGaWxlc1NpemVJbk1vKFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICApfSA8YWJiciB0aXRsZT1cIk1lZ2FvY3RldFwiPk1vPC9hYmJyPmA7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzaG93R2xvYmFsSW5mb3MoZGF0YTogYW55LCBoaWRlR2xvYmFsSW5mb3M6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFoaWRlR2xvYmFsSW5mb3MgJiYgISFkYXRhICYmICEhZGF0YS5sZW5ndGggJiYgZGF0YS5sZW5ndGggPiAxO1xuICAgIH1cblxuICAgIG1hcFRvRG9jdW1lbnRSZWZlcmVuY2UoXG4gICAgICAgIGZpbGU6IEZpbGUsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICAgICBpc011bHRpcGxlOiBib29sZWFuLFxuICAgICAgICB1bmlxUHJlZml4OiBudW1iZXIsXG4gICAgICAgIGdsb2JhbFNlcXVlbmNlOiBudW1iZXJcbiAgICApOiBEb2N1bWVudFJlZmVyZW5jZVdpdGhGaWxlIHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnQgPSBuZXcgRG9jdW1lbnRSZWZlcmVuY2VXaXRoRmlsZSgpO1xuXG4gICAgICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICAgICAgICAvLyBPdmVycmlkZSBrZXkgdG8gZW5zdXJlcyB0aGF0IEdlc0RlbSBjYW4gYWNjZXB0IHRoZSBkb2N1bWVudCBrZXkgKGxlbmd0aCBvZiA2NCBjaGFyLiBtYXguKVxuICAgICAgICAgICAga2V5ID0gYGRvYyR7dW5pcVByZWZpeH0ke2dsb2JhbFNlcXVlbmNlfWA7XG4gICAgICAgICAgICBkb2N1bWVudC5rZXkgPSB0aGlzLm5vcm1hbGl6ZUtleShrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQua2V5ID0ga2V5O1xuICAgICAgICBkb2N1bWVudC5maWxlbmFtZSA9IGZpbGUubmFtZTtcbiAgICAgICAgZG9jdW1lbnQubWltZVR5cGUgPSBmaWxlLnR5cGU7XG4gICAgICAgIGRvY3VtZW50LmZpbGVTaXplID0gZmlsZS5zaXplO1xuICAgICAgICBkb2N1bWVudC5sYWJlbCA9IGxhYmVsO1xuICAgICAgICBkb2N1bWVudC5maWxlID0gZmlsZTtcblxuICAgICAgICByZXR1cm4gZG9jdW1lbnQ7XG4gICAgfVxuXG4gICAgbWFwVG9Gb3JtRGF0YShcbiAgICAgICAgZG9jdW1lbnRzOiBEb2N1bWVudFJlZmVyZW5jZVdpdGhGaWxlW10sXG4gICAgICAgIGZvcm1LZXk6IHN0cmluZyxcbiAgICAgICAgbGFuZ3VhZ2U6IHN0cmluZ1xuICAgICk6IEZvcm1EYXRhIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgICAgICBkb2N1bWVudHMuZm9yRWFjaCgoeyBmaWxlLCBrZXksIGxhYmVsIH0pID0+IHtcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgna2V5cycsIGtleSk7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2xhYmVscycsIHRoaXMucmVtb3ZlQ29tbWFzSW5MYWJlbChsYWJlbCkpO1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlcycsIGZpbGUsIGZpbGUubmFtZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybUtleScsIGZvcm1LZXkpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2xhbmd1YWdlJywgbGFuZ3VhZ2UpO1xuXG4gICAgICAgIHJldHVybiBmb3JtRGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21tYXMgYXJlIHJlbW92ZWQgdG8gYXZvaWQgYSB3cm9uZyBpbnRlcnByZXRhdGlvbiBhcyBhbiBhcnJheSBvZiBzdHJpbmcgaW4gZm9ybURhdGEuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbGFiZWwgdG8gYmUgY2xlYW5lZCBmcm9tIGNvbW1hXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgcmVtb3ZlQ29tbWFzSW5MYWJlbChsYWJlbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxhYmVsLnNwbGl0KCcsJykuam9pbignJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1Rvb0JpZyhmaWxlU2l6ZUluQnl0ZXM6IG51bWJlciwgbGltaXRJbk1vOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbGVTaXplSW5CeXRlcyAvICgxMDI0ICogMTAyNCkgPiBsaW1pdEluTW87XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXBsYWNlRXJyb3JNZXNzYWdlS2V5cyhcbiAgICAgICAgZXJyb3JNc2c6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgZXJyb3JDb2RlOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW86IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRFcnJvck1zZyA9IGVycm9yTXNnLnJlcGxhY2UoJyUxJHMnLCBmaWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCc0MTMnKSkge1xuICAgICAgICAgICAgLy8gUkVRVUVTVF9FTlRJVFlfVE9PX0xBUkdFX0VSUk9SX01TR1xuICAgICAgICAgICAgY29uc3QgZmlsZU1heFNpemUgPSAob3ZlcnJpZGVNYXhTaXplSW5Nb1xuICAgICAgICAgICAgICAgID8gb3ZlcnJpZGVNYXhTaXplSW5Nb1xuICAgICAgICAgICAgICAgIDogdGhpcy5tYXhTaXplSW5Nb1xuICAgICAgICAgICAgKS50b1N0cmluZygpO1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoJyUyJHMnLCBmaWxlTWF4U2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCc0MTUnKSkge1xuICAgICAgICAgICAgLy8gVU5TVVBQT1JURURfTUVESUFfVFlQRV9FUlJPUl9NU0dcbiAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb25zID0gKG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICAgICAgPyBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgIDogdGhpcy5hY2NlcHRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8sL2csICcgb3UgJyk7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkRXJyb3JNc2cucmVwbGFjZSgnJTIkcycsIGZpbGVFeHRlbnNpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JDb2RlLnN0YXJ0c1dpdGgoJ0ZJTEVOQU1FX1RPT19MT05HJykpIHtcbiAgICAgICAgICAgIGNvbnN0IG1heEZpbGVOYW1lTGVuZ3RoID0gKG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICAgICA/IG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICAgICA6IHRoaXMubWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKCclMiRzJywgbWF4RmlsZU5hbWVMZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnRklMRV9UT09fU01BTEwnKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgJyUyJHMnLFxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZU1pblNpemVJbkJ5dGVzLnRvU3RyaW5nKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nKSkge1xuICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVJbGxlZ2FsQ2hhcmFjdGVycyA9IChvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgPyBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICApLnJlcGxhY2UoLywvZywgJycpO1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoJyUyJHMnLCBmaWxlTmFtZUlsbGVnYWxDaGFyYWN0ZXJzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm9ybWF0dGVkRXJyb3JNc2c7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWZhdWx0VW5rbm93bkVycm9yTWVzc2FnZShmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbXNnID0gJ0ltcG9zc2libGUgZGUgdHJhbnNtZXR0cmUgbGUgZmljaGllcic7XG4gICAgICAgIGlmICghIWZpbGVOYW1lICYmICEhZmlsZU5hbWUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7bXNnfSAke2ZpbGVOYW1lfS5gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHttc2d9LmA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGtleSB0byBiZSBub3JtYWxpemVkXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgcHJpdmF0ZSBub3JtYWxpemVLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4ga2V5ID8ga2V5LnRvTG93ZXJDYXNlKCkucmVwbGFjZSh0aGlzLkNIQVJfVE9fUkVQTEFDRSwgJycpIDogbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -11,13 +11,10 @@ export class FoehnUserConnectedAsComponent {
11
11
  this.connectedAs = this.sessionInfo.data.pipe(filter(userInfo => !!userInfo), map((userInfo) => userInfo.espaceLabel));
12
12
  }
13
13
  }
14
- FoehnUserConnectedAsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsComponent, deps: [{ token: i1.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
15
- FoehnUserConnectedAsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as", ngImport: i0, template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsComponent, decorators: [{
14
+ FoehnUserConnectedAsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsComponent, deps: [{ token: i1.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
15
+ FoehnUserConnectedAsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as", ngImport: i0, template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsComponent, decorators: [{
17
17
  type: Component,
18
- args: [{
19
- selector: 'foehn-user-connected-as',
20
- templateUrl: './foehn-user-connected-as.component.html'
21
- }]
18
+ args: [{ selector: 'foehn-user-connected-as', template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n" }]
22
19
  }], ctorParameters: function () { return [{ type: i1.SessionInfo }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRN0MsTUFBTSxPQUFPLDZCQUE2QjtJQUd0QyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQzlCLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7OzBIQVZRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLCtEQ1YxQyx5TUFPQTsyRkRHYSw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLDBDQUEwQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm9EYXRhIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8tZGF0YSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlc3Npb25JbmZvIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tdXNlci1jb25uZWN0ZWQtYXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Vc2VyQ29ubmVjdGVkQXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNvbm5lY3RlZEFzOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbykge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbm5lY3RlZEFzID0gdGhpcy5zZXNzaW9uSW5mby5kYXRhLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodXNlckluZm8gPT4gISF1c2VySW5mbyksXG4gICAgICAgICAgICBtYXAoKHVzZXJJbmZvOiBTZXNzaW9uSW5mb0RhdGEpID0+IHVzZXJJbmZvLmVzcGFjZUxhYmVsKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjwhLS0gcHJldHRpZXItaWdub3JlIC0tPlxuPHBcbiAgICAqbmdJZj1cIihjb25uZWN0ZWRBcyB8IGFzeW5jKSBhcyB1c2VyQ29ubmVjdGVkQXNcIlxuICAgIGNsYXNzPVwiaDJcIlxuPlxuICAgIExhIGRlbWFuZGUgc2VyYSBlZmZlY3R1w6llIHBvdXIgPGVtPiZsYXF1bzt7eyB1c2VyQ29ubmVjdGVkQXMgfX0mcmFxdW87PC9lbT5cbjwvcD5cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRN0MsTUFBTSxPQUFPLDZCQUE2QjtJQUd0QyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQzlCLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7OzBIQVZRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLCtEQ1YxQyx5TUFPQTsyRkRHYSw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvRGF0YSB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLWRhdGEnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuVXNlckNvbm5lY3RlZEFzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25uZWN0ZWRBczogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXNzaW9uSW5mbzogU2Vzc2lvbkluZm8pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRBcyA9IHRoaXMuc2Vzc2lvbkluZm8uZGF0YS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHVzZXJJbmZvID0+ICEhdXNlckluZm8pLFxuICAgICAgICAgICAgbWFwKCh1c2VySW5mbzogU2Vzc2lvbkluZm9EYXRhKSA9PiB1c2VySW5mby5lc3BhY2VMYWJlbClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8IS0tIHByZXR0aWVyLWlnbm9yZSAtLT5cbjxwXG4gICAgKm5nSWY9XCIoY29ubmVjdGVkQXMgfCBhc3luYykgYXMgdXNlckNvbm5lY3RlZEFzXCJcbiAgICBjbGFzcz1cImgyXCJcbj5cbiAgICBMYSBkZW1hbmRlIHNlcmEgZWZmZWN0dcOpZSBwb3VyIDxlbT4mbGFxdW87e3sgdXNlckNvbm5lY3RlZEFzIH19JnJhcXVvOzwvZW0+XG48L3A+XG4iXX0=
@@ -4,10 +4,10 @@ import { FoehnUserConnectedAsComponent } from './foehn-user-connected-as.compone
4
4
  import * as i0 from "@angular/core";
5
5
  export class FoehnUserConnectedAsModule {
6
6
  }
7
- FoehnUserConnectedAsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- FoehnUserConnectedAsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, declarations: [FoehnUserConnectedAsComponent], imports: [CommonModule], exports: [FoehnUserConnectedAsComponent] });
9
- FoehnUserConnectedAsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, imports: [[CommonModule]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, decorators: [{
7
+ FoehnUserConnectedAsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ FoehnUserConnectedAsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsModule, declarations: [FoehnUserConnectedAsComponent], imports: [CommonModule], exports: [FoehnUserConnectedAsComponent] });
9
+ FoehnUserConnectedAsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsModule, imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -71,18 +71,14 @@ export class FoehnValidationAlertSummaryComponent {
71
71
  return null;
72
72
  }
73
73
  }
74
- FoehnValidationAlertSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryComponent, deps: [{ token: i1.ValidationHandlerService }], target: i0.ɵɵFactoryTarget.Component });
75
- FoehnValidationAlertSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnValidationAlertSummaryComponent, selector: "foehn-validation-alert-summary", inputs: { form: "form" }, ngImport: i0, template: "<div\n aria-labelledby=\"error-summary-title\"\n id=\"error-summary\"\n class=\"vd-error-summary\"\n *ngIf=\"shouldDisplayAlertSummary && errors.length\"\n role=\"alert\"\n tabindex=\"-1\"\n>\n <h2 id=\"error-summary-title\">\n {{ 'errors.summary.title' | fromDictionary }}\n </h2>\n <ul>\n <li *ngFor=\"let error of errors; trackBy: trackByError; let i = index\">\n <a\n class=\"text-danger\"\n href=\"\"\n [id]=\"'foehn-error-summary-list-item-' + i\"\n (click)=\"scrollToError($event, error.name)\"\n >\n <span [innerHTML]=\"error.componentLabel\"></span>\n <span [innerHTML]=\"error.message\"></span>\n </a>\n </li>\n </ul>\n</div>\n", styles: [".vd-error-summary{margin-bottom:1rem}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fromDictionary": i3.SdkDictionaryPipe } });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryComponent, decorators: [{
74
+ FoehnValidationAlertSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryComponent, deps: [{ token: i1.ValidationHandlerService }], target: i0.ɵɵFactoryTarget.Component });
75
+ FoehnValidationAlertSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnValidationAlertSummaryComponent, selector: "foehn-validation-alert-summary", inputs: { form: "form" }, ngImport: i0, template: "<div\n aria-labelledby=\"error-summary-title\"\n id=\"error-summary\"\n class=\"vd-error-summary\"\n *ngIf=\"shouldDisplayAlertSummary && errors.length\"\n role=\"alert\"\n tabindex=\"-1\"\n>\n <h2 id=\"error-summary-title\">\n {{ 'errors.summary.title' | fromDictionary }}\n </h2>\n <ul>\n <li *ngFor=\"let error of errors; trackBy: trackByError; let i = index\">\n <a\n class=\"text-danger\"\n href=\"\"\n [id]=\"'foehn-error-summary-list-item-' + i\"\n (click)=\"scrollToError($event, error.name)\"\n >\n <span [innerHTML]=\"error.componentLabel\"></span>\n <span [innerHTML]=\"error.message\"></span>\n </a>\n </li>\n </ul>\n</div>\n", styles: [".vd-error-summary{margin-bottom:1rem}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fromDictionary": i3.SdkDictionaryPipe } });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryComponent, decorators: [{
77
77
  type: Component,
78
- args: [{
79
- selector: 'foehn-validation-alert-summary',
80
- templateUrl: './foehn-validation-alert-summary.component.html',
81
- styleUrls: ['./foehn-validation-alert-summary.component.css']
82
- }]
78
+ args: [{ selector: 'foehn-validation-alert-summary', template: "<div\n aria-labelledby=\"error-summary-title\"\n id=\"error-summary\"\n class=\"vd-error-summary\"\n *ngIf=\"shouldDisplayAlertSummary && errors.length\"\n role=\"alert\"\n tabindex=\"-1\"\n>\n <h2 id=\"error-summary-title\">\n {{ 'errors.summary.title' | fromDictionary }}\n </h2>\n <ul>\n <li *ngFor=\"let error of errors; trackBy: trackByError; let i = index\">\n <a\n class=\"text-danger\"\n href=\"\"\n [id]=\"'foehn-error-summary-list-item-' + i\"\n (click)=\"scrollToError($event, error.name)\"\n >\n <span [innerHTML]=\"error.componentLabel\"></span>\n <span [innerHTML]=\"error.message\"></span>\n </a>\n </li>\n </ul>\n</div>\n", styles: [".vd-error-summary{margin-bottom:1rem}\n"] }]
83
79
  }], ctorParameters: function () { return [{ type: i1.ValidationHandlerService }]; }, propDecorators: { form: [{
84
80
  type: Input
85
81
  }] } });
86
82
  export class ComponentError {
87
83
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUlqRCxzQ0FBc0M7QUFNdEMsTUFBTSxPQUFPLG9DQUFvQztJQUk3QyxZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7SUFFMUUsSUFBSSx5QkFBeUI7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoRCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNCLElBQ0ksU0FBUyxDQUFDLGtCQUFrQixFQUFFO2dCQUM5QixDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFDcEM7Z0JBQ0UsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0JBQ1IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FDN0MsU0FBUyxFQUNULEtBQUssQ0FDUjt3QkFDRCxjQUFjLEVBQUUsU0FBUyxDQUFDLEtBQUs7NEJBQzNCLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEtBQUs7NEJBQ3pCLENBQUMsQ0FBQyxFQUFFO3FCQUNYLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVksRUFBRSxPQUFlO1FBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxPQUFPLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixPQUFPLENBQUMsSUFBSSxDQUNSLElBQ0ksT0FBTztZQUNQLG1DQUFtQztZQUN2Qyx1SUFBdUksQ0FDMUksQ0FBQztZQUNGLE9BQU87U0FDVjtRQUNELG1EQUFtRDtRQUNuRCxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVsQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLFlBQVksRUFBRTtZQUNkLHNDQUFzQztZQUN0QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7YUFBTTtZQUNILHVIQUF1SDtZQUN2SCxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUN2RCxjQUFjLE9BQU8sSUFBSSxDQUM1QixDQUFDO1lBQ0YsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQ3RELGlCQUFpQixDQUNwQixDQUFDO2dCQUNGLElBQUksWUFBWSxFQUFFO29CQUNkLHNDQUFzQztvQkFDdEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUN4QjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQWlCO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRVMsZ0NBQWdDLENBQ3RDLGlCQUFzQztRQUV0QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUMzQyxDQUFDLENBQ2dCLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtnQkFDNUIsT0FBTyxnQkFBZ0IsQ0FBQzthQUMzQjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7aUlBeEZRLG9DQUFvQztxSEFBcEMsb0NBQW9DLGdHQ1ZqRCw2eUJBeUJBOzJGRGZhLG9DQUFvQztrQkFMaEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxXQUFXLEVBQUUsaURBQWlEO29CQUM5RCxTQUFTLEVBQUUsQ0FBQyxnREFBZ0QsQ0FBQztpQkFDaEU7K0dBR0csSUFBSTtzQkFESCxLQUFLOztBQTBGVixNQUFNLE9BQU8sY0FBYztDQUkxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4tZm9ybS9mb2Vobi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24taGFuZGxlci5zZXJ2aWNlJztcblxuLy8gZXNsaW50LWRpc2FibGUgbWF4LWNsYXNzZXMtcGVyLWZpbGVcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuVmFsaWRhdGlvbkFsZXJ0U3VtbWFyeUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBmb3JtOiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbGlkYXRpb25IYW5kbGVyU2VydmljZTogVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlKSB7fVxuXG4gICAgZ2V0IHNob3VsZERpc3BsYXlBbGVydFN1bW1hcnkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uc2hvdWxkRGlzcGxheUFsZXJ0U3VtbWFyeTtcbiAgICB9XG5cbiAgICBnZXQgZXJyb3JzKCk6IENvbXBvbmVudEVycm9yW10ge1xuICAgICAgICBjb25zdCBlcnJvcnM6IENvbXBvbmVudEVycm9yW10gPSBbXTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50cyA9IHRoaXMuZm9ybS5nZXRBbGxDb21wb25lbnRzKCk7XG4gICAgICAgIGNvbXBvbmVudHMuZm9yRWFjaChjb21wb25lbnQgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbXBvbmVudC5oYXNFcnJvcnNUb0Rpc3BsYXkoKSAmJlxuICAgICAgICAgICAgICAgICFjb21wb25lbnQuZXhjbHVkZUZyb21FcnJvclN1bW1hcnlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudC5lcnJvcnMuZm9yRWFjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5nZXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudExhYmVsOiBjb21wb25lbnQubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAke2NvbXBvbmVudC5sYWJlbH0gOiBgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG5cbiAgICBzY3JvbGxUb0Vycm9yKGV2ZW50OiBFdmVudCwgZXJyb3JJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtlcnJvcklkfUNvbnRhaW5lcmApO1xuICAgICAgICBpZiAoIWVsZW1lbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICBgXCIke1xuICAgICAgICAgICAgICAgICAgICBlcnJvcklkXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICAgICAgfVwiIGVycm9yIGNhbm5vdCBiZSBzY3JvbGxlZCB0byBub3IgZm9jdXNlZC4gUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHlvdXIgSFRNTCBGb2VobiBlbGVtZW50IHRhZyBhdHRyaWJ1dHMgXCJpZFwiIGFuZCBcIm5hbWVcIiBhcmUgaWRlbnRpY2FsLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2Nyb2xsIGluIHZpZXcgc2hvdWxkIGJlIGRvbmUgb24gaW5wdXQgY29udGFpbmVyXG4gICAgICAgIGVsZW1lbnRDb250YWluZXIuc2Nyb2xsSW50b1ZpZXcoKTtcblxuICAgICAgICBjb25zdCBlbGVtZW50Q2hpbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtlcnJvcklkfUNoaWxkYCk7XG4gICAgICAgIGlmIChlbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgIC8vIEZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQgaXRzZWxmXG4gICAgICAgICAgICBlbGVtZW50Q2hpbGQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEZvciBtb3JlIGNvbXBsZXggY29tcG9uZW50cyBzdWNoIGFzIGZvZWhuLWlucHV0LWRhdGUsIGZvZWhuLWlucHV0LXRpbWUsIGZvZWhuLW5hdjEzLCBmb2Vobi1yYWRpbywgZm9laG4tY2hlY2tib3gsLi4uXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Tm9kZUxpc3RPZiA9IGVsZW1lbnRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICBgaW5wdXRbaWRePVwiJHtlcnJvcklkfVwiXWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudE5vZGVMaXN0T2YgJiYgZWxlbWVudE5vZGVMaXN0T2YubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZmluZEZpcnN0SHRtbElucHV0RWxlbWVudEVuYWJsZWQoXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnROb2RlTGlzdE9mXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQgaXRzZWxmXG4gICAgICAgICAgICAgICAgICAgIGlucHV0RWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYWNrQnlFcnJvcihlOiBDb21wb25lbnRFcnJvcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlLm5hbWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZpbmRGaXJzdEh0bWxJbnB1dEVsZW1lbnRFbmFibGVkKFxuICAgICAgICBlbGVtZW50Tm9kZUxpc3RPZjogTm9kZUxpc3RPZjxFbGVtZW50PlxuICAgICk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnROb2RlTGlzdE9mLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBodG1sSW5wdXRFbGVtZW50ID0gZWxlbWVudE5vZGVMaXN0T2YuaXRlbShcbiAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIWh0bWxJbnB1dEVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaHRtbElucHV0RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFcnJvciB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBjb21wb25lbnRMYWJlbDogc3RyaW5nO1xufVxuIiwiPGRpdlxuICAgIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIlxuICAgIGlkPVwiZXJyb3Itc3VtbWFyeVwiXG4gICAgY2xhc3M9XCJ2ZC1lcnJvci1zdW1tYXJ5XCJcbiAgICAqbmdJZj1cInNob3VsZERpc3BsYXlBbGVydFN1bW1hcnkgJiYgZXJyb3JzLmxlbmd0aFwiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8aDIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICAgIHt7ICdlcnJvcnMuc3VtbWFyeS50aXRsZScgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgIDwvaDI+XG4gICAgPHVsPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVycm9yczsgdHJhY2tCeTogdHJhY2tCeUVycm9yOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJcIlxuICAgICAgICAgICAgICAgIFtpZF09XCInZm9laG4tZXJyb3Itc3VtbWFyeS1saXN0LWl0ZW0tJyArIGlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb0Vycm9yKCRldmVudCwgZXJyb3IubmFtZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZXJyb3IuY29tcG9uZW50TGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJlcnJvci5tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L2Rpdj5cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUlqRCxzQ0FBc0M7QUFNdEMsTUFBTSxPQUFPLG9DQUFvQztJQUk3QyxZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7SUFFMUUsSUFBSSx5QkFBeUI7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoRCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNCLElBQ0ksU0FBUyxDQUFDLGtCQUFrQixFQUFFO2dCQUM5QixDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFDcEM7Z0JBQ0UsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0JBQ1IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FDN0MsU0FBUyxFQUNULEtBQUssQ0FDUjt3QkFDRCxjQUFjLEVBQUUsU0FBUyxDQUFDLEtBQUs7NEJBQzNCLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEtBQUs7NEJBQ3pCLENBQUMsQ0FBQyxFQUFFO3FCQUNYLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVksRUFBRSxPQUFlO1FBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxPQUFPLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixPQUFPLENBQUMsSUFBSSxDQUNSLElBQ0ksT0FBTztZQUNQLG1DQUFtQztZQUN2Qyx1SUFBdUksQ0FDMUksQ0FBQztZQUNGLE9BQU87U0FDVjtRQUNELG1EQUFtRDtRQUNuRCxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVsQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLFlBQVksRUFBRTtZQUNkLHNDQUFzQztZQUN0QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7YUFBTTtZQUNILHVIQUF1SDtZQUN2SCxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUN2RCxjQUFjLE9BQU8sSUFBSSxDQUM1QixDQUFDO1lBQ0YsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQ3RELGlCQUFpQixDQUNwQixDQUFDO2dCQUNGLElBQUksWUFBWSxFQUFFO29CQUNkLHNDQUFzQztvQkFDdEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUN4QjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQWlCO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRVMsZ0NBQWdDLENBQ3RDLGlCQUFzQztRQUV0QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUMzQyxDQUFDLENBQ2dCLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtnQkFDNUIsT0FBTyxnQkFBZ0IsQ0FBQzthQUMzQjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7aUlBeEZRLG9DQUFvQztxSEFBcEMsb0NBQW9DLGdHQ1ZqRCw2eUJBeUJBOzJGRGZhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDSSxnQ0FBZ0M7K0dBTTFDLElBQUk7c0JBREgsS0FBSzs7QUEwRlYsTUFBTSxPQUFPLGNBQWM7Q0FJMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEZvZWhuRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWZvcm0vZm9laG4tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5cbi8vIGVzbGludC1kaXNhYmxlIG1heC1jbGFzc2VzLXBlci1maWxlXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXZhbGlkYXRpb24tYWxlcnQtc3VtbWFyeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnQtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblZhbGlkYXRpb25BbGVydFN1bW1hcnlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgZm9ybTogRm9laG5Gb3JtQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2YWxpZGF0aW9uSGFuZGxlclNlcnZpY2U6IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSkge31cblxuICAgIGdldCBzaG91bGREaXNwbGF5QWxlcnRTdW1tYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLnNob3VsZERpc3BsYXlBbGVydFN1bW1hcnk7XG4gICAgfVxuXG4gICAgZ2V0IGVycm9ycygpOiBDb21wb25lbnRFcnJvcltdIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBDb21wb25lbnRFcnJvcltdID0gW107XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLmZvcm0uZ2V0QWxsQ29tcG9uZW50cygpO1xuICAgICAgICBjb21wb25lbnRzLmZvckVhY2goY29tcG9uZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb21wb25lbnQuaGFzRXJyb3JzVG9EaXNwbGF5KCkgJiZcbiAgICAgICAgICAgICAgICAhY29tcG9uZW50LmV4Y2x1ZGVGcm9tRXJyb3JTdW1tYXJ5XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQuZXJyb3JzLmZvckVhY2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBlcnJvci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy52YWxpZGF0aW9uSGFuZGxlclNlcnZpY2UuZ2V0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRMYWJlbDogY29tcG9uZW50LmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgJHtjb21wb25lbnQubGFiZWx9IDogYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuXG4gICAgc2Nyb2xsVG9FcnJvcihldmVudDogRXZlbnQsIGVycm9ySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBlbGVtZW50Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7ZXJyb3JJZH1Db250YWluZXJgKTtcbiAgICAgICAgaWYgKCFlbGVtZW50Q29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgYFwiJHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JJZFxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgICAgIH1cIiBlcnJvciBjYW5ub3QgYmUgc2Nyb2xsZWQgdG8gbm9yIGZvY3VzZWQuIFBsZWFzZSBtYWtlIHN1cmUgdGhhdCB5b3VyIEhUTUwgRm9laG4gZWxlbWVudCB0YWcgYXR0cmlidXRzIFwiaWRcIiBhbmQgXCJuYW1lXCIgYXJlIGlkZW50aWNhbC5gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNjcm9sbCBpbiB2aWV3IHNob3VsZCBiZSBkb25lIG9uIGlucHV0IGNvbnRhaW5lclxuICAgICAgICBlbGVtZW50Q29udGFpbmVyLnNjcm9sbEludG9WaWV3KCk7XG5cbiAgICAgICAgY29uc3QgZWxlbWVudENoaWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7ZXJyb3JJZH1DaGlsZGApO1xuICAgICAgICBpZiAoZWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICAvLyBGb2N1cyBzaG91bGQgYmUgb24gdGhlIGlucHV0IGl0c2VsZlxuICAgICAgICAgICAgZWxlbWVudENoaWxkLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBGb3IgbW9yZSBjb21wbGV4IGNvbXBvbmVudHMgc3VjaCBhcyBmb2Vobi1pbnB1dC1kYXRlLCBmb2Vobi1pbnB1dC10aW1lLCBmb2Vobi1uYXYxMywgZm9laG4tcmFkaW8sIGZvZWhuLWNoZWNrYm94LC4uLlxuICAgICAgICAgICAgY29uc3QgZWxlbWVudE5vZGVMaXN0T2YgPSBlbGVtZW50Q29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICAgICAgYGlucHV0W2lkXj1cIiR7ZXJyb3JJZH1cIl1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnROb2RlTGlzdE9mICYmIGVsZW1lbnROb2RlTGlzdE9mLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmZpbmRGaXJzdEh0bWxJbnB1dEVsZW1lbnRFbmFibGVkKFxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50Tm9kZUxpc3RPZlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBGb2N1cyBzaG91bGQgYmUgb24gdGhlIGlucHV0IGl0c2VsZlxuICAgICAgICAgICAgICAgICAgICBpbnB1dEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0cmFja0J5RXJyb3IoZTogQ29tcG9uZW50RXJyb3IpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZS5uYW1lO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBmaW5kRmlyc3RIdG1sSW5wdXRFbGVtZW50RW5hYmxlZChcbiAgICAgICAgZWxlbWVudE5vZGVMaXN0T2Y6IE5vZGVMaXN0T2Y8RWxlbWVudD5cbiAgICApOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50Tm9kZUxpc3RPZi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaHRtbElucHV0RWxlbWVudCA9IGVsZW1lbnROb2RlTGlzdE9mLml0ZW0oXG4gICAgICAgICAgICAgICAgaVxuICAgICAgICAgICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFodG1sSW5wdXRFbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGh0bWxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50RXJyb3Ige1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgY29tcG9uZW50TGFiZWw6IHN0cmluZztcbn1cbiIsIjxkaXZcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCJcbiAgICBpZD1cImVycm9yLXN1bW1hcnlcIlxuICAgIGNsYXNzPVwidmQtZXJyb3Itc3VtbWFyeVwiXG4gICAgKm5nSWY9XCJzaG91bGREaXNwbGF5QWxlcnRTdW1tYXJ5ICYmIGVycm9ycy5sZW5ndGhcIlxuICAgIHJvbGU9XCJhbGVydFwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGgyIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICB7eyAnZXJyb3JzLnN1bW1hcnkudGl0bGUnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICA8L2gyPlxuICAgIDx1bD5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnM7IHRyYWNrQnk6IHRyYWNrQnlFcnJvcjsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ2ZvZWhuLWVycm9yLXN1bW1hcnktbGlzdC1pdGVtLScgKyBpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2Nyb2xsVG9FcnJvcigkZXZlbnQsIGVycm9yLm5hbWUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImVycm9yLmNvbXBvbmVudExhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZXJyb3IubWVzc2FnZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9kaXY+XG4iXX0=
@@ -5,10 +5,10 @@ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
5
5
  import * as i0 from "@angular/core";
6
6
  export class FoehnValidationAlertSummaryModule {
7
7
  }
8
- FoehnValidationAlertSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- FoehnValidationAlertSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryModule, declarations: [FoehnValidationAlertSummaryComponent], imports: [CommonModule, SdkDictionaryModule], exports: [FoehnValidationAlertSummaryComponent] });
10
- FoehnValidationAlertSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryModule, imports: [[CommonModule, SdkDictionaryModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryModule, decorators: [{
8
+ FoehnValidationAlertSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ FoehnValidationAlertSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryModule, declarations: [FoehnValidationAlertSummaryComponent], imports: [CommonModule, SdkDictionaryModule], exports: [FoehnValidationAlertSummaryComponent] });
10
+ FoehnValidationAlertSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryModule, imports: [[CommonModule, SdkDictionaryModule]] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule, SdkDictionaryModule],
@@ -14,14 +14,11 @@ export class FoehnValidationAlertsComponent {
14
14
  return this.validationHandlerService.getMessage(this.component, error);
15
15
  }
16
16
  }
17
- FoehnValidationAlertsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertsComponent, deps: [{ token: i1.ValidationHandlerService }], target: i0.ɵɵFactoryTarget.Component });
18
- FoehnValidationAlertsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: { component: "component", shouldErrorsBeLive: "shouldErrorsBeLive" }, ngImport: i0, template: "<div\n [attr.id]=\"component.buildId() + 'ErrorsContainer'\"\n class=\"form-control-feedback text-danger\"\n [attr.role]=\"shouldErrorsBeLive ? 'alert' : null\"\n [attr.aria-live]=\"shouldErrorsBeLive ? 'assertive' : null\"\n [attr.aria-atomic]=\"shouldErrorsBeLive ? 'true' : null\"\n>\n <div\n *ngIf=\"component.hasErrorsToDisplay()\"\n [id]=\"component.buildId() + 'Errors'\"\n >\n <p *ngFor=\"let error of errorMessages\">\n <span class=\"sr-only\">Erreur:</span>\n <span [innerHTML]=\"getMessage(error)\"></span>\n </p>\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertsComponent, decorators: [{
17
+ FoehnValidationAlertsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertsComponent, deps: [{ token: i1.ValidationHandlerService }], target: i0.ɵɵFactoryTarget.Component });
18
+ FoehnValidationAlertsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: { component: "component", shouldErrorsBeLive: "shouldErrorsBeLive" }, ngImport: i0, template: "<div\n [attr.id]=\"component.buildId() + 'ErrorsContainer'\"\n class=\"form-control-feedback text-danger\"\n [attr.role]=\"shouldErrorsBeLive ? 'alert' : null\"\n [attr.aria-live]=\"shouldErrorsBeLive ? 'assertive' : null\"\n [attr.aria-atomic]=\"shouldErrorsBeLive ? 'true' : null\"\n>\n <div\n *ngIf=\"component.hasErrorsToDisplay()\"\n [id]=\"component.buildId() + 'Errors'\"\n >\n <p *ngFor=\"let error of errorMessages\">\n <span class=\"sr-only\">Erreur:</span>\n <span [innerHTML]=\"getMessage(error)\"></span>\n </p>\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertsComponent, decorators: [{
20
20
  type: Component,
21
- args: [{
22
- selector: 'foehn-validation-alerts',
23
- templateUrl: './foehn-validation-alerts.component.html'
24
- }]
21
+ args: [{ selector: 'foehn-validation-alerts', template: "<div\n [attr.id]=\"component.buildId() + 'ErrorsContainer'\"\n class=\"form-control-feedback text-danger\"\n [attr.role]=\"shouldErrorsBeLive ? 'alert' : null\"\n [attr.aria-live]=\"shouldErrorsBeLive ? 'assertive' : null\"\n [attr.aria-atomic]=\"shouldErrorsBeLive ? 'true' : null\"\n>\n <div\n *ngIf=\"component.hasErrorsToDisplay()\"\n [id]=\"component.buildId() + 'Errors'\"\n >\n <p *ngFor=\"let error of errorMessages\">\n <span class=\"sr-only\">Erreur:</span>\n <span [innerHTML]=\"getMessage(error)\"></span>\n </p>\n </div>\n</div>\n" }]
25
22
  }], ctorParameters: function () { return [{ type: i1.ValidationHandlerService }]; }, propDecorators: {
26
23
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
24
  component: [{
@@ -29,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
29
26
  }], shouldErrorsBeLive: [{
30
27
  type: Input
31
28
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdmFsaWRhdGlvbi1hbGVydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVNqRCxNQUFNLE9BQU8sOEJBQThCO0lBUXZDLFlBQW9CLHdCQUFrRDtRQUFsRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRnRFLHVCQUFrQixHQUFHLEtBQUssQ0FBQztJQUU4QyxDQUFDO0lBRTFFLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRSxDQUFDOzsySEFoQlEsOEJBQThCOytHQUE5Qiw4QkFBOEIsNklDVDNDLDJtQkFpQkE7MkZEUmEsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFdBQVcsRUFBRSwwQ0FBMEM7aUJBQzFEOztRQUdHLDhEQUE4RDtRQUM5RCxTQUFTO3NCQUZSLEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9laG5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvclRlbXBsYXRlIH0gZnJvbSAnLi4vZXJyb3ItdGVtcGxhdGUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tdmFsaWRhdGlvbi1hbGVydHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5WYWxpZGF0aW9uQWxlcnRzQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29tcG9uZW50OiBGb2VobklucHV0Q29tcG9uZW50PGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3VsZEVycm9yc0JlTGl2ZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2YWxpZGF0aW9uSGFuZGxlclNlcnZpY2U6IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSkge31cblxuICAgIGdldCBlcnJvck1lc3NhZ2VzKCk6IEVycm9yVGVtcGxhdGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5lcnJvcnM7XG4gICAgfVxuXG4gICAgZ2V0TWVzc2FnZShlcnJvcjogRXJyb3JUZW1wbGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5nZXRNZXNzYWdlKHRoaXMuY29tcG9uZW50LCBlcnJvcik7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIFthdHRyLmlkXT1cImNvbXBvbmVudC5idWlsZElkKCkgKyAnRXJyb3JzQ29udGFpbmVyJ1wiXG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZmVlZGJhY2sgdGV4dC1kYW5nZXJcIlxuICAgIFthdHRyLnJvbGVdPVwic2hvdWxkRXJyb3JzQmVMaXZlID8gJ2FsZXJ0JyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGl2ZV09XCJzaG91bGRFcnJvcnNCZUxpdmUgPyAnYXNzZXJ0aXZlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtYXRvbWljXT1cInNob3VsZEVycm9yc0JlTGl2ZSA/ICd0cnVlJyA6IG51bGxcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJjb21wb25lbnQuaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgICAgICBbaWRdPVwiY29tcG9uZW50LmJ1aWxkSWQoKSArICdFcnJvcnMnXCJcbiAgICA+XG4gICAgICAgIDxwICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvck1lc3NhZ2VzXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5FcnJldXI6PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJnZXRNZXNzYWdlKGVycm9yKVwiPjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdmFsaWRhdGlvbi1hbGVydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVNqRCxNQUFNLE9BQU8sOEJBQThCO0lBUXZDLFlBQW9CLHdCQUFrRDtRQUFsRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRnRFLHVCQUFrQixHQUFHLEtBQUssQ0FBQztJQUU4QyxDQUFDO0lBRTFFLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRSxDQUFDOzsySEFoQlEsOEJBQThCOytHQUE5Qiw4QkFBOEIsNklDVDNDLDJtQkFpQkE7MkZEUmEsOEJBQThCO2tCQUoxQyxTQUFTOytCQUNJLHlCQUF5Qjs7UUFLbkMsOERBQThEO1FBQzlELFNBQVM7c0JBRlIsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yVGVtcGxhdGUgfSBmcm9tICcuLi9lcnJvci10ZW1wbGF0ZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24taGFuZGxlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi12YWxpZGF0aW9uLWFsZXJ0cycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VoblZhbGlkYXRpb25BbGVydHNDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb21wb25lbnQ6IEZvZWhuSW5wdXRDb21wb25lbnQ8YW55PjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvdWxkRXJyb3JzQmVMaXZlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbGlkYXRpb25IYW5kbGVyU2VydmljZTogVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlKSB7fVxuXG4gICAgZ2V0IGVycm9yTWVzc2FnZXMoKTogRXJyb3JUZW1wbGF0ZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50LmVycm9ycztcbiAgICB9XG5cbiAgICBnZXRNZXNzYWdlKGVycm9yOiBFcnJvclRlbXBsYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLmdldE1lc3NhZ2UodGhpcy5jb21wb25lbnQsIGVycm9yKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgW2F0dHIuaWRdPVwiY29tcG9uZW50LmJ1aWxkSWQoKSArICdFcnJvcnNDb250YWluZXInXCJcbiAgICBjbGFzcz1cImZvcm0tY29udHJvbC1mZWVkYmFjayB0ZXh0LWRhbmdlclwiXG4gICAgW2F0dHIucm9sZV09XCJzaG91bGRFcnJvcnNCZUxpdmUgPyAnYWxlcnQnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1saXZlXT1cInNob3VsZEVycm9yc0JlTGl2ZSA/ICdhc3NlcnRpdmUnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1hdG9taWNdPVwic2hvdWxkRXJyb3JzQmVMaXZlID8gJ3RydWUnIDogbnVsbFwiXG4+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImNvbXBvbmVudC5oYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgICAgIFtpZF09XCJjb21wb25lbnQuYnVpbGRJZCgpICsgJ0Vycm9ycydcIlxuICAgID5cbiAgICAgICAgPHAgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVycm9yTWVzc2FnZXNcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPkVycmV1cjo8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImdldE1lc3NhZ2UoZXJyb3IpXCI+PC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==