geonetwork-ui 2.4.0-dev.3c297076 → 2.4.0-dev.4892c308

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 (748) 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 +254 -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 +196 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +46 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +74 -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 +27 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
  14. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  15. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +6 -6
  16. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  17. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +17 -29
  18. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +11 -16
  19. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +54 -54
  21. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +39 -5
  22. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +78 -39
  23. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
  24. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +51 -7
  25. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
  26. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  27. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  28. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  29. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  30. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  31. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  32. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -4
  33. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  34. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  35. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +10 -7
  36. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +40 -50
  37. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  38. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  39. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  40. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  41. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +10 -5
  42. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  43. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +17 -0
  44. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
  45. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -0
  46. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  47. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  48. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +147 -0
  49. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  50. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +31 -40
  51. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +11 -9
  52. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +79 -0
  53. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
  54. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  55. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +93 -11
  56. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +12 -16
  57. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  58. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
  59. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +41 -69
  60. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +17 -15
  61. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +48 -55
  62. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  63. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -3
  64. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +3 -3
  65. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
  66. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
  67. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +65 -8
  68. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  69. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
  70. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  71. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  72. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +9 -15
  73. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  74. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  75. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
  76. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +20 -19
  77. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +23 -14
  78. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +15 -14
  79. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +18 -13
  80. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +16 -11
  81. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  82. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +9 -68
  83. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +43 -29
  84. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +43 -18
  85. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  86. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  87. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -168
  88. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  89. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +21 -17
  90. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +14 -8
  91. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -52
  92. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
  93. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +1 -1
  94. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  95. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +17 -6
  96. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +7 -7
  97. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +1 -6
  98. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  99. package/esm2022/libs/ui/elements/src/index.mjs +2 -2
  100. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  101. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  102. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  103. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -6
  104. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  105. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
  106. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
  107. package/esm2022/libs/ui/inputs/src/index.mjs +6 -1
  108. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +24 -7
  109. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
  110. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
  111. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
  112. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
  113. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  114. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  115. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +19 -15
  116. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +6 -4
  117. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  118. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  119. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  120. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +4 -13
  121. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  122. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  123. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
  124. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +3 -3
  125. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  126. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  127. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  128. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +8 -6
  129. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
  130. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  131. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  132. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  133. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +8 -8
  134. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  135. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  136. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  137. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  138. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  139. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
  140. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  141. package/esm2022/translations/de.json +70 -2
  142. package/esm2022/translations/en.json +99 -31
  143. package/esm2022/translations/es.json +68 -0
  144. package/esm2022/translations/fr.json +132 -64
  145. package/esm2022/translations/it.json +70 -2
  146. package/esm2022/translations/nl.json +68 -0
  147. package/esm2022/translations/pt.json +68 -0
  148. package/fesm2022/geonetwork-ui.mjs +10496 -8674
  149. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  150. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  151. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  152. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  153. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  154. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  155. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  156. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  157. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  158. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  159. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  160. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  161. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  162. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +20 -0
  163. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  164. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +9 -0
  165. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  166. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  167. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  168. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  169. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  170. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  171. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  172. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  173. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  174. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  175. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  176. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  177. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  178. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  179. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  180. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -2
  181. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  182. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  183. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
  184. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  185. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +10 -11
  186. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  187. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +58 -0
  188. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  189. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +12 -7
  190. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  191. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  192. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +22 -2
  193. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  194. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +2 -1
  195. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  196. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -6
  197. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  198. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  199. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  200. package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
  201. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  202. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +7 -0
  203. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  204. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  205. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  206. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  207. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  208. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  209. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  210. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  211. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  212. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -9
  213. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  214. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  215. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  216. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  217. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  218. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  219. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  220. package/libs/feature/editor/src/index.d.ts +1 -0
  221. package/libs/feature/editor/src/index.d.ts.map +1 -1
  222. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  223. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  224. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  225. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  226. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  227. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  228. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +8 -0
  229. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  230. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  231. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  232. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  233. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  234. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  235. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  236. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  237. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  238. 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
  239. 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
  240. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  241. 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
  242. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
  243. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  244. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  245. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  246. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +15 -0
  247. 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
  248. 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
  249. 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
  250. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  251. 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
  252. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +24 -4
  253. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  254. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  255. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  256. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  257. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  258. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  259. 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
  260. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -18
  261. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  262. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  263. 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
  264. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -24
  265. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  266. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  267. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  268. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -3
  269. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  270. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  271. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  272. package/libs/feature/editor/src/lib/fields.config.d.ts +16 -0
  273. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  274. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -0
  275. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  276. package/libs/feature/editor/src/lib/services/editor.service.d.ts +3 -2
  277. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  278. package/libs/feature/map/src/index.d.ts +1 -8
  279. package/libs/feature/map/src/index.d.ts.map +1 -1
  280. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  281. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  282. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  283. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  284. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  285. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  286. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  287. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  288. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  289. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  290. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +8 -10
  291. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  292. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  293. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  294. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +3 -3
  295. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  296. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +2 -2
  297. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  298. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +2 -2
  299. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  300. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  301. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  302. package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -23
  303. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  304. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  305. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  306. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +5 -4
  307. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  308. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  309. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  310. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  311. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  312. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  313. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  314. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  315. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  316. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  317. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  318. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -11
  319. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  320. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
  321. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  322. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  323. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  324. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +5 -3
  325. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  326. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  327. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  328. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -10
  329. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  330. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  331. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  332. package/libs/ui/elements/src/index.d.ts +1 -1
  333. package/libs/ui/elements/src/index.d.ts.map +1 -1
  334. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  335. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  336. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  337. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  338. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  339. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  340. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  341. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  342. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  343. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  344. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  345. package/libs/ui/inputs/src/index.d.ts +5 -0
  346. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  347. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
  348. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  349. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  350. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  351. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  352. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  353. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  354. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  355. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  356. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  357. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  358. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  359. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  360. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  361. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  362. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
  363. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  364. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  365. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  366. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  367. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  368. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +33 -35
  369. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  370. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  371. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  372. package/libs/ui/layout/src/index.d.ts +2 -0
  373. package/libs/ui/layout/src/index.d.ts.map +1 -1
  374. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  375. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  376. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  377. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  378. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  379. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  380. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  381. package/libs/ui/map/src/index.d.ts +3 -2
  382. package/libs/ui/map/src/index.d.ts.map +1 -1
  383. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  384. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  385. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  386. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  387. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  388. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  389. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  390. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  391. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  392. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  393. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -3
  394. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  395. package/libs/util/app-config/src/index.d.ts +1 -0
  396. package/libs/util/app-config/src/index.d.ts.map +1 -1
  397. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  398. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  399. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  400. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  401. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  402. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  403. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  404. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  405. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  406. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  407. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  408. package/package.json +5 -3
  409. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  410. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  411. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  412. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +378 -0
  413. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  414. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  415. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +370 -0
  416. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +95 -0
  417. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  418. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  419. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  420. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +97 -0
  421. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  422. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
  423. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  424. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +68 -0
  425. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  426. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +272 -0
  427. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  428. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
  429. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  430. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
  431. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +110 -0
  432. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +85 -0
  433. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +73 -0
  434. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  435. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  436. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +5 -6
  437. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  438. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +21 -43
  439. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +8 -15
  440. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
  441. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +133 -156
  442. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +42 -7
  443. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +132 -68
  444. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  445. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
  446. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +29 -1
  447. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -7
  448. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  449. package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
  450. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +10 -0
  451. package/src/libs/common/fixtures/src/index.ts +4 -1
  452. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +37 -37
  453. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  454. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  455. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  456. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  457. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  458. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  459. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  460. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  461. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  462. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  463. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  464. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  465. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  466. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  467. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  468. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  469. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  470. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
  471. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  472. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  473. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  474. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +45 -15
  475. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  476. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  477. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -1
  478. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  479. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  480. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +6 -2
  481. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  482. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  483. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  484. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  485. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  486. package/src/libs/feature/editor/src/index.ts +1 -0
  487. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  488. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +26 -4
  489. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
  490. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +15 -0
  491. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +18 -0
  492. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  493. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
  494. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
  495. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -0
  496. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  497. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  498. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  499. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  500. 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
  501. 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
  502. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +210 -0
  503. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  504. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  505. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
  506. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +44 -45
  507. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  508. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  509. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -0
  510. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +86 -0
  511. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css +0 -0
  512. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +34 -0
  513. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
  514. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  515. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  516. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  517. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
  518. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +107 -7
  519. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  520. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  521. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  522. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  523. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  524. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  525. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  526. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +31 -4
  527. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +43 -87
  528. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  529. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  530. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  531. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +117 -74
  532. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +52 -55
  533. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  534. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +32 -29
  535. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +9 -3
  536. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  537. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  538. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  539. package/src/libs/feature/editor/src/lib/fields.config.ts +72 -7
  540. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -0
  541. package/src/libs/feature/editor/src/lib/services/editor.service.ts +14 -3
  542. package/src/libs/feature/map/src/index.ts +1 -8
  543. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  544. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  545. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  546. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  547. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  548. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +23 -22
  549. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +22 -11
  550. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  551. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +21 -19
  552. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  553. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +17 -10
  554. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  555. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +17 -10
  556. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  557. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -41
  558. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  559. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
  560. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +39 -6
  561. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  562. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  563. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  564. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  565. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -229
  566. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  567. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +29 -20
  568. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -3
  569. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
  570. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
  571. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  572. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +1 -1
  573. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +2 -1
  574. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +5 -1
  575. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +26 -3
  576. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  577. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  578. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -3
  579. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  580. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  581. package/src/libs/ui/elements/src/index.ts +1 -1
  582. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  583. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  584. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  585. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -20
  586. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  587. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
  588. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  589. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
  590. package/src/libs/ui/inputs/src/index.ts +5 -0
  591. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
  592. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
  593. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +19 -4
  594. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +11 -3
  595. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
  596. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  597. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  598. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +14 -6
  599. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
  600. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  601. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +28 -23
  602. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
  603. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  604. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  605. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  606. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  607. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  608. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
  609. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +17 -14
  610. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
  611. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +4 -3
  612. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
  613. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
  614. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  615. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  616. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  617. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  618. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -6
  619. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  620. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  621. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  622. package/src/libs/ui/layout/src/index.ts +2 -0
  623. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  624. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  625. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +1 -1
  626. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +2 -2
  627. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  628. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  629. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  630. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  631. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +11 -18
  632. package/src/libs/ui/map/src/index.ts +3 -2
  633. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  634. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  635. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  636. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
  637. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  638. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  639. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  640. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +20 -9
  641. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +5 -6
  642. package/src/libs/util/app-config/src/index.ts +1 -0
  643. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  644. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  645. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  646. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  647. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  648. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  649. package/tailwind.base.config.js +1 -0
  650. package/tailwind.base.css +52 -8
  651. package/translations/de.json +70 -2
  652. package/translations/en.json +99 -31
  653. package/translations/es.json +68 -0
  654. package/translations/fr.json +132 -64
  655. package/translations/it.json +70 -2
  656. package/translations/nl.json +68 -0
  657. package/translations/pt.json +68 -0
  658. package/translations/sk.json +68 -0
  659. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -131
  660. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  661. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +0 -17
  662. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +0 -17
  663. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  664. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  665. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  666. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  667. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  668. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  669. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  670. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  671. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  672. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  673. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  674. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -46
  675. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  676. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  677. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
  678. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
  679. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  680. 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
  681. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +0 -8
  682. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +0 -1
  683. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +0 -8
  684. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +0 -1
  685. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  686. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  687. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  688. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  689. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  690. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  691. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  692. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  693. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  694. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  695. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  696. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  697. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  698. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  699. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  700. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  701. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  702. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  703. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  704. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  705. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  706. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  707. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -23
  708. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  709. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  710. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  711. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  712. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  713. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  714. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  715. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  716. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -9
  717. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -161
  718. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  719. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  720. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +0 -7
  721. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +0 -16
  722. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +0 -13
  723. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +0 -16
  724. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  725. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  726. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  727. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  728. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  729. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  730. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  731. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  732. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  733. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  734. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -51
  735. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  736. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  737. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -38
  738. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  739. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  740. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  741. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  742. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css → import-record/import-record.component.css} +0 -0
  743. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css → online-resource-card/online-resource-card.component.css} +0 -0
  744. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.css} +0 -0
  745. /package/src/libs/feature/{map/src/lib/map-context/component/map-context.component.css → editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.css} +0 -0
  746. /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
  747. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
  748. /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
@@ -1,160 +1,10 @@
1
- import { HttpClient } from '@angular/common/http';
2
1
  import { Injectable } from '@angular/core';
3
- import { extend, isEmpty } from 'ol/extent';
2
+ import { extend } from 'ol/extent';
4
3
  import GeoJSON from 'ol/format/GeoJSON';
5
- import Map from 'ol/Map';
6
4
  import { transformExtent } from 'ol/proj';
7
- import ImageWMS from 'ol/source/ImageWMS';
8
- import TileWMS from 'ol/source/TileWMS';
9
- import VectorSource from 'ol/source/Vector';
10
- import { defaults, DragPan, MouseWheelZoom } from 'ol/interaction';
11
- import { mouseOnly, noModifierKeys, platformModifierKeyOnly, primaryAction, } from 'ol/events/condition';
12
- import { map } from 'rxjs/operators';
13
- import { ProxyService } from '../../../../../../libs/util/shared/src';
14
- import { WmsEndpoint, WmtsEndpoint } from '@camptocamp/ogc-client';
15
- import { LONLAT_CRS_CODES } from '../constant/projections';
16
- import { fromEPSGCode, register } from 'ol/proj/proj4';
17
- import proj4 from 'proj4';
18
- import { defaults as defaultControls } from 'ol/control/defaults';
19
5
  import * as i0 from "@angular/core";
20
- import * as i1 from "@angular/common/http";
21
- import * as i2 from "../../../../../../libs/util/shared/src";
22
- const FEATURE_PROJECTION = 'EPSG:3857';
23
- const DATA_PROJECTION = 'EPSG:4326';
24
6
  const GEOJSON = new GeoJSON();
25
7
  export class MapUtilsService {
26
- constructor(http, proxy) {
27
- this.http = http;
28
- this.proxy = proxy;
29
- this.readFeatureCollection = (featureCollection, featureProjection = FEATURE_PROJECTION, dataProjection = DATA_PROJECTION) => {
30
- return GEOJSON.readFeatures(featureCollection, {
31
- featureProjection,
32
- dataProjection,
33
- });
34
- };
35
- }
36
- createEmptyMap() {
37
- return new Map({
38
- controls: defaultControls({
39
- attribution: true,
40
- attributionOptions: { collapsible: false },
41
- }),
42
- pixelRatio: 1,
43
- });
44
- }
45
- isWMSLayer(layer) {
46
- return (layer.getSource() instanceof TileWMS ||
47
- layer.getSource() instanceof ImageWMS);
48
- }
49
- getGFIUrl(layer, map, coordinate) {
50
- const view = map.getView();
51
- const projection = view.getProjection();
52
- const resolution = view.getResolution();
53
- const source = layer.getSource();
54
- const params = {
55
- ...source.getParams(),
56
- INFO_FORMAT: 'application/json',
57
- };
58
- return source.getFeatureInfoUrl(coordinate, resolution, projection, params);
59
- }
60
- getVectorFeaturesFromClick(olMap, event) {
61
- const features = [];
62
- const hit = olMap.forEachFeatureAtPixel(event.pixel, (feature) => {
63
- return feature;
64
- }, { layerFilter: (layer) => layer.getSource() instanceof VectorSource });
65
- if (hit) {
66
- features.push(hit);
67
- }
68
- return features;
69
- }
70
- getGFIFeaturesObservablesFromClick(olMap, event) {
71
- const wmsLayers = olMap.getLayers().getArray().filter(this.isWMSLayer);
72
- if (wmsLayers.length > 0) {
73
- const { coordinate } = event;
74
- const gfiUrls = wmsLayers.reduce((urls, layer) => [...urls, this.getGFIUrl(layer, olMap, coordinate)], []);
75
- return gfiUrls.map((url) => this.http
76
- .get(url)
77
- .pipe(map((collection) => this.readFeatureCollection(collection))));
78
- }
79
- else {
80
- return [];
81
- }
82
- }
83
- /**
84
- * Will emit `null` if no extent could be computed
85
- */
86
- async getLayerExtent(layer) {
87
- let latLonExtent;
88
- if (layer &&
89
- layer.type === 'geojson' &&
90
- 'data' in layer &&
91
- typeof layer.data === 'object' &&
92
- layer.data.features[0] &&
93
- layer.data.features[0].geometry) {
94
- latLonExtent = new GeoJSON()
95
- .readFeatures(layer.data)
96
- .map((feature) => feature.getGeometry())
97
- .filter((geom) => !!geom)
98
- .reduce((prev, curr) => prev ? extend(prev, curr.getExtent()) : curr.getExtent(), null);
99
- }
100
- else if (layer && layer.type === 'wms') {
101
- latLonExtent = await this.getWmsLayerExtent(layer);
102
- }
103
- else if (layer && layer.type === 'wmts') {
104
- // TODO: isolate this in utils service
105
- latLonExtent = await new WmtsEndpoint(layer.url)
106
- .isReady()
107
- .then((endpoint) => {
108
- const layerName = endpoint.getSingleLayerName() ?? layer.name;
109
- const wmtsLayer = endpoint.getLayerByName(layerName);
110
- return wmtsLayer.latLonBoundingBox;
111
- });
112
- }
113
- else {
114
- return null;
115
- }
116
- if (!latLonExtent || isEmpty(latLonExtent)) {
117
- return null;
118
- }
119
- return transformExtent(latLonExtent, 'EPSG:4326', 'EPSG:3857');
120
- }
121
- async getWmsLayerExtent(layer) {
122
- const endpoint = await new WmsEndpoint(this.proxy.getProxiedUrl(layer.url)).isReady();
123
- const { boundingBoxes } = endpoint.getLayerByName(layer.name);
124
- if (!Object.keys(boundingBoxes).length) {
125
- return null;
126
- }
127
- const lonLatCRS = Object.keys(boundingBoxes)?.find((crs) => LONLAT_CRS_CODES.includes(crs));
128
- if (lonLatCRS) {
129
- return boundingBoxes[lonLatCRS];
130
- }
131
- else {
132
- const availableEPSGCode = Object.keys(boundingBoxes)[0];
133
- register(proj4);
134
- const proj = await fromEPSGCode(availableEPSGCode);
135
- return transformExtent(boundingBoxes[availableEPSGCode], proj, 'EPSG:4326');
136
- }
137
- }
138
- prioritizePageScroll(interactions) {
139
- interactions.clear();
140
- interactions.extend(defaults({
141
- // remove rotate interactions
142
- altShiftDragRotate: false,
143
- pinchRotate: false,
144
- // replace drag and zoom interactions
145
- dragPan: false,
146
- mouseWheelZoom: false,
147
- })
148
- .extend([
149
- new DragPan({
150
- condition: dragPanCondition,
151
- }),
152
- new MouseWheelZoom({
153
- condition: mouseWheelZoomCondition,
154
- }),
155
- ])
156
- .getArray());
157
- }
158
8
  getRecordExtent(record) {
159
9
  if (!('spatialExtents' in record) || record.spatialExtents.length === 0) {
160
10
  return null;
@@ -171,7 +21,7 @@ export class MapUtilsService {
171
21
  }, [Infinity, Infinity, -Infinity, -Infinity]);
172
22
  return transformExtent(totalExtent, 'EPSG:4326', 'EPSG:3857');
173
23
  }
174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapUtilsService, deps: [{ token: i1.HttpClient }, { token: i2.ProxyService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapUtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
175
25
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapUtilsService, providedIn: 'root' }); }
176
26
  }
177
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapUtilsService, decorators: [{
@@ -179,19 +29,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
179
29
  args: [{
180
30
  providedIn: 'root',
181
31
  }]
182
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ProxyService }]; } });
183
- export function dragPanCondition(event) {
184
- const dragPanCondition = this.getPointerCount() === 2 || mouseOnly(event);
185
- if (!dragPanCondition) {
186
- this.getMap().dispatchEvent('mapmuted');
187
- }
188
- // combine the condition with the default DragPan conditions
189
- return dragPanCondition && noModifierKeys(event) && primaryAction(event);
190
- }
191
- export function mouseWheelZoomCondition(event) {
192
- if (!platformModifierKeyOnly(event) && event.type === 'wheel') {
193
- this.getMap().dispatchEvent('mapmuted');
194
- }
195
- return platformModifierKeyOnly(event);
196
- }
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvbWFwLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLE1BQU0sRUFBVSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkQsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFHdkMsT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFBO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFekMsT0FBTyxRQUFRLE1BQU0sb0JBQW9CLENBQUE7QUFDekMsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFDdkMsT0FBTyxZQUFZLE1BQU0sa0JBQWtCLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGFBQWEsR0FDZCxNQUFNLHFCQUFxQixDQUFBO0FBRTVCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVFwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0RCxPQUFPLEtBQUss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Z0IsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6RSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQUN4QztJQUNELDREQUE0RDtJQUM1RCxPQUFPLGdCQUFnQixJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUUsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FFckMsS0FBK0I7SUFFL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUE7S0FDeEM7SUFDRCxPQUFPLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB0eXBlIHsgRmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgZXh0ZW5kLCBFeHRlbnQsIGlzRW1wdHkgfSBmcm9tICdvbC9leHRlbnQnXG5pbXBvcnQgRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJ1xuaW1wb3J0IEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nXG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nXG5pbXBvcnQgTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvTGF5ZXInXG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCdcbmltcG9ydCB7IHRyYW5zZm9ybUV4dGVudCB9IGZyb20gJ29sL3Byb2onXG5pbXBvcnQgU291cmNlIGZyb20gJ29sL3NvdXJjZS9Tb3VyY2UnXG5pbXBvcnQgSW1hZ2VXTVMgZnJvbSAnb2wvc291cmNlL0ltYWdlV01TJ1xuaW1wb3J0IFRpbGVXTVMgZnJvbSAnb2wvc291cmNlL1RpbGVXTVMnXG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InXG5pbXBvcnQgeyBkZWZhdWx0cywgRHJhZ1BhbiwgSW50ZXJhY3Rpb24sIE1vdXNlV2hlZWxab29tIH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24nXG5pbXBvcnQge1xuICBtb3VzZU9ubHksXG4gIG5vTW9kaWZpZXJLZXlzLFxuICBwbGF0Zm9ybU1vZGlmaWVyS2V5T25seSxcbiAgcHJpbWFyeUFjdGlvbixcbn0gZnJvbSAnb2wvZXZlbnRzL2NvbmRpdGlvbidcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBNYXBDb250ZXh0TGF5ZXJNb2RlbCxcbiAgTWFwQ29udGV4dExheWVyV21zTW9kZWwsXG59IGZyb20gJy4uL21hcC1jb250ZXh0L21hcC1jb250ZXh0Lm1vZGVsJ1xuaW1wb3J0IENvbGxlY3Rpb24gZnJvbSAnb2wvQ29sbGVjdGlvbidcbmltcG9ydCBNYXBCcm93c2VyRXZlbnQgZnJvbSAnb2wvTWFwQnJvd3NlckV2ZW50J1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IFByb3h5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgV21zRW5kcG9pbnQsIFdtdHNFbmRwb2ludCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBMT05MQVRfQ1JTX0NPREVTIH0gZnJvbSAnLi4vY29uc3RhbnQvcHJvamVjdGlvbnMnXG5pbXBvcnQgeyBmcm9tRVBTR0NvZGUsIHJlZ2lzdGVyIH0gZnJvbSAnb2wvcHJvai9wcm9qNCdcbmltcG9ydCBwcm9qNCBmcm9tICdwcm9qNCdcbmltcG9ydCB7IGRlZmF1bHRzIGFzIGRlZmF1bHRDb250cm9scyB9IGZyb20gJ29sL2NvbnRyb2wvZGVmYXVsdHMnXG5cbmNvbnN0IEZFQVRVUkVfUFJPSkVDVElPTiA9ICdFUFNHOjM4NTcnXG5jb25zdCBEQVRBX1BST0pFQ1RJT04gPSAnRVBTRzo0MzI2J1xuXG5jb25zdCBHRU9KU09OID0gbmV3IEdlb0pTT04oKVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwVXRpbHNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHByb3h5OiBQcm94eVNlcnZpY2UpIHt9XG5cbiAgY3JlYXRlRW1wdHlNYXAoKTogTWFwIHtcbiAgICByZXR1cm4gbmV3IE1hcCh7XG4gICAgICBjb250cm9sczogZGVmYXVsdENvbnRyb2xzKHtcbiAgICAgICAgYXR0cmlidXRpb246IHRydWUsXG4gICAgICAgIGF0dHJpYnV0aW9uT3B0aW9uczogeyBjb2xsYXBzaWJsZTogZmFsc2UgfSxcbiAgICAgIH0pLFxuICAgICAgcGl4ZWxSYXRpbzogMSxcbiAgICB9KVxuICB9XG5cbiAgcmVhZEZlYXR1cmVDb2xsZWN0aW9uID0gKFxuICAgIGZlYXR1cmVDb2xsZWN0aW9uOiBGZWF0dXJlQ29sbGVjdGlvbixcbiAgICBmZWF0dXJlUHJvamVjdGlvbiA9IEZFQVRVUkVfUFJPSkVDVElPTixcbiAgICBkYXRhUHJvamVjdGlvbiA9IERBVEFfUFJPSkVDVElPTlxuICApOiBGZWF0dXJlPEdlb21ldHJ5PltdID0+IHtcbiAgICByZXR1cm4gR0VPSlNPTi5yZWFkRmVhdHVyZXMoZmVhdHVyZUNvbGxlY3Rpb24sIHtcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uLFxuICAgICAgZGF0YVByb2plY3Rpb24sXG4gICAgfSkgYXMgRmVhdHVyZTxHZW9tZXRyeT5bXVxuICB9XG5cbiAgaXNXTVNMYXllcihsYXllcjogTGF5ZXI8U291cmNlPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBsYXllci5nZXRTb3VyY2UoKSBpbnN0YW5jZW9mIFRpbGVXTVMgfHxcbiAgICAgIGxheWVyLmdldFNvdXJjZSgpIGluc3RhbmNlb2YgSW1hZ2VXTVNcbiAgICApXG4gIH1cblxuICBnZXRHRklVcmwobGF5ZXIsIG1hcCwgY29vcmRpbmF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdmlldyA9IG1hcC5nZXRWaWV3KClcbiAgICBjb25zdCBwcm9qZWN0aW9uID0gdmlldy5nZXRQcm9qZWN0aW9uKClcbiAgICBjb25zdCByZXNvbHV0aW9uID0gdmlldy5nZXRSZXNvbHV0aW9uKClcbiAgICBjb25zdCBzb3VyY2UgPSBsYXllci5nZXRTb3VyY2UoKVxuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIC4uLnNvdXJjZS5nZXRQYXJhbXMoKSxcbiAgICAgIElORk9fRk9STUFUOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIHJldHVybiBzb3VyY2UuZ2V0RmVhdHVyZUluZm9VcmwoY29vcmRpbmF0ZSwgcmVzb2x1dGlvbiwgcHJvamVjdGlvbiwgcGFyYW1zKVxuICB9XG5cbiAgZ2V0VmVjdG9yRmVhdHVyZXNGcm9tQ2xpY2sob2xNYXAsIGV2ZW50KTogRmVhdHVyZTxHZW9tZXRyeT5bXSB7XG4gICAgY29uc3QgZmVhdHVyZXMgPSBbXVxuICAgIGNvbnN0IGhpdCA9IG9sTWFwLmZvckVhY2hGZWF0dXJlQXRQaXhlbChcbiAgICAgIGV2ZW50LnBpeGVsLFxuICAgICAgKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+KSA9PiB7XG4gICAgICAgIHJldHVybiBmZWF0dXJlXG4gICAgICB9LFxuICAgICAgeyBsYXllckZpbHRlcjogKGxheWVyKSA9PiBsYXllci5nZXRTb3VyY2UoKSBpbnN0YW5jZW9mIFZlY3RvclNvdXJjZSB9XG4gICAgKVxuICAgIGlmIChoaXQpIHtcbiAgICAgIGZlYXR1cmVzLnB1c2goaGl0KVxuICAgIH1cbiAgICByZXR1cm4gZmVhdHVyZXNcbiAgfVxuXG4gIGdldEdGSUZlYXR1cmVzT2JzZXJ2YWJsZXNGcm9tQ2xpY2soXG4gICAgb2xNYXA6IE1hcCxcbiAgICBldmVudDogTWFwQnJvd3NlckV2ZW50PFBvaW50ZXJFdmVudD5cbiAgKTogT2JzZXJ2YWJsZTxGZWF0dXJlPEdlb21ldHJ5PltdPltdIHtcbiAgICBjb25zdCB3bXNMYXllcnMgPSBvbE1hcC5nZXRMYXllcnMoKS5nZXRBcnJheSgpLmZpbHRlcih0aGlzLmlzV01TTGF5ZXIpXG5cbiAgICBpZiAod21zTGF5ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSB9ID0gZXZlbnRcbiAgICAgIGNvbnN0IGdmaVVybHMgPSB3bXNMYXllcnMucmVkdWNlKFxuICAgICAgICAodXJscywgbGF5ZXIpID0+IFsuLi51cmxzLCB0aGlzLmdldEdGSVVybChsYXllciwgb2xNYXAsIGNvb3JkaW5hdGUpXSxcblxuICAgICAgICBbXVxuICAgICAgKVxuICAgICAgcmV0dXJuIGdmaVVybHMubWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cFxuICAgICAgICAgIC5nZXQ8RmVhdHVyZUNvbGxlY3Rpb24+KHVybClcbiAgICAgICAgICAucGlwZShtYXAoKGNvbGxlY3Rpb24pID0+IHRoaXMucmVhZEZlYXR1cmVDb2xsZWN0aW9uKGNvbGxlY3Rpb24pKSlcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdpbGwgZW1pdCBgbnVsbGAgaWYgbm8gZXh0ZW50IGNvdWxkIGJlIGNvbXB1dGVkXG4gICAqL1xuICBhc3luYyBnZXRMYXllckV4dGVudChsYXllcjogTWFwQ29udGV4dExheWVyTW9kZWwpOiBQcm9taXNlPEV4dGVudCB8IG51bGw+IHtcbiAgICBsZXQgbGF0TG9uRXh0ZW50OiBFeHRlbnRcbiAgICBpZiAoXG4gICAgICBsYXllciAmJlxuICAgICAgbGF5ZXIudHlwZSA9PT0gJ2dlb2pzb24nICYmXG4gICAgICAnZGF0YScgaW4gbGF5ZXIgJiZcbiAgICAgIHR5cGVvZiBsYXllci5kYXRhID09PSAnb2JqZWN0JyAmJlxuICAgICAgbGF5ZXIuZGF0YS5mZWF0dXJlc1swXSAmJlxuICAgICAgbGF5ZXIuZGF0YS5mZWF0dXJlc1swXS5nZW9tZXRyeVxuICAgICkge1xuICAgICAgbGF0TG9uRXh0ZW50ID0gbmV3IEdlb0pTT04oKVxuICAgICAgICAucmVhZEZlYXR1cmVzKGxheWVyLmRhdGEpXG4gICAgICAgIC5tYXAoKGZlYXR1cmUpID0+IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSlcbiAgICAgICAgLmZpbHRlcigoZ2VvbSkgPT4gISFnZW9tKVxuICAgICAgICAucmVkdWNlKFxuICAgICAgICAgIChwcmV2LCBjdXJyKSA9PlxuICAgICAgICAgICAgcHJldiA/IGV4dGVuZChwcmV2LCBjdXJyLmdldEV4dGVudCgpKSA6IGN1cnIuZ2V0RXh0ZW50KCksXG4gICAgICAgICAgbnVsbCBhcyBFeHRlbnRcbiAgICAgICAgKVxuICAgIH0gZWxzZSBpZiAobGF5ZXIgJiYgbGF5ZXIudHlwZSA9PT0gJ3dtcycpIHtcbiAgICAgIGxhdExvbkV4dGVudCA9IGF3YWl0IHRoaXMuZ2V0V21zTGF5ZXJFeHRlbnQobGF5ZXIpXG4gICAgfSBlbHNlIGlmIChsYXllciAmJiBsYXllci50eXBlID09PSAnd210cycpIHtcbiAgICAgIC8vIFRPRE86IGlzb2xhdGUgdGhpcyBpbiB1dGlscyBzZXJ2aWNlXG4gICAgICBsYXRMb25FeHRlbnQgPSBhd2FpdCBuZXcgV210c0VuZHBvaW50KGxheWVyLnVybClcbiAgICAgICAgLmlzUmVhZHkoKVxuICAgICAgICAudGhlbigoZW5kcG9pbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBsYXllck5hbWUgPSBlbmRwb2ludC5nZXRTaW5nbGVMYXllck5hbWUoKSA/PyBsYXllci5uYW1lXG4gICAgICAgICAgY29uc3Qgd210c0xheWVyID0gZW5kcG9pbnQuZ2V0TGF5ZXJCeU5hbWUobGF5ZXJOYW1lKVxuICAgICAgICAgIHJldHVybiB3bXRzTGF5ZXIubGF0TG9uQm91bmRpbmdCb3hcbiAgICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgaWYgKCFsYXRMb25FeHRlbnQgfHwgaXNFbXB0eShsYXRMb25FeHRlbnQpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICByZXR1cm4gdHJhbnNmb3JtRXh0ZW50KGxhdExvbkV4dGVudCwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKVxuICB9XG5cbiAgYXN5bmMgZ2V0V21zTGF5ZXJFeHRlbnQoXG4gICAgbGF5ZXI6IE1hcENvbnRleHRMYXllcldtc01vZGVsXG4gICk6IFByb21pc2U8RXh0ZW50IHwgbnVsbD4ge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gYXdhaXQgbmV3IFdtc0VuZHBvaW50KFxuICAgICAgdGhpcy5wcm94eS5nZXRQcm94aWVkVXJsKGxheWVyLnVybClcbiAgICApLmlzUmVhZHkoKVxuICAgIGNvbnN0IHsgYm91bmRpbmdCb3hlcyB9ID0gZW5kcG9pbnQuZ2V0TGF5ZXJCeU5hbWUobGF5ZXIubmFtZSlcbiAgICBpZiAoIU9iamVjdC5rZXlzKGJvdW5kaW5nQm94ZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgbG9uTGF0Q1JTID0gT2JqZWN0LmtleXMoYm91bmRpbmdCb3hlcyk/LmZpbmQoKGNycykgPT5cbiAgICAgIExPTkxBVF9DUlNfQ09ERVMuaW5jbHVkZXMoY3JzKVxuICAgIClcbiAgICBpZiAobG9uTGF0Q1JTKSB7XG4gICAgICByZXR1cm4gYm91bmRpbmdCb3hlc1tsb25MYXRDUlNdXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZUVQU0dDb2RlID0gT2JqZWN0LmtleXMoYm91bmRpbmdCb3hlcylbMF1cbiAgICAgIHJlZ2lzdGVyKHByb2o0KVxuICAgICAgY29uc3QgcHJvaiA9IGF3YWl0IGZyb21FUFNHQ29kZShhdmFpbGFibGVFUFNHQ29kZSlcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1FeHRlbnQoXG4gICAgICAgIGJvdW5kaW5nQm94ZXNbYXZhaWxhYmxlRVBTR0NvZGVdLFxuICAgICAgICBwcm9qLFxuICAgICAgICAnRVBTRzo0MzI2J1xuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHByaW9yaXRpemVQYWdlU2Nyb2xsKGludGVyYWN0aW9uczogQ29sbGVjdGlvbjxJbnRlcmFjdGlvbj4pIHtcbiAgICBpbnRlcmFjdGlvbnMuY2xlYXIoKVxuICAgIGludGVyYWN0aW9ucy5leHRlbmQoXG4gICAgICBkZWZhdWx0cyh7XG4gICAgICAgIC8vIHJlbW92ZSByb3RhdGUgaW50ZXJhY3Rpb25zXG4gICAgICAgIGFsdFNoaWZ0RHJhZ1JvdGF0ZTogZmFsc2UsXG4gICAgICAgIHBpbmNoUm90YXRlOiBmYWxzZSxcbiAgICAgICAgLy8gcmVwbGFjZSBkcmFnIGFuZCB6b29tIGludGVyYWN0aW9uc1xuICAgICAgICBkcmFnUGFuOiBmYWxzZSxcbiAgICAgICAgbW91c2VXaGVlbFpvb206IGZhbHNlLFxuICAgICAgfSlcbiAgICAgICAgLmV4dGVuZChbXG4gICAgICAgICAgbmV3IERyYWdQYW4oe1xuICAgICAgICAgICAgY29uZGl0aW9uOiBkcmFnUGFuQ29uZGl0aW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBNb3VzZVdoZWVsWm9vbSh7XG4gICAgICAgICAgICBjb25kaXRpb246IG1vdXNlV2hlZWxab29tQ29uZGl0aW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdKVxuICAgICAgICAuZ2V0QXJyYXkoKVxuICAgIClcbiAgfVxuXG4gIGdldFJlY29yZEV4dGVudChyZWNvcmQ6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD4pOiBFeHRlbnQge1xuICAgIGlmICghKCdzcGF0aWFsRXh0ZW50cycgaW4gcmVjb3JkKSB8fCByZWNvcmQuc3BhdGlhbEV4dGVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICAvLyBleHRlbmQgYWxsIHRoZSBzcGF0aWFsIGV4dGVudHMgaW50byBhbiBpbmNsdWRpbmcgYmJveFxuICAgIGNvbnN0IHRvdGFsRXh0ZW50ID0gcmVjb3JkLnNwYXRpYWxFeHRlbnRzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgIGlmICgnYmJveCcgaW4gY3VycikgcmV0dXJuIGV4dGVuZChwcmV2LCBjdXJyLmJib3gpXG4gICAgICAgIGVsc2UgaWYgKCdnZW9tZXRyeScgaW4gY3Vycikge1xuICAgICAgICAgIGNvbnN0IGdlb20gPSBHRU9KU09OLnJlYWRHZW9tZXRyeShjdXJyLmdlb21ldHJ5KVxuICAgICAgICAgIHJldHVybiBleHRlbmQocHJldiwgZ2VvbS5nZXRFeHRlbnQoKSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfSxcbiAgICAgIFtJbmZpbml0eSwgSW5maW5pdHksIC1JbmZpbml0eSwgLUluZmluaXR5XVxuICAgIClcbiAgICByZXR1cm4gdHJhbnNmb3JtRXh0ZW50KHRvdGFsRXh0ZW50LCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRyYWdQYW5Db25kaXRpb24oXG4gIHRoaXM6IERyYWdQYW4sXG4gIGV2ZW50OiBNYXBCcm93c2VyRXZlbnQ8UG9pbnRlckV2ZW50PlxuKSB7XG4gIGNvbnN0IGRyYWdQYW5Db25kaXRpb24gPSB0aGlzLmdldFBvaW50ZXJDb3VudCgpID09PSAyIHx8IG1vdXNlT25seShldmVudClcbiAgaWYgKCFkcmFnUGFuQ29uZGl0aW9uKSB7XG4gICAgdGhpcy5nZXRNYXAoKS5kaXNwYXRjaEV2ZW50KCdtYXBtdXRlZCcpXG4gIH1cbiAgLy8gY29tYmluZSB0aGUgY29uZGl0aW9uIHdpdGggdGhlIGRlZmF1bHQgRHJhZ1BhbiBjb25kaXRpb25zXG4gIHJldHVybiBkcmFnUGFuQ29uZGl0aW9uICYmIG5vTW9kaWZpZXJLZXlzKGV2ZW50KSAmJiBwcmltYXJ5QWN0aW9uKGV2ZW50KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW91c2VXaGVlbFpvb21Db25kaXRpb24oXG4gIHRoaXM6IE1vdXNlV2hlZWxab29tLFxuICBldmVudDogTWFwQnJvd3NlckV2ZW50PFVJRXZlbnQ+XG4pIHtcbiAgaWYgKCFwbGF0Zm9ybU1vZGlmaWVyS2V5T25seShldmVudCkgJiYgZXZlbnQudHlwZSA9PT0gJ3doZWVsJykge1xuICAgIHRoaXMuZ2V0TWFwKCkuZGlzcGF0Y2hFdmVudCgnbWFwbXV0ZWQnKVxuICB9XG4gIHJldHVybiBwbGF0Zm9ybU1vZGlmaWVyS2V5T25seShldmVudClcbn1cbiJdfQ==
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvbWFwLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFVLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sT0FBTyxNQUFNLG1CQUFtQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7O0FBR3pDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7QUFLN0IsTUFBTSxPQUFPLGVBQWU7SUFDMUIsZUFBZSxDQUFDLE1BQThCO1FBQzVDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2RSxPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0Qsd0RBQXdEO1FBQ3hELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUM5QyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNiLElBQUksTUFBTSxJQUFJLElBQUk7Z0JBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtpQkFDN0MsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO2dCQUMzQixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDaEQsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO2FBQ3RDO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDLEVBQ0QsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQzNDLENBQUE7UUFDRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQy9ELENBQUM7K0dBbEJVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBleHRlbmQsIEV4dGVudCB9IGZyb20gJ29sL2V4dGVudCdcbmltcG9ydCBHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJ1xuaW1wb3J0IHsgdHJhbnNmb3JtRXh0ZW50IH0gZnJvbSAnb2wvcHJvaidcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmNvbnN0IEdFT0pTT04gPSBuZXcgR2VvSlNPTigpXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBVdGlsc1NlcnZpY2Uge1xuICBnZXRSZWNvcmRFeHRlbnQocmVjb3JkOiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+KTogRXh0ZW50IHtcbiAgICBpZiAoISgnc3BhdGlhbEV4dGVudHMnIGluIHJlY29yZCkgfHwgcmVjb3JkLnNwYXRpYWxFeHRlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgLy8gZXh0ZW5kIGFsbCB0aGUgc3BhdGlhbCBleHRlbnRzIGludG8gYW4gaW5jbHVkaW5nIGJib3hcbiAgICBjb25zdCB0b3RhbEV4dGVudCA9IHJlY29yZC5zcGF0aWFsRXh0ZW50cy5yZWR1Y2UoXG4gICAgICAocHJldiwgY3VycikgPT4ge1xuICAgICAgICBpZiAoJ2Jib3gnIGluIGN1cnIpIHJldHVybiBleHRlbmQocHJldiwgY3Vyci5iYm94KVxuICAgICAgICBlbHNlIGlmICgnZ2VvbWV0cnknIGluIGN1cnIpIHtcbiAgICAgICAgICBjb25zdCBnZW9tID0gR0VPSlNPTi5yZWFkR2VvbWV0cnkoY3Vyci5nZW9tZXRyeSlcbiAgICAgICAgICByZXR1cm4gZXh0ZW5kKHByZXYsIGdlb20uZ2V0RXh0ZW50KCkpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgIH0sXG4gICAgICBbSW5maW5pdHksIEluZmluaXR5LCAtSW5maW5pdHksIC1JbmZpbml0eV1cbiAgICApXG4gICAgcmV0dXJuIHRyYW5zZm9ybUV4dGVudCh0b3RhbEV4dGVudCwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKVxuICB9XG59XG4iXX0=
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
51
  }], chartConfig$: [{
52
52
  type: Output
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7Ozs7Ozs7O0FBVXZDLE1BQU0sT0FBTyxpQkFBaUI7SUE0QjVCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBMUJwQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQTtRQUM3RSx5QkFBb0IsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYTtTQUNoQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFBO1lBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekQsT0FBTyxDQUFDLENBQUE7UUFDVixDQUFDLENBQUMsQ0FDSCxDQUFBO1FBQ0QscUJBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDbEM7UUFDSCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNaLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkIsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1NBQzVCLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQTtRQUNELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFBO0lBRWIsQ0FBQztJQUVsRCxjQUFjLENBQUMsS0FBZ0M7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxZQUFvQjtRQUM3QixNQUFNLElBQUksR0FBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMxRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDOytHQXRDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw0SENuQjlCLG10QkFxQkE7OzRGREZhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTttR0FHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsLCBnZXRMaW5rUHJpb3JpdHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUnXG5pbXBvcnQgeyBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBEYXRhc2V0RGlzdHJpYnV0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1kYXRhLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZTogJ3RhYmxlJyB8ICdjaGFydCdcbiAgQE91dHB1dCgpIGNoYXJ0Q29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YXZpekNvbmZpZ3VyYXRpb25Nb2RlbD4obnVsbClcbiAgY29tcGF0aWJsZURhdGFMaW5rcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5kYXRhTGlua3MkLFxuICAgIHRoaXMubWRWaWV3RmFjYWRlLmdlb0RhdGFMaW5rcyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbZGF0YUxpbmtzLCBnZW9EYXRhTGlua3NdKSA9PiB7XG4gICAgICBjb25zdCBhID0gWy4uLmRhdGFMaW5rcywgLi4uZ2VvRGF0YUxpbmtzXVxuICAgICAgYS5zb3J0KChhLCBiKSA9PiBnZXRMaW5rUHJpb3JpdHkoYikgLSBnZXRMaW5rUHJpb3JpdHkoYSkpXG4gICAgICByZXR1cm4gYVxuICAgIH0pXG4gIClcbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZURhdGFMaW5rcyQucGlwZShcbiAgICB0YXAoKGxpbmtzKSA9PiB7XG4gICAgICBpZiAobGlua3MuaW5kZXhPZih0aGlzLnNlbGVjdGVkTGluayQudmFsdWUpID09PSAtMSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGluayQubmV4dChsaW5rc1swXSlcbiAgICAgIH1cbiAgICB9KSxcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MubWFwKChsaW5rKSA9PiAoe1xuICAgICAgICBsYWJlbDogZ2V0TGlua0xhYmVsKGxpbmspLFxuICAgICAgICB2YWx1ZTogSlNPTi5zdHJpbmdpZnkobGluayksXG4gICAgICB9KSlcbiAgICApXG4gIClcbiAgc2VsZWN0ZWRMaW5rJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YXNldERpc3RyaWJ1dGlvbj4obnVsbClcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1kVmlld0ZhY2FkZTogTWRWaWV3RmFjYWRlKSB7fVxuXG4gIHNldENoYXJ0Q29uZmlnKGV2ZW50OiBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsKSB7XG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuc2V0Q2hhcnRDb25maWcoZXZlbnQpXG4gIH1cblxuICBzZWxlY3RMaW5rKGxpbmtBc1N0cmluZzogc3RyaW5nKSB7XG4gICAgY29uc3QgbGluazogRGF0YXNldERpc3RyaWJ1dGlvbiA9IEpTT04ucGFyc2UobGlua0FzU3RyaW5nKVxuICAgIGxpbmsudXJsID0gbmV3IFVSTChsaW5rLnVybClcbiAgICB0aGlzLnNlbGVjdGVkTGluayQubmV4dChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIHAtMVwiPlxuICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAqbmdJZj1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luYyBhcyBjaG9pY2VzXCJcbiAgICBbdGl0bGVdPVwiJ3RhYmxlLnNlbGVjdC5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgY2xhc3M9XCJ0cnVuY2F0ZSBwLTEgLW14LTFcIlxuICAgIGV4dHJhQnRuQ2xhc3M9XCIhdGV4dC1wcmltYXJ5IGZvbnQtc2FucyBmb250LW1lZGl1bVwiXG4gICAgW2Nob2ljZXNdPVwiY2hvaWNlc1wiXG4gICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmsoJGV2ZW50KVwiXG4gID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaC1bNDIwcHhdXCI+XG4gICAgPGduLXVpLXRhYmxlLXZpZXdcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ3RhYmxlJ1wiXG4gICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgID48L2duLXVpLXRhYmxlLXZpZXc+XG4gICAgPGduLXVpLWNoYXJ0LXZpZXdcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ2NoYXJ0J1wiXG4gICAgICAoY2hhcnRDb25maWckKT1cInNldENoYXJ0Q29uZmlnKCRldmVudClcIlxuICAgICAgW2xpbmtdPVwic2VsZWN0ZWRMaW5rJCB8IGFzeW5jXCJcbiAgICA+PC9nbi11aS1jaGFydC12aWV3PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7Ozs7Ozs7O0FBVXZDLE1BQU0sT0FBTyxpQkFBaUI7SUE0QjVCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBMUJwQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQTtRQUM3RSx5QkFBb0IsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYTtTQUNoQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFBO1lBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekQsT0FBTyxDQUFDLENBQUE7UUFDVixDQUFDLENBQUMsQ0FDSCxDQUFBO1FBQ0QscUJBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDbEM7UUFDSCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNaLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkIsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1NBQzVCLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQTtRQUNELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXdCLElBQUksQ0FBQyxDQUFBO0lBRWYsQ0FBQztJQUVsRCxjQUFjLENBQUMsS0FBZ0M7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxZQUFvQjtRQUM3QixNQUFNLElBQUksR0FBMEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDOytHQXRDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw0SENuQjlCLG10QkFxQkE7OzRGREZhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTttR0FHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsLCBnZXRMaW5rUHJpb3JpdHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUnXG5pbXBvcnQgeyBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRhdGEtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlOiAndGFibGUnIHwgJ2NoYXJ0J1xuICBAT3V0cHV0KCkgY2hhcnRDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsPihudWxsKVxuICBjb21wYXRpYmxlRGF0YUxpbmtzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubWRWaWV3RmFjYWRlLmRhdGFMaW5rcyQsXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuZ2VvRGF0YUxpbmtzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkYXRhTGlua3MsIGdlb0RhdGFMaW5rc10pID0+IHtcbiAgICAgIGNvbnN0IGEgPSBbLi4uZGF0YUxpbmtzLCAuLi5nZW9EYXRhTGlua3NdXG4gICAgICBhLnNvcnQoKGEsIGIpID0+IGdldExpbmtQcmlvcml0eShiKSAtIGdldExpbmtQcmlvcml0eShhKSlcbiAgICAgIHJldHVybiBhXG4gICAgfSlcbiAgKVxuICBkcm9wZG93bkNob2ljZXMkID0gdGhpcy5jb21wYXRpYmxlRGF0YUxpbmtzJC5waXBlKFxuICAgIHRhcCgobGlua3MpID0+IHtcbiAgICAgIGlmIChsaW5rcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWRMaW5rJC52YWx1ZSkgPT09IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaW5rJC5uZXh0KGxpbmtzWzBdKVxuICAgICAgfVxuICAgIH0pLFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5tYXAoKGxpbmspID0+ICh7XG4gICAgICAgIGxhYmVsOiBnZXRMaW5rTGFiZWwobGluayksXG4gICAgICAgIHZhbHVlOiBKU09OLnN0cmluZ2lmeShsaW5rKSxcbiAgICAgIH0pKVxuICAgIClcbiAgKVxuICBzZWxlY3RlZExpbmskID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhc2V0T25saW5lUmVzb3VyY2U+KG51bGwpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZFZpZXdGYWNhZGU6IE1kVmlld0ZhY2FkZSkge31cblxuICBzZXRDaGFydENvbmZpZyhldmVudDogRGF0YXZpekNvbmZpZ3VyYXRpb25Nb2RlbCkge1xuICAgIHRoaXMubWRWaWV3RmFjYWRlLnNldENoYXJ0Q29uZmlnKGV2ZW50KVxuICB9XG5cbiAgc2VsZWN0TGluayhsaW5rQXNTdHJpbmc6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSA9IEpTT04ucGFyc2UobGlua0FzU3RyaW5nKVxuICAgIGxpbmsudXJsID0gbmV3IFVSTChsaW5rLnVybClcbiAgICB0aGlzLnNlbGVjdGVkTGluayQubmV4dChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIHAtMVwiPlxuICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAqbmdJZj1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luYyBhcyBjaG9pY2VzXCJcbiAgICBbdGl0bGVdPVwiJ3RhYmxlLnNlbGVjdC5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgY2xhc3M9XCJ0cnVuY2F0ZSBwLTEgLW14LTFcIlxuICAgIGV4dHJhQnRuQ2xhc3M9XCIhdGV4dC1wcmltYXJ5IGZvbnQtc2FucyBmb250LW1lZGl1bVwiXG4gICAgW2Nob2ljZXNdPVwiY2hvaWNlc1wiXG4gICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmsoJGV2ZW50KVwiXG4gID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaC1bNDIwcHhdXCI+XG4gICAgPGduLXVpLXRhYmxlLXZpZXdcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ3RhYmxlJ1wiXG4gICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgID48L2duLXVpLXRhYmxlLXZpZXc+XG4gICAgPGduLXVpLWNoYXJ0LXZpZXdcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ2NoYXJ0J1wiXG4gICAgICAoY2hhcnRDb25maWckKT1cInNldENoYXJ0Q29uZmlnKCRldmVudClcIlxuICAgICAgW2xpbmtdPVwic2VsZWN0ZWRMaW5rJCB8IGFzeW5jXCJcbiAgICA+PC9nbi11aS1jaGFydC12aWV3PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Inject, InjectionToken, Input, Optional, } from '@angular/core';
2
2
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { getFileFormat } from '../../../../../../libs/util/shared/src';
@@ -8,13 +8,11 @@ import * as i2 from "@angular/common";
8
8
  import * as i3 from "../../../../../ui/inputs/src/lib/button/button.component";
9
9
  import * as i4 from "@angular/material/icon";
10
10
  marker('externalviewer.dataset.unnamed');
11
+ export const EXTERNAL_VIEWER_URL_TEMPLATE = new InjectionToken('externalViewerUrlTemplate');
12
+ export const EXTERNAL_VIEWER_OPEN_NEW_TAB = new InjectionToken('externalViewerOpenNewTab', { factory: () => false });
11
13
  export class ExternalViewerButtonComponent {
12
14
  get externalViewer() {
13
- if (this.link && this.mapConfig) {
14
- return (!!this.mapConfig.EXTERNAL_VIEWER_URL_TEMPLATE &&
15
- !!this.supportedLinkLayerType);
16
- }
17
- return false;
15
+ return !!this.urlTemplate && !!this.supportedLinkLayerType;
18
16
  }
19
17
  get supportedLinkLayerType() {
20
18
  if (!this.link)
@@ -33,11 +31,13 @@ export class ExternalViewerButtonComponent {
33
31
  }
34
32
  return null;
35
33
  }
36
- constructor(translateService) {
34
+ constructor(translateService, urlTemplate, openinNewTab) {
37
35
  this.translateService = translateService;
36
+ this.urlTemplate = urlTemplate;
37
+ this.openinNewTab = openinNewTab;
38
38
  }
39
39
  openInExternalViewer() {
40
- const templateUrl = this.mapConfig.EXTERNAL_VIEWER_URL_TEMPLATE;
40
+ const templateUrl = this.urlTemplate;
41
41
  const layerName = this.link.name
42
42
  ? this.link.name
43
43
  : this.translateService.instant('externalviewer.dataset.unnamed');
@@ -45,19 +45,23 @@ export class ExternalViewerButtonComponent {
45
45
  .replace('${layer_name}', `${layerName}`)
46
46
  .replace('${service_url}', `${encodeURIComponent(this.link.url.toString())}`)
47
47
  .replace('${service_type}', `${this.supportedLinkLayerType}`);
48
- window
49
- .open(url, this.mapConfig.EXTERNAL_VIEWER_OPEN_NEW_TAB ? '_blank' : '_self')
50
- .focus();
48
+ window.open(url, this.openinNewTab ? '_blank' : '_self').focus();
51
49
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalViewerButtonComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: { link: "link", mapConfig: "mapConfig" }, ngImport: i0, template: "<gn-ui-button\n *ngIf=\"externalViewer\"\n (buttonClick)=\"openInExternalViewer()\"\n type=\"secondary\"\n [title]=\"'record.externalViewer.open' | translate\"\n extraClass=\"ms-2 !rounded-lg\"\n>\n <mat-icon class=\"material-symbols-outlined\">open_in_new</mat-icon>\n</gn-ui-button>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalViewerButtonComponent, deps: [{ token: i1.TranslateService }, { token: EXTERNAL_VIEWER_URL_TEMPLATE, optional: true }, { token: EXTERNAL_VIEWER_OPEN_NEW_TAB }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: { link: "link" }, ngImport: i0, template: "<gn-ui-button\n *ngIf=\"externalViewer\"\n (buttonClick)=\"openInExternalViewer()\"\n type=\"secondary\"\n [title]=\"'record.externalViewer.open' | translate\"\n extraClass=\"ms-2 !rounded-lg\"\n>\n <mat-icon class=\"material-symbols-outlined\">open_in_new</mat-icon>\n</gn-ui-button>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
52
  }
55
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalViewerButtonComponent, decorators: [{
56
54
  type: Component,
57
55
  args: [{ selector: 'gn-ui-external-viewer-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-button\n *ngIf=\"externalViewer\"\n (buttonClick)=\"openInExternalViewer()\"\n type=\"secondary\"\n [title]=\"'record.externalViewer.open' | translate\"\n extraClass=\"ms-2 !rounded-lg\"\n>\n <mat-icon class=\"material-symbols-outlined\">open_in_new</mat-icon>\n</gn-ui-button>\n" }]
58
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { link: [{
59
- type: Input
60
- }], mapConfig: [{
56
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: undefined, decorators: [{
57
+ type: Inject,
58
+ args: [EXTERNAL_VIEWER_URL_TEMPLATE]
59
+ }, {
60
+ type: Optional
61
+ }] }, { type: undefined, decorators: [{
62
+ type: Inject,
63
+ args: [EXTERNAL_VIEWER_OPEN_NEW_TAB]
64
+ }] }]; }, propDecorators: { link: [{
61
65
  type: Input
62
66
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9leHRlcm5hbC12aWV3ZXItYnV0dG9uL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7O0FBRXRFLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO0FBUXhDLE1BQU0sT0FBTyw2QkFBNkI7SUFJeEMsSUFBSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQy9CLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEI7Z0JBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQzlCLENBQUE7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFBO1FBQzNCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxLQUFLLEVBQUU7Z0JBQzdDLE9BQU8sS0FBSyxDQUFBO2FBQ2I7WUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEtBQUssS0FBSyxFQUFFO2dCQUM3QyxPQUFPLEtBQUssQ0FBQTthQUNiO1NBQ0Y7YUFBTSxJQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVU7WUFDN0IsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQ3RDO1lBQ0EsT0FBTyxTQUFTLENBQUE7U0FDakI7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsb0JBQW9CO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsNEJBQTRCLENBQUE7UUFDL0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUNuRSxNQUFNLEdBQUcsR0FBRyxXQUFXO2FBQ3BCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQzthQUN4QyxPQUFPLENBQ04sZ0JBQWdCLEVBQ2hCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUNsRDthQUNBLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUE7UUFDL0QsTUFBTTthQUNILElBQUksQ0FDSCxHQUFHLEVBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ2pFO2FBQ0EsS0FBSyxFQUFFLENBQUE7SUFDWixDQUFDOytHQXBEVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixzSENmMUMsc1NBU0E7OzRGRE1hLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU07dUdBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2FwcC1jb25maWcvc3JjJ1xuaW1wb3J0IHsgRGF0YXNldERpc3RyaWJ1dGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgZ2V0RmlsZUZvcm1hdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuXG5tYXJrZXIoJ2V4dGVybmFsdmlld2VyLmRhdGFzZXQudW5uYW1lZCcpXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uXG4gIEBJbnB1dCgpIG1hcENvbmZpZzogTWFwQ29uZmlnXG5cbiAgZ2V0IGV4dGVybmFsVmlld2VyKCkge1xuICAgIGlmICh0aGlzLmxpbmsgJiYgdGhpcy5tYXBDb25maWcpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICEhdGhpcy5tYXBDb25maWcuRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURSAmJlxuICAgICAgICAhIXRoaXMuc3VwcG9ydGVkTGlua0xheWVyVHlwZVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdldCBzdXBwb3J0ZWRMaW5rTGF5ZXJUeXBlKCkge1xuICAgIGlmICghdGhpcy5saW5rKSByZXR1cm4gbnVsbFxuICAgIGlmICh0aGlzLmxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnKSB7XG4gICAgICBpZiAodGhpcy5saW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgICAgcmV0dXJuICd3bXMnXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5saW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycpIHtcbiAgICAgICAgcmV0dXJuICd3ZnMnXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMubGluay50eXBlID09PSAnZG93bmxvYWQnICYmXG4gICAgICBnZXRGaWxlRm9ybWF0KHRoaXMubGluaykgPT09ICdnZW9qc29uJ1xuICAgICkge1xuICAgICAgcmV0dXJuICdnZW9qc29uJ1xuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG9wZW5JbkV4dGVybmFsVmlld2VyKCkge1xuICAgIGNvbnN0IHRlbXBsYXRlVXJsID0gdGhpcy5tYXBDb25maWcuRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURVxuICAgIGNvbnN0IGxheWVyTmFtZSA9IHRoaXMubGluay5uYW1lXG4gICAgICA/IHRoaXMubGluay5uYW1lXG4gICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdleHRlcm5hbHZpZXdlci5kYXRhc2V0LnVubmFtZWQnKVxuICAgIGNvbnN0IHVybCA9IHRlbXBsYXRlVXJsXG4gICAgICAucmVwbGFjZSgnJHtsYXllcl9uYW1lfScsIGAke2xheWVyTmFtZX1gKVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgICcke3NlcnZpY2VfdXJsfScsXG4gICAgICAgIGAke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLmxpbmsudXJsLnRvU3RyaW5nKCkpfWBcbiAgICAgIClcbiAgICAgIC5yZXBsYWNlKCcke3NlcnZpY2VfdHlwZX0nLCBgJHt0aGlzLnN1cHBvcnRlZExpbmtMYXllclR5cGV9YClcbiAgICB3aW5kb3dcbiAgICAgIC5vcGVuKFxuICAgICAgICB1cmwsXG4gICAgICAgIHRoaXMubWFwQ29uZmlnLkVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUIgPyAnX2JsYW5rJyA6ICdfc2VsZidcbiAgICAgIClcbiAgICAgIC5mb2N1cygpXG4gIH1cbn1cbiIsIjxnbi11aS1idXR0b25cbiAgKm5nSWY9XCJleHRlcm5hbFZpZXdlclwiXG4gIChidXR0b25DbGljayk9XCJvcGVuSW5FeHRlcm5hbFZpZXdlcigpXCJcbiAgdHlwZT1cInNlY29uZGFyeVwiXG4gIFt0aXRsZV09XCIncmVjb3JkLmV4dGVybmFsVmlld2VyLm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgZXh0cmFDbGFzcz1cIm1zLTIgIXJvdW5kZWQtbGdcIlxuPlxuICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+b3Blbl9pbl9uZXc8L21hdC1pY29uPlxuPC9nbi11aS1idXR0b24+XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9leHRlcm5hbC12aWV3ZXItYnV0dG9uL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7Ozs7OztBQUV0RSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtBQUV4QyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsMkJBQTJCLENBQzVCLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsMEJBQTBCLEVBQzFCLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUN6QixDQUFBO0FBUUQsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFBO0lBQzVELENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEtBQUssS0FBSyxFQUFFO2dCQUM3QyxPQUFPLEtBQUssQ0FBQTthQUNiO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixLQUFLLEtBQUssRUFBRTtnQkFDN0MsT0FBTyxLQUFLLENBQUE7YUFDYjtTQUNGO2FBQU0sSUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVO1lBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUN0QztZQUNBLE9BQU8sU0FBUyxDQUFBO1NBQ2pCO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsWUFDVSxnQkFBa0MsRUFHbEMsV0FBbUIsRUFFbkIsWUFBcUI7UUFMckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUdsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUVuQixpQkFBWSxHQUFaLFlBQVksQ0FBUztJQUM1QixDQUFDO0lBRUosb0JBQW9CO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUE7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUNuRSxNQUFNLEdBQUcsR0FBRyxXQUFXO2FBQ3BCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQzthQUN4QyxPQUFPLENBQ04sZ0JBQWdCLEVBQ2hCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUNsRDthQUNBLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUE7UUFDL0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNsRSxDQUFDOytHQS9DVSw2QkFBNkIsa0RBMkI5Qiw0QkFBNEIsNkJBRzVCLDRCQUE0QjttR0E5QjNCLDZCQUE2Qiw4RkM3QjFDLHNTQVNBOzs0RkRvQmEsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTTs7MEJBNkI1QyxNQUFNOzJCQUFDLDRCQUE0Qjs7MEJBQ25DLFFBQVE7OzBCQUVSLE1BQU07MkJBQUMsNEJBQTRCOzRDQTdCN0IsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRGF0YXNldE9ubGluZVJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBnZXRGaWxlRm9ybWF0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5cbm1hcmtlcignZXh0ZXJuYWx2aWV3ZXIuZGF0YXNldC51bm5hbWVkJylcblxuZXhwb3J0IGNvbnN0IEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgJ2V4dGVybmFsVmlld2VyVXJsVGVtcGxhdGUnXG4pXG5leHBvcnQgY29uc3QgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPihcbiAgJ2V4dGVybmFsVmlld2VyT3Blbk5ld1RhYicsXG4gIHsgZmFjdG9yeTogKCkgPT4gZmFsc2UgfVxuKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlXG5cbiAgZ2V0IGV4dGVybmFsVmlld2VyKCkge1xuICAgIHJldHVybiAhIXRoaXMudXJsVGVtcGxhdGUgJiYgISF0aGlzLnN1cHBvcnRlZExpbmtMYXllclR5cGVcbiAgfVxuXG4gIGdldCBzdXBwb3J0ZWRMaW5rTGF5ZXJUeXBlKCkge1xuICAgIGlmICghdGhpcy5saW5rKSByZXR1cm4gbnVsbFxuICAgIGlmICh0aGlzLmxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnKSB7XG4gICAgICBpZiAodGhpcy5saW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgICAgcmV0dXJuICd3bXMnXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5saW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycpIHtcbiAgICAgICAgcmV0dXJuICd3ZnMnXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMubGluay50eXBlID09PSAnZG93bmxvYWQnICYmXG4gICAgICBnZXRGaWxlRm9ybWF0KHRoaXMubGluaykgPT09ICdnZW9qc29uJ1xuICAgICkge1xuICAgICAgcmV0dXJuICdnZW9qc29uJ1xuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURSlcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgdXJsVGVtcGxhdGU6IHN0cmluZyxcbiAgICBASW5qZWN0KEVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUIpXG4gICAgcHJpdmF0ZSBvcGVuaW5OZXdUYWI6IGJvb2xlYW5cbiAgKSB7fVxuXG4gIG9wZW5JbkV4dGVybmFsVmlld2VyKCkge1xuICAgIGNvbnN0IHRlbXBsYXRlVXJsID0gdGhpcy51cmxUZW1wbGF0ZVxuICAgIGNvbnN0IGxheWVyTmFtZSA9IHRoaXMubGluay5uYW1lXG4gICAgICA/IHRoaXMubGluay5uYW1lXG4gICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdleHRlcm5hbHZpZXdlci5kYXRhc2V0LnVubmFtZWQnKVxuICAgIGNvbnN0IHVybCA9IHRlbXBsYXRlVXJsXG4gICAgICAucmVwbGFjZSgnJHtsYXllcl9uYW1lfScsIGAke2xheWVyTmFtZX1gKVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgICcke3NlcnZpY2VfdXJsfScsXG4gICAgICAgIGAke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLmxpbmsudXJsLnRvU3RyaW5nKCkpfWBcbiAgICAgIClcbiAgICAgIC5yZXBsYWNlKCcke3NlcnZpY2VfdHlwZX0nLCBgJHt0aGlzLnN1cHBvcnRlZExpbmtMYXllclR5cGV9YClcbiAgICB3aW5kb3cub3Blbih1cmwsIHRoaXMub3BlbmluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnKS5mb2N1cygpXG4gIH1cbn1cbiIsIjxnbi11aS1idXR0b25cbiAgKm5nSWY9XCJleHRlcm5hbFZpZXdlclwiXG4gIChidXR0b25DbGljayk9XCJvcGVuSW5FeHRlcm5hbFZpZXdlcigpXCJcbiAgdHlwZT1cInNlY29uZGFyeVwiXG4gIFt0aXRsZV09XCIncmVjb3JkLmV4dGVybmFsVmlld2VyLm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgZXh0cmFDbGFzcz1cIm1zLTIgIXJvdW5kZWQtbGdcIlxuPlxuICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+b3Blbl9pbl9uZXc8L21hdC1pY29uPlxuPC9nbi11aS1idXR0b24+XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { UiMapModule } from '../../../../../libs/ui/map/src';
3
+ import { FeatureDetailComponent, MapContainerComponent, } from '../../../../../libs/ui/map/src';
4
4
  import { StoreModule } from '@ngrx/store';
5
5
  import { EffectsModule } from '@ngrx/effects';
6
6
  import { UiLayoutModule } from '../../../../../libs/ui/layout/src';
7
- import { FeatureMapModule } from '../../../../../libs/feature/map/src';
7
+ import { FeatureMapModule, MapStateContainerComponent, } from '../../../../../libs/feature/map/src';
8
8
  import { UiInputsModule } from '../../../../../libs/ui/inputs/src';
9
9
  import { UiElementsModule } from '../../../../../libs/ui/elements/src';
10
10
  import { MdViewFacade } from './state';
@@ -36,7 +36,6 @@ export class FeatureRecordModule {
36
36
  DataViewShareComponent], imports: [CommonModule, i1.StoreFeatureModule, i2.EffectsFeatureModule, UiLayoutModule,
37
37
  FeatureMapModule,
38
38
  FeatureCatalogModule,
39
- UiMapModule,
40
39
  UiInputsModule,
41
40
  UiElementsModule,
42
41
  MatTabsModule,
@@ -45,7 +44,10 @@ export class FeatureRecordModule {
45
44
  TranslateModule,
46
45
  TableComponent,
47
46
  FeatureDatavizModule,
48
- PopupAlertComponent], exports: [MapViewComponent,
47
+ PopupAlertComponent,
48
+ FeatureDetailComponent,
49
+ MapStateContainerComponent,
50
+ MapContainerComponent], exports: [MapViewComponent,
49
51
  DataViewComponent,
50
52
  DataViewPermalinkComponent,
51
53
  DataViewWebComponentComponent,
@@ -56,7 +58,6 @@ export class FeatureRecordModule {
56
58
  UiLayoutModule,
57
59
  FeatureMapModule,
58
60
  FeatureCatalogModule,
59
- UiMapModule,
60
61
  UiInputsModule,
61
62
  UiElementsModule,
62
63
  MatTabsModule,
@@ -65,7 +66,10 @@ export class FeatureRecordModule {
65
66
  TranslateModule,
66
67
  TableComponent,
67
68
  FeatureDatavizModule,
68
- PopupAlertComponent] }); }
69
+ PopupAlertComponent,
70
+ FeatureDetailComponent,
71
+ MapStateContainerComponent,
72
+ MapContainerComponent] }); }
69
73
  }
70
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureRecordModule, decorators: [{
71
75
  type: NgModule,
@@ -85,7 +89,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
85
89
  UiLayoutModule,
86
90
  FeatureMapModule,
87
91
  FeatureCatalogModule,
88
- UiMapModule,
89
92
  UiInputsModule,
90
93
  UiElementsModule,
91
94
  MatTabsModule,
@@ -95,6 +98,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
95
98
  TableComponent,
96
99
  FeatureDatavizModule,
97
100
  PopupAlertComponent,
101
+ FeatureDetailComponent,
102
+ MapStateContainerComponent,
103
+ MapContainerComponent,
98
104
  ],
99
105
  providers: [MdViewFacade],
100
106
  exports: [
@@ -106,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
106
112
  ],
107
113
  }]
108
114
  }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1yZWNvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL2ZlYXR1cmUtcmVjb3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbkUsT0FBTyxFQUNMLCtCQUErQixFQUMvQixPQUFPLEdBQ1IsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFBO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOzs7O0FBc0NwRixNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFsQzVCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQiw2QkFBNkI7WUFDN0Isc0JBQXNCLGFBR3RCLFlBQVksa0RBR1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsbUJBQW1CLGFBSW5CLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsMEJBQTBCO1lBQzFCLDZCQUE2QjtZQUM3QixzQkFBc0I7Z0hBR2IsbUJBQW1CLGFBVG5CLENBQUMsWUFBWSxDQUFDLFlBakJ2QixZQUFZO1lBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUM7WUFDaEUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLG1CQUFtQjs7NEZBV1YsbUJBQW1CO2tCQXBDL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUM7d0JBQ2hFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDekMsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3pCLE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBVaU1hcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYydcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcbmltcG9ydCB7IFVpTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgRmVhdHVyZU1hcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBVaUVsZW1lbnRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuL3N0YXRlJ1xuaW1wb3J0IHsgTWRWaWV3RWZmZWN0cyB9IGZyb20gJy4vc3RhdGUvbWR2aWV3LmVmZmVjdHMnXG5pbXBvcnQgeyBNYXBWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3L2RhdGEtdmlldy5jb21wb25lbnQnXG5pbXBvcnQge1xuICBNRVRBREFUQV9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZLFxuICByZWR1Y2VyLFxufSBmcm9tICcuL3N0YXRlL21kdmlldy5yZWR1Y2VyJ1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IFBvcHVwQWxlcnRDb21wb25lbnQsIFVpV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2V4dGVybmFsLXZpZXdlci1idXR0b24vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBGZWF0dXJlQ2F0YWxvZ01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9jYXRhbG9nL3NyYydcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYydcbmltcG9ydCB7IEZlYXR1cmVEYXRhdml6TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRGF0YVZpZXdQZXJtYWxpbmtDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy1wZXJtYWxpbmsvZGF0YS12aWV3LXBlcm1hbGluay5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhVmlld1dlYkNvbXBvbmVudENvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3LXdlYi1jb21wb25lbnQvZGF0YS12aWV3LXdlYi1jb21wb25lbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YVZpZXdTaGFyZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3LXNoYXJlL2RhdGEtdmlldy1zaGFyZS5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1hcFZpZXdDb21wb25lbnQsXG4gICAgRGF0YVZpZXdDb21wb25lbnQsXG4gICAgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQsXG4gICAgRGF0YVZpZXdQZXJtYWxpbmtDb21wb25lbnQsXG4gICAgRGF0YVZpZXdXZWJDb21wb25lbnRDb21wb25lbnQsXG4gICAgRGF0YVZpZXdTaGFyZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKE1FVEFEQVRBX1ZJRVdfRkVBVFVSRV9TVEFURV9LRVksIHJlZHVjZXIpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbTWRWaWV3RWZmZWN0c10pLFxuICAgIFVpTGF5b3V0TW9kdWxlLFxuICAgIEZlYXR1cmVNYXBNb2R1bGUsXG4gICAgRmVhdHVyZUNhdGFsb2dNb2R1bGUsXG4gICAgVWlNYXBNb2R1bGUsXG4gICAgVWlJbnB1dHNNb2R1bGUsXG4gICAgVWlFbGVtZW50c01vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBGZWF0dXJlRGF0YXZpek1vZHVsZSxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtNZFZpZXdGYWNhZGVdLFxuICBleHBvcnRzOiBbXG4gICAgTWFwVmlld0NvbXBvbmVudCxcbiAgICBEYXRhVmlld0NvbXBvbmVudCxcbiAgICBEYXRhVmlld1Blcm1hbGlua0NvbXBvbmVudCxcbiAgICBEYXRhVmlld1dlYkNvbXBvbmVudENvbXBvbmVudCxcbiAgICBEYXRhVmlld1NoYXJlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlUmVjb3JkTW9kdWxlIHt9XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1yZWNvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL2ZlYXR1cmUtcmVjb3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHFCQUFxQixHQUN0QixNQUFNLGdDQUFnQyxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiwwQkFBMEIsR0FDM0IsTUFBTSxxQ0FBcUMsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbkUsT0FBTyxFQUNMLCtCQUErQixFQUMvQixPQUFPLEdBQ1IsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFBO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOzs7O0FBd0NwRixNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFwQzVCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQiw2QkFBNkI7WUFDN0Isc0JBQXNCLGFBR3RCLFlBQVksa0RBR1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLDBCQUEwQjtZQUMxQixxQkFBcUIsYUFJckIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQiwwQkFBMEI7WUFDMUIsNkJBQTZCO1lBQzdCLHNCQUFzQjtnSEFHYixtQkFBbUIsYUFUbkIsQ0FBQyxZQUFZLENBQUMsWUFuQnZCLFlBQVk7WUFDWixXQUFXLENBQUMsVUFBVSxDQUFDLCtCQUErQixFQUFFLE9BQU8sQ0FBQztZQUNoRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekMsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLDBCQUEwQjtZQUMxQixxQkFBcUI7OzRGQVdaLG1CQUFtQjtrQkF0Qy9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQiw2QkFBNkI7d0JBQzdCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3dCQUM3QixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsK0JBQStCLEVBQUUsT0FBTyxDQUFDO3dCQUNoRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQ3pDLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQixxQkFBcUI7cUJBQ3RCO29CQUNELFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDekIsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLDZCQUE2Qjt3QkFDN0Isc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEZlYXR1cmVEZXRhaWxDb21wb25lbnQsXG4gIE1hcENvbnRhaW5lckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9tYXAvc3JjJ1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJ1xuaW1wb3J0IHsgVWlMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQge1xuICBGZWF0dXJlTWFwTW9kdWxlLFxuICBNYXBTdGF0ZUNvbnRhaW5lckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL21hcC9zcmMnXG5pbXBvcnQgeyBVaUlucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IFVpRWxlbWVudHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYydcbmltcG9ydCB7IE1kVmlld0ZhY2FkZSB9IGZyb20gJy4vc3RhdGUnXG5pbXBvcnQgeyBNZFZpZXdFZmZlY3RzIH0gZnJvbSAnLi9zdGF0ZS9tZHZpZXcuZWZmZWN0cydcbmltcG9ydCB7IE1hcFZpZXdDb21wb25lbnQgfSBmcm9tICcuL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIE1FVEFEQVRBX1ZJRVdfRkVBVFVSRV9TVEFURV9LRVksXG4gIHJlZHVjZXIsXG59IGZyb20gJy4vc3RhdGUvbWR2aWV3LnJlZHVjZXInXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicydcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgUG9wdXBBbGVydENvbXBvbmVudCwgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFeHRlcm5hbFZpZXdlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IEZlYXR1cmVDYXRhbG9nTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2NhdGFsb2cvc3JjJ1xuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRmVhdHVyZURhdGF2aXpNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBEYXRhVmlld1Blcm1hbGlua0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3LXBlcm1hbGluay9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXctd2ViLWNvbXBvbmVudC9kYXRhLXZpZXctd2ViLWNvbXBvbmVudC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhVmlld1NoYXJlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXctc2hhcmUvZGF0YS12aWV3LXNoYXJlLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTWFwVmlld0NvbXBvbmVudCxcbiAgICBEYXRhVmlld0NvbXBvbmVudCxcbiAgICBFeHRlcm5hbFZpZXdlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBEYXRhVmlld1Blcm1hbGlua0NvbXBvbmVudCxcbiAgICBEYXRhVmlld1dlYkNvbXBvbmVudENvbXBvbmVudCxcbiAgICBEYXRhVmlld1NoYXJlQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoTUVUQURBVEFfVklFV19GRUFUVVJFX1NUQVRFX0tFWSwgcmVkdWNlciksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtNZFZpZXdFZmZlY3RzXSksXG4gICAgVWlMYXlvdXRNb2R1bGUsXG4gICAgRmVhdHVyZU1hcE1vZHVsZSxcbiAgICBGZWF0dXJlQ2F0YWxvZ01vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBVaUVsZW1lbnRzTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBVaVdpZGdldHNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIEZlYXR1cmVEYXRhdml6TW9kdWxlLFxuICAgIFBvcHVwQWxlcnRDb21wb25lbnQsXG4gICAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgICBNYXBTdGF0ZUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNYXBDb250YWluZXJDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW01kVmlld0ZhY2FkZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3Q29tcG9uZW50LFxuICAgIERhdGFWaWV3UGVybWFsaW5rQ29tcG9uZW50LFxuICAgIERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50LFxuICAgIERhdGFWaWV3U2hhcmVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVSZWNvcmRNb2R1bGUge31cbiJdfQ==