geonetwork-ui 2.7.0-dev.21bdf506c → 2.7.0-dev.228db3e1a

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 (215) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +4 -7
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +20 -20
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +3 -3
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +3 -3
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +3 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +4 -1
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +8 -4
  9. package/esm2022/libs/api/repository/src/index.mjs +2 -2
  10. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +5 -5
  11. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +4 -6
  12. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +55 -12
  13. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +3 -3
  14. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +3 -3
  15. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -3
  16. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +20 -6
  17. package/esm2022/libs/api/repository/src/lib/metadata-language.token.mjs +3 -0
  18. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +15 -1
  19. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +3 -3
  20. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -2
  21. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  22. package/esm2022/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.mjs +80 -0
  23. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +3 -3
  24. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.mjs +79 -0
  25. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +8 -3
  26. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
  27. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +77 -3
  28. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +3 -5
  29. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +4 -2
  30. package/esm2022/libs/feature/router/src/lib/default/state/query-params.utils.mjs +4 -3
  31. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +3 -2
  32. package/esm2022/libs/feature/search/src/lib/state/reducer.mjs +5 -2
  33. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  34. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +5 -4
  35. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +5 -4
  36. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +4 -4
  37. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +21 -46
  38. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +7 -7
  39. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +1 -6
  40. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +5 -4
  41. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +3 -1
  42. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -2
  43. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  44. package/esm2022/libs/util/app-config/src/lib/parse-utils.mjs +5 -4
  45. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +50 -9
  46. package/esm2022/libs/util/shared/src/index.mjs +2 -2
  47. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +4 -2
  48. package/esm2022/libs/util/shared/src/lib/record/index.mjs +3 -0
  49. package/esm2022/libs/util/shared/src/lib/record/quality-score.util.mjs +46 -0
  50. package/esm2022/libs/util/shared/src/lib/record/record.util.mjs +56 -0
  51. package/esm2022/libs/util/shared/src/lib/utils/geojson.mjs +58 -1
  52. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  53. package/esm2022/libs/util/shared/src/lib/utils/mobile-screen.mjs +9 -0
  54. package/esm2022/translations/de.json +59 -20
  55. package/esm2022/translations/en.json +60 -21
  56. package/esm2022/translations/es.json +46 -7
  57. package/esm2022/translations/fr.json +65 -26
  58. package/esm2022/translations/it.json +59 -20
  59. package/esm2022/translations/nl.json +46 -7
  60. package/esm2022/translations/pt.json +46 -7
  61. package/esm2022/translations/sk.json +50 -11
  62. package/fesm2022/geonetwork-ui.mjs +3216 -2921
  63. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  64. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -1
  65. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +1 -1
  66. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  67. package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -1
  68. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  69. package/libs/api/repository/src/index.d.ts +1 -1
  70. package/libs/api/repository/src/index.d.ts.map +1 -1
  71. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  72. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -2
  73. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  74. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -0
  75. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  76. package/libs/api/repository/src/lib/metadata-language.token.d.ts +5 -0
  77. package/libs/api/repository/src/lib/metadata-language.token.d.ts.map +1 -0
  78. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +4 -0
  79. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  80. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
  81. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  82. package/libs/feature/editor/src/index.d.ts +1 -0
  83. package/libs/feature/editor/src/index.d.ts.map +1 -1
  84. package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts +19 -0
  85. package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts.map +1 -0
  86. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts +28 -0
  87. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts.map +1 -0
  88. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -0
  89. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  90. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
  91. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  92. package/libs/feature/editor/src/lib/fields.config.d.ts +8 -1
  93. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  94. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +2 -2
  95. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  96. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  97. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts.map +1 -1
  98. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  99. package/libs/feature/search/src/lib/state/reducer.d.ts.map +1 -1
  100. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -0
  101. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  102. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +1 -0
  103. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -1
  104. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
  105. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +7 -7
  106. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  107. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -1
  108. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +1 -0
  109. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -1
  110. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  111. package/libs/util/app-config/src/lib/model.d.ts +1 -0
  112. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  113. package/libs/util/app-config/src/lib/parse-utils.d.ts.map +1 -1
  114. package/libs/util/i18n/src/lib/language-codes.d.ts +91 -31
  115. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  116. package/libs/util/shared/src/index.d.ts +1 -1
  117. package/libs/util/shared/src/index.d.ts.map +1 -1
  118. package/libs/util/shared/src/lib/links/link-utils.d.ts +1 -1
  119. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  120. package/libs/util/shared/src/lib/record/index.d.ts +3 -0
  121. package/libs/util/shared/src/lib/record/index.d.ts.map +1 -0
  122. package/libs/util/shared/src/lib/record/quality-score.util.d.ts +13 -0
  123. package/libs/util/shared/src/lib/record/quality-score.util.d.ts.map +1 -0
  124. package/libs/util/shared/src/lib/record/record.util.d.ts +3 -0
  125. package/libs/util/shared/src/lib/record/record.util.d.ts.map +1 -0
  126. package/libs/util/shared/src/lib/utils/geojson.d.ts +7 -2
  127. package/libs/util/shared/src/lib/utils/geojson.d.ts.map +1 -1
  128. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  129. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  130. package/libs/util/shared/src/lib/utils/mobile-screen.d.ts +2 -0
  131. package/libs/util/shared/src/lib/utils/mobile-screen.d.ts.map +1 -0
  132. package/package.json +11 -10
  133. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +3 -6
  134. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +3 -0
  135. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +47 -22
  136. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +2 -2
  137. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +2 -2
  138. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
  139. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +3 -3
  140. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.ts +3 -0
  141. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +7 -3
  142. package/src/libs/api/repository/src/index.ts +1 -1
  143. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +4 -4
  144. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +3 -5
  145. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +65 -14
  146. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
  147. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +2 -2
  148. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +2 -2
  149. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +21 -8
  150. package/src/libs/api/repository/src/lib/metadata-language.token.ts +8 -0
  151. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +20 -0
  152. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +0 -3
  153. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +2 -5
  154. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +3 -1
  155. package/src/libs/feature/editor/src/index.ts +1 -0
  156. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.css +0 -0
  157. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.html +37 -0
  158. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.ts +90 -0
  159. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +2 -1
  160. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.css +0 -0
  161. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.html +20 -0
  162. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.ts +85 -0
  163. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -0
  164. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +5 -0
  165. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
  166. package/src/libs/feature/editor/src/lib/fields.config.ts +85 -3
  167. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -8
  168. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +3 -1
  169. package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +5 -2
  170. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +2 -1
  171. package/src/libs/feature/search/src/lib/state/reducer.ts +4 -1
  172. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -1
  173. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +12 -11
  174. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -1
  175. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +4 -1
  176. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +7 -1
  177. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +1 -0
  178. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +5 -1
  179. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +1 -0
  180. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +21 -58
  181. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +6 -6
  182. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +0 -6
  183. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +7 -1
  184. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +3 -1
  185. package/src/libs/util/app-config/src/lib/app-config.ts +2 -0
  186. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -1
  187. package/src/libs/util/app-config/src/lib/model.ts +1 -0
  188. package/src/libs/util/app-config/src/lib/parse-utils.ts +4 -7
  189. package/src/libs/util/i18n/src/lib/language-codes.ts +62 -11
  190. package/src/libs/util/shared/src/index.ts +1 -1
  191. package/src/libs/util/shared/src/lib/links/link-utils.ts +2 -1
  192. package/src/libs/util/shared/src/lib/record/index.ts +2 -0
  193. package/src/libs/util/shared/src/lib/record/quality-score.util.ts +72 -0
  194. package/src/libs/util/shared/src/lib/{record.util.ts → record/record.util.ts} +1 -1
  195. package/src/libs/util/shared/src/lib/utils/geojson.ts +72 -2
  196. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  197. package/src/libs/util/shared/src/lib/utils/mobile-screen.ts +14 -0
  198. package/translations/de.json +59 -20
  199. package/translations/en.json +60 -21
  200. package/translations/es.json +46 -7
  201. package/translations/fr.json +65 -26
  202. package/translations/it.json +59 -20
  203. package/translations/nl.json +46 -7
  204. package/translations/pt.json +46 -7
  205. package/translations/sk.json +50 -11
  206. package/esm2022/libs/api/repository/src/lib/metadata-language.mjs +0 -3
  207. package/esm2022/libs/util/app-config/src/lib/constants.mjs +0 -439
  208. package/esm2022/libs/util/shared/src/lib/record.util.mjs +0 -56
  209. package/libs/api/repository/src/lib/metadata-language.d.ts +0 -3
  210. package/libs/api/repository/src/lib/metadata-language.d.ts.map +0 -1
  211. package/libs/util/app-config/src/lib/constants.d.ts +0 -2
  212. package/libs/util/app-config/src/lib/constants.d.ts.map +0 -1
  213. package/libs/util/shared/src/lib/record.util.d.ts +0 -3
  214. package/libs/util/shared/src/lib/record.util.d.ts.map +0 -1
  215. package/src/libs/api/repository/src/lib/metadata-language.ts +0 -3
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
2
2
  import { TranslateDirective, TranslateService } from '@ngx-translate/core';
3
3
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
4
- import { getBadgeColor, getFileFormat } from '../../../../../../libs/util/shared/src';
4
+ import { getBadgeColor, getFileFormat, getIsMobile, } from '../../../../../../libs/util/shared/src';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { ButtonComponent } from '../../../../../../libs/ui/inputs/src';
7
7
  import { DownloadItemComponent } from '../download-item/download-item.component';
@@ -16,6 +16,7 @@ export class DownloadsListComponent {
16
16
  constructor(translateService, changeDetector) {
17
17
  this.translateService = translateService;
18
18
  this.changeDetector = changeDetector;
19
+ this.isMobile$ = getIsMobile();
19
20
  this.activeFilterFormats = ['all'];
20
21
  }
21
22
  get linksCount() {
@@ -103,7 +104,7 @@ export class DownloadsListComponent {
103
104
  link.accessServiceProtocol === 'ogcFeatures'));
104
105
  }
105
106
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadsListComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DownloadsListComponent, isStandalone: true, selector: "gn-ui-downloads-list", inputs: { links: "links" }, ngImport: i0, template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div class=\"flex flex-row items-center gap-x-4\">\n <div>\n <h3\n class=\"inline-block font-title text-xl text-title font-medium mr-4\"\n translate\n >\n record.metadata.download\n </h3>\n <span class=\"px-3\">({{ linksCount }})</span>\n </div>\n <gn-ui-previous-next-buttons\n class=\"md:block hidden\"\n *ngIf=\"_list?.pagesCount > 1\"\n [listComponent]=\"_list\"\n ></gn-ui-previous-next-buttons>\n </div>\n\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n\n<ng-container>\n <gn-ui-block-list\n class=\"md:block hidden\"\n #blockList\n (listChanges)=\"updateList($event)\"\n containerClass=\"gap-4 pt-5 pb-7\"\n >\n <gn-ui-download-item\n #block\n *ngFor=\"let link of filteredLinks\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n [size]=\"blockList.subComponentSize\"\n ></gn-ui-download-item>\n </gn-ui-block-list>\n</ng-container>\n\n<div class=\"mb-5 md:hidden block\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n size=\"M\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: "component", type: BlockListComponent, selector: "gn-ui-block-list", inputs: ["containerClass", "paginationContainerClass"], outputs: ["listChanges"] }, { kind: "component", type: DownloadItemComponent, selector: "gn-ui-download-item", inputs: ["link", "color", "format", "isFromApi", "size"], outputs: ["exportUrl"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: PreviousNextButtonsComponent, selector: "gn-ui-previous-next-buttons", inputs: ["listComponent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DownloadsListComponent, isStandalone: true, selector: "gn-ui-downloads-list", inputs: { links: "links" }, ngImport: i0, template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div class=\"flex flex-row items-center gap-x-4\">\n <div>\n <h3\n class=\"inline-block font-title text-xl text-title font-medium mr-4\"\n translate\n >\n record.metadata.download\n </h3>\n <span class=\"px-3\">({{ linksCount }})</span>\n </div>\n <gn-ui-previous-next-buttons\n *ngIf=\"(isMobile$ | async) === false && _list?.pagesCount > 1\"\n [listComponent]=\"_list\"\n ></gn-ui-previous-next-buttons>\n </div>\n\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n\n<ng-container>\n <gn-ui-block-list\n *ngIf=\"(isMobile$ | async) === false\"\n #blockList\n (listChanges)=\"updateList($event)\"\n containerClass=\"gap-4 pt-5 pb-7\"\n >\n <gn-ui-download-item\n #block\n *ngFor=\"let link of filteredLinks\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n [size]=\"blockList.subComponentSize\"\n ></gn-ui-download-item>\n </gn-ui-block-list>\n</ng-container>\n\n<div class=\"mb-5\" *ngFor=\"let link of filteredLinks\">\n <ng-container *ngIf=\"(isMobile$ | async) === true\">\n <gn-ui-download-item\n size=\"M\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: BlockListComponent, selector: "gn-ui-block-list", inputs: ["containerClass", "paginationContainerClass"], outputs: ["listChanges"] }, { kind: "component", type: DownloadItemComponent, selector: "gn-ui-download-item", inputs: ["link", "color", "format", "isFromApi", "size"], outputs: ["exportUrl"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: PreviousNextButtonsComponent, selector: "gn-ui-previous-next-buttons", inputs: ["listComponent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
108
  }
108
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadsListComponent, decorators: [{
109
110
  type: Component,
@@ -114,8 +115,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
114
115
  DownloadItemComponent,
115
116
  TranslateDirective,
116
117
  PreviousNextButtonsComponent,
117
- ], template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div class=\"flex flex-row items-center gap-x-4\">\n <div>\n <h3\n class=\"inline-block font-title text-xl text-title font-medium mr-4\"\n translate\n >\n record.metadata.download\n </h3>\n <span class=\"px-3\">({{ linksCount }})</span>\n </div>\n <gn-ui-previous-next-buttons\n class=\"md:block hidden\"\n *ngIf=\"_list?.pagesCount > 1\"\n [listComponent]=\"_list\"\n ></gn-ui-previous-next-buttons>\n </div>\n\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n\n<ng-container>\n <gn-ui-block-list\n class=\"md:block hidden\"\n #blockList\n (listChanges)=\"updateList($event)\"\n containerClass=\"gap-4 pt-5 pb-7\"\n >\n <gn-ui-download-item\n #block\n *ngFor=\"let link of filteredLinks\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n [size]=\"blockList.subComponentSize\"\n ></gn-ui-download-item>\n </gn-ui-block-list>\n</ng-container>\n\n<div class=\"mb-5 md:hidden block\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n size=\"M\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n</div>\n" }]
118
+ ], template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div class=\"flex flex-row items-center gap-x-4\">\n <div>\n <h3\n class=\"inline-block font-title text-xl text-title font-medium mr-4\"\n translate\n >\n record.metadata.download\n </h3>\n <span class=\"px-3\">({{ linksCount }})</span>\n </div>\n <gn-ui-previous-next-buttons\n *ngIf=\"(isMobile$ | async) === false && _list?.pagesCount > 1\"\n [listComponent]=\"_list\"\n ></gn-ui-previous-next-buttons>\n </div>\n\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n\n<ng-container>\n <gn-ui-block-list\n *ngIf=\"(isMobile$ | async) === false\"\n #blockList\n (listChanges)=\"updateList($event)\"\n containerClass=\"gap-4 pt-5 pb-7\"\n >\n <gn-ui-download-item\n #block\n *ngFor=\"let link of filteredLinks\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n [size]=\"blockList.subComponentSize\"\n ></gn-ui-download-item>\n </gn-ui-block-list>\n</ng-container>\n\n<div class=\"mb-5\" *ngFor=\"let link of filteredLinks\">\n <ng-container *ngIf=\"(isMobile$ | async) === true\">\n <gn-ui-download-item\n size=\"M\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n </ng-container>\n</div>\n" }]
118
119
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }], propDecorators: { links: [{
119
120
  type: Input
120
121
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2Rvd25sb2Fkcy1saXN0L2Rvd25sb2Fkcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9kb3dubG9hZHMtbGlzdC9kb3dubG9hZHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBRXJGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDaEYsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiw0QkFBNEIsR0FDN0IsTUFBTSxzQ0FBc0MsQ0FBQTs7OztBQUU3QyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtBQUNuQyxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQTtBQUV0QyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFVLENBQUE7QUFrQmhGLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMs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RGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlRGlyZWN0aXZlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IGdldEJhZGdlQ29sb3IsIGdldEZpbGVGb3JtYXQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IERvd25sb2FkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Rvd25sb2FkLWl0ZW0vZG93bmxvYWQtaXRlbS5jb21wb25lbnQnXG5pbXBvcnQge1xuICBCbG9ja0xpc3RDb21wb25lbnQsXG4gIFByZXZpb3VzTmV4dEJ1dHRvbnNDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcblxubWFya2VyKCdkYXRhaHViLnNlYXJjaC5maWx0ZXIuYWxsJylcbm1hcmtlcignZGF0YWh1Yi5zZWFyY2guZmlsdGVyLm90aGVycycpXG5cbmNvbnN0IEZJTFRFUl9GT1JNQVRTID0gWydhbGwnLCAnY3N2JywgJ2V4Y2VsJywgJ2pzb24nLCAnc2hwJywgJ290aGVycyddIGFzIGNvbnN0XG50eXBlIEZpbHRlckZvcm1hdCA9ICh0eXBlb2YgRklMVEVSX0ZPUk1BVFMpW251bWJlcl1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZG93bmxvYWRzLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG93bmxvYWRzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3dubG9hZHMtbGlzdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBCbG9ja0xpc3RDb21wb25lbnQsXG4gICAgRG93bmxvYWRJdGVtQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgICBQcmV2aW91c05leHRCdXR0b25zQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb3dubG9hZHNMaXN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBfbGlzdDogQmxvY2tMaXN0Q29tcG9uZW50XG4gIEBJbnB1dCgpIGxpbmtzOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25bXVxuXG4gIGdldCBsaW5rc0NvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRMaW5rcz8ubGVuZ3RoIHx8IDBcbiAgfVxuXG4gIGFjdGl2ZUZpbHRlckZvcm1hdHM6IEZpbHRlckZvcm1hdFtdID0gWydhbGwnXVxuXG4gIHVwZGF0ZUxpc3QoJGV2ZW50OiBCbG9ja0xpc3RDb21wb25lbnQpIHtcbiAgICB0aGlzLl9saXN0ID0gJGV2ZW50XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRHVwbGljYXRlRm9ybWF0cyhcbiAgICBsaW5rczogRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uW11cbiAgKTogRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uW10ge1xuICAgIGNvbnN0IHByZWZlcnJlZExpbmtzID0gbmV3IE1hcDxzdHJpbmcsIERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbj4oKVxuXG4gICAgbGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0ID0gZ2V0RmlsZUZvcm1hdChsaW5rKVxuICAgICAgY29uc3Qgd2l0aG91dE5hbWVTcGFjZSA9IChsaW5rLm5hbWUgfHwgbGluay5kZXNjcmlwdGlvbiB8fCAnJykucmVwbGFjZShcbiAgICAgICAgL14uKj86LyxcbiAgICAgICAgJydcbiAgICAgIClcbiAgICAgIGNvbnN0IHVuaXF1ZUtleSA9IGAke2Zvcm1hdH0tJHt3aXRob3V0TmFtZVNwYWNlfWBcbiAgICAgIGlmICghcHJlZmVycmVkTGlua3MuaGFzKHVuaXF1ZUtleSkpIHtcbiAgICAgICAgcHJlZmVycmVkTGlua3Muc2V0KHVuaXF1ZUtleSwgbGluaylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nTGluayA9IHByZWZlcnJlZExpbmtzLmdldCh1bmlxdWVLZXkpXG4gICAgICAgIGlmIChcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ29nY0ZlYXR1cmVzJyAmJlxuICAgICAgICAgIGV4aXN0aW5nTGluaz8uYWNjZXNzU2VydmljZVByb3RvY29sICE9PSAnb2djRmVhdHVyZXMnXG4gICAgICAgICkge1xuICAgICAgICAgIHByZWZlcnJlZExpbmtzLnNldCh1bmlxdWVLZXksIGxpbmspXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIEFycmF5LmZyb20ocHJlZmVycmVkTGlua3MudmFsdWVzKCkpXG4gIH1cblxuICBnZXQgZmlsdGVyZWRMaW5rcygpOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyZWRCeUZvcm1hdCA9IHRoaXMubGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJGb3JtYXRzLnNvbWUoKGZvcm1hdCkgPT5cbiAgICAgICAgdGhpcy5pc0xpbmtPZkZvcm1hdChsaW5rLCBmb3JtYXQpXG4gICAgICApXG4gICAgKVxuICAgIHJldHVybiB0aGlzLnJlbW92ZUR1cGxpY2F0ZUZvcm1hdHMoZmlsdGVyZWRCeUZvcm1hdClcbiAgfVxuXG4gIGdldCB2aXNpYmxlRm9ybWF0cygpOiBGaWx0ZXJGb3JtYXRbXSB7XG4gICAgcmV0dXJuIEZJTFRFUl9GT1JNQVRTLmZpbHRlcigoZm9ybWF0KSA9PlxuICAgICAgdGhpcy5saW5rcy5zb21lKChsaW5rKSA9PiB0aGlzLmlzTGlua09mRm9ybWF0KGxpbmssIGZvcm1hdCkpXG4gICAgKVxuICB9XG5cbiAgdG9nZ2xlRmlsdGVyRm9ybWF0KGZvcm1hdDogRmlsdGVyRm9ybWF0KTogdm9pZCB7XG4gICAgaWYgKGZvcm1hdCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyRm9ybWF0cyA9IFsnYWxsJ11cbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAodGhpcy5pc0ZpbHRlckFjdGl2ZShmb3JtYXQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMgPSB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMuZmlsdGVyKFxuICAgICAgICAoZjogc3RyaW5nKSA9PiBmb3JtYXQgIT09IGZcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJGb3JtYXRzID0gW1xuICAgICAgICAuLi50aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMuZmlsdGVyKChmKSA9PiBmICE9PSAnYWxsJyksXG4gICAgICAgIGZvcm1hdCxcbiAgICAgIF1cbiAgICB9XG4gICAgaWYgKHRoaXMuYWN0aXZlRmlsdGVyRm9ybWF0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyRm9ybWF0cyA9IFsnYWxsJ11cbiAgICB9XG4gIH1cblxuICBpc0ZpbHRlckFjdGl2ZShmaWx0ZXI6IEZpbHRlckZvcm1hdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMuaW5jbHVkZXMoZmlsdGVyKVxuICB9XG5cbiAgZ2V0RmlsdGVyRm9ybWF0VGl0bGUoZm9ybWF0OiBGaWx0ZXJGb3JtYXQpIHtcbiAgICBpZiAoZm9ybWF0ID09PSAnYWxsJyB8fCBmb3JtYXQgPT09ICdvdGhlcnMnKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRhdGFodWIuc2VhcmNoLmZpbHRlci4ke2Zvcm1hdH1gKVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0XG4gIH1cblxuICBpc0xpbmtPZkZvcm1hdChcbiAgICBsaW5rOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24sXG4gICAgZm9ybWF0OiBGaWx0ZXJGb3JtYXRcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKGZvcm1hdCA9PT0gJ2FsbCcpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChnZXRGaWxlRm9ybWF0KGxpbmspID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gZm9ybWF0ID09PSAnb3RoZXJzJ1xuICAgIH1cbiAgICBpZiAoZm9ybWF0ID09PSAnb3RoZXJzJykge1xuICAgICAgY29uc3Qga25vd25Gb3JtYXRzID0gRklMVEVSX0ZPUk1BVFMuZmlsdGVyKFxuICAgICAgICAoZm9ybWF0KSA9PiBmb3JtYXQgIT09ICdhbGwnICYmIGZvcm1hdCAhPT0gJ290aGVycydcbiAgICAgIClcbiAgICAgIHJldHVybiBrbm93bkZvcm1hdHMuZXZlcnkoXG4gICAgICAgIChrbm93bkZvcm1hdCkgPT4gIWdldEZpbGVGb3JtYXQobGluaykuaW5jbHVkZXMoa25vd25Gb3JtYXQpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBnZXRGaWxlRm9ybWF0KGxpbmspLmluY2x1ZGVzKGZvcm1hdClcbiAgfVxuXG4gIGdldExpbmtGb3JtYXQobGluazogRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uKSB7XG4gICAgcmV0dXJuIGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuXG4gIGdldExpbmtDb2xvcihsaW5rOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24pIHtcbiAgICByZXR1cm4gZ2V0QmFkZ2VDb2xvcihnZXRGaWxlRm9ybWF0KGxpbmspKVxuICB9XG5cbiAgaXNGcm9tQXBpKGxpbms6IERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbikge1xuICAgIHJldHVybiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdkb3dubG9hZCcgJiZcbiAgICAgIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycgfHxcbiAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdvZ2NGZWF0dXJlcycpXG4gICAgKVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBwYi00XCJcbiAgKm5nSWY9XCJsaW5rcyAmJiBsaW5rcy5sZW5ndGggPiAwXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC14LTRcIj5cbiAgICA8ZGl2PlxuICAgICAgPGgzXG4gICAgICAgIGNsYXNzPVwiaW5saW5lLWJsb2NrIGZvbnQtdGl0bGUgdGV4dC14bCB0ZXh0LXRpdGxlIGZvbnQtbWVkaXVtIG1yLTRcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgID5cbiAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmRvd25sb2FkXG4gICAgICA8L2gzPlxuICAgICAgPHNwYW4gY2xhc3M9XCJweC0zXCI+KHt7IGxpbmtzQ291bnQgfX0pPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxnbi11aS1wcmV2aW91cy1uZXh0LWJ1dHRvbnNcbiAgICAgIGNsYXNzPVwibWQ6YmxvY2sgaGlkZGVuXCJcbiAgICAgICpuZ0lmPVwiX2xpc3Q/LnBhZ2VzQ291bnQgPiAxXCJcbiAgICAgIFtsaXN0Q29tcG9uZW50XT1cIl9saXN0XCJcbiAgICA+PC9nbi11aS1wcmV2aW91cy1uZXh0LWJ1dHRvbnM+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggZmxleC13cmFwIGp1c3RpZnktc3RhcnQgc206anVzdGlmeS1lbmRcIlxuICAgIGRhdGEtY3k9XCJkb3dubG9hZC1mb3JtYXQtZmlsdGVyc1wiXG4gID5cbiAgICA8Z24tdWktYnV0dG9uXG4gICAgICBjbGFzcz1cIm0tMSBmb3JtYXQtZmlsdGVyXCJcbiAgICAgIFtleHRyYUNsYXNzXT1cIlxuICAgICAgICAnIXB4LVsxMnB4XSAhcHktWzhweF0gIXRleHQtWzE1cHhdJyArXG4gICAgICAgIChpc0ZpbHRlckFjdGl2ZShmb3JtYXQpID8gJyBvcGFjaXR5LTEwMCcgOiAnIG9wYWNpdHktNjAnKVxuICAgICAgXCJcbiAgICAgIChidXR0b25DbGljayk9XCJ0b2dnbGVGaWx0ZXJGb3JtYXQoZm9ybWF0KVwiXG4gICAgICBbYXR0ci5kYXRhLWZvcm1hdF09XCJmb3JtYXRcIlxuICAgICAgKm5nRm9yPVwibGV0IGZvcm1hdCBvZiB2aXNpYmxlRm9ybWF0c1wiXG4gICAgPlxuICAgICAge3sgZ2V0RmlsdGVyRm9ybWF0VGl0bGUoZm9ybWF0KSB9fVxuICAgIDwvZ24tdWktYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyPlxuICA8Z24tdWktYmxvY2stbGlzdFxuICAgIGNsYXNzPVwibWQ6YmxvY2sgaGlkZGVuXCJcbiAgICAjYmxvY2tMaXN0XG4gICAgKGxpc3RDaGFuZ2VzKT1cInVwZGF0ZUxpc3QoJGV2ZW50KVwiXG4gICAgY29udGFpbmVyQ2xhc3M9XCJnYXAtNCBwdC01IHBiLTdcIlxuICA+XG4gICAgPGduLXVpLWRvd25sb2FkLWl0ZW1cbiAgICAgICNibG9ja1xuICAgICAgKm5nRm9yPVwibGV0IGxpbmsgb2YgZmlsdGVyZWRMaW5rc1wiXG4gICAgICBbbGlua109XCJsaW5rXCJcbiAgICAgIFtjb2xvcl09XCJnZXRMaW5rQ29sb3IobGluaylcIlxuICAgICAgW2Zvcm1hdF09XCJnZXRMaW5rRm9ybWF0KGxpbmspXCJcbiAgICAgIFtpc0Zyb21BcGldPVwiaXNGcm9tQXBpKGxpbmspXCJcbiAgICAgIFtzaXplXT1cImJsb2NrTGlzdC5zdWJDb21wb25lbnRTaXplXCJcbiAgICA+PC9nbi11aS1kb3dubG9hZC1pdGVtPlxuICA8L2duLXVpLWJsb2NrLWxpc3Q+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cIm1iLTUgbWQ6aGlkZGVuIGJsb2NrXCIgKm5nRm9yPVwibGV0IGxpbmsgb2YgZmlsdGVyZWRMaW5rc1wiPlxuICA8Z24tdWktZG93bmxvYWQtaXRlbVxuICAgIHNpemU9XCJNXCJcbiAgICBbbGlua109XCJsaW5rXCJcbiAgICBbY29sb3JdPVwiZ2V0TGlua0NvbG9yKGxpbmspXCJcbiAgICBbZm9ybWF0XT1cImdldExpbmtGb3JtYXQobGluaylcIlxuICAgIFtpc0Zyb21BcGldPVwiaXNGcm9tQXBpKGxpbmspXCJcbiAgPjwvZ24tdWktZG93bmxvYWQtaXRlbT5cbjwvZGl2PlxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2Rvd25sb2Fkcy1saXN0L2Rvd25sb2Fkcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9kb3dubG9hZHMtbGlzdC9kb3dubG9hZHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGFBQWEsRUFDYixXQUFXLEdBQ1osTUFBTSx3Q0FBd0MsQ0FBQTtBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQ2hGLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsNEJBQTRCLEdBQzdCLE1BQU0sc0NBQXNDLENBQUE7Ozs7QUFFN0MsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUE7QUFDbkMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFFdEMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBVSxDQUFBO0FBa0JoRixNQUFNLE9BQU8sc0JB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QUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVEaXJlY3RpdmUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgZ2V0QmFkZ2VDb2xvcixcbiAgZ2V0RmlsZUZvcm1hdCxcbiAgZ2V0SXNNb2JpbGUsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgRG93bmxvYWRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vZG93bmxvYWQtaXRlbS9kb3dubG9hZC1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIEJsb2NrTGlzdENvbXBvbmVudCxcbiAgUHJldmlvdXNOZXh0QnV0dG9uc0NvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuXG5tYXJrZXIoJ2RhdGFodWIuc2VhcmNoLmZpbHRlci5hbGwnKVxubWFya2VyKCdkYXRhaHViLnNlYXJjaC5maWx0ZXIub3RoZXJzJylcblxuY29uc3QgRklMVEVSX0ZPUk1BVFMgPSBbJ2FsbCcsICdjc3YnLCAnZXhjZWwnLCAnanNvbicsICdzaHAnLCAnb3RoZXJzJ10gYXMgY29uc3RcbnR5cGUgRmlsdGVyRm9ybWF0ID0gKHR5cGVvZiBGSUxURVJfRk9STUFUUylbbnVtYmVyXVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1kb3dubG9hZHMtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3dubG9hZHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvd25sb2Fkcy1saXN0LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEJsb2NrTGlzdENvbXBvbmVudCxcbiAgICBEb3dubG9hZEl0ZW1Db21wb25lbnQsXG4gICAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICAgIFByZXZpb3VzTmV4dEJ1dHRvbnNDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvd25sb2Fkc0xpc3RDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIF9saXN0OiBCbG9ja0xpc3RDb21wb25lbnRcbiAgQElucHV0KCkgbGlua3M6IERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbltdXG5cbiAgZ2V0IGxpbmtzQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZExpbmtzPy5sZW5ndGggfHwgMFxuICB9XG5cbiAgaXNNb2JpbGUkID0gZ2V0SXNNb2JpbGUoKVxuXG4gIGFjdGl2ZUZpbHRlckZvcm1hdHM6IEZpbHRlckZvcm1hdFtdID0gWydhbGwnXVxuXG4gIHVwZGF0ZUxpc3QoJGV2ZW50OiBCbG9ja0xpc3RDb21wb25lbnQpIHtcbiAgICB0aGlzLl9saXN0ID0gJGV2ZW50XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRHVwbGljYXRlRm9ybWF0cyhcbiAgICBsaW5rczogRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uW11cbiAgKTogRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uW10ge1xuICAgIGNvbnN0IHByZWZlcnJlZExpbmtzID0gbmV3IE1hcDxzdHJpbmcsIERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbj4oKVxuXG4gICAgbGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0ID0gZ2V0RmlsZUZvcm1hdChsaW5rKVxuICAgICAgY29uc3Qgd2l0aG91dE5hbWVTcGFjZSA9IChsaW5rLm5hbWUgfHwgbGluay5kZXNjcmlwdGlvbiB8fCAnJykucmVwbGFjZShcbiAgICAgICAgL14uKj86LyxcbiAgICAgICAgJydcbiAgICAgIClcbiAgICAgIGNvbnN0IHVuaXF1ZUtleSA9IGAke2Zvcm1hdH0tJHt3aXRob3V0TmFtZVNwYWNlfWBcbiAgICAgIGlmICghcHJlZmVycmVkTGlua3MuaGFzKHVuaXF1ZUtleSkpIHtcbiAgICAgICAgcHJlZmVycmVkTGlua3Muc2V0KHVuaXF1ZUtleSwgbGluaylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nTGluayA9IHByZWZlcnJlZExpbmtzLmdldCh1bmlxdWVLZXkpXG4gICAgICAgIGlmIChcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ29nY0ZlYXR1cmVzJyAmJlxuICAgICAgICAgIGV4aXN0aW5nTGluaz8uYWNjZXNzU2VydmljZVByb3RvY29sICE9PSAnb2djRmVhdHVyZXMnXG4gICAgICAgICkge1xuICAgICAgICAgIHByZWZlcnJlZExpbmtzLnNldCh1bmlxdWVLZXksIGxpbmspXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIEFycmF5LmZyb20ocHJlZmVycmVkTGlua3MudmFsdWVzKCkpXG4gIH1cblxuICBnZXQgZmlsdGVyZWRMaW5rcygpOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyZWRCeUZvcm1hdCA9IHRoaXMubGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJGb3JtYXRzLnNvbWUoKGZvcm1hdCkgPT5cbiAgICAgICAgdGhpcy5pc0xpbmtPZkZvcm1hdChsaW5rLCBmb3JtYXQpXG4gICAgICApXG4gICAgKVxuICAgIHJldHVybiB0aGlzLnJlbW92ZUR1cGxpY2F0ZUZvcm1hdHMoZmlsdGVyZWRCeUZvcm1hdClcbiAgfVxuXG4gIGdldCB2aXNpYmxlRm9ybWF0cygpOiBGaWx0ZXJGb3JtYXRbXSB7XG4gICAgcmV0dXJuIEZJTFRFUl9GT1JNQVRTLmZpbHRlcigoZm9ybWF0KSA9PlxuICAgICAgdGhpcy5saW5rcy5zb21lKChsaW5rKSA9PiB0aGlzLmlzTGlua09mRm9ybWF0KGxpbmssIGZvcm1hdCkpXG4gICAgKVxuICB9XG5cbiAgdG9nZ2xlRmlsdGVyRm9ybWF0KGZvcm1hdDogRmlsdGVyRm9ybWF0KTogdm9pZCB7XG4gICAgaWYgKGZvcm1hdCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyRm9ybWF0cyA9IFsnYWxsJ11cbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAodGhpcy5pc0ZpbHRlckFjdGl2ZShmb3JtYXQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMgPSB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMuZmlsdGVyKFxuICAgICAgICAoZjogc3RyaW5nKSA9PiBmb3JtYXQgIT09IGZcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJGb3JtYXRzID0gW1xuICAgICAgICAuLi50aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMuZmlsdGVyKChmKSA9PiBmICE9PSAnYWxsJyksXG4gICAgICAgIGZvcm1hdCxcbiAgICAgIF1cbiAgICB9XG4gICAgaWYgKHRoaXMuYWN0aXZlRmlsdGVyRm9ybWF0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyRm9ybWF0cyA9IFsnYWxsJ11cbiAgICB9XG4gIH1cblxuICBpc0ZpbHRlckFjdGl2ZShmaWx0ZXI6IEZpbHRlckZvcm1hdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMuaW5jbHVkZXMoZmlsdGVyKVxuICB9XG5cbiAgZ2V0RmlsdGVyRm9ybWF0VGl0bGUoZm9ybWF0OiBGaWx0ZXJGb3JtYXQpIHtcbiAgICBpZiAoZm9ybWF0ID09PSAnYWxsJyB8fCBmb3JtYXQgPT09ICdvdGhlcnMnKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRhdGFodWIuc2VhcmNoLmZpbHRlci4ke2Zvcm1hdH1gKVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0XG4gIH1cblxuICBpc0xpbmtPZkZvcm1hdChcbiAgICBsaW5rOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24sXG4gICAgZm9ybWF0OiBGaWx0ZXJGb3JtYXRcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKGZvcm1hdCA9PT0gJ2FsbCcpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChnZXRGaWxlRm9ybWF0KGxpbmspID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gZm9ybWF0ID09PSAnb3RoZXJzJ1xuICAgIH1cbiAgICBpZiAoZm9ybWF0ID09PSAnb3RoZXJzJykge1xuICAgICAgY29uc3Qga25vd25Gb3JtYXRzID0gRklMVEVSX0ZPUk1BVFMuZmlsdGVyKFxuICAgICAgICAoZm9ybWF0KSA9PiBmb3JtYXQgIT09ICdhbGwnICYmIGZvcm1hdCAhPT0gJ290aGVycydcbiAgICAgIClcbiAgICAgIHJldHVybiBrbm93bkZvcm1hdHMuZXZlcnkoXG4gICAgICAgIChrbm93bkZvcm1hdCkgPT4gIWdldEZpbGVGb3JtYXQobGluaykuaW5jbHVkZXMoa25vd25Gb3JtYXQpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBnZXRGaWxlRm9ybWF0KGxpbmspLmluY2x1ZGVzKGZvcm1hdClcbiAgfVxuXG4gIGdldExpbmtGb3JtYXQobGluazogRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uKSB7XG4gICAgcmV0dXJuIGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuXG4gIGdldExpbmtDb2xvcihsaW5rOiBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24pIHtcbiAgICByZXR1cm4gZ2V0QmFkZ2VDb2xvcihnZXRGaWxlRm9ybWF0KGxpbmspKVxuICB9XG5cbiAgaXNGcm9tQXBpKGxpbms6IERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbikge1xuICAgIHJldHVybiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdkb3dubG9hZCcgJiZcbiAgICAgIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycgfHxcbiAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdvZ2NGZWF0dXJlcycpXG4gICAgKVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBwYi00XCJcbiAgKm5nSWY9XCJsaW5rcyAmJiBsaW5rcy5sZW5ndGggPiAwXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC14LTRcIj5cbiAgICA8ZGl2PlxuICAgICAgPGgzXG4gICAgICAgIGNsYXNzPVwiaW5saW5lLWJsb2NrIGZvbnQtdGl0bGUgdGV4dC14bCB0ZXh0LXRpdGxlIGZvbnQtbWVkaXVtIG1yLTRcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgID5cbiAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmRvd25sb2FkXG4gICAgICA8L2gzPlxuICAgICAgPHNwYW4gY2xhc3M9XCJweC0zXCI+KHt7IGxpbmtzQ291bnQgfX0pPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxnbi11aS1wcmV2aW91cy1uZXh0LWJ1dHRvbnNcbiAgICAgICpuZ0lmPVwiKGlzTW9iaWxlJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiYgX2xpc3Q/LnBhZ2VzQ291bnQgPiAxXCJcbiAgICAgIFtsaXN0Q29tcG9uZW50XT1cIl9saXN0XCJcbiAgICA+PC9nbi11aS1wcmV2aW91cy1uZXh0LWJ1dHRvbnM+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggZmxleC13cmFwIGp1c3RpZnktc3RhcnQgc206anVzdGlmeS1lbmRcIlxuICAgIGRhdGEtY3k9XCJkb3dubG9hZC1mb3JtYXQtZmlsdGVyc1wiXG4gID5cbiAgICA8Z24tdWktYnV0dG9uXG4gICAgICBjbGFzcz1cIm0tMSBmb3JtYXQtZmlsdGVyXCJcbiAgICAgIFtleHRyYUNsYXNzXT1cIlxuICAgICAgICAnIXB4LVsxMnB4XSAhcHktWzhweF0gIXRleHQtWzE1cHhdJyArXG4gICAgICAgIChpc0ZpbHRlckFjdGl2ZShmb3JtYXQpID8gJyBvcGFjaXR5LTEwMCcgOiAnIG9wYWNpdHktNjAnKVxuICAgICAgXCJcbiAgICAgIChidXR0b25DbGljayk9XCJ0b2dnbGVGaWx0ZXJGb3JtYXQoZm9ybWF0KVwiXG4gICAgICBbYXR0ci5kYXRhLWZvcm1hdF09XCJmb3JtYXRcIlxuICAgICAgKm5nRm9yPVwibGV0IGZvcm1hdCBvZiB2aXNpYmxlRm9ybWF0c1wiXG4gICAgPlxuICAgICAge3sgZ2V0RmlsdGVyRm9ybWF0VGl0bGUoZm9ybWF0KSB9fVxuICAgIDwvZ24tdWktYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyPlxuICA8Z24tdWktYmxvY2stbGlzdFxuICAgICpuZ0lmPVwiKGlzTW9iaWxlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICNibG9ja0xpc3RcbiAgICAobGlzdENoYW5nZXMpPVwidXBkYXRlTGlzdCgkZXZlbnQpXCJcbiAgICBjb250YWluZXJDbGFzcz1cImdhcC00IHB0LTUgcGItN1wiXG4gID5cbiAgICA8Z24tdWktZG93bmxvYWQtaXRlbVxuICAgICAgI2Jsb2NrXG4gICAgICAqbmdGb3I9XCJsZXQgbGluayBvZiBmaWx0ZXJlZExpbmtzXCJcbiAgICAgIFtsaW5rXT1cImxpbmtcIlxuICAgICAgW2NvbG9yXT1cImdldExpbmtDb2xvcihsaW5rKVwiXG4gICAgICBbZm9ybWF0XT1cImdldExpbmtGb3JtYXQobGluaylcIlxuICAgICAgW2lzRnJvbUFwaV09XCJpc0Zyb21BcGkobGluaylcIlxuICAgICAgW3NpemVdPVwiYmxvY2tMaXN0LnN1YkNvbXBvbmVudFNpemVcIlxuICAgID48L2duLXVpLWRvd25sb2FkLWl0ZW0+XG4gIDwvZ24tdWktYmxvY2stbGlzdD5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwibWItNVwiICpuZ0Zvcj1cImxldCBsaW5rIG9mIGZpbHRlcmVkTGlua3NcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihpc01vYmlsZSQgfCBhc3luYykgPT09IHRydWVcIj5cbiAgICA8Z24tdWktZG93bmxvYWQtaXRlbVxuICAgICAgc2l6ZT1cIk1cIlxuICAgICAgW2xpbmtdPVwibGlua1wiXG4gICAgICBbY29sb3JdPVwiZ2V0TGlua0NvbG9yKGxpbmspXCJcbiAgICAgIFtmb3JtYXRdPVwiZ2V0TGlua0Zvcm1hdChsaW5rKVwiXG4gICAgICBbaXNGcm9tQXBpXT1cImlzRnJvbUFwaShsaW5rKVwiXG4gICAgPjwvZ24tdWktZG93bmxvYWQtaXRlbT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -3,7 +3,7 @@ import { matLocationSearchingOutline } from '@ng-icons/material-icons/outline';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { TranslateDirective, TranslatePipe } from '@ngx-translate/core';
5
5
  import { NgIcon, provideIcons } from '@ng-icons/core';
6
- import { LinkClassifierService, LinkUsage } from '../../../../../../libs/util/shared/src';
6
+ import { getIsMobile, LinkClassifierService, LinkUsage, } from '../../../../../../libs/util/shared/src';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../../../../../libs/util/shared/src";
9
9
  import * as i2 from "@angular/common";
@@ -29,9 +29,10 @@ export class GeoDataBadgeComponent {
29
29
  this.linkClassifier = linkClassifier;
30
30
  this.showLabel = true;
31
31
  this.styling = 'default';
32
+ this.isMobile$ = getIsMobile();
32
33
  }
33
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoDataBadgeComponent, deps: [{ token: i1.LinkClassifierService }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GeoDataBadgeComponent, isStandalone: true, selector: "gn-ui-geo-data-badge", inputs: { showLabel: "showLabel", styling: "styling", record: "record" }, ngImport: i0, template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span class=\"ml-1 hidden sm:inline-block shrink-0\" *ngIf=\"showLabel\" translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], viewProviders: [
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GeoDataBadgeComponent, isStandalone: true, selector: "gn-ui-geo-data-badge", inputs: { showLabel: "showLabel", styling: "styling", record: "record" }, ngImport: i0, template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span\n class=\"ml-1 inline-block shrink-0\"\n *ngIf=\"(isMobile$ | async) === false && showLabel\"\n translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], viewProviders: [
35
36
  provideIcons({
36
37
  matLocationSearchingOutline,
37
38
  }),
@@ -43,7 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
43
44
  provideIcons({
44
45
  matLocationSearchingOutline,
45
46
  }),
46
- ], template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span class=\"ml-1 hidden sm:inline-block shrink-0\" *ngIf=\"showLabel\" translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"] }]
47
+ ], template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span\n class=\"ml-1 inline-block shrink-0\"\n *ngIf=\"(isMobile$ | async) === false && showLabel\"\n translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"] }]
47
48
  }], ctorParameters: () => [{ type: i1.LinkClassifierService }], propDecorators: { showLabel: [{
48
49
  type: Input
49
50
  }], styling: [{
@@ -51,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
51
52
  }], record: [{
52
53
  type: Input
53
54
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2dlby1kYXRhLWJhZGdlL2dlby1kYXRhLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9nZW8tZGF0YS1iYWRnZS9nZW8tZGF0YS1iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOzs7O0FBZXpGLE1BQU0sT0FBTyxxQkFBcUI7SUFLaEMsU0FBUztRQUNQLE1BQU0sS0FBSyxHQUNULGlCQUFpQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDckUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQ3RELENBQUE7UUFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDdEQsQ0FBQTtRQUNELE9BQU8sU0FBUyxJQUFJLFVBQVUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsTUFBTSxXQUFXLEdBQ2YseUVBQXlFLENBQUE7UUFFM0UsUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sR0FBRyxXQUFXLHdDQUF3QyxDQUFBO1lBQy9ELEtBQUssU0FBUztnQkFDWixPQUFPLEdBQUcsV0FBVywrQkFBK0IsQ0FBQTtZQUN0RDtnQkFDRSxPQUFPLDRCQUE0QixDQUFBO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBbUIsY0FBcUM7UUFBckMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBOUIvQyxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLFlBQU8sR0FBRyxTQUFTLENBQUE7SUE2QitCLENBQUM7K0dBL0JqRCxxQkFBcUI7bUdBQXJCLHFCQUFxQiwwSkNyQmxDLHFYQWFBLHFNRENZLFlBQVksbUlBQUUsTUFBTSw2R0FBRSxrQkFBa0IsNkdBQUUsYUFBYSx1Q0FDbEQ7WUFDYixZQUFZLENBQUM7Z0JBQ1gsMkJBQTJCO2FBQzVCLENBQUM7U0FDSDs7NEZBRVUscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLGlCQUNuRDt3QkFDYixZQUFZLENBQUM7NEJBQ1gsMkJBQTJCO3lCQUM1QixDQUFDO3FCQUNIOzBGQUdRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZURpcmVjdGl2ZSwgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgTGlua0NsYXNzaWZpZXJTZXJ2aWNlLCBMaW5rVXNhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZ2VvLWRhdGEtYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW8tZGF0YS1iYWRnZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ0ljb24sIFRyYW5zbGF0ZURpcmVjdGl2ZSwgVHJhbnNsYXRlUGlwZV0sXG4gIHZpZXdQcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0TG9jYXRpb25TZWFyY2hpbmdPdXRsaW5lLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9EYXRhQmFkZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBzaG93TGFiZWwgPSB0cnVlXG4gIEBJbnB1dCgpIHN0eWxpbmcgPSAnZGVmYXVsdCdcbiAgQElucHV0KCkgcmVjb3JkOiBDYXRhbG9nUmVjb3JkXG5cbiAgaXNHZW9kYXRhKCkge1xuICAgIGNvbnN0IGxpbmtzID1cbiAgICAgICdvbmxpbmVSZXNvdXJjZXMnIGluIHRoaXMucmVjb3JkID8gdGhpcy5yZWNvcmQub25saW5lUmVzb3VyY2VzIDogW11cbiAgICBjb25zdCBoYXNNYXBBcGkgPSBsaW5rcy5zb21lKChsaW5rKSA9PlxuICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuTUFQX0FQSSlcbiAgICApXG4gICAgY29uc3QgaGFzR2VvRGF0YSA9IGxpbmtzLnNvbWUoKGxpbmspID0+XG4gICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5HRU9EQVRBKVxuICAgIClcbiAgICByZXR1cm4gaGFzTWFwQXBpIHx8IGhhc0dlb0RhdGFcbiAgfVxuXG4gIGdldCBiYWRnZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9XG4gICAgICAnZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgYmFkZ2UtYnRuIGJhZGdlLWJ0biB0ZXh0LXhzIHB4LTIgaC02IG1pbi1oLTYnXG5cbiAgICBzd2l0Y2ggKHRoaXMuc3R5bGluZykge1xuICAgICAgY2FzZSAnbGlnaHQnOlxuICAgICAgICByZXR1cm4gYCR7YmFzZUNsYXNzZXN9IGJnLXByaW1hcnktd2hpdGUgdGV4dC1wcmltYXJ5LWRhcmtlc3RgXG4gICAgICBjYXNlICdkZWZhdWx0JzpcbiAgICAgICAgcmV0dXJuIGAke2Jhc2VDbGFzc2VzfSBiZy1wcmltYXJ5LWRhcmtlciB0ZXh0LXdoaXRlYFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlcidcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbGlua0NsYXNzaWZpZXI6IExpbmtDbGFzc2lmaWVyU2VydmljZSkge31cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cImJhZGdlQ2xhc3Nlc1wiXG4gIFt0aXRsZV09XCIncmVjb3JkLm1ldGFkYXRhLmlzR2VvZ3JhcGhpY2FsJyB8IHRyYW5zbGF0ZVwiXG4gICpuZ0lmPVwiaXNHZW9kYXRhKClcIlxuPlxuICA8bmctaWNvblxuICAgIGNsYXNzPVwic2hyaW5rLTAgdGV4dC1bMC43NWVtXVwiXG4gICAgbmFtZT1cIm1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZVwiXG4gID48L25nLWljb24+XG4gIDxzcGFuIGNsYXNzPVwibWwtMSBoaWRkZW4gc206aW5saW5lLWJsb2NrIHNocmluay0wXCIgKm5nSWY9XCJzaG93TGFiZWxcIiB0cmFuc2xhdGVcbiAgICA+cmVjb3JkLm1ldGFkYXRhLmlzR2VvZ3JhcGhpY2FsPC9zcGFuXG4gID5cbjwvZGl2PlxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2dlby1kYXRhLWJhZGdlL2dlby1kYXRhLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9nZW8tZGF0YS1iYWRnZS9nZW8tZGF0YS1iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUNMLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsU0FBUyxHQUNWLE1BQU0sd0NBQXdDLENBQUE7Ozs7QUFlL0MsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxTQUFTO1FBQ1AsTUFBTSxLQUFLLEdBQ1QsaUJBQWlCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUNyRSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDdEQsQ0FBQTtRQUNELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUN0RCxDQUFBO1FBQ0QsT0FBTyxTQUFTLElBQUksVUFBVSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxNQUFNLFdBQVcsR0FDZix5RUFBeUUsQ0FBQTtRQUUzRSxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxHQUFHLFdBQVcsd0NBQXdDLENBQUE7WUFDL0QsS0FBSyxTQUFTO2dCQUNaLE9BQU8sR0FBRyxXQUFXLCtCQUErQixDQUFBO1lBQ3REO2dCQUNFLE9BQU8sNEJBQTRCLENBQUE7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFtQixjQUFxQztRQUFyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFoQy9DLGNBQVMsR0FBRyxJQUFJLENBQUE7UUFDaEIsWUFBTyxHQUFHLFNBQVMsQ0FBQTtRQUc1QixjQUFTLEdBQUcsV0FBVyxFQUFFLENBQUE7SUE0QmtDLENBQUM7K0dBakNqRCxxQkFBcUI7bUdBQXJCLHFCQUFxQiwwSkN6QmxDLDJaQWdCQSxxTURFWSxZQUFZLHdMQUFFLE1BQU0sNkdBQUUsa0JBQWtCLDZHQUFFLGFBQWEsdUNBQ2xEO1lBQ2IsWUFBWSxDQUFDO2dCQUNYLDJCQUEyQjthQUM1QixDQUFDO1NBQ0g7OzRGQUVVLHFCQUFxQjtrQkFiakMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxpQkFDbkQ7d0JBQ2IsWUFBWSxDQUFDOzRCQUNYLDJCQUEyQjt5QkFDNUIsQ0FBQztxQkFDSDswRkFHUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVEaXJlY3RpdmUsIFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTmdJY29uLCBwcm92aWRlSWNvbnMgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7XG4gIGdldElzTW9iaWxlLFxuICBMaW5rQ2xhc3NpZmllclNlcnZpY2UsXG4gIExpbmtVc2FnZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWdlby1kYXRhLWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby1kYXRhLWJhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdJY29uLCBUcmFuc2xhdGVEaXJlY3RpdmUsIFRyYW5zbGF0ZVBpcGVdLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvRGF0YUJhZGdlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc2hvd0xhYmVsID0gdHJ1ZVxuICBASW5wdXQoKSBzdHlsaW5nID0gJ2RlZmF1bHQnXG4gIEBJbnB1dCgpIHJlY29yZDogQ2F0YWxvZ1JlY29yZFxuXG4gIGlzTW9iaWxlJCA9IGdldElzTW9iaWxlKClcblxuICBpc0dlb2RhdGEoKSB7XG4gICAgY29uc3QgbGlua3MgPVxuICAgICAgJ29ubGluZVJlc291cmNlcycgaW4gdGhpcy5yZWNvcmQgPyB0aGlzLnJlY29yZC5vbmxpbmVSZXNvdXJjZXMgOiBbXVxuICAgIGNvbnN0IGhhc01hcEFwaSA9IGxpbmtzLnNvbWUoKGxpbmspID0+XG4gICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5NQVBfQVBJKVxuICAgIClcbiAgICBjb25zdCBoYXNHZW9EYXRhID0gbGlua3Muc29tZSgobGluaykgPT5cbiAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkdFT0RBVEEpXG4gICAgKVxuICAgIHJldHVybiBoYXNNYXBBcGkgfHwgaGFzR2VvRGF0YVxuICB9XG5cbiAgZ2V0IGJhZGdlQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VDbGFzc2VzID1cbiAgICAgICdmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlciBiYWRnZS1idG4gYmFkZ2UtYnRuIHRleHQteHMgcHgtMiBoLTYgbWluLWgtNidcblxuICAgIHN3aXRjaCAodGhpcy5zdHlsaW5nKSB7XG4gICAgICBjYXNlICdsaWdodCc6XG4gICAgICAgIHJldHVybiBgJHtiYXNlQ2xhc3Nlc30gYmctcHJpbWFyeS13aGl0ZSB0ZXh0LXByaW1hcnktZGFya2VzdGBcbiAgICAgIGNhc2UgJ2RlZmF1bHQnOlxuICAgICAgICByZXR1cm4gYCR7YmFzZUNsYXNzZXN9IGJnLXByaW1hcnktZGFya2VyIHRleHQtd2hpdGVgXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2ZsZXggc2hyaW5rLTAgaXRlbXMtY2VudGVyJ1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsaW5rQ2xhc3NpZmllcjogTGlua0NsYXNzaWZpZXJTZXJ2aWNlKSB7fVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwiYmFkZ2VDbGFzc2VzXCJcbiAgW3RpdGxlXT1cIidyZWNvcmQubWV0YWRhdGEuaXNHZW9ncmFwaGljYWwnIHwgdHJhbnNsYXRlXCJcbiAgKm5nSWY9XCJpc0dlb2RhdGEoKVwiXG4+XG4gIDxuZy1pY29uXG4gICAgY2xhc3M9XCJzaHJpbmstMCB0ZXh0LVswLjc1ZW1dXCJcbiAgICBuYW1lPVwibWF0TG9jYXRpb25TZWFyY2hpbmdPdXRsaW5lXCJcbiAgPjwvbmctaWNvbj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cIm1sLTEgaW5saW5lLWJsb2NrIHNocmluay0wXCJcbiAgICAqbmdJZj1cIihpc01vYmlsZSQgfCBhc3luYykgPT09IGZhbHNlICYmIHNob3dMYWJlbFwiXG4gICAgdHJhbnNsYXRlXG4gICAgPnJlY29yZC5tZXRhZGF0YS5pc0dlb2dyYXBoaWNhbDwvc3BhblxuICA+XG48L2Rpdj5cbiJdfQ==
@@ -8,7 +8,7 @@ import { KindBadgeComponent } from '../kind-badge/kind-badge.component';
8
8
  import { MarkdownParserComponent } from '../markdown-parser/markdown-parser.component';
9
9
  import { MetadataQualityComponent } from '../metadata-quality/metadata-quality.component';
10
10
  import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
11
- import { removeWhitespace, stripHtml } from '../../../../../../libs/util/shared/src';
11
+ import { removeWhitespace, stripHtml, } from '../../../../../../libs/util/shared/src';
12
12
  import * as i0 from "@angular/core";
13
13
  export class InternalLinkCardComponent {
14
14
  set size(value) {
@@ -49,7 +49,7 @@ export class InternalLinkCardComponent {
49
49
  provideNgIconsConfig({
50
50
  size: '1.2em',
51
51
  }),
52
- ], ngImport: i0, template: "<a\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n class=\"record-card\"\n [ngClass]=\"cardClass\"\n>\n <div *ngIf=\"shouldShowThumbnail\" class=\"record-card__thumbnail\">\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow pt-1\" [ngClass]=\"shouldShowThumbnail ? 'sm:w-0' : ''\">\n <div class=\"flex flex-col gap-2 h-full\">\n <h4\n class=\"record-card__title\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n <div class=\"grow\">\n <gn-ui-markdown-parser\n data-cy=\"recordAbstract\"\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n class=\"record-card__abstract\"\n [title]=\"abstract\"\n ></gn-ui-markdown-parser>\n </div>\n <div class=\"record-card__footer\">\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"record.ownerOrganization?.name\"\n class=\"grow flex flex-row gap-1 items-center text-primary-lighter\"\n [ngClass]=\"displayContactIconOnly ? 'justify-center' : ''\"\n >\n <ng-icon\n name=\"iconoirBank\"\n class=\"text-primary -translate-y-[0.5px] shrink-0\"\n [title]=\"record.ownerOrganization.name\"\n ></ng-icon>\n <span\n *ngIf=\"!displayContactIconOnly\"\n data-cy=\"recordOrgName\"\n class=\"line-clamp-1\"\n [title]=\"record.ownerOrganization.name\"\n >{{ record.ownerOrganization.name }}</span\n >\n </div>\n <div class=\"record-card__footer__other\">\n <div\n class=\"xs:border-r last:border-r-0 flex grow gap-4 px-4 last:pr-0\"\n >\n <gn-ui-kind-badge\n [extraClass]=\"'text-[1.2em]'\"\n [styling]=\"'gray'\"\n [kind]=\"record?.kind\"\n [contentTemplate]=\"customTemplate\"\n class=\"pt-1\"\n >\n <ng-template #customTemplate></ng-template\n ></gn-ui-kind-badge>\n <gn-ui-metadata-quality\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center min-w-[113px]\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"flex justify-center\"\n data-cy=\"recordFav\"\n [ngClass]=\"displayContactIconOnly ? 'px-1' : 'px-4'\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [".record-card{@apply rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden items-stretch flex flex-row md:gap-0 justify-between py-3 pl-3 pr-5;}.record-card.size-L{@apply w-full md:h-[208px] gap-5;}.record-card.size-M{@apply max-w-[940px] md:h-[231px] gap-4;}.record-card.size-S{@apply max-w-[572px] md:h-[315px] gap-4;}.record-card.size-XS{@apply max-w-[280px] md:h-[315px] gap-4;}.record-card:hover .record-card__title{@apply text-primary;}.record-card__thumbnail{@apply border rounded-lg overflow-hidden shrink-0;}.size-L .record-card__thumbnail{@apply w-full w-[190px] h-[184px];}.size-M .record-card__thumbnail{@apply w-full w-[138px] h-[207px];}.record-card__title{@apply text-xl font-medium text-title leading-6;}.size-L .record-card__title{@apply line-clamp-2;}.size-M .record-card__title{@apply line-clamp-2 ml-2;}.size-S .record-card__title,.size-XS .record-card__title{@apply line-clamp-3 ml-2;}.record-card__abstract{@apply text-gray-900 overflow-hidden;}.size-L .record-card__abstract{@apply line-clamp-3;}.size-M .record-card__abstract{@apply line-clamp-3 ml-2;}.size-S .record-card__abstract,.size-XS .record-card__abstract{@apply line-clamp-4 ml-2;}.record-card__footer{@apply flex sm:flex-row flex-col flex-nowrap gap-3 justify-end items-center w-full border-t pt-1 overflow-hidden;}@media (max-width: 450px){.size-S .record-card__footer{@apply flex-col items-stretch;}}.size-XS .record-card__footer{@apply flex-col items-stretch gap-2;}.record-card__footer__other{@apply flex flex-col xs:flex-row flex-nowrap gap-3 xs:border-l first:border-l-0;}.record-card__footer__other>div{@apply py-1;}@media (max-width: 450px){.size-S .record-card__footer__other,.size-S .record-card__footer__other>div{@apply border-0 px-0 py-0;}}.size-XS .record-card__footer__other,.size-XS .record-card__footer__other>div{@apply border-0;}.size-XS .record-card__footer__other>div{@apply px-0 py-0;}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind", "extraClass"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }] }); }
52
+ ], ngImport: i0, template: "<a\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n class=\"record-card\"\n [ngClass]=\"cardClass\"\n>\n <div *ngIf=\"shouldShowThumbnail\" class=\"record-card__thumbnail\">\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow pt-1\" [ngClass]=\"shouldShowThumbnail ? 'sm:w-0' : ''\">\n <div class=\"flex flex-col gap-2 h-full\">\n <h4\n class=\"record-card__title\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n <div class=\"grow\">\n <gn-ui-markdown-parser\n data-cy=\"recordAbstract\"\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n class=\"record-card__abstract\"\n [title]=\"abstract\"\n ></gn-ui-markdown-parser>\n </div>\n <div class=\"record-card__footer\">\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"record.ownerOrganization?.name\"\n class=\"grow flex flex-row gap-1 items-center text-primary-lighter\"\n [ngClass]=\"displayContactIconOnly ? 'justify-center' : ''\"\n >\n <ng-icon\n name=\"iconoirBank\"\n class=\"text-primary -translate-y-[0.5px] shrink-0\"\n [title]=\"record.ownerOrganization.name\"\n ></ng-icon>\n <span\n *ngIf=\"!displayContactIconOnly\"\n data-cy=\"recordOrgName\"\n class=\"line-clamp-1\"\n [title]=\"record.ownerOrganization.name\"\n >{{ record.ownerOrganization.name }}</span\n >\n </div>\n <div class=\"record-card__footer__other\">\n <div\n class=\"xs:border-r last:border-r-0 flex grow gap-4 px-4 last:pr-0\"\n >\n <gn-ui-kind-badge\n [extraClass]=\"'text-[1.2em]'\"\n [styling]=\"'gray'\"\n [kind]=\"record?.kind\"\n [contentTemplate]=\"customTemplate\"\n class=\"pt-1\"\n >\n <ng-template #customTemplate></ng-template\n ></gn-ui-kind-badge>\n <gn-ui-metadata-quality\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center min-w-[113px]\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n [popoverDisplay]=\"true\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"flex justify-center\"\n data-cy=\"recordFav\"\n [ngClass]=\"displayContactIconOnly ? 'px-1' : 'px-4'\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [".record-card{@apply rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden items-stretch flex flex-row md:gap-0 justify-between py-3 pl-3 pr-5;}.record-card.size-L{@apply w-full md:h-[208px] gap-5;}.record-card.size-M{@apply max-w-[940px] md:h-[231px] gap-4;}.record-card.size-S{@apply max-w-[572px] md:h-[315px] gap-4;}.record-card.size-XS{@apply max-w-[280px] md:h-[315px] gap-4;}.record-card:hover .record-card__title{@apply text-primary;}.record-card__thumbnail{@apply border rounded-lg overflow-hidden shrink-0;}.size-L .record-card__thumbnail{@apply w-full w-[190px] h-[184px];}.size-M .record-card__thumbnail{@apply w-full w-[138px] h-[207px];}.record-card__title{@apply text-xl font-medium text-title leading-6;}.size-L .record-card__title{@apply line-clamp-2;}.size-M .record-card__title{@apply line-clamp-2 ml-2;}.size-S .record-card__title,.size-XS .record-card__title{@apply line-clamp-3 ml-2;}.record-card__abstract{@apply text-gray-900 overflow-hidden;}.size-L .record-card__abstract{@apply line-clamp-3;}.size-M .record-card__abstract{@apply line-clamp-3 ml-2;}.size-S .record-card__abstract,.size-XS .record-card__abstract{@apply line-clamp-4 ml-2;}.record-card__footer{@apply flex sm:flex-row flex-col flex-nowrap gap-3 justify-end items-center w-full border-t pt-1 overflow-hidden;}@media (max-width: 450px){.size-S .record-card__footer{@apply flex-col items-stretch;}}.size-XS .record-card__footer{@apply flex-col items-stretch gap-2;}.record-card__footer__other{@apply flex flex-col xs:flex-row flex-nowrap gap-3 xs:border-l first:border-l-0;}.record-card__footer__other>div{@apply py-1;}@media (max-width: 450px){.size-S .record-card__footer__other,.size-S .record-card__footer__other>div{@apply border-0 px-0 py-0;}}.size-XS .record-card__footer__other,.size-XS .record-card__footer__other>div{@apply border-0;}.size-XS .record-card__footer__other>div{@apply px-0 py-0;}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay", "popoverDisplay", "propsToValidate", "forceComputeScore"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind", "extraClass"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }] }); }
53
53
  }
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, decorators: [{
55
55
  type: Component,
@@ -70,7 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
70
70
  provideNgIconsConfig({
71
71
  size: '1.2em',
72
72
  }),
73
- ], template: "<a\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n class=\"record-card\"\n [ngClass]=\"cardClass\"\n>\n <div *ngIf=\"shouldShowThumbnail\" class=\"record-card__thumbnail\">\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow pt-1\" [ngClass]=\"shouldShowThumbnail ? 'sm:w-0' : ''\">\n <div class=\"flex flex-col gap-2 h-full\">\n <h4\n class=\"record-card__title\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n <div class=\"grow\">\n <gn-ui-markdown-parser\n data-cy=\"recordAbstract\"\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n class=\"record-card__abstract\"\n [title]=\"abstract\"\n ></gn-ui-markdown-parser>\n </div>\n <div class=\"record-card__footer\">\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"record.ownerOrganization?.name\"\n class=\"grow flex flex-row gap-1 items-center text-primary-lighter\"\n [ngClass]=\"displayContactIconOnly ? 'justify-center' : ''\"\n >\n <ng-icon\n name=\"iconoirBank\"\n class=\"text-primary -translate-y-[0.5px] shrink-0\"\n [title]=\"record.ownerOrganization.name\"\n ></ng-icon>\n <span\n *ngIf=\"!displayContactIconOnly\"\n data-cy=\"recordOrgName\"\n class=\"line-clamp-1\"\n [title]=\"record.ownerOrganization.name\"\n >{{ record.ownerOrganization.name }}</span\n >\n </div>\n <div class=\"record-card__footer__other\">\n <div\n class=\"xs:border-r last:border-r-0 flex grow gap-4 px-4 last:pr-0\"\n >\n <gn-ui-kind-badge\n [extraClass]=\"'text-[1.2em]'\"\n [styling]=\"'gray'\"\n [kind]=\"record?.kind\"\n [contentTemplate]=\"customTemplate\"\n class=\"pt-1\"\n >\n <ng-template #customTemplate></ng-template\n ></gn-ui-kind-badge>\n <gn-ui-metadata-quality\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center min-w-[113px]\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"flex justify-center\"\n data-cy=\"recordFav\"\n [ngClass]=\"displayContactIconOnly ? 'px-1' : 'px-4'\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [".record-card{@apply rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden items-stretch flex flex-row md:gap-0 justify-between py-3 pl-3 pr-5;}.record-card.size-L{@apply w-full md:h-[208px] gap-5;}.record-card.size-M{@apply max-w-[940px] md:h-[231px] gap-4;}.record-card.size-S{@apply max-w-[572px] md:h-[315px] gap-4;}.record-card.size-XS{@apply max-w-[280px] md:h-[315px] gap-4;}.record-card:hover .record-card__title{@apply text-primary;}.record-card__thumbnail{@apply border rounded-lg overflow-hidden shrink-0;}.size-L .record-card__thumbnail{@apply w-full w-[190px] h-[184px];}.size-M .record-card__thumbnail{@apply w-full w-[138px] h-[207px];}.record-card__title{@apply text-xl font-medium text-title leading-6;}.size-L .record-card__title{@apply line-clamp-2;}.size-M .record-card__title{@apply line-clamp-2 ml-2;}.size-S .record-card__title,.size-XS .record-card__title{@apply line-clamp-3 ml-2;}.record-card__abstract{@apply text-gray-900 overflow-hidden;}.size-L .record-card__abstract{@apply line-clamp-3;}.size-M .record-card__abstract{@apply line-clamp-3 ml-2;}.size-S .record-card__abstract,.size-XS .record-card__abstract{@apply line-clamp-4 ml-2;}.record-card__footer{@apply flex sm:flex-row flex-col flex-nowrap gap-3 justify-end items-center w-full border-t pt-1 overflow-hidden;}@media (max-width: 450px){.size-S .record-card__footer{@apply flex-col items-stretch;}}.size-XS .record-card__footer{@apply flex-col items-stretch gap-2;}.record-card__footer__other{@apply flex flex-col xs:flex-row flex-nowrap gap-3 xs:border-l first:border-l-0;}.record-card__footer__other>div{@apply py-1;}@media (max-width: 450px){.size-S .record-card__footer__other,.size-S .record-card__footer__other>div{@apply border-0 px-0 py-0;}}.size-XS .record-card__footer__other,.size-XS .record-card__footer__other>div{@apply border-0;}.size-XS .record-card__footer__other>div{@apply px-0 py-0;}\n"] }]
73
+ ], template: "<a\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n class=\"record-card\"\n [ngClass]=\"cardClass\"\n>\n <div *ngIf=\"shouldShowThumbnail\" class=\"record-card__thumbnail\">\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow pt-1\" [ngClass]=\"shouldShowThumbnail ? 'sm:w-0' : ''\">\n <div class=\"flex flex-col gap-2 h-full\">\n <h4\n class=\"record-card__title\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n <div class=\"grow\">\n <gn-ui-markdown-parser\n data-cy=\"recordAbstract\"\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n class=\"record-card__abstract\"\n [title]=\"abstract\"\n ></gn-ui-markdown-parser>\n </div>\n <div class=\"record-card__footer\">\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"record.ownerOrganization?.name\"\n class=\"grow flex flex-row gap-1 items-center text-primary-lighter\"\n [ngClass]=\"displayContactIconOnly ? 'justify-center' : ''\"\n >\n <ng-icon\n name=\"iconoirBank\"\n class=\"text-primary -translate-y-[0.5px] shrink-0\"\n [title]=\"record.ownerOrganization.name\"\n ></ng-icon>\n <span\n *ngIf=\"!displayContactIconOnly\"\n data-cy=\"recordOrgName\"\n class=\"line-clamp-1\"\n [title]=\"record.ownerOrganization.name\"\n >{{ record.ownerOrganization.name }}</span\n >\n </div>\n <div class=\"record-card__footer__other\">\n <div\n class=\"xs:border-r last:border-r-0 flex grow gap-4 px-4 last:pr-0\"\n >\n <gn-ui-kind-badge\n [extraClass]=\"'text-[1.2em]'\"\n [styling]=\"'gray'\"\n [kind]=\"record?.kind\"\n [contentTemplate]=\"customTemplate\"\n class=\"pt-1\"\n >\n <ng-template #customTemplate></ng-template\n ></gn-ui-kind-badge>\n <gn-ui-metadata-quality\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center min-w-[113px]\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n [popoverDisplay]=\"true\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"flex justify-center\"\n data-cy=\"recordFav\"\n [ngClass]=\"displayContactIconOnly ? 'px-1' : 'px-4'\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [".record-card{@apply rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden items-stretch flex flex-row md:gap-0 justify-between py-3 pl-3 pr-5;}.record-card.size-L{@apply w-full md:h-[208px] gap-5;}.record-card.size-M{@apply max-w-[940px] md:h-[231px] gap-4;}.record-card.size-S{@apply max-w-[572px] md:h-[315px] gap-4;}.record-card.size-XS{@apply max-w-[280px] md:h-[315px] gap-4;}.record-card:hover .record-card__title{@apply text-primary;}.record-card__thumbnail{@apply border rounded-lg overflow-hidden shrink-0;}.size-L .record-card__thumbnail{@apply w-full w-[190px] h-[184px];}.size-M .record-card__thumbnail{@apply w-full w-[138px] h-[207px];}.record-card__title{@apply text-xl font-medium text-title leading-6;}.size-L .record-card__title{@apply line-clamp-2;}.size-M .record-card__title{@apply line-clamp-2 ml-2;}.size-S .record-card__title,.size-XS .record-card__title{@apply line-clamp-3 ml-2;}.record-card__abstract{@apply text-gray-900 overflow-hidden;}.size-L .record-card__abstract{@apply line-clamp-3;}.size-M .record-card__abstract{@apply line-clamp-3 ml-2;}.size-S .record-card__abstract,.size-XS .record-card__abstract{@apply line-clamp-4 ml-2;}.record-card__footer{@apply flex sm:flex-row flex-col flex-nowrap gap-3 justify-end items-center w-full border-t pt-1 overflow-hidden;}@media (max-width: 450px){.size-S .record-card__footer{@apply flex-col items-stretch;}}.size-XS .record-card__footer{@apply flex-col items-stretch gap-2;}.record-card__footer__other{@apply flex flex-col xs:flex-row flex-nowrap gap-3 xs:border-l first:border-l-0;}.record-card__footer__other>div{@apply py-1;}@media (max-width: 450px){.size-S .record-card__footer__other,.size-S .record-card__footer__other>div{@apply border-0 px-0 py-0;}}.size-XS .record-card__footer__other,.size-XS .record-card__footer__other>div{@apply border-0;}.size-XS .record-card__footer__other>div{@apply px-0 py-0;}\n"] }]
74
74
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { record: [{
75
75
  type: Input
76
76
  }], linkTarget: [{
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
86
86
  }], mdSelect: [{
87
87
  type: Output
88
88
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMvQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQTtBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdD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bnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBpY29ub2lyQmFuayB9IGZyb20gJ0BuZy1pY29ucy9pY29ub2lyJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEtpbmRCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2tpbmQtYmFkZ2Uva2luZC1iYWRnZS5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXJrZG93blBhcnNlckNvbXBvbmVudCB9IGZyb20gJy4uL21hcmtkb3duLXBhcnNlci9tYXJrZG93bi1wYXJzZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgTWV0YWRhdGFRdWFsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudCdcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4uL3RodW1ibmFpbC90aHVtYm5haWwuY29tcG9uZW50J1xuaW1wb3J0IHsgcmVtb3ZlV2hpdGVzcGFjZSwgc3RyaXBIdG1sIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5cbnR5cGUgQ2FyZFNpemUgPSAnTCcgfCAnTScgfCAnUycgfCAnWFMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWludGVybmFsLWxpbmstY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEtpbmRCYWRnZUNvbXBvbmVudCxcbiAgICBNYXJrZG93blBhcnNlckNvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBpY29ub2lyQmFuayxcbiAgICAgIG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSxcbiAgICB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS4yZW0nLFxuICAgIH0pLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEludGVybmFsTGlua0NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSByZWNvcmQ6IENhdGFsb2dSZWNvcmRcbiAgQElucHV0KCkgbGlua1RhcmdldCA9ICdfYmxhbmsnXG4gIEBJbnB1dCgpIGxpbmtIcmVmOiBzdHJpbmcgPSBudWxsXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cbiAgQElucHV0KCkgZmF2b3JpdGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IENhdGFsb2dSZWNvcmQgfT5cbiAgQElucHV0KCkgc2V0IHNpemUodmFsdWU6IENhcmRTaXplKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlXG4gICAgdGhpcy5jYXJkQ2xhc3MgPSBgc2l6ZS0ke3ZhbHVlfWBcbiAgfVxuICBnZXQgc2l6ZSgpOiBDYXJkU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemVcbiAgfVxuICBAT3V0cHV0KCkgbWRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPENhdGFsb2dSZWNvcmQ+KClcbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgYWJzdHJhY3Q6IHN0cmluZ1xuICBjYXJkQ2xhc3M6IHN0cmluZ1xuXG4gIHByaXZhdGUgX3NpemU6IENhcmRTaXplID0gJ0wnXG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdCA9IHJlbW92ZVdoaXRlc3BhY2Uoc3RyaXBIdG1sKHRoaXMucmVjb3JkPy5hYnN0cmFjdCkpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgdGhpcy5tZFNlbGVjdC5lbWl0KHRoaXMucmVjb3JkKVxuICAgICAgKVxuICAgIClcbiAgfVxuICBnZXQgc2hvdWxkU2hvd1RodW1ibmFpbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnTCcgfHwgdGhpcy5zaXplID09PSAnTSdcbiAgfVxuXG4gIGdldCBkaXNwbGF5Q29udGFjdEljb25Pbmx5KCkge1xuICAgIGNvbnN0IGNhcmRXaWR0aCA9XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aFxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZSAmJlxuICAgICAgdGhpcy5tZXRhZGF0YVF1YWxpdHlEaXNwbGF5ICYmXG4gICAgICB0aGlzLnNpemUgPT09ICdNJyAmJlxuICAgICAgY2FyZFdpZHRoIDw9IDQ5MFxuICAgIClcbiAgfVxufVxuIiwiPGFcbiAgW2F0dHIuaHJlZl09XCJsaW5rSHJlZlwiXG4gIFt0YXJnZXRdPVwibGlua1RhcmdldFwiXG4gIGNsYXNzPVwicmVjb3JkLWNhcmRcIlxuICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIlxuPlxuICA8ZGl2ICpuZ0lmPVwic2hvdWxkU2hvd1RodW1ibmFpbFwiIGNsYXNzPVwicmVjb3JkLWNhcmRfX3RodW1ibmFpbFwiPlxuICAgIDxnbi11aS10aHVtYm5haWxcbiAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgW3RodW1ibmFpbFVybF09XCJyZWNvcmQub3ZlcnZpZXdzPy5bMF0/LnVybD8udG9TdHJpbmcoKSB8fCAnJ1wiXG4gICAgICBbZml0XT1cIidjb3ZlcidcIlxuICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJncm93IHB0LTFcIiBbbmdDbGFzc109XCJzaG91bGRTaG93VGh1bWJuYWlsID8gJ3NtOnctMCcgOiAnJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIGgtZnVsbFwiPlxuICAgICAgPGg0XG4gICAgICAgIGNsYXNzPVwicmVjb3JkLWNhcmRfX3RpdGxlXCJcbiAgICAgICAgZGF0YS1jeT1cInJlY29yZFRpdGxlXCJcbiAgICAgICAgW3RpdGxlXT1cInJlY29yZC50aXRsZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHJlY29yZC50aXRsZSB9fVxuICAgICAgPC9oND5cbiAgICAgIDxkaXYgY2xhc3M9XCJncm93XCI+XG4gICAgICAgIDxnbi11aS1tYXJrZG93bi1wYXJzZXJcbiAgICAgICAgICBkYXRhLWN5PVwicmVjb3JkQWJzdHJhY3RcIlxuICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhYnN0cmFjdFwiXG4gICAgICAgICAgW3doaXRvdXRTdHlsZXNdPVwidHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJyZWNvcmQtY2FyZF9fYWJzdHJhY3RcIlxuICAgICAgICAgIFt0aXRsZV09XCJhYnN0cmFjdFwiXG4gICAgICAgID48L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC1jYXJkX19mb290ZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtY3k9XCJyZWNvcmRPcmdcIlxuICAgICAgICAgICpuZ0lmPVwicmVjb3JkLm93bmVyT3JnYW5pemF0aW9uPy5uYW1lXCJcbiAgICAgICAgICBjbGFzcz1cImdyb3cgZmxleCBmbGV4LXJvdyBnYXAtMSBpdGVtcy1jZW50ZXIgdGV4dC1wcmltYXJ5LWxpZ2h0ZXJcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImRpc3BsYXlDb250YWN0SWNvbk9ubHkgPyAnanVzdGlmeS1jZW50ZXInIDogJydcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAgIG5hbWU9XCJpY29ub2lyQmFua1wiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSAtdHJhbnNsYXRlLXktWzAuNXB4XSBzaHJpbmstMFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwicmVjb3JkLm93bmVyT3JnYW5pemF0aW9uLm5hbWVcIlxuICAgICAgICAgID48L25nLWljb24+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiIWRpc3BsYXlDb250YWN0SWNvbk9ubHlcIlxuICAgICAgICAgICAgZGF0YS1jeT1cInJlY29yZE9yZ05hbWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJsaW5lLWNsYW1wLTFcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInJlY29yZC5vd25lck9yZ2FuaXphdGlvbi5uYW1lXCJcbiAgICAgICAgICAgID57eyByZWNvcmQub3duZXJPcmdhbml6YXRpb24ubmFtZSB9fTwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvcmQtY2FyZF9fZm9vdGVyX19vdGhlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwieHM6Ym9yZGVyLXIgbGFzdDpib3JkZXItci0wIGZsZXggZ3JvdyBnYXAtNCBweC00IGxhc3Q6cHItMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGduLXVpLWtpbmQtYmFkZ2VcbiAgICAgICAgICAgICAgW2V4dHJhQ2xhc3NdPVwiJ3RleHQtWzEuMmVtXSdcIlxuICAgICAgICAgICAgICBbc3R5bGluZ109XCInZ3JheSdcIlxuICAgICAgICAgICAgICBba2luZF09XCJyZWNvcmQ/LmtpbmRcIlxuICAgICAgICAgICAgICBbY29udGVudFRlbXBsYXRlXT1cImN1c3RvbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwdC0xXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjdXN0b21UZW1wbGF0ZT48L25nLXRlbXBsYXRlXG4gICAgICAgICAgICA+PC9nbi11aS1raW5kLWJhZGdlPlxuICAgICAgICAgICAgPGduLXVpLW1ldGFkYXRhLXF1YWxpdHlcbiAgICAgICAgICAgICAgKm5nSWY9XCJtZXRhZGF0YVF1YWxpdHlEaXNwbGF5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBtaW4tdy1bMTEzcHhdXCJcbiAgICAgICAgICAgICAgW3NtYWxsZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFttZXRhZGF0YV09XCJyZWNvcmRcIlxuICAgICAgICAgICAgICBbbWV0YWRhdGFRdWFsaXR5RGlzcGxheV09XCJtZXRhZGF0YVF1YWxpdHlEaXNwbGF5XCJcbiAgICAgICAgICAgID48L2duLXVpLW1ldGFkYXRhLXF1YWxpdHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgIGRhdGEtY3k9XCJyZWNvcmRGYXZcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGlzcGxheUNvbnRhY3RJY29uT25seSA/ICdweC0xJyA6ICdweC00J1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmYXZvcml0ZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByZWNvcmQgfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hPlxuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMvQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQTtBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNyRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFNBQVMsR0FFVixNQUFNLHdDQUF3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ZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgaWNvbm9pckJhbmsgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBLaW5kQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9raW5kLWJhZGdlL2tpbmQtYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgTWFya2Rvd25QYXJzZXJDb21wb25lbnQgfSBmcm9tICcuLi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL21ldGFkYXRhLXF1YWxpdHkvbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQnXG5pbXBvcnQgeyBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICcuLi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIHJlbW92ZVdoaXRlc3BhY2UsXG4gIHN0cmlwSHRtbCxcbiAgdHlwZSBWYWxpZGF0b3JNYXBwZXJLZXlzLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxudHlwZSBDYXJkU2l6ZSA9ICdMJyB8ICdNJyB8ICdTJyB8ICdYUydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW50ZXJuYWwtbGluay1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdJZixcbiAgICBOZ0ljb25Db21wb25lbnQsXG4gICAgTWV0YWRhdGFRdWFsaXR5Q29tcG9uZW50LFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgS2luZEJhZGdlQ29tcG9uZW50LFxuICAgIE1hcmtkb3duUGFyc2VyQ29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIGljb25vaXJCYW5rLFxuICAgICAgbWF0TG9jYXRpb25TZWFyY2hpbmdPdXRsaW5lLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjJlbScsXG4gICAgfSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxMaW5rQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHJlY29yZDogQ2F0YWxvZ1JlY29yZFxuICBASW5wdXQoKSBsaW5rVGFyZ2V0ID0gJ19ibGFuaydcbiAgQElucHV0KCkgbGlua0hyZWY6IHN0cmluZyA9IG51bGxcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuICBASW5wdXQoKSBmYXZvcml0ZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogQ2F0YWxvZ1JlY29yZCB9PlxuICBASW5wdXQoKSBzZXQgc2l6ZSh2YWx1ZTogQ2FyZFNpemUpIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWVcbiAgICB0aGlzLmNhcmRDbGFzcyA9IGBzaXplLSR7dmFsdWV9YFxuICB9XG4gIGdldCBzaXplKCk6IENhcmRTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZVxuICB9XG4gIEBPdXRwdXQoKSBtZFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2F0YWxvZ1JlY29yZD4oKVxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKClcblxuICBhYnN0cmFjdDogc3RyaW5nXG4gIGNhcmRDbGFzczogc3RyaW5nXG5cbiAgcHJpdmF0ZSBfc2l6ZTogQ2FyZFNpemUgPSAnTCdcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFic3RyYWN0ID0gcmVtb3ZlV2hpdGVzcGFjZShzdHJpcEh0bWwodGhpcy5yZWNvcmQ/LmFic3RyYWN0KSlcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnN1YnNjcmliZSgoKSA9PlxuICAgICAgICB0aGlzLm1kU2VsZWN0LmVtaXQodGhpcy5yZWNvcmQpXG4gICAgICApXG4gICAgKVxuICB9XG4gIGdldCBzaG91bGRTaG93VGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdMJyB8fCB0aGlzLnNpemUgPT09ICdNJ1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlDb250YWN0SWNvbk9ubHkoKSB7XG4gICAgY29uc3QgY2FyZFdpZHRoID1cbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucmVjb3JkLm93bmVyT3JnYW5pemF0aW9uPy5uYW1lICYmXG4gICAgICB0aGlzLm1ldGFkYXRhUXVhbGl0eURpc3BsYXkgJiZcbiAgICAgIHRoaXMuc2l6ZSA9PT0gJ00nICYmXG4gICAgICBjYXJkV2lkdGggPD0gNDkwXG4gICAgKVxuICB9XG59XG4iLCI8YVxuICBbYXR0ci5ocmVmXT1cImxpbmtIcmVmXCJcbiAgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCJcbiAgY2xhc3M9XCJyZWNvcmQtY2FyZFwiXG4gIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiXG4+XG4gIDxkaXYgKm5nSWY9XCJzaG91bGRTaG93VGh1bWJuYWlsXCIgY2xhc3M9XCJyZWNvcmQtY2FyZF9fdGh1bWJuYWlsXCI+XG4gICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIG9iamVjdC1jb3ZlclwiXG4gICAgICBbdGh1bWJuYWlsVXJsXT1cInJlY29yZC5vdmVydmlld3M/LlswXT8udXJsPy50b1N0cmluZygpIHx8ICcnXCJcbiAgICAgIFtmaXRdPVwiJ2NvdmVyJ1wiXG4gICAgPjwvZ24tdWktdGh1bWJuYWlsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdyb3cgcHQtMVwiIFtuZ0NsYXNzXT1cInNob3VsZFNob3dUaHVtYm5haWwgPyAnc206dy0wJyA6ICcnXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIgaC1mdWxsXCI+XG4gICAgICA8aDRcbiAgICAgICAgY2xhc3M9XCJyZWNvcmQtY2FyZF9fdGl0bGVcIlxuICAgICAgICBkYXRhLWN5PVwicmVjb3JkVGl0bGVcIlxuICAgICAgICBbdGl0bGVdPVwicmVjb3JkLnRpdGxlXCJcbiAgICAgID5cbiAgICAgICAge3sgcmVjb3JkLnRpdGxlIH19XG4gICAgICA8L2g0PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3dcIj5cbiAgICAgICAgPGduLXVpLW1hcmtkb3duLXBhcnNlclxuICAgICAgICAgIGRhdGEtY3k9XCJyZWNvcmRBYnN0cmFjdFwiXG4gICAgICAgICAgW3RleHRDb250ZW50XT1cImFic3RyYWN0XCJcbiAgICAgICAgICBbd2hpdG91dFN0eWxlc109XCJ0cnVlXCJcbiAgICAgICAgICBjbGFzcz1cInJlY29yZC1jYXJkX19hYnN0cmFjdFwiXG4gICAgICAgICAgW3RpdGxlXT1cImFic3RyYWN0XCJcbiAgICAgICAgPjwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVjb3JkLWNhcmRfX2Zvb3RlclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgZGF0YS1jeT1cInJlY29yZE9yZ1wiXG4gICAgICAgICAgKm5nSWY9XCJyZWNvcmQub3duZXJPcmdhbml6YXRpb24/Lm5hbWVcIlxuICAgICAgICAgIGNsYXNzPVwiZ3JvdyBmbGV4IGZsZXgtcm93IGdhcC0xIGl0ZW1zLWNlbnRlciB0ZXh0LXByaW1hcnktbGlnaHRlclwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiZGlzcGxheUNvbnRhY3RJY29uT25seSA/ICdqdXN0aWZ5LWNlbnRlcicgOiAnJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvblxuICAgICAgICAgICAgbmFtZT1cImljb25vaXJCYW5rXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IC10cmFuc2xhdGUteS1bMC41cHhdIHNocmluay0wXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJyZWNvcmQub3duZXJPcmdhbml6YXRpb24ubmFtZVwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCIhZGlzcGxheUNvbnRhY3RJY29uT25seVwiXG4gICAgICAgICAgICBkYXRhLWN5PVwicmVjb3JkT3JnTmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImxpbmUtY2xhbXAtMVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwicmVjb3JkLm93bmVyT3JnYW5pemF0aW9uLm5hbWVcIlxuICAgICAgICAgICAgPnt7IHJlY29yZC5vd25lck9yZ2FuaXphdGlvbi5uYW1lIH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC1jYXJkX19mb290ZXJfX290aGVyXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ4czpib3JkZXItciBsYXN0OmJvcmRlci1yLTAgZmxleCBncm93IGdhcC00IHB4LTQgbGFzdDpwci0wXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Z24tdWkta2luZC1iYWRnZVxuICAgICAgICAgICAgICBbZXh0cmFDbGFzc109XCIndGV4dC1bMS4yZW1dJ1wiXG4gICAgICAgICAgICAgIFtzdHlsaW5nXT1cIidncmF5J1wiXG4gICAgICAgICAgICAgIFtraW5kXT1cInJlY29yZD8ua2luZFwiXG4gICAgICAgICAgICAgIFtjb250ZW50VGVtcGxhdGVdPVwiY3VzdG9tVGVtcGxhdGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInB0LTFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbVRlbXBsYXRlPjwvbmctdGVtcGxhdGVcbiAgICAgICAgICAgID48L2duLXVpLWtpbmQtYmFkZ2U+XG4gICAgICAgICAgICA8Z24tdWktbWV0YWRhdGEtcXVhbGl0eVxuICAgICAgICAgICAgICAqbmdJZj1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG1pbi13LVsxMTNweF1cIlxuICAgICAgICAgICAgICBbc21hbGxlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW21ldGFkYXRhXT1cInJlY29yZFwiXG4gICAgICAgICAgICAgIFttZXRhZGF0YVF1YWxpdHlEaXNwbGF5XT1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIlxuICAgICAgICAgICAgICBbcG9wb3ZlckRpc3BsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9nbi11aS1tZXRhZGF0YS1xdWFsaXR5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICBkYXRhLWN5PVwicmVjb3JkRmF2XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImRpc3BsYXlDb250YWN0SWNvbk9ubHkgPyAncHgtMScgOiAncHgtNCdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmF2b3JpdGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcmVjb3JkIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYT5cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
2
  import { MetadataQualityItemComponent, } from '../metadata-quality-item/metadata-quality-item.component';
3
3
  import { PopoverComponent, ProgressBarComponent, } from '../../../../../../libs/ui/widgets/src';
4
+ import { getQualityValidators, getAllKeysValidator, } from '../../../../../../libs/util/shared/src';
4
5
  import { CommonModule } from '@angular/common';
5
6
  import { TranslateDirective } from '@ngx-translate/core';
6
7
  import { NgIcon, provideIcons, provideNgIconsConfig } from '@ng-icons/core';
@@ -10,58 +11,26 @@ import * as i1 from "@angular/common";
10
11
  export class MetadataQualityComponent {
11
12
  constructor() {
12
13
  this.smaller = false;
14
+ this.popoverDisplay = true;
15
+ this.forceComputeScore = false; // Instead of returning es' quality score
13
16
  this.items = [];
14
- this.COMMON_CHECKS = {
15
- title: (metadata) => !!metadata?.title,
16
- description: (metadata) => !!metadata?.abstract,
17
- keywords: (metadata) => (metadata?.keywords?.length ?? 0) > 0,
18
- legalConstraints: (metadata) => (metadata?.legalConstraints?.length ?? 0) > 0,
19
- contact: (metadata) => !!metadata?.contacts?.[0]?.email,
20
- };
21
- this.SPECIFIC_CHECKS = {
22
- dataset: {
23
- updateFrequency: (metadata) => !!metadata?.updateFrequency,
24
- topic: (metadata) => (metadata?.topics?.length ?? 0) > 0,
25
- organisation: (metadata) => !!metadata?.contacts?.[0]?.organization?.name,
26
- },
27
- service: {
28
- capabilities: (metadata) => (metadata?.onlineResources ?? []).some((resource) => this.hasGetCapabilities(resource?.url?.href ?? '')),
29
- },
30
- reuse: {
31
- topic: (metadata) => (metadata?.topics?.length ?? 0) > 0,
32
- organisation: (metadata) => !!metadata?.contacts?.[0]?.organization?.name,
33
- source: (metadata) => !!metadata?.extras?.sourcesIdentifiers,
34
- },
35
- };
36
17
  }
37
18
  get qualityScore() {
38
- const qualityScore = this.metadata?.extras?.qualityScore;
19
+ const qualityScore = !this.forceComputeScore
20
+ ? this.metadata?.extras?.qualityScore
21
+ : this.computedQualityScore;
39
22
  return typeof qualityScore === 'number'
40
23
  ? qualityScore
41
- : this.calculatedQualityScore;
24
+ : this.computedQualityScore;
42
25
  }
43
- get calculatedQualityScore() {
26
+ get computedQualityScore() {
44
27
  return Math.round((this.items.filter(({ value }) => value).length * 100) / this.items.length);
45
28
  }
46
- add(name, value) {
47
- if (this.metadataQualityDisplay?.[name] !== false) {
48
- this.items.push({ name, value });
49
- }
50
- }
51
- hasGetCapabilities(url) {
52
- return url.toLowerCase().includes('capabilities');
53
- }
54
29
  initialize() {
55
- this.items = [];
56
- Object.entries(this.COMMON_CHECKS).forEach(([name, check]) => {
57
- this.add(name, check(this.metadata));
58
- });
59
- const datasetType = this.metadata?.kind;
60
- if (datasetType && this.SPECIFIC_CHECKS[datasetType]) {
61
- Object.entries(this.SPECIFIC_CHECKS[datasetType]).forEach(([name, check]) => {
62
- this.add(name, check(this.metadata));
63
- });
30
+ if (!this.propsToValidate) {
31
+ this.propsToValidate = getAllKeysValidator();
64
32
  }
33
+ this.items = getQualityValidators(this.metadata, this.propsToValidate).map(({ name, validator }) => ({ name, value: validator() }));
65
34
  }
66
35
  ngOnChanges(changes) {
67
36
  if (changes['metadata'] || changes['metadataQualityDisplay']) {
@@ -69,7 +38,7 @@ export class MetadataQualityComponent {
69
38
  }
70
39
  }
71
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay" }, providers: [
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay", popoverDisplay: "popoverDisplay", propsToValidate: "propsToValidate", forceComputeScore: "forceComputeScore" }, providers: [
73
42
  provideIcons({
74
43
  matInfoOutline,
75
44
  }),
@@ -77,7 +46,7 @@ export class MetadataQualityComponent {
77
46
  size: '1.2em',
78
47
  strokeWidth: '1.5px',
79
48
  }),
80
- ], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], 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: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ ], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n *ngIf=\"popoverDisplay\"\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], 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: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
50
  }
82
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, decorators: [{
83
52
  type: Component,
@@ -96,12 +65,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
96
65
  size: '1.2em',
97
66
  strokeWidth: '1.5px',
98
67
  }),
99
- ], template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
68
+ ], template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n *ngIf=\"popoverDisplay\"\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
100
69
  }], propDecorators: { metadata: [{
101
70
  type: Input
102
71
  }], smaller: [{
103
72
  type: Input
104
73
  }], metadataQualityDisplay: [{
105
74
  type: Input
75
+ }], popoverDisplay: [{
76
+ type: Input
77
+ }], propsToValidate: [{
78
+ type: Input
79
+ }], forceComputeScore: [{
80
+ type: Input
106
81
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7O0FBOEJqRSxNQUFNLE9BQU8sd0JBQXdCO0lBeEJyQztRQTBCVyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBR3hCLFVBQUssR0FBMEIsRUFBRSxDQUFBO1FBd0JoQixrQkFBYSxHQUFrQjtZQUM5QyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSztZQUN0QyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFB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QUksWUFBWSw4VkFDWixnQkFBZ0Isd0ZBQ2hCLG9CQUFvQiwwRkFDcEIsNEJBQTRCLG1HQUM1QixrQkFBa0Isa0hBQ2xCLE1BQU07OzRGQVlHLHdCQUF3QjtrQkF4QnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLGtCQUFrQjt3QkFDbEIsTUFBTTtxQkFDUCxhQUNVO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxjQUFjO3lCQUNmLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPOzRCQUNiLFdBQVcsRUFBRSxPQUFPO3lCQUNyQixDQUFDO3FCQUNIOzhCQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBNZXRhZGF0YVF1YWxpdHlJdGVtLFxuICBNZXRhZGF0YVF1YWxpdHlJdGVtQ29tcG9uZW50LFxufSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBQb3BvdmVyQ29tcG9uZW50LFxuICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucywgcHJvdmlkZU5nSWNvbnNDb25maWcgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdEluZm9PdXRsaW5lIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5cbnR5cGUgUXVhbGl0eUNoZWNrcyA9IHtcbiAgW2tleTogc3RyaW5nXTogKG1ldGFkYXRhOiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+KSA9PiBib29sZWFuXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1ldGFkYXRhLXF1YWxpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQsXG4gICAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICAgIE5nSWNvbixcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIG1hdEluZm9PdXRsaW5lLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjJlbScsXG4gICAgICBzdHJva2VXaWR0aDogJzEuNXB4JyxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFRdWFsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbWV0YWRhdGE6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD5cbiAgQElucHV0KCkgc21hbGxlciA9IGZhbHNlXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cblxuICBpdGVtczogTWV0YWRhdGFRdWFsaXR5SXRlbVtdID0gW11cblxuICBnZXQgcXVhbGl0eVNjb3JlKCkge1xuICAgIGNvbnN0IHF1YWxpdHlTY29yZSA9IHRoaXMubWV0YWRhdGE/LmV4dHJhcz8ucXVhbGl0eVNjb3JlXG4gICAgcmV0dXJuIHR5cGVvZiBxdWFsaXR5U2NvcmUgPT09ICdudW1iZXInXG4gICAgICA/IHF1YWxpdHlTY29yZVxuICAgICAgOiB0aGlzLmNhbGN1bGF0ZWRRdWFsaXR5U2NvcmVcbiAgfVxuXG4gIGdldCBjYWxjdWxhdGVkUXVhbGl0eVNjb3JlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoXG4gICAgICAodGhpcy5pdGVtcy5maWx0ZXIoKHsgdmFsdWUgfSkgPT4gdmFsdWUpLmxlbmd0aCAqIDEwMCkgLyB0aGlzLml0ZW1zLmxlbmd0aFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgYWRkKG5hbWU6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5tZXRhZGF0YVF1YWxpdHlEaXNwbGF5Py5bbmFtZV0gIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLml0ZW1zLnB1c2goeyBuYW1lLCB2YWx1ZSB9KVxuICAgIH1cbiAgfVxuICBoYXNHZXRDYXBhYmlsaXRpZXModXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXJsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2NhcGFiaWxpdGllcycpXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IENPTU1PTl9DSEVDS1M6IFF1YWxpdHlDaGVja3MgPSB7XG4gICAgdGl0bGU6IChtZXRhZGF0YSkgPT4gISFtZXRhZGF0YT8udGl0bGUsXG4gICAgZGVzY3JpcHRpb246IChtZXRhZGF0YSkgPT4gISFtZXRhZGF0YT8uYWJzdHJhY3QsXG4gICAga2V5d29yZHM6IChtZXRhZGF0YSkgPT4gKG1ldGFkYXRhPy5rZXl3b3Jkcz8ubGVuZ3RoID8/IDApID4gMCxcbiAgICBsZWdhbENvbnN0cmFpbnRzOiAobWV0YWRhdGEpID0+XG4gICAgICAobWV0YWRhdGE/LmxlZ2FsQ29uc3RyYWludHM/Lmxlbmd0aCA/PyAwKSA+IDAsXG4gICAgY29udGFjdDogKG1ldGFkYXRhKSA9PiAhIW1ldGFkYXRhPy5jb250YWN0cz8uWzBdPy5lbWFpbCxcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgU1BFQ0lGSUNfQ0hFQ0tTOiBSZWNvcmQ8c3RyaW5nLCBRdWFsaXR5Q2hlY2tzPiA9IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICB1cGRhdGVGcmVxdWVuY3k6IChtZXRhZGF0YSkgPT4gISFtZXRhZGF0YT8udXBkYXRlRnJlcXVlbmN5LFxuICAgICAgdG9waWM6IChtZXRhZGF0YSkgPT4gKG1ldGFkYXRhPy50b3BpY3M/Lmxlbmd0aCA/PyAwKSA+IDAsXG4gICAgICBvcmdhbmlzYXRpb246IChtZXRhZGF0YSkgPT4gISFtZXRhZGF0YT8uY29udGFjdHM/LlswXT8ub3JnYW5pemF0aW9uPy5uYW1lLFxuICAgIH0sXG4gICAgc2VydmljZToge1xuICAgICAgY2FwYWJpbGl0aWVzOiAobWV0YWRhdGEpID0+XG4gICAgICAgIChtZXRhZGF0YT8ub25saW5lUmVzb3VyY2VzID8/IFtdKS5zb21lKChyZXNvdXJjZSkgPT5cbiAgICAgICAgICB0aGlzLmhhc0dldENhcGFiaWxpdGllcyhyZXNvdXJjZT8udXJsPy5ocmVmID8/ICcnKVxuICAgICAgICApLFxuICAgIH0sXG4gICAgcmV1c2U6IHtcbiAgICAgIHRvcGljOiAobWV0YWRhdGEpID0+IChtZXRhZGF0YT8udG9waWNzPy5sZW5ndGggPz8gMCkgPiAwLFxuICAgICAgb3JnYW5pc2F0aW9uOiAobWV0YWRhdGEpID0+ICEhbWV0YWRhdGE/LmNvbnRhY3RzPy5bMF0/Lm9yZ2FuaXphdGlvbj8ubmFtZSxcbiAgICAgIHNvdXJjZTogKG1ldGFkYXRhKSA9PiAhIW1ldGFkYXRhPy5leHRyYXM/LnNvdXJjZXNJZGVudGlmaWVycyxcbiAgICB9LFxuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLml0ZW1zID0gW11cblxuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuQ09NTU9OX0NIRUNLUykuZm9yRWFjaCgoW25hbWUsIGNoZWNrXSkgPT4ge1xuICAgICAgdGhpcy5hZGQobmFtZSwgY2hlY2sodGhpcy5tZXRhZGF0YSkpXG4gICAgfSlcblxuICAgIGNvbnN0IGRhdGFzZXRUeXBlID0gdGhpcy5tZXRhZGF0YT8ua2luZFxuICAgIGlmIChkYXRhc2V0VHlwZSAmJiB0aGlzLlNQRUNJRklDX0NIRUNLU1tkYXRhc2V0VHlwZV0pIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuU1BFQ0lGSUNfQ0hFQ0tTW2RhdGFzZXRUeXBlXSkuZm9yRWFjaChcbiAgICAgICAgKFtuYW1lLCBjaGVja10pID0+IHtcbiAgICAgICAgICB0aGlzLmFkZChuYW1lLCBjaGVjayh0aGlzLm1ldGFkYXRhKSlcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snbWV0YWRhdGEnXSB8fCBjaGFuZ2VzWydtZXRhZGF0YVF1YWxpdHlEaXNwbGF5J10pIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwibWV0YWRhdGFRdWFsaXR5RGlzcGxheVwiXG4gIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbWV0YWRhdGEtcXVhbGl0eSBtaW4tdy0wXCJcbiAgW25nQ2xhc3NdPVwieyAndGV4dC14cyBsZWFkaW5nLVs4cHhdIG0taC1bMTIwcHhdJzogc21hbGxlciB9XCJcbj5cbiAgPGduLXVpLXByb2dyZXNzLWJhclxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW3ZhbHVlXT1cInF1YWxpdHlTY29yZVwiXG4gICAgW3R5cGVdPVwiJ2xpZ2h0J1wiXG4gICAgY2xhc3M9XCJmbGV4LWdyb3dcIlxuICA+PC9nbi11aS1wcm9ncmVzcy1iYXI+XG4gIDxnbi11aS1wb3BvdmVyXG4gICAgW2NvbnRlbnRdPVwicG9wb3Zlckl0ZW1zXCJcbiAgICB0aGVtZT1cImxpZ2h0LWJvcmRlclwiXG4gICAgW2NsYXNzXT1cInNtYWxsZXIgPyAnbWwtMicgOiAnbWwtMiBtdC0xJ1wiXG4gID5cbiAgICA8bmctaWNvblxuICAgICAgbmFtZT1cIm1hdEluZm9PdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiZmxleC1zaHJpbmstMCB0ZXh0LWdyYXktNjAwXCJcbiAgICA+PC9uZy1pY29uPlxuICA8L2duLXVpLXBvcG92ZXI+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlckl0ZW1zPlxuICA8ZGl2IGNsYXNzPVwicC0yIHB5LTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCBmb250LWJvbGRcIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuZGV0YWlsczwvZGl2PlxuICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5LWl0ZW1cbiAgICAgICpuZ0Zvcj1cImxldCBlIG9mIGl0ZW1zXCJcbiAgICAgIFtuYW1lXT1cImUubmFtZVwiXG4gICAgICBbdmFsdWVdPVwiZS52YWx1ZVwiXG4gICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsbUJBQW1CLEdBRXBCLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFBOzs7QUEwQmpFLE1BQU0sT0FBTyx3QkFBd0I7SUF4QnJDO1FBMEJXLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFFZixtQkFBYyxHQUFHLElBQUksQ0FBQTtRQUVyQixzQkFBaUIsR0FBRyxLQUFLLENBQUEsQ0FBQyx5Q0FBeUM7UUFFNUUsVUFBSyxHQUEwQixFQUFFLENBQUE7S0FpQ2xDO0lBL0JDLElBQUksWUFBWTtRQUNkLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWTtZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFBO1FBRTdCLE9BQU8sT0FBTyxZQUFZLEtBQUssUUFBUTtZQUNyQyxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUE7SUFDL0IsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUMzRSxDQUFBO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQTtRQUM5QyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQ3hFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FDeEQsQ0FBQTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztZQUM3RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDbkIsQ0FBQztJQUNILENBQUM7K0dBeENVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDJSQVZ4QjtZQUNULFlBQVksQ0FBQztnQkFDWCxjQUFjO2FBQ2YsQ0FBQztZQUNGLG9CQUFvQixDQUFDO2dCQUNuQixJQUFJLEVBQUUsT0FBTztnQkFDYixXQUFXLEVBQUUsT0FBTzthQUNyQixDQUFDO1NBQ0gsK0NDaERILHU2QkFpQ0EsMkhEQUksWUFBWSw4VkFDWixnQkFBZ0Isd0ZBQ2hCLG9CQUFvQiwwRkFDcEIsNEJBQTRCLG1HQUM1QixrQkFBa0Isa0hBQ2xCLE1BQU07OzRGQVlHLHdCQUF3QjtrQkF4QnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLGtCQUFrQjt3QkFDbEIsTUFBTTtxQkFDUCxhQUNVO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxjQUFjO3lCQUNmLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPOzRCQUNiLFdBQVcsRUFBRSxPQUFPO3lCQUNyQixDQUFDO3FCQUNIOzhCQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIE1ldGFkYXRhUXVhbGl0eUl0ZW0sXG4gIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQsXG59IGZyb20gJy4uL21ldGFkYXRhLXF1YWxpdHktaXRlbS9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIFBvcG92ZXJDb21wb25lbnQsXG4gIFByb2dyZXNzQmFyQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHtcbiAgZ2V0UXVhbGl0eVZhbGlkYXRvcnMsXG4gIGdldEFsbEtleXNWYWxpZGF0b3IsXG4gIHR5cGUgVmFsaWRhdG9yTWFwcGVyS2V5cyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVEaXJlY3RpdmUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTmdJY29uLCBwcm92aWRlSWNvbnMsIHByb3ZpZGVOZ0ljb25zQ29uZmlnIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRJbmZvT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tZXRhZGF0YS1xdWFsaXR5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUG9wb3ZlckNvbXBvbmVudCxcbiAgICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICBNZXRhZGF0YVF1YWxpdHlJdGVtQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgICBOZ0ljb24sXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBtYXRJbmZvT3V0bGluZSxcbiAgICB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS4yZW0nLFxuICAgICAgc3Ryb2tlV2lkdGg6ICcxLjVweCcsXG4gICAgfSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIG1ldGFkYXRhOiBDYXRhbG9nUmVjb3JkXG4gIEBJbnB1dCgpIHNtYWxsZXIgPSBmYWxzZVxuICBASW5wdXQoKSBtZXRhZGF0YVF1YWxpdHlEaXNwbGF5OiBib29sZWFuXG4gIEBJbnB1dCgpIHBvcG92ZXJEaXNwbGF5ID0gdHJ1ZVxuICBASW5wdXQoKSBwcm9wc1RvVmFsaWRhdGU/OiBWYWxpZGF0b3JNYXBwZXJLZXlzW11cbiAgQElucHV0KCkgZm9yY2VDb21wdXRlU2NvcmUgPSBmYWxzZSAvLyBJbnN0ZWFkIG9mIHJldHVybmluZyBlcycgcXVhbGl0eSBzY29yZVxuXG4gIGl0ZW1zOiBNZXRhZGF0YVF1YWxpdHlJdGVtW10gPSBbXVxuXG4gIGdldCBxdWFsaXR5U2NvcmUoKSB7XG4gICAgY29uc3QgcXVhbGl0eVNjb3JlID0gIXRoaXMuZm9yY2VDb21wdXRlU2NvcmVcbiAgICAgID8gdGhpcy5tZXRhZGF0YT8uZXh0cmFzPy5xdWFsaXR5U2NvcmVcbiAgICAgIDogdGhpcy5jb21wdXRlZFF1YWxpdHlTY29yZVxuXG4gICAgcmV0dXJuIHR5cGVvZiBxdWFsaXR5U2NvcmUgPT09ICdudW1iZXInXG4gICAgICA/IHF1YWxpdHlTY29yZVxuICAgICAgOiB0aGlzLmNvbXB1dGVkUXVhbGl0eVNjb3JlXG4gIH1cblxuICBnZXQgY29tcHV0ZWRRdWFsaXR5U2NvcmUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChcbiAgICAgICh0aGlzLml0ZW1zLmZpbHRlcigoeyB2YWx1ZSB9KSA9PiB2YWx1ZSkubGVuZ3RoICogMTAwKSAvIHRoaXMuaXRlbXMubGVuZ3RoXG4gICAgKVxuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBpZiAoIXRoaXMucHJvcHNUb1ZhbGlkYXRlKSB7XG4gICAgICB0aGlzLnByb3BzVG9WYWxpZGF0ZSA9IGdldEFsbEtleXNWYWxpZGF0b3IoKVxuICAgIH1cblxuICAgIHRoaXMuaXRlbXMgPSBnZXRRdWFsaXR5VmFsaWRhdG9ycyh0aGlzLm1ldGFkYXRhLCB0aGlzLnByb3BzVG9WYWxpZGF0ZSkubWFwKFxuICAgICAgKHsgbmFtZSwgdmFsaWRhdG9yIH0pID0+ICh7IG5hbWUsIHZhbHVlOiB2YWxpZGF0b3IoKSB9KVxuICAgIClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snbWV0YWRhdGEnXSB8fCBjaGFuZ2VzWydtZXRhZGF0YVF1YWxpdHlEaXNwbGF5J10pIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwibWV0YWRhdGFRdWFsaXR5RGlzcGxheVwiXG4gIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbWV0YWRhdGEtcXVhbGl0eSBtaW4tdy0wXCJcbiAgW25nQ2xhc3NdPVwieyAndGV4dC14cyBsZWFkaW5nLVs4cHhdIG0taC1bMTIwcHhdJzogc21hbGxlciB9XCJcbj5cbiAgPGduLXVpLXByb2dyZXNzLWJhclxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW3ZhbHVlXT1cInF1YWxpdHlTY29yZVwiXG4gICAgW3R5cGVdPVwiJ2xpZ2h0J1wiXG4gICAgY2xhc3M9XCJmbGV4LWdyb3dcIlxuICA+PC9nbi11aS1wcm9ncmVzcy1iYXI+XG4gIDxnbi11aS1wb3BvdmVyXG4gICAgKm5nSWY9XCJwb3BvdmVyRGlzcGxheVwiXG4gICAgW2NvbnRlbnRdPVwicG9wb3Zlckl0ZW1zXCJcbiAgICB0aGVtZT1cImxpZ2h0LWJvcmRlclwiXG4gICAgW2NsYXNzXT1cInNtYWxsZXIgPyAnbWwtMicgOiAnbWwtMiBtdC0xJ1wiXG4gID5cbiAgICA8bmctaWNvblxuICAgICAgbmFtZT1cIm1hdEluZm9PdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiZmxleC1zaHJpbmstMCB0ZXh0LWdyYXktNjAwXCJcbiAgICA+PC9uZy1pY29uPlxuICA8L2duLXVpLXBvcG92ZXI+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlckl0ZW1zPlxuICA8ZGl2IGNsYXNzPVwicC0yIHB5LTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCBmb250LWJvbGRcIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuZGV0YWlsczwvZGl2PlxuICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5LWl0ZW1cbiAgICAgICpuZ0Zvcj1cImxldCBlIG9mIGl0ZW1zXCJcbiAgICAgIFtuYW1lXT1cImUubmFtZVwiXG4gICAgICBbdmFsdWVdPVwiZS52YWx1ZVwiXG4gICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -6,16 +6,16 @@ import { matCheck, matWarningAmber } from '@ng-icons/material-icons/baseline';
6
6
  import * as i0 from "@angular/core";
7
7
  marker('record.metadata.quality.title.success');
8
8
  marker('record.metadata.quality.title.failed');
9
- marker('record.metadata.quality.description.success');
10
- marker('record.metadata.quality.description.failed');
11
- marker('record.metadata.quality.topic.success');
12
- marker('record.metadata.quality.topic.failed');
9
+ marker('record.metadata.quality.abstract.success');
10
+ marker('record.metadata.quality.abstract.failed');
11
+ marker('record.metadata.quality.topics.success');
12
+ marker('record.metadata.quality.topics.failed');
13
13
  marker('record.metadata.quality.keywords.success');
14
14
  marker('record.metadata.quality.keywords.failed');
15
15
  marker('record.metadata.quality.legalConstraints.success');
16
16
  marker('record.metadata.quality.legalConstraints.failed');
17
- marker('record.metadata.quality.contact.success');
18
- marker('record.metadata.quality.contact.failed');
17
+ marker('record.metadata.quality.contacts.success');
18
+ marker('record.metadata.quality.contacts.failed');
19
19
  marker('record.metadata.quality.updateFrequency.success');
20
20
  marker('record.metadata.quality.updateFrequency.failed');
21
21
  marker('record.metadata.quality.organisation.success');
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
42
42
  }], value: [{
43
43
  type: Input
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOztBQUU3RSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUM5QyxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQTtBQUNwRCxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUM5QyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQTtBQUMxRCxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtBQUN6RCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtBQUN6RCxNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtBQUN4RCxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQTtBQUN0RCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQTtBQUN0RCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQWUvQyxNQUFNLE9BQU8sNEJBQTRCO0lBSXZDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTywyQkFBMkIsSUFBSSxDQUFDLElBQUksSUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUMzQixFQUFFLENBQUE7SUFDSixDQUFDOytHQVpVLDRCQUE0QjttR0FBNUIsNEJBQTRCLGlJQ3hDekMsa0tBSUEsNENEaUNZLE1BQU0sd0dBQUUsYUFBYSx1Q0FDaEIsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQzs7NEZBRWpELDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxpQkFDakIsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQzs4QkFHbkQsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IG1hdENoZWNrLCBtYXRXYXJuaW5nQW1iZXIgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5cbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudGl0bGUuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnRpdGxlLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRlc2NyaXB0aW9uLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5kZXNjcmlwdGlvbi5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS50b3BpYy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudG9waWMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkua2V5d29yZHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmtleXdvcmRzLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS51cGRhdGVGcmVxdWVuY3kuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnVwZGF0ZUZyZXF1ZW5jeS5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5vcmdhbmlzYXRpb24uc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5Lm9yZ2FuaXNhdGlvbi5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5jYXBhYmlsaXRpZXMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmNhcGFiaWxpdGllcy5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5zb3VyY2Uuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnNvdXJjZS5mYWlsZWQnKVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUl0ZW0ge1xuICBuYW1lOiBzdHJpbmdcbiAgdmFsdWU6IGJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJY29uLCBUcmFuc2xhdGVQaXBlXSxcbiAgdmlld1Byb3ZpZGVyczogW3Byb3ZpZGVJY29ucyh7IG1hdENoZWNrLCBtYXRXYXJuaW5nQW1iZXIgfSldLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVF1YWxpdHlJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgTWV0YWRhdGFRdWFsaXR5SXRlbSB7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZ1xuICBASW5wdXQoKSB2YWx1ZTogYm9vbGVhblxuXG4gIGdldCBpY29uKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID8gJ21hdENoZWNrJyA6ICdtYXRXYXJuaW5nQW1iZXInXG4gIH1cblxuICBnZXQgbGFiZWxLZXkoKSB7XG4gICAgcmV0dXJuIGByZWNvcmQubWV0YWRhdGEucXVhbGl0eS4ke3RoaXMubmFtZX0uJHtcbiAgICAgIHRoaXMudmFsdWUgPyAnc3VjY2VzcycgOiAnZmFpbGVkJ1xuICAgIH1gXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtbC00IGZsZXggZmxleC1yb3dcIj5cbiAgPG5nLWljb24gW25hbWVdPVwiaWNvblwiIGNsYXNzPVwibWluLXctZml0XCI+PC9uZy1pY29uPlxuICA8cCBjbGFzcz1cIm1sLTIgdGV4dFwiPnt7IGxhYmVsS2V5IHwgdHJhbnNsYXRlIH19PC9wPlxuPC9kaXY+XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOztBQUU3RSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUM5QyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQTtBQUMxRCxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtBQUN6RCxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtBQUN6RCxNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtBQUN4RCxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQTtBQUN0RCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQTtBQUN0RCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQWUvQyxNQUFNLE9BQU8sNEJBQTRCO0lBSXZDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTywyQkFBMkIsSUFBSSxDQUFDLElBQUksSUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUMzQixFQUFFLENBQUE7SUFDSixDQUFDOytHQVpVLDRCQUE0QjttR0FBNUIsNEJBQTRCLGlJQ3hDekMsa0tBSUEsNENEaUNZLE1BQU0sd0dBQUUsYUFBYSx1Q0FDaEIsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQzs7NEZBRWpELDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxpQkFDakIsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQzs4QkFHbkQsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IG1hdENoZWNrLCBtYXRXYXJuaW5nQW1iZXIgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5cbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudGl0bGUuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnRpdGxlLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmFic3RyYWN0LnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5hYnN0cmFjdC5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS50b3BpY3Muc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnRvcGljcy5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5rZXl3b3Jkcy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkua2V5d29yZHMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkubGVnYWxDb25zdHJhaW50cy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkubGVnYWxDb25zdHJhaW50cy5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5jb250YWN0cy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdHMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudXBkYXRlRnJlcXVlbmN5LnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS51cGRhdGVGcmVxdWVuY3kuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkub3JnYW5pc2F0aW9uLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5vcmdhbmlzYXRpb24uZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY2FwYWJpbGl0aWVzLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5jYXBhYmlsaXRpZXMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuc291cmNlLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5zb3VyY2UuZmFpbGVkJylcblxuZXhwb3J0IGludGVyZmFjZSBNZXRhZGF0YVF1YWxpdHlJdGVtIHtcbiAgbmFtZTogc3RyaW5nXG4gIHZhbHVlOiBib29sZWFuXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1ldGFkYXRhLXF1YWxpdHktaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWNvbiwgVHJhbnNsYXRlUGlwZV0sXG4gIHZpZXdQcm92aWRlcnM6IFtwcm92aWRlSWNvbnMoeyBtYXRDaGVjaywgbWF0V2FybmluZ0FtYmVyIH0pXSxcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE1ldGFkYXRhUXVhbGl0eUl0ZW0ge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmdcbiAgQElucHV0KCkgdmFsdWU6IGJvb2xlYW5cblxuICBnZXQgaWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSA/ICdtYXRDaGVjaycgOiAnbWF0V2FybmluZ0FtYmVyJ1xuICB9XG5cbiAgZ2V0IGxhYmVsS2V5KCkge1xuICAgIHJldHVybiBgcmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuJHt0aGlzLm5hbWV9LiR7XG4gICAgICB0aGlzLnZhbHVlID8gJ3N1Y2Nlc3MnIDogJ2ZhaWxlZCdcbiAgICB9YFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWwtNCBmbGV4IGZsZXgtcm93XCI+XG4gIDxuZy1pY29uIFtuYW1lXT1cImljb25cIiBjbGFzcz1cIm1pbi13LWZpdFwiPjwvbmctaWNvbj5cbiAgPHAgY2xhc3M9XCJtbC0yIHRleHRcIj57eyBsYWJlbEtleSB8IHRyYW5zbGF0ZSB9fTwvcD5cbjwvZGl2PlxuIl19