geonetwork-ui 2.3.2 → 2.4.0-alpha.1.09f416f8

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 (1213) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +4 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +64 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +14 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +266 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/index.mjs +2 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.mjs +17 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +227 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +57 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +96 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.mjs +2 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +47 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/function-utils.mjs +1 -1
  14. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  15. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +6 -5
  16. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +24 -8
  17. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +4 -4
  18. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/index.mjs +2 -1
  19. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +2 -0
  20. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  21. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +12 -8
  22. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +27 -11
  23. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +53 -43
  24. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +104 -52
  25. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +107 -25
  26. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
  27. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  28. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +151 -101
  29. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +118 -24
  30. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +4 -4
  31. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +4 -4
  32. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -4
  33. package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
  34. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +156 -14
  35. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +5 -4
  36. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +6 -4
  37. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +25 -7
  38. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +114 -18
  39. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
  40. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
  41. package/esm2022/libs/common/domain/src/lib/model/error/index.mjs +2 -0
  42. package/esm2022/libs/common/domain/src/lib/model/error/publication-version.error.mjs +8 -0
  43. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
  44. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  45. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  46. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  47. package/esm2022/libs/common/domain/src/lib/model/record/translation.model.mjs +2 -0
  48. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  49. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  50. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  51. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  52. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  53. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  54. package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +4 -4
  55. package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +4 -4
  56. package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +4 -4
  57. package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +4 -4
  58. package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +4 -4
  59. package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +4 -4
  60. package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +4 -4
  61. package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +4 -4
  62. package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +4 -4
  63. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +4 -4
  64. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +4 -4
  65. package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +4 -4
  66. package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +4 -4
  67. package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +4 -4
  68. package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +4 -4
  69. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +6 -10
  70. package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +4 -4
  71. package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +4 -4
  72. package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +4 -4
  73. package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +4 -4
  74. package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +4 -4
  75. package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +4 -4
  76. package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +4 -4
  77. package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +4 -4
  78. package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +4 -4
  79. package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +4 -4
  80. package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +4 -4
  81. package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +4 -4
  82. package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +4 -4
  83. package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +4 -4
  84. package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +4 -4
  85. package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +4 -4
  86. package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +5 -5
  87. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  88. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +5 -5
  89. package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
  90. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +11 -8
  91. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
  92. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +12 -12
  93. package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
  94. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +7 -9
  95. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +4 -4
  96. package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +4 -4
  97. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
  98. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +8 -8
  99. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +18 -12
  100. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -4
  101. package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
  102. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +41 -51
  103. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +4 -4
  104. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +5 -5
  105. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  106. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +4 -1
  107. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +37 -8
  108. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +19 -7
  109. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  110. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +12 -4
  111. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +18 -6
  112. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +16 -0
  113. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +88 -0
  114. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +113 -0
  115. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +85 -0
  116. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +70 -0
  117. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +4 -4
  118. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  119. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +157 -0
  120. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  121. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +4 -4
  122. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +50 -0
  123. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +13 -11
  124. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +79 -0
  125. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +4 -4
  126. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +151 -0
  127. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +191 -0
  128. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  129. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +104 -0
  130. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +14 -18
  131. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +11 -10
  132. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +141 -6
  133. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +88 -0
  134. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +73 -57
  135. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +53 -70
  136. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +5 -3
  137. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +15 -9
  138. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +5 -5
  139. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +11 -11
  140. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +4 -4
  141. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  142. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +12 -9
  143. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +217 -45
  144. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  145. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  146. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +36 -45
  147. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +4 -4
  148. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  149. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  150. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +12 -18
  151. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  152. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  153. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +8 -8
  154. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +21 -20
  155. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +25 -16
  156. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +17 -16
  157. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +20 -15
  158. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +18 -13
  159. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  160. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +12 -75
  161. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +44 -30
  162. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +4 -4
  163. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +65 -21
  164. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  165. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  166. package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
  167. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +14 -173
  168. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +5 -5
  169. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
  170. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +4 -4
  171. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -4
  172. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +44 -25
  173. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +15 -7
  174. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +51 -17
  175. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +24 -20
  176. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +46 -18
  177. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +41 -53
  178. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
  179. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +7 -5
  180. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
  181. package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +4 -4
  182. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  183. package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
  184. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +12 -5
  185. package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
  186. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +4 -4
  187. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +11 -4
  188. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  189. package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
  190. package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +5 -5
  191. package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +4 -4
  192. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
  193. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +11 -12
  194. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +4 -4
  195. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -6
  196. package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +4 -4
  197. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
  198. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +4 -4
  199. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +4 -4
  200. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +94 -0
  201. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +4 -4
  202. package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +4 -4
  203. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +4 -4
  204. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +11 -6
  205. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
  206. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +20 -1
  207. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +13 -7
  208. package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
  209. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +4 -4
  210. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  211. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +8 -8
  212. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +9 -9
  213. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -4
  214. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +28 -14
  215. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +4 -4
  216. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +9 -12
  217. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +4 -4
  218. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  219. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +33 -7
  220. package/esm2022/libs/ui/elements/src/index.mjs +5 -4
  221. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +8 -8
  222. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -4
  223. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +27 -0
  224. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +4 -4
  225. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +8 -8
  226. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +4 -4
  227. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +9 -7
  228. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +8 -8
  229. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +18 -8
  230. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +8 -9
  231. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +5 -5
  232. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -4
  233. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +8 -8
  234. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +5 -5
  235. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +15 -15
  236. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +7 -13
  237. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +7 -7
  238. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +38 -7
  239. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +9 -9
  240. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +7 -7
  241. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +7 -7
  242. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +30 -11
  243. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +4 -4
  244. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +78 -19
  245. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +4 -4
  246. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +9 -9
  247. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -5
  248. package/esm2022/libs/ui/inputs/src/index.mjs +7 -1
  249. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +98 -31
  250. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +44 -0
  251. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +11 -4
  252. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -4
  253. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -4
  254. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +4 -4
  255. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +7 -7
  256. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +24 -7
  257. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +38 -16
  258. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +4 -4
  259. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +7 -7
  260. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +25 -9
  261. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +28 -26
  262. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +103 -0
  263. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
  264. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +50 -22
  265. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +6 -6
  266. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +17 -7
  267. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +19 -7
  268. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +6 -6
  269. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +34 -0
  270. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +9 -23
  271. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +8 -19
  272. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +48 -28
  273. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +69 -0
  274. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +4 -4
  275. package/esm2022/libs/ui/layout/src/index.mjs +4 -1
  276. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +4 -4
  277. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +4 -4
  278. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +4 -4
  279. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +6 -6
  280. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +6 -6
  281. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +7 -6
  282. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +4 -4
  283. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +7 -7
  284. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
  285. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  286. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +35 -0
  287. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -4
  288. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +20 -8
  289. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  290. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +10 -8
  291. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +147 -0
  292. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  293. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  294. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  295. package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
  296. package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +7 -7
  297. package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +4 -4
  298. package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +5 -5
  299. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  300. package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +4 -4
  301. package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +4 -4
  302. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +4 -4
  303. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +6 -6
  304. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +4 -4
  305. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +6 -6
  306. package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +4 -4
  307. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +4 -4
  308. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +4 -4
  309. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +4 -4
  310. package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +4 -4
  311. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +59 -0
  312. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +197 -0
  313. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +31 -11
  314. package/esm2022/libs/ui/widgets/src/index.mjs +2 -2
  315. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +4 -4
  316. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +4 -4
  317. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
  318. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +8 -6
  319. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +4 -4
  320. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +4 -4
  321. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +4 -4
  322. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +7 -21
  323. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  324. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  325. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  326. package/esm2022/libs/util/i18n/src/index.mjs +2 -1
  327. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +1 -38
  328. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
  329. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +5 -5
  330. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +40 -0
  331. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +5 -5
  332. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +4 -4
  333. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +4 -4
  334. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  335. package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +4 -4
  336. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +4 -4
  337. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +5 -4
  338. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +5 -5
  339. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  340. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  341. package/esm2022/libs/util/shared/src/lib/utils/no-duplicate-file-name.mjs +19 -0
  342. package/esm2022/translations/de.json +182 -34
  343. package/esm2022/translations/en.json +189 -41
  344. package/esm2022/translations/es.json +159 -11
  345. package/esm2022/translations/fr.json +220 -72
  346. package/esm2022/translations/it.json +162 -14
  347. package/esm2022/translations/nl.json +159 -11
  348. package/esm2022/translations/pt.json +159 -11
  349. package/fesm2022/geonetwork-ui.mjs +9969 -5377
  350. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  351. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  352. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  353. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  354. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  355. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  356. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  357. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  358. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  359. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  360. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  361. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  362. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  363. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +21 -0
  364. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  365. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +15 -0
  366. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  367. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  368. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  369. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  370. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  371. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  372. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  373. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  374. package/libs/api/metadata-converter/src/lib/function-utils.d.ts +1 -1
  375. package/libs/api/metadata-converter/src/lib/function-utils.d.ts.map +1 -1
  376. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  377. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -1
  378. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  379. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  380. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts +1 -0
  381. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts.map +1 -1
  382. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +27 -0
  383. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -0
  384. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  385. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  386. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  387. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +6 -4
  388. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  389. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +5 -4
  390. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  391. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +3 -2
  392. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  393. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +23 -9
  394. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  395. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
  396. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
  397. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +1 -1
  398. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -1
  399. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +20 -15
  400. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  401. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +104 -2
  402. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  403. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +35 -8
  404. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  405. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  406. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  407. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +3 -3
  408. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  409. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +20 -8
  410. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  411. package/libs/common/domain/src/lib/model/error/index.d.ts +2 -0
  412. package/libs/common/domain/src/lib/model/error/index.d.ts.map +1 -0
  413. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts +5 -0
  414. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts.map +1 -0
  415. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +2 -1
  416. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  417. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  418. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  419. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +24 -16
  420. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  421. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +3 -0
  422. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  423. package/libs/common/domain/src/lib/model/record/translation.model.d.ts +26 -0
  424. package/libs/common/domain/src/lib/model/record/translation.model.d.ts.map +1 -0
  425. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +12 -5
  426. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  427. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  428. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  429. package/libs/common/domain/src/lib/platform.service.interface.d.ts +20 -3
  430. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  431. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +51 -1
  432. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  433. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  434. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  435. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  436. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  437. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +6 -6
  438. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  439. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  440. package/libs/feature/catalog/src/index.d.ts +1 -0
  441. package/libs/feature/catalog/src/index.d.ts.map +1 -1
  442. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  443. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  444. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  445. package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
  446. package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
  447. package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
  448. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  449. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  450. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -8
  451. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  452. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  453. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  454. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  455. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  456. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  457. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  458. package/libs/feature/editor/src/index.d.ts +1 -0
  459. package/libs/feature/editor/src/index.d.ts.map +1 -1
  460. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +11 -0
  461. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  462. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +13 -1
  463. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  464. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +14 -11
  465. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  466. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +9 -1
  467. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  468. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +13 -2
  469. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  470. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +7 -9
  471. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  472. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +8 -0
  473. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  474. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  475. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  476. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  477. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  478. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  479. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  480. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +16 -0
  481. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -0
  482. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  483. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  484. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +41 -0
  485. 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 -0
  486. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  487. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
  488. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +17 -0
  489. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -0
  490. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  491. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  492. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +15 -0
  493. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -0
  494. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
  495. 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 -0
  496. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +44 -0
  497. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -0
  498. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  499. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -0
  500. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +31 -0
  501. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
  502. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  503. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  504. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  505. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  506. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  507. 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
  508. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +25 -0
  509. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -0
  510. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +9 -9
  511. 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
  512. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +19 -25
  513. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  514. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +4 -2
  515. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  516. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +7 -7
  517. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  518. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  519. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  520. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  521. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  522. package/libs/feature/editor/src/lib/fields.config.d.ts +56 -2
  523. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  524. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +42 -0
  525. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  526. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  527. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  528. package/libs/feature/editor/src/lib/services/editor.service.d.ts +8 -10
  529. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  530. package/libs/feature/map/src/index.d.ts +1 -8
  531. package/libs/feature/map/src/index.d.ts.map +1 -1
  532. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  533. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  534. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  535. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  536. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  537. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  538. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  539. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  540. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  541. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  542. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +8 -10
  543. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  544. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  545. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  546. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +3 -3
  547. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  548. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +2 -2
  549. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  550. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +2 -2
  551. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  552. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  553. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  554. package/libs/feature/map/src/lib/feature-map.module.d.ts +11 -23
  555. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  556. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  557. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  558. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +5 -4
  559. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  560. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  561. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  562. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  563. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  564. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  565. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  566. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  567. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  568. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  569. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  570. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  571. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  572. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  573. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  574. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  575. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  576. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -10
  577. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  578. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
  579. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  580. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  581. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  582. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  583. package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
  584. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  585. package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
  586. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  587. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
  588. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  589. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
  590. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  591. package/libs/feature/search/src/index.d.ts +1 -1
  592. package/libs/feature/search/src/index.d.ts.map +1 -1
  593. package/libs/feature/search/src/lib/feature-search.module.d.ts +3 -3
  594. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  595. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  596. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +37 -0
  597. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
  598. package/libs/feature/search/src/lib/state/search.facade.d.ts +2 -0
  599. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  600. package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
  601. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  602. package/libs/feature/search/src/lib/utils/service/fields.d.ts +5 -0
  603. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  604. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  605. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
  606. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  607. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  608. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -9
  609. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  610. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
  611. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  612. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  613. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  614. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +3 -3
  615. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +1 -1
  616. package/libs/ui/elements/src/index.d.ts +4 -3
  617. package/libs/ui/elements/src/index.d.ts.map +1 -1
  618. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
  619. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
  620. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  621. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  622. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  623. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  624. package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
  625. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  626. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  627. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  628. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  629. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  630. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -3
  631. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  632. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts +1 -1
  633. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  634. package/libs/ui/elements/src/lib/notification/notification.component.d.ts +1 -0
  635. package/libs/ui/elements/src/lib/notification/notification.component.d.ts.map +1 -1
  636. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  637. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
  638. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  639. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +21 -18
  640. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  641. package/libs/ui/inputs/src/index.d.ts +6 -0
  642. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  643. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +15 -4
  644. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  645. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts +11 -0
  646. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -0
  647. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  648. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  649. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  650. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +4 -4
  651. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  652. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  653. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  654. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  655. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  656. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  657. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  658. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  659. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -1
  660. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  661. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  662. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +17 -0
  663. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  664. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  665. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  666. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  667. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  668. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +33 -35
  669. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  670. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +21 -0
  671. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  672. package/libs/ui/layout/src/index.d.ts +3 -0
  673. package/libs/ui/layout/src/index.d.ts.map +1 -1
  674. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  675. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  676. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  677. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  678. package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
  679. package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
  680. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  681. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  682. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  683. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  684. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +3 -3
  685. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  686. package/libs/ui/map/src/index.d.ts +3 -2
  687. package/libs/ui/map/src/index.d.ts.map +1 -1
  688. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  689. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  690. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  691. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  692. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  693. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  694. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  695. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  696. package/libs/ui/search/src/index.d.ts +1 -0
  697. package/libs/ui/search/src/index.d.ts.map +1 -1
  698. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  699. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  700. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +24 -0
  701. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  702. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +46 -0
  703. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  704. package/libs/ui/search/src/lib/ui-search.module.d.ts +5 -5
  705. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  706. package/libs/ui/widgets/src/index.d.ts +1 -1
  707. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  708. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
  709. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
  710. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
  711. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  712. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +9 -12
  713. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  714. package/libs/util/app-config/src/index.d.ts +1 -0
  715. package/libs/util/app-config/src/index.d.ts.map +1 -1
  716. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  717. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  718. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  719. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  720. package/libs/util/i18n/src/index.d.ts +1 -0
  721. package/libs/util/i18n/src/index.d.ts.map +1 -1
  722. package/libs/util/i18n/src/lib/i18n.constants.d.ts +0 -35
  723. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  724. package/libs/util/i18n/src/lib/language-codes.d.ts +38 -0
  725. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -0
  726. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  727. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  728. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  729. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  730. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  731. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  732. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  733. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  734. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  735. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts +2 -0
  736. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts.map +1 -0
  737. package/package.json +5 -3
  738. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  739. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  740. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  741. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +500 -0
  742. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  743. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  744. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +463 -0
  745. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +110 -0
  746. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  747. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  748. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  749. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +127 -0
  750. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  751. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
  752. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  753. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +101 -0
  754. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  755. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +743 -0
  756. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +41 -5
  757. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +24 -5
  758. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +364 -17
  759. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +82 -4
  760. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +437 -0
  761. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +487 -0
  762. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +76 -0
  763. package/src/libs/api/metadata-converter/src/lib/function-utils.ts +1 -1
  764. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  765. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +2 -1
  766. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +31 -18
  767. package/src/libs/api/metadata-converter/src/lib/gn4/types/index.ts +1 -0
  768. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +27 -0
  769. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  770. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +16 -9
  771. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +57 -14
  772. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +112 -65
  773. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +118 -53
  774. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +283 -54
  775. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
  776. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +1 -1
  777. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +486 -289
  778. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +132 -28
  779. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +291 -16
  780. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
  781. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
  782. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +37 -5
  783. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +248 -31
  784. package/src/libs/common/domain/src/lib/model/error/index.ts +1 -0
  785. package/src/libs/common/domain/src/lib/model/error/publication-version.error.ts +9 -0
  786. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +29 -1
  787. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  788. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +37 -20
  789. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +5 -0
  790. package/src/libs/common/domain/src/lib/model/record/translation.model.ts +49 -0
  791. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +13 -6
  792. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  793. package/src/libs/common/domain/src/lib/platform.service.interface.ts +38 -3
  794. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +72 -3
  795. package/src/libs/common/fixtures/src/index.ts +6 -1
  796. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  797. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  798. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  799. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  800. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1673 -3
  801. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  802. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  803. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  804. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  805. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  806. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  807. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  808. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  809. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  810. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  811. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  812. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  813. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +65 -3
  814. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  815. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +220 -16
  816. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  817. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  818. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  819. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +45 -15
  820. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
  821. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
  822. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  823. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  824. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +10 -14
  825. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  826. package/src/libs/data-access/gn4/src/spec.yaml +4 -13
  827. package/src/libs/feature/catalog/src/index.ts +1 -0
  828. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -2
  829. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
  830. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
  831. package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
  832. package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
  833. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  834. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -1
  835. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  836. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +8 -3
  837. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  838. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  839. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  840. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  841. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -1
  842. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  843. package/src/libs/feature/editor/src/index.ts +1 -0
  844. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +14 -1
  845. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +97 -17
  846. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +28 -4
  847. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +12 -1
  848. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +32 -9
  849. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +32 -8
  850. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +15 -0
  851. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +17 -0
  852. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.css +3 -0
  853. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  854. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +100 -0
  855. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +46 -0
  856. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +152 -0
  857. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  858. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +92 -0
  859. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +31 -0
  860. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +80 -0
  861. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  862. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  863. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
  864. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +66 -0
  865. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +221 -0
  866. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  867. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  868. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +10 -0
  869. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +78 -0
  870. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  871. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  872. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -0
  873. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +86 -0
  874. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +43 -0
  875. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +186 -0
  876. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.css +0 -0
  877. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +71 -0
  878. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +241 -0
  879. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  880. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  881. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  882. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css +0 -0
  883. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -0
  884. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +123 -0
  885. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  886. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  887. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  888. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  889. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  890. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  891. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  892. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +34 -0
  893. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +98 -0
  894. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  895. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  896. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +101 -90
  897. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +127 -83
  898. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +61 -77
  899. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +4 -2
  900. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +52 -9
  901. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +20 -7
  902. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  903. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  904. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  905. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +4 -2
  906. package/src/libs/feature/editor/src/lib/fields.config.ts +258 -45
  907. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +65 -0
  908. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  909. package/src/libs/feature/editor/src/lib/services/editor.service.ts +48 -54
  910. package/src/libs/feature/map/src/index.ts +1 -8
  911. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  912. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  913. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  914. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  915. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  916. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +23 -22
  917. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +22 -11
  918. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  919. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +21 -19
  920. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  921. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +17 -10
  922. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  923. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +17 -10
  924. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  925. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -43
  926. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  927. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +5 -7
  928. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +58 -6
  929. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  930. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  931. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  932. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  933. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -232
  934. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  935. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  936. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  937. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  938. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  939. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +1 -1
  940. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +29 -20
  941. package/src/libs/feature/record/src/lib/feature-record.module.ts +27 -8
  942. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +6 -10
  943. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
  944. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +1 -3
  945. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  946. package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
  947. package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
  948. package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
  949. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +8 -0
  950. package/src/libs/feature/search/src/index.ts +1 -1
  951. package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -3
  952. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +2 -1
  953. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
  954. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.css +0 -0
  955. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +15 -0
  956. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +114 -0
  957. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  958. package/src/libs/feature/search/src/lib/state/search.facade.ts +11 -0
  959. package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
  960. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +19 -2
  961. package/src/libs/feature/search/src/lib/utils/service/fields.ts +26 -0
  962. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +10 -9
  963. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  964. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  965. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +13 -6
  966. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  967. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +15 -7
  968. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
  969. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  970. package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +17 -2
  971. package/src/libs/ui/elements/src/index.ts +4 -3
  972. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
  973. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.css +0 -0
  974. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +12 -0
  975. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +37 -0
  976. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +5 -3
  977. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  978. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  979. package/src/libs/ui/elements/src/lib/error/error.component.css +24 -19
  980. package/src/libs/ui/elements/src/lib/error/error.component.html +27 -13
  981. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
  982. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -3
  983. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +2 -6
  984. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +16 -5
  985. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -17
  986. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -3
  987. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +7 -1
  988. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +20 -22
  989. package/src/libs/ui/elements/src/lib/metadata-info/linkify.directive.ts +1 -1
  990. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +1 -1
  991. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +26 -23
  992. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
  993. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -10
  994. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  995. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +1 -1
  996. package/src/libs/ui/elements/src/lib/notification/notification.component.html +9 -13
  997. package/src/libs/ui/elements/src/lib/notification/notification.component.ts +33 -2
  998. package/src/libs/ui/elements/src/lib/pagination/pagination.component.html +2 -2
  999. package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.html +2 -2
  1000. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.css +2 -2
  1001. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  1002. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +5 -4
  1003. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
  1004. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +59 -8
  1005. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +2 -6
  1006. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  1007. package/src/libs/ui/inputs/src/index.ts +6 -0
  1008. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +20 -21
  1009. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +36 -18
  1010. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +112 -30
  1011. package/src/libs/ui/inputs/src/lib/badge/badge.component.css +0 -0
  1012. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +26 -0
  1013. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +41 -0
  1014. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  1015. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.html +4 -4
  1016. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  1017. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +12 -5
  1018. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +27 -3
  1019. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  1020. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +27 -24
  1021. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +31 -16
  1022. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +16 -20
  1023. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +5 -4
  1024. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +16 -2
  1025. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  1026. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  1027. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  1028. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +106 -0
  1029. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  1030. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +81 -79
  1031. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +44 -16
  1032. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -3
  1033. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +2 -10
  1034. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +16 -2
  1035. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.html +2 -2
  1036. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +16 -1
  1037. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +0 -9
  1038. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +1 -5
  1039. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +32 -0
  1040. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +14 -0
  1041. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +39 -0
  1042. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  1043. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  1044. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  1045. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  1046. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +32 -11
  1047. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  1048. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +35 -0
  1049. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +67 -0
  1050. package/src/libs/ui/layout/src/index.ts +3 -0
  1051. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +2 -4
  1052. package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.html +2 -6
  1053. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  1054. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -4
  1055. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +5 -9
  1056. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +12 -11
  1057. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +8 -2
  1058. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.css +0 -0
  1059. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +2 -1
  1060. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
  1061. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  1062. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  1063. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  1064. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.css +18 -0
  1065. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  1066. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +45 -0
  1067. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +18 -3
  1068. package/src/libs/ui/map/src/index.ts +3 -2
  1069. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  1070. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  1071. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  1072. package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +4 -3
  1073. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +214 -0
  1074. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  1075. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  1076. package/src/libs/ui/search/src/index.ts +1 -0
  1077. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  1078. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +14 -12
  1079. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +8 -8
  1080. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  1081. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +59 -0
  1082. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +58 -0
  1083. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
  1084. package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +66 -16
  1085. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +235 -0
  1086. package/src/libs/ui/search/src/lib/ui-search.module.ts +17 -2
  1087. package/src/libs/ui/widgets/src/index.ts +1 -1
  1088. package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
  1089. package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
  1090. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
  1091. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.html +1 -3
  1092. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +10 -0
  1093. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -8
  1094. package/src/libs/util/app-config/src/index.ts +1 -0
  1095. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  1096. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  1097. package/src/libs/util/i18n/src/index.ts +1 -0
  1098. package/src/libs/util/i18n/src/lib/i18n.constants.ts +0 -43
  1099. package/src/libs/util/i18n/src/lib/lang.service.ts +1 -1
  1100. package/src/libs/util/i18n/src/lib/language-codes.ts +44 -0
  1101. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  1102. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  1103. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  1104. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  1105. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  1106. package/src/libs/util/shared/src/lib/utils/no-duplicate-file-name.ts +23 -0
  1107. package/tailwind.base.config.js +1 -0
  1108. package/tailwind.base.css +90 -10
  1109. package/translations/de.json +182 -34
  1110. package/translations/en.json +189 -41
  1111. package/translations/es.json +159 -11
  1112. package/translations/fr.json +220 -72
  1113. package/translations/it.json +162 -14
  1114. package/translations/nl.json +159 -11
  1115. package/translations/pt.json +159 -11
  1116. package/translations/sk.json +161 -13
  1117. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  1118. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +0 -11
  1119. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  1120. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  1121. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  1122. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  1123. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  1124. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  1125. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  1126. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  1127. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  1128. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  1129. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  1130. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  1131. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  1132. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -128
  1133. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
  1134. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  1135. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  1136. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +0 -17
  1137. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  1138. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
  1139. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts +0 -6
  1140. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +0 -1
  1141. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  1142. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  1143. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  1144. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  1145. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  1146. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  1147. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  1148. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  1149. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  1150. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  1151. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  1152. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  1153. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  1154. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  1155. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  1156. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  1157. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  1158. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  1159. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  1160. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  1161. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  1162. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  1163. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  1164. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  1165. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  1166. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  1167. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -33
  1168. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
  1169. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
  1170. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  1171. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  1172. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  1173. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  1174. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts +0 -7
  1175. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts.map +0 -1
  1176. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  1177. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  1178. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  1179. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -8
  1180. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -70
  1181. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  1182. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  1183. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.html +0 -1
  1184. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.ts +0 -10
  1185. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  1186. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
  1187. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  1188. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  1189. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  1190. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  1191. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  1192. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  1193. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  1194. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  1195. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  1196. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  1197. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -51
  1198. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  1199. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  1200. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -164
  1201. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  1202. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  1203. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +0 -10
  1204. package/src/libs/ui/widgets/src/lib/badge/badge.component.ts +0 -11
  1205. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  1206. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → import-record/import-record.component.css} +0 -0
  1207. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.css → online-resource-card/online-resource-card.component.css} +0 -0
  1208. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.css} +0 -0
  1209. /package/src/libs/feature/{map/src/lib/map-context/component/map-context.component.css → editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.css} +0 -0
  1210. /package/src/libs/feature/{search/src/lib/results-table/results-table.component.css → editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.css} +0 -0
  1211. /package/src/libs/{ui/elements/src/lib/max-lines/max-lines.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.css} +0 -0
  1212. /package/src/libs/{ui/map/src/lib/components/map/map.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css} +0 -0
  1213. /package/src/libs/{ui/widgets/src/lib/badge/badge.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { BaseConverter } from '../base.converter';
2
2
  import { isEqual } from '../convert-utils';
3
3
  import { createDocument, createElement, getRootElement, parseXmlString, xmlToString, } from '../xml-utils';
4
- import { readAbstract, readContacts, readContactsForResource, readDistributions, readIsoTopics, readKeywords, readKind, readLegalConstraints, readLicenses, readLineage, readOnlineResources, readOtherConstraints, readOverviews, readOwnerOrganization, readRecordUpdated, readResourceCreated, readResourcePublished, readResourceUpdated, readSecurityConstraints, readSpatialRepresentation, readStatus, readTemporalExtents, readTitle, readUniqueIdentifier, readUpdateFrequency, } from './read-parts';
5
- import { writeAbstract, writeContacts, writeContactsForResource, writeDistributions, writeGraphicOverviews, writeKeywords, writeKind, writeLegalConstraints, writeLicenses, writeLineage, writeOnlineResources, writeOtherConstraints, writeOwnerOrganization, writeRecordUpdated, writeResourceCreated, writeResourcePublished, writeResourceUpdated, writeSecurityConstraints, writeSpatialRepresentation, writeStatus, writeTemporalExtents, writeTitle, writeTopics, writeUniqueIdentifier, writeUpdateFrequency, } from './write-parts';
4
+ import { readAbstract, readContacts, readContactsForResource, readDefaultLanguage, readIsoTopics, readKeywords, readKind, readLegalConstraints, readLicenses, readLineage, readOnlineResources, readOtherConstraints, readOtherLanguages, readOverviews, readOwnerOrganization, readRecordUpdated, readResourceCreated, readResourcePublished, readResourceUpdated, readSecurityConstraints, readSpatialExtents, readSpatialRepresentation, readStatus, readTemporalExtents, readTitle, readUniqueIdentifier, readUpdateFrequency, } from './read-parts';
5
+ import { writeAbstract, writeContacts, writeContactsForResource, writeDefaultLanguage, writeGraphicOverviews, writeKeywords, writeKind, writeLanguages, writeLegalConstraints, writeLicenses, writeLineage, writeOnlineResources, writeOtherConstraints, writeRecordUpdated, writeResourceCreated, writeResourcePublished, writeResourceUpdated, writeSecurityConstraints, writeSpatialExtents, writeSpatialRepresentation, writeStatus, writeTemporalExtents, writeTitle, writeTopics, writeUniqueIdentifier, writeUpdateFrequency, } from './write-parts';
6
6
  export class Iso19139Converter extends BaseConverter {
7
7
  constructor() {
8
8
  super(...arguments);
@@ -31,19 +31,20 @@ export class Iso19139Converter extends BaseConverter {
31
31
  spatialRepresentation: readSpatialRepresentation,
32
32
  overviews: readOverviews,
33
33
  lineage: readLineage,
34
- distributions: readDistributions,
35
34
  onlineResources: readOnlineResources,
36
35
  temporalExtents: readTemporalExtents,
36
+ spatialExtents: readSpatialExtents,
37
+ otherLanguages: readOtherLanguages,
38
+ defaultLanguage: readDefaultLanguage,
37
39
  // TODO
38
- spatialExtents: () => [],
39
40
  extras: () => undefined,
40
41
  landingPage: () => undefined,
41
- languages: () => [],
42
+ translations: () => undefined,
42
43
  };
43
44
  this.writers = {
44
45
  uniqueIdentifier: writeUniqueIdentifier,
45
46
  kind: writeKind,
46
- ownerOrganization: writeOwnerOrganization,
47
+ ownerOrganization: () => undefined,
47
48
  recordUpdated: writeRecordUpdated,
48
49
  recordCreated: () => undefined,
49
50
  recordPublished: () => undefined,
@@ -65,55 +66,102 @@ export class Iso19139Converter extends BaseConverter {
65
66
  spatialRepresentation: writeSpatialRepresentation,
66
67
  overviews: writeGraphicOverviews,
67
68
  lineage: writeLineage,
68
- distributions: writeDistributions,
69
69
  onlineResources: writeOnlineResources,
70
70
  temporalExtents: writeTemporalExtents,
71
+ spatialExtents: writeSpatialExtents,
72
+ otherLanguages: writeLanguages,
73
+ defaultLanguage: writeDefaultLanguage,
71
74
  // TODO
72
- spatialExtents: () => undefined,
73
75
  extras: () => undefined,
74
76
  landingPage: () => undefined,
75
- languages: () => undefined,
77
+ translations: () => undefined,
76
78
  };
77
79
  }
78
80
  beforeDocumentCreation(rootElement) {
79
81
  // to override
80
82
  }
83
+ afterRecordRead(record) {
84
+ function fixLanguages(target) {
85
+ if (!('translations' in target))
86
+ return;
87
+ for (const fieldName in target.translations) {
88
+ const fieldTranslations = target.translations[fieldName] ?? {};
89
+ // remove redundant translations
90
+ if (record.defaultLanguage in fieldTranslations) {
91
+ delete fieldTranslations[record.defaultLanguage];
92
+ }
93
+ // remove translated values if they have no translations
94
+ if (Object.keys(fieldTranslations).length === 0) {
95
+ delete target.translations[fieldName];
96
+ continue;
97
+ }
98
+ // add languages that have translations to the root language list
99
+ for (const lang in fieldTranslations) {
100
+ if (!record.otherLanguages.includes(lang)) {
101
+ record.otherLanguages.push(lang);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ fixLanguages(record);
107
+ record.keywords.map(fixLanguages);
108
+ record.onlineResources.map(fixLanguages);
109
+ record.licenses.map(fixLanguages);
110
+ record.legalConstraints.map(fixLanguages);
111
+ record.securityConstraints.map(fixLanguages);
112
+ record.otherConstraints.map(fixLanguages);
113
+ record.contacts.map((c) => fixLanguages(c.organization));
114
+ record.contactsForResource.map((c) => fixLanguages(c.organization));
115
+ fixLanguages(record.ownerOrganization);
116
+ if (record.kind === 'dataset') {
117
+ record.spatialExtents.map(fixLanguages);
118
+ }
119
+ // remove default language from otherLanguages list
120
+ if (record.otherLanguages.includes(record.defaultLanguage)) {
121
+ record.otherLanguages = record.otherLanguages.filter((lang) => lang !== record.defaultLanguage);
122
+ }
123
+ return record;
124
+ }
81
125
  async readRecord(document) {
82
126
  const doc = parseXmlString(document);
83
127
  const rootEl = getRootElement(doc);
84
- const uniqueIdentifier = this.readers['uniqueIdentifier'](rootEl);
85
- const kind = this.readers['kind'](rootEl);
86
- const ownerOrganization = this.readers['ownerOrganization'](rootEl);
87
- const title = this.readers['title'](rootEl);
88
- const abstract = this.readers['abstract'](rootEl);
89
- const contacts = this.readers['contacts'](rootEl);
90
- const contactsForResource = this.readers['contactsForResource'](rootEl);
91
- const recordUpdated = this.readers['recordUpdated'](rootEl);
92
- const recordCreated = this.readers['recordCreated'](rootEl);
93
- const recordPublished = this.readers['recordPublished'](rootEl);
94
- const resourceCreated = this.readers['resourceCreated'](rootEl);
95
- const resourceUpdated = this.readers['resourceUpdated'](rootEl);
96
- const resourcePublished = this.readers['resourcePublished'](rootEl);
97
- const keywords = this.readers['keywords'](rootEl);
98
- const topics = this.readers['topics'](rootEl);
99
- const legalConstraints = this.readers['legalConstraints'](rootEl);
100
- const otherConstraints = this.readers['otherConstraints'](rootEl);
101
- const securityConstraints = this.readers['securityConstraints'](rootEl);
102
- const licenses = this.readers['licenses'](rootEl);
103
- const overviews = this.readers['overviews'](rootEl);
104
- const landingPage = this.readers['landingPage'](rootEl);
128
+ const tr = {};
129
+ const uniqueIdentifier = this.readers['uniqueIdentifier'](rootEl, tr);
130
+ const kind = this.readers['kind'](rootEl, tr);
131
+ const ownerOrganization = this.readers['ownerOrganization'](rootEl, tr);
132
+ const title = this.readers['title'](rootEl, tr);
133
+ const abstract = this.readers['abstract'](rootEl, tr);
134
+ const contacts = this.readers['contacts'](rootEl, tr);
135
+ const contactsForResource = this.readers['contactsForResource'](rootEl, tr);
136
+ const recordUpdated = this.readers['recordUpdated'](rootEl, tr);
137
+ const recordCreated = this.readers['recordCreated'](rootEl, tr);
138
+ const recordPublished = this.readers['recordPublished'](rootEl, tr);
139
+ const resourceCreated = this.readers['resourceCreated'](rootEl, tr);
140
+ const resourceUpdated = this.readers['resourceUpdated'](rootEl, tr);
141
+ const resourcePublished = this.readers['resourcePublished'](rootEl, tr);
142
+ const keywords = this.readers['keywords'](rootEl, tr);
143
+ const topics = this.readers['topics'](rootEl, tr);
144
+ const legalConstraints = this.readers['legalConstraints'](rootEl, tr);
145
+ const otherConstraints = this.readers['otherConstraints'](rootEl, tr);
146
+ const securityConstraints = this.readers['securityConstraints'](rootEl, tr);
147
+ const licenses = this.readers['licenses'](rootEl, tr);
148
+ const overviews = this.readers['overviews'](rootEl, tr);
149
+ const landingPage = this.readers['landingPage'](rootEl, tr);
150
+ const onlineResources = this.readers['onlineResources'](rootEl, tr);
151
+ const otherLanguages = this.readers['otherLanguages'](rootEl, tr);
152
+ const defaultLanguage = this.readers['defaultLanguage'](rootEl, tr);
105
153
  if (kind === 'dataset') {
106
- const status = this.readers['status'](rootEl);
107
- const spatialRepresentation = this.readers['spatialRepresentation'](rootEl);
108
- const spatialExtents = this.readers['spatialExtents'](rootEl);
109
- const temporalExtents = this.readers['temporalExtents'](rootEl);
110
- const lineage = this.readers['lineage'](rootEl);
111
- const distributions = this.readers['distributions'](rootEl);
112
- const updateFrequency = this.readers['updateFrequency'](rootEl);
113
- return {
154
+ const status = this.readers['status'](rootEl, tr);
155
+ const spatialRepresentation = this.readers['spatialRepresentation'](rootEl, tr);
156
+ const spatialExtents = this.readers['spatialExtents'](rootEl, tr);
157
+ const temporalExtents = this.readers['temporalExtents'](rootEl, tr);
158
+ const lineage = this.readers['lineage'](rootEl, tr);
159
+ const updateFrequency = this.readers['updateFrequency'](rootEl, tr);
160
+ return this.afterRecordRead({
114
161
  uniqueIdentifier,
115
162
  kind,
116
- languages: [],
163
+ otherLanguages,
164
+ defaultLanguage,
117
165
  ...(recordCreated && { recordCreated }),
118
166
  ...(recordPublished && { recordPublished }),
119
167
  recordUpdated,
@@ -137,17 +185,18 @@ export class Iso19139Converter extends BaseConverter {
137
185
  overviews,
138
186
  spatialExtents,
139
187
  temporalExtents,
140
- distributions,
188
+ onlineResources,
141
189
  updateFrequency,
190
+ translations: tr,
142
191
  ...(landingPage && { landingPage }),
143
- };
192
+ });
144
193
  }
145
194
  else {
146
- const onlineResources = this.readers['onlineResources'](rootEl);
147
- return {
195
+ return this.afterRecordRead({
148
196
  uniqueIdentifier,
149
197
  kind,
150
- languages: [],
198
+ otherLanguages,
199
+ defaultLanguage,
151
200
  ...(recordCreated && { recordCreated }),
152
201
  ...(recordPublished && { recordPublished }),
153
202
  recordUpdated,
@@ -167,8 +216,9 @@ export class Iso19139Converter extends BaseConverter {
167
216
  otherConstraints,
168
217
  overviews,
169
218
  onlineResources,
219
+ translations: tr,
170
220
  ...(landingPage && { landingPage }),
171
- };
221
+ });
172
222
  }
173
223
  }
174
224
  async writeRecord(record, reference) {
@@ -191,6 +241,8 @@ export class Iso19139Converter extends BaseConverter {
191
241
  fieldChanged('uniqueIdentifier') &&
192
242
  this.writers['uniqueIdentifier'](record, rootEl);
193
243
  fieldChanged('kind') && this.writers['kind'](record, rootEl);
244
+ fieldChanged('defaultLanguage') &&
245
+ this.writers['defaultLanguage'](record, rootEl);
194
246
  fieldChanged('contacts') && this.writers['contacts'](record, rootEl);
195
247
  fieldChanged('ownerOrganization') &&
196
248
  this.writers['ownerOrganization'](record, rootEl);
@@ -219,6 +271,8 @@ export class Iso19139Converter extends BaseConverter {
219
271
  fieldChanged('licenses') && this.writers['licenses'](record, rootEl);
220
272
  fieldChanged('otherConstraints') &&
221
273
  this.writers['otherConstraints'](record, rootEl);
274
+ fieldChanged('onlineResources') &&
275
+ this.writers['onlineResources'](record, rootEl);
222
276
  if (record.kind === 'dataset') {
223
277
  fieldChanged('status') && this.writers['status'](record, rootEl);
224
278
  fieldChanged('updateFrequency') &&
@@ -228,17 +282,15 @@ export class Iso19139Converter extends BaseConverter {
228
282
  fieldChanged('overviews') && this.writers['overviews'](record, rootEl);
229
283
  fieldChanged('temporalExtents') &&
230
284
  this.writers['temporalExtents'](record, rootEl);
231
- fieldChanged('distributions') &&
232
- this.writers['distributions'](record, rootEl);
285
+ fieldChanged('spatialExtents') &&
286
+ this.writers['spatialExtents'](record, rootEl);
233
287
  fieldChanged('lineage') && this.writers['lineage'](record, rootEl);
234
288
  }
235
- else {
236
- fieldChanged('onlineResources') &&
237
- this.writers['onlineResources'](record, rootEl);
238
- }
289
+ fieldChanged('otherLanguages') &&
290
+ this.writers['otherLanguages'](record, rootEl);
239
291
  this.beforeDocumentCreation(rootEl);
240
292
  const newDocument = createDocument(rootEl);
241
293
  return xmlToString(newDocument);
242
294
  }
243
295
  }
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvMTkxMzkuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYy9saWIvaXNvMTkxMzkvaXNvMTkxMzkuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUMsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsY0FBYyxFQUNkLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxjQUFjLENBQUE7QUFDckIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixTQUFTLEVBQ1Qsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUNwQixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQ0wsYUFBYSxFQUNiLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsU0FBUyxFQUNULHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQix3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QyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDakQsWUFBWSxDQUFDLGVBQWUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDL0MsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1NBQ25FO2FBQU07WUFDTCxZQUFZLENBQUMsaUJBQWlCLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7U0FDbEQ7UUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFbkMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIENhdGFsb2dSZWNvcmRLZXlzLFxuICBEYXRhc2V0UmVjb3JkLFxuICBTZXJ2aWNlUmVjb3JkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBYbWxFbGVtZW50IH0gZnJvbSAnQHJncm92ZS9wYXJzZS14bWwnXG5pbXBvcnQgeyBCYXNlQ29udmVydGVyIH0gZnJvbSAnLi4vYmFzZS5jb252ZXJ0ZXInXG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnLi4vY29udmVydC11dGlscydcbmltcG9ydCB7XG4gIGNyZWF0ZURvY3VtZW50LFxuICBjcmVhdGVFbGVtZW50LFxuICBnZXRSb290RWxlbWVudCxcbiAgcGFyc2VYbWxTdHJpbmcsXG4gIHhtbFRvU3RyaW5nLFxufSBmcm9tICcuLi94bWwtdXRpbHMnXG5pbXBvcnQge1xuICByZWFkQWJzdHJhY3QsXG4gIHJlYWRDb250YWN0cyxcbiAgcmVhZENvbnRhY3RzRm9yUmVzb3VyY2UsXG4gIHJlYWREaXN0cmlidXRpb25zLFxuICByZWFkSXNvVG9waWNzLFxuICByZWFkS2V5d29yZHMsXG4gIHJlYWRLaW5kLFxuICByZWFkTGVnYWxDb25zdHJhaW50cyxcbiAgcmVhZExpY2Vuc2VzLFxuICByZWFkTGluZWFnZSxcbiAgcmVhZE9ubGluZVJlc291cmNlcyxcbiAgcmVhZE90aGVyQ29uc3RyYWludHMsXG4gIHJlYWRPdmVydmlld3MsXG4gIHJlYWRPd25lck9yZ2FuaXphdGlvbixcbiAgcmVhZFJlY29yZFVwZGF0ZWQsXG4gIHJlYWRSZXNvdXJjZUNyZWF0ZWQsXG4gIHJlYWRSZXNvdXJjZVB1Ymxpc2hlZCxcbiAgcmVhZFJlc291cmNlVXBkYXRlZCxcbiAgcmVhZFNlY3VyaXR5Q29uc3RyYWludHMsXG4gIHJlYWRTcGF0aWFsUmVwcmVzZW50YXRpb24sXG4gIHJlYWRTdGF0dXMsXG4gIHJlYWRUZW1wb3JhbEV4dGVudHMsXG4gIHJlYWRUaXRsZSxcbiAgcmVhZFVuaXF1ZUlkZW50aWZpZXIsXG4gIHJlYWRVcGRhdGVGcmVxdWVuY3ksXG59IGZyb20gJy4vcmVhZC1wYXJ0cydcbmltcG9ydCB7XG4gIHdyaXRlQWJzdHJhY3QsXG4gIHdyaXRlQ29udGFjdHMsXG4gIHdyaXRlQ29udGFjdHNGb3JSZXNvdXJjZSxcbiAgd3JpdGVEaXN0cmlidXRpb25zLFxuICB3cml0ZUdyYXBoaWNPdmVydmlld3MsXG4gIHdyaXRlS2V5d29yZHMsXG4gIHdyaXRlS2luZCxcbiAgd3JpdGVMZWdhbENvbnN0cmFpbnRzLFxuICB3cml0ZUxpY2Vuc2VzLFxuICB3cml0ZUxpbmVhZ2UsXG4gIHdyaXRlT25saW5lUmVzb3VyY2VzLFxuICB3cml0ZU90aGVyQ29uc3RyYWludHMsXG4gIHdyaXRlT3duZXJPcmdhbml6YXRpb24sXG4gIHdyaXRlUmVjb3JkVXBkYXRlZCxcbiAgd3JpdGVSZXNvdXJjZUNyZWF0ZWQsXG4gIHdyaXRlUmVzb3VyY2VQdWJsaXNoZWQsXG4gIHdyaXRlUmVzb3VyY2VVcGRhdGVkLFxuICB3cml0ZVNlY3VyaXR5Q29uc3RyYWludHMsXG4gIHdyaXRlU3BhdGlhbFJlcHJlc2VudGF0aW9uLFxuICB3cml0ZVN0YXR1cyxcbiAgd3JpdGVUZW1wb3JhbEV4dGVudHMsXG4gIHdyaXRlVGl0bGUsXG4gIHdyaXRlVG9waWNzLFxuICB3cml0ZVVuaXF1ZUlkZW50aWZpZXIsXG4gIHdyaXRlVXBkYXRlRnJlcXVlbmN5LFxufSBmcm9tICcuL3dyaXRlLXBhcnRzJ1xuXG5leHBvcnQgY2xhc3MgSXNvMTkxMzlDb252ZXJ0ZXIgZXh0ZW5kcyBCYXNlQ29udmVydGVyPHN0cmluZz4ge1xuICBwcm90ZWN0ZWQgcmVhZGVyczogUmVjb3JkPFxuICAgIENhdGFsb2dSZWNvcmRLZXlzLFxuICAgIChyb290RWw6IFhtbEVsZW1lbnQpID0+IHVua25vd25cbiAgPiA9IHtcbiAgICB1bmlxdWVJZGVudGlmaWVyOiByZWFkVW5pcXVlSWRlbnRpZmllcixcbiAgICBraW5kOiByZWFkS2luZCxcbiAgICBvd25lck9yZ2FuaXphdGlvbjogcmVhZE93bmVyT3JnYW5pemF0aW9uLFxuICAgIHJlY29yZFVwZGF0ZWQ6IHJlYWRSZWNvcmRVcGRhdGVkLFxuICAgIHJlY29yZENyZWF0ZWQ6ICgpID0+IHVuZGVmaW5lZCwgLy8gbm90IHN1cHBvcnRlZCBpbiBJU08xOTEzOVxuICAgIHJlY29yZFB1Ymxpc2hlZDogKCkgPT4gdW5kZWZpbmVkLCAvLyBub3Qgc3VwcG9ydGVkIGluIElTTzE5MTM5XG4gICAgcmVzb3VyY2VVcGRhdGVkOiByZWFkUmVzb3VyY2VVcGRhdGVkLFxuICAgIHJlc291cmNlQ3JlYXRlZDogcmVhZFJlc291cmNlQ3JlYXRlZCxcbiAgICByZXNvdXJjZVB1Ymxpc2hlZDogcmVhZFJlc291cmNlUHVibGlzaGVkLFxuICAgIHRpdGxlOiByZWFkVGl0bGUsXG4gICAgYWJzdHJhY3Q6IHJlYWRBYnN0cmFjdCxcbiAgICBjb250YWN0czogcmVhZENvbnRhY3RzLFxuICAgIGNvbnRhY3RzRm9yUmVzb3VyY2U6IHJlYWRDb250YWN0c0ZvclJlc291cmNlLFxuICAgIGtleXdvcmRzOiByZWFkS2V5d29yZHMsXG4gICAgdG9waWNzOiByZWFkSXNvVG9waWNzLFxuICAgIGxpY2Vuc2VzOiByZWFkTGljZW5zZXMsXG4gICAgbGVnYWxDb25zdHJhaW50czogcmVhZExlZ2FsQ29uc3RyYWludHMsXG4gICAgc2VjdXJpdHlDb25zdHJhaW50czogcmVhZFNlY3VyaXR5Q29uc3RyYWludHMsXG4gICAgb3RoZXJDb25zdHJhaW50czogcmVhZE90aGVyQ29uc3RyYWludHMsXG4gICAgc3RhdHVzOiByZWFkU3RhdHVzLFxuICAgIHVwZGF0ZUZyZXF1ZW5jeTogcmVhZFVwZGF0ZUZyZXF1ZW5jeSxcbiAgICBzcGF0aWFsUmVwcmVzZW50YXRpb246IHJlYWRTcGF0aWFsUmVwcmVzZW50YXRpb24sXG4gICAgb3ZlcnZpZXdzOiByZWFkT3ZlcnZpZXdzLFxuICAgIGxpbmVhZ2U6IHJlYWRMaW5lYWdlLFxuICAgIGRpc3RyaWJ1dGlvbnM6IHJlYWREaXN0cmlidXRpb25zLFxuICAgIG9ubGluZVJlc291cmNlczogcmVhZE9ubGluZVJlc291cmNlcyxcbiAgICB0ZW1wb3JhbEV4dGVudHM6IHJlYWRUZW1wb3JhbEV4dGVudHMsXG4gICAgLy8gVE9ET1xuICAgIHNwYXRpYWxFeHRlbnRzOiAoKSA9PiBbXSxcbiAgICBleHRyYXM6ICgpID0+IHVuZGVmaW5lZCxcbiAgICBsYW5kaW5nUGFnZTogKCkgPT4gdW5kZWZpbmVkLFxuICAgIGxhbmd1YWdlczogKCkgPT4gW10sXG4gIH1cblxuICBwcm90ZWN0ZWQgd3JpdGVyczogUmVjb3JkPFxuICAgIENhdGFsb2dSZWNvcmRLZXlzLFxuICAgIChyZWNvcmQ6IENhdGFsb2dSZWNvcmQsIHJvb3RFbDogWG1sRWxlbWVudCkgPT4gdm9pZFxuICA+ID0ge1xuICAgIHVuaXF1ZUlkZW50aWZpZXI6IHdyaXRlVW5pcXVlSWRlbnRpZmllcixcbiAgICBraW5kOiB3cml0ZUtpbmQsXG4gICAgb3duZXJPcmdhbml6YXRpb246IHdyaXRlT3duZXJPcmdhbml6YXRpb24sXG4gICAgcmVjb3JkVXBkYXRlZDogd3JpdGVSZWNvcmRVcGRhdGVkLFxuICAgIHJlY29yZENyZWF0ZWQ6ICgpID0+IHVuZGVmaW5lZCwgLy8gbm90IHN1cHBvcnRlZCBpbiBJU08xOTEzOVxuICAgIHJlY29yZFB1Ymxpc2hlZDogKCkgPT4gdW5kZWZpbmVkLCAvLyBub3Qgc3VwcG9ydGVkIGluIElTTzE5MTM5XG4gICAgcmVzb3VyY2VVcGRhdGVkOiB3cml0ZVJlc291cmNlVXBkYXRlZCxcbiAgICByZXNvdXJjZUNyZWF0ZWQ6IHdyaXRlUmVzb3VyY2VDcmVhdGVkLFxuICAgIHJlc291cmNlUHVibGlzaGVkOiB3cml0ZVJlc291cmNlUHVibGlzaGVkLFxuICAgIHRpdGxlOiB3cml0ZVRpdGxlLFxuICAgIGFic3RyYWN0OiB3cml0ZUFic3RyYWN0LFxuICAgIGNvbnRhY3RzOiB3cml0ZUNvbnRhY3RzLFxuICAgIGNvbnRhY3RzRm9yUmVzb3VyY2U6IHdyaXRlQ29udGFjdHNGb3JSZXNvdXJjZSxcbiAgICBrZXl3b3Jkczogd3JpdGVLZXl3b3JkcyxcbiAgICB0b3BpY3M6IHdyaXRlVG9waWNzLFxuICAgIGxpY2Vuc2VzOiB3cml0ZUxpY2Vuc2VzLFxuICAgIGxlZ2FsQ29uc3RyYWludHM6IHdyaXRlTGVnYWxDb25zdHJhaW50cyxcbiAgICBzZWN1cml0eUNvbnN0cmFpbnRzOiB3cml0ZVNlY3VyaXR5Q29uc3RyYWludHMsXG4gICAgb3RoZXJDb25zdHJhaW50czogd3JpdGVPdGhlckNvbnN0cmFpbnRzLFxuICAgIHN0YXR1czogd3JpdGVTdGF0dXMsXG4gICAgdXBkYXRlRnJlcXVlbmN5OiB3cml0ZVVwZGF0ZUZyZXF1ZW5jeSxcbiAgICBzcGF0aWFsUmVwcmVzZW50YXRpb246IHdyaXRlU3BhdGlhbFJlcHJlc2VudGF0aW9uLFxuICAgIG92ZXJ2aWV3czogd3JpdGVHcmFwaGljT3ZlcnZpZXdzLFxuICAgIGxpbmVhZ2U6IHdyaXRlTGluZWFnZSxcbiAgICBkaXN0cmlidXRpb25zOiB3cml0ZURpc3RyaWJ1dGlvbnMsXG4gICAgb25saW5lUmVzb3VyY2VzOiB3cml0ZU9ubGluZVJlc291cmNlcyxcbiAgICB0ZW1wb3JhbEV4dGVudHM6IHdyaXRlVGVtcG9yYWxFeHRlbnRzLFxuICAgIC8vIFRPRE9cbiAgICBzcGF0aWFsRXh0ZW50czogKCkgPT4gdW5kZWZpbmVkLFxuICAgIGV4dHJhczogKCkgPT4gdW5kZWZpbmVkLFxuICAgIGxhbmRpbmdQYWdlOiAoKSA9PiB1bmRlZmluZWQsXG4gICAgbGFuZ3VhZ2VzOiAoKSA9PiB1bmRlZmluZWQsXG4gIH1cblxuICBwcm90ZWN0ZWQgYmVmb3JlRG9jdW1lbnRDcmVhdGlvbihyb290RWxlbWVudDogWG1sRWxlbWVudCkge1xuICAgIC8vIHRvIG92ZXJyaWRlXG4gIH1cblxuICBhc3luYyByZWFkUmVjb3JkKGRvY3VtZW50OiBzdHJpbmcpOiBQcm9taXNlPENhdGFsb2dSZWNvcmQ+IHtcbiAgICBjb25zdCBkb2MgPSBwYXJzZVhtbFN0cmluZyhkb2N1bWVudClcbiAgICBjb25zdCByb290RWwgPSBnZXRSb290RWxlbWVudChkb2MpXG5cbiAgICBjb25zdCB1bmlxdWVJZGVudGlmaWVyID0gdGhpcy5yZWFkZXJzWyd1bmlxdWVJZGVudGlmaWVyJ10ocm9vdEVsKVxuICAgIGNvbnN0IGtpbmQgPSB0aGlzLnJlYWRlcnNbJ2tpbmQnXShyb290RWwpXG4gICAgY29uc3Qgb3duZXJPcmdhbml6YXRpb24gPSB0aGlzLnJlYWRlcnNbJ293bmVyT3JnYW5pemF0aW9uJ10ocm9vdEVsKVxuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5yZWFkZXJzWyd0aXRsZSddKHJvb3RFbClcbiAgICBjb25zdCBhYnN0cmFjdCA9IHRoaXMucmVhZGVyc1snYWJzdHJhY3QnXShyb290RWwpXG4gICAgY29uc3QgY29udGFjdHMgPSB0aGlzLnJlYWRlcnNbJ2NvbnRhY3RzJ10ocm9vdEVsKVxuICAgIGNvbnN0IGNvbnRhY3RzRm9yUmVzb3VyY2UgPSB0aGlzLnJlYWRlcnNbJ2NvbnRhY3RzRm9yUmVzb3VyY2UnXShyb290RWwpXG4gICAgY29uc3QgcmVjb3JkVXBkYXRlZCA9IHRoaXMucmVhZGVyc1sncmVjb3JkVXBkYXRlZCddKHJvb3RFbClcbiAgICBjb25zdCByZWNvcmRDcmVhdGVkID0gdGhpcy5yZWFkZXJzWydyZWNvcmRDcmVhdGVkJ10ocm9vdEVsKVxuICAgIGNvbnN0IHJlY29yZFB1Ymxpc2hlZCA9IHRoaXMucmVhZGVyc1sncmVjb3JkUHVibGlzaGVkJ10ocm9vdEVsKVxuICAgIGNvbnN0IHJlc291cmNlQ3JlYXRlZCA9IHRoaXMucmVhZGVyc1sncmVzb3VyY2VDcmVhdGVkJ10ocm9vdEVsKVxuICAgIGNvbnN0IHJlc291cmNlVXBkYXRlZCA9IHRoaXMucmVhZGVyc1sncmVzb3VyY2VVcGRhdGVkJ10ocm9vdEVsKVxuICAgIGNvbnN0IHJlc291cmNlUHVibGlzaGVkID0gdGhpcy5yZWFkZXJzWydyZXNvdXJjZVB1Ymxpc2hlZCddKHJvb3RFbClcbiAgICBjb25zdCBrZXl3b3JkcyA9IHRoaXMucmVhZGVyc1sna2V5d29yZHMnXShyb290RWwpXG4gICAgY29uc3QgdG9waWNzID0gdGhpcy5yZWFkZXJzWyd0b3BpY3MnXShyb290RWwpXG4gICAgY29uc3QgbGVnYWxDb25zdHJhaW50cyA9IHRoaXMucmVhZGVyc1snbGVnYWxDb25zdHJhaW50cyddKHJvb3RFbClcbiAgICBjb25zdCBvdGhlckNvbnN0cmFpbnRzID0gdGhpcy5yZWFkZXJzWydvdGhlckNvbnN0cmFpbnRzJ10ocm9vdEVsKVxuICAgIGNvbnN0IHNlY3VyaXR5Q29uc3RyYWludHMgPSB0aGlzLnJlYWRlcnNbJ3NlY3VyaXR5Q29uc3RyYWludHMnXShyb290RWwpXG4gICAgY29uc3QgbGljZW5zZXMgPSB0aGlzLnJlYWRlcnNbJ2xpY2Vuc2VzJ10ocm9vdEVsKVxuICAgIGNvbnN0IG92ZXJ2aWV3cyA9IHRoaXMucmVhZGVyc1snb3ZlcnZpZXdzJ10ocm9vdEVsKVxuICAgIGNvbnN0IGxhbmRpbmdQYWdlID0gdGhpcy5yZWFkZXJzWydsYW5kaW5nUGFnZSddKHJvb3RFbClcblxuICAgIGlmIChraW5kID09PSAnZGF0YXNldCcpIHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMucmVhZGVyc1snc3RhdHVzJ10ocm9vdEVsKVxuICAgICAgY29uc3Qgc3BhdGlhbFJlcHJlc2VudGF0aW9uID1cbiAgICAgICAgdGhpcy5yZWFkZXJzWydzcGF0aWFsUmVwcmVzZW50YXRpb24nXShyb290RWwpXG4gICAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IHRoaXMucmVhZGVyc1snc3BhdGlhbEV4dGVudHMnXShyb290RWwpXG4gICAgICBjb25zdCB0ZW1wb3JhbEV4dGVudHMgPSB0aGlzLnJlYWRlcnNbJ3RlbXBvcmFsRXh0ZW50cyddKHJvb3RFbClcbiAgICAgIGNvbnN0IGxpbmVhZ2UgPSB0aGlzLnJlYWRlcnNbJ2xpbmVhZ2UnXShyb290RWwpXG4gICAgICBjb25zdCBkaXN0cmlidXRpb25zID0gdGhpcy5yZWFkZXJzWydkaXN0cmlidXRpb25zJ10ocm9vdEVsKVxuICAgICAgY29uc3QgdXBkYXRlRnJlcXVlbmN5ID0gdGhpcy5yZWFkZXJzWyd1cGRhdGVGcmVxdWVuY3knXShyb290RWwpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVuaXF1ZUlkZW50aWZpZXIsXG4gICAgICAgIGtpbmQsXG4gICAgICAgIGxhbmd1YWdlczogW10sXG4gICAgICAgIC4uLihyZWNvcmRDcmVhdGVkICYmIHsgcmVjb3JkQ3JlYXRlZCB9KSxcbiAgICAgICAgLi4uKHJlY29yZFB1Ymxpc2hlZCAmJiB7IHJlY29yZFB1Ymxpc2hlZCB9KSxcbiAgICAgICAgcmVjb3JkVXBkYXRlZCxcbiAgICAgICAgLi4uKHJlc291cmNlQ3JlYXRlZCAmJiB7IHJlc291cmNlQ3JlYXRlZCB9KSxcbiAgICAgICAgLi4uKHJlc291cmNlVXBkYXRlZCAmJiB7IHJlc291cmNlVXBkYXRlZCB9KSxcbiAgICAgICAgLi4uKHJlc291cmNlUHVibGlzaGVkICYmIHsgcmVzb3VyY2VQdWJsaXNoZWQgfSksXG4gICAgICAgIHN0YXR1cyxcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIGFic3RyYWN0LFxuICAgICAgICBvd25lck9yZ2FuaXphdGlvbixcbiAgICAgICAgY29udGFjdHMsXG4gICAgICAgIGNvbnRhY3RzRm9yUmVzb3VyY2UsXG4gICAgICAgIGtleXdvcmRzLFxuICAgICAgICB0b3BpY3MsXG4gICAgICAgIGxpY2Vuc2VzLFxuICAgICAgICBsZWdhbENvbnN0cmFpbnRzLFxuICAgICAgICBzZWN1cml0eUNvbnN0cmFpbnRzLFxuICAgICAgICBvdGhlckNvbnN0cmFpbnRzLFxuICAgICAgICBsaW5lYWdlLFxuICAgICAgICAuLi4oc3BhdGlhbFJlcHJlc2VudGF0aW9uICYmIHsgc3BhdGlhbFJlcHJlc2VudGF0aW9uIH0pLFxuICAgICAgICBvdmVydmlld3MsXG4gICAgICAgIHNwYXRpYWxFeHRlbnRzLFxuICAgICAgICB0ZW1wb3JhbEV4dGVudHMsXG4gICAgICAgIGRpc3RyaWJ1dGlvbnMsXG4gICAgICAgIHVwZGF0ZUZyZXF1ZW5jeSxcbiAgICAgICAgLi4uKGxhbmRpbmdQYWdlICYmIHsgbGFuZGluZ1BhZ2UgfSksXG4gICAgICB9IGFzIERhdGFzZXRSZWNvcmRcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb25saW5lUmVzb3VyY2VzID0gdGhpcy5yZWFkZXJzWydvbmxpbmVSZXNvdXJjZXMnXShyb290RWwpXG4gICAgICByZXR1cm4ge1xuICAgICAgICB1bmlxdWVJZGVudGlmaWVyLFxuICAgICAgICBraW5kLFxuICAgICAgICBsYW5ndWFnZXM6IFtdLFxuICAgICAgICAuLi4ocmVjb3JkQ3JlYXRlZCAmJiB7IHJlY29yZENyZWF0ZWQgfSksXG4gICAgICAgIC4uLihyZWNvcmRQdWJsaXNoZWQgJiYgeyByZWNvcmRQdWJsaXNoZWQgfSksXG4gICAgICAgIHJlY29yZFVwZGF0ZWQsXG4gICAgICAgIC4uLihyZXNvdXJjZUNyZWF0ZWQgJiYgeyByZXNvdXJjZUNyZWF0ZWQgfSksXG4gICAgICAgIC4uLihyZXNvdXJjZVVwZGF0ZWQgJiYgeyByZXNvdXJjZVVwZGF0ZWQgfSksXG4gICAgICAgIC4uLihyZXNvdXJjZVB1Ymxpc2hlZCAmJiB7IHJlc291cmNlUHVibGlzaGVkIH0pLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgYWJzdHJhY3QsXG4gICAgICAgIG93bmVyT3JnYW5pemF0aW9uLFxuICAgICAgICBjb250YWN0cyxcbiAgICAgICAgY29udGFjdHNGb3JSZXNvdXJjZSxcbiAgICAgICAga2V5d29yZHMsXG4gICAgICAgIHRvcGljcyxcbiAgICAgICAgbGljZW5zZXMsXG4gICAgICAgIGxlZ2FsQ29uc3RyYWludHMsXG4gICAgICAgIHNlY3VyaXR5Q29uc3RyYWludHMsXG4gICAgICAgIG90aGVyQ29uc3RyYWludHMsXG4gICAgICAgIG92ZXJ2aWV3cyxcbiAgICAgICAgb25saW5lUmVzb3VyY2VzLFxuICAgICAgICAuLi4obGFuZGluZ1BhZ2UgJiYgeyBsYW5kaW5nUGFnZSB9KSxcbiAgICAgIH0gYXMgU2VydmljZVJlY29yZFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHdyaXRlUmVjb3JkKFxuICAgIHJlY29yZDogQ2F0YWxvZ1JlY29yZCxcbiAgICByZWZlcmVuY2U/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBsZXQgcm9vdEVsOiBYbWxFbGVtZW50XG4gICAgbGV0IGZpZWxkQ2hhbmdlZDogKG5hbWU6IHN0cmluZykgPT4gYm9vbGVhblxuICAgIGlmIChyZWZlcmVuY2UpIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsRG9jID0gcGFyc2VYbWxTdHJpbmcocmVmZXJlbmNlKVxuICAgICAgY29uc3Qgb3JpZ2luYWxSZWNvcmQgPSBhd2FpdCB0aGlzLnJlYWRSZWNvcmQocmVmZXJlbmNlKVxuICAgICAgcm9vdEVsID0gZ2V0Um9vdEVsZW1lbnQob3JpZ2luYWxEb2MpXG5cbiAgICAgIGZpZWxkQ2hhbmdlZCA9IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVjb3JkICE9PSBudWxsXG4gICAgICAgICAgPyAhaXNFcXVhbChyZWNvcmRbbmFtZV0sIG9yaWdpbmFsUmVjb3JkW25hbWVdKVxuICAgICAgICAgIDogdHJ1ZVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByb290RWwgPSBjcmVhdGVFbGVtZW50KCdnbWQ6TURfTWV0YWRhdGEnKSgpXG4gICAgICBmaWVsZENoYW5nZWQgPSAoKSA9PiB0cnVlXG4gICAgfVxuXG4gICAgZmllbGRDaGFuZ2VkKCd1bmlxdWVJZGVudGlmaWVyJykgJiZcbiAgICAgIHRoaXMud3JpdGVyc1sndW5pcXVlSWRlbnRpZmllciddKHJlY29yZCwgcm9vdEVsKVxuICAgIGZpZWxkQ2hhbmdlZCgna2luZCcpICYmIHRoaXMud3JpdGVyc1sna2luZCddKHJlY29yZCwgcm9vdEVsKVxuXG4gICAgZmllbGRDaGFuZ2VkKCdjb250YWN0cycpICYmIHRoaXMud3JpdGVyc1snY29udGFjdHMnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ293bmVyT3JnYW5pemF0aW9uJykgJiZcbiAgICAgIHRoaXMud3JpdGVyc1snb3duZXJPcmdhbml6YXRpb24nXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgncmVjb3JkVXBkYXRlZCcpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ3JlY29yZFVwZGF0ZWQnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ3JlY29yZENyZWF0ZWQnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydyZWNvcmRDcmVhdGVkJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdyZWNvcmRQdWJsaXNoZWQnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydyZWNvcmRQdWJsaXNoZWQnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgndGl0bGUnKSAmJiB0aGlzLndyaXRlcnNbJ3RpdGxlJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdhYnN0cmFjdCcpICYmIHRoaXMud3JpdGVyc1snYWJzdHJhY3QnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgncmVzb3VyY2VDcmVhdGVkJykgJiZcbiAgICAgIHRoaXMud3JpdGVyc1sncmVzb3VyY2VDcmVhdGVkJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdyZXNvdXJjZVB1Ymxpc2hlZCcpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlUHVibGlzaGVkJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdyZXNvdXJjZVVwZGF0ZWQnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydyZXNvdXJjZVVwZGF0ZWQnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgnY29udGFjdHNGb3JSZXNvdXJjZScpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ2NvbnRhY3RzRm9yUmVzb3VyY2UnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgna2V5d29yZHMnKSAmJiB0aGlzLndyaXRlcnNbJ2tleXdvcmRzJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCd0b3BpY3MnKSAmJiB0aGlzLndyaXRlcnNbJ3RvcGljcyddKHJlY29yZCwgcm9vdEVsKVxuICAgIGZpZWxkQ2hhbmdlZCgnbGVnYWxDb25zdHJhaW50cycpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ2xlZ2FsQ29uc3RyYWludHMnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ3NlY3VyaXR5Q29uc3RyYWludHMnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydzZWN1cml0eUNvbnN0cmFpbnRzJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdsaWNlbnNlcycpICYmIHRoaXMud3JpdGVyc1snbGljZW5zZXMnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ290aGVyQ29uc3RyYWludHMnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydvdGhlckNvbnN0cmFpbnRzJ10ocmVjb3JkLCByb290RWwpXG5cbiAgICBpZiAocmVjb3JkLmtpbmQgPT09ICdkYXRhc2V0Jykge1xuICAgICAgZmllbGRDaGFuZ2VkKCdzdGF0dXMnKSAmJiB0aGlzLndyaXRlcnNbJ3N0YXR1cyddKHJlY29yZCwgcm9vdEVsKVxuICAgICAgZmllbGRDaGFuZ2VkKCd1cGRhdGVGcmVxdWVuY3knKSAmJlxuICAgICAgICB0aGlzLndyaXRlcnNbJ3VwZGF0ZUZyZXF1ZW5jeSddKHJlY29yZCwgcm9vdEVsKVxuICAgICAgZmllbGRDaGFuZ2VkKCdzcGF0aWFsUmVwcmVzZW50YXRpb24nKSAmJlxuICAgICAgICB0aGlzLndyaXRlcnNbJ3NwYXRpYWxSZXByZXNlbnRhdGlvbiddKHJlY29yZCwgcm9vdEVsKVxuICAgICAgZmllbGRDaGFuZ2VkKCdvdmVydmlld3MnKSAmJiB0aGlzLndyaXRlcnNbJ292ZXJ2aWV3cyddKHJlY29yZCwgcm9vdEVsKVxuICAgICAgZmllbGRDaGFuZ2VkKCd0ZW1wb3JhbEV4dGVudHMnKSAmJlxuICAgICAgICB0aGlzLndyaXRlcnNbJ3RlbXBvcmFsRXh0ZW50cyddKHJlY29yZCwgcm9vdEVsKVxuICAgICAgZmllbGRDaGFuZ2VkKCdkaXN0cmlidXRpb25zJykgJiZcbiAgICAgICAgdGhpcy53cml0ZXJzWydkaXN0cmlidXRpb25zJ10ocmVjb3JkLCByb290RWwpXG4gICAgICBmaWVsZENoYW5nZWQoJ2xpbmVhZ2UnKSAmJiB0aGlzLndyaXRlcnNbJ2xpbmVhZ2UnXShyZWNvcmQsIHJvb3RFbClcbiAgICB9IGVsc2Uge1xuICAgICAgZmllbGRDaGFuZ2VkKCdvbmxpbmVSZXNvdXJjZXMnKSAmJlxuICAgICAgICB0aGlzLndyaXRlcnNbJ29ubGluZVJlc291cmNlcyddKHJlY29yZCwgcm9vdEVsKVxuICAgIH1cblxuICAgIHRoaXMuYmVmb3JlRG9jdW1lbnRDcmVhdGlvbihyb290RWwpXG5cbiAgICBjb25zdCBuZXdEb2N1bWVudCA9IGNyZWF0ZURvY3VtZW50KHJvb3RFbClcbiAgICByZXR1cm4geG1sVG9TdHJpbmcobmV3RG9jdW1lbnQpXG4gIH1cbn1cbiJdfQ==
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvMTkxMzkuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYy9saWIvaXNvMTkxMzkvaXNvMTkxMzkuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUMsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsY0FBYyxFQUNkLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxjQUFjLENBQUE7QUFDckIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsbUJBQW1CLEdBQ3BCLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixTQUFTLEVBQ1QsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixzQkFB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Q0FBQyxDQUFBO1FBRW5DLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxQyxPQUFPLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkLFxuICBDYXRhbG9nUmVjb3JkS2V5cyxcbiAgRGF0YXNldFJlY29yZCxcbiAgTW9kZWxUcmFuc2xhdGlvbnMsXG4gIFJlY29yZFRyYW5zbGF0aW9ucyxcbiAgU2VydmljZVJlY29yZCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgWG1sRWxlbWVudCB9IGZyb20gJ0ByZ3JvdmUvcGFyc2UteG1sJ1xuaW1wb3J0IHsgQmFzZUNvbnZlcnRlciB9IGZyb20gJy4uL2Jhc2UuY29udmVydGVyJ1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJy4uL2NvbnZlcnQtdXRpbHMnXG5pbXBvcnQge1xuICBjcmVhdGVEb2N1bWVudCxcbiAgY3JlYXRlRWxlbWVudCxcbiAgZ2V0Um9vdEVsZW1lbnQsXG4gIHBhcnNlWG1sU3RyaW5nLFxuICB4bWxUb1N0cmluZyxcbn0gZnJvbSAnLi4veG1sLXV0aWxzJ1xuaW1wb3J0IHtcbiAgcmVhZEFic3RyYWN0LFxuICByZWFkQ29udGFjdHMsXG4gIHJlYWRDb250YWN0c0ZvclJlc291cmNlLFxuICByZWFkRGVmYXVsdExhbmd1YWdlLFxuICByZWFkSXNvVG9waWNzLFxuICByZWFkS2V5d29yZHMsXG4gIHJlYWRLaW5kLFxuICByZWFkTGVnYWxDb25zdHJhaW50cyxcbiAgcmVhZExpY2Vuc2VzLFxuICByZWFkTGluZWFnZSxcbiAgcmVhZE9ubGluZVJlc291cmNlcyxcbiAgcmVhZE90aGVyQ29uc3RyYWludHMsXG4gIHJlYWRPdGhlckxhbmd1YWdlcyxcbiAgcmVhZE92ZXJ2aWV3cyxcbiAgcmVhZE93bmVyT3JnYW5pemF0aW9uLFxuICByZWFkUmVjb3JkVXBkYXRlZCxcbiAgcmVhZFJlc291cmNlQ3JlYXRlZCxcbiAgcmVhZFJlc291cmNlUHVibGlzaGVkLFxuICByZWFkUmVzb3VyY2VVcGRhdGVkLFxuICByZWFkU2VjdXJpdHlDb25zdHJhaW50cyxcbiAgcmVhZFNwYXRpYWxFeHRlbnRzLFxuICByZWFkU3BhdGlhbFJlcHJlc2VudGF0aW9uLFxuICByZWFkU3RhdHVzLFxuICByZWFkVGVtcG9yYWxFeHRlbnRzLFxuICByZWFkVGl0bGUsXG4gIHJlYWRVbmlxdWVJZGVudGlmaWVyLFxuICByZWFkVXBkYXRlRnJlcXVlbmN5LFxufSBmcm9tICcuL3JlYWQtcGFydHMnXG5pbXBvcnQge1xuICB3cml0ZUFic3RyYWN0LFxuICB3cml0ZUNvbnRhY3RzLFxuICB3cml0ZUNvbnRhY3RzRm9yUmVzb3VyY2UsXG4gIHdyaXRlRGVmYXVsdExhbmd1YWdlLFxuICB3cml0ZUdyYXBoaWNPdmVydmlld3MsXG4gIHdyaXRlS2V5d29yZHMsXG4gIHdyaXRlS2luZCxcbiAgd3JpdGVMYW5ndWFnZXMsXG4gIHdyaXRlTGVnYWxDb25zdHJhaW50cyxcbiAgd3JpdGVMaWNlbnNlcyxcbiAgd3JpdGVMaW5lYWdlLFxuICB3cml0ZU9ubGluZVJlc291cmNlcyxcbiAgd3JpdGVPdGhlckNvbnN0cmFpbnRzLFxuICB3cml0ZVJlY29yZFVwZGF0ZWQsXG4gIHdyaXRlUmVzb3VyY2VDcmVhdGVkLFxuICB3cml0ZVJlc291cmNlUHVibGlzaGVkLFxuICB3cml0ZVJlc291cmNlVXBkYXRlZCxcbiAgd3JpdGVTZWN1cml0eUNvbnN0cmFpbnRzLFxuICB3cml0ZVNwYXRpYWxFeHRlbnRzLFxuICB3cml0ZVNwYXRpYWxSZXByZXNlbnRhdGlvbixcbiAgd3JpdGVTdGF0dXMsXG4gIHdyaXRlVGVtcG9yYWxFeHRlbnRzLFxuICB3cml0ZVRpdGxlLFxuICB3cml0ZVRvcGljcyxcbiAgd3JpdGVVbmlxdWVJZGVudGlmaWVyLFxuICB3cml0ZVVwZGF0ZUZyZXF1ZW5jeSxcbn0gZnJvbSAnLi93cml0ZS1wYXJ0cydcblxuZXhwb3J0IGNsYXNzIElzbzE5MTM5Q29udmVydGVyIGV4dGVuZHMgQmFzZUNvbnZlcnRlcjxzdHJpbmc+IHtcbiAgcHJvdGVjdGVkIHJlYWRlcnM6IFJlY29yZDxcbiAgICBDYXRhbG9nUmVjb3JkS2V5cyxcbiAgICAocm9vdEVsOiBYbWxFbGVtZW50LCB0cmFuc2xhdGlvbnM6IFJlY29yZFRyYW5zbGF0aW9ucykgPT4gdW5rbm93blxuICA+ID0ge1xuICAgIHVuaXF1ZUlkZW50aWZpZXI6IHJlYWRVbmlxdWVJZGVudGlmaWVyLFxuICAgIGtpbmQ6IHJlYWRLaW5kLFxuICAgIG93bmVyT3JnYW5pemF0aW9uOiByZWFkT3duZXJPcmdhbml6YXRpb24sXG4gICAgcmVjb3JkVXBkYXRlZDogcmVhZFJlY29yZFVwZGF0ZWQsXG4gICAgcmVjb3JkQ3JlYXRlZDogKCkgPT4gdW5kZWZpbmVkLCAvLyBub3Qgc3VwcG9ydGVkIGluIElTTzE5MTM5XG4gICAgcmVjb3JkUHVibGlzaGVkOiAoKSA9PiB1bmRlZmluZWQsIC8vIG5vdCBzdXBwb3J0ZWQgaW4gSVNPMTkxMzlcbiAgICByZXNvdXJjZVVwZGF0ZWQ6IHJlYWRSZXNvdXJjZVVwZGF0ZWQsXG4gICAgcmVzb3VyY2VDcmVhdGVkOiByZWFkUmVzb3VyY2VDcmVhdGVkLFxuICAgIHJlc291cmNlUHVibGlzaGVkOiByZWFkUmVzb3VyY2VQdWJsaXNoZWQsXG4gICAgdGl0bGU6IHJlYWRUaXRsZSxcbiAgICBhYnN0cmFjdDogcmVhZEFic3RyYWN0LFxuICAgIGNvbnRhY3RzOiByZWFkQ29udGFjdHMsXG4gICAgY29udGFjdHNGb3JSZXNvdXJjZTogcmVhZENvbnRhY3RzRm9yUmVzb3VyY2UsXG4gICAga2V5d29yZHM6IHJlYWRLZXl3b3JkcyxcbiAgICB0b3BpY3M6IHJlYWRJc29Ub3BpY3MsXG4gICAgbGljZW5zZXM6IHJlYWRMaWNlbnNlcyxcbiAgICBsZWdhbENvbnN0cmFpbnRzOiByZWFkTGVnYWxDb25zdHJhaW50cyxcbiAgICBzZWN1cml0eUNvbnN0cmFpbnRzOiByZWFkU2VjdXJpdHlDb25zdHJhaW50cyxcbiAgICBvdGhlckNvbnN0cmFpbnRzOiByZWFkT3RoZXJDb25zdHJhaW50cyxcbiAgICBzdGF0dXM6IHJlYWRTdGF0dXMsXG4gICAgdXBkYXRlRnJlcXVlbmN5OiByZWFkVXBkYXRlRnJlcXVlbmN5LFxuICAgIHNwYXRpYWxSZXByZXNlbnRhdGlvbjogcmVhZFNwYXRpYWxSZXByZXNlbnRhdGlvbixcbiAgICBvdmVydmlld3M6IHJlYWRPdmVydmlld3MsXG4gICAgbGluZWFnZTogcmVhZExpbmVhZ2UsXG4gICAgb25saW5lUmVzb3VyY2VzOiByZWFkT25saW5lUmVzb3VyY2VzLFxuICAgIHRlbXBvcmFsRXh0ZW50czogcmVhZFRlbXBvcmFsRXh0ZW50cyxcbiAgICBzcGF0aWFsRXh0ZW50czogcmVhZFNwYXRpYWxFeHRlbnRzLFxuICAgIG90aGVyTGFuZ3VhZ2VzOiByZWFkT3RoZXJMYW5ndWFnZXMsXG4gICAgZGVmYXVsdExhbmd1YWdlOiByZWFkRGVmYXVsdExhbmd1YWdlLFxuICAgIC8vIFRPRE9cbiAgICBleHRyYXM6ICgpID0+IHVuZGVmaW5lZCxcbiAgICBsYW5kaW5nUGFnZTogKCkgPT4gdW5kZWZpbmVkLFxuICAgIHRyYW5zbGF0aW9uczogKCkgPT4gdW5kZWZpbmVkLFxuICB9XG5cbiAgcHJvdGVjdGVkIHdyaXRlcnM6IFJlY29yZDxcbiAgICBDYXRhbG9nUmVjb3JkS2V5cyxcbiAgICAocmVjb3JkOiBDYXRhbG9nUmVjb3JkLCByb290RWw6IFhtbEVsZW1lbnQpID0+IHZvaWRcbiAgPiA9IHtcbiAgICB1bmlxdWVJZGVudGlmaWVyOiB3cml0ZVVuaXF1ZUlkZW50aWZpZXIsXG4gICAga2luZDogd3JpdGVLaW5kLFxuICAgIG93bmVyT3JnYW5pemF0aW9uOiAoKSA9PiB1bmRlZmluZWQsIC8vIGZpeG1lOiBmaW5kIGEgd2F5IHRvIHN0b3JlIHRoaXMgdmFsdWUgcHJvcGVybHlcbiAgICByZWNvcmRVcGRhdGVkOiB3cml0ZVJlY29yZFVwZGF0ZWQsXG4gICAgcmVjb3JkQ3JlYXRlZDogKCkgPT4gdW5kZWZpbmVkLCAvLyBub3Qgc3VwcG9ydGVkIGluIElTTzE5MTM5XG4gICAgcmVjb3JkUHVibGlzaGVkOiAoKSA9PiB1bmRlZmluZWQsIC8vIG5vdCBzdXBwb3J0ZWQgaW4gSVNPMTkxMzlcbiAgICByZXNvdXJjZVVwZGF0ZWQ6IHdyaXRlUmVzb3VyY2VVcGRhdGVkLFxuICAgIHJlc291cmNlQ3JlYXRlZDogd3JpdGVSZXNvdXJjZUNyZWF0ZWQsXG4gICAgcmVzb3VyY2VQdWJsaXNoZWQ6IHdyaXRlUmVzb3VyY2VQdWJsaXNoZWQsXG4gICAgdGl0bGU6IHdyaXRlVGl0bGUsXG4gICAgYWJzdHJhY3Q6IHdyaXRlQWJzdHJhY3QsXG4gICAgY29udGFjdHM6IHdyaXRlQ29udGFjdHMsXG4gICAgY29udGFjdHNGb3JSZXNvdXJjZTogd3JpdGVDb250YWN0c0ZvclJlc291cmNlLFxuICAgIGtleXdvcmRzOiB3cml0ZUtleXdvcmRzLFxuICAgIHRvcGljczogd3JpdGVUb3BpY3MsXG4gICAgbGljZW5zZXM6IHdyaXRlTGljZW5zZXMsXG4gICAgbGVnYWxDb25zdHJhaW50czogd3JpdGVMZWdhbENvbnN0cmFpbnRzLFxuICAgIHNlY3VyaXR5Q29uc3RyYWludHM6IHdyaXRlU2VjdXJpdHlDb25zdHJhaW50cyxcbiAgICBvdGhlckNvbnN0cmFpbnRzOiB3cml0ZU90aGVyQ29uc3RyYWludHMsXG4gICAgc3RhdHVzOiB3cml0ZVN0YXR1cyxcbiAgICB1cGRhdGVGcmVxdWVuY3k6IHdyaXRlVXBkYXRlRnJlcXVlbmN5LFxuICAgIHNwYXRpYWxSZXByZXNlbnRhdGlvbjogd3JpdGVTcGF0aWFsUmVwcmVzZW50YXRpb24sXG4gICAgb3ZlcnZpZXdzOiB3cml0ZUdyYXBoaWNPdmVydmlld3MsXG4gICAgbGluZWFnZTogd3JpdGVMaW5lYWdlLFxuICAgIG9ubGluZVJlc291cmNlczogd3JpdGVPbmxpbmVSZXNvdXJjZXMsXG4gICAgdGVtcG9yYWxFeHRlbnRzOiB3cml0ZVRlbXBvcmFsRXh0ZW50cyxcbiAgICBzcGF0aWFsRXh0ZW50czogd3JpdGVTcGF0aWFsRXh0ZW50cyxcbiAgICBvdGhlckxhbmd1YWdlczogd3JpdGVMYW5ndWFnZXMsXG4gICAgZGVmYXVsdExhbmd1YWdlOiB3cml0ZURlZmF1bHRMYW5ndWFnZSxcbiAgICAvLyBUT0RPXG4gICAgZXh0cmFzOiAoKSA9PiB1bmRlZmluZWQsXG4gICAgbGFuZGluZ1BhZ2U6ICgpID0+IHVuZGVmaW5lZCxcbiAgICB0cmFuc2xhdGlvbnM6ICgpID0+IHVuZGVmaW5lZCxcbiAgfVxuXG4gIHByb3RlY3RlZCBiZWZvcmVEb2N1bWVudENyZWF0aW9uKHJvb3RFbGVtZW50OiBYbWxFbGVtZW50KSB7XG4gICAgLy8gdG8gb3ZlcnJpZGVcbiAgfVxuXG4gIHByb3RlY3RlZCBhZnRlclJlY29yZFJlYWQocmVjb3JkOiBDYXRhbG9nUmVjb3JkKTogQ2F0YWxvZ1JlY29yZCB7XG4gICAgZnVuY3Rpb24gZml4TGFuZ3VhZ2VzKHRhcmdldDogeyB0cmFuc2xhdGlvbnM/OiBNb2RlbFRyYW5zbGF0aW9ucyB9KSB7XG4gICAgICBpZiAoISgndHJhbnNsYXRpb25zJyBpbiB0YXJnZXQpKSByZXR1cm5cbiAgICAgIGZvciAoY29uc3QgZmllbGROYW1lIGluIHRhcmdldC50cmFuc2xhdGlvbnMpIHtcbiAgICAgICAgY29uc3QgZmllbGRUcmFuc2xhdGlvbnMgPSB0YXJnZXQudHJhbnNsYXRpb25zW2ZpZWxkTmFtZV0gPz8ge31cbiAgICAgICAgLy8gcmVtb3ZlIHJlZHVuZGFudCB0cmFuc2xhdGlvbnNcbiAgICAgICAgaWYgKHJlY29yZC5kZWZhdWx0TGFuZ3VhZ2UgaW4gZmllbGRUcmFuc2xhdGlvbnMpIHtcbiAgICAgICAgICBkZWxldGUgZmllbGRUcmFuc2xhdGlvbnNbcmVjb3JkLmRlZmF1bHRMYW5ndWFnZV1cbiAgICAgICAgfVxuICAgICAgICAvLyByZW1vdmUgdHJhbnNsYXRlZCB2YWx1ZXMgaWYgdGhleSBoYXZlIG5vIHRyYW5zbGF0aW9uc1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZmllbGRUcmFuc2xhdGlvbnMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGRlbGV0ZSB0YXJnZXQudHJhbnNsYXRpb25zW2ZpZWxkTmFtZV1cbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIC8vIGFkZCBsYW5ndWFnZXMgdGhhdCBoYXZlIHRyYW5zbGF0aW9ucyB0byB0aGUgcm9vdCBsYW5ndWFnZSBsaXN0XG4gICAgICAgIGZvciAoY29uc3QgbGFuZyBpbiBmaWVsZFRyYW5zbGF0aW9ucykge1xuICAgICAgICAgIGlmICghcmVjb3JkLm90aGVyTGFuZ3VhZ2VzLmluY2x1ZGVzKGxhbmcpKSB7XG4gICAgICAgICAgICByZWNvcmQub3RoZXJMYW5ndWFnZXMucHVzaChsYW5nKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBmaXhMYW5ndWFnZXMocmVjb3JkKVxuICAgIHJlY29yZC5rZXl3b3Jkcy5tYXAoZml4TGFuZ3VhZ2VzKVxuICAgIHJlY29yZC5vbmxpbmVSZXNvdXJjZXMubWFwKGZpeExhbmd1YWdlcylcbiAgICByZWNvcmQubGljZW5zZXMubWFwKGZpeExhbmd1YWdlcylcbiAgICByZWNvcmQubGVnYWxDb25zdHJhaW50cy5tYXAoZml4TGFuZ3VhZ2VzKVxuICAgIHJlY29yZC5zZWN1cml0eUNvbnN0cmFpbnRzLm1hcChmaXhMYW5ndWFnZXMpXG4gICAgcmVjb3JkLm90aGVyQ29uc3RyYWludHMubWFwKGZpeExhbmd1YWdlcylcbiAgICByZWNvcmQuY29udGFjdHMubWFwKChjKSA9PiBmaXhMYW5ndWFnZXMoYy5vcmdhbml6YXRpb24pKVxuICAgIHJlY29yZC5jb250YWN0c0ZvclJlc291cmNlLm1hcCgoYykgPT4gZml4TGFuZ3VhZ2VzKGMub3JnYW5pemF0aW9uKSlcbiAgICBmaXhMYW5ndWFnZXMocmVjb3JkLm93bmVyT3JnYW5pemF0aW9uKVxuICAgIGlmIChyZWNvcmQua2luZCA9PT0gJ2RhdGFzZXQnKSB7XG4gICAgICByZWNvcmQuc3BhdGlhbEV4dGVudHMubWFwKGZpeExhbmd1YWdlcylcbiAgICB9XG5cbiAgICAvLyByZW1vdmUgZGVmYXVsdCBsYW5ndWFnZSBmcm9tIG90aGVyTGFuZ3VhZ2VzIGxpc3RcbiAgICBpZiAocmVjb3JkLm90aGVyTGFuZ3VhZ2VzLmluY2x1ZGVzKHJlY29yZC5kZWZhdWx0TGFuZ3VhZ2UpKSB7XG4gICAgICByZWNvcmQub3RoZXJMYW5ndWFnZXMgPSByZWNvcmQub3RoZXJMYW5ndWFnZXMuZmlsdGVyKFxuICAgICAgICAobGFuZykgPT4gbGFuZyAhPT0gcmVjb3JkLmRlZmF1bHRMYW5ndWFnZVxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiByZWNvcmRcbiAgfVxuXG4gIGFzeW5jIHJlYWRSZWNvcmQoZG9jdW1lbnQ6IHN0cmluZyk6IFByb21pc2U8Q2F0YWxvZ1JlY29yZD4ge1xuICAgIGNvbnN0IGRvYyA9IHBhcnNlWG1sU3RyaW5nKGRvY3VtZW50KVxuICAgIGNvbnN0IHJvb3RFbCA9IGdldFJvb3RFbGVtZW50KGRvYylcblxuICAgIGNvbnN0IHRyOiBSZWNvcmRUcmFuc2xhdGlvbnMgPSB7fVxuICAgIGNvbnN0IHVuaXF1ZUlkZW50aWZpZXIgPSB0aGlzLnJlYWRlcnNbJ3VuaXF1ZUlkZW50aWZpZXInXShyb290RWwsIHRyKVxuICAgIGNvbnN0IGtpbmQgPSB0aGlzLnJlYWRlcnNbJ2tpbmQnXShyb290RWwsIHRyKVxuICAgIGNvbnN0IG93bmVyT3JnYW5pemF0aW9uID0gdGhpcy5yZWFkZXJzWydvd25lck9yZ2FuaXphdGlvbiddKHJvb3RFbCwgdHIpXG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLnJlYWRlcnNbJ3RpdGxlJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCBhYnN0cmFjdCA9IHRoaXMucmVhZGVyc1snYWJzdHJhY3QnXShyb290RWwsIHRyKVxuICAgIGNvbnN0IGNvbnRhY3RzID0gdGhpcy5yZWFkZXJzWydjb250YWN0cyddKHJvb3RFbCwgdHIpXG4gICAgY29uc3QgY29udGFjdHNGb3JSZXNvdXJjZSA9IHRoaXMucmVhZGVyc1snY29udGFjdHNGb3JSZXNvdXJjZSddKHJvb3RFbCwgdHIpXG4gICAgY29uc3QgcmVjb3JkVXBkYXRlZCA9IHRoaXMucmVhZGVyc1sncmVjb3JkVXBkYXRlZCddKHJvb3RFbCwgdHIpXG4gICAgY29uc3QgcmVjb3JkQ3JlYXRlZCA9IHRoaXMucmVhZGVyc1sncmVjb3JkQ3JlYXRlZCddKHJvb3RFbCwgdHIpXG4gICAgY29uc3QgcmVjb3JkUHVibGlzaGVkID0gdGhpcy5yZWFkZXJzWydyZWNvcmRQdWJsaXNoZWQnXShyb290RWwsIHRyKVxuICAgIGNvbnN0IHJlc291cmNlQ3JlYXRlZCA9IHRoaXMucmVhZGVyc1sncmVzb3VyY2VDcmVhdGVkJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCByZXNvdXJjZVVwZGF0ZWQgPSB0aGlzLnJlYWRlcnNbJ3Jlc291cmNlVXBkYXRlZCddKHJvb3RFbCwgdHIpXG4gICAgY29uc3QgcmVzb3VyY2VQdWJsaXNoZWQgPSB0aGlzLnJlYWRlcnNbJ3Jlc291cmNlUHVibGlzaGVkJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCBrZXl3b3JkcyA9IHRoaXMucmVhZGVyc1sna2V5d29yZHMnXShyb290RWwsIHRyKVxuICAgIGNvbnN0IHRvcGljcyA9IHRoaXMucmVhZGVyc1sndG9waWNzJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCBsZWdhbENvbnN0cmFpbnRzID0gdGhpcy5yZWFkZXJzWydsZWdhbENvbnN0cmFpbnRzJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCBvdGhlckNvbnN0cmFpbnRzID0gdGhpcy5yZWFkZXJzWydvdGhlckNvbnN0cmFpbnRzJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCBzZWN1cml0eUNvbnN0cmFpbnRzID0gdGhpcy5yZWFkZXJzWydzZWN1cml0eUNvbnN0cmFpbnRzJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCBsaWNlbnNlcyA9IHRoaXMucmVhZGVyc1snbGljZW5zZXMnXShyb290RWwsIHRyKVxuICAgIGNvbnN0IG92ZXJ2aWV3cyA9IHRoaXMucmVhZGVyc1snb3ZlcnZpZXdzJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCBsYW5kaW5nUGFnZSA9IHRoaXMucmVhZGVyc1snbGFuZGluZ1BhZ2UnXShyb290RWwsIHRyKVxuICAgIGNvbnN0IG9ubGluZVJlc291cmNlcyA9IHRoaXMucmVhZGVyc1snb25saW5lUmVzb3VyY2VzJ10ocm9vdEVsLCB0cilcbiAgICBjb25zdCBvdGhlckxhbmd1YWdlcyA9IHRoaXMucmVhZGVyc1snb3RoZXJMYW5ndWFnZXMnXShyb290RWwsIHRyKVxuICAgIGNvbnN0IGRlZmF1bHRMYW5ndWFnZSA9IHRoaXMucmVhZGVyc1snZGVmYXVsdExhbmd1YWdlJ10ocm9vdEVsLCB0cilcblxuICAgIGlmIChraW5kID09PSAnZGF0YXNldCcpIHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMucmVhZGVyc1snc3RhdHVzJ10ocm9vdEVsLCB0cilcbiAgICAgIGNvbnN0IHNwYXRpYWxSZXByZXNlbnRhdGlvbiA9IHRoaXMucmVhZGVyc1snc3BhdGlhbFJlcHJlc2VudGF0aW9uJ10oXG4gICAgICAgIHJvb3RFbCxcbiAgICAgICAgdHJcbiAgICAgIClcbiAgICAgIGNvbnN0IHNwYXRpYWxFeHRlbnRzID0gdGhpcy5yZWFkZXJzWydzcGF0aWFsRXh0ZW50cyddKHJvb3RFbCwgdHIpXG4gICAgICBjb25zdCB0ZW1wb3JhbEV4dGVudHMgPSB0aGlzLnJlYWRlcnNbJ3RlbXBvcmFsRXh0ZW50cyddKHJvb3RFbCwgdHIpXG4gICAgICBjb25zdCBsaW5lYWdlID0gdGhpcy5yZWFkZXJzWydsaW5lYWdlJ10ocm9vdEVsLCB0cilcbiAgICAgIGNvbnN0IHVwZGF0ZUZyZXF1ZW5jeSA9IHRoaXMucmVhZGVyc1sndXBkYXRlRnJlcXVlbmN5J10ocm9vdEVsLCB0cilcblxuICAgICAgcmV0dXJuIHRoaXMuYWZ0ZXJSZWNvcmRSZWFkKHtcbiAgICAgICAgdW5pcXVlSWRlbnRpZmllcixcbiAgICAgICAga2luZCxcbiAgICAgICAgb3RoZXJMYW5ndWFnZXMsXG4gICAgICAgIGRlZmF1bHRMYW5ndWFnZSxcbiAgICAgICAgLi4uKHJlY29yZENyZWF0ZWQgJiYgeyByZWNvcmRDcmVhdGVkIH0pLFxuICAgICAgICAuLi4ocmVjb3JkUHVibGlzaGVkICYmIHsgcmVjb3JkUHVibGlzaGVkIH0pLFxuICAgICAgICByZWNvcmRVcGRhdGVkLFxuICAgICAgICAuLi4ocmVzb3VyY2VDcmVhdGVkICYmIHsgcmVzb3VyY2VDcmVhdGVkIH0pLFxuICAgICAgICAuLi4ocmVzb3VyY2VVcGRhdGVkICYmIHsgcmVzb3VyY2VVcGRhdGVkIH0pLFxuICAgICAgICAuLi4ocmVzb3VyY2VQdWJsaXNoZWQgJiYgeyByZXNvdXJjZVB1Ymxpc2hlZCB9KSxcbiAgICAgICAgc3RhdHVzLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgYWJzdHJhY3QsXG4gICAgICAgIG93bmVyT3JnYW5pemF0aW9uLFxuICAgICAgICBjb250YWN0cyxcbiAgICAgICAgY29udGFjdHNGb3JSZXNvdXJjZSxcbiAgICAgICAga2V5d29yZHMsXG4gICAgICAgIHRvcGljcyxcbiAgICAgICAgbGljZW5zZXMsXG4gICAgICAgIGxlZ2FsQ29uc3RyYWludHMsXG4gICAgICAgIHNlY3VyaXR5Q29uc3RyYWludHMsXG4gICAgICAgIG90aGVyQ29uc3RyYWludHMsXG4gICAgICAgIGxpbmVhZ2UsXG4gICAgICAgIC4uLihzcGF0aWFsUmVwcmVzZW50YXRpb24gJiYgeyBzcGF0aWFsUmVwcmVzZW50YXRpb24gfSksXG4gICAgICAgIG92ZXJ2aWV3cyxcbiAgICAgICAgc3BhdGlhbEV4dGVudHMsXG4gICAgICAgIHRlbXBvcmFsRXh0ZW50cyxcbiAgICAgICAgb25saW5lUmVzb3VyY2VzLFxuICAgICAgICB1cGRhdGVGcmVxdWVuY3ksXG4gICAgICAgIHRyYW5zbGF0aW9uczogdHIsXG4gICAgICAgIC4uLihsYW5kaW5nUGFnZSAmJiB7IGxhbmRpbmdQYWdlIH0pLFxuICAgICAgfSBhcyBEYXRhc2V0UmVjb3JkKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5hZnRlclJlY29yZFJlYWQoe1xuICAgICAgICB1bmlxdWVJZGVudGlmaWVyLFxuICAgICAgICBraW5kLFxuICAgICAgICBvdGhlckxhbmd1YWdlcyxcbiAgICAgICAgZGVmYXVsdExhbmd1YWdlLFxuICAgICAgICAuLi4ocmVjb3JkQ3JlYXRlZCAmJiB7IHJlY29yZENyZWF0ZWQgfSksXG4gICAgICAgIC4uLihyZWNvcmRQdWJsaXNoZWQgJiYgeyByZWNvcmRQdWJsaXNoZWQgfSksXG4gICAgICAgIHJlY29yZFVwZGF0ZWQsXG4gICAgICAgIC4uLihyZXNvdXJjZUNyZWF0ZWQgJiYgeyByZXNvdXJjZUNyZWF0ZWQgfSksXG4gICAgICAgIC4uLihyZXNvdXJjZVVwZGF0ZWQgJiYgeyByZXNvdXJjZVVwZGF0ZWQgfSksXG4gICAgICAgIC4uLihyZXNvdXJjZVB1Ymxpc2hlZCAmJiB7IHJlc291cmNlUHVibGlzaGVkIH0pLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgYWJzdHJhY3QsXG4gICAgICAgIG93bmVyT3JnYW5pemF0aW9uLFxuICAgICAgICBjb250YWN0cyxcbiAgICAgICAgY29udGFjdHNGb3JSZXNvdXJjZSxcbiAgICAgICAga2V5d29yZHMsXG4gICAgICAgIHRvcGljcyxcbiAgICAgICAgbGljZW5zZXMsXG4gICAgICAgIGxlZ2FsQ29uc3RyYWludHMsXG4gICAgICAgIHNlY3VyaXR5Q29uc3RyYWludHMsXG4gICAgICAgIG90aGVyQ29uc3RyYWludHMsXG4gICAgICAgIG92ZXJ2aWV3cyxcbiAgICAgICAgb25saW5lUmVzb3VyY2VzLFxuICAgICAgICB0cmFuc2xhdGlvbnM6IHRyLFxuICAgICAgICAuLi4obGFuZGluZ1BhZ2UgJiYgeyBsYW5kaW5nUGFnZSB9KSxcbiAgICAgIH0gYXMgU2VydmljZVJlY29yZClcbiAgICB9XG4gIH1cblxuICBhc3luYyB3cml0ZVJlY29yZChcbiAgICByZWNvcmQ6IENhdGFsb2dSZWNvcmQsXG4gICAgcmVmZXJlbmNlPzogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgbGV0IHJvb3RFbDogWG1sRWxlbWVudFxuICAgIGxldCBmaWVsZENoYW5nZWQ6IChuYW1lOiBzdHJpbmcpID0+IGJvb2xlYW5cbiAgICBpZiAocmVmZXJlbmNlKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbERvYyA9IHBhcnNlWG1sU3RyaW5nKHJlZmVyZW5jZSlcbiAgICAgIGNvbnN0IG9yaWdpbmFsUmVjb3JkID0gYXdhaXQgdGhpcy5yZWFkUmVjb3JkKHJlZmVyZW5jZSlcbiAgICAgIHJvb3RFbCA9IGdldFJvb3RFbGVtZW50KG9yaWdpbmFsRG9jKVxuXG4gICAgICBmaWVsZENoYW5nZWQgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbFJlY29yZCAhPT0gbnVsbFxuICAgICAgICAgID8gIWlzRXF1YWwocmVjb3JkW25hbWVdLCBvcmlnaW5hbFJlY29yZFtuYW1lXSlcbiAgICAgICAgICA6IHRydWVcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcm9vdEVsID0gY3JlYXRlRWxlbWVudCgnZ21kOk1EX01ldGFkYXRhJykoKVxuICAgICAgZmllbGRDaGFuZ2VkID0gKCkgPT4gdHJ1ZVxuICAgIH1cblxuICAgIGZpZWxkQ2hhbmdlZCgndW5pcXVlSWRlbnRpZmllcicpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ3VuaXF1ZUlkZW50aWZpZXInXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ2tpbmQnKSAmJiB0aGlzLndyaXRlcnNbJ2tpbmQnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ2RlZmF1bHRMYW5ndWFnZScpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ2RlZmF1bHRMYW5ndWFnZSddKHJlY29yZCwgcm9vdEVsKVxuXG4gICAgZmllbGRDaGFuZ2VkKCdjb250YWN0cycpICYmIHRoaXMud3JpdGVyc1snY29udGFjdHMnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ293bmVyT3JnYW5pemF0aW9uJykgJiZcbiAgICAgIHRoaXMud3JpdGVyc1snb3duZXJPcmdhbml6YXRpb24nXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgncmVjb3JkVXBkYXRlZCcpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ3JlY29yZFVwZGF0ZWQnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ3JlY29yZENyZWF0ZWQnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydyZWNvcmRDcmVhdGVkJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdyZWNvcmRQdWJsaXNoZWQnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydyZWNvcmRQdWJsaXNoZWQnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgndGl0bGUnKSAmJiB0aGlzLndyaXRlcnNbJ3RpdGxlJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdhYnN0cmFjdCcpICYmIHRoaXMud3JpdGVyc1snYWJzdHJhY3QnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgncmVzb3VyY2VDcmVhdGVkJykgJiZcbiAgICAgIHRoaXMud3JpdGVyc1sncmVzb3VyY2VDcmVhdGVkJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdyZXNvdXJjZVB1Ymxpc2hlZCcpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlUHVibGlzaGVkJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdyZXNvdXJjZVVwZGF0ZWQnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydyZXNvdXJjZVVwZGF0ZWQnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgnY29udGFjdHNGb3JSZXNvdXJjZScpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ2NvbnRhY3RzRm9yUmVzb3VyY2UnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGZpZWxkQ2hhbmdlZCgna2V5d29yZHMnKSAmJiB0aGlzLndyaXRlcnNbJ2tleXdvcmRzJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCd0b3BpY3MnKSAmJiB0aGlzLndyaXRlcnNbJ3RvcGljcyddKHJlY29yZCwgcm9vdEVsKVxuICAgIGZpZWxkQ2hhbmdlZCgnbGVnYWxDb25zdHJhaW50cycpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ2xlZ2FsQ29uc3RyYWludHMnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ3NlY3VyaXR5Q29uc3RyYWludHMnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydzZWN1cml0eUNvbnN0cmFpbnRzJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdsaWNlbnNlcycpICYmIHRoaXMud3JpdGVyc1snbGljZW5zZXMnXShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ290aGVyQ29uc3RyYWludHMnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydvdGhlckNvbnN0cmFpbnRzJ10ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdvbmxpbmVSZXNvdXJjZXMnKSAmJlxuICAgICAgdGhpcy53cml0ZXJzWydvbmxpbmVSZXNvdXJjZXMnXShyZWNvcmQsIHJvb3RFbClcblxuICAgIGlmIChyZWNvcmQua2luZCA9PT0gJ2RhdGFzZXQnKSB7XG4gICAgICBmaWVsZENoYW5nZWQoJ3N0YXR1cycpICYmIHRoaXMud3JpdGVyc1snc3RhdHVzJ10ocmVjb3JkLCByb290RWwpXG4gICAgICBmaWVsZENoYW5nZWQoJ3VwZGF0ZUZyZXF1ZW5jeScpICYmXG4gICAgICAgIHRoaXMud3JpdGVyc1sndXBkYXRlRnJlcXVlbmN5J10ocmVjb3JkLCByb290RWwpXG4gICAgICBmaWVsZENoYW5nZWQoJ3NwYXRpYWxSZXByZXNlbnRhdGlvbicpICYmXG4gICAgICAgIHRoaXMud3JpdGVyc1snc3BhdGlhbFJlcHJlc2VudGF0aW9uJ10ocmVjb3JkLCByb290RWwpXG4gICAgICBmaWVsZENoYW5nZWQoJ292ZXJ2aWV3cycpICYmIHRoaXMud3JpdGVyc1snb3ZlcnZpZXdzJ10ocmVjb3JkLCByb290RWwpXG4gICAgICBmaWVsZENoYW5nZWQoJ3RlbXBvcmFsRXh0ZW50cycpICYmXG4gICAgICAgIHRoaXMud3JpdGVyc1sndGVtcG9yYWxFeHRlbnRzJ10ocmVjb3JkLCByb290RWwpXG4gICAgICBmaWVsZENoYW5nZWQoJ3NwYXRpYWxFeHRlbnRzJykgJiZcbiAgICAgICAgdGhpcy53cml0ZXJzWydzcGF0aWFsRXh0ZW50cyddKHJlY29yZCwgcm9vdEVsKVxuICAgICAgZmllbGRDaGFuZ2VkKCdsaW5lYWdlJykgJiYgdGhpcy53cml0ZXJzWydsaW5lYWdlJ10ocmVjb3JkLCByb290RWwpXG4gICAgfVxuXG4gICAgZmllbGRDaGFuZ2VkKCdvdGhlckxhbmd1YWdlcycpICYmXG4gICAgICB0aGlzLndyaXRlcnNbJ290aGVyTGFuZ3VhZ2VzJ10ocmVjb3JkLCByb290RWwpXG5cbiAgICB0aGlzLmJlZm9yZURvY3VtZW50Q3JlYXRpb24ocm9vdEVsKVxuXG4gICAgY29uc3QgbmV3RG9jdW1lbnQgPSBjcmVhdGVEb2N1bWVudChyb290RWwpXG4gICAgcmV0dXJuIHhtbFRvU3RyaW5nKG5ld0RvY3VtZW50KVxuICB9XG59XG4iXX0=