geonetwork-ui 2.6.0-dev.10c659821 → 2.6.0-dev.14c46265d

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 (586) hide show
  1. package/README.md +2 -3
  2. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +11 -2
  3. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +3 -3
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +14 -11
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +3 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +4 -8
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +3 -6
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +14 -6
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -5
  11. package/esm2022/libs/api/metadata-converter/src/lib/translate-utils.mjs +17 -0
  12. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +4 -4
  13. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +17 -15
  14. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +3 -3
  15. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +8 -8
  16. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +14 -11
  17. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +17 -13
  18. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  19. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -31
  20. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +9 -8
  21. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +4 -4
  22. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -5
  23. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -3
  24. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +4 -4
  25. package/esm2022/libs/feature/editor/src/index.mjs +1 -4
  26. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  27. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +13 -7
  28. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  29. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +5 -1
  30. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +5 -7
  31. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +8 -13
  32. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +5 -6
  33. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +11 -9
  34. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +4 -13
  35. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +5 -5
  36. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.mjs +5 -8
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.mjs +4 -5
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +6 -10
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +9 -14
  40. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +4 -15
  41. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +4 -4
  42. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +4 -4
  43. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +4 -4
  44. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +4 -4
  45. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +4 -4
  46. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +4 -4
  47. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +6 -17
  48. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +4 -5
  49. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +12 -30
  50. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +1 -3
  51. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +5 -6
  52. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +11 -8
  53. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +11 -8
  54. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +11 -6
  55. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +10 -5
  56. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +3 -36
  57. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +5 -11
  58. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -6
  59. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +5 -5
  60. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +6 -7
  61. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +4 -5
  62. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +6 -7
  63. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +4 -4
  64. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +8 -22
  65. package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +5 -5
  66. package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +15 -7
  67. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +16 -8
  68. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +9 -6
  69. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +24 -27
  70. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +3 -3
  71. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -6
  72. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +8 -5
  73. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +6 -6
  74. package/esm2022/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.mjs +5 -7
  75. package/esm2022/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.mjs +4 -4
  76. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +5 -4
  77. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +4 -5
  78. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +4 -5
  79. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -5
  80. package/esm2022/libs/ui/dataviz/src/index.mjs +1 -2
  81. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +4 -4
  82. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -5
  83. package/esm2022/libs/ui/elements/src/index.mjs +2 -3
  84. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +6 -6
  85. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +5 -5
  86. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -3
  87. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +5 -3
  88. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +4 -5
  89. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +4 -4
  90. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +4 -5
  91. package/esm2022/libs/ui/elements/src/lib/external-link-card/external-link-card.component.mjs +59 -0
  92. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +5 -6
  93. package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +4 -5
  94. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +21 -54
  95. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +23 -21
  96. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +3 -6
  97. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -5
  98. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +4 -5
  99. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +6 -7
  100. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +6 -8
  101. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +4 -5
  102. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +7 -5
  103. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +6 -7
  104. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +5 -4
  105. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +4 -5
  106. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -4
  107. package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
  108. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +10 -13
  109. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -3
  110. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +7 -6
  111. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +29 -7
  112. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +4 -5
  113. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +5 -7
  114. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +4 -3
  115. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +12 -7
  116. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +7 -3
  117. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +4 -5
  118. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +3 -3
  119. package/esm2022/libs/ui/layout/src/index.mjs +1 -2
  120. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +3 -2
  121. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +18 -8
  122. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +4 -5
  123. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +4 -5
  124. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +4 -5
  125. package/esm2022/libs/ui/layout/src/lib/pagination/pagination.component.mjs +4 -5
  126. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -3
  127. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +5 -7
  128. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +4 -5
  129. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +6 -6
  130. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +16 -5
  131. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +3 -3
  132. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +5 -7
  133. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -12
  134. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +23 -24
  135. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  136. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +3 -3
  137. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +3 -3
  138. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  139. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  140. package/esm2022/libs/util/i18n/src/index.mjs +2 -3
  141. package/esm2022/libs/util/i18n/src/lib/embedded.translate.loader.mjs +3 -2
  142. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +36 -69
  143. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +10 -9
  144. package/esm2022/libs/util/i18n/src/lib/i18n.providers.mjs +41 -0
  145. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +40 -2
  146. package/esm2022/libs/util/shared/src/index.mjs +2 -2
  147. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +3 -2
  148. package/esm2022/libs/util/shared/src/lib/record.util.mjs +56 -0
  149. package/esm2022/translations/de.json +1 -16
  150. package/esm2022/translations/en.json +2 -17
  151. package/esm2022/translations/es.json +1 -16
  152. package/esm2022/translations/fr.json +6 -21
  153. package/esm2022/translations/it.json +1 -16
  154. package/esm2022/translations/nl.json +1 -16
  155. package/esm2022/translations/pt.json +1 -16
  156. package/esm2022/translations/sk.json +603 -0
  157. package/fesm2022/geonetwork-ui.mjs +10494 -10698
  158. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  159. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -1
  160. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +4 -4
  161. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  162. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  163. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  164. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  165. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  166. package/libs/api/metadata-converter/src/lib/translate-utils.d.ts +2 -0
  167. package/libs/api/metadata-converter/src/lib/translate-utils.d.ts.map +1 -0
  168. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
  169. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +8 -6
  170. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  171. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -2
  172. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  173. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts +1 -0
  174. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  175. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts +4 -4
  176. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  177. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +4 -3
  178. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  179. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -2
  180. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  181. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +4 -8
  182. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  183. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts +3 -3
  184. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
  185. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  186. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
  187. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  188. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  189. package/libs/feature/editor/src/index.d.ts +0 -3
  190. package/libs/feature/editor/src/index.d.ts.map +1 -1
  191. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +8 -1
  192. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  193. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +10 -12
  194. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  195. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +2 -1
  196. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  197. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  198. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +1 -1
  199. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  200. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts.map +1 -1
  201. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
  202. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
  203. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -1
  204. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  205. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  206. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts.map +1 -1
  207. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -1
  208. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  209. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  210. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
  211. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
  212. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  213. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  214. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  215. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  216. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  217. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +10 -17
  218. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  219. package/libs/feature/editor/src/lib/models/index.d.ts +0 -2
  220. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  221. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  222. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  223. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  224. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  225. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  226. package/libs/feature/map/src/lib/feature-map.module.d.ts +2 -11
  227. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  228. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  229. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  230. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  231. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  232. package/libs/feature/record/src/lib/feature-record.module.d.ts +8 -12
  233. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  234. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -1
  235. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -1
  236. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -5
  237. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  238. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +2 -1
  239. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  240. package/libs/feature/search/src/lib/feature-search.module.d.ts +24 -24
  241. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  242. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  243. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  244. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +2 -1
  245. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -1
  246. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts +1 -2
  247. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts.map +1 -1
  248. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts.map +1 -1
  249. package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -2
  250. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  251. package/libs/ui/dataviz/src/index.d.ts +0 -1
  252. package/libs/ui/dataviz/src/index.d.ts.map +1 -1
  253. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  254. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -1
  255. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  256. package/libs/ui/elements/src/index.d.ts +1 -2
  257. package/libs/ui/elements/src/index.d.ts.map +1 -1
  258. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  259. package/libs/ui/elements/src/lib/avatar/avatar.component.d.ts +1 -1
  260. package/libs/ui/elements/src/lib/avatar/avatar.component.d.ts.map +1 -1
  261. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +2 -0
  262. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -1
  263. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  264. package/libs/ui/elements/src/lib/{link-card/link-card.component.d.ts → external-link-card/external-link-card.component.d.ts} +4 -4
  265. package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts.map +1 -0
  266. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +3 -9
  267. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
  268. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +2 -1
  269. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -1
  270. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  271. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  272. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  273. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  274. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -1
  275. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -1
  276. package/libs/ui/elements/src/lib/user-preview/user-preview.component.d.ts +1 -1
  277. package/libs/ui/elements/src/lib/user-preview/user-preview.component.d.ts.map +1 -1
  278. package/libs/ui/inputs/src/index.d.ts +0 -1
  279. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  280. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +1 -2
  281. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  282. package/libs/ui/inputs/src/lib/checkbox/checkbox.component.d.ts +1 -1
  283. package/libs/ui/inputs/src/lib/checkbox/checkbox.component.d.ts.map +1 -1
  284. package/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.d.ts +1 -1
  285. package/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.d.ts.map +1 -1
  286. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts +1 -1
  287. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
  288. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
  289. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +1 -1
  290. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -1
  291. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -1
  292. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts +2 -1
  293. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  294. package/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.d.ts +1 -1
  295. package/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.d.ts.map +1 -1
  296. package/libs/ui/layout/src/index.d.ts +0 -1
  297. package/libs/ui/layout/src/index.d.ts.map +1 -1
  298. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +1 -1
  299. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  300. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +2 -1
  301. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  302. package/libs/ui/layout/src/lib/sticky-header/sticky-header.component.d.ts +1 -1
  303. package/libs/ui/layout/src/lib/sticky-header/sticky-header.component.d.ts.map +1 -1
  304. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +1 -1
  305. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -1
  306. package/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.d.ts +2 -0
  307. package/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.d.ts.map +1 -1
  308. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  309. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  310. package/libs/ui/search/src/lib/ui-search.module.d.ts +11 -11
  311. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  312. package/libs/ui/widgets/src/index.d.ts +0 -1
  313. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  314. package/libs/ui/widgets/src/lib/color-scale/color-scale.component.d.ts +1 -1
  315. package/libs/ui/widgets/src/lib/color-scale/color-scale.component.d.ts.map +1 -1
  316. package/libs/util/app-config/src/lib/app-config.d.ts +0 -1
  317. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  318. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  319. package/libs/util/app-config/src/lib/model.d.ts +1 -0
  320. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  321. package/libs/util/i18n/src/index.d.ts +1 -2
  322. package/libs/util/i18n/src/index.d.ts.map +1 -1
  323. package/libs/util/i18n/src/lib/embedded.translate.loader.d.ts +1 -1
  324. package/libs/util/i18n/src/lib/embedded.translate.loader.d.ts.map +1 -1
  325. package/libs/util/i18n/src/lib/i18n.constants.d.ts +6 -16
  326. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  327. package/libs/util/i18n/src/lib/i18n.interceptor.d.ts +5 -5
  328. package/libs/util/i18n/src/lib/i18n.interceptor.d.ts.map +1 -1
  329. package/libs/util/i18n/src/lib/i18n.providers.d.ts +4 -0
  330. package/libs/util/i18n/src/lib/i18n.providers.d.ts.map +1 -0
  331. package/libs/util/i18n/src/lib/language-codes.d.ts +3 -29
  332. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  333. package/libs/util/shared/src/index.d.ts +1 -1
  334. package/libs/util/shared/src/index.d.ts.map +1 -1
  335. package/libs/util/shared/src/lib/image-fallback.directive.d.ts +1 -1
  336. package/libs/util/shared/src/lib/image-fallback.directive.d.ts.map +1 -1
  337. package/libs/util/shared/src/lib/record.util.d.ts +3 -0
  338. package/libs/util/shared/src/lib/record.util.d.ts.map +1 -0
  339. package/package.json +3 -3
  340. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +10 -1
  341. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +2 -2
  342. package/src/libs/api/metadata-converter/src/lib/fixtures/metadata-for-i18n.records.ts +4196 -0
  343. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +12 -6
  344. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +4 -4
  345. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +3 -7
  346. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -6
  347. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +14 -8
  348. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +3 -3
  349. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +5 -7
  350. package/src/libs/api/metadata-converter/src/lib/translate-utils.ts +17 -0
  351. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +3 -6
  352. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +13 -5
  353. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +4 -3
  354. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +8 -7
  355. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +13 -6
  356. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +13 -20
  357. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +6 -2
  358. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +52 -0
  359. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +4 -17
  360. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +7 -3
  361. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +2 -2
  362. package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +2 -2
  363. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +4 -2
  364. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -2
  365. package/src/libs/feature/editor/src/index.ts +0 -3
  366. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +9 -1
  367. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +23 -12
  368. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +13 -1
  369. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +9 -1
  370. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +3 -4
  371. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +5 -16
  372. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +7 -5
  373. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +16 -10
  374. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +2 -10
  375. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +3 -2
  376. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.ts +3 -4
  377. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +2 -2
  378. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +4 -11
  379. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +6 -9
  380. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +2 -17
  381. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +2 -2
  382. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +2 -2
  383. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +2 -2
  384. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +2 -2
  385. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  386. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +2 -2
  387. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +2 -2
  388. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +2 -15
  389. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +2 -2
  390. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +4 -17
  391. package/src/libs/feature/editor/src/lib/models/index.ts +0 -2
  392. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +2 -1
  393. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +8 -3
  394. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -3
  395. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +8 -2
  396. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +8 -2
  397. package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -17
  398. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +3 -8
  399. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +3 -2
  400. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +5 -4
  401. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -2
  402. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +2 -2
  403. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +2 -2
  404. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +2 -2
  405. package/src/libs/feature/record/src/lib/feature-record.module.ts +4 -13
  406. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +4 -3
  407. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +10 -4
  408. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +17 -4
  409. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -0
  410. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +4 -3
  411. package/src/libs/feature/search/src/lib/feature-search.module.ts +13 -18
  412. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +4 -0
  413. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +1 -0
  414. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +2 -1
  415. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.ts +10 -4
  416. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +2 -2
  417. package/src/libs/feature/search/src/lib/utils/service/fields.ts +4 -3
  418. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  419. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +2 -2
  420. package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +2 -2
  421. package/src/libs/ui/dataviz/src/index.ts +0 -1
  422. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +2 -2
  423. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +0 -1
  424. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +4 -0
  425. package/src/libs/ui/elements/src/index.ts +1 -2
  426. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +3 -2
  427. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +6 -6
  428. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +2 -2
  429. package/src/libs/ui/elements/src/lib/avatar/avatar.component.ts +3 -0
  430. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +6 -2
  431. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +5 -1
  432. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
  433. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +2 -5
  434. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -2
  435. package/src/libs/ui/elements/src/lib/{link-card/link-card.component.ts → external-link-card/external-link-card.component.ts} +6 -6
  436. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +3 -3
  437. package/src/libs/ui/elements/src/lib/image-input/image-input.component.ts +2 -2
  438. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +66 -62
  439. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.scss +115 -0
  440. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +29 -62
  441. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +6 -2
  442. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +17 -15
  443. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -4
  444. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +2 -2
  445. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +2 -2
  446. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +4 -7
  447. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +20 -22
  448. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +3 -4
  449. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +2 -2
  450. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +4 -2
  451. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +4 -4
  452. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +7 -2
  453. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
  454. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.ts +4 -0
  455. package/src/libs/ui/inputs/src/index.ts +0 -1
  456. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +2 -2
  457. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +6 -9
  458. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.ts +3 -0
  459. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.html +1 -1
  460. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.ts +4 -0
  461. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +27 -0
  462. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +2 -2
  463. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +3 -4
  464. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +3 -0
  465. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +9 -3
  466. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +0 -1
  467. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +5 -1
  468. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +3 -1
  469. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +2 -2
  470. package/src/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.ts +1 -0
  471. package/src/libs/ui/layout/src/index.ts +0 -1
  472. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +1 -0
  473. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +1 -2
  474. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +15 -5
  475. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +2 -2
  476. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +2 -2
  477. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.ts +2 -2
  478. package/src/libs/ui/layout/src/lib/pagination/pagination.component.ts +2 -2
  479. package/src/libs/ui/layout/src/lib/sticky-header/sticky-header.component.ts +3 -0
  480. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +3 -10
  481. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +2 -2
  482. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +4 -1
  483. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +1 -1
  484. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.ts +14 -1
  485. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +3 -4
  486. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +0 -2
  487. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +21 -8
  488. package/src/libs/ui/search/src/lib/ui-search.module.ts +12 -11
  489. package/src/libs/ui/widgets/src/index.ts +0 -1
  490. package/src/libs/ui/widgets/src/lib/color-scale/color-scale.component.ts +1 -0
  491. package/src/libs/util/app-config/src/lib/app-config.ts +3 -2
  492. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  493. package/src/libs/util/app-config/src/lib/model.ts +1 -0
  494. package/src/libs/util/i18n/src/index.ts +1 -2
  495. package/src/libs/util/i18n/src/lib/embedded.translate.loader.ts +4 -3
  496. package/src/libs/util/i18n/src/lib/i18n.constants.ts +39 -71
  497. package/src/libs/util/i18n/src/lib/i18n.interceptor.ts +11 -9
  498. package/src/libs/util/i18n/src/lib/i18n.providers.ts +68 -0
  499. package/src/libs/util/i18n/src/lib/language-codes.ts +44 -1
  500. package/src/libs/util/shared/src/index.ts +1 -1
  501. package/src/libs/util/shared/src/lib/image-fallback.directive.ts +1 -0
  502. package/src/libs/util/shared/src/lib/record.util.ts +114 -0
  503. package/tailwind.base.css +1 -1
  504. package/translations/de.json +1 -16
  505. package/translations/en.json +2 -17
  506. package/translations/es.json +1 -16
  507. package/translations/fr.json +6 -21
  508. package/translations/it.json +1 -16
  509. package/translations/nl.json +1 -16
  510. package/translations/pt.json +1 -16
  511. package/translations/sk.json +1 -16
  512. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +0 -44
  513. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +0 -75
  514. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +0 -160
  515. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +0 -53
  516. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.model.mjs +0 -2
  517. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +0 -8
  518. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +0 -87
  519. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +0 -47
  520. package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +0 -59
  521. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +0 -60
  522. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +0 -134
  523. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +0 -160
  524. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +0 -23
  525. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +0 -46
  526. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +0 -31
  527. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +0 -37
  528. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +0 -18
  529. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +0 -14
  530. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +0 -1
  531. package/libs/feature/editor/src/lib/components/wizard/wizard.component.d.ts +0 -31
  532. package/libs/feature/editor/src/lib/components/wizard/wizard.component.d.ts.map +0 -1
  533. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +0 -43
  534. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +0 -1
  535. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +0 -17
  536. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +0 -1
  537. package/libs/feature/editor/src/lib/models/wizard-field.model.d.ts +0 -10
  538. package/libs/feature/editor/src/lib/models/wizard-field.model.d.ts.map +0 -1
  539. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +0 -7
  540. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +0 -1
  541. package/libs/feature/editor/src/lib/services/wizard.service.d.ts +0 -33
  542. package/libs/feature/editor/src/lib/services/wizard.service.d.ts.map +0 -1
  543. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +0 -11
  544. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +0 -1
  545. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +0 -14
  546. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +0 -1
  547. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +0 -1
  548. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +0 -32
  549. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +0 -1
  550. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +0 -35
  551. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +0 -1
  552. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +0 -12
  553. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +0 -1
  554. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +0 -15
  555. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +0 -1
  556. package/libs/util/i18n/src/lib/lang.service.d.ts +0 -13
  557. package/libs/util/i18n/src/lib/lang.service.d.ts.map +0 -1
  558. package/libs/util/i18n/src/lib/util-i18n.module.d.ts +0 -12
  559. package/libs/util/i18n/src/lib/util-i18n.module.d.ts.map +0 -1
  560. package/libs/util/shared/src/lib/util-shared.module.d.ts +0 -9
  561. package/libs/util/shared/src/lib/util-shared.module.d.ts.map +0 -1
  562. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.css +0 -5
  563. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +0 -22
  564. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.ts +0 -93
  565. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.css +0 -31
  566. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -62
  567. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -206
  568. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.css +0 -3
  569. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.html +0 -21
  570. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +0 -58
  571. package/src/libs/feature/editor/src/lib/models/wizard-field.model.ts +0 -10
  572. package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -6
  573. package/src/libs/feature/editor/src/lib/services/wizard.service.ts +0 -105
  574. package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +0 -27
  575. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +0 -69
  576. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +0 -61
  577. package/src/libs/ui/elements/src/lib/link-card/link-card.component.css +0 -0
  578. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +0 -74
  579. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -96
  580. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -14
  581. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -25
  582. package/src/libs/util/i18n/src/lib/lang.service.ts +0 -23
  583. package/src/libs/util/i18n/src/lib/util-i18n.module.ts +0 -26
  584. package/src/libs/util/shared/src/lib/util-shared.module.ts +0 -10
  585. /package/src/libs/ui/elements/src/lib/{internal-link-card/internal-link-card.component.css → external-link-card/external-link-card.component.css} +0 -0
  586. /package/src/libs/ui/elements/src/lib/{link-card/link-card.component.html → external-link-card/external-link-card.component.html} +0 -0
@@ -5,7 +5,7 @@ import { PlatformServiceInterface } from '../../../../../../../../../libs/common
5
5
  import { NotificationsService } from '../../../../../../../../../libs/feature/notifications/src';
6
6
  import { FileInputComponent, TextAreaComponent, TextInputComponent, UrlInputComponent, } from '../../../../../../../../../libs/ui/inputs/src';
7
7
  import { ModalDialogComponent, SortableListComponent, } from '../../../../../../../../../libs/ui/layout/src';
8
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
8
+ import { TranslateDirective, TranslateService } from '@ngx-translate/core';
9
9
  import { MAX_UPLOAD_SIZE_MB } from '../../../../fields.config';
10
10
  import { OnlineResourceCardComponent } from '../../../online-resource-card/online-resource-card.component';
11
11
  import * as i0 from "@angular/core";
@@ -124,7 +124,7 @@ export class FormFieldOnlineLinkResourcesComponent {
124
124
  });
125
125
  }
126
126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineLinkResourcesComponent, deps: [{ token: i1.NotificationsService }, { token: i2.TranslateService }, { token: i3.PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineLinkResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-link-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FileInputComponent, selector: "gn-ui-file-input", inputs: ["maxSizeMB", "uploadProgress", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: OnlineResourceCardComponent, selector: "gn-ui-online-resource-card", inputs: ["onlineResource"], outputs: ["modifyClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton", "resetUrlOnChange"], outputs: ["valueChange", "uploadClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineLinkResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-link-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FileInputComponent, selector: "gn-ui-file-input", inputs: ["maxSizeMB", "uploadProgress", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: OnlineResourceCardComponent, selector: "gn-ui-online-resource-card", inputs: ["onlineResource"], outputs: ["modifyClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton", "resetUrlOnChange"], outputs: ["valueChange", "uploadClick"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
128
  }
129
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineLinkResourcesComponent, decorators: [{
130
130
  type: Component,
@@ -136,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
136
136
  TextInputComponent,
137
137
  TextAreaComponent,
138
138
  UrlInputComponent,
139
- TranslateModule,
139
+ TranslateDirective,
140
140
  ], template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n" }]
141
141
  }], ctorParameters: () => [{ type: i1.NotificationsService }, { type: i2.TranslateService }, { type: i3.PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: i4.MatDialog }], propDecorators: { metadataUuid: [{
142
142
  type: Input
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
148
148
  type: ViewChild,
149
149
  args: ['dialogTemplate']
150
150
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1vbmxpbmUtbGluay1yZXNvdXJjZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtb25saW5lLWxpbmstcmVzb3VyY2VzL2Zvcm0tZmllbGQtb25saW5lLWxpbmstcmVzb3VyY2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFLcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0ZBQWtGLENBQUE7QUFDM0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDaEcsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGlCQUFpQixHQUNsQixNQUFNLCtDQUErQyxDQUFBO0FBQ3RELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sK0NB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QUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztnQkFDckQsR0FBRyxRQUFRO2FBQ1osQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDOytHQTFJVSxxQ0FBcUM7bUdBQXJDLHFDQUFxQyx1VENsRGxELG1yREFnREEsMEREUkksa0JBQWtCLHVLQUNsQixZQUFZLCtCQUNaLHFCQUFxQixxSUFDckIsMkJBQTJCLDZIQUMzQixrQkFBa0IsK0pBQ2xCLGlCQUFpQiw4SkFDakIsaUJBQWlCLDBNQUNqQixlQUFlOzs0RkFHTixxQ0FBcUM7a0JBakJqRCxTQUFTOytCQUNFLHdDQUF3QyxtQkFHakMsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsMkJBQTJCO3dCQUMzQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixlQUFlO3FCQUNoQjt1TkFHUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBTUksV0FBVztzQkFBcEIsTUFBTTtnQkFHc0IsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJ1xuaW1wb3J0IHtcbiAgT25saW5lTGlua1Jlc291cmNlLFxuICBPbmxpbmVSZXNvdXJjZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9ub3RpZmljYXRpb25zL3NyYydcbmltcG9ydCB7XG4gIEZpbGVJbnB1dENvbXBvbmVudCxcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVXJsSW5wdXRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7XG4gIE1vZGFsRGlhbG9nQ29tcG9uZW50LFxuICBTb3J0YWJsZUxpc3RDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTUFYX1VQTE9BRF9TSVpFX01CIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzLmNvbmZpZydcbmltcG9ydCB7IE9ubGluZVJlc291cmNlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL29ubGluZS1yZXNvdXJjZS1jYXJkL29ubGluZS1yZXNvdXJjZS1jYXJkLmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1vbmxpbmUtbGluay1yZXNvdXJjZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC1vbmxpbmUtbGluay1yZXNvdXJjZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRmlsZUlucHV0Q29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTb3J0YWJsZUxpc3RDb21wb25lbnQsXG4gICAgT25saW5lUmVzb3VyY2VDYXJkQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgICBVcmxJbnB1dENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZE9ubGluZUxpbmtSZXNvdXJjZXNDb21wb25lbnQge1xuICBASW5wdXQoKSBtZXRhZGF0YVV1aWQ6IHN0cmluZ1xuICBASW5wdXQoKSBzZXQgdmFsdWUob25saW5lUmVzb3VyY2VzOiBBcnJheTxPbmxpbmVSZXNvdXJjZT4pIHtcbiAgICB0aGlzLmFsbFJlc291cmNlcyA9IG9ubGluZVJlc291cmNlc1xuICAgIHRoaXMubGlua1Jlc291cmNlcyA9IG9ubGluZVJlc291cmNlcy5maWx0ZXIoXG4gICAgICAocmVzKTogcmVzIGlzIE9ubGluZUxpbmtSZXNvdXJjZSA9PiByZXMudHlwZSA9PT0gJ2xpbmsnXG4gICAgKVxuICB9XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFycmF5PE9ubGluZVJlc291cmNlPj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ1RlbXBsYXRlJykgZGlhbG9nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPE9ubGluZVJlc291cmNlPlxuXG4gIHByaXZhdGUgYWxsUmVzb3VyY2VzOiBPbmxpbmVSZXNvdXJjZVtdID0gW11cbiAgbGlua1Jlc291cmNlczogT25saW5lTGlua1Jlc291cmNlW10gPSBbXVxuICB1cGxvYWRQcm9ncmVzcz86IG51bWJlciA9IHVuZGVmaW5lZFxuICB1cGxvYWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGxcblxuICBwcm90ZWN0ZWQgTUFYX1VQTE9BRF9TSVpFX01CID0gTUFYX1VQTE9BRF9TSVpFX01CXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1xuICApIHt9XG5cbiAgaGFuZGxlRmlsZUNoYW5nZShmaWxlOiBGaWxlKSB7XG4gICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IDBcbiAgICB0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbiA9IHRoaXMucGxhdGZvcm1TZXJ2aWNlXG4gICAgICAuYXR0YWNoRmlsZVRvUmVjb3JkKHRoaXMubWV0YWRhdGFVdWlkLCBmaWxlKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSAncHJvZ3Jlc3MnKSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gZXZlbnQucHJvZ3Jlc3NcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSB1bmRlZmluZWRcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgICBjb25zdCBuZXdSZXNvdXJjZTogT25saW5lTGlua1Jlc291cmNlID0ge1xuICAgICAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgICAgIHVybDogbmV3IFVSTChldmVudC5hdHRhY2htZW50LnVybCksXG4gICAgICAgICAgICAgIG5hbWU6IGV2ZW50LmF0dGFjaG1lbnQuZmlsZU5hbWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoWy4uLnRoaXMuYWxsUmVzb3VyY2VzLCBuZXdSZXNvdXJjZV0pXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yOiBFcnJvcikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciksXG4gICAgICB9KVxuICB9XG5cbiAgaGFuZGxlVXBsb2FkQ2FuY2VsKCkge1xuICAgIGlmICh0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICAgICAgdGhpcy51cGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVVybENoYW5nZSh1cmw6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBuYW1lID0gdXJsLnNwbGl0KCcvJykucG9wKClcbiAgICAgIGNvbnN0IG5ld0xpbms6IE9ubGluZUxpbmtSZXNvdXJjZSA9IHtcbiAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICB1cmw6IG5ldyBVUkwodXJsKSxcbiAgICAgICAgbmFtZSxcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChbLi4udGhpcy5hbGxSZXNvdXJjZXMsIG5ld0xpbmtdKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZSBhcyBFcnJvcilcbiAgICB9XG4gIH1cblxuICBoYW5kbGVSZXNvdXJjZXNDaGFuZ2UoaXRlbXM6IHVua25vd25bXSkge1xuICAgIGNvbnN0IGxpbmtzID0gaXRlbXMgYXMgT25saW5lUmVzb3VyY2VbXVxuICAgIGNvbnN0IG5ld1Jlc291cmNlcyA9IFtcbiAgICAgIC4uLnRoaXMuYWxsUmVzb3VyY2VzLmZpbHRlcigocikgPT4gci50eXBlICE9PSAnbGluaycpLFxuICAgICAgLi4ubGlua3MsXG4gICAgXVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdSZXNvdXJjZXMpXG4gIH1cblxuICBoYW5kbGVSZXNvdXJjZU1vZGlmeShyZXNvdXJjZTogT25saW5lTGlua1Jlc291cmNlLCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5vcGVuRWRpdERpYWxvZyhyZXNvdXJjZSwgaW5kZXgpXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvcikge1xuICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSB1bmRlZmluZWRcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICdlZGl0b3IucmVjb3JkLm9ubGluZVJlc291cmNlRXJyb3IudGl0bGUnXG4gICAgICAgICksXG4gICAgICAgIHRleHQ6IGAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICdlZGl0b3IucmVjb3JkLm9ubGluZVJlc291cmNlRXJyb3IuYm9keSdcbiAgICAgICAgKX0gJHtlcnJvci5tZXNzYWdlfWAsXG4gICAgICAgIGNsb3NlTWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2VFcnJvci5jbG9zZU1lc3NhZ2UnXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZXJyb3JcbiAgICApXG4gIH1cblxuICBwcml2YXRlIG9wZW5FZGl0RGlhbG9nKHJlc291cmNlOiBPbmxpbmVMaW5rUmVzb3VyY2UsIGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCByZXNvdXJjZUNvcHkgPSB7XG4gICAgICAuLi5yZXNvdXJjZSxcbiAgICB9XG4gICAgdGhpcy5kaWFsb2dcbiAgICAgIC5vcGVuKE1vZGFsRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgIHdpZHRoOiAnODAwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5kaWFsb2dUaXRsZSdcbiAgICAgICAgICApLFxuICAgICAgICAgIGJvZHk6IHRoaXMuZGlhbG9nVGVtcGxhdGUsXG4gICAgICAgICAgYm9keUNvbnRleHQ6IHJlc291cmNlQ29weSxcbiAgICAgICAgICBjb25maXJtVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmNvbmZpcm0nXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuY2FuY2VsJ1xuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpcm1lZDogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIWNvbmZpcm1lZCkgcmV0dXJuXG4gICAgICAgIGNvbnN0IG5ld0xpbmtzID0gWy4uLnRoaXMubGlua1Jlc291cmNlc11cbiAgICAgICAgbmV3TGlua3Muc3BsaWNlKGluZGV4LCAxLCByZXNvdXJjZUNvcHkpXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChbXG4gICAgICAgICAgLi4udGhpcy5hbGxSZXNvdXJjZXMuZmlsdGVyKChyKSA9PiByLnR5cGUgIT09ICdsaW5rJyksXG4gICAgICAgICAgLi4ubmV3TGlua3MsXG4gICAgICAgIF0pXG4gICAgICB9KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICA8Z24tdWktZmlsZS1pbnB1dFxuICAgIFttYXhTaXplTUJdPVwiTUFYX1VQTE9BRF9TSVpFX01CXCJcbiAgICAoZmlsZUNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICh1cGxvYWRDYW5jZWwpPVwiaGFuZGxlVXBsb2FkQ2FuY2VsKClcIlxuICAgIFt1cGxvYWRQcm9ncmVzc109XCJ1cGxvYWRQcm9ncmVzc1wiXG4gICAgKHVybENoYW5nZSk9XCJoYW5kbGVVcmxDaGFuZ2UoJGV2ZW50KVwiXG4gID48L2duLXVpLWZpbGUtaW5wdXQ+XG4gIDxkaXYgY2xhc3M9XCJoLVs4cHhdXCI+PC9kaXY+XG4gIDxnbi11aS1zb3J0YWJsZS1saXN0XG4gICAgW2l0ZW1zXT1cImxpbmtSZXNvdXJjZXNcIlxuICAgIChpdGVtc09yZGVyQ2hhbmdlKT1cImhhbmRsZVJlc291cmNlc0NoYW5nZSgkZXZlbnQpXCJcbiAgICBbZWxlbWVudFRlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgPlxuICA8L2duLXVpLXNvcnRhYmxlLWxpc3Q+XG4gIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LW9ubGluZVJlc291cmNlIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgPGduLXVpLW9ubGluZS1yZXNvdXJjZS1jYXJkXG4gICAgICBbb25saW5lUmVzb3VyY2VdPVwib25saW5lUmVzb3VyY2VcIlxuICAgICAgKG1vZGlmeUNsaWNrKT1cImhhbmRsZVJlc291cmNlTW9kaWZ5KG9ubGluZVJlc291cmNlLCBpbmRleClcIlxuICAgID48L2duLXVpLW9ubGluZS1yZXNvdXJjZS1jYXJkPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGlhbG9nVGVtcGxhdGUgbGV0LW9ubGluZVJlc291cmNlPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC1bMTZweF1cIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMyBjbGFzcz1cInRleHQtWzE2cHhdIGZvbnQtYm9sZCB0ZXh0LW1haW4gbWItWzEycHhdXCIgdHJhbnNsYXRlPlxuICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LnRpdGxlXG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxnbi11aS10ZXh0LWlucHV0IFsodmFsdWUpXT1cIm9ubGluZVJlc291cmNlLm5hbWVcIj48L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMyBjbGFzcz1cInRleHQtWzE2cHhdIGZvbnQtYm9sZCB0ZXh0LW1haW4gbWItWzEycHhdXCIgdHJhbnNsYXRlPlxuICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmRlc2NyaXB0aW9uXG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxnbi11aS10ZXh0LWFyZWFcbiAgICAgICAgICBbKHZhbHVlKV09XCJvbmxpbmVSZXNvdXJjZS5kZXNjcmlwdGlvblwiXG4gICAgICAgID48L2duLXVpLXRleHQtYXJlYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJ3LWZ1bGwgYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwXCI+PC9zcGFuPlxuICAgICAgPGduLXVpLXVybC1pbnB1dFxuICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9ubGluZVJlc291cmNlLnVybFwiXG4gICAgICAgIFtzaG93VmFsaWRhdGVCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgPjwvZ24tdWktdXJsLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1vbmxpbmUtbGluay1yZXNvdXJjZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtb25saW5lLWxpbmstcmVzb3VyY2VzL2Zvcm0tZmllbGQtb25saW5lLWxpbmstcmVzb3VyY2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFLcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0ZBQWtGLENBQUE7QUFDM0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDaEcsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGlCQUFpQixHQUNsQixNQUFNLCtDQUErQyxDQUFBO0FBQ3RELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sK0NBQStDLENBQUE7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOERBQThELENBQUE7Ozs7OztBQW1CMUcsTUFBTSxPQUFPLHFDQUFxQztJQUVoRCxJQUFhLEtBQUssQ0FBQyxlQUFzQztRQUN2RCxJQUFJLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQTtRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQ3pDLENBQUMsR0FBRyxFQUE2QixFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLENBQ3hELENBQUE7SUFDSCxDQUFDO0lBYUQsWUFDVSxvQkFBMEMsRUFDMUMsZ0JBQWtDLEVBQ2xDLGVBQXlDLEVBQ3pDLEVBQXFCLEVBQ3JCLE1BQWlCO1FBSmpCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDekMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQWpCakIsZ0JBQVcsR0FDbkIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUlaLGlCQUFZLEdBQXFCLEVBQUUsQ0FBQTtRQUMzQyxrQkFBYSxHQUF5QixFQUFFLENBQUE7UUFDeEMsbUJBQWMsR0FBWSxTQUFTLENBQUE7UUFDbkMsdUJBQWtCLEdBQWlCLElBQUksQ0FBQTtRQUU3Qix1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQTtJQVE5QyxDQUFDO0lBRUosZ0JBQWdCLENBQUMsSUFBVTtRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQTtRQUN2QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWU7YUFDM0Msa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7YUFDM0MsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO29CQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUE7b0JBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7Z0JBQ3pCLENBQUM7cUJBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQTtvQkFDL0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtvQkFDdkIsTUFBTSxXQUFXLEdBQXVCO3dCQUN0QyxJQUFJLEVBQUUsTUFBTTt3QkFDWixHQUFHLEVBQUUsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7d0JBQ2xDLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVE7cUJBQ2hDLENBQUE7b0JBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQTtnQkFDNUQsQ0FBQztZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1NBQ2pELENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQTtZQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsR0FBVztRQUN6QixJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFBO1lBQ2pDLE1BQU0sT0FBTyxHQUF1QjtnQkFDbEMsSUFBSSxFQUFFLE1BQU07Z0JBQ1osR0FBRyxFQUFFLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQztnQkFDakIsSUFBSTthQUNMLENBQUE7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ3hELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFVLENBQUMsQ0FBQTtRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQWdCO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLEtBQXlCLENBQUE7UUFDdkMsTUFBTSxZQUFZLEdBQUc7WUFDbkIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7WUFDckQsR0FBRyxLQUFLO1NBQ1QsQ0FBQTtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxRQUE0QixFQUFFLEtBQWE7UUFDOUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFBO1FBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUN4QztZQUNFLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQ2xDLHlDQUF5QyxDQUMxQztZQUNELElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQ3BDLHdDQUF3QyxDQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDcEIsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQ3pDLGdEQUFnRCxDQUNqRDtTQUNGLEVBQ0QsU0FBUyxFQUNULEtBQUssQ0FDTixDQUFBO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUE0QixFQUFFLEtBQWE7UUFDaEUsTUFBTSxZQUFZLEdBQUc7WUFDbkIsR0FBRyxRQUFRO1NBQ1osQ0FBQTtRQUNELElBQUksQ0FBQyxNQUFNO2FBQ1IsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzFCLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUNsQyxxREFBcUQsQ0FDdEQ7Z0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUN6QixXQUFXLEVBQUUsWUFBWTtnQkFDekIsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQ3hDLGlEQUFpRCxDQUNsRDtnQkFDRCxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDdkMsZ0RBQWdELENBQ2pEO2FBQ0Y7U0FDRixDQUFDO2FBQ0QsV0FBVyxFQUFFO2FBQ2IsU0FBUyxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxTQUFTO2dCQUFFLE9BQU07WUFDdEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUN4QyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO2dCQUNyRCxHQUFHLFFBQVE7YUFDWixDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7K0dBMUlVLHFDQUFxQzttR0FBckMscUNBQXFDLHVUQ2xEbEQsbXJEQWdEQSwwRERSSSxrQkFBa0IsdUtBQ2xCLFlBQVksK0JBQ1oscUJBQXFCLHFJQUNyQiwyQkFBMkIsNkhBQzNCLGtCQUFrQiwrSkFDbEIsaUJBQWlCLDhKQUNqQixpQkFBaUIsMk1BQ2pCLGtCQUFrQjs7NEZBR1QscUNBQXFDO2tCQWpCakQsU0FBUzsrQkFDRSx3Q0FBd0MsbUJBR2pDLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0Isa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNuQjt1TkFHUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBTUksV0FBVztzQkFBcEIsTUFBTTtnQkFHc0IsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJ1xuaW1wb3J0IHtcbiAgT25saW5lTGlua1Jlc291cmNlLFxuICBPbmxpbmVSZXNvdXJjZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9ub3RpZmljYXRpb25zL3NyYydcbmltcG9ydCB7XG4gIEZpbGVJbnB1dENvbXBvbmVudCxcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVXJsSW5wdXRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7XG4gIE1vZGFsRGlhbG9nQ29tcG9uZW50LFxuICBTb3J0YWJsZUxpc3RDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZURpcmVjdGl2ZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTUFYX1VQTE9BRF9TSVpFX01CIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzLmNvbmZpZydcbmltcG9ydCB7IE9ubGluZVJlc291cmNlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL29ubGluZS1yZXNvdXJjZS1jYXJkL29ubGluZS1yZXNvdXJjZS1jYXJkLmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1vbmxpbmUtbGluay1yZXNvdXJjZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC1vbmxpbmUtbGluay1yZXNvdXJjZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLW9ubGluZS1saW5rLXJlc291cmNlcy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRmlsZUlucHV0Q29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTb3J0YWJsZUxpc3RDb21wb25lbnQsXG4gICAgT25saW5lUmVzb3VyY2VDYXJkQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgICBVcmxJbnB1dENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZE9ubGluZUxpbmtSZXNvdXJjZXNDb21wb25lbnQge1xuICBASW5wdXQoKSBtZXRhZGF0YVV1aWQ6IHN0cmluZ1xuICBASW5wdXQoKSBzZXQgdmFsdWUob25saW5lUmVzb3VyY2VzOiBBcnJheTxPbmxpbmVSZXNvdXJjZT4pIHtcbiAgICB0aGlzLmFsbFJlc291cmNlcyA9IG9ubGluZVJlc291cmNlc1xuICAgIHRoaXMubGlua1Jlc291cmNlcyA9IG9ubGluZVJlc291cmNlcy5maWx0ZXIoXG4gICAgICAocmVzKTogcmVzIGlzIE9ubGluZUxpbmtSZXNvdXJjZSA9PiByZXMudHlwZSA9PT0gJ2xpbmsnXG4gICAgKVxuICB9XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFycmF5PE9ubGluZVJlc291cmNlPj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ1RlbXBsYXRlJykgZGlhbG9nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPE9ubGluZVJlc291cmNlPlxuXG4gIHByaXZhdGUgYWxsUmVzb3VyY2VzOiBPbmxpbmVSZXNvdXJjZVtdID0gW11cbiAgbGlua1Jlc291cmNlczogT25saW5lTGlua1Jlc291cmNlW10gPSBbXVxuICB1cGxvYWRQcm9ncmVzcz86IG51bWJlciA9IHVuZGVmaW5lZFxuICB1cGxvYWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGxcblxuICBwcm90ZWN0ZWQgTUFYX1VQTE9BRF9TSVpFX01CID0gTUFYX1VQTE9BRF9TSVpFX01CXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1xuICApIHt9XG5cbiAgaGFuZGxlRmlsZUNoYW5nZShmaWxlOiBGaWxlKSB7XG4gICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IDBcbiAgICB0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbiA9IHRoaXMucGxhdGZvcm1TZXJ2aWNlXG4gICAgICAuYXR0YWNoRmlsZVRvUmVjb3JkKHRoaXMubWV0YWRhdGFVdWlkLCBmaWxlKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSAncHJvZ3Jlc3MnKSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gZXZlbnQucHJvZ3Jlc3NcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSB1bmRlZmluZWRcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgICBjb25zdCBuZXdSZXNvdXJjZTogT25saW5lTGlua1Jlc291cmNlID0ge1xuICAgICAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgICAgIHVybDogbmV3IFVSTChldmVudC5hdHRhY2htZW50LnVybCksXG4gICAgICAgICAgICAgIG5hbWU6IGV2ZW50LmF0dGFjaG1lbnQuZmlsZU5hbWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoWy4uLnRoaXMuYWxsUmVzb3VyY2VzLCBuZXdSZXNvdXJjZV0pXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yOiBFcnJvcikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciksXG4gICAgICB9KVxuICB9XG5cbiAgaGFuZGxlVXBsb2FkQ2FuY2VsKCkge1xuICAgIGlmICh0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICAgICAgdGhpcy51cGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVVybENoYW5nZSh1cmw6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBuYW1lID0gdXJsLnNwbGl0KCcvJykucG9wKClcbiAgICAgIGNvbnN0IG5ld0xpbms6IE9ubGluZUxpbmtSZXNvdXJjZSA9IHtcbiAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICB1cmw6IG5ldyBVUkwodXJsKSxcbiAgICAgICAgbmFtZSxcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChbLi4udGhpcy5hbGxSZXNvdXJjZXMsIG5ld0xpbmtdKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZSBhcyBFcnJvcilcbiAgICB9XG4gIH1cblxuICBoYW5kbGVSZXNvdXJjZXNDaGFuZ2UoaXRlbXM6IHVua25vd25bXSkge1xuICAgIGNvbnN0IGxpbmtzID0gaXRlbXMgYXMgT25saW5lUmVzb3VyY2VbXVxuICAgIGNvbnN0IG5ld1Jlc291cmNlcyA9IFtcbiAgICAgIC4uLnRoaXMuYWxsUmVzb3VyY2VzLmZpbHRlcigocikgPT4gci50eXBlICE9PSAnbGluaycpLFxuICAgICAgLi4ubGlua3MsXG4gICAgXVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdSZXNvdXJjZXMpXG4gIH1cblxuICBoYW5kbGVSZXNvdXJjZU1vZGlmeShyZXNvdXJjZTogT25saW5lTGlua1Jlc291cmNlLCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5vcGVuRWRpdERpYWxvZyhyZXNvdXJjZSwgaW5kZXgpXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvcikge1xuICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSB1bmRlZmluZWRcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICdlZGl0b3IucmVjb3JkLm9ubGluZVJlc291cmNlRXJyb3IudGl0bGUnXG4gICAgICAgICksXG4gICAgICAgIHRleHQ6IGAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICdlZGl0b3IucmVjb3JkLm9ubGluZVJlc291cmNlRXJyb3IuYm9keSdcbiAgICAgICAgKX0gJHtlcnJvci5tZXNzYWdlfWAsXG4gICAgICAgIGNsb3NlTWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2VFcnJvci5jbG9zZU1lc3NhZ2UnXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZXJyb3JcbiAgICApXG4gIH1cblxuICBwcml2YXRlIG9wZW5FZGl0RGlhbG9nKHJlc291cmNlOiBPbmxpbmVMaW5rUmVzb3VyY2UsIGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCByZXNvdXJjZUNvcHkgPSB7XG4gICAgICAuLi5yZXNvdXJjZSxcbiAgICB9XG4gICAgdGhpcy5kaWFsb2dcbiAgICAgIC5vcGVuKE1vZGFsRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgIHdpZHRoOiAnODAwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5kaWFsb2dUaXRsZSdcbiAgICAgICAgICApLFxuICAgICAgICAgIGJvZHk6IHRoaXMuZGlhbG9nVGVtcGxhdGUsXG4gICAgICAgICAgYm9keUNvbnRleHQ6IHJlc291cmNlQ29weSxcbiAgICAgICAgICBjb25maXJtVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmNvbmZpcm0nXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuY2FuY2VsJ1xuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpcm1lZDogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIWNvbmZpcm1lZCkgcmV0dXJuXG4gICAgICAgIGNvbnN0IG5ld0xpbmtzID0gWy4uLnRoaXMubGlua1Jlc291cmNlc11cbiAgICAgICAgbmV3TGlua3Muc3BsaWNlKGluZGV4LCAxLCByZXNvdXJjZUNvcHkpXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChbXG4gICAgICAgICAgLi4udGhpcy5hbGxSZXNvdXJjZXMuZmlsdGVyKChyKSA9PiByLnR5cGUgIT09ICdsaW5rJyksXG4gICAgICAgICAgLi4ubmV3TGlua3MsXG4gICAgICAgIF0pXG4gICAgICB9KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICA8Z24tdWktZmlsZS1pbnB1dFxuICAgIFttYXhTaXplTUJdPVwiTUFYX1VQTE9BRF9TSVpFX01CXCJcbiAgICAoZmlsZUNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICh1cGxvYWRDYW5jZWwpPVwiaGFuZGxlVXBsb2FkQ2FuY2VsKClcIlxuICAgIFt1cGxvYWRQcm9ncmVzc109XCJ1cGxvYWRQcm9ncmVzc1wiXG4gICAgKHVybENoYW5nZSk9XCJoYW5kbGVVcmxDaGFuZ2UoJGV2ZW50KVwiXG4gID48L2duLXVpLWZpbGUtaW5wdXQ+XG4gIDxkaXYgY2xhc3M9XCJoLVs4cHhdXCI+PC9kaXY+XG4gIDxnbi11aS1zb3J0YWJsZS1saXN0XG4gICAgW2l0ZW1zXT1cImxpbmtSZXNvdXJjZXNcIlxuICAgIChpdGVtc09yZGVyQ2hhbmdlKT1cImhhbmRsZVJlc291cmNlc0NoYW5nZSgkZXZlbnQpXCJcbiAgICBbZWxlbWVudFRlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgPlxuICA8L2duLXVpLXNvcnRhYmxlLWxpc3Q+XG4gIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LW9ubGluZVJlc291cmNlIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgPGduLXVpLW9ubGluZS1yZXNvdXJjZS1jYXJkXG4gICAgICBbb25saW5lUmVzb3VyY2VdPVwib25saW5lUmVzb3VyY2VcIlxuICAgICAgKG1vZGlmeUNsaWNrKT1cImhhbmRsZVJlc291cmNlTW9kaWZ5KG9ubGluZVJlc291cmNlLCBpbmRleClcIlxuICAgID48L2duLXVpLW9ubGluZS1yZXNvdXJjZS1jYXJkPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGlhbG9nVGVtcGxhdGUgbGV0LW9ubGluZVJlc291cmNlPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC1bMTZweF1cIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMyBjbGFzcz1cInRleHQtWzE2cHhdIGZvbnQtYm9sZCB0ZXh0LW1haW4gbWItWzEycHhdXCIgdHJhbnNsYXRlPlxuICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LnRpdGxlXG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxnbi11aS10ZXh0LWlucHV0IFsodmFsdWUpXT1cIm9ubGluZVJlc291cmNlLm5hbWVcIj48L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMyBjbGFzcz1cInRleHQtWzE2cHhdIGZvbnQtYm9sZCB0ZXh0LW1haW4gbWItWzEycHhdXCIgdHJhbnNsYXRlPlxuICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmRlc2NyaXB0aW9uXG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxnbi11aS10ZXh0LWFyZWFcbiAgICAgICAgICBbKHZhbHVlKV09XCJvbmxpbmVSZXNvdXJjZS5kZXNjcmlwdGlvblwiXG4gICAgICAgID48L2duLXVpLXRleHQtYXJlYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJ3LWZ1bGwgYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwXCI+PC9zcGFuPlxuICAgICAgPGduLXVpLXVybC1pbnB1dFxuICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9ubGluZVJlc291cmNlLnVybFwiXG4gICAgICAgIFtzaG93VmFsaWRhdGVCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgPjwvZ24tdWktdXJsLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -6,7 +6,7 @@ import { PlatformServiceInterface } from '../../../../../../../../../libs/common
6
6
  import { NotificationsService } from '../../../../../../../../../libs/feature/notifications/src';
7
7
  import { FileInputComponent, SwitchToggleComponent, TextAreaComponent, TextInputComponent, UrlInputComponent, } from '../../../../../../../../../libs/ui/inputs/src';
8
8
  import { ModalDialogComponent, SortableListComponent, } from '../../../../../../../../../libs/ui/layout/src';
9
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
9
+ import { TranslateDirective, TranslateService } from '@ngx-translate/core';
10
10
  import { MAX_UPLOAD_SIZE_MB } from '../../../../fields.config';
11
11
  import { OnlineResourceCardComponent } from '../../../online-resource-card/online-resource-card.component';
12
12
  import { OnlineServiceResourceInputComponent } from '../../../online-service-resource-input/online-service-resource-input.component';
@@ -152,7 +152,7 @@ export class FormFieldOnlineResourcesComponent {
152
152
  });
153
153
  }
154
154
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineResourcesComponent, deps: [{ token: i1.NotificationsService }, { token: i2.TranslateService }, { token: i3.PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
155
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n (serviceChange)=\"handleServiceChange($event)\"\n ></gn-ui-online-service-resource-input>\n </div>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"notLinkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <ng-container *ngIf=\"onlineResource.type === 'service'; else urlInput\">\n <gn-ui-online-service-resource-input\n [service]=\"onlineResource\"\n [modifyMode]=\"true\"\n [disabled]=\"true\"\n ></gn-ui-online-service-resource-input>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n </ng-container>\n <ng-template #urlInput>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </ng-template>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SwitchToggleComponent, selector: "gn-ui-switch-toggle", inputs: ["options", "ariaLabel", "extraClasses", "disabled"], outputs: ["selectedValue"] }, { kind: "component", type: FileInputComponent, selector: "gn-ui-file-input", inputs: ["maxSizeMB", "uploadProgress", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel"] }, { kind: "component", type: OnlineServiceResourceInputComponent, selector: "gn-ui-online-service-resource-input", inputs: ["service", "protocolHint", "disabled", "modifyMode"], outputs: ["serviceChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton", "resetUrlOnChange"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: OnlineResourceCardComponent, selector: "gn-ui-online-resource-card", inputs: ["onlineResource"], outputs: ["modifyClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n (serviceChange)=\"handleServiceChange($event)\"\n ></gn-ui-online-service-resource-input>\n </div>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"notLinkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <ng-container *ngIf=\"onlineResource.type === 'service'; else urlInput\">\n <gn-ui-online-service-resource-input\n [service]=\"onlineResource\"\n [modifyMode]=\"true\"\n [disabled]=\"true\"\n ></gn-ui-online-service-resource-input>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n </ng-container>\n <ng-template #urlInput>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </ng-template>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SwitchToggleComponent, selector: "gn-ui-switch-toggle", inputs: ["options", "ariaLabel", "extraClasses", "disabled"], outputs: ["selectedValue"] }, { kind: "component", type: FileInputComponent, selector: "gn-ui-file-input", inputs: ["maxSizeMB", "uploadProgress", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel"] }, { kind: "component", type: OnlineServiceResourceInputComponent, selector: "gn-ui-online-service-resource-input", inputs: ["service", "protocolHint", "disabled", "modifyMode"], outputs: ["serviceChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton", "resetUrlOnChange"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: OnlineResourceCardComponent, selector: "gn-ui-online-resource-card", inputs: ["onlineResource"], outputs: ["modifyClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
156
156
  }
157
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineResourcesComponent, decorators: [{
158
158
  type: Component,
@@ -166,7 +166,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
166
166
  OnlineResourceCardComponent,
167
167
  TextInputComponent,
168
168
  TextAreaComponent,
169
- TranslateModule,
169
+ TranslateDirective,
170
170
  ], template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n (serviceChange)=\"handleServiceChange($event)\"\n ></gn-ui-online-service-resource-input>\n </div>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"notLinkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <ng-container *ngIf=\"onlineResource.type === 'service'; else urlInput\">\n <gn-ui-online-service-resource-input\n [service]=\"onlineResource\"\n [modifyMode]=\"true\"\n [disabled]=\"true\"\n ></gn-ui-online-service-resource-input>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n </ng-container>\n <ng-template #urlInput>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </ng-template>\n </div>\n </ng-template>\n</div>\n" }]
171
171
  }], ctorParameters: () => [{ type: i1.NotificationsService }, { type: i2.TranslateService }, { type: i3.PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: i4.MatDialog }], propDecorators: { metadataUuid: [{
172
172
  type: Input
@@ -178,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
178
178
  type: ViewChild,
179
179
  args: ['dialogTemplate']
180
180
  }] } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZC1mb3JtL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy9mb3JtLWZpZWxkLW9ubGluZS1yZXNvdXJjZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFPaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0ZBQWtGLENBQUE7QUFDM0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDaEcsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixxQkFBcUIsRUFFckIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixpQkFBaUIsR0FDbEIsTUFBTSwrQ0FBK0MsQ0FBQTtBQUN0RCxPQUFPLEVBQ0wsb0JB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QTJCLDZIQUMzQixrQkFBa0IsK0pBQ2xCLGlCQUFpQiw2SkFDakIsZUFBZTs7NEZBR04saUNBQWlDO2tCQW5CN0MsU0FBUzsrQkFDRSxtQ0FBbUMsbUJBRzVCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLG1DQUFtQzt3QkFDbkMsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0Isa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2hCO3VOQUdRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ08sS0FBSztzQkFBakIsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQUdzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24sXG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICBPbmxpbmVSZXNvdXJjZSxcbiAgU2VydmljZUVuZHBvaW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjJ1xuaW1wb3J0IHtcbiAgRmlsZUlucHV0Q29tcG9uZW50LFxuICBTd2l0Y2hUb2dnbGVDb21wb25lbnQsXG4gIFN3aXRjaFRvZ2dsZU9wdGlvbixcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVXJsSW5wdXRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7XG4gIE1vZGFsRGlhbG9nQ29tcG9uZW50LFxuICBTb3J0YWJsZUxpc3RDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTUFYX1VQTE9BRF9TSVpFX01CIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzLmNvbmZpZydcbmltcG9ydCB7IE9ubGluZVJlc291cmNlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL29ubGluZS1yZXNvdXJjZS1jYXJkL29ubGluZS1yZXNvdXJjZS1jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IE9ubGluZVNlcnZpY2VSZXNvdXJjZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50J1xuXG50eXBlIE9ubGluZU5vdExpbmtSZXNvdXJjZSA9XG4gIHwgRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uXG4gIHwgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgfCBTZXJ2aWNlRW5kcG9pbnRcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN3aXRjaFRvZ2dsZUNvbXBvbmVudCxcbiAgICBGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgT25saW5lU2VydmljZVJlc291cmNlSW5wdXRDb21wb25lbnQsXG4gICAgVXJsSW5wdXRDb21wb25lbnQsXG4gICAgU29ydGFibGVMaXN0Q29tcG9uZW50LFxuICAgIE9ubGluZVJlc291cmNlQ2FyZENvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRPbmxpbmVSZXNvdXJjZXNDb21wb25lbnQge1xuICBASW5wdXQoKSBtZXRhZGF0YVV1aWQ6IHN0cmluZ1xuICBASW5wdXQoKSBzZXQgdmFsdWUob25saW5lUmVzb3VyY2VzOiBBcnJheTxPbmxpbmVSZXNvdXJjZT4pIHtcbiAgICB0aGlzLmFsbFJlc291cmNlcyA9IG9ubGluZVJlc291cmNlc1xuICAgIHRoaXMubm90TGlua1Jlc291cmNlcyA9IG9ubGluZVJlc291cmNlcy5maWx0ZXIoXG4gICAgICAocmVzKTogcmVzIGlzIE9ubGluZU5vdExpbmtSZXNvdXJjZSA9PiByZXMudHlwZSAhPT0gJ2xpbmsnXG4gICAgKVxuICB9XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFycmF5PE9ubGluZVJlc291cmNlPj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ1RlbXBsYXRlJykgZGlhbG9nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPE9ubGluZVJlc291cmNlPlxuXG4gIHR5cGVPcHRpb25zOiBTd2l0Y2hUb2dnbGVPcHRpb25bXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UudG9nZ2xlLmRhdGFzZXQnKSxcbiAgICAgIHZhbHVlOiAnZG93bmxvYWQnLFxuICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS50b2dnbGUuc2VydmljZScpLFxuICAgICAgdmFsdWU6ICdzZXJ2aWNlJyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gIF1cbiAgc2VsZWN0ZWRUeXBlOiAnZG93bmxvYWQnIHwgJ3NlcnZpY2UnID0gJ2Rvd25sb2FkJ1xuXG4gIHByaXZhdGUgYWxsUmVzb3VyY2VzOiBPbmxpbmVSZXNvdXJjZVtdID0gW11cbiAgbm90TGlua1Jlc291cmNlczogT25saW5lTm90TGlua1Jlc291cmNlW10gPSBbXVxuICB1cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICB1cGxvYWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGxcbiAgbmV3U2VydmljZSA9IDxEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbj57XG4gICAgdHlwZTogJ3NlcnZpY2UnLFxuICAgIGFjY2Vzc1NlcnZpY2VQcm90b2NvbDogJ29nY0ZlYXR1cmVzJyxcbiAgICBpZGVudGlmaWVySW5TZXJ2aWNlOiAnJyxcbiAgICB1cmw6IHVuZGVmaW5lZCxcbiAgfVxuXG4gIHByb3RlY3RlZCBNQVhfVVBMT0FEX1NJWkVfTUIgPSBNQVhfVVBMT0FEX1NJWkVfTUJcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbnNTZXJ2aWNlOiBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybVNlcnZpY2U6IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nXG4gICkge31cblxuICBvblNlbGVjdGVkVHlwZUNoYW5nZShzZWxlY3RlZFR5cGU6IHVua25vd24pIHtcbiAgICB0aGlzLnNlbGVjdGVkVHlwZSA9IHNlbGVjdGVkVHlwZSBhcyAnZG93bmxvYWQnIHwgJ3NlcnZpY2UnXG4gIH1cblxuICBoYW5kbGVGaWxlQ2hhbmdlKGZpbGU6IEZpbGUpIHtcbiAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gMFxuICAgIHRoaXMudXBsb2FkU3Vic2NyaXB0aW9uID0gdGhpcy5wbGF0Zm9ybVNlcnZpY2VcbiAgICAgIC5hdHRhY2hGaWxlVG9SZWNvcmQodGhpcy5tZXRhZGF0YVV1aWQsIGZpbGUpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdwcm9ncmVzcycpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSBldmVudC5wcm9ncmVzc1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgICAgIGNvbnN0IG5ld1Jlc291cmNlOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24gPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdkb3dubG9hZCcsXG4gICAgICAgICAgICAgIHVybDogbmV3IFVSTChldmVudC5hdHRhY2htZW50LnVybCksXG4gICAgICAgICAgICAgIG5hbWU6IGV2ZW50LmF0dGFjaG1lbnQuZmlsZU5hbWUsXG4gICAgICAgICAgICAgIHNpemVCeXRlczogZXZlbnQuc2l6ZUJ5dGVzLCAvLyBXQVJOSU5HOiB0aGlzIGlzIHRoZSBvbmx5IHRpbWUgdGhhdCBzaXplQnl0ZXMgaXMgc2V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoWy4uLnRoaXMuYWxsUmVzb3VyY2VzLCBuZXdSZXNvdXJjZV0pXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yOiBFcnJvcikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciksXG4gICAgICB9KVxuICB9XG5cbiAgaGFuZGxlVXBsb2FkQ2FuY2VsKCkge1xuICAgIGlmICh0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICAgICAgdGhpcy51cGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURvd25sb2FkVXJsQ2hhbmdlKHVybDogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG5hbWUgPSB1cmwuc3BsaXQoJy8nKS5wb3AoKVxuICAgICAgY29uc3QgbmV3TGluazogRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uID0ge1xuICAgICAgICB0eXBlOiAnZG93bmxvYWQnLFxuICAgICAgICB1cmw6IG5ldyBVUkwodXJsKSxcbiAgICAgICAgbmFtZSxcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChbLi4udGhpcy5hbGxSZXNvdXJjZXMsIG5ld0xpbmtdKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZSBhcyBFcnJvcilcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTZXJ2aWNlQ2hhbmdlKHNlcnZpY2U6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFsuLi50aGlzLmFsbFJlc291cmNlcywgc2VydmljZV0pXG4gIH1cblxuICBoYW5kbGVSZXNvdXJjZXNDaGFuZ2UoaXRlbXM6IHVua25vd25bXSkge1xuICAgIGNvbnN0IG5vdExpbmtzID0gaXRlbXMgYXMgT25saW5lTm90TGlua1Jlc291cmNlW11cbiAgICBjb25zdCBuZXdSZXNvdXJjZXMgPSBbXG4gICAgICAuLi50aGlzLmFsbFJlc291cmNlcy5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ2xpbmsnKSxcbiAgICAgIC4uLm5vdExpbmtzLFxuICAgIF1cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3UmVzb3VyY2VzKVxuICB9XG5cbiAgaGFuZGxlUmVzb3VyY2VNb2RpZnkocmVzb3VyY2U6IE9ubGluZU5vdExpbmtSZXNvdXJjZSwgaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMub3BlbkVkaXREaWFsb2cocmVzb3VyY2UsIGluZGV4KVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gdW5kZWZpbmVkXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5zaG93Tm90aWZpY2F0aW9uKFxuICAgICAge1xuICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2VFcnJvci50aXRsZSdcbiAgICAgICAgKSxcbiAgICAgICAgdGV4dDogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2VFcnJvci5ib2R5J1xuICAgICAgICApfSAke2Vycm9yLm1lc3NhZ2V9YCxcbiAgICAgICAgY2xvc2VNZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAnZWRpdG9yLnJlY29yZC5vbmxpbmVSZXNvdXJjZUVycm9yLmNsb3NlTWVzc2FnZSdcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBlcnJvclxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkVkaXREaWFsb2cocmVzb3VyY2U6IE9ubGluZU5vdExpbmtSZXNvdXJjZSwgaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc291cmNlQ29weSA9IHtcbiAgICAgIC4uLnJlc291cmNlLFxuICAgIH1cbiAgICB0aGlzLmRpYWxvZ1xuICAgICAgLm9wZW4oTW9kYWxEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgd2lkdGg6ICc4MDBweCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmRpYWxvZ1RpdGxlJ1xuICAgICAgICAgICksXG4gICAgICAgICAgYm9keTogdGhpcy5kaWFsb2dUZW1wbGF0ZSxcbiAgICAgICAgICBib2R5Q29udGV4dDogcmVzb3VyY2VDb3B5LFxuICAgICAgICAgIGNvbmZpcm1UZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuY29uZmlybSdcbiAgICAgICAgICApLFxuICAgICAgICAgIGNhbmNlbFRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5jYW5jZWwnXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnN1YnNjcmliZSgoY29uZmlybWVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmICghY29uZmlybWVkKSByZXR1cm5cbiAgICAgICAgY29uc3QgbmV3Tm90TGlua3MgPSBbLi4udGhpcy5ub3RMaW5rUmVzb3VyY2VzXVxuICAgICAgICBuZXdOb3RMaW5rcy5zcGxpY2UoaW5kZXgsIDEsIHJlc291cmNlQ29weSlcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFtcbiAgICAgICAgICAuLi50aGlzLmFsbFJlc291cmNlcy5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ2xpbmsnKSxcbiAgICAgICAgICAuLi5uZXdOb3RMaW5rcyxcbiAgICAgICAgXSlcbiAgICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gIDxnbi11aS1zd2l0Y2gtdG9nZ2xlXG4gICAgW29wdGlvbnNdPVwidHlwZU9wdGlvbnNcIlxuICAgIChzZWxlY3RlZFZhbHVlKT1cIm9uU2VsZWN0ZWRUeXBlQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxuICAgIGV4dHJhQ2xhc3Nlcz1cImdyb3cgdGV4dC1zbVwiXG4gICAgZGF0YS1jeT1cIm9ubGluZS1yZXNvdXJjZXMtdHlwZVwiXG4gID48L2duLXVpLXN3aXRjaC10b2dnbGU+XG4gIDxkaXYgY2xhc3M9XCJoLVs4cHhdXCI+PC9kaXY+XG4gIDxnbi11aS1maWxlLWlucHV0XG4gICAgKm5nSWY9XCJzZWxlY3RlZFR5cGUgPT09ICdkb3dubG9hZCdcIlxuICAgIFttYXhTaXplTUJdPVwiTUFYX1VQTE9BRF9TSVpFX01CXCJcbiAgICAoZmlsZUNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICh1cGxvYWRDYW5jZWwpPVwiaGFuZGxlVXBsb2FkQ2FuY2VsKClcIlxuICAgIFt1cGxvYWRQcm9ncmVzc109XCJ1cGxvYWRQcm9ncmVzc1wiXG4gICAgKHVybENoYW5nZSk9XCJoYW5kbGVEb3dubG9hZFVybENoYW5nZSgkZXZlbnQpXCJcbiAgPjwvZ24tdWktZmlsZS1pbnB1dD5cbiAgPGRpdlxuICAgICpuZ0lmPVwic2VsZWN0ZWRUeXBlID09PSAnc2VydmljZSdcIlxuICAgIGNsYXNzPVwidy1mdWxsIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgcm91bmRlZC1sZyBwLTYgZmxleCBmbGV4LWNvbCBnYXAtWzE2cHhdXCJcbiAgPlxuICAgIDxnbi11aS1vbmxpbmUtc2VydmljZS1yZXNvdXJjZS1pbnB1dFxuICAgICAgW3NlcnZpY2VdPVwibmV3U2VydmljZVwiXG4gICAgICAoc2VydmljZUNoYW5nZSk9XCJoYW5kbGVTZXJ2aWNlQ2hhbmdlKCRldmVudClcIlxuICAgID48L2duLXVpLW9ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImgtWzhweF1cIj48L2Rpdj5cbiAgPGduLXVpLXNvcnRhYmxlLWxpc3RcbiAgICBbaXRlbXNdPVwibm90TGlua1Jlc291cmNlc1wiXG4gICAgKGl0ZW1zT3JkZXJDaGFuZ2UpPVwiaGFuZGxlUmVzb3VyY2VzQ2hhbmdlKCRldmVudClcIlxuICAgIFtlbGVtZW50VGVtcGxhdGVdPVwidGVtcGxhdGVcIlxuICA+XG4gIDwvZ24tdWktc29ydGFibGUtbGlzdD5cbiAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtb25saW5lUmVzb3VyY2UgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8Z24tdWktb25saW5lLXJlc291cmNlLWNhcmRcbiAgICAgIFtvbmxpbmVSZXNvdXJjZV09XCJvbmxpbmVSZXNvdXJjZVwiXG4gICAgICAobW9kaWZ5Q2xpY2spPVwiaGFuZGxlUmVzb3VyY2VNb2RpZnkob25saW5lUmVzb3VyY2UsIGluZGV4KVwiXG4gICAgPjwvZ24tdWktb25saW5lLXJlc291cmNlLWNhcmQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNkaWFsb2dUZW1wbGF0ZSBsZXQtb25saW5lUmVzb3VyY2U+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLVsxNnB4XVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9ubGluZVJlc291cmNlLnR5cGUgPT09ICdzZXJ2aWNlJzsgZWxzZSB1cmxJbnB1dFwiPlxuICAgICAgICA8Z24tdWktb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXRcbiAgICAgICAgICBbc2VydmljZV09XCJvbmxpbmVSZXNvdXJjZVwiXG4gICAgICAgICAgW21vZGlmeU1vZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgICA+PC9nbi11aS1vbmxpbmUtc2VydmljZS1yZXNvdXJjZS1pbnB1dD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmRlc2NyaXB0aW9uXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8Z24tdWktdGV4dC1hcmVhXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJvbmxpbmVSZXNvdXJjZS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgPjwvZ24tdWktdGV4dC1hcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN1cmxJbnB1dD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LnRpdGxlXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8Z24tdWktdGV4dC1pbnB1dCBbKHZhbHVlKV09XCJvbmxpbmVSZXNvdXJjZS5uYW1lXCI+PC9nbi11aS10ZXh0LWlucHV0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmRlc2NyaXB0aW9uXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8Z24tdWktdGV4dC1hcmVhXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJvbmxpbmVSZXNvdXJjZS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgPjwvZ24tdWktdGV4dC1hcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LWZ1bGwgYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwXCI+PC9zcGFuPlxuICAgICAgICA8Z24tdWktdXJsLWlucHV0XG4gICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbdmFsdWVdPVwib25saW5lUmVzb3VyY2UudXJsXCJcbiAgICAgICAgICBbc2hvd1ZhbGlkYXRlQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgPjwvZ24tdWktdXJsLWlucHV0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZC1mb3JtL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy9mb3JtLWZpZWxkLW9ubGluZS1yZXNvdXJjZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFPaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0ZBQWtGLENBQUE7QUFDM0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDaEcsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixxQkFBcUIsRUFFckIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixpQkFBaUIsR0FDbEIsTUFBTSwrQ0FBK0MsQ0FBQTtBQUN0RCxPQUFPLEVBQ0wsb0JB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QkFBMkIsNkhBQzNCLGtCQUFrQiwrSkFDbEIsaUJBQWlCLDhKQUNqQixrQkFBa0I7OzRGQUdULGlDQUFpQztrQkFuQjdDLFNBQVM7K0JBQ0UsbUNBQW1DLG1CQUc1Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixtQ0FBbUM7d0JBQ25DLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ25CO3VOQUdRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ08sS0FBSztzQkFBakIsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQUdzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24sXG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICBPbmxpbmVSZXNvdXJjZSxcbiAgU2VydmljZUVuZHBvaW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjJ1xuaW1wb3J0IHtcbiAgRmlsZUlucHV0Q29tcG9uZW50LFxuICBTd2l0Y2hUb2dnbGVDb21wb25lbnQsXG4gIFN3aXRjaFRvZ2dsZU9wdGlvbixcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVXJsSW5wdXRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7XG4gIE1vZGFsRGlhbG9nQ29tcG9uZW50LFxuICBTb3J0YWJsZUxpc3RDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZURpcmVjdGl2ZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTUFYX1VQTE9BRF9TSVpFX01CIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzLmNvbmZpZydcbmltcG9ydCB7IE9ubGluZVJlc291cmNlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL29ubGluZS1yZXNvdXJjZS1jYXJkL29ubGluZS1yZXNvdXJjZS1jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IE9ubGluZVNlcnZpY2VSZXNvdXJjZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50J1xuXG50eXBlIE9ubGluZU5vdExpbmtSZXNvdXJjZSA9XG4gIHwgRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uXG4gIHwgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgfCBTZXJ2aWNlRW5kcG9pbnRcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1vbmxpbmUtcmVzb3VyY2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtb25saW5lLXJlc291cmNlcy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN3aXRjaFRvZ2dsZUNvbXBvbmVudCxcbiAgICBGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgT25saW5lU2VydmljZVJlc291cmNlSW5wdXRDb21wb25lbnQsXG4gICAgVXJsSW5wdXRDb21wb25lbnQsXG4gICAgU29ydGFibGVMaXN0Q29tcG9uZW50LFxuICAgIE9ubGluZVJlc291cmNlQ2FyZENvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRPbmxpbmVSZXNvdXJjZXNDb21wb25lbnQge1xuICBASW5wdXQoKSBtZXRhZGF0YVV1aWQ6IHN0cmluZ1xuICBASW5wdXQoKSBzZXQgdmFsdWUob25saW5lUmVzb3VyY2VzOiBBcnJheTxPbmxpbmVSZXNvdXJjZT4pIHtcbiAgICB0aGlzLmFsbFJlc291cmNlcyA9IG9ubGluZVJlc291cmNlc1xuICAgIHRoaXMubm90TGlua1Jlc291cmNlcyA9IG9ubGluZVJlc291cmNlcy5maWx0ZXIoXG4gICAgICAocmVzKTogcmVzIGlzIE9ubGluZU5vdExpbmtSZXNvdXJjZSA9PiByZXMudHlwZSAhPT0gJ2xpbmsnXG4gICAgKVxuICB9XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFycmF5PE9ubGluZVJlc291cmNlPj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ1RlbXBsYXRlJykgZGlhbG9nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPE9ubGluZVJlc291cmNlPlxuXG4gIHR5cGVPcHRpb25zOiBTd2l0Y2hUb2dnbGVPcHRpb25bXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UudG9nZ2xlLmRhdGFzZXQnKSxcbiAgICAgIHZhbHVlOiAnZG93bmxvYWQnLFxuICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS50b2dnbGUuc2VydmljZScpLFxuICAgICAgdmFsdWU6ICdzZXJ2aWNlJyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gIF1cbiAgc2VsZWN0ZWRUeXBlOiAnZG93bmxvYWQnIHwgJ3NlcnZpY2UnID0gJ2Rvd25sb2FkJ1xuXG4gIHByaXZhdGUgYWxsUmVzb3VyY2VzOiBPbmxpbmVSZXNvdXJjZVtdID0gW11cbiAgbm90TGlua1Jlc291cmNlczogT25saW5lTm90TGlua1Jlc291cmNlW10gPSBbXVxuICB1cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICB1cGxvYWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGxcbiAgbmV3U2VydmljZSA9IDxEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbj57XG4gICAgdHlwZTogJ3NlcnZpY2UnLFxuICAgIGFjY2Vzc1NlcnZpY2VQcm90b2NvbDogJ29nY0ZlYXR1cmVzJyxcbiAgICBpZGVudGlmaWVySW5TZXJ2aWNlOiAnJyxcbiAgICB1cmw6IHVuZGVmaW5lZCxcbiAgfVxuXG4gIHByb3RlY3RlZCBNQVhfVVBMT0FEX1NJWkVfTUIgPSBNQVhfVVBMT0FEX1NJWkVfTUJcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbnNTZXJ2aWNlOiBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybVNlcnZpY2U6IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nXG4gICkge31cblxuICBvblNlbGVjdGVkVHlwZUNoYW5nZShzZWxlY3RlZFR5cGU6IHVua25vd24pIHtcbiAgICB0aGlzLnNlbGVjdGVkVHlwZSA9IHNlbGVjdGVkVHlwZSBhcyAnZG93bmxvYWQnIHwgJ3NlcnZpY2UnXG4gIH1cblxuICBoYW5kbGVGaWxlQ2hhbmdlKGZpbGU6IEZpbGUpIHtcbiAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gMFxuICAgIHRoaXMudXBsb2FkU3Vic2NyaXB0aW9uID0gdGhpcy5wbGF0Zm9ybVNlcnZpY2VcbiAgICAgIC5hdHRhY2hGaWxlVG9SZWNvcmQodGhpcy5tZXRhZGF0YVV1aWQsIGZpbGUpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdwcm9ncmVzcycpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSBldmVudC5wcm9ncmVzc1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgICAgIGNvbnN0IG5ld1Jlc291cmNlOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24gPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdkb3dubG9hZCcsXG4gICAgICAgICAgICAgIHVybDogbmV3IFVSTChldmVudC5hdHRhY2htZW50LnVybCksXG4gICAgICAgICAgICAgIG5hbWU6IGV2ZW50LmF0dGFjaG1lbnQuZmlsZU5hbWUsXG4gICAgICAgICAgICAgIHNpemVCeXRlczogZXZlbnQuc2l6ZUJ5dGVzLCAvLyBXQVJOSU5HOiB0aGlzIGlzIHRoZSBvbmx5IHRpbWUgdGhhdCBzaXplQnl0ZXMgaXMgc2V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoWy4uLnRoaXMuYWxsUmVzb3VyY2VzLCBuZXdSZXNvdXJjZV0pXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yOiBFcnJvcikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciksXG4gICAgICB9KVxuICB9XG5cbiAgaGFuZGxlVXBsb2FkQ2FuY2VsKCkge1xuICAgIGlmICh0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICAgICAgdGhpcy51cGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURvd25sb2FkVXJsQ2hhbmdlKHVybDogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG5hbWUgPSB1cmwuc3BsaXQoJy8nKS5wb3AoKVxuICAgICAgY29uc3QgbmV3TGluazogRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uID0ge1xuICAgICAgICB0eXBlOiAnZG93bmxvYWQnLFxuICAgICAgICB1cmw6IG5ldyBVUkwodXJsKSxcbiAgICAgICAgbmFtZSxcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChbLi4udGhpcy5hbGxSZXNvdXJjZXMsIG5ld0xpbmtdKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZSBhcyBFcnJvcilcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTZXJ2aWNlQ2hhbmdlKHNlcnZpY2U6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFsuLi50aGlzLmFsbFJlc291cmNlcywgc2VydmljZV0pXG4gIH1cblxuICBoYW5kbGVSZXNvdXJjZXNDaGFuZ2UoaXRlbXM6IHVua25vd25bXSkge1xuICAgIGNvbnN0IG5vdExpbmtzID0gaXRlbXMgYXMgT25saW5lTm90TGlua1Jlc291cmNlW11cbiAgICBjb25zdCBuZXdSZXNvdXJjZXMgPSBbXG4gICAgICAuLi50aGlzLmFsbFJlc291cmNlcy5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ2xpbmsnKSxcbiAgICAgIC4uLm5vdExpbmtzLFxuICAgIF1cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3UmVzb3VyY2VzKVxuICB9XG5cbiAgaGFuZGxlUmVzb3VyY2VNb2RpZnkocmVzb3VyY2U6IE9ubGluZU5vdExpbmtSZXNvdXJjZSwgaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMub3BlbkVkaXREaWFsb2cocmVzb3VyY2UsIGluZGV4KVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gdW5kZWZpbmVkXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5zaG93Tm90aWZpY2F0aW9uKFxuICAgICAge1xuICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2VFcnJvci50aXRsZSdcbiAgICAgICAgKSxcbiAgICAgICAgdGV4dDogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2VFcnJvci5ib2R5J1xuICAgICAgICApfSAke2Vycm9yLm1lc3NhZ2V9YCxcbiAgICAgICAgY2xvc2VNZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAnZWRpdG9yLnJlY29yZC5vbmxpbmVSZXNvdXJjZUVycm9yLmNsb3NlTWVzc2FnZSdcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBlcnJvclxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkVkaXREaWFsb2cocmVzb3VyY2U6IE9ubGluZU5vdExpbmtSZXNvdXJjZSwgaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc291cmNlQ29weSA9IHtcbiAgICAgIC4uLnJlc291cmNlLFxuICAgIH1cbiAgICB0aGlzLmRpYWxvZ1xuICAgICAgLm9wZW4oTW9kYWxEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgd2lkdGg6ICc4MDBweCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmRpYWxvZ1RpdGxlJ1xuICAgICAgICAgICksXG4gICAgICAgICAgYm9keTogdGhpcy5kaWFsb2dUZW1wbGF0ZSxcbiAgICAgICAgICBib2R5Q29udGV4dDogcmVzb3VyY2VDb3B5LFxuICAgICAgICAgIGNvbmZpcm1UZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuY29uZmlybSdcbiAgICAgICAgICApLFxuICAgICAgICAgIGNhbmNlbFRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5jYW5jZWwnXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnN1YnNjcmliZSgoY29uZmlybWVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmICghY29uZmlybWVkKSByZXR1cm5cbiAgICAgICAgY29uc3QgbmV3Tm90TGlua3MgPSBbLi4udGhpcy5ub3RMaW5rUmVzb3VyY2VzXVxuICAgICAgICBuZXdOb3RMaW5rcy5zcGxpY2UoaW5kZXgsIDEsIHJlc291cmNlQ29weSlcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFtcbiAgICAgICAgICAuLi50aGlzLmFsbFJlc291cmNlcy5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ2xpbmsnKSxcbiAgICAgICAgICAuLi5uZXdOb3RMaW5rcyxcbiAgICAgICAgXSlcbiAgICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gIDxnbi11aS1zd2l0Y2gtdG9nZ2xlXG4gICAgW29wdGlvbnNdPVwidHlwZU9wdGlvbnNcIlxuICAgIChzZWxlY3RlZFZhbHVlKT1cIm9uU2VsZWN0ZWRUeXBlQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxuICAgIGV4dHJhQ2xhc3Nlcz1cImdyb3cgdGV4dC1zbVwiXG4gICAgZGF0YS1jeT1cIm9ubGluZS1yZXNvdXJjZXMtdHlwZVwiXG4gID48L2duLXVpLXN3aXRjaC10b2dnbGU+XG4gIDxkaXYgY2xhc3M9XCJoLVs4cHhdXCI+PC9kaXY+XG4gIDxnbi11aS1maWxlLWlucHV0XG4gICAgKm5nSWY9XCJzZWxlY3RlZFR5cGUgPT09ICdkb3dubG9hZCdcIlxuICAgIFttYXhTaXplTUJdPVwiTUFYX1VQTE9BRF9TSVpFX01CXCJcbiAgICAoZmlsZUNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICh1cGxvYWRDYW5jZWwpPVwiaGFuZGxlVXBsb2FkQ2FuY2VsKClcIlxuICAgIFt1cGxvYWRQcm9ncmVzc109XCJ1cGxvYWRQcm9ncmVzc1wiXG4gICAgKHVybENoYW5nZSk9XCJoYW5kbGVEb3dubG9hZFVybENoYW5nZSgkZXZlbnQpXCJcbiAgPjwvZ24tdWktZmlsZS1pbnB1dD5cbiAgPGRpdlxuICAgICpuZ0lmPVwic2VsZWN0ZWRUeXBlID09PSAnc2VydmljZSdcIlxuICAgIGNsYXNzPVwidy1mdWxsIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgcm91bmRlZC1sZyBwLTYgZmxleCBmbGV4LWNvbCBnYXAtWzE2cHhdXCJcbiAgPlxuICAgIDxnbi11aS1vbmxpbmUtc2VydmljZS1yZXNvdXJjZS1pbnB1dFxuICAgICAgW3NlcnZpY2VdPVwibmV3U2VydmljZVwiXG4gICAgICAoc2VydmljZUNoYW5nZSk9XCJoYW5kbGVTZXJ2aWNlQ2hhbmdlKCRldmVudClcIlxuICAgID48L2duLXVpLW9ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImgtWzhweF1cIj48L2Rpdj5cbiAgPGduLXVpLXNvcnRhYmxlLWxpc3RcbiAgICBbaXRlbXNdPVwibm90TGlua1Jlc291cmNlc1wiXG4gICAgKGl0ZW1zT3JkZXJDaGFuZ2UpPVwiaGFuZGxlUmVzb3VyY2VzQ2hhbmdlKCRldmVudClcIlxuICAgIFtlbGVtZW50VGVtcGxhdGVdPVwidGVtcGxhdGVcIlxuICA+XG4gIDwvZ24tdWktc29ydGFibGUtbGlzdD5cbiAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtb25saW5lUmVzb3VyY2UgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8Z24tdWktb25saW5lLXJlc291cmNlLWNhcmRcbiAgICAgIFtvbmxpbmVSZXNvdXJjZV09XCJvbmxpbmVSZXNvdXJjZVwiXG4gICAgICAobW9kaWZ5Q2xpY2spPVwiaGFuZGxlUmVzb3VyY2VNb2RpZnkob25saW5lUmVzb3VyY2UsIGluZGV4KVwiXG4gICAgPjwvZ24tdWktb25saW5lLXJlc291cmNlLWNhcmQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNkaWFsb2dUZW1wbGF0ZSBsZXQtb25saW5lUmVzb3VyY2U+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLVsxNnB4XVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9ubGluZVJlc291cmNlLnR5cGUgPT09ICdzZXJ2aWNlJzsgZWxzZSB1cmxJbnB1dFwiPlxuICAgICAgICA8Z24tdWktb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXRcbiAgICAgICAgICBbc2VydmljZV09XCJvbmxpbmVSZXNvdXJjZVwiXG4gICAgICAgICAgW21vZGlmeU1vZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgICA+PC9nbi11aS1vbmxpbmUtc2VydmljZS1yZXNvdXJjZS1pbnB1dD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmRlc2NyaXB0aW9uXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8Z24tdWktdGV4dC1hcmVhXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJvbmxpbmVSZXNvdXJjZS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgPjwvZ24tdWktdGV4dC1hcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN1cmxJbnB1dD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LnRpdGxlXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8Z24tdWktdGV4dC1pbnB1dCBbKHZhbHVlKV09XCJvbmxpbmVSZXNvdXJjZS5uYW1lXCI+PC9nbi11aS10ZXh0LWlucHV0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmRlc2NyaXB0aW9uXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8Z24tdWktdGV4dC1hcmVhXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJvbmxpbmVSZXNvdXJjZS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgPjwvZ24tdWktdGV4dC1hcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LWZ1bGwgYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwXCI+PC9zcGFuPlxuICAgICAgICA8Z24tdWktdXJsLWlucHV0XG4gICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbdmFsdWVdPVwib25saW5lUmVzb3VyY2UudXJsXCJcbiAgICAgICAgICBbc2hvd1ZhbGlkYXRlQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgPjwvZ24tdWktdXJsLWlucHV0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, In
3
3
  import { ImageInputComponent } from '../../../../../../../../../libs/ui/elements/src';
4
4
  import { PlatformServiceInterface } from '../../../../../../../../../libs/common/domain/src/lib/platform.service.interface';
5
5
  import { NotificationsService } from '../../../../../../../../../libs/feature/notifications/src';
6
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
6
+ import { TranslateService } from '@ngx-translate/core';
7
7
  import { MAX_UPLOAD_SIZE_MB } from '../../../../fields.config';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../../../../../../../../../libs/common/domain/src/lib/platform.service.interface";
@@ -89,11 +89,11 @@ export class FormFieldOverviewsComponent {
89
89
  this.valueChange.emit(overView ? [overView] : []);
90
90
  }
91
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOverviewsComponent, deps: [{ token: i1.PlatformServiceInterface }, { token: i2.NotificationsService }, { token: i3.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOverviewsComponent, isStandalone: true, selector: "gn-ui-form-field-overviews", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-image-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n [previewUrl]=\"firstOverview.url\"\n [altText]=\"firstOverview.description\"\n (fileChange)=\"handleFileChange($event)\"\n (urlChange)=\"handleUrlChange($event)\"\n (altTextChange)=\"handleAltTextChange($event)\"\n (delete)=\"handleDelete()\"\n [uploadProgress]=\"uploadProgress\"\n (uploadCancel)=\"handleUploadCancel()\"\n ></gn-ui-image-input>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ImageInputComponent, selector: "gn-ui-image-input", inputs: ["previewUrl", "altText", "maxSizeMB", "uploadProgress", "uploadError", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel", "delete", "altTextChange"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOverviewsComponent, isStandalone: true, selector: "gn-ui-form-field-overviews", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-image-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n [previewUrl]=\"firstOverview.url\"\n [altText]=\"firstOverview.description\"\n (fileChange)=\"handleFileChange($event)\"\n (urlChange)=\"handleUrlChange($event)\"\n (altTextChange)=\"handleAltTextChange($event)\"\n (delete)=\"handleDelete()\"\n [uploadProgress]=\"uploadProgress\"\n (uploadCancel)=\"handleUploadCancel()\"\n ></gn-ui-image-input>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ImageInputComponent, selector: "gn-ui-image-input", inputs: ["previewUrl", "altText", "maxSizeMB", "uploadProgress", "uploadError", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel", "delete", "altTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOverviewsComponent, decorators: [{
95
95
  type: Component,
96
- args: [{ selector: 'gn-ui-form-field-overviews', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ImageInputComponent, TranslateModule], template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-image-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n [previewUrl]=\"firstOverview.url\"\n [altText]=\"firstOverview.description\"\n (fileChange)=\"handleFileChange($event)\"\n (urlChange)=\"handleUrlChange($event)\"\n (altTextChange)=\"handleAltTextChange($event)\"\n (delete)=\"handleDelete()\"\n [uploadProgress]=\"uploadProgress\"\n (uploadCancel)=\"handleUploadCancel()\"\n ></gn-ui-image-input>\n</div>\n" }]
96
+ args: [{ selector: 'gn-ui-form-field-overviews', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ImageInputComponent], template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-image-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n [previewUrl]=\"firstOverview.url\"\n [altText]=\"firstOverview.description\"\n (fileChange)=\"handleFileChange($event)\"\n (urlChange)=\"handleUrlChange($event)\"\n (altTextChange)=\"handleAltTextChange($event)\"\n (delete)=\"handleDelete()\"\n [uploadProgress]=\"uploadProgress\"\n (uploadCancel)=\"handleUploadCancel()\"\n ></gn-ui-image-input>\n</div>\n" }]
97
97
  }], ctorParameters: () => [{ type: i1.PlatformServiceInterface }, { type: i2.NotificationsService }, { type: i3.TranslateService }, { type: i0.ChangeDetectorRef }], propDecorators: { metadataUuid: [{
98
98
  type: Input
99
99
  }], value: [{
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
101
101
  }], valueChange: [{
102
102
  type: Output
103
103
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1vdmVydmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLW92ZXJ2aWV3cy9mb3JtLWZpZWxkLW92ZXJ2aWV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtb3ZlcnZpZXdzL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUE7QUFDckYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0ZBQWtGLENBQUE7QUFDM0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDaEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBOzs7OztBQVU5RCxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDLElBQUksYUFBYTtRQUNmLE9BQU8sQ0FDTCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ2YsR0FBRyxFQUFFLElBQUk7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RSxDQUFBO1lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ2hCLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUM7Z0JBQ2pCLFdBQVcsRUFBRSxRQUFRO2FBQ3RCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFVLENBQUMsQ0FBQTtRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDaEIsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRztZQUMzQixXQUFXLEVBQUUsVUFBVTtTQUN4QixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFnQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELENBQUM7K0dBakZVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHlMQ3pCeEMsbWVBYUEseUREVVksWUFBWSwrQkFBRSxtQkFBbUIsMk9BQUUsZUFBZTs7NEZBRWpELDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsQ0FBQzsrTEFHcEQsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBHcmFwaGljT3ZlcnZpZXcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBJbWFnZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNQVhfVVBMT0FEX1NJWkVfTUIgfSBmcm9tICcuLi8uLi8uLi8uLi9maWVsZHMuY29uZmlnJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1mb3JtLWZpZWxkLW92ZXJ2aWV3cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLW92ZXJ2aWV3cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEltYWdlSW5wdXRDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZE92ZXJ2aWV3c0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1ldGFkYXRhVXVpZDogc3RyaW5nXG4gIEBJbnB1dCgpIHZhbHVlOiBBcnJheTxHcmFwaGljT3ZlcnZpZXc+XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFycmF5PEdyYXBoaWNPdmVydmlldz4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKClcblxuICB1cGxvYWRQcm9ncmVzcyA9IHVuZGVmaW5lZFxuICB1cGxvYWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGxcblxuICBwcm90ZWN0ZWQgTUFYX1VQTE9BRF9TSVpFX01CID0gTUFYX1VQTE9BRF9TSVpFX01CXG5cbiAgZ2V0IGZpcnN0T3ZlcnZpZXcoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudmFsdWVbMF0gPz8ge1xuICAgICAgICB1cmw6IG51bGwsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsYXRmb3JtU2VydmljZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uc1NlcnZpY2U6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgaGFuZGxlRmlsZUNoYW5nZShmaWxlOiBGaWxlKSB7XG4gICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IDBcbiAgICB0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbiA9IHRoaXMucGxhdGZvcm1TZXJ2aWNlXG4gICAgICAuYXR0YWNoRmlsZVRvUmVjb3JkKHRoaXMubWV0YWRhdGFVdWlkLCBmaWxlKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSAncHJvZ3Jlc3MnKSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gZXZlbnQucHJvZ3Jlc3NcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSB1bmRlZmluZWRcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgICB0aGlzLmVtaXRPdmVydmlldyh7XG4gICAgICAgICAgICAgIHVybDogZXZlbnQuYXR0YWNobWVudC51cmwsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBldmVudC5hdHRhY2htZW50LmZpbGVOYW1lLnJlcGxhY2UoL1xcLlteLy5dKyQvLCAnJyksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnJvcjogRXJyb3IpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpLFxuICAgICAgfSlcbiAgfVxuXG4gIGhhbmRsZVVwbG9hZENhbmNlbCgpIHtcbiAgICBpZiAodGhpcy51cGxvYWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSB1bmRlZmluZWRcbiAgICAgIHRoaXMudXBsb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVVcmxDaGFuZ2UodXJsOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZmlsZW5hbWUgPSB1cmwuc3BsaXQoJy8nKS5wb3AoKVxuICAgICAgdGhpcy5lbWl0T3ZlcnZpZXcoe1xuICAgICAgICB1cmw6IG5ldyBVUkwodXJsKSxcbiAgICAgICAgZGVzY3JpcHRpb246IGZpbGVuYW1lLFxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGUgYXMgRXJyb3IpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQWx0VGV4dENoYW5nZShuZXdBbHRUZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmVtaXRPdmVydmlldyh7XG4gICAgICB1cmw6IHRoaXMuZmlyc3RPdmVydmlldy51cmwsXG4gICAgICBkZXNjcmlwdGlvbjogbmV3QWx0VGV4dCxcbiAgICB9KVxuICB9XG5cbiAgaGFuZGxlRGVsZXRlKCkge1xuICAgIHRoaXMuZW1pdE92ZXJ2aWV3KG51bGwpXG4gIH1cblxuICBlbWl0T3ZlcnZpZXcob3ZlclZpZXc6IEdyYXBoaWNPdmVydmlldyB8IG51bGwpIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQob3ZlclZpZXcgPyBbb3ZlclZpZXddIDogW10pXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yID0gKGVycm9yOiBFcnJvcikgPT4ge1xuICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSB1bmRlZmluZWRcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5zaG93Tm90aWZpY2F0aW9uKFxuICAgICAge1xuICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQucmVzb3VyY2VFcnJvci50aXRsZSdcbiAgICAgICAgKSxcbiAgICAgICAgdGV4dDogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQucmVzb3VyY2VFcnJvci5ib2R5J1xuICAgICAgICApfSAke2Vycm9yLm1lc3NhZ2V9YCxcbiAgICAgICAgY2xvc2VNZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAnZWRpdG9yLnJlY29yZC5yZXNvdXJjZUVycm9yLmNsb3NlTWVzc2FnZSdcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBlcnJvclxuICAgIClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgPGduLXVpLWltYWdlLWlucHV0XG4gICAgW21heFNpemVNQl09XCJNQVhfVVBMT0FEX1NJWkVfTUJcIlxuICAgIFtwcmV2aWV3VXJsXT1cImZpcnN0T3ZlcnZpZXcudXJsXCJcbiAgICBbYWx0VGV4dF09XCJmaXJzdE92ZXJ2aWV3LmRlc2NyaXB0aW9uXCJcbiAgICAoZmlsZUNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICh1cmxDaGFuZ2UpPVwiaGFuZGxlVXJsQ2hhbmdlKCRldmVudClcIlxuICAgIChhbHRUZXh0Q2hhbmdlKT1cImhhbmRsZUFsdFRleHRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGRlbGV0ZSk9XCJoYW5kbGVEZWxldGUoKVwiXG4gICAgW3VwbG9hZFByb2dyZXNzXT1cInVwbG9hZFByb2dyZXNzXCJcbiAgICAodXBsb2FkQ2FuY2VsKT1cImhhbmRsZVVwbG9hZENhbmNlbCgpXCJcbiAgPjwvZ24tdWktaW1hZ2UtaW5wdXQ+XG48L2Rpdj5cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1vdmVydmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLW92ZXJ2aWV3cy9mb3JtLWZpZWxkLW92ZXJ2aWV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtb3ZlcnZpZXdzL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUE7QUFDckYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0ZBQWtGLENBQUE7QUFDM0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7Ozs7O0FBVTlELE1BQU0sT0FBTywyQkFBMkI7SUFXdEMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxDQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDZixHQUFHLEVBQUUsSUFBSTtZQUNULFdBQVcs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ckMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDaEIsR0FBRyxFQUFFLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQztnQkFDakIsV0FBVyxFQUFFLFFBQVE7YUFDdEIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQVUsQ0FBQyxDQUFBO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHO1lBQzNCLFdBQVcsRUFBRSxVQUFVO1NBQ3hCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbkQsQ0FBQzsrR0FqRlUsMkJBQTJCO21HQUEzQiwyQkFBMkIseUxDekJ4QyxtZUFhQSx5RERVWSxZQUFZLCtCQUFFLG1CQUFtQjs7NEZBRWhDLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDOytMQUduQyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEdyYXBoaWNPdmVydmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEltYWdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYydcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbm90aWZpY2F0aW9ucy9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNQVhfVVBMT0FEX1NJWkVfTUIgfSBmcm9tICcuLi8uLi8uLi8uLi9maWVsZHMuY29uZmlnJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1mb3JtLWZpZWxkLW92ZXJ2aWV3cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLW92ZXJ2aWV3cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtb3ZlcnZpZXdzLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEltYWdlSW5wdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRPdmVydmlld3NDb21wb25lbnQge1xuICBASW5wdXQoKSBtZXRhZGF0YVV1aWQ6IHN0cmluZ1xuICBASW5wdXQoKSB2YWx1ZTogQXJyYXk8R3JhcGhpY092ZXJ2aWV3PlxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBcnJheTxHcmFwaGljT3ZlcnZpZXc+PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgdXBsb2FkUHJvZ3Jlc3MgPSB1bmRlZmluZWRcbiAgdXBsb2FkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsXG5cbiAgcHJvdGVjdGVkIE1BWF9VUExPQURfU0laRV9NQiA9IE1BWF9VUExPQURfU0laRV9NQlxuXG4gIGdldCBmaXJzdE92ZXJ2aWV3KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnZhbHVlWzBdID8/IHtcbiAgICAgICAgdXJsOiBudWxsLFxuICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybVNlcnZpY2U6IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbnNTZXJ2aWNlOiBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGhhbmRsZUZpbGVDaGFuZ2UoZmlsZTogRmlsZSkge1xuICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MgPSAwXG4gICAgdGhpcy51cGxvYWRTdWJzY3JpcHRpb24gPSB0aGlzLnBsYXRmb3JtU2VydmljZVxuICAgICAgLmF0dGFjaEZpbGVUb1JlY29yZCh0aGlzLm1ldGFkYXRhVXVpZCwgZmlsZSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ3Byb2dyZXNzJykge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IGV2ZW50LnByb2dyZXNzXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxuICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQudHlwZSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gdW5kZWZpbmVkXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxuICAgICAgICAgICAgdGhpcy5lbWl0T3ZlcnZpZXcoe1xuICAgICAgICAgICAgICB1cmw6IGV2ZW50LmF0dGFjaG1lbnQudXJsLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZXZlbnQuYXR0YWNobWVudC5maWxlTmFtZS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKSxcbiAgICAgIH0pXG4gIH1cblxuICBoYW5kbGVVcGxvYWRDYW5jZWwoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gdW5kZWZpbmVkXG4gICAgICB0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlVXJsQ2hhbmdlKHVybDogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZpbGVuYW1lID0gdXJsLnNwbGl0KCcvJykucG9wKClcbiAgICAgIHRoaXMuZW1pdE92ZXJ2aWV3KHtcbiAgICAgICAgdXJsOiBuZXcgVVJMKHVybCksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBmaWxlbmFtZSxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlIGFzIEVycm9yKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFsdFRleHRDaGFuZ2UobmV3QWx0VGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5lbWl0T3ZlcnZpZXcoe1xuICAgICAgdXJsOiB0aGlzLmZpcnN0T3ZlcnZpZXcudXJsLFxuICAgICAgZGVzY3JpcHRpb246IG5ld0FsdFRleHQsXG4gICAgfSlcbiAgfVxuXG4gIGhhbmRsZURlbGV0ZSgpIHtcbiAgICB0aGlzLmVtaXRPdmVydmlldyhudWxsKVxuICB9XG5cbiAgZW1pdE92ZXJ2aWV3KG92ZXJWaWV3OiBHcmFwaGljT3ZlcnZpZXcgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG92ZXJWaWV3ID8gW292ZXJWaWV3XSA6IFtdKVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvciA9IChlcnJvcjogRXJyb3IpID0+IHtcbiAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gdW5kZWZpbmVkXG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKVxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICdlZGl0b3IucmVjb3JkLnJlc291cmNlRXJyb3IudGl0bGUnXG4gICAgICAgICksXG4gICAgICAgIHRleHQ6IGAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICdlZGl0b3IucmVjb3JkLnJlc291cmNlRXJyb3IuYm9keSdcbiAgICAgICAgKX0gJHtlcnJvci5tZXNzYWdlfWAsXG4gICAgICAgIGNsb3NlTWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQucmVzb3VyY2VFcnJvci5jbG9zZU1lc3NhZ2UnXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZXJyb3JcbiAgICApXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gIDxnbi11aS1pbWFnZS1pbnB1dFxuICAgIFttYXhTaXplTUJdPVwiTUFYX1VQTE9BRF9TSVpFX01CXCJcbiAgICBbcHJldmlld1VybF09XCJmaXJzdE92ZXJ2aWV3LnVybFwiXG4gICAgW2FsdFRleHRdPVwiZmlyc3RPdmVydmlldy5kZXNjcmlwdGlvblwiXG4gICAgKGZpbGVDaGFuZ2UpPVwiaGFuZGxlRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAodXJsQ2hhbmdlKT1cImhhbmRsZVVybENoYW5nZSgkZXZlbnQpXCJcbiAgICAoYWx0VGV4dENoYW5nZSk9XCJoYW5kbGVBbHRUZXh0Q2hhbmdlKCRldmVudClcIlxuICAgIChkZWxldGUpPVwiaGFuZGxlRGVsZXRlKClcIlxuICAgIFt1cGxvYWRQcm9ncmVzc109XCJ1cGxvYWRQcm9ncmVzc1wiXG4gICAgKHVwbG9hZENhbmNlbCk9XCJoYW5kbGVVcGxvYWRDYW5jZWwoKVwiXG4gID48L2duLXVpLWltYWdlLWlucHV0PlxuPC9kaXY+XG4iXX0=
@@ -5,7 +5,7 @@ import { PlatformServiceInterface } from '../../../../../../../../../libs/common
5
5
  import { firstValueFrom, map, shareReplay } from 'rxjs';
6
6
  import { EditorFacade } from '../../../../+state/editor.facade';
7
7
  import { switchMap } from 'rxjs/operators';
8
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
8
+ import { TranslatePipe, TranslateService } from '@ngx-translate/core';
9
9
  import { SPATIAL_SCOPES } from '../../../../fields.config';
10
10
  import { SpatialExtentComponent } from '../../../../../../../../../libs/ui/map/src';
11
11
  import * as i0 from "@angular/core";
@@ -109,15 +109,15 @@ export class FormFieldSpatialExtentComponent {
109
109
  this.editorFacade.updateRecordField('spatialExtents', spatialExtents);
110
110
  }
111
111
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldSpatialExtentComponent, deps: [{ token: i1.PlatformServiceInterface }, { token: i2.EditorFacade }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldSpatialExtentComponent, isStandalone: true, selector: "gn-ui-form-field-spatial-extent", ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'editor.record.form.keywords.place.placeholder' | translate\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-spatial-extent\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-spatial-extent>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: GenericKeywordsComponent, selector: "gn-ui-generic-keywords", inputs: ["keywords", "keywordTypes", "placeholder", "allowSubmit"], outputs: ["changedKeywords", "addedKeyword", "deletedKeyword"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: SpatialExtentComponent, selector: "gn-ui-spatial-extent", inputs: ["spatialExtents"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldSpatialExtentComponent, isStandalone: true, selector: "gn-ui-form-field-spatial-extent", ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'editor.record.form.keywords.place.placeholder' | translate\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-spatial-extent\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-spatial-extent>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: GenericKeywordsComponent, selector: "gn-ui-generic-keywords", inputs: ["keywords", "keywordTypes", "placeholder", "allowSubmit"], outputs: ["changedKeywords", "addedKeyword", "deletedKeyword"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SpatialExtentComponent, selector: "gn-ui-spatial-extent", inputs: ["spatialExtents"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
113
113
  }
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldSpatialExtentComponent, decorators: [{
115
115
  type: Component,
116
116
  args: [{ selector: 'gn-ui-form-field-spatial-extent', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
117
117
  CommonModule,
118
118
  GenericKeywordsComponent,
119
- TranslateModule,
119
+ TranslatePipe,
120
120
  SpatialExtentComponent,
121
121
  ], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'editor.record.form.keywords.place.placeholder' | translate\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-spatial-extent\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-spatial-extent>\n </div>\n</div>\n" }]
122
122
  }], ctorParameters: () => [{ type: i1.PlatformServiceInterface }, { type: i2.EditorFacade }, { type: i3.TranslateService }] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUtsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQTtBQUMvRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQTtBQUMzSCxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFN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UyxFQUFFLENBQUM7U0FDaEMsQ0FBWSxDQUNoQixDQUFBO1FBRUgsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLGNBQWMsQ0FDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNiLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUNwQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPO1lBQ2xCLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsaUNBQWlDO2FBQ25GLENBQ0osQ0FDRixDQUNGLENBQ0YsQ0FBQTtRQUVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEdBQUcsMkJBQTJCO1lBQzlCLEdBQUcscUJBQXFCO1NBQ3pCLENBQUE7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7K0dBM0lVLCtCQUErQjttR0FBL0IsK0JBQStCLDJGQ3pDNUMsOGdCQWVBLHlERG9CSSxZQUFZLG9GQUNaLHdCQUF3QixzTUFDeEIsZUFBZSw0RkFDZixzQkFBc0I7OzRGQUdiLCtCQUErQjtrQkFiM0MsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLHNCQUFzQjtxQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIERhdGFzZXRTcGF0aWFsRXh0ZW50LFxuICBLZXl3b3JkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBHZW5lcmljS2V5d29yZHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmljLWtleXdvcmRzL2dlbmVyaWMta2V5d29yZHMuY29tcG9uZW50J1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBFZGl0b3JGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi8uLi8rc3RhdGUvZWRpdG9yLmZhY2FkZSdcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFNQQVRJQUxfU0NPUEVTIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzLmNvbmZpZydcbmltcG9ydCB7IFNwYXRpYWxFeHRlbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5cbi8vIFRoaXMgaW50ZXJtZWRpYXJ5IHR5cGUgd2lsbCBsZXQgdXMga2VlcCB0cmFjayBvZiB3aGljaCBrZXl3b3JkIGlzIGJvdW5kIHRvXG4vLyB3aGljaCBleHRlbnQ7IHRoZXNlIHByb3BlcnRpZXMgd2lsbCBub3QgYmUgcGVyc2lzdGVkXG50eXBlIEtleXdvcmRXaXRoRXh0ZW50ID0gS2V5d29yZCAmIHtcbiAgX2xpbmtlZEV4dGVudDogRGF0YXNldFNwYXRpYWxFeHRlbnRcbiAgX2RvTm90U2F2ZTogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZm9ybSBmaWVsZCBpcyBub3QgbGlrZSB0aGUgb3RoZXJzLCBhcyBpdCB3aWxsIHJlYWQgZGlyZWN0bHkgZnJvbSB0aGUgc3RhdGUgdG8gaGFuZGxlIGJvdGggc3BhdGlhbCBleHRlbnRzXG4gKiBhbmQgcGxhY2Uga2V5d29yZHMuXG4gKiBPdGhlciB0eXBlcyBvZiBrZXl3b3JkcyB3aWxsIG5vdCBiZSB0b3VjaGVkIGJ5IHRoaXMgZmllbGQuXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEdlbmVyaWNLZXl3b3Jkc0NvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgU3BhdGlhbEV4dGVudENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkU3BhdGlhbEV4dGVudENvbXBvbmVudCB7XG4gIHNwYXRpYWxFeHRlbnRzJCA9IHRoaXMuZWRpdG9yRmFjYWRlLnJlY29yZCQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gKCdzcGF0aWFsRXh0ZW50cycgaW4gcmVjb3JkID8gcmVjb3JkPy5zcGF0aWFsRXh0ZW50cyA6IFtdKSlcbiAgKVxuXG4gIGFsbEtleXdvcmRzJCA9IHRoaXMuZWRpdG9yRmFjYWRlLnJlY29yZCQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gcmVjb3JkPy5rZXl3b3JkcylcbiAgKVxuXG4gIHNob3duS2V5d29yZHMkID0gdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiByZWNvcmQ/LmtleXdvcmRzLmZpbHRlcigoaykgPT4gay50eXBlID09PSAncGxhY2UnKSksXG4gICAgLy8gbG9vayBmb3IgZnVsbCBrZXl3b3JkcyBpbiB0aGUgdGhlc2F1cmlcbiAgICBzd2l0Y2hNYXAoKGtleXdvcmRzKSA9PlxuICAgICAgUHJvbWlzZS5hbGwoXG4gICAgICAgIGtleXdvcmRzLm1hcChhc3luYyAoa2V5d29yZCkgPT4ge1xuICAgICAgICAgIGlmICgha2V5d29yZC50aGVzYXVydXMpIHJldHVybiBrZXl3b3JkXG4gICAgICAgICAgY29uc3QgYWxsS2V5d29yZHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMucGxhdGZvcm1TZXJ2aWNlLnNlYXJjaEtleXdvcmRzSW5UaGVzYXVydXMoXG4gICAgICAgICAgICAgIGtleXdvcmQubGFiZWwsXG4gICAgICAgICAgICAgIGtleXdvcmQudGhlc2F1cnVzLmlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICAgIGNvbnN0IGZvdW5kID0gYWxsS2V5d29yZHMuZmluZCgoaykgPT4gay5sYWJlbCA9PT0ga2V5d29yZC5sYWJlbClcbiAgICAgICAgICByZXR1cm4gZm91bmQgPz8ga2V5d29yZFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICksXG4gICAgLy8gYWRkIGFkZGl0aW9uYWwgXCJ1bm5hbWVkXCIga2V5d29yZHMgZm9yIGV4dGVudHMgd2l0aG91dCBhIG1hdGNoaW5nIGtleXdvcmRcbiAgICBzd2l0Y2hNYXAoYXN5bmMgKGtleXdvcmRzKSA9PiB7XG4gICAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc3BhdGlhbEV4dGVudHMkKVxuICAgICAgY29uc3Qga2V5d29yZHNGcm9tRXh0ZW50cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBzcGF0aWFsRXh0ZW50cy5tYXAoYXN5bmMgKGV4dGVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nS2V5d29yZCA9XG4gICAgICAgICAgICBleHRlbnQuZGVzY3JpcHRpb24gJiZcbiAgICAgICAgICAgIChrZXl3b3Jkcy5maW5kKFxuICAgICAgICAgICAgICAoaykgPT4gay5rZXkgPT09IGV4dGVudC5kZXNjcmlwdGlvblxuICAgICAgICAgICAgKSBhcyBLZXl3b3JkV2l0aEV4dGVudClcbiAgICAgICAgICBpZiAoZXhpc3RpbmdLZXl3b3JkKSB7XG4gICAgICAgICAgICBleGlzdGluZ0tleXdvcmQuX2xpbmtlZEV4dGVudCA9IGV4dGVudFxuICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IGJib3ggPSBudWxsXG4gICAgICAgICAgaWYgKCdnZW9tZXRyeScgaW4gZXh0ZW50KSB7XG4gICAgICAgICAgICBiYm94ID0gZXh0ZW50Lmdlb21ldHJ5IC8vIEZJWE1FOiB0aGlzIHNob3VsZCBiZSBhIGJib3ggdG9vIGJ1dCBmb3Igbm93IGl0IHdvcmtzLi4uXG4gICAgICAgICAgfSBlbHNlIGlmICgnYmJveCcgaW4gZXh0ZW50KSB7XG4gICAgICAgICAgICBiYm94ID0gZXh0ZW50LmJib3hcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoJ2VkaXRvci5yZWNvcmQucGxhY2VLZXl3b3JkV2l0aG91dExhYmVsJylcbiAgICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgdHlwZTogJ3BsYWNlJyxcbiAgICAgICAgICAgIC4uLihiYm94ICYmIHsgYmJveCB9KSxcbiAgICAgICAgICAgIF9saW5rZWRFeHRlbnQ6IGV4dGVudCxcbiAgICAgICAgICAgIF9kb05vdFNhdmU6IHRydWUsXG4gICAgICAgICAgfSBhcyBLZXl3b3JkV2l0aEV4dGVudFxuICAgICAgICB9KVxuICAgICAgKS50aGVuKChrZXl3b3JkcykgPT4ga2V5d29yZHMuZmlsdGVyKChrKSA9PiAhIWspKVxuXG4gICAgICByZXR1cm4gWy4uLmtleXdvcmRzLCAuLi5rZXl3b3Jkc0Zyb21FeHRlbnRzXVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsYXRmb3JtU2VydmljZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICAgIHByaXZhdGUgZWRpdG9yRmFjYWRlOiBFZGl0b3JGYWNhZGUsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBoYW5kbGVLZXl3b3JkRGVsZXRlKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc3BhdGlhbEV4dGVudHMkKVxuICAgIGNvbnN0IHNob3duS2V5d29yZHMgPSAoYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnNob3duS2V5d29yZHMkXG4gICAgKSkgYXMgS2V5d29yZFdpdGhFeHRlbnRbXVxuICAgIGNvbnN0IG5ld0tleXdvcmRzID0gc2hvd25LZXl3b3Jkcy5maWx0ZXIoKGspID0+IGsgIT09IGtleXdvcmQpXG4gICAgY29uc3QgbGlua2VkRXh0ZW50ID1cbiAgICAgICdfbGlua2VkRXh0ZW50JyBpbiBrZXl3b3JkID8ga2V5d29yZC5fbGlua2VkRXh0ZW50IDogbnVsbFxuICAgIGNvbnN0IG5ld0V4dGVudHMgPSBsaW5rZWRFeHRlbnRcbiAgICAgID8gc3BhdGlhbEV4dGVudHMuZmlsdGVyKChleHRlbnQpID0+IGxpbmtlZEV4dGVudCAhPT0gZXh0ZW50KVxuICAgICAgOiBzcGF0aWFsRXh0ZW50c1xuICAgIHJldHVybiB0aGlzLmVtaXRDaGFuZ2VzKG5ld0tleXdvcmRzLCBuZXdFeHRlbnRzKVxuICB9XG5cbiAgYXN5bmMgaGFuZGxlS2V5d29yZEFkZChrZXl3b3JkOiBLZXl3b3JkKSB7XG4gICAgY29uc3Qgc3BhdGlhbEV4dGVudHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNwYXRpYWxFeHRlbnRzJClcbiAgICBjb25zdCBzaG93bktleXdvcmRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zaG93bktleXdvcmRzJClcbiAgICBjb25zdCBuZXdLZXl3b3JkcyA9IFsuLi5zaG93bktleXdvcmRzLCBrZXl3b3JkXSBhcyBLZXl3b3JkV2l0aEV4dGVudFtdXG4gICAgbGV0IG5ld0V4dGVudHMgPSBzcGF0aWFsRXh0ZW50c1xuICAgIGlmIChrZXl3b3JkLmJib3gpIHtcbiAgICAgIG5ld0V4dGVudHMgPSBbXG4gICAgICAgIC4uLnNwYXRpYWxFeHRlbnRzLFxuICAgICAgICB7XG4gICAgICAgICAgYmJveDoga2V5d29yZC5iYm94LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBrZXl3b3JkLmtleSA/PyB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmVtaXRDaGFuZ2VzKG5ld0tleXdvcmRzLCBuZXdFeHRlbnRzKVxuICB9XG5cbiAgYXN5bmMgZW1pdENoYW5nZXMoXG4gICAgcGxhY2VLZXl3b3JkczogS2V5d29yZFdpdGhFeHRlbnRbXSxcbiAgICBzcGF0aWFsRXh0ZW50czogRGF0YXNldFNwYXRpYWxFeHRlbnRbXVxuICApIHtcbiAgICAvLyBzb21lIGtleXdvcmRzIGFyZSBvbmx5IHByZXNlbnQgdG8gYWxsb3cgY29udHJvbCBvdmVyIGV4dGVudHM7IHRoZXkgKipzaG91bGQgbm90KiogYmUgc2F2ZWQhXG4gICAgY29uc3QgZmlsdGVyZWRQbGFjZUtleXdvcmRzID0gcGxhY2VLZXl3b3Jkc1xuICAgICAgLmZpbHRlcigoa2V5d29yZCkgPT4gIWtleXdvcmQuX2RvTm90U2F2ZSlcbiAgICAgIC5tYXAoXG4gICAgICAgICh7IGxhYmVsLCB0aGVzYXVydXMsIHR5cGUgfSkgPT5cbiAgICAgICAgICAoe1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgLi4uKHRoZXNhdXJ1cyAmJiB7IHRoZXNhdXJ1cyB9KSxcbiAgICAgICAgICB9KSBhcyBLZXl3b3JkXG4gICAgICApXG5cbiAgICBjb25zdCBub3RQbGFjZUt3QW5kU3BhdGlhbFNjb3BlS3cgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuZWRpdG9yRmFjYWRlLnJlY29yZCQucGlwZShcbiAgICAgICAgbWFwKChyZWNvcmQpID0+XG4gICAgICAgICAgcmVjb3JkLmtleXdvcmRzLmZpbHRlcihcbiAgICAgICAgICAgIChrKSA9PlxuICAgICAgICAgICAgICBrLnR5cGUgIT09ICdwbGFjZScgfHxcbiAgICAgICAgICAgICAgU1BBVElBTF9TQ09QRVMuc29tZShcbiAgICAgICAgICAgICAgICAoc3BhdGlhbFNjb3BlKSA9PiBzcGF0aWFsU2NvcGUubGFiZWwgPT09IGsubGFiZWwgLy8gZ2V0IGJhY2sgc3BhdGlhbFNjb3BlIGtleXdvcmRzXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG5cbiAgICBjb25zdCBhbGxLZXl3b3JkcyA9IFtcbiAgICAgIC4uLm5vdFBsYWNlS3dBbmRTcGF0aWFsU2NvcGVLdyxcbiAgICAgIC4uLmZpbHRlcmVkUGxhY2VLZXl3b3JkcyxcbiAgICBdXG5cbiAgICB0aGlzLmVkaXRvckZhY2FkZS51cGRhdGVSZWNvcmRGaWVsZCgna2V5d29yZHMnLCBhbGxLZXl3b3JkcylcbiAgICB0aGlzLmVkaXRvckZhY2FkZS51cGRhdGVSZWNvcmRGaWVsZCgnc3BhdGlhbEV4dGVudHMnLCBzcGF0aWFsRXh0ZW50cylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgPGduLXVpLWdlbmVyaWMta2V5d29yZHNcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2VkaXRvci5yZWNvcmQuZm9ybS5rZXl3b3Jkcy5wbGFjZS5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3Jkc109XCJzaG93bktleXdvcmRzJCB8IGFzeW5jXCJcbiAgICBba2V5d29yZFR5cGVzXT1cIlsncGxhY2UnXVwiXG4gICAgKGRlbGV0ZWRLZXl3b3JkKT1cImhhbmRsZUtleXdvcmREZWxldGUoJGV2ZW50KVwiXG4gICAgKGFkZGVkS2V5d29yZCk9XCJoYW5kbGVLZXl3b3JkQWRkKCRldmVudClcIlxuICA+XG4gIDwvZ24tdWktZ2VuZXJpYy1rZXl3b3Jkcz5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBoLTk2IG10LTJcIj5cbiAgICA8Z24tdWktc3BhdGlhbC1leHRlbnRcbiAgICAgIFtzcGF0aWFsRXh0ZW50c109XCJzcGF0aWFsRXh0ZW50cyQgfCBhc3luY1wiXG4gICAgPjwvZ24tdWktc3BhdGlhbC1leHRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUtsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQTtBQUMvRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQTtBQUMzSCxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOzs7Ozs7QUFTbkY7Ozs7R0FJRztBQWVILE1BQU0sT0FBTywrQkFBK0I7SUFpRTFDLFlBQ1UsZUFBeUMsRUFDekMsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBRmxDLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUN6QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBbkU1QyxvQkFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDOUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDNUUsQ0FBQTtRQUVELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FDbEMsQ0FBQTtRQUVELG1CQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM3QyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLHlDQUF5QztRQUN6QyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUNyQixPQUFPLENBQUMsR0FBRyxDQUNULFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztnQkFBRSxPQUFPLE9BQU8sQ0FBQTtZQUN0QyxNQUFNLFdBQVcsR0FBRyxNQUFNLGNBQWMsQ0FDdEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FDNUMsT0FBTyxDQUFDLEtBQUssRUFDYixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDckIsQ0FDRixDQUFBO1lBQ0QsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDaEUsT0FBTyxLQUFLLElBQUksT0FBTyxDQUFBO1FBQ3pCLENBQUMsQ0FBQyxDQUNILENBQ0Y7UUFDRCwyRUFBMkU7UUFDM0UsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUMzQixNQUFNLGNBQWMsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7WUFDakUsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzNDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNsQyxNQUFNLGVBQWUsR0FDbkIsTUFBTSxDQUFDLFdBQVc7b0JBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQ1osQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLFdBQVcsQ0FDZCxDQUFBO2dCQUN6QixJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQixlQUFlLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQTtvQkFDdEMsT0FBTyxJQUFJLENBQUE7Z0JBQ2IsQ0FBQztnQkFDRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUE7Z0JBQ2YsSUFBSSxVQUFVLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ3pCLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBLENBQUMsMkRBQTJEO2dCQUNwRixDQUFDO3FCQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUM1QixJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQTtnQkFDcEIsQ0FBQztnQkFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUNwRSxDQUFBO2dCQUNELE9BQU87b0JBQ0wsS0FBSztvQkFDTCxJQUFJLEVBQUUsT0FBTztvQkFDYixHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQ3JCLGFBQWEsRUFBRSxNQUFNO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDSSxDQUFBO1lBQ3hCLENBQUMsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUVqRCxPQUFPLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxDQUFBO1FBQzlDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFBO0lBTUUsQ0FBQztJQUVKLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFnQjtRQUN4QyxNQUFNLGNBQWMsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDakUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFNLGNBQWMsQ0FDekMsSUFBSSxDQUFDLGNBQWMsQ0FDcEIsQ0FBd0IsQ0FBQTtRQUN6QixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUE7UUFDOUQsTUFBTSxZQUFZLEdBQ2hCLGVBQWUsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUMzRCxNQUFNLFVBQVUsR0FBRyxZQUFZO1lBQzdCLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxZQUFZLEtBQUssTUFBTSxDQUFDO1lBQzVELENBQUMsQ0FBQyxjQUFjLENBQUE7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE9BQWdCO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUNqRSxNQUFNLGFBQWEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDL0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLGFBQWEsRUFBRSxPQUFPLENBQXdCLENBQUE7UUFDdEUsSUFBSSxVQUFVLEdBQUcsY0FBYyxDQUFBO1FBQy9CLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLFVBQVUsR0FBRztnQkFDWCxHQUFHLGNBQWM7Z0JBQ2pCO29CQUNFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtvQkFDbEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksU0FBUztpQkFDdEM7YUFDRixDQUFBO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQ2YsYUFBa0MsRUFDbEMsY0FBc0M7UUFFdEMsOEZBQThGO1FBQzlGLE1BQU0scUJBQXFCLEdBQUcsYUFBYTthQUN4QyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQzthQUN4QyxHQUFHLENBQ0YsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUM3QixDQUFDO1lBQ0MsS0FBSztZQUNMLElBQUk7WUFDSixHQUFHLENBQUMsU0FBUyxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7U0FDaEMsQ0FBWSxDQUNoQixDQUFBO1FBRUgsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLGNBQWMsQ0FDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNiLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUNwQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPO1lBQ2xCLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsaUNBQWlDO2FBQ25GLENBQ0osQ0FDRixDQUNGLENBQ0YsQ0FBQTtRQUVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEdBQUcsMkJBQTJCO1lBQzlCLEdBQUcscUJBQXFCO1NBQ3pCLENBQUE7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7K0dBM0lVLCtCQUErQjttR0FBL0IsK0JBQStCLDJGQ3pDNUMsOGdCQWVBLHlERG9CSSxZQUFZLG9GQUNaLHdCQUF3QixrTUFDeEIsYUFBYSxrREFDYixzQkFBc0I7OzRGQUdiLCtCQUErQjtrQkFiM0MsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixhQUFhO3dCQUNiLHNCQUFzQjtxQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIERhdGFzZXRTcGF0aWFsRXh0ZW50LFxuICBLZXl3b3JkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBHZW5lcmljS2V5d29yZHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmljLWtleXdvcmRzL2dlbmVyaWMta2V5d29yZHMuY29tcG9uZW50J1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBFZGl0b3JGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi8uLi8rc3RhdGUvZWRpdG9yLmZhY2FkZSdcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTUEFUSUFMX1NDT1BFUyB9IGZyb20gJy4uLy4uLy4uLy4uL2ZpZWxkcy5jb25maWcnXG5pbXBvcnQgeyBTcGF0aWFsRXh0ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9tYXAvc3JjJ1xuXG4vLyBUaGlzIGludGVybWVkaWFyeSB0eXBlIHdpbGwgbGV0IHVzIGtlZXAgdHJhY2sgb2Ygd2hpY2gga2V5d29yZCBpcyBib3VuZCB0b1xuLy8gd2hpY2ggZXh0ZW50OyB0aGVzZSBwcm9wZXJ0aWVzIHdpbGwgbm90IGJlIHBlcnNpc3RlZFxudHlwZSBLZXl3b3JkV2l0aEV4dGVudCA9IEtleXdvcmQgJiB7XG4gIF9saW5rZWRFeHRlbnQ6IERhdGFzZXRTcGF0aWFsRXh0ZW50XG4gIF9kb05vdFNhdmU6IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBUaGlzIGZvcm0gZmllbGQgaXMgbm90IGxpa2UgdGhlIG90aGVycywgYXMgaXQgd2lsbCByZWFkIGRpcmVjdGx5IGZyb20gdGhlIHN0YXRlIHRvIGhhbmRsZSBib3RoIHNwYXRpYWwgZXh0ZW50c1xuICogYW5kIHBsYWNlIGtleXdvcmRzLlxuICogT3RoZXIgdHlwZXMgb2Yga2V5d29yZHMgd2lsbCBub3QgYmUgdG91Y2hlZCBieSB0aGlzIGZpZWxkLlxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBHZW5lcmljS2V5d29yZHNDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBTcGF0aWFsRXh0ZW50Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IHtcbiAgc3BhdGlhbEV4dGVudHMkID0gdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiAoJ3NwYXRpYWxFeHRlbnRzJyBpbiByZWNvcmQgPyByZWNvcmQ/LnNwYXRpYWxFeHRlbnRzIDogW10pKVxuICApXG5cbiAgYWxsS2V5d29yZHMkID0gdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiByZWNvcmQ/LmtleXdvcmRzKVxuICApXG5cbiAgc2hvd25LZXl3b3JkcyQgPSB0aGlzLmVkaXRvckZhY2FkZS5yZWNvcmQkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+IHJlY29yZD8ua2V5d29yZHMuZmlsdGVyKChrKSA9PiBrLnR5cGUgPT09ICdwbGFjZScpKSxcbiAgICAvLyBsb29rIGZvciBmdWxsIGtleXdvcmRzIGluIHRoZSB0aGVzYXVyaVxuICAgIHN3aXRjaE1hcCgoa2V5d29yZHMpID0+XG4gICAgICBQcm9taXNlLmFsbChcbiAgICAgICAga2V5d29yZHMubWFwKGFzeW5jIChrZXl3b3JkKSA9PiB7XG4gICAgICAgICAgaWYgKCFrZXl3b3JkLnRoZXNhdXJ1cykgcmV0dXJuIGtleXdvcmRcbiAgICAgICAgICBjb25zdCBhbGxLZXl3b3JkcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5wbGF0Zm9ybVNlcnZpY2Uuc2VhcmNoS2V5d29yZHNJblRoZXNhdXJ1cyhcbiAgICAgICAgICAgICAga2V5d29yZC5sYWJlbCxcbiAgICAgICAgICAgICAga2V5d29yZC50aGVzYXVydXMuaWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgY29uc3QgZm91bmQgPSBhbGxLZXl3b3Jkcy5maW5kKChrKSA9PiBrLmxhYmVsID09PSBrZXl3b3JkLmxhYmVsKVxuICAgICAgICAgIHJldHVybiBmb3VuZCA/PyBrZXl3b3JkXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBhZGQgYWRkaXRpb25hbCBcInVubmFtZWRcIiBrZXl3b3JkcyBmb3IgZXh0ZW50cyB3aXRob3V0IGEgbWF0Y2hpbmcga2V5d29yZFxuICAgIHN3aXRjaE1hcChhc3luYyAoa2V5d29yZHMpID0+IHtcbiAgICAgIGNvbnN0IHNwYXRpYWxFeHRlbnRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zcGF0aWFsRXh0ZW50cyQpXG4gICAgICBjb25zdCBrZXl3b3Jkc0Zyb21FeHRlbnRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIHNwYXRpYWxFeHRlbnRzLm1hcChhc3luYyAoZXh0ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdLZXl3b3JkID1cbiAgICAgICAgICAgIGV4dGVudC5kZXNjcmlwdGlvbiAmJlxuICAgICAgICAgICAgKGtleXdvcmRzLmZpbmQoXG4gICAgICAgICAgICAgIChrKSA9PiBrLmtleSA9PT0gZXh0ZW50LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICApIGFzIEtleXdvcmRXaXRoRXh0ZW50KVxuICAgICAgICAgIGlmIChleGlzdGluZ0tleXdvcmQpIHtcbiAgICAgICAgICAgIGV4aXN0aW5nS2V5d29yZC5fbGlua2VkRXh0ZW50ID0gZXh0ZW50XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgYmJveCA9IG51bGxcbiAgICAgICAgICBpZiAoJ2dlb21ldHJ5JyBpbiBleHRlbnQpIHtcbiAgICAgICAgICAgIGJib3ggPSBleHRlbnQuZ2VvbWV0cnkgLy8gRklYTUU6IHRoaXMgc2hvdWxkIGJlIGEgYmJveCB0b28gYnV0IGZvciBub3cgaXQgd29ya3MuLi5cbiAgICAgICAgICB9IGVsc2UgaWYgKCdiYm94JyBpbiBleHRlbnQpIHtcbiAgICAgICAgICAgIGJib3ggPSBleHRlbnQuYmJveFxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBsYWJlbCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnZWRpdG9yLnJlY29yZC5wbGFjZUtleXdvcmRXaXRob3V0TGFiZWwnKVxuICAgICAgICAgIClcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB0eXBlOiAncGxhY2UnLFxuICAgICAgICAgICAgLi4uKGJib3ggJiYgeyBiYm94IH0pLFxuICAgICAgICAgICAgX2xpbmtlZEV4dGVudDogZXh0ZW50LFxuICAgICAgICAgICAgX2RvTm90U2F2ZTogdHJ1ZSxcbiAgICAgICAgICB9IGFzIEtleXdvcmRXaXRoRXh0ZW50XG4gICAgICAgIH0pXG4gICAgICApLnRoZW4oKGtleXdvcmRzKSA9PiBrZXl3b3Jkcy5maWx0ZXIoKGspID0+ICEhaykpXG5cbiAgICAgIHJldHVybiBbLi4ua2V5d29yZHMsIC4uLmtleXdvcmRzRnJvbUV4dGVudHNdXG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBlZGl0b3JGYWNhZGU6IEVkaXRvckZhY2FkZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGhhbmRsZUtleXdvcmREZWxldGUoa2V5d29yZDogS2V5d29yZCkge1xuICAgIGNvbnN0IHNwYXRpYWxFeHRlbnRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zcGF0aWFsRXh0ZW50cyQpXG4gICAgY29uc3Qgc2hvd25LZXl3b3JkcyA9IChhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc2hvd25LZXl3b3JkcyRcbiAgICApKSBhcyBLZXl3b3JkV2l0aEV4dGVudFtdXG4gICAgY29uc3QgbmV3S2V5d29yZHMgPSBzaG93bktleXdvcmRzLmZpbHRlcigoaykgPT4gayAhPT0ga2V5d29yZClcbiAgICBjb25zdCBsaW5rZWRFeHRlbnQgPVxuICAgICAgJ19saW5rZWRFeHRlbnQnIGluIGtleXdvcmQgPyBrZXl3b3JkLl9saW5rZWRFeHRlbnQgOiBudWxsXG4gICAgY29uc3QgbmV3RXh0ZW50cyA9IGxpbmtlZEV4dGVudFxuICAgICAgPyBzcGF0aWFsRXh0ZW50cy5maWx0ZXIoKGV4dGVudCkgPT4gbGlua2VkRXh0ZW50ICE9PSBleHRlbnQpXG4gICAgICA6IHNwYXRpYWxFeHRlbnRzXG4gICAgcmV0dXJuIHRoaXMuZW1pdENoYW5nZXMobmV3S2V5d29yZHMsIG5ld0V4dGVudHMpXG4gIH1cblxuICBhc3luYyBoYW5kbGVLZXl3b3JkQWRkKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc3BhdGlhbEV4dGVudHMkKVxuICAgIGNvbnN0IHNob3duS2V5d29yZHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNob3duS2V5d29yZHMkKVxuICAgIGNvbnN0IG5ld0tleXdvcmRzID0gWy4uLnNob3duS2V5d29yZHMsIGtleXdvcmRdIGFzIEtleXdvcmRXaXRoRXh0ZW50W11cbiAgICBsZXQgbmV3RXh0ZW50cyA9IHNwYXRpYWxFeHRlbnRzXG4gICAgaWYgKGtleXdvcmQuYmJveCkge1xuICAgICAgbmV3RXh0ZW50cyA9IFtcbiAgICAgICAgLi4uc3BhdGlhbEV4dGVudHMsXG4gICAgICAgIHtcbiAgICAgICAgICBiYm94OiBrZXl3b3JkLmJib3gsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGtleXdvcmQua2V5ID8/IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZW1pdENoYW5nZXMobmV3S2V5d29yZHMsIG5ld0V4dGVudHMpXG4gIH1cblxuICBhc3luYyBlbWl0Q2hhbmdlcyhcbiAgICBwbGFjZUtleXdvcmRzOiBLZXl3b3JkV2l0aEV4dGVudFtdLFxuICAgIHNwYXRpYWxFeHRlbnRzOiBEYXRhc2V0U3BhdGlhbEV4dGVudFtdXG4gICkge1xuICAgIC8vIHNvbWUga2V5d29yZHMgYXJlIG9ubHkgcHJlc2VudCB0byBhbGxvdyBjb250cm9sIG92ZXIgZXh0ZW50czsgdGhleSAqKnNob3VsZCBub3QqKiBiZSBzYXZlZCFcbiAgICBjb25zdCBmaWx0ZXJlZFBsYWNlS2V5d29yZHMgPSBwbGFjZUtleXdvcmRzXG4gICAgICAuZmlsdGVyKChrZXl3b3JkKSA9PiAha2V5d29yZC5fZG9Ob3RTYXZlKVxuICAgICAgLm1hcChcbiAgICAgICAgKHsgbGFiZWwsIHRoZXNhdXJ1cywgdHlwZSB9KSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAuLi4odGhlc2F1cnVzICYmIHsgdGhlc2F1cnVzIH0pLFxuICAgICAgICAgIH0pIGFzIEtleXdvcmRcbiAgICAgIClcblxuICAgIGNvbnN0IG5vdFBsYWNlS3dBbmRTcGF0aWFsU2NvcGVLdyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgICAgICBtYXAoKHJlY29yZCkgPT5cbiAgICAgICAgICByZWNvcmQua2V5d29yZHMuZmlsdGVyKFxuICAgICAgICAgICAgKGspID0+XG4gICAgICAgICAgICAgIGsudHlwZSAhPT0gJ3BsYWNlJyB8fFxuICAgICAgICAgICAgICBTUEFUSUFMX1NDT1BFUy5zb21lKFxuICAgICAgICAgICAgICAgIChzcGF0aWFsU2NvcGUpID0+IHNwYXRpYWxTY29wZS5sYWJlbCA9PT0gay5sYWJlbCAvLyBnZXQgYmFjayBzcGF0aWFsU2NvcGUga2V5d29yZHNcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcblxuICAgIGNvbnN0IGFsbEtleXdvcmRzID0gW1xuICAgICAgLi4ubm90UGxhY2VLd0FuZFNwYXRpYWxTY29wZUt3LFxuICAgICAgLi4uZmlsdGVyZWRQbGFjZUtleXdvcmRzLFxuICAgIF1cblxuICAgIHRoaXMuZWRpdG9yRmFjYWRlLnVwZGF0ZVJlY29yZEZpZWxkKCdrZXl3b3JkcycsIGFsbEtleXdvcmRzKVxuICAgIHRoaXMuZWRpdG9yRmFjYWRlLnVwZGF0ZVJlY29yZEZpZWxkKCdzcGF0aWFsRXh0ZW50cycsIHNwYXRpYWxFeHRlbnRzKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICA8Z24tdWktZ2VuZXJpYy1rZXl3b3Jkc1xuICAgIFtwbGFjZWhvbGRlcl09XCInZWRpdG9yLnJlY29yZC5mb3JtLmtleXdvcmRzLnBsYWNlLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2tleXdvcmRzXT1cInNob3duS2V5d29yZHMkIHwgYXN5bmNcIlxuICAgIFtrZXl3b3JkVHlwZXNdPVwiWydwbGFjZSddXCJcbiAgICAoZGVsZXRlZEtleXdvcmQpPVwiaGFuZGxlS2V5d29yZERlbGV0ZSgkZXZlbnQpXCJcbiAgICAoYWRkZWRLZXl3b3JkKT1cImhhbmRsZUtleXdvcmRBZGQoJGV2ZW50KVwiXG4gID5cbiAgPC9nbi11aS1nZW5lcmljLWtleXdvcmRzPlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGgtOTYgbXQtMlwiPlxuICAgIDxnbi11aS1zcGF0aWFsLWV4dGVudFxuICAgICAgW3NwYXRpYWxFeHRlbnRzXT1cInNwYXRpYWxFeHRlbnRzJCB8IGFzeW5jXCJcbiAgICA+PC9nbi11aS1zcGF0aWFsLWV4dGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==