geonetwork-ui 2.4.0-dev.a2f3bb9f → 2.4.0-dev.caf9e4e4

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 (661) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +4 -4
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +4 -4
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +4 -4
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/index.mjs +2 -1
  7. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +2 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +5 -5
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +30 -2
  11. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +23 -1
  14. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +6 -1
  15. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +4 -4
  16. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +4 -4
  17. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -4
  18. package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
  19. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +79 -11
  20. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +5 -4
  21. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +6 -4
  22. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +15 -7
  23. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +40 -16
  24. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
  25. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
  26. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  27. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  28. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  29. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  30. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  31. package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +4 -4
  32. package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +4 -4
  33. package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +4 -4
  34. package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +4 -4
  35. package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +4 -4
  36. package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +4 -4
  37. package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +4 -4
  38. package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +4 -4
  39. package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +4 -4
  40. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +4 -4
  41. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +4 -4
  42. package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +4 -4
  43. package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +4 -4
  44. package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +4 -4
  45. package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +4 -4
  46. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +6 -10
  47. package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +4 -4
  48. package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +4 -4
  49. package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +4 -4
  50. package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +4 -4
  51. package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +4 -4
  52. package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +4 -4
  53. package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +4 -4
  54. package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +4 -4
  55. package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +4 -4
  56. package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +4 -4
  57. package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +4 -4
  58. package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +4 -4
  59. package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +4 -4
  60. package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +4 -4
  61. package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +4 -4
  62. package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +4 -4
  63. package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +5 -5
  64. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  65. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +5 -5
  66. package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
  67. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +5 -5
  68. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
  69. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +7 -7
  70. package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
  71. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +7 -9
  72. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +4 -4
  73. package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +4 -4
  74. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
  75. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -7
  76. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +11 -8
  77. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -4
  78. package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
  79. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +4 -4
  80. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +4 -4
  81. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +4 -4
  82. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +3 -1
  83. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +17 -7
  84. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +15 -7
  85. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  86. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +12 -4
  87. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +18 -6
  88. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +138 -0
  89. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +4 -4
  90. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +4 -4
  91. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +59 -0
  92. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +4 -4
  93. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +4 -4
  94. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +21 -0
  95. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +4 -4
  96. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +4 -4
  97. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +4 -4
  98. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +4 -4
  99. 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 +17 -0
  100. 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 +17 -0
  101. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +105 -0
  102. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +67 -53
  103. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +39 -49
  104. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +5 -3
  105. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +14 -9
  106. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +4 -4
  107. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +4 -4
  108. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +4 -4
  109. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  110. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +7 -6
  111. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +155 -48
  112. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  113. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  114. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +32 -45
  115. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +4 -4
  116. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +4 -4
  117. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +4 -4
  118. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +4 -4
  119. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +4 -4
  120. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +4 -4
  121. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +4 -4
  122. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +4 -4
  123. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +4 -4
  124. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +4 -4
  125. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +5 -5
  126. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +4 -4
  127. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +4 -4
  128. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +4 -4
  129. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +4 -4
  130. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +4 -4
  131. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +4 -4
  132. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +4 -4
  133. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +4 -4
  134. package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
  135. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +6 -7
  136. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +5 -5
  137. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
  138. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +4 -4
  139. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -4
  140. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +44 -25
  141. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +15 -7
  142. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +51 -17
  143. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +4 -4
  144. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +11 -8
  145. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +6 -6
  146. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
  147. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +11 -15
  148. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
  149. package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +4 -4
  150. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  151. package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
  152. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +12 -5
  153. package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
  154. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +4 -4
  155. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +11 -4
  156. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  157. package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
  158. package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +5 -5
  159. package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +4 -4
  160. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
  161. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +11 -8
  162. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +4 -4
  163. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -5
  164. package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +4 -4
  165. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
  166. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +4 -4
  167. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +4 -4
  168. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +55 -0
  169. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +4 -4
  170. package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +4 -4
  171. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +4 -4
  172. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +6 -5
  173. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
  174. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +10 -6
  175. package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
  176. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +4 -4
  177. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  178. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +7 -7
  179. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +4 -4
  180. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -4
  181. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +9 -6
  182. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +4 -4
  183. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +7 -10
  184. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +4 -4
  185. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +5 -5
  186. package/esm2022/libs/ui/elements/src/index.mjs +4 -4
  187. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +5 -5
  188. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -4
  189. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +4 -4
  190. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +4 -4
  191. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +4 -4
  192. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +7 -5
  193. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +4 -4
  194. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +4 -4
  195. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -5
  196. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +5 -5
  197. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -4
  198. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +4 -4
  199. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +4 -4
  200. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -12
  201. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +7 -13
  202. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +5 -5
  203. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +4 -4
  204. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +4 -4
  205. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +4 -4
  206. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +4 -4
  207. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +26 -7
  208. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  209. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +4 -4
  210. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +19 -15
  211. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +4 -4
  212. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +4 -4
  213. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -5
  214. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  215. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +61 -28
  216. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +28 -0
  217. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +4 -4
  218. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -4
  219. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -4
  220. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +4 -4
  221. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +4 -4
  222. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +6 -6
  223. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +19 -13
  224. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +4 -4
  225. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +4 -4
  226. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +4 -4
  227. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +4 -4
  228. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
  229. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +13 -7
  230. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +4 -4
  231. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +4 -4
  232. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +4 -4
  233. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -4
  234. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +4 -4
  235. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +4 -4
  236. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +14 -13
  237. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +4 -4
  238. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  239. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +4 -4
  240. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +4 -4
  241. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +4 -4
  242. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +4 -4
  243. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +4 -4
  244. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -5
  245. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +4 -4
  246. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +4 -4
  247. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
  248. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -4
  249. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +5 -5
  250. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +4 -4
  251. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +4 -4
  252. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +5 -5
  253. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  254. package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
  255. package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +7 -7
  256. package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +4 -4
  257. package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +5 -5
  258. package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +4 -4
  259. package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +4 -4
  260. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +4 -4
  261. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +4 -4
  262. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +4 -4
  263. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -4
  264. package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +4 -4
  265. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +4 -4
  266. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +4 -4
  267. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +4 -4
  268. package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +4 -4
  269. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +29 -0
  270. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +128 -0
  271. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +5 -5
  272. package/esm2022/libs/ui/widgets/src/index.mjs +2 -2
  273. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +4 -4
  274. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +4 -4
  275. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
  276. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +7 -5
  277. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +4 -4
  278. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +4 -4
  279. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +4 -4
  280. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -15
  281. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
  282. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +4 -4
  283. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +5 -5
  284. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +4 -4
  285. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +4 -4
  286. package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +4 -4
  287. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +4 -4
  288. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +4 -4
  289. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +5 -5
  290. package/esm2022/translations/de.json +92 -29
  291. package/esm2022/translations/en.json +73 -10
  292. package/esm2022/translations/es.json +72 -9
  293. package/esm2022/translations/fr.json +74 -11
  294. package/esm2022/translations/it.json +73 -10
  295. package/esm2022/translations/nl.json +72 -9
  296. package/esm2022/translations/pt.json +72 -9
  297. package/fesm2022/geonetwork-ui.mjs +3015 -1632
  298. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  299. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  300. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  301. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  302. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts +1 -0
  303. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts.map +1 -1
  304. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +31 -0
  305. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -0
  306. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  307. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  308. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  309. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +10 -2
  310. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  311. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
  312. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
  313. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +1 -1
  314. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -1
  315. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +5 -2
  316. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  317. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +1 -0
  318. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  319. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +17 -3
  320. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  321. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  322. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  323. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +3 -3
  324. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  325. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -5
  326. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  327. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -8
  328. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  329. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
  330. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  331. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +12 -5
  332. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  333. package/libs/common/domain/src/lib/platform.service.interface.d.ts +4 -3
  334. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  335. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +35 -1
  336. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  337. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +6 -6
  338. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  339. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  340. package/libs/feature/catalog/src/index.d.ts +1 -0
  341. package/libs/feature/catalog/src/index.d.ts.map +1 -1
  342. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  343. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  344. package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
  345. package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
  346. package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
  347. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +2 -1
  348. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  349. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +10 -0
  350. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  351. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  352. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  353. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +13 -11
  354. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  355. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
  356. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  357. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +13 -2
  358. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  359. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +6 -8
  360. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  361. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +27 -0
  362. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +1 -0
  363. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +25 -0
  364. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -0
  365. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +11 -0
  366. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
  367. 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 +8 -0
  368. 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 +1 -0
  369. 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 +8 -0
  370. 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 +1 -0
  371. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +31 -0
  372. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -0
  373. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +6 -6
  374. 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
  375. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +13 -13
  376. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  377. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +4 -2
  378. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  379. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -7
  380. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  381. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  382. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  383. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  384. package/libs/feature/editor/src/lib/fields.config.d.ts +39 -2
  385. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  386. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +36 -0
  387. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  388. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  389. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  390. package/libs/feature/editor/src/lib/services/editor.service.d.ts +7 -10
  391. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  392. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  393. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  394. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  395. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  396. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  397. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  398. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  399. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -1
  400. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  401. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  402. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  403. package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
  404. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  405. package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
  406. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  407. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
  408. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  409. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
  410. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  411. package/libs/feature/search/src/index.d.ts +1 -1
  412. package/libs/feature/search/src/index.d.ts.map +1 -1
  413. package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
  414. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  415. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  416. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +27 -0
  417. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
  418. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
  419. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  420. package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
  421. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  422. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  423. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
  424. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +2 -1
  425. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  426. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
  427. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  428. package/libs/ui/elements/src/index.d.ts +3 -3
  429. package/libs/ui/elements/src/index.d.ts.map +1 -1
  430. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  431. package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
  432. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  433. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -3
  434. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  435. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  436. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
  437. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  438. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +22 -0
  439. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  440. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +17 -15
  441. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  442. package/libs/ui/inputs/src/index.d.ts +1 -0
  443. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  444. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +7 -4
  445. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  446. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts +11 -0
  447. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -0
  448. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  449. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +4 -4
  450. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  451. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -2
  452. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  453. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -35
  454. package/libs/ui/layout/src/index.d.ts +1 -0
  455. package/libs/ui/layout/src/index.d.ts.map +1 -1
  456. package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
  457. package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
  458. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  459. package/libs/ui/search/src/index.d.ts +1 -0
  460. package/libs/ui/search/src/index.d.ts.map +1 -1
  461. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +11 -0
  462. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  463. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +32 -0
  464. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  465. package/libs/ui/widgets/src/index.d.ts +1 -1
  466. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  467. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
  468. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
  469. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
  470. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  471. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -12
  472. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  473. package/package.json +1 -1
  474. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  475. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -1
  476. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +37 -12
  477. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +5 -1
  478. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  479. package/src/libs/api/metadata-converter/src/lib/gn4/types/index.ts +1 -0
  480. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +31 -0
  481. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  482. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +4 -2
  483. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +73 -3
  484. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
  485. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +1 -1
  486. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +71 -2
  487. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +8 -0
  488. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +178 -7
  489. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
  490. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
  491. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +25 -4
  492. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +81 -21
  493. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +6 -10
  494. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
  495. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +13 -6
  496. package/src/libs/common/domain/src/lib/platform.service.interface.ts +7 -3
  497. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +51 -3
  498. package/src/libs/common/fixtures/src/index.ts +2 -0
  499. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  500. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  501. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +28 -0
  502. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +211 -0
  503. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
  504. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
  505. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +10 -14
  506. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  507. package/src/libs/data-access/gn4/src/spec.yaml +4 -13
  508. package/src/libs/feature/catalog/src/index.ts +1 -0
  509. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +0 -1
  510. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
  511. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
  512. package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
  513. package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
  514. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +2 -1
  515. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +12 -1
  516. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +51 -17
  517. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +23 -4
  518. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
  519. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +32 -9
  520. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +32 -8
  521. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +3 -1
  522. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +117 -21
  523. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +19 -0
  524. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +79 -0
  525. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +5 -0
  526. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +22 -0
  527. 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 +7 -0
  528. 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 +16 -0
  529. 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 +13 -0
  530. 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 +16 -0
  531. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +0 -0
  532. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +6 -0
  533. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +130 -0
  534. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +95 -86
  535. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +26 -33
  536. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +40 -53
  537. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +4 -2
  538. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +51 -11
  539. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +16 -8
  540. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  541. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  542. package/src/libs/feature/editor/src/lib/fields.config.ts +188 -49
  543. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +53 -0
  544. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  545. package/src/libs/feature/editor/src/lib/services/editor.service.ts +37 -54
  546. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +2 -3
  547. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  548. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  549. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  550. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  551. package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -2
  552. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +1 -3
  553. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +42 -31
  554. package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
  555. package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
  556. package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
  557. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +9 -1
  558. package/src/libs/feature/search/src/index.ts +1 -1
  559. package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
  560. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
  561. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.css +0 -0
  562. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +10 -0
  563. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +54 -0
  564. package/src/libs/feature/search/src/lib/state/search.facade.ts +5 -0
  565. package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
  566. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +16 -2
  567. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
  568. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  569. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -0
  570. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
  571. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
  572. package/src/libs/ui/elements/src/index.ts +3 -3
  573. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
  574. package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
  575. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
  576. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +4 -1
  577. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +2 -1
  578. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +12 -8
  579. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
  580. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -10
  581. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  582. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  583. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
  584. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.css +18 -0
  585. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +36 -0
  586. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.ts +56 -0
  587. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -6
  588. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  589. package/src/libs/ui/inputs/src/index.ts +1 -0
  590. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -1
  591. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +23 -19
  592. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +79 -27
  593. package/src/libs/ui/inputs/src/lib/badge/badge.component.css +0 -0
  594. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +18 -0
  595. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +27 -0
  596. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +2 -1
  597. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +8 -1
  598. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +7 -7
  599. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +13 -15
  600. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +1 -1
  601. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +7 -2
  602. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +31 -0
  603. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
  604. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +38 -0
  605. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  606. package/src/libs/ui/layout/src/index.ts +1 -0
  607. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +1 -1
  608. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.css +0 -0
  609. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +1 -0
  610. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
  611. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
  612. package/src/libs/ui/search/src/index.ts +1 -0
  613. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  614. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +17 -0
  615. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +22 -0
  616. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
  617. package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +28 -8
  618. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +152 -0
  619. package/src/libs/ui/widgets/src/index.ts +1 -1
  620. package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
  621. package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
  622. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
  623. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
  624. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -6
  625. package/tailwind.base.css +27 -1
  626. package/translations/de.json +92 -29
  627. package/translations/en.json +73 -10
  628. package/translations/es.json +72 -9
  629. package/translations/fr.json +74 -11
  630. package/translations/it.json +73 -10
  631. package/translations/nl.json +72 -9
  632. package/translations/pt.json +72 -9
  633. package/translations/sk.json +74 -11
  634. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +0 -11
  635. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  636. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  637. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -128
  638. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
  639. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +0 -17
  640. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts +0 -6
  641. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +0 -1
  642. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  643. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  644. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  645. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  646. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -33
  647. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
  648. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
  649. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts +0 -7
  650. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts.map +0 -1
  651. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.html +0 -1
  652. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.ts +0 -10
  653. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  654. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
  655. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -164
  656. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +0 -10
  657. package/src/libs/ui/widgets/src/lib/badge/badge.component.ts +0 -11
  658. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-temporal-extent/form-field-temporal-extent.component.css → form-field-keywords/form-field-keywords.component.css} +0 -0
  659. /package/src/libs/feature/{search/src/lib/results-table/results-table.component.css → editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css} +0 -0
  660. /package/src/libs/{ui/elements/src/lib/max-lines/max-lines.component.css → 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} +0 -0
  661. /package/src/libs/{ui/widgets/src/lib/badge/badge.component.css → 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} +0 -0
@@ -142,10 +142,10 @@ export class DropdownSelectorComponent {
142
142
  this.onSelectValue(choice);
143
143
  }
144
144
  }
145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DropdownSelectorComponent, isStandalone: true, selector: "gn-ui-dropdown-selector", inputs: { title: "title", showTitle: "showTitle", ariaName: "ariaName", choices: "choices", selected: "selected", maxRows: "maxRows", extraBtnClass: "extraBtnClass", minWidth: "minWidth", disabled: "disabled" }, outputs: { selectValue: "selectValue" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "choiceInputs", predicate: ["choiceInputs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-col sm:flex-row sm:items-center relative w-full\">\n <span\n *ngIf=\"showTitle\"\n class=\"tracking-wide text-sm mb-2 sm:mb-0 sm:mr-2 whitespace-nowrap\"\n [attr.for]=\"id\"\n >\n {{ title }}\n </span>\n <gn-ui-button\n type=\"outline\"\n class=\"grow min-w-0\"\n extraClass=\"bg-background !p-[8px] !pl-[16px] flex flex-row w-full {{\n extraBtnClass\n }}\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (keydown)=\"handleTriggerKeydown($event)\"\n [disabled]=\"disabled\"\n >\n <div class=\"grow font-medium truncate py-1 mr-2 text-left\">\n {{ getChoiceLabel() | translate }}\n </div>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n </gn-ui-button>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.min-width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n >\n <button\n #choiceInputs\n type=\"button\"\n *ngFor=\"let choice of choices\"\n [title]=\"choice.label | translate\"\n class=\"flex px-5 py-1 w-full text-start cursor-pointer transition-colors\"\n [ngClass]=\"\n isSelected(choice)\n ? 'text-white bg-primary hover:text-white hover:bg-primary-darker focus:text-white focus:bg-primary-darker'\n : 'text-gray-900 hover:text-primary-darkest hover:bg-gray-50 focus:text-primary-darkest focus:bg-gray-50'\n \"\n (click)=\"onSelectValue(choice)\"\n (keydown)=\"selectIfEnter($event, choice)\"\n [attr.data-cy-value]=\"choice.value.toString()\"\n [attr.data-cy-active]=\"isSelected(choice) ? 'true' : undefined\"\n >\n <span class=\"text-[14px]\">\n {{ choice.label | translate }}\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownSelectorComponent, isStandalone: true, selector: "gn-ui-dropdown-selector", inputs: { title: "title", showTitle: "showTitle", ariaName: "ariaName", choices: "choices", selected: "selected", maxRows: "maxRows", extraBtnClass: "extraBtnClass", minWidth: "minWidth", disabled: "disabled" }, outputs: { selectValue: "selectValue" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "choiceInputs", predicate: ["choiceInputs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-col sm:flex-row sm:items-center relative w-full\">\n <span\n *ngIf=\"showTitle\"\n class=\"tracking-wide text-sm mb-2 sm:mb-0 sm:mr-2 whitespace-nowrap\"\n [attr.for]=\"id\"\n >\n {{ title }}\n </span>\n <gn-ui-button\n type=\"outline\"\n class=\"grow min-w-0\"\n extraClass=\"bg-background !p-[8px] !pl-[16px] flex flex-row w-full {{\n extraBtnClass\n }}\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (keydown)=\"handleTriggerKeydown($event)\"\n [disabled]=\"disabled\"\n >\n <div class=\"grow font-medium truncate py-1 mr-2 text-left\">\n {{ getChoiceLabel() | translate }}\n </div>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n </gn-ui-button>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.min-width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n >\n <button\n #choiceInputs\n type=\"button\"\n *ngFor=\"let choice of choices\"\n [title]=\"choice.label | translate\"\n class=\"flex px-5 py-1 w-full text-start cursor-pointer transition-colors\"\n [ngClass]=\"\n isSelected(choice)\n ? 'text-white bg-primary hover:text-white hover:bg-primary-darker focus:text-white focus:bg-primary-darker'\n : 'text-gray-900 hover:text-primary-darkest hover:bg-gray-50 focus:text-primary-darkest focus:bg-gray-50'\n \"\n (click)=\"onSelectValue(choice)\"\n (keydown)=\"selectIfEnter($event, choice)\"\n [attr.data-cy-value]=\"choice.value.toString()\"\n [attr.data-cy-active]=\"isSelected(choice) ? 'true' : undefined\"\n >\n <span class=\"text-[14px]\">\n {{ choice.label | translate }}\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
147
147
  }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DropdownSelectorComponent, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownSelectorComponent, decorators: [{
149
149
  type: Component,
150
150
  args: [{ selector: 'gn-ui-dropdown-selector', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
151
151
  CommonModule,
@@ -184,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
184
184
  type: ViewChildren,
185
185
  args: ['choiceInputs', { read: ElementRef }]
186
186
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBRWhCLGFBQWEsR0FDZCxNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTs7Ozs7O0FBRTVELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO0FBZ0I3QixNQUFNLE9BQU8seUJBQXlCO0lBZHRDO1FBZ0JXLGNBQVMsR0FBRyxJQUFJLENBQUE7UUFLaEIsa0JBQWEsR0FBRyxFQUFFLENBQUE7UUFDbEIsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUVaLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUE7UUFHbkUsZ0JB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SUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUMzQjtJQUNILENBQUM7OEdBeEpVLHlCQUF5QjtrR0FBekIseUJBQXlCLDBkQVl6QixtQkFBbUIsNkdBb0JRLFVBQVUsNkJDekVsRCwyckZBNEVBLHlERDFDSSxZQUFZLDhWQUNaLGVBQWUsOEhBQ2YsYUFBYSxncENBQ2IsYUFBYSxtTEFDYixlQUFlOzsyRkFHTix5QkFBeUI7a0JBZHJDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFxQjlCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIE92ZXJsYXlNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5J1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEcm9wZG93bkNob2ljZSB9IGZyb20gJy4vZHJvcGRvd24tc2VsZWN0b3IubW9kZWwnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcblxuY29uc3QgREVGQVVMVF9ST1dfTlVNQkVSUyA9IDZcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlXG4gIEBJbnB1dCgpIGFyaWFOYW1lOiBzdHJpbmdcbiAgQElucHV0KCkgY2hvaWNlczogQXJyYXk8RHJvcGRvd25DaG9pY2U+XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBEcm9wZG93bkNob2ljZVsndmFsdWUnXVxuICBASW5wdXQoKSBtYXhSb3dzOiBudW1iZXJcbiAgQElucHV0KCkgZXh0cmFCdG5DbGFzcyA9ICcnXG4gIEBJbnB1dCgpIG1pbldpZHRoID0gJydcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW5cbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bkNob2ljZVsndmFsdWUnXT4oKVxuICBAVmlld0NoaWxkKCdvdmVybGF5T3JpZ2luJykgb3ZlcmxheU9yaWdpbjogQ2RrT3ZlcmxheU9yaWdpblxuICBAVmlld0NoaWxkKENka0Nvbm5lY3RlZE92ZXJsYXkpIG92ZXJsYXk6IENka0Nvbm5lY3RlZE92ZXJsYXlcbiAgb3ZlcmxheU9wZW4gPSBmYWxzZVxuICBvdmVybGF5V2lkdGggPSAnYXV0bydcbiAgb3ZlcmxheU1heEhlaWdodCA9ICdub25lJ1xuICBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgb2Zmc2V0WTogOCxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgb2Zmc2V0WTogLTgsXG4gICAgfSxcbiAgXVxuICBAVmlld0NoaWxkcmVuKCdjaG9pY2VJbnB1dHMnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hvaWNlSW5wdXRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj5cblxuICBnZXQgc2VsZWN0ZWRDaG9pY2UoKTogRHJvcGRvd25DaG9pY2Uge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNob2ljZXMuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUgPT09IHRoaXMuc2VsZWN0ZWQpID8/XG4gICAgICB0aGlzLmNob2ljZXNbMF1cbiAgICApXG4gIH1cblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtel0rL2csICctJylcbiAgfVxuXG4gIGdldENob2ljZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDaG9pY2U/LmxhYmVsXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWF4Um93cykgdGhpcy5tYXhSb3dzID0gREVGQVVMVF9ST1dfTlVNQkVSU1xuICAgIGlmICghdGhpcy5jaG9pY2VzIHx8IHRoaXMuY2hvaWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY2hvaWNlcyA9IFtdXG4gICAgfVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgcmV0dXJuIGNob2ljZSA9PT0gdGhpcy5zZWxlY3RlZENob2ljZVxuICB9XG5cbiAgb25TZWxlY3RWYWx1ZShjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIHRoaXMuc2VsZWN0ZWQgPSBjaG9pY2UudmFsdWVcbiAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHJldHVybiBQcm9taXNlLmFsbChbXG4gICAgICBmaXJzdFZhbHVlRnJvbSh0aGlzLm92ZXJsYXkuYXR0YWNoKSxcbiAgICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMuY2hvaWNlSW5wdXRzLmNoYW5nZXMpLFxuICAgIF0pXG4gIH1cblxuICBjbG9zZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5vdmVybGF5T3BlbiA9IGZhbHNlXG4gIH1cblxuICBmb2N1c0ZpcnN0SXRlbSgpIHtcbiAgICB0aGlzLmNob2ljZUlucHV0cy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hvaWNlSW5wdXRzLmdldCh0aGlzLmNob2ljZUlucHV0cy5sZW5ndGggLSAxKS5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJ1xuICAgIGlmIChpc09wZW5LZXkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIGlmICghdGhpcy5vdmVybGF5T3Blbikge1xuICAgICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIH1cbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgdGhpcy5zaGlmdEl0ZW1Gb2N1cygxKVxuICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHwga2V5Q29kZSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLnNoaWZ0SXRlbUZvY3VzKC0xKVxuICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2VPdmVybGF5KClcbiAgICB9XG4gIH1cblxuICBzaGlmdEl0ZW1Gb2N1cyhzaGlmdDogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZvY3VzZWRJbmRleFxuICAgIGlmIChpbmRleCA9PT0gLTEpIHJldHVyblxuICAgIGNvbnN0IG1heCA9IHRoaXMuY2hvaWNlSW5wdXRzLmxlbmd0aFxuICAgIC8vIG1vZHVsbywgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL09wZXJhdG9ycy9SZW1haW5kZXJcbiAgICBjb25zdCBuZXdJbmRleCA9ICgoKGluZGV4ICsgc2hpZnQpICUgbWF4KSArIG1heCkgJSBtYXhcbiAgICB0aGlzLmNob2ljZUlucHV0cy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgZ2V0IGZvY3VzZWRJbmRleCgpOiBudW1iZXIgfCAtMSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlSW5wdXRzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyLCBjdXJJbmRleCkgPT5cbiAgICAgICAgY3Vyci5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID8gY3VySW5kZXggOiBwcmV2LFxuICAgICAgLTFcbiAgICApXG4gIH1cblxuICBzZWxlY3RJZkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMub25TZWxlY3RWYWx1ZShjaG9pY2UpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBzbTppdGVtcy1jZW50ZXIgcmVsYXRpdmUgdy1mdWxsXCI+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJzaG93VGl0bGVcIlxuICAgIGNsYXNzPVwidHJhY2tpbmctd2lkZSB0ZXh0LXNtIG1iLTIgc206bWItMCBzbTptci0yIHdoaXRlc3BhY2Utbm93cmFwXCJcbiAgICBbYXR0ci5mb3JdPVwiaWRcIlxuICA+XG4gICAge3sgdGl0bGUgfX1cbiAgPC9zcGFuPlxuICA8Z24tdWktYnV0dG9uXG4gICAgdHlwZT1cIm91dGxpbmVcIlxuICAgIGNsYXNzPVwiZ3JvdyBtaW4tdy0wXCJcbiAgICBleHRyYUNsYXNzPVwiYmctYmFja2dyb3VuZCAhcC1bOHB4XSAhcGwtWzE2cHhdIGZsZXggZmxleC1yb3cgdy1mdWxsIHt7XG4gICAgICBleHRyYUJ0bkNsYXNzXG4gICAgfX1cIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwib3Blbk92ZXJsYXkoKVwiXG4gICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICNvdmVybGF5T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgKGtleWRvd24pPVwiaGFuZGxlVHJpZ2dlcktleWRvd24oJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJncm93IGZvbnQtbWVkaXVtIHRydW5jYXRlIHB5LTEgbXItMiB0ZXh0LWxlZnRcIj5cbiAgICAgIHt7IGdldENob2ljZUxhYmVsKCkgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvdmVybGF5T3BlblwiPmV4cGFuZF9sZXNzPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1pY29uPlxuICA8L2duLXVpLWJ1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnNdPVwidHJ1ZVwiXG4gIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlT3ZlcmxheSgpXCJcbiAgKGRldGFjaCk9XCJjbG9zZU92ZXJsYXkoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZCBzaGFkb3ctbGcgcHktMiB3LWZ1bGwgb3ZlcmZsb3cteC1oaWRkZW4gb3ZlcmZsb3cteS1hdXRvIG92ZXJsYXktY29udGFpbmVyXCJcbiAgICBbc3R5bGUubWF4LWhlaWdodF09XCJvdmVybGF5TWF4SGVpZ2h0XCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgICNjaG9pY2VJbnB1dHNcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiBjaG9pY2VzXCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1zdGFydCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgaXNTZWxlY3RlZChjaG9pY2UpXG4gICAgICAgICAgPyAndGV4dC13aGl0ZSBiZy1wcmltYXJ5IGhvdmVyOnRleHQtd2hpdGUgaG92ZXI6YmctcHJpbWFyeS1kYXJrZXIgZm9jdXM6dGV4dC13aGl0ZSBmb2N1czpiZy1wcmltYXJ5LWRhcmtlcidcbiAgICAgICAgICA6ICd0ZXh0LWdyYXktOTAwIGhvdmVyOnRleHQtcHJpbWFyeS1kYXJrZXN0IGhvdmVyOmJnLWdyYXktNTAgZm9jdXM6dGV4dC1wcmltYXJ5LWRhcmtlc3QgZm9jdXM6YmctZ3JheS01MCdcbiAgICAgIFwiXG4gICAgICAoY2xpY2spPVwib25TZWxlY3RWYWx1ZShjaG9pY2UpXCJcbiAgICAgIChrZXlkb3duKT1cInNlbGVjdElmRW50ZXIoJGV2ZW50LCBjaG9pY2UpXCJcbiAgICAgIFthdHRyLmRhdGEtY3ktdmFsdWVdPVwiY2hvaWNlLnZhbHVlLnRvU3RyaW5nKClcIlxuICAgICAgW2F0dHIuZGF0YS1jeS1hY3RpdmVdPVwiaXNTZWxlY3RlZChjaG9pY2UpID8gJ3RydWUnIDogdW5kZWZpbmVkXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtWzE0cHhdXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBRWhCLGFBQWEsR0FDZCxNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTs7Ozs7O0FBRTVELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO0FBZ0I3QixNQUFNLE9BQU8seUJBQXlCO0lBZHRDO1FBZ0JXLGNBQVMsR0FBRyxJQUFJLENBQUE7UUFLaEIsa0JBQWEsR0FBRyxFQUFFLENBQUE7UUFDbEIsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUVaLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUE7UUFHbkUsZ0JB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SUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUMzQjtJQUNILENBQUM7K0dBeEpVLHlCQUF5QjttR0FBekIseUJBQXlCLDBkQVl6QixtQkFBbUIsNkdBb0JRLFVBQVUsNkJDekVsRCwyckZBNEVBLHlERDFDSSxZQUFZLDhWQUNaLGVBQWUsOEhBQ2YsYUFBYSxncENBQ2IsYUFBYSxtTEFDYixlQUFlOzs0RkFHTix5QkFBeUI7a0JBZHJDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFxQjlCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIE92ZXJsYXlNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5J1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEcm9wZG93bkNob2ljZSB9IGZyb20gJy4vZHJvcGRvd24tc2VsZWN0b3IubW9kZWwnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcblxuY29uc3QgREVGQVVMVF9ST1dfTlVNQkVSUyA9IDZcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlXG4gIEBJbnB1dCgpIGFyaWFOYW1lOiBzdHJpbmdcbiAgQElucHV0KCkgY2hvaWNlczogQXJyYXk8RHJvcGRvd25DaG9pY2U+XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBEcm9wZG93bkNob2ljZVsndmFsdWUnXVxuICBASW5wdXQoKSBtYXhSb3dzOiBudW1iZXJcbiAgQElucHV0KCkgZXh0cmFCdG5DbGFzcyA9ICcnXG4gIEBJbnB1dCgpIG1pbldpZHRoID0gJydcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW5cbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bkNob2ljZVsndmFsdWUnXT4oKVxuICBAVmlld0NoaWxkKCdvdmVybGF5T3JpZ2luJykgb3ZlcmxheU9yaWdpbjogQ2RrT3ZlcmxheU9yaWdpblxuICBAVmlld0NoaWxkKENka0Nvbm5lY3RlZE92ZXJsYXkpIG92ZXJsYXk6IENka0Nvbm5lY3RlZE92ZXJsYXlcbiAgb3ZlcmxheU9wZW4gPSBmYWxzZVxuICBvdmVybGF5V2lkdGggPSAnYXV0bydcbiAgb3ZlcmxheU1heEhlaWdodCA9ICdub25lJ1xuICBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgb2Zmc2V0WTogOCxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgb2Zmc2V0WTogLTgsXG4gICAgfSxcbiAgXVxuICBAVmlld0NoaWxkcmVuKCdjaG9pY2VJbnB1dHMnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hvaWNlSW5wdXRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj5cblxuICBnZXQgc2VsZWN0ZWRDaG9pY2UoKTogRHJvcGRvd25DaG9pY2Uge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNob2ljZXMuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUgPT09IHRoaXMuc2VsZWN0ZWQpID8/XG4gICAgICB0aGlzLmNob2ljZXNbMF1cbiAgICApXG4gIH1cblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtel0rL2csICctJylcbiAgfVxuXG4gIGdldENob2ljZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDaG9pY2U/LmxhYmVsXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWF4Um93cykgdGhpcy5tYXhSb3dzID0gREVGQVVMVF9ST1dfTlVNQkVSU1xuICAgIGlmICghdGhpcy5jaG9pY2VzIHx8IHRoaXMuY2hvaWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY2hvaWNlcyA9IFtdXG4gICAgfVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgcmV0dXJuIGNob2ljZSA9PT0gdGhpcy5zZWxlY3RlZENob2ljZVxuICB9XG5cbiAgb25TZWxlY3RWYWx1ZShjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIHRoaXMuc2VsZWN0ZWQgPSBjaG9pY2UudmFsdWVcbiAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHJldHVybiBQcm9taXNlLmFsbChbXG4gICAgICBmaXJzdFZhbHVlRnJvbSh0aGlzLm92ZXJsYXkuYXR0YWNoKSxcbiAgICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMuY2hvaWNlSW5wdXRzLmNoYW5nZXMpLFxuICAgIF0pXG4gIH1cblxuICBjbG9zZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5vdmVybGF5T3BlbiA9IGZhbHNlXG4gIH1cblxuICBmb2N1c0ZpcnN0SXRlbSgpIHtcbiAgICB0aGlzLmNob2ljZUlucHV0cy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hvaWNlSW5wdXRzLmdldCh0aGlzLmNob2ljZUlucHV0cy5sZW5ndGggLSAxKS5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJ1xuICAgIGlmIChpc09wZW5LZXkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIGlmICghdGhpcy5vdmVybGF5T3Blbikge1xuICAgICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIH1cbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgdGhpcy5zaGlmdEl0ZW1Gb2N1cygxKVxuICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHwga2V5Q29kZSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLnNoaWZ0SXRlbUZvY3VzKC0xKVxuICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2VPdmVybGF5KClcbiAgICB9XG4gIH1cblxuICBzaGlmdEl0ZW1Gb2N1cyhzaGlmdDogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZvY3VzZWRJbmRleFxuICAgIGlmIChpbmRleCA9PT0gLTEpIHJldHVyblxuICAgIGNvbnN0IG1heCA9IHRoaXMuY2hvaWNlSW5wdXRzLmxlbmd0aFxuICAgIC8vIG1vZHVsbywgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL09wZXJhdG9ycy9SZW1haW5kZXJcbiAgICBjb25zdCBuZXdJbmRleCA9ICgoKGluZGV4ICsgc2hpZnQpICUgbWF4KSArIG1heCkgJSBtYXhcbiAgICB0aGlzLmNob2ljZUlucHV0cy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgZ2V0IGZvY3VzZWRJbmRleCgpOiBudW1iZXIgfCAtMSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlSW5wdXRzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyLCBjdXJJbmRleCkgPT5cbiAgICAgICAgY3Vyci5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID8gY3VySW5kZXggOiBwcmV2LFxuICAgICAgLTFcbiAgICApXG4gIH1cblxuICBzZWxlY3RJZkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMub25TZWxlY3RWYWx1ZShjaG9pY2UpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBzbTppdGVtcy1jZW50ZXIgcmVsYXRpdmUgdy1mdWxsXCI+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJzaG93VGl0bGVcIlxuICAgIGNsYXNzPVwidHJhY2tpbmctd2lkZSB0ZXh0LXNtIG1iLTIgc206bWItMCBzbTptci0yIHdoaXRlc3BhY2Utbm93cmFwXCJcbiAgICBbYXR0ci5mb3JdPVwiaWRcIlxuICA+XG4gICAge3sgdGl0bGUgfX1cbiAgPC9zcGFuPlxuICA8Z24tdWktYnV0dG9uXG4gICAgdHlwZT1cIm91dGxpbmVcIlxuICAgIGNsYXNzPVwiZ3JvdyBtaW4tdy0wXCJcbiAgICBleHRyYUNsYXNzPVwiYmctYmFja2dyb3VuZCAhcC1bOHB4XSAhcGwtWzE2cHhdIGZsZXggZmxleC1yb3cgdy1mdWxsIHt7XG4gICAgICBleHRyYUJ0bkNsYXNzXG4gICAgfX1cIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwib3Blbk92ZXJsYXkoKVwiXG4gICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICNvdmVybGF5T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgKGtleWRvd24pPVwiaGFuZGxlVHJpZ2dlcktleWRvd24oJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJncm93IGZvbnQtbWVkaXVtIHRydW5jYXRlIHB5LTEgbXItMiB0ZXh0LWxlZnRcIj5cbiAgICAgIHt7IGdldENob2ljZUxhYmVsKCkgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvdmVybGF5T3BlblwiPmV4cGFuZF9sZXNzPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1pY29uPlxuICA8L2duLXVpLWJ1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnNdPVwidHJ1ZVwiXG4gIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlT3ZlcmxheSgpXCJcbiAgKGRldGFjaCk9XCJjbG9zZU92ZXJsYXkoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZCBzaGFkb3ctbGcgcHktMiB3LWZ1bGwgb3ZlcmZsb3cteC1oaWRkZW4gb3ZlcmZsb3cteS1hdXRvIG92ZXJsYXktY29udGFpbmVyXCJcbiAgICBbc3R5bGUubWF4LWhlaWdodF09XCJvdmVybGF5TWF4SGVpZ2h0XCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgICNjaG9pY2VJbnB1dHNcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiBjaG9pY2VzXCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1zdGFydCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgaXNTZWxlY3RlZChjaG9pY2UpXG4gICAgICAgICAgPyAndGV4dC13aGl0ZSBiZy1wcmltYXJ5IGhvdmVyOnRleHQtd2hpdGUgaG92ZXI6YmctcHJpbWFyeS1kYXJrZXIgZm9jdXM6dGV4dC13aGl0ZSBmb2N1czpiZy1wcmltYXJ5LWRhcmtlcidcbiAgICAgICAgICA6ICd0ZXh0LWdyYXktOTAwIGhvdmVyOnRleHQtcHJpbWFyeS1kYXJrZXN0IGhvdmVyOmJnLWdyYXktNTAgZm9jdXM6dGV4dC1wcmltYXJ5LWRhcmtlc3QgZm9jdXM6YmctZ3JheS01MCdcbiAgICAgIFwiXG4gICAgICAoY2xpY2spPVwib25TZWxlY3RWYWx1ZShjaG9pY2UpXCJcbiAgICAgIChrZXlkb3duKT1cInNlbGVjdElmRW50ZXIoJGV2ZW50LCBjaG9pY2UpXCJcbiAgICAgIFthdHRyLmRhdGEtY3ktdmFsdWVdPVwiY2hvaWNlLnZhbHVlLnRvU3RyaW5nKClcIlxuICAgICAgW2F0dHIuZGF0YS1jeS1hY3RpdmVdPVwiaXNTZWxlY3RlZChjaG9pY2UpID8gJ3RydWUnIDogdW5kZWZpbmVkXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtWzE0cHhdXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -29,10 +29,10 @@ export class EditableLabelDirective {
29
29
  this.renderer.appendChild(this.el.nativeElement, appendedInput);
30
30
  }
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditableLabelDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
33
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: EditableLabelDirective, isStandalone: true, selector: "[gnUiEditableLabel]", inputs: { gnUiEditableLabel: "gnUiEditableLabel" }, outputs: { editableLabelChanged: "editableLabelChanged" }, ngImport: i0 }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditableLabelDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
33
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EditableLabelDirective, isStandalone: true, selector: "[gnUiEditableLabel]", inputs: { gnUiEditableLabel: "gnUiEditableLabel" }, outputs: { editableLabelChanged: "editableLabelChanged" }, ngImport: i0 }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditableLabelDirective, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditableLabelDirective, decorators: [{
36
36
  type: Directive,
37
37
  args: [{
38
38
  selector: '[gnUiEditableLabel]',
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
43
43
  }], gnUiEditableLabel: [{
44
44
  type: Input
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtbGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9lZGl0YWJsZS1sYWJlbC9lZGl0YWJsZS1sYWJlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFBOztBQU10QixNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUhyRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBR08sQ0FBQztJQUVuRSxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxFQUFFO1lBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBRTFELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUVuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFBO1lBQzNELE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1lBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUVqRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNwRCxDQUFDLENBQUMsQ0FBQTtZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1NBQ2hFO0lBQ0gsQ0FBQzs4R0FoQ1Usc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3lIQUVXLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRSxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZ25VaUVkaXRhYmxlTGFiZWxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAT3V0cHV0KCkgZWRpdGFibGVMYWJlbENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBASW5wdXQoKSBnblVpRWRpdGFibGVMYWJlbD86IGJvb2xlYW5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmduVWlFZGl0YWJsZUxhYmVsICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgYXBwZW5kZWRJbnB1dCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKVxuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdiYWNrZ3JvdW5kJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnY29sb3InLCAnaW5oZXJpdCcpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdmb250JywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnYm9yZGVyJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnd2lkdGgnLCAnMTAwJScpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdwYWRkaW5nJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnbWFyZ2luJywgJzAnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnaGVpZ2h0JywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnbGluZS1oZWlnaHQnLCAnaW5oZXJpdCcpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICd0ZXh0LWRlY29yYXRpb24nLCAnaW5oZXJpdCcpXG5cbiAgICAgIGNvbnN0IGhvc3RDb250ZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50IHx8ICcnXG4gICAgICBjb25zdCBmb3JtYXR0ZWRDb250ZW50ID0gaG9zdENvbnRlbnQucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShhcHBlbmRlZElucHV0LCAndmFsdWUnLCBmb3JtYXR0ZWRDb250ZW50KVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpbm5lckhUTUwnLCAnJylcblxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oYXBwZW5kZWRJbnB1dCwgJ2lucHV0JywgKGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZWRpdGFibGVMYWJlbENoYW5nZWQuZW1pdChldmVudC50YXJnZXQudmFsdWUpXG4gICAgICB9KVxuXG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgYXBwZW5kZWRJbnB1dClcbiAgICB9XG4gIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtbGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9lZGl0YWJsZS1sYWJlbC9lZGl0YWJsZS1sYWJlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFBOztBQU10QixNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUhyRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBR08sQ0FBQztJQUVuRSxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxFQUFFO1lBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBRTFELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUVuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFBO1lBQzNELE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1lBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUVqRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNwRCxDQUFDLENBQUMsQ0FBQTtZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1NBQ2hFO0lBQ0gsQ0FBQzsrR0FoQ1Usc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3lIQUVXLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRSxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZ25VaUVkaXRhYmxlTGFiZWxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAT3V0cHV0KCkgZWRpdGFibGVMYWJlbENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBASW5wdXQoKSBnblVpRWRpdGFibGVMYWJlbD86IGJvb2xlYW5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmduVWlFZGl0YWJsZUxhYmVsICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgYXBwZW5kZWRJbnB1dCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKVxuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdiYWNrZ3JvdW5kJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnY29sb3InLCAnaW5oZXJpdCcpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdmb250JywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnYm9yZGVyJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnd2lkdGgnLCAnMTAwJScpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdwYWRkaW5nJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnbWFyZ2luJywgJzAnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnaGVpZ2h0JywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnbGluZS1oZWlnaHQnLCAnaW5oZXJpdCcpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICd0ZXh0LWRlY29yYXRpb24nLCAnaW5oZXJpdCcpXG5cbiAgICAgIGNvbnN0IGhvc3RDb250ZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50IHx8ICcnXG4gICAgICBjb25zdCBmb3JtYXR0ZWRDb250ZW50ID0gaG9zdENvbnRlbnQucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShhcHBlbmRlZElucHV0LCAndmFsdWUnLCBmb3JtYXR0ZWRDb250ZW50KVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpbm5lckhUTUwnLCAnJylcblxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oYXBwZW5kZWRJbnB1dCwgJ2lucHV0JywgKGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZWRpdGFibGVMYWJlbENoYW5nZWQuZW1pdChldmVudC50YXJnZXQudmFsdWUpXG4gICAgICB9KVxuXG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgYXBwZW5kZWRJbnB1dClcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -30,10 +30,10 @@ export class FilesDropDirective {
30
30
  this.dropFiles.emit(files);
31
31
  }
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FilesDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: FilesDropDirective, isStandalone: true, selector: "[gnUiFilesDrop]", outputs: { dragFilesOver: "dragFilesOver", dropFiles: "dropFiles" }, host: { listeners: { "dragenter": "_onDragEnter($event)", "dragover": "_onDragOver($event)", "dragleave": "_onDragLeave($event)", "drop": "_onDrop($event)" } }, ngImport: i0 }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilesDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilesDropDirective, isStandalone: true, selector: "[gnUiFilesDrop]", outputs: { dragFilesOver: "dragFilesOver", dropFiles: "dropFiles" }, host: { listeners: { "dragenter": "_onDragEnter($event)", "dragover": "_onDragOver($event)", "dragleave": "_onDragLeave($event)", "drop": "_onDrop($event)" } }, ngImport: i0 }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FilesDropDirective, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilesDropDirective, decorators: [{
37
37
  type: Directive,
38
38
  args: [{
39
39
  selector: '[gnUiFilesDrop]',
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
56
56
  type: HostListener,
57
57
  args: ['drop', ['$event']]
58
58
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtZHJvcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ZpbGVzLWRyb3AvZmlsZXMtZHJvcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFNN0UsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQUtZLGtCQUFhLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUE7UUFDekQsY0FBUyxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRTlELHFCQUFnQixHQUFHLENBQUMsQ0FBQTtLQWtDckI7SUEvQkMsWUFBWSxDQUFDLEtBQWdCO1FBQzNCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQWdCO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBR0QsWUFBWSxDQUFDLEtBQWdCO1FBQzNCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQzlELElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUMvQjtJQUNILENBQUM7SUFHRCxPQUFPLENBQUMsS0FBZ0I7UUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFOUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDM0I7SUFDSCxDQUFDOzhHQXJDVSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRVcsYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUtQLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUXJDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXBDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVXJDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZ25VaUZpbGVzRHJvcF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlc0Ryb3BEaXJlY3RpdmUge1xuICBAT3V0cHV0KCkgZHJhZ0ZpbGVzT3ZlcjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBkcm9wRmlsZXM6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgZHJhZ0VudGVyQ291bnRlciA9IDBcblxuICBASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInLCBbJyRldmVudCddKVxuICBfb25EcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLmRyYWdFbnRlckNvdW50ZXIrK1xuICAgIHRoaXMuZHJhZ0ZpbGVzT3Zlci5lbWl0KHRydWUpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIF9vbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBfb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLmRyYWdFbnRlckNvdW50ZXIgPSBNYXRoLm1heCgwLCB0aGlzLmRyYWdFbnRlckNvdW50ZXIgLSAxKVxuICAgIGlmICh0aGlzLmRyYWdFbnRlckNvdW50ZXIgPT09IDApIHtcbiAgICAgIHRoaXMuZHJhZ0ZpbGVzT3Zlci5lbWl0KGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICBfb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgdGhpcy5kcmFnRW50ZXJDb3VudGVyID0gMFxuICAgIHRoaXMuZHJhZ0ZpbGVzT3Zlci5lbWl0KGZhbHNlKVxuXG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcylcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5kcm9wRmlsZXMuZW1pdChmaWxlcylcbiAgICB9XG4gIH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtZHJvcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ZpbGVzLWRyb3AvZmlsZXMtZHJvcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFNN0UsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQUtZLGtCQUFhLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUE7UUFDekQsY0FBUyxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRTlELHFCQUFnQixHQUFHLENBQUMsQ0FBQTtLQWtDckI7SUEvQkMsWUFBWSxDQUFDLEtBQWdCO1FBQzNCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQWdCO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBR0QsWUFBWSxDQUFDLEtBQWdCO1FBQzNCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQzlELElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUMvQjtJQUNILENBQUM7SUFHRCxPQUFPLENBQUMsS0FBZ0I7UUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFOUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDM0I7SUFDSCxDQUFDOytHQXJDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRVcsYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUtQLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUXJDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXBDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVXJDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZ25VaUZpbGVzRHJvcF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlc0Ryb3BEaXJlY3RpdmUge1xuICBAT3V0cHV0KCkgZHJhZ0ZpbGVzT3ZlcjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBkcm9wRmlsZXM6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgZHJhZ0VudGVyQ291bnRlciA9IDBcblxuICBASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInLCBbJyRldmVudCddKVxuICBfb25EcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLmRyYWdFbnRlckNvdW50ZXIrK1xuICAgIHRoaXMuZHJhZ0ZpbGVzT3Zlci5lbWl0KHRydWUpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIF9vbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBfb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLmRyYWdFbnRlckNvdW50ZXIgPSBNYXRoLm1heCgwLCB0aGlzLmRyYWdFbnRlckNvdW50ZXIgLSAxKVxuICAgIGlmICh0aGlzLmRyYWdFbnRlckNvdW50ZXIgPT09IDApIHtcbiAgICAgIHRoaXMuZHJhZ0ZpbGVzT3Zlci5lbWl0KGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICBfb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgdGhpcy5kcmFnRW50ZXJDb3VudGVyID0gMFxuICAgIHRoaXMuZHJhZ0ZpbGVzT3Zlci5lbWl0KGZhbHNlKVxuXG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcylcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5kcm9wRmlsZXMuZW1pdChmaWxlcylcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -9,6 +9,7 @@ import { ButtonComponent } from '../button/button.component';
9
9
  import { FilesDropDirective } from '../files-drop/files-drop.directive';
10
10
  import { TranslateModule } from '@ngx-translate/core';
11
11
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
12
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "@angular/common/http";
14
15
  import * as i2 from "@angular/common";
@@ -89,7 +90,8 @@ export class ImageInputComponent {
89
90
  const file = new File([blob], name);
90
91
  this.fileChange.emit(file);
91
92
  },
92
- error: () => {
93
+ error: (error) => {
94
+ console.error(error);
93
95
  this.downloadError = true;
94
96
  this.cd.markForCheck();
95
97
  this.urlChange.emit(this.urlInputValue);
@@ -125,6 +127,7 @@ export class ImageInputComponent {
125
127
  }
126
128
  }
127
129
  handleDelete() {
130
+ this.formControl.markAsDirty();
128
131
  this.delete.emit();
129
132
  }
130
133
  toggleAltTextInput() {
@@ -146,10 +149,10 @@ export class ImageInputComponent {
146
149
  this.fileChange.emit(fileToEmit);
147
150
  });
148
151
  }
149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ImageInputComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <div class=\"flex-1 group relative\">\n <img\n class=\"w-full h-full object-cover border-2 border-gray-300 rounded-lg\"\n [alt]=\"altText\"\n loading=\"lazy\"\n [src]=\"previewUrl\"\n />\n <gn-ui-button\n [extraClass]=\"\n 'bg-gray-200 absolute right-2 bottom-2 invisible group-hover:visible'\n \"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined\">delete</mat-icon>\n </gn-ui-button>\n </div>\n <input\n *ngIf=\"showAltTextInput\"\n type=\"text\"\n class=\"py-3 px-2 border-2 border-gray-300 rounded-lg text-sm font-medium\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText\"\n (change)=\"handleAltTextChange($event)\"\n />\n <div class=\"flex flex-row gap-2\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">delete</mat-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">add</mat-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"block flex-1 border-2 border-dashed border-gray-300 rounded-lg p-6 flex flex-col items-center justify-center gap-4\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div class=\"w-14 h-14 rounded-md bg-gray-200 grid\">\n <mat-icon\n *ngIf=\"!dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >image</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >add_box</mat-icon\n >\n <div *ngIf=\"uploadProgress\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n [mode]=\"'determinate'\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n <span\n class=\"text-sm font-medium relative inline-block width-[30px] bottom-[40px] left-[15px]\"\n >\n {{ uploadProgress }}%\n </span>\n </div>\n <mat-icon\n *ngIf=\"uploadError\"\n class=\"material-symbols-outlined place-self-center text-rose-500\"\n >broken_image</mat-icon\n >\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n uploadProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick()\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"showUrlInput || uploadProgress || uploadError\"\n />\n </label>\n <div *ngIf=\"!showUrlInput\" class=\"flex-none\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"displayUrlInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">link</mat-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n <div *ngIf=\"showUrlInput\" class=\"flex-none flex flex-col gap-2\">\n <div class=\"h-2\"></div>\n <div class=\"flex gap-2 items-center\">\n <div class=\"flex-1 flex rounded-lg\">\n <span\n class=\"material-symbols-outlined px-4 inline-flex items-center min-w-fit rounded-s-lg border-2 border-e-0 border-gray-300\"\n >link</span\n >\n <input\n type=\"text\"\n class=\"py-3 ps-1 block w-full border-2 border-s-0 border-e-0 border-gray-300 text-sm font-medium\"\n placeholder=\"https://exemple.com/image.jpg\"\n (change)=\"handleUrlChange($event)\"\n />\n <gn-ui-button\n class=\"px-1 inline-flex items-center min-w-fit rounded-e-lg border-2 border-s-0 border-gray-300 text-white\"\n [extraClass]=\"\n urlInputValue && !downloadError ? 'bg-blue-500' : 'bg-gray-500'\n \"\n [disabled]=\"!urlInputValue || downloadError\"\n (buttonClick)=\"downloadUrl()\"\n >\n <mat-icon class=\"material-symbols-outlined\">arrow_upward</mat-icon>\n </gn-ui-button>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageInputComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { formControl: "formControl", maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <div class=\"flex-1 group relative\">\n <img\n class=\"w-full h-full object-cover border-2 border-gray-300 rounded-lg\"\n [alt]=\"altText\"\n loading=\"lazy\"\n [src]=\"previewUrl\"\n />\n <gn-ui-button\n [extraClass]=\"\n 'bg-gray-200 absolute right-2 bottom-2 invisible group-hover:visible'\n \"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined\">delete</mat-icon>\n </gn-ui-button>\n </div>\n <input\n *ngIf=\"showAltTextInput\"\n type=\"text\"\n class=\"py-3 px-2 border-2 border-gray-300 rounded-lg text-sm font-medium\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText\"\n (change)=\"handleAltTextChange($event)\"\n />\n <div class=\"flex flex-row gap-2\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">delete</mat-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">add</mat-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"block flex-1 border-2 border-dashed border-gray-300 rounded-lg p-6 flex flex-col items-center justify-center gap-4 hover:cursor-pointer\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div class=\"w-14 h-14 rounded-md bg-gray-200 grid\">\n <mat-icon\n *ngIf=\"!dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >image</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >add_box</mat-icon\n >\n <div *ngIf=\"uploadProgress\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n [mode]=\"'determinate'\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n <span\n class=\"text-sm font-medium relative inline-block width-[30px] bottom-[40px] left-[15px]\"\n >\n {{ uploadProgress }}%\n </span>\n </div>\n <mat-icon\n *ngIf=\"uploadError\"\n class=\"material-symbols-outlined place-self-center text-rose-500\"\n >broken_image</mat-icon\n >\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n uploadProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick()\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"showUrlInput || uploadProgress || uploadError\"\n />\n </label>\n <div *ngIf=\"!showUrlInput\" class=\"flex-none\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"displayUrlInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">link</mat-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n <div *ngIf=\"showUrlInput\" class=\"flex-none flex flex-col gap-2\">\n <div class=\"h-2\"></div>\n <div class=\"flex gap-2 items-center\">\n <div class=\"flex-1 flex rounded-lg\">\n <span\n class=\"material-symbols-outlined px-4 inline-flex items-center min-w-fit rounded-s-lg border-2 border-e-0 border-gray-300\"\n >link</span\n >\n <input\n type=\"text\"\n class=\"py-3 ps-1 block w-full border-2 border-s-0 border-e-0 border-gray-300 text-sm font-medium\"\n placeholder=\"https://exemple.com/image.jpg\"\n (change)=\"handleUrlChange($event)\"\n />\n <gn-ui-button\n class=\"px-1 inline-flex items-center min-w-fit rounded-e-lg border-2 border-s-0 border-gray-300 text-white\"\n [extraClass]=\"\n urlInputValue && !downloadError ? 'bg-blue-500' : 'bg-gray-500'\n \"\n [disabled]=\"!urlInputValue || downloadError\"\n (buttonClick)=\"downloadUrl()\"\n >\n <mat-icon class=\"material-symbols-outlined\">arrow_upward</mat-icon>\n </gn-ui-button>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
151
154
  }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ImageInputComponent, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageInputComponent, decorators: [{
153
156
  type: Component,
154
157
  args: [{ selector: 'gn-ui-image-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
155
158
  CommonModule,
@@ -158,8 +161,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
158
161
  FilesDropDirective,
159
162
  MatProgressSpinnerModule,
160
163
  TranslateModule,
161
- ], template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <div class=\"flex-1 group relative\">\n <img\n class=\"w-full h-full object-cover border-2 border-gray-300 rounded-lg\"\n [alt]=\"altText\"\n loading=\"lazy\"\n [src]=\"previewUrl\"\n />\n <gn-ui-button\n [extraClass]=\"\n 'bg-gray-200 absolute right-2 bottom-2 invisible group-hover:visible'\n \"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined\">delete</mat-icon>\n </gn-ui-button>\n </div>\n <input\n *ngIf=\"showAltTextInput\"\n type=\"text\"\n class=\"py-3 px-2 border-2 border-gray-300 rounded-lg text-sm font-medium\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText\"\n (change)=\"handleAltTextChange($event)\"\n />\n <div class=\"flex flex-row gap-2\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">delete</mat-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">add</mat-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"block flex-1 border-2 border-dashed border-gray-300 rounded-lg p-6 flex flex-col items-center justify-center gap-4\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div class=\"w-14 h-14 rounded-md bg-gray-200 grid\">\n <mat-icon\n *ngIf=\"!dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >image</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >add_box</mat-icon\n >\n <div *ngIf=\"uploadProgress\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n [mode]=\"'determinate'\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n <span\n class=\"text-sm font-medium relative inline-block width-[30px] bottom-[40px] left-[15px]\"\n >\n {{ uploadProgress }}%\n </span>\n </div>\n <mat-icon\n *ngIf=\"uploadError\"\n class=\"material-symbols-outlined place-self-center text-rose-500\"\n >broken_image</mat-icon\n >\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n uploadProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick()\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"showUrlInput || uploadProgress || uploadError\"\n />\n </label>\n <div *ngIf=\"!showUrlInput\" class=\"flex-none\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"displayUrlInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">link</mat-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n <div *ngIf=\"showUrlInput\" class=\"flex-none flex flex-col gap-2\">\n <div class=\"h-2\"></div>\n <div class=\"flex gap-2 items-center\">\n <div class=\"flex-1 flex rounded-lg\">\n <span\n class=\"material-symbols-outlined px-4 inline-flex items-center min-w-fit rounded-s-lg border-2 border-e-0 border-gray-300\"\n >link</span\n >\n <input\n type=\"text\"\n class=\"py-3 ps-1 block w-full border-2 border-s-0 border-e-0 border-gray-300 text-sm font-medium\"\n placeholder=\"https://exemple.com/image.jpg\"\n (change)=\"handleUrlChange($event)\"\n />\n <gn-ui-button\n class=\"px-1 inline-flex items-center min-w-fit rounded-e-lg border-2 border-s-0 border-gray-300 text-white\"\n [extraClass]=\"\n urlInputValue && !downloadError ? 'bg-blue-500' : 'bg-gray-500'\n \"\n [disabled]=\"!urlInputValue || downloadError\"\n (buttonClick)=\"downloadUrl()\"\n >\n <mat-icon class=\"material-symbols-outlined\">arrow_upward</mat-icon>\n </gn-ui-button>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n" }]
162
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { maxSizeMB: [{
164
+ ReactiveFormsModule,
165
+ ], template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <div class=\"flex-1 group relative\">\n <img\n class=\"w-full h-full object-cover border-2 border-gray-300 rounded-lg\"\n [alt]=\"altText\"\n loading=\"lazy\"\n [src]=\"previewUrl\"\n />\n <gn-ui-button\n [extraClass]=\"\n 'bg-gray-200 absolute right-2 bottom-2 invisible group-hover:visible'\n \"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined\">delete</mat-icon>\n </gn-ui-button>\n </div>\n <input\n *ngIf=\"showAltTextInput\"\n type=\"text\"\n class=\"py-3 px-2 border-2 border-gray-300 rounded-lg text-sm font-medium\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText\"\n (change)=\"handleAltTextChange($event)\"\n />\n <div class=\"flex flex-row gap-2\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">delete</mat-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">add</mat-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"block flex-1 border-2 border-dashed border-gray-300 rounded-lg p-6 flex flex-col items-center justify-center gap-4 hover:cursor-pointer\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div class=\"w-14 h-14 rounded-md bg-gray-200 grid\">\n <mat-icon\n *ngIf=\"!dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >image</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >add_box</mat-icon\n >\n <div *ngIf=\"uploadProgress\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n [mode]=\"'determinate'\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n <span\n class=\"text-sm font-medium relative inline-block width-[30px] bottom-[40px] left-[15px]\"\n >\n {{ uploadProgress }}%\n </span>\n </div>\n <mat-icon\n *ngIf=\"uploadError\"\n class=\"material-symbols-outlined place-self-center text-rose-500\"\n >broken_image</mat-icon\n >\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n uploadProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick()\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"showUrlInput || uploadProgress || uploadError\"\n />\n </label>\n <div *ngIf=\"!showUrlInput\" class=\"flex-none\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"displayUrlInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">link</mat-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n <div *ngIf=\"showUrlInput\" class=\"flex-none flex flex-col gap-2\">\n <div class=\"h-2\"></div>\n <div class=\"flex gap-2 items-center\">\n <div class=\"flex-1 flex rounded-lg\">\n <span\n class=\"material-symbols-outlined px-4 inline-flex items-center min-w-fit rounded-s-lg border-2 border-e-0 border-gray-300\"\n >link</span\n >\n <input\n type=\"text\"\n class=\"py-3 ps-1 block w-full border-2 border-s-0 border-e-0 border-gray-300 text-sm font-medium\"\n placeholder=\"https://exemple.com/image.jpg\"\n (change)=\"handleUrlChange($event)\"\n />\n <gn-ui-button\n class=\"px-1 inline-flex items-center min-w-fit rounded-e-lg border-2 border-s-0 border-gray-300 text-white\"\n [extraClass]=\"\n urlInputValue && !downloadError ? 'bg-blue-500' : 'bg-gray-500'\n \"\n [disabled]=\"!urlInputValue || downloadError\"\n (buttonClick)=\"downloadUrl()\"\n >\n <mat-icon class=\"material-symbols-outlined\">arrow_upward</mat-icon>\n </gn-ui-button>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n" }]
166
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { formControl: [{
167
+ type: Input
168
+ }], maxSizeMB: [{
163
169
  type: Input
164
170
  }], previewUrl: [{
165
171
  type: Input
@@ -180,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
180
186
  }], altTextChange: [{
181
187
  type: Output
182
188
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7Ozs7OztBQWlCaEUsTUFBTSxPQUFPLG1CQUFtQjtJQXFCOUIsWUFBb0IsSUFBZ0IsRUFBVSxFQUFxQjtRQUEvQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FB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QUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNyRCxjQUFjLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2hFLE1BQU0sVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQy9ELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs4R0E3SlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsNFdDbENoQywyMEtBa0pBLHlERHhISSxZQUFZLG1JQUNaLGVBQWUsOEhBQ2YsYUFBYSxvTEFDYixrQkFBa0Isb0dBQ2xCLHdCQUF3QixrT0FDeEIsZUFBZTs7MkZBR04sbUJBQW1CO2tCQWYvQixTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsZUFBZTtxQkFDaEI7aUlBR1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgZG93bmdyYWRlSW1hZ2UsIG1lZ2FieXRlc1RvQnl0ZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRmlsZXNEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi4vZmlsZXMtZHJvcC9maWxlcy1kcm9wLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWltYWdlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtaW5wdXQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBGaWxlc0Ryb3BEaXJlY3RpdmUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VJbnB1dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1heFNpemVNQjogbnVtYmVyXG4gIEBJbnB1dCgpIHByZXZpZXdVcmw/OiBzdHJpbmdcbiAgQElucHV0KCkgYWx0VGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSB1cGxvYWRQcm9ncmVzcz86IG51bWJlclxuICBASW5wdXQoKSB1cGxvYWRFcnJvcj86IGJvb2xlYW5cbiAgQE91dHB1dCgpIGZpbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWxlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgdXJsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgdXBsb2FkQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGRlbGV0ZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBhbHRUZXh0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGRyYWdGaWxlc092ZXIgPSBmYWxzZVxuICBzaG93VXJsSW5wdXQgPSBmYWxzZVxuICBkb3dubG9hZEVycm9yID0gZmFsc2VcbiAgc2hvd0FsdFRleHRJbnB1dCA9IGZhbHNlXG5cbiAgdXJsSW5wdXRWYWx1ZT86IHN0cmluZ1xuICBsYXN0VXBsb2FkVHlwZT86ICdmaWxlJyB8ICd1cmwnXG4gIGxhc3RVcGxvYWRDb250ZW50Pzogc3RyaW5nIHwgRmlsZVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0UHJpbWFyeVRleHQoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkRXJyb3IpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnVwbG9hZEVycm9yTGFiZWwnKVxuICAgIH1cbiAgICBpZiAodGhpcy51cGxvYWRQcm9ncmVzcykge1xuICAgICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UudXBsb2FkUHJvZ3Jlc3NMYWJlbCcpXG4gICAgfVxuICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnNlbGVjdEZpbGVMYWJlbCcpXG4gIH1cblxuICBnZXRTZWNvbmRhcnlUZXh0KCkge1xuICAgIGlmICh0aGlzLnVwbG9hZEVycm9yKSB7XG4gICAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5pbWFnZS51cGxvYWRFcnJvclJldHJ5JylcbiAgICB9XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnVwbG9hZFByb2dyZXNzQ2FuY2VsJylcbiAgICB9XG4gICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UuZHJvcEZpbGVMYWJlbCcpXG4gIH1cblxuICBoYW5kbGVEcmFnRmlsZXNPdmVyKGRyYWdGaWxlc092ZXI6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuc2hvd1VybElucHV0KSB7XG4gICAgICB0aGlzLmRyYWdGaWxlc092ZXIgPSBkcmFnRmlsZXNPdmVyXG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRHJvcEZpbGVzKGZpbGVzOiBGaWxlW10pIHtcbiAgICBpZiAoIXRoaXMuc2hvd1VybElucHV0KSB7XG4gICAgICBjb25zdCB2YWxpZEZpbGVzID0gdGhpcy5maWx0ZXJUeXBlSW1hZ2UoZmlsZXMpXG4gICAgICBpZiAodmFsaWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMucmVzaXplQW5kRW1pdCh2YWxpZEZpbGVzWzBdKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbGVJbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dEZpbGVzID0gQXJyYXkuZnJvbSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZpbGVzKVxuICAgIGNvbnN0IHZhbGlkRmlsZXMgPSB0aGlzLmZpbHRlclR5cGVJbWFnZShpbnB1dEZpbGVzKVxuICAgIGlmICh2YWxpZEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucmVzaXplQW5kRW1pdCh2YWxpZEZpbGVzWzBdKVxuICAgIH1cbiAgfVxuXG4gIGRpc3BsYXlVcmxJbnB1dCgpIHtcbiAgICB0aGlzLnVwbG9hZENhbmNlbC5lbWl0KClcbiAgICB0aGlzLnNob3dVcmxJbnB1dCA9IHRydWVcbiAgfVxuXG4gIGhhbmRsZVVybENoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmRvd25sb2FkRXJyb3IgPSBmYWxzZVxuICAgIHRoaXMudXJsSW5wdXRWYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVcbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkVXJsKCkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLnVybElucHV0VmFsdWUuc3BsaXQoJy8nKS5wb3AoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMuaHR0cC5oZWFkKHRoaXMudXJsSW5wdXRWYWx1ZSwgeyBvYnNlcnZlOiAncmVzcG9uc2UnIH0pXG4gICAgICApXG4gICAgICBpZiAoXG4gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uc3RhcnRzV2l0aCgnaW1hZ2UvJykgJiZcbiAgICAgICAgcGFyc2VJbnQocmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtbGVuZ3RoJykpIDxcbiAgICAgICAgICBtZWdhYnl0ZXNUb0J5dGVzKHRoaXMubWF4U2l6ZU1CKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuaHR0cC5nZXQodGhpcy51cmxJbnB1dFZhbHVlLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKGJsb2IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKClcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbYmxvYl0sIG5hbWUpXG4gICAgICAgICAgICB0aGlzLmZpbGVDaGFuZ2UuZW1pdChmaWxlKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG93bmxvYWRFcnJvciA9IHRydWVcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKClcbiAgICAgICAgICAgIHRoaXMudXJsQ2hhbmdlLmVtaXQodGhpcy51cmxJbnB1dFZhbHVlKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmRvd25sb2FkRXJyb3IgPSB0cnVlXG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICBoYW5kbGVTZWNvbmRhcnlUZXh0Q2xpY2soKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkRXJyb3IpIHtcbiAgICAgIHRoaXMuaGFuZGxlUmV0cnkoKVxuICAgIH0gZWxzZSBpZiAodGhpcy51cGxvYWRQcm9ncmVzcykge1xuICAgICAgdGhpcy5oYW5kbGVDYW5jZWwoKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNhbmNlbCgpIHtcbiAgICB0aGlzLnVwbG9hZENhbmNlbC5lbWl0KClcbiAgfVxuXG4gIGhhbmRsZVJldHJ5KCkge1xuICAgIHN3aXRjaCAodGhpcy5sYXN0VXBsb2FkVHlwZSkge1xuICAgICAgY2FzZSAnZmlsZSc6XG4gICAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KHRoaXMubGFzdFVwbG9hZENvbnRlbnQgYXMgRmlsZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3VybCc6XG4gICAgICAgIHRoaXMudXJsQ2hhbmdlLmVtaXQodGhpcy5sYXN0VXBsb2FkQ29udGVudCBhcyBzdHJpbmcpXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRGVsZXRlKCkge1xuICAgIHRoaXMuZGVsZXRlLmVtaXQoKVxuICB9XG5cbiAgdG9nZ2xlQWx0VGV4dElucHV0KCkge1xuICAgIHRoaXMuc2hvd0FsdFRleHRJbnB1dCA9ICF0aGlzLnNob3dBbHRUZXh0SW5wdXRcbiAgfVxuXG4gIGhhbmRsZUFsdFRleHRDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudFxuICAgIHRoaXMuYWx0VGV4dENoYW5nZS5lbWl0KGlucHV0LnZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJUeXBlSW1hZ2UoZmlsZXM6IEZpbGVbXSkge1xuICAgIHJldHVybiBmaWxlcy5maWx0ZXIoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSByZXNpemVBbmRFbWl0KGltYWdlVG9SZXNpemU6IEZpbGUpIHtcbiAgICBjb25zdCBtYXhTaXplQnl0ZXMgPSBtZWdhYnl0ZXNUb0J5dGVzKHRoaXMubWF4U2l6ZU1CKVxuICAgIGRvd25ncmFkZUltYWdlKGltYWdlVG9SZXNpemUsIG1heFNpemVCeXRlcykudGhlbigocmVzaXplZEltYWdlKSA9PiB7XG4gICAgICBjb25zdCBmaWxlVG9FbWl0ID0gbmV3IEZpbGUoW3Jlc2l6ZWRJbWFnZV0sIGltYWdlVG9SZXNpemUubmFtZSlcbiAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KGZpbGVUb0VtaXQpXG4gICAgfSlcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInByZXZpZXdVcmw7IHRoZW4gd2l0aEltYWdlOyBlbHNlIHdpdGhvdXRJbWFnZVwiPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjd2l0aEltYWdlPlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtMSBncm91cCByZWxhdGl2ZVwiPlxuICAgICAgPGltZ1xuICAgICAgICBjbGFzcz1cInctZnVsbCBoLWZ1bGwgb2JqZWN0LWNvdmVyIGJvcmRlci0yIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnXCJcbiAgICAgICAgW2FsdF09XCJhbHRUZXh0XCJcbiAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICBbc3JjXT1cInByZXZpZXdVcmxcIlxuICAgICAgLz5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgW2V4dHJhQ2xhc3NdPVwiXG4gICAgICAgICAgJ2JnLWdyYXktMjAwIGFic29sdXRlIHJpZ2h0LTIgYm90dG9tLTIgaW52aXNpYmxlIGdyb3VwLWhvdmVyOnZpc2libGUnXG4gICAgICAgIFwiXG4gICAgICAgIChidXR0b25DbGljayk9XCJoYW5kbGVEZWxldGUoKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGlucHV0XG4gICAgICAqbmdJZj1cInNob3dBbHRUZXh0SW5wdXRcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJweS0zIHB4LTIgYm9yZGVyLTIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LW1lZGl1bVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lucHV0LmltYWdlLmFsdFRleHRQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgW3ZhbHVlXT1cImFsdFRleHRcIlxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVBbHRUZXh0Q2hhbmdlKCRldmVudClcIlxuICAgIC8+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTJcIj5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgW2V4dHJhQ2xhc3NdPVwiJ2JnLWdyYXktMjAwIGZvbnQtYm9sZCdcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlRGVsZXRlKClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIG1lLTFcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICB7eyAnaW5wdXQuaW1hZ2UuZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIXNob3dBbHRUZXh0SW5wdXRcIlxuICAgICAgICBbZXh0cmFDbGFzc109XCInYmctZ3JheS0yMDAgZm9udC1ib2xkJ1wiXG4gICAgICAgIChidXR0b25DbGljayk9XCJ0b2dnbGVBbHRUZXh0SW5wdXQoKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbWUtMVwiPmFkZDwvbWF0LWljb24+XG4gICAgICAgIHt7ICdpbnB1dC5pbWFnZS5kaXNwbGF5QWx0VGV4dElucHV0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN3aXRob3V0SW1hZ2U+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8bGFiZWxcbiAgICAgIGduVWlGaWxlc0Ryb3BcbiAgICAgIGNsYXNzPVwiYmxvY2sgZmxleC0xIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGcgcC02IGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC00XCJcbiAgICAgIChkcmFnRmlsZXNPdmVyKT1cImhhbmRsZURyYWdGaWxlc092ZXIoJGV2ZW50KVwiXG4gICAgICAoZHJvcEZpbGVzKT1cImhhbmRsZURyb3BGaWxlcygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwidy0xNCBoLTE0IHJvdW5kZWQtbWQgYmctZ3JheS0yMDAgZ3JpZFwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAqbmdJZj1cIiFkcmFnRmlsZXNPdmVyICYmICF1cGxvYWRQcm9ncmVzcyAmJiAhdXBsb2FkRXJyb3JcIlxuICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwbGFjZS1zZWxmLWNlbnRlciB0ZXh0LWJsdWUtNTAwXCJcbiAgICAgICAgICA+aW1hZ2U8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgKm5nSWY9XCJkcmFnRmlsZXNPdmVyICYmICF1cGxvYWRQcm9ncmVzcyAmJiAhdXBsb2FkRXJyb3JcIlxuICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwbGFjZS1zZWxmLWNlbnRlciB0ZXh0LWJsdWUtNTAwXCJcbiAgICAgICAgICA+YWRkX2JveDwvbWF0LWljb25cbiAgICAgICAgPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXBsb2FkUHJvZ3Jlc3NcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXJcIlxuICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICAgIFttb2RlXT1cIidkZXRlcm1pbmF0ZSdcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInVwbG9hZFByb2dyZXNzXCJcbiAgICAgICAgICA+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHJlbGF0aXZlIGlubGluZS1ibG9jayB3aWR0aC1bMzBweF0gYm90dG9tLVs0MHB4XSBsZWZ0LVsxNXB4XVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgdXBsb2FkUHJvZ3Jlc3MgfX0lXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgKm5nSWY9XCJ1cGxvYWRFcnJvclwiXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtcm9zZS01MDBcIlxuICAgICAgICAgID5icm9rZW5faW1hZ2U8L21hdC1pY29uXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZm9udC1tZWRpdW1cIj57eyBnZXRQcmltYXJ5VGV4dCgpIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8cFxuICAgICAgICAgIGNsYXNzPVwidGV4dC1zbVwiXG4gICAgICAgICAgW2NsYXNzXT1cIlxuICAgICAgICAgICAgdXBsb2FkUHJvZ3Jlc3MgfHwgdXBsb2FkRXJyb3JcbiAgICAgICAgICAgICAgPyAnZm9udC1ib2xkIHRleHQtYmx1ZS01MDAgY3Vyc29yLXBvaW50ZXInXG4gICAgICAgICAgICAgIDogJ2ZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDAnXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2Vjb25kYXJ5VGV4dENsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ2V0U2Vjb25kYXJ5VGV4dCgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgY2xhc3M9XCJoaWRkZW5cIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInNob3dVcmxJbnB1dCB8fCB1cGxvYWRQcm9ncmVzcyB8fCB1cGxvYWRFcnJvclwiXG4gICAgICAvPlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdiAqbmdJZj1cIiFzaG93VXJsSW5wdXRcIiBjbGFzcz1cImZsZXgtbm9uZVwiPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICBbZXh0cmFDbGFzc109XCInYmctZ3JheS0yMDAgZm9udC1ib2xkJ1wiXG4gICAgICAgIChidXR0b25DbGljayk9XCJkaXNwbGF5VXJsSW5wdXQoKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbWUtMVwiPmxpbms8L21hdC1pY29uPlxuICAgICAgICB7eyAnaW5wdXQuaW1hZ2UuZGlzcGxheVVybElucHV0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInNob3dVcmxJbnB1dFwiIGNsYXNzPVwiZmxleC1ub25lIGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoLTJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIGZsZXggcm91bmRlZC1sZ1wiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgcHgtNCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWluLXctZml0IHJvdW5kZWQtcy1sZyBib3JkZXItMiBib3JkZXItZS0wIGJvcmRlci1ncmF5LTMwMFwiXG4gICAgICAgICAgICA+bGluazwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwicHktMyBwcy0xIGJsb2NrIHctZnVsbCBib3JkZXItMiBib3JkZXItcy0wIGJvcmRlci1lLTAgYm9yZGVyLWdyYXktMzAwIHRleHQtc20gZm9udC1tZWRpdW1cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJodHRwczovL2V4ZW1wbGUuY29tL2ltYWdlLmpwZ1wiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZVVybENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwicHgtMSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWluLXctZml0IHJvdW5kZWQtZS1sZyBib3JkZXItMiBib3JkZXItcy0wIGJvcmRlci1ncmF5LTMwMCB0ZXh0LXdoaXRlXCJcbiAgICAgICAgICAgIFtleHRyYUNsYXNzXT1cIlxuICAgICAgICAgICAgICB1cmxJbnB1dFZhbHVlICYmICFkb3dubG9hZEVycm9yID8gJ2JnLWJsdWUtNTAwJyA6ICdiZy1ncmF5LTUwMCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXVybElucHV0VmFsdWUgfHwgZG93bmxvYWRFcnJvclwiXG4gICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiZG93bmxvYWRVcmwoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmFycm93X3Vwd2FyZDwvbWF0LWljb24+XG4gICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7Ozs7QUFrQmpFLE1BQU0sT0FBTyxtQkFBbUI7SUFz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O2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgZG93bmdyYWRlSW1hZ2UsIG1lZ2FieXRlc1RvQnl0ZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRmlsZXNEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi4vZmlsZXMtZHJvcC9maWxlcy1kcm9wLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1pbWFnZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgRmlsZXNEcm9wRGlyZWN0aXZlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VJbnB1dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2xcbiAgQElucHV0KCkgbWF4U2l6ZU1COiBudW1iZXJcbiAgQElucHV0KCkgcHJldmlld1VybD86IFVSTFxuICBASW5wdXQoKSBhbHRUZXh0Pzogc3RyaW5nXG4gIEBJbnB1dCgpIHVwbG9hZFByb2dyZXNzPzogbnVtYmVyXG4gIEBJbnB1dCgpIHVwbG9hZEVycm9yPzogYm9vbGVhblxuICBAT3V0cHV0KCkgZmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB1cmxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB1cGxvYWRDYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgZGVsZXRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGFsdFRleHRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgZHJhZ0ZpbGVzT3ZlciA9IGZhbHNlXG4gIHNob3dVcmxJbnB1dCA9IGZhbHNlXG4gIGRvd25sb2FkRXJyb3IgPSBmYWxzZVxuICBzaG93QWx0VGV4dElucHV0ID0gZmFsc2VcblxuICB1cmxJbnB1dFZhbHVlPzogc3RyaW5nXG4gIGxhc3RVcGxvYWRUeXBlPzogJ2ZpbGUnIHwgJ3VybCdcbiAgbGFzdFVwbG9hZENvbnRlbnQ/OiBzdHJpbmcgfCBGaWxlXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBnZXRQcmltYXJ5VGV4dCgpIHtcbiAgICBpZiAodGhpcy51cGxvYWRFcnJvcikge1xuICAgICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UudXBsb2FkRXJyb3JMYWJlbCcpXG4gICAgfVxuICAgIGlmICh0aGlzLnVwbG9hZFByb2dyZXNzKSB7XG4gICAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5pbWFnZS51cGxvYWRQcm9ncmVzc0xhYmVsJylcbiAgICB9XG4gICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2Uuc2VsZWN0RmlsZUxhYmVsJylcbiAgfVxuXG4gIGdldFNlY29uZGFyeVRleHQoKSB7XG4gICAgaWYgKHRoaXMudXBsb2FkRXJyb3IpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnVwbG9hZEVycm9yUmV0cnknKVxuICAgIH1cbiAgICBpZiAodGhpcy51cGxvYWRQcm9ncmVzcykge1xuICAgICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UudXBsb2FkUHJvZ3Jlc3NDYW5jZWwnKVxuICAgIH1cbiAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5pbWFnZS5kcm9wRmlsZUxhYmVsJylcbiAgfVxuXG4gIGhhbmRsZURyYWdGaWxlc092ZXIoZHJhZ0ZpbGVzT3ZlcjogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5zaG93VXJsSW5wdXQpIHtcbiAgICAgIHRoaXMuZHJhZ0ZpbGVzT3ZlciA9IGRyYWdGaWxlc092ZXJcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cblxuICBoYW5kbGVEcm9wRmlsZXMoZmlsZXM6IEZpbGVbXSkge1xuICAgIGlmICghdGhpcy5zaG93VXJsSW5wdXQpIHtcbiAgICAgIGNvbnN0IHZhbGlkRmlsZXMgPSB0aGlzLmZpbHRlclR5cGVJbWFnZShmaWxlcylcbiAgICAgIGlmICh2YWxpZEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5yZXNpemVBbmRFbWl0KHZhbGlkRmlsZXNbMF0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRmlsZUlucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0RmlsZXMgPSBBcnJheS5mcm9tKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuZmlsZXMpXG4gICAgY29uc3QgdmFsaWRGaWxlcyA9IHRoaXMuZmlsdGVyVHlwZUltYWdlKGlucHV0RmlsZXMpXG4gICAgaWYgKHZhbGlkRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yZXNpemVBbmRFbWl0KHZhbGlkRmlsZXNbMF0pXG4gICAgfVxuICB9XG5cbiAgZGlzcGxheVVybElucHV0KCkge1xuICAgIHRoaXMudXBsb2FkQ2FuY2VsLmVtaXQoKVxuICAgIHRoaXMuc2hvd1VybElucHV0ID0gdHJ1ZVxuICB9XG5cbiAgaGFuZGxlVXJsQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZG93bmxvYWRFcnJvciA9IGZhbHNlXG4gICAgdGhpcy51cmxJbnB1dFZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZVxuICB9XG5cbiAgYXN5bmMgZG93bmxvYWRVcmwoKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMudXJsSW5wdXRWYWx1ZS5zcGxpdCgnLycpLnBvcCgpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy5odHRwLmhlYWQodGhpcy51cmxJbnB1dFZhbHVlLCB7IG9ic2VydmU6ICdyZXNwb25zZScgfSlcbiAgICAgIClcbiAgICAgIGlmIChcbiAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5zdGFydHNXaXRoKCdpbWFnZS8nKSAmJlxuICAgICAgICBwYXJzZUludChyZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC1sZW5ndGgnKSkgPFxuICAgICAgICAgIG1lZ2FieXRlc1RvQnl0ZXModGhpcy5tYXhTaXplTUIpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5odHRwLmdldCh0aGlzLnVybElucHV0VmFsdWUsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoYmxvYikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgbmFtZSlcbiAgICAgICAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KGZpbGUpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxuICAgICAgICAgICAgdGhpcy5kb3dubG9hZEVycm9yID0gdHJ1ZVxuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgICAgdGhpcy51cmxDaGFuZ2UuZW1pdCh0aGlzLnVybElucHV0VmFsdWUpXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuZG93bmxvYWRFcnJvciA9IHRydWVcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVNlY29uZGFyeVRleHRDbGljaygpIHtcbiAgICBpZiAodGhpcy51cGxvYWRFcnJvcikge1xuICAgICAgdGhpcy5oYW5kbGVSZXRyeSgpXG4gICAgfSBlbHNlIGlmICh0aGlzLnVwbG9hZFByb2dyZXNzKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2FuY2VsKCkge1xuICAgIHRoaXMudXBsb2FkQ2FuY2VsLmVtaXQoKVxuICB9XG5cbiAgaGFuZGxlUmV0cnkoKSB7XG4gICAgc3dpdGNoICh0aGlzLmxhc3RVcGxvYWRUeXBlKSB7XG4gICAgICBjYXNlICdmaWxlJzpcbiAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQodGhpcy5sYXN0VXBsb2FkQ29udGVudCBhcyBGaWxlKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAndXJsJzpcbiAgICAgICAgdGhpcy51cmxDaGFuZ2UuZW1pdCh0aGlzLmxhc3RVcGxvYWRDb250ZW50IGFzIHN0cmluZylcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVEZWxldGUoKSB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpXG4gICAgdGhpcy5kZWxldGUuZW1pdCgpXG4gIH1cblxuICB0b2dnbGVBbHRUZXh0SW5wdXQoKSB7XG4gICAgdGhpcy5zaG93QWx0VGV4dElucHV0ID0gIXRoaXMuc2hvd0FsdFRleHRJbnB1dFxuICB9XG5cbiAgaGFuZGxlQWx0VGV4dENoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50XG4gICAgdGhpcy5hbHRUZXh0Q2hhbmdlLmVtaXQoaW5wdXQudmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGZpbHRlclR5cGVJbWFnZShmaWxlczogRmlsZVtdKSB7XG4gICAgcmV0dXJuIGZpbGVzLmZpbHRlcigoZmlsZSkgPT4ge1xuICAgICAgcmV0dXJuIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHJlc2l6ZUFuZEVtaXQoaW1hZ2VUb1Jlc2l6ZTogRmlsZSkge1xuICAgIGNvbnN0IG1heFNpemVCeXRlcyA9IG1lZ2FieXRlc1RvQnl0ZXModGhpcy5tYXhTaXplTUIpXG4gICAgZG93bmdyYWRlSW1hZ2UoaW1hZ2VUb1Jlc2l6ZSwgbWF4U2l6ZUJ5dGVzKS50aGVuKChyZXNpemVkSW1hZ2UpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVUb0VtaXQgPSBuZXcgRmlsZShbcmVzaXplZEltYWdlXSwgaW1hZ2VUb1Jlc2l6ZS5uYW1lKVxuICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZVRvRW1pdClcbiAgICB9KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicHJldmlld1VybDsgdGhlbiB3aXRoSW1hZ2U7IGVsc2Ugd2l0aG91dEltYWdlXCI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN3aXRoSW1hZ2U+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIGdyb3VwIHJlbGF0aXZlXCI+XG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXIgYm9yZGVyLTIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGdcIlxuICAgICAgICBbYWx0XT1cImFsdFRleHRcIlxuICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgIFtzcmNdPVwicHJldmlld1VybFwiXG4gICAgICAvPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICBbZXh0cmFDbGFzc109XCJcbiAgICAgICAgICAnYmctZ3JheS0yMDAgYWJzb2x1dGUgcmlnaHQtMiBib3R0b20tMiBpbnZpc2libGUgZ3JvdXAtaG92ZXI6dmlzaWJsZSdcbiAgICAgICAgXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZURlbGV0ZSgpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwic2hvd0FsdFRleHRJbnB1dFwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cInB5LTMgcHgtMiBib3JkZXItMiBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyB0ZXh0LXNtIGZvbnQtbWVkaXVtXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaW5wdXQuaW1hZ2UuYWx0VGV4dFBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdmFsdWVdPVwiYWx0VGV4dFwiXG4gICAgICAoY2hhbmdlKT1cImhhbmRsZUFsdFRleHRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtMlwiPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICBbZXh0cmFDbGFzc109XCInYmctZ3JheS0yMDAgZm9udC1ib2xkJ1wiXG4gICAgICAgIChidXR0b25DbGljayk9XCJoYW5kbGVEZWxldGUoKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbWUtMVwiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgIHt7ICdpbnB1dC5pbWFnZS5kZWxldGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhc2hvd0FsdFRleHRJbnB1dFwiXG4gICAgICAgIFtleHRyYUNsYXNzXT1cIidiZy1ncmF5LTIwMCBmb250LWJvbGQnXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUFsdFRleHRJbnB1dCgpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtZS0xXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgJ2lucHV0LmltYWdlLmRpc3BsYXlBbHRUZXh0SW5wdXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3dpdGhvdXRJbWFnZT5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgIDxsYWJlbFxuICAgICAgZ25VaUZpbGVzRHJvcFxuICAgICAgY2xhc3M9XCJibG9jayBmbGV4LTEgYm9yZGVyLTIgYm9yZGVyLWRhc2hlZCBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyBwLTYgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTQgaG92ZXI6Y3Vyc29yLXBvaW50ZXJcIlxuICAgICAgKGRyYWdGaWxlc092ZXIpPVwiaGFuZGxlRHJhZ0ZpbGVzT3ZlcigkZXZlbnQpXCJcbiAgICAgIChkcm9wRmlsZXMpPVwiaGFuZGxlRHJvcEZpbGVzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LTE0IGgtMTQgcm91bmRlZC1tZCBiZy1ncmF5LTIwMCBncmlkXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICpuZ0lmPVwiIWRyYWdGaWxlc092ZXIgJiYgIXVwbG9hZFByb2dyZXNzICYmICF1cGxvYWRFcnJvclwiXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtYmx1ZS01MDBcIlxuICAgICAgICAgID5pbWFnZTwvbWF0LWljb25cbiAgICAgICAgPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAqbmdJZj1cImRyYWdGaWxlc092ZXIgJiYgIXVwbG9hZFByb2dyZXNzICYmICF1cGxvYWRFcnJvclwiXG4gICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHBsYWNlLXNlbGYtY2VudGVyIHRleHQtYmx1ZS01MDBcIlxuICAgICAgICAgID5hZGRfYm94PC9tYXQtaWNvblxuICAgICAgICA+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1cGxvYWRQcm9ncmVzc1wiPlxuICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuICAgICAgICAgICAgY2xhc3M9XCJwbGFjZS1zZWxmLWNlbnRlclwiXG4gICAgICAgICAgICBbZGlhbWV0ZXJdPVwiNTZcIlxuICAgICAgICAgICAgW21vZGVdPVwiJ2RldGVybWluYXRlJ1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwidXBsb2FkUHJvZ3Jlc3NcIlxuICAgICAgICAgID48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gcmVsYXRpdmUgaW5saW5lLWJsb2NrIHdpZHRoLVszMHB4XSBib3R0b20tWzQwcHhdIGxlZnQtWzE1cHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB1cGxvYWRQcm9ncmVzcyB9fSVcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAqbmdJZj1cInVwbG9hZEVycm9yXCJcbiAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgcGxhY2Utc2VsZi1jZW50ZXIgdGV4dC1yb3NlLTUwMFwiXG4gICAgICAgICAgPmJyb2tlbl9pbWFnZTwvbWF0LWljb25cbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJmb250LW1lZGl1bVwiPnt7IGdldFByaW1hcnlUZXh0KCkgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDxwXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICBbY2xhc3NdPVwiXG4gICAgICAgICAgICB1cGxvYWRQcm9ncmVzcyB8fCB1cGxvYWRFcnJvclxuICAgICAgICAgICAgICA/ICdmb250LWJvbGQgdGV4dC1ibHVlLTUwMCBjdXJzb3ItcG9pbnRlcidcbiAgICAgICAgICAgICAgOiAnZm9udC1tZWRpdW0gdGV4dC1ncmF5LTUwMCdcbiAgICAgICAgICBcIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTZWNvbmRhcnlUZXh0Q2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBnZXRTZWNvbmRhcnlUZXh0KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICBjbGFzcz1cImhpZGRlblwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwic2hvd1VybElucHV0IHx8IHVwbG9hZFByb2dyZXNzIHx8IHVwbG9hZEVycm9yXCJcbiAgICAgIC8+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2ICpuZ0lmPVwiIXNob3dVcmxJbnB1dFwiIGNsYXNzPVwiZmxleC1ub25lXCI+XG4gICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgIFtleHRyYUNsYXNzXT1cIidiZy1ncmF5LTIwMCBmb250LWJvbGQnXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cImRpc3BsYXlVcmxJbnB1dCgpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtZS0xXCI+bGluazwvbWF0LWljb24+XG4gICAgICAgIHt7ICdpbnB1dC5pbWFnZS5kaXNwbGF5VXJsSW5wdXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1VybElucHV0XCIgY2xhc3M9XCJmbGV4LW5vbmUgZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImgtMlwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LTEgZmxleCByb3VuZGVkLWxnXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBweC00IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtaW4tdy1maXQgcm91bmRlZC1zLWxnIGJvcmRlci0yIGJvcmRlci1lLTAgYm9yZGVyLWdyYXktMzAwXCJcbiAgICAgICAgICAgID5saW5rPC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJweS0zIHBzLTEgYmxvY2sgdy1mdWxsIGJvcmRlci0yIGJvcmRlci1zLTAgYm9yZGVyLWUtMCBib3JkZXItZ3JheS0zMDAgdGV4dC1zbSBmb250LW1lZGl1bVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cImh0dHBzOi8vZXhlbXBsZS5jb20vaW1hZ2UuanBnXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlVXJsQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJweC0xIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtaW4tdy1maXQgcm91bmRlZC1lLWxnIGJvcmRlci0yIGJvcmRlci1zLTAgYm9yZGVyLWdyYXktMzAwIHRleHQtd2hpdGVcIlxuICAgICAgICAgICAgW2V4dHJhQ2xhc3NdPVwiXG4gICAgICAgICAgICAgIHVybElucHV0VmFsdWUgJiYgIWRvd25sb2FkRXJyb3IgPyAnYmctYmx1ZS01MDAnIDogJ2JnLWdyYXktNTAwJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhdXJsSW5wdXRWYWx1ZSB8fCBkb3dubG9hZEVycm9yXCJcbiAgICAgICAgICAgIChidXR0b25DbGljayk9XCJkb3dubG9hZFVybCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -2,10 +2,10 @@ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/material/icon";
4
4
  export class NavigationButtonComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NavigationButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NavigationButtonComponent, selector: "gn-ui-navigation-button", inputs: { label: "label", icon: "icon" }, ngImport: i0, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 rounded content-center\"\n>\n <mat-icon class=\"material-symbols-outlined align-middle w-[18px]\">{{\n icon\n }}</mat-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: ["button{color:var(--navigation-button-color, --color-background)}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NavigationButtonComponent, selector: "gn-ui-navigation-button", inputs: { label: "label", icon: "icon" }, ngImport: i0, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 rounded content-center\"\n>\n <mat-icon class=\"material-symbols-outlined align-middle w-[18px]\">{{\n icon\n }}</mat-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: ["button{color:var(--navigation-button-color, --color-background)}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NavigationButtonComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationButtonComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'gn-ui-navigation-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 rounded content-center\"\n>\n <mat-icon class=\"material-symbols-outlined align-middle w-[18px]\">{{\n icon\n }}</mat-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: ["button{color:var(--navigation-button-color, --color-background)}\n"] }]
11
11
  }], propDecorators: { label: [{
@@ -13,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
13
13
  }], icon: [{
14
14
  type: Input
15
15
  }] } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9uYXZpZ2F0aW9uLWJ1dHRvbi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFRekUsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCO2tHQUF6Qix5QkFBeUIseUdDUnRDLDRYQVdBOzsyRkRIYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1uYXZpZ2F0aW9uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nXG4gIEBJbnB1dCgpIGljb246IHN0cmluZ1xufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cImdyb3VwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIGJhY2tkcm9wLWJsdXIgcC0xIGJnLXByaW1hcnktb3BhY2l0eS0zMCByb3VuZGVkIGNvbnRlbnQtY2VudGVyXCJcbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBhbGlnbi1taWRkbGUgdy1bMThweF1cIj57e1xuICAgIGljb25cbiAgfX08L21hdC1pY29uPlxuICA8c3BhblxuICAgIGNsYXNzPVwibXgtMiBtdC0wLjUgdGV4dC1bMTZweF0gdHJhY2tpbmctd2lkZXN0IGNvbnRlbnQtY2VudGVyIG9wYWNpdHktNzVcIlxuICAgID57eyBsYWJlbC50b1VwcGVyQ2FzZSgpIH19PC9zcGFuXG4gID5cbjwvYnV0dG9uPlxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9uYXZpZ2F0aW9uLWJ1dHRvbi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFRekUsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO21HQUF6Qix5QkFBeUIseUdDUnRDLDRYQVdBOzs0RkRIYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1uYXZpZ2F0aW9uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nXG4gIEBJbnB1dCgpIGljb246IHN0cmluZ1xufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cImdyb3VwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIGJhY2tkcm9wLWJsdXIgcC0xIGJnLXByaW1hcnktb3BhY2l0eS0zMCByb3VuZGVkIGNvbnRlbnQtY2VudGVyXCJcbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBhbGlnbi1taWRkbGUgdy1bMThweF1cIj57e1xuICAgIGljb25cbiAgfX08L21hdC1pY29uPlxuICA8c3BhblxuICAgIGNsYXNzPVwibXgtMiBtdC0wLjUgdGV4dC1bMTZweF0gdHJhY2tpbmctd2lkZXN0IGNvbnRlbnQtY2VudGVyIG9wYWNpdHktNzVcIlxuICAgID57eyBsYWJlbC50b1VwcGVyQ2FzZSgpIH19PC9zcGFuXG4gID5cbjwvYnV0dG9uPlxuIl19
@@ -13,10 +13,10 @@ export class PreviousNextButtonsComponent {
13
13
  nextButtonClicked() {
14
14
  this.directionButtonClicked.next('next');
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PreviousNextButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: PreviousNextButtonsComponent, isStandalone: true, selector: "gn-ui-previous-next-buttons", inputs: { isFirst: "isFirst", isLast: "isLast" }, outputs: { directionButtonClicked: "directionButtonClicked" }, ngImport: i0, template: "<div class=\"flex flex-row gap-x-4 items-center\">\n <gn-ui-button\n data-test=\"previousButton\"\n [type]=\"isFirst ? 'default' : 'outline'\"\n [disabled]=\"isFirst\"\n (buttonClick)=\"previousButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_back\n </mat-icon>\n </gn-ui-button>\n <gn-ui-button\n data-test=\"nextButton\"\n [type]=\"isLast ? 'default' : 'outline'\"\n [disabled]=\"isLast\"\n (buttonClick)=\"nextButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_forward\n </mat-icon>\n </gn-ui-button>\n</div>\n", styles: [":host{--gn-ui-button-rounded: 100%;--gn-ui-button-width: 8px;--gn-ui-button-height: 8px;--gn-ui-button-padding: 12px}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreviousNextButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PreviousNextButtonsComponent, isStandalone: true, selector: "gn-ui-previous-next-buttons", inputs: { isFirst: "isFirst", isLast: "isLast" }, outputs: { directionButtonClicked: "directionButtonClicked" }, ngImport: i0, template: "<div class=\"flex flex-row gap-x-4 items-center\">\n <gn-ui-button\n data-test=\"previousButton\"\n [type]=\"isFirst ? 'default' : 'outline'\"\n [disabled]=\"isFirst\"\n (buttonClick)=\"previousButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_back\n </mat-icon>\n </gn-ui-button>\n <gn-ui-button\n data-test=\"nextButton\"\n [type]=\"isLast ? 'default' : 'outline'\"\n [disabled]=\"isLast\"\n (buttonClick)=\"nextButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_forward\n </mat-icon>\n </gn-ui-button>\n</div>\n", styles: [":host{--gn-ui-button-rounded: 100%;--gn-ui-button-width: 8px;--gn-ui-button-height: 8px;--gn-ui-button-padding: 12px}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PreviousNextButtonsComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreviousNextButtonsComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ selector: 'gn-ui-previous-next-buttons', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonComponent, MatIconModule], template: "<div class=\"flex flex-row gap-x-4 items-center\">\n <gn-ui-button\n data-test=\"previousButton\"\n [type]=\"isFirst ? 'default' : 'outline'\"\n [disabled]=\"isFirst\"\n (buttonClick)=\"previousButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_back\n </mat-icon>\n </gn-ui-button>\n <gn-ui-button\n data-test=\"nextButton\"\n [type]=\"isLast ? 'default' : 'outline'\"\n [disabled]=\"isLast\"\n (buttonClick)=\"nextButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_forward\n </mat-icon>\n </gn-ui-button>\n</div>\n", styles: [":host{--gn-ui-button-rounded: 100%;--gn-ui-button-width: 8px;--gn-ui-button-height: 8px;--gn-ui-button-padding: 12px}\n"] }]
22
22
  }], propDecorators: { isFirst: [{
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
26
26
  }], directionButtonClicked: [{
27
27
  type: Output
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvcHJldmlvdXMtbmV4dC1idXR0b25zL3ByZXZpb3VzLW5leHQtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3ByZXZpb3VzLW5leHQtYnV0dG9ucy9wcmV2aW91cy1uZXh0LWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7O0FBVXRELE1BQU0sT0FBTyw0QkFBNEI7SUFSekM7UUFZWSwyQkFBc0IsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtLQVM1RTtJQVBDLHFCQUFxQjtRQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFDLENBQUM7OEdBWlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsd01DbEJ6Qyw2c0JBMEJBLGlMRFZZLGVBQWUsOEhBQUUsYUFBYTs7MkZBRTdCLDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQzs4QkFHaEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1wcmV2aW91cy1uZXh0LWJ1dHRvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCdXR0b25Db21wb25lbnQsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aW91c05leHRCdXR0b25zQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXNGaXJzdDogYm9vbGVhblxuICBASW5wdXQoKSBpc0xhc3Q6IGJvb2xlYW5cblxuICBAT3V0cHV0KCkgZGlyZWN0aW9uQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBwcmV2aW91c0J1dHRvbkNsaWNrZWQoKSB7XG4gICAgdGhpcy5kaXJlY3Rpb25CdXR0b25DbGlja2VkLm5leHQoJ3ByZXZpb3VzJylcbiAgfVxuXG4gIG5leHRCdXR0b25DbGlja2VkKCkge1xuICAgIHRoaXMuZGlyZWN0aW9uQnV0dG9uQ2xpY2tlZC5uZXh0KCduZXh0JylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLXgtNCBpdGVtcy1jZW50ZXJcIj5cbiAgPGduLXVpLWJ1dHRvblxuICAgIGRhdGEtdGVzdD1cInByZXZpb3VzQnV0dG9uXCJcbiAgICBbdHlwZV09XCJpc0ZpcnN0ID8gJ2RlZmF1bHQnIDogJ291dGxpbmUnXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFwiXG4gICAgKGJ1dHRvbkNsaWNrKT1cInByZXZpb3VzQnV0dG9uQ2xpY2tlZCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtWzE0cHhdIHRleHQtY2VudGVyIHB0LVs1cHhdXCJcbiAgICA+XG4gICAgICBhcnJvd19iYWNrXG4gICAgPC9tYXQtaWNvbj5cbiAgPC9nbi11aS1idXR0b24+XG4gIDxnbi11aS1idXR0b25cbiAgICBkYXRhLXRlc3Q9XCJuZXh0QnV0dG9uXCJcbiAgICBbdHlwZV09XCJpc0xhc3QgPyAnZGVmYXVsdCcgOiAnb3V0bGluZSdcIlxuICAgIFtkaXNhYmxlZF09XCJpc0xhc3RcIlxuICAgIChidXR0b25DbGljayk9XCJuZXh0QnV0dG9uQ2xpY2tlZCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtWzE0cHhdIHRleHQtY2VudGVyIHB0LVs1cHhdXCJcbiAgICA+XG4gICAgICBhcnJvd19mb3J3YXJkXG4gICAgPC9tYXQtaWNvbj5cbiAgPC9nbi11aS1idXR0b24+XG48L2Rpdj5cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvcHJldmlvdXMtbmV4dC1idXR0b25zL3ByZXZpb3VzLW5leHQtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3ByZXZpb3VzLW5leHQtYnV0dG9ucy9wcmV2aW91cy1uZXh0LWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7O0FBVXRELE1BQU0sT0FBTyw0QkFBNEI7SUFSekM7UUFZWSwyQkFBc0IsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtLQVM1RTtJQVBDLHFCQUFxQjtRQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFDLENBQUM7K0dBWlUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsd01DbEJ6Qyw2c0JBMEJBLGlMRFZZLGVBQWUsOEhBQUUsYUFBYTs7NEZBRTdCLDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQzs4QkFHaEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1wcmV2aW91cy1uZXh0LWJ1dHRvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCdXR0b25Db21wb25lbnQsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aW91c05leHRCdXR0b25zQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXNGaXJzdDogYm9vbGVhblxuICBASW5wdXQoKSBpc0xhc3Q6IGJvb2xlYW5cblxuICBAT3V0cHV0KCkgZGlyZWN0aW9uQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBwcmV2aW91c0J1dHRvbkNsaWNrZWQoKSB7XG4gICAgdGhpcy5kaXJlY3Rpb25CdXR0b25DbGlja2VkLm5leHQoJ3ByZXZpb3VzJylcbiAgfVxuXG4gIG5leHRCdXR0b25DbGlja2VkKCkge1xuICAgIHRoaXMuZGlyZWN0aW9uQnV0dG9uQ2xpY2tlZC5uZXh0KCduZXh0JylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLXgtNCBpdGVtcy1jZW50ZXJcIj5cbiAgPGduLXVpLWJ1dHRvblxuICAgIGRhdGEtdGVzdD1cInByZXZpb3VzQnV0dG9uXCJcbiAgICBbdHlwZV09XCJpc0ZpcnN0ID8gJ2RlZmF1bHQnIDogJ291dGxpbmUnXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFwiXG4gICAgKGJ1dHRvbkNsaWNrKT1cInByZXZpb3VzQnV0dG9uQ2xpY2tlZCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtWzE0cHhdIHRleHQtY2VudGVyIHB0LVs1cHhdXCJcbiAgICA+XG4gICAgICBhcnJvd19iYWNrXG4gICAgPC9tYXQtaWNvbj5cbiAgPC9nbi11aS1idXR0b24+XG4gIDxnbi11aS1idXR0b25cbiAgICBkYXRhLXRlc3Q9XCJuZXh0QnV0dG9uXCJcbiAgICBbdHlwZV09XCJpc0xhc3QgPyAnZGVmYXVsdCcgOiAnb3V0bGluZSdcIlxuICAgIFtkaXNhYmxlZF09XCJpc0xhc3RcIlxuICAgIChidXR0b25DbGljayk9XCJuZXh0QnV0dG9uQ2xpY2tlZCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtWzE0cHhdIHRleHQtY2VudGVyIHB0LVs1cHhdXCJcbiAgICA+XG4gICAgICBhcnJvd19mb3J3YXJkXG4gICAgPC9tYXQtaWNvbj5cbiAgPC9nbi11aS1idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -18,10 +18,10 @@ export class SearchInputComponent {
18
18
  this.value = null;
19
19
  this.rawChange.next(null);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SearchInputComponent, selector: "gn-ui-search-input", inputs: { value: "value", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle\">close</mat-icon>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SearchInputComponent, selector: "gn-ui-search-input", inputs: { value: "value", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle\">close</mat-icon>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SearchInputComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchInputComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'gn-ui-search-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle\">close</mat-icon>\n </button>\n</div>\n" }]
27
27
  }], propDecorators: { value: [{
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
31
31
  }], valueChange: [{
32
32
  type: Output
33
33
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFBOzs7O0FBT3BELE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVyxVQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ1YsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDekIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUE7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7S0FXcEU7SUFUQyxZQUFZLENBQUMsTUFBTTtRQUNqQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzNCLENBQUM7OEdBZFUsb0JBQW9CO2tHQUFwQixvQkFBb0IsMkpDYmpDLGcrQkF5QkE7OzJGRFphLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZSA9ICcnXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJydcbiAgcmF3Q2hhbmdlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IHRoaXMucmF3Q2hhbmdlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcblxuICBoYW5kbGVDaGFuZ2UoJGV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgdGhpcy5yYXdDaGFuZ2UubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMudmFsdWUgPSBudWxsXG4gICAgdGhpcy5yYXdDaGFuZ2UubmV4dChudWxsKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHJlbGF0aXZlIHRleHQtZ3JheS0zMDBcIj5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgY2xhc3M9XCJwZWVyIGgtZnVsbCBhcHBlYXJhbmNlLW5vbmUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkIHctZnVsbCBwLTIgcGwtMTAgdGV4dC1ncmF5LTcwMCBsZWFkaW5nLXRpZ2h0IGhvdmVyOmJvcmRlci1wcmltYXJ5IGZvY3VzOnRleHQtcHJpbWFyeSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6Ym9yZGVyLXByaW1hcnkgZm9jdXM6Ym9yZGVyLTJcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgLz5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteS0wIGxlZnQtMCBwbC0yLjUgZmxleCBpdGVtcy1jZW50ZXIgcGVlci1ob3Zlcjp0ZXh0LXByaW1hcnkgcGVlci1mb2N1czp0ZXh0LXByaW1hcnlcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnNlYXJjaDwvbWF0LWljb24+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJyYXdDaGFuZ2UgfCBhc3luY1wiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnktbGlnaHRlc3QgaG92ZXI6dGV4dC1wcmltYXJ5IGFic29sdXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMCBpbnNldC15LTAgcmlnaHQtMCBwci0yLjVcIlxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBhbGlnbi1taWRkbGVcIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFBOzs7O0FBT3BELE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVyxVQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ1YsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDekIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUE7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7S0FXcEU7SUFUQyxZQUFZLENBQUMsTUFBTTtRQUNqQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzNCLENBQUM7K0dBZFUsb0JBQW9CO21HQUFwQixvQkFBb0IsMkpDYmpDLGcrQkF5QkE7OzRGRFphLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZSA9ICcnXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJydcbiAgcmF3Q2hhbmdlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IHRoaXMucmF3Q2hhbmdlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcblxuICBoYW5kbGVDaGFuZ2UoJGV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgdGhpcy5yYXdDaGFuZ2UubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMudmFsdWUgPSBudWxsXG4gICAgdGhpcy5yYXdDaGFuZ2UubmV4dChudWxsKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHJlbGF0aXZlIHRleHQtZ3JheS0zMDBcIj5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgY2xhc3M9XCJwZWVyIGgtZnVsbCBhcHBlYXJhbmNlLW5vbmUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkIHctZnVsbCBwLTIgcGwtMTAgdGV4dC1ncmF5LTcwMCBsZWFkaW5nLXRpZ2h0IGhvdmVyOmJvcmRlci1wcmltYXJ5IGZvY3VzOnRleHQtcHJpbWFyeSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6Ym9yZGVyLXByaW1hcnkgZm9jdXM6Ym9yZGVyLTJcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgLz5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteS0wIGxlZnQtMCBwbC0yLjUgZmxleCBpdGVtcy1jZW50ZXIgcGVlci1ob3Zlcjp0ZXh0LXByaW1hcnkgcGVlci1mb2N1czp0ZXh0LXByaW1hcnlcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnNlYXJjaDwvbWF0LWljb24+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJyYXdDaGFuZ2UgfCBhc3luY1wiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnktbGlnaHRlc3QgaG92ZXI6dGV4dC1wcmltYXJ5IGFic29sdXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMCBpbnNldC15LTAgcmlnaHQtMCBwci0yLjVcIlxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBhbGlnbi1taWRkbGVcIj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=