geonetwork-ui 2.6.0-dev.502fa026d → 2.6.0-dev.b306f1194

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 (71) hide show
  1. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  2. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +3 -3
  3. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  4. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +27 -6
  5. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +22 -6
  6. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  7. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +163 -0
  8. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +29 -7
  9. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  10. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  11. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +3 -2
  12. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  13. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  14. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  15. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +21 -19
  16. package/esm2022/translations/de.json +7 -0
  17. package/esm2022/translations/en.json +8 -1
  18. package/esm2022/translations/es.json +7 -0
  19. package/esm2022/translations/fr.json +7 -0
  20. package/esm2022/translations/it.json +7 -1
  21. package/esm2022/translations/nl.json +7 -0
  22. package/esm2022/translations/pt.json +7 -0
  23. package/fesm2022/geonetwork-ui.mjs +315 -55
  24. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  25. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -0
  26. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  27. package/libs/ui/elements/src/index.d.ts +1 -0
  28. package/libs/ui/elements/src/index.d.ts.map +1 -1
  29. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +9 -1
  30. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  31. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +8 -1
  32. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  33. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +43 -0
  34. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  35. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +10 -2
  36. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  37. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  38. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  39. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  40. package/libs/util/shared/src/lib/links/link-utils.d.ts +16 -16
  41. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -0
  44. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -1
  45. package/src/libs/ui/elements/src/index.ts +1 -0
  46. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +64 -38
  47. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +26 -2
  48. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +17 -17
  49. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +20 -2
  50. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +7 -6
  51. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.css +0 -0
  52. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +156 -0
  53. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +190 -0
  54. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +27 -29
  55. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +33 -3
  56. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +1 -1
  57. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +4 -2
  58. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -1
  59. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
  60. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -4
  61. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -2
  62. package/src/libs/util/shared/src/lib/links/link-utils.ts +20 -18
  63. package/tailwind.base.css +34 -1
  64. package/translations/de.json +7 -0
  65. package/translations/en.json +8 -1
  66. package/translations/es.json +7 -0
  67. package/translations/fr.json +7 -0
  68. package/translations/it.json +7 -1
  69. package/translations/nl.json +7 -0
  70. package/translations/pt.json +7 -0
  71. package/translations/sk.json +7 -0
@@ -0,0 +1,163 @@
1
+ import { Component, Input, TemplateRef, Output, EventEmitter, ElementRef, } from '@angular/core';
2
+ import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
3
+ import { MarkdownParserComponent } from '../markdown-parser/markdown-parser.component';
4
+ import { MetadataQualityComponent } from '../metadata-quality/metadata-quality.component';
5
+ import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
6
+ import { propagateToDocumentOnly, removeWhitespace, stripHtml, } from '../../../../../../libs/util/shared/src';
7
+ import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
8
+ import { matLocationSearchingOutline, matEmailOutline, matPhoneOutline, matLocationOnOutline, } from '@ng-icons/material-icons/outline';
9
+ import { matCode } from '@ng-icons/material-icons/baseline';
10
+ import { iconoirDatabase, iconoirMap, iconoirInternet } from '@ng-icons/iconoir';
11
+ import { TranslateModule } from '@ngx-translate/core';
12
+ import { marker } from '@biesbjerg/ngx-translate-extract-marker';
13
+ import { fromEvent, Subscription } from 'rxjs';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@ngx-translate/core";
16
+ marker('record.kind.dataset');
17
+ marker('record.kind.reuse');
18
+ marker('record.kind.service');
19
+ export class InternalLinkCardComponent {
20
+ set size(value) {
21
+ this._size = value;
22
+ this.cardClass = this.sizeClassMap[value] || '';
23
+ this.thumbnailContainerClass = this.thumbnailSizeClassMap[value] || 'hidden';
24
+ }
25
+ get size() {
26
+ return this._size;
27
+ }
28
+ constructor(elementRef) {
29
+ this.elementRef = elementRef;
30
+ this.linkHref = null;
31
+ this.mdSelect = new EventEmitter();
32
+ this.subscription = new Subscription();
33
+ this.cardClass = '';
34
+ this.thumbnailContainerClass = '';
35
+ this._size = 'M';
36
+ this.sizeClassMap = {
37
+ L: 'min-h-[190px] md:w-[992px] py-3 px-3 flex items-start gap-5',
38
+ M: 'min-h-[140px] md:w-[570px] py-3 px-3 flex items-start gap-4',
39
+ S: 'min-h-[220px] md:w-[370px] py-3 px-3 flex gap-4',
40
+ XS: 'min-h-[108px] md:w-[570px] py-3 px-3 flex gap-4',
41
+ };
42
+ this.thumbnailSizeClassMap = {
43
+ L: 'w-[190px] h-[180px] rounded-lg overflow-hidden shrink-0',
44
+ M: 'w-[110px] h-[140px] rounded-lg overflow-hidden shrink-0',
45
+ S: 'hidden',
46
+ XS: 'hidden',
47
+ };
48
+ this.titleClassMap = {
49
+ L: 'text-xl line-clamp-2',
50
+ M: 'text-base line-clamp-2',
51
+ S: 'text-base line-clamp-3',
52
+ XS: 'text-base mt-3 line-clamp-2',
53
+ };
54
+ }
55
+ ngOnInit() {
56
+ this.abstract = removeWhitespace(stripHtml(this.record?.abstract));
57
+ this.subscription.add(fromEvent(this.elementRef.nativeElement, 'click').subscribe((event) => {
58
+ event.preventDefault();
59
+ propagateToDocumentOnly(event);
60
+ this.mdSelect.emit(this.record);
61
+ }));
62
+ }
63
+ get organization() {
64
+ return this.record.ownerOrganization;
65
+ }
66
+ get contacts() {
67
+ return ((this.record.kind === 'dataset'
68
+ ? this.record.contactsForResource
69
+ : this.record.contacts) || []);
70
+ }
71
+ getTitleClass() {
72
+ return (this.titleClassMap[this._size] +
73
+ ' ' +
74
+ (this.record.ownerOrganization?.name ? '' : 'mt-3') || '');
75
+ }
76
+ openExternalUrl(event, url) {
77
+ event.stopPropagation();
78
+ window.open(url, '_blank');
79
+ }
80
+ openMailto(event, email) {
81
+ event.stopPropagation();
82
+ window.open(`mailto:${email}`, '_blank');
83
+ }
84
+ copyToClipboard(event, text) {
85
+ event.stopPropagation();
86
+ navigator.clipboard.writeText(text);
87
+ }
88
+ get shouldShowThumbnail() {
89
+ return this.size === 'L' || this.size === 'M';
90
+ }
91
+ getKindInfo() {
92
+ if (!this.record?.kind)
93
+ return { text: '', icon: '' };
94
+ switch (this.record.kind.toLowerCase()) {
95
+ case 'dataset':
96
+ return { text: 'record.kind.dataset', icon: 'iconoirDatabase' };
97
+ case 'reuse':
98
+ return { text: 'record.kind.reuse', icon: 'iconoirMap' };
99
+ case 'service':
100
+ return { text: 'record.kind.service', icon: 'matCode' };
101
+ default:
102
+ return { text: '', icon: '' };
103
+ }
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InternalLinkCardComponent, isStandalone: true, selector: "gn-ui-internal-link-card", inputs: { record: "record", metadataQualityDisplay: "metadataQualityDisplay", favoriteTemplate: "favoriteTemplate", linkHref: "linkHref", isGeodata: "isGeodata", size: "size" }, outputs: { mdSelect: "mdSelect" }, providers: [
107
+ provideIcons({
108
+ matLocationSearchingOutline,
109
+ matCode,
110
+ iconoirDatabase,
111
+ iconoirMap,
112
+ iconoirInternet,
113
+ matEmailOutline,
114
+ matPhoneOutline,
115
+ matLocationOnOutline,
116
+ }),
117
+ provideNgIconsConfig({
118
+ size: '1.2em',
119
+ }),
120
+ ], ngImport: i0, template: "<div\n class=\"rounded-lg group card-shadow cursor-pointer overflow-hidden hover:bg-gray-50\"\n [ngClass]=\"cardClass\"\n>\n <div class=\"flex flex-row justify-between w-full\">\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"mr-4 flex flex-col\"\n >\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\n class=\"flex flex-col flex-1 relative\"\n [ngClass]=\"{\n 'justify-between': record.ownerOrganization?.name && size !== 'XS',\n }\"\n >\n <div class=\"flex items-center space-x-2\">\n <span\n *ngIf=\"getKindInfo().text\"\n class=\"badge-btn text-white text-xs px-2 py-0.5 font-bold shrink-0 bg-primary leading-tight flex items-center justify-evenly h-6 min-h-6\"\n >\n <ng-icon\n class=\"text-[0.9em] text-white mr-1\"\n [name]=\"getKindInfo().icon\"\n ></ng-icon>\n <span class=\"font-medium text-white text-xs\" translate>\n {{ getKindInfo().text }}\n </span>\n </span>\n <span\n *ngIf=\"isGeodata\"\n class=\"badge-btn text-black text-xs px-2 py-0.5 font-bold shrink-0 bg-primary-white leading-tight flex items-center justify-evenly h-6 min-h-6\"\n [ngClass]=\"size === 'L' ? 'w-[164px]' : 'w-8'\"\n >\n <ng-icon\n class=\"text-[0.9em] text-primary-darkest\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <ng-container *ngIf=\"size === 'L'\">\n <span\n class=\"font-medium text-primary-darkest text-xs ml-1\"\n translate\n >\n record.metadata.type\n </span>\n </ng-container>\n </span>\n <div class=\"flex items-center\">\n <gn-ui-metadata-quality\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div class=\"absolute top-0 right-0 items-center\">\n <ng-container\n *ngIf=\"size !== 'XS'\"\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"font-medium text-title group-hover:text-primary overflow-hidden break-words\"\n [ngClass]=\"getTitleClass()\"\n >\n {{ record.title }}\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mt-1 mb-2 font-normal text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n <div\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div class=\"text-xl text-primary-black font-medium truncate\">\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { 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: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }] }); }
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, decorators: [{
123
+ type: Component,
124
+ args: [{ selector: 'gn-ui-internal-link-card', standalone: true, imports: [
125
+ NgClass,
126
+ NgIf,
127
+ ThumbnailComponent,
128
+ MetadataQualityComponent,
129
+ NgTemplateOutlet,
130
+ NgIconComponent,
131
+ TranslateModule,
132
+ MarkdownParserComponent,
133
+ ], providers: [
134
+ provideIcons({
135
+ matLocationSearchingOutline,
136
+ matCode,
137
+ iconoirDatabase,
138
+ iconoirMap,
139
+ iconoirInternet,
140
+ matEmailOutline,
141
+ matPhoneOutline,
142
+ matLocationOnOutline,
143
+ }),
144
+ provideNgIconsConfig({
145
+ size: '1.2em',
146
+ }),
147
+ ], template: "<div\n class=\"rounded-lg group card-shadow cursor-pointer overflow-hidden hover:bg-gray-50\"\n [ngClass]=\"cardClass\"\n>\n <div class=\"flex flex-row justify-between w-full\">\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"mr-4 flex flex-col\"\n >\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\n class=\"flex flex-col flex-1 relative\"\n [ngClass]=\"{\n 'justify-between': record.ownerOrganization?.name && size !== 'XS',\n }\"\n >\n <div class=\"flex items-center space-x-2\">\n <span\n *ngIf=\"getKindInfo().text\"\n class=\"badge-btn text-white text-xs px-2 py-0.5 font-bold shrink-0 bg-primary leading-tight flex items-center justify-evenly h-6 min-h-6\"\n >\n <ng-icon\n class=\"text-[0.9em] text-white mr-1\"\n [name]=\"getKindInfo().icon\"\n ></ng-icon>\n <span class=\"font-medium text-white text-xs\" translate>\n {{ getKindInfo().text }}\n </span>\n </span>\n <span\n *ngIf=\"isGeodata\"\n class=\"badge-btn text-black text-xs px-2 py-0.5 font-bold shrink-0 bg-primary-white leading-tight flex items-center justify-evenly h-6 min-h-6\"\n [ngClass]=\"size === 'L' ? 'w-[164px]' : 'w-8'\"\n >\n <ng-icon\n class=\"text-[0.9em] text-primary-darkest\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <ng-container *ngIf=\"size === 'L'\">\n <span\n class=\"font-medium text-primary-darkest text-xs ml-1\"\n translate\n >\n record.metadata.type\n </span>\n </ng-container>\n </span>\n <div class=\"flex items-center\">\n <gn-ui-metadata-quality\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div class=\"absolute top-0 right-0 items-center\">\n <ng-container\n *ngIf=\"size !== 'XS'\"\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"font-medium text-title group-hover:text-primary overflow-hidden break-words\"\n [ngClass]=\"getTitleClass()\"\n >\n {{ record.title }}\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mt-1 mb-2 font-normal text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n <div\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div class=\"text-xl text-primary-black font-medium truncate\">\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
148
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { record: [{
149
+ type: Input
150
+ }], metadataQualityDisplay: [{
151
+ type: Input
152
+ }], favoriteTemplate: [{
153
+ type: Input
154
+ }], linkHref: [{
155
+ type: Input
156
+ }], isGeodata: [{
157
+ type: Input
158
+ }], size: [{
159
+ type: Input
160
+ }], mdSelect: [{
161
+ type: Output
162
+ }] } });
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQTtBQUt0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsZ0JBQWdCLEVBQ2hCLFNBQVMsR0FDVixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLG9CQUFvQixHQUNyQixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsZUFBZSxFQUNmLGVBQWUsRUFDZixvQkFBb0IsR0FDckIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsZUFBZSxF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QixJQUFJLEVBQUUsT0FBTzt5QkFDZCxDQUFDO3FCQUNIOytFQUtRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDTyxJQUFJO3NCQUFoQixLQUFLO2dCQVFJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIE9yZ2FuaXphdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQge1xuICBwcm9wYWdhdGVUb0RvY3VtZW50T25seSxcbiAgcmVtb3ZlV2hpdGVzcGFjZSxcbiAgc3RyaXBIdG1sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQge1xuICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gIG1hdEVtYWlsT3V0bGluZSxcbiAgbWF0UGhvbmVPdXRsaW5lLFxuICBtYXRMb2NhdGlvbk9uT3V0bGluZSxcbn0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5pbXBvcnQgeyBtYXRDb2RlIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgaWNvbm9pckRhdGFiYXNlLCBpY29ub2lyTWFwLCBpY29ub2lySW50ZXJuZXQgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5cbm1hcmtlcigncmVjb3JkLmtpbmQuZGF0YXNldCcpXG5tYXJrZXIoJ3JlY29yZC5raW5kLnJldXNlJylcbm1hcmtlcigncmVjb3JkLmtpbmQuc2VydmljZScpXG5cbnR5cGUgQ2FyZFNpemUgPSAnTCcgfCAnTScgfCAnUycgfCAnWFMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWludGVybmFsLWxpbmstY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gICAgICBtYXRDb2RlLFxuICAgICAgaWNvbm9pckRhdGFiYXNlLFxuICAgICAgaWNvbm9pck1hcCxcbiAgICAgIGljb25vaXJJbnRlcm5ldCxcbiAgICAgIG1hdEVtYWlsT3V0bGluZSxcbiAgICAgIG1hdFBob25lT3V0bGluZSxcbiAgICAgIG1hdExvY2F0aW9uT25PdXRsaW5lLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjJlbScsXG4gICAgfSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbExpbmtDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVjb3JkOiBDYXRhbG9nUmVjb3JkXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cbiAgQElucHV0KCkgZmF2b3JpdGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IENhdGFsb2dSZWNvcmQgfT5cbiAgQElucHV0KCkgbGlua0hyZWY6IHN0cmluZyA9IG51bGxcbiAgQElucHV0KCkgaXNHZW9kYXRhOiBib29sZWFuXG4gIEBJbnB1dCgpIHNldCBzaXplKHZhbHVlOiBDYXJkU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZVxuICAgIHRoaXMuY2FyZENsYXNzID0gdGhpcy5zaXplQ2xhc3NNYXBbdmFsdWVdIHx8ICcnXG4gICAgdGhpcy50aHVtYm5haWxDb250YWluZXJDbGFzcyA9IHRoaXMudGh1bWJuYWlsU2l6ZUNsYXNzTWFwW3ZhbHVlXSB8fCAnaGlkZGVuJ1xuICB9XG4gIGdldCBzaXplKCk6IENhcmRTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZVxuICB9XG4gIEBPdXRwdXQoKSBtZFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2F0YWxvZ1JlY29yZD4oKVxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKClcblxuICBhYnN0cmFjdDogc3RyaW5nXG5cbiAgY2FyZENsYXNzID0gJydcbiAgdGh1bWJuYWlsQ29udGFpbmVyQ2xhc3MgPSAnJ1xuXG4gIHByaXZhdGUgX3NpemU6IENhcmRTaXplID0gJ00nXG5cbiAgcHJpdmF0ZSByZWFkb25seSBzaXplQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAnbWluLWgtWzE5MHB4XSBtZDp3LVs5OTJweF0gcHktMyBweC0zIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTUnLFxuICAgIE06ICdtaW4taC1bMTQwcHhdIG1kOnctWzU3MHB4XSBweS0zIHB4LTMgZmxleCBpdGVtcy1zdGFydCBnYXAtNCcsXG4gICAgUzogJ21pbi1oLVsyMjBweF0gbWQ6dy1bMzcwcHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgICBYUzogJ21pbi1oLVsxMDhweF0gbWQ6dy1bNTcwcHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGh1bWJuYWlsU2l6ZUNsYXNzTWFwOiBSZWNvcmQ8Q2FyZFNpemUsIHN0cmluZz4gPSB7XG4gICAgTDogJ3ctWzE5MHB4XSBoLVsxODBweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAnLFxuICAgIE06ICd3LVsxMTBweF0gaC1bMTQwcHhdIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wJyxcbiAgICBTOiAnaGlkZGVuJyxcbiAgICBYUzogJ2hpZGRlbicsXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAndGV4dC14bCBsaW5lLWNsYW1wLTInLFxuICAgIE06ICd0ZXh0LWJhc2UgbGluZS1jbGFtcC0yJyxcbiAgICBTOiAndGV4dC1iYXNlIGxpbmUtY2xhbXAtMycsXG4gICAgWFM6ICd0ZXh0LWJhc2UgbXQtMyBsaW5lLWNsYW1wLTInLFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdCA9IHJlbW92ZVdoaXRlc3BhY2Uoc3RyaXBIdG1sKHRoaXMucmVjb3JkPy5hYnN0cmFjdCkpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5zdWJzY3JpYmUoXG4gICAgICAgIChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkoZXZlbnQpXG4gICAgICAgICAgdGhpcy5tZFNlbGVjdC5lbWl0KHRoaXMucmVjb3JkKVxuICAgICAgICB9XG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgZ2V0IG9yZ2FuaXphdGlvbigpOiBPcmdhbml6YXRpb24ge1xuICAgIHJldHVybiB0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvblxuICB9XG5cbiAgZ2V0IGNvbnRhY3RzKCkge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5yZWNvcmQua2luZCA9PT0gJ2RhdGFzZXQnXG4gICAgICAgID8gdGhpcy5yZWNvcmQuY29udGFjdHNGb3JSZXNvdXJjZVxuICAgICAgICA6IHRoaXMucmVjb3JkLmNvbnRhY3RzKSB8fCBbXVxuICAgIClcbiAgfVxuXG4gIGdldFRpdGxlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudGl0bGVDbGFzc01hcFt0aGlzLl9zaXplXSArXG4gICAgICAgICcgJyArXG4gICAgICAgICh0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZSA/ICcnIDogJ210LTMnKSB8fCAnJ1xuICAgIClcbiAgfVxuXG4gIG9wZW5FeHRlcm5hbFVybChldmVudDogRXZlbnQsIHVybDogVVJMKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKVxuICB9XG5cbiAgb3Blbk1haWx0byhldmVudDogRXZlbnQsIGVtYWlsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHdpbmRvdy5vcGVuKGBtYWlsdG86JHtlbWFpbH1gLCAnX2JsYW5rJylcbiAgfVxuXG4gIGNvcHlUb0NsaXBib2FyZChldmVudDogRXZlbnQsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dClcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93VGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdMJyB8fCB0aGlzLnNpemUgPT09ICdNJ1xuICB9XG5cbiAgZ2V0S2luZEluZm8oKTogeyB0ZXh0OiBzdHJpbmc7IGljb246IHN0cmluZyB9IHtcbiAgICBpZiAoIXRoaXMucmVjb3JkPy5raW5kKSByZXR1cm4geyB0ZXh0OiAnJywgaWNvbjogJycgfVxuXG4gICAgc3dpdGNoICh0aGlzLnJlY29yZC5raW5kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2RhdGFzZXQnOlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAncmVjb3JkLmtpbmQuZGF0YXNldCcsIGljb246ICdpY29ub2lyRGF0YWJhc2UnIH1cbiAgICAgIGNhc2UgJ3JldXNlJzpcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogJ3JlY29yZC5raW5kLnJldXNlJywgaWNvbjogJ2ljb25vaXJNYXAnIH1cbiAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAncmVjb3JkLmtpbmQuc2VydmljZScsIGljb246ICdtYXRDb2RlJyB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAnJywgaWNvbjogJycgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInJvdW5kZWQtbGcgZ3JvdXAgY2FyZC1zaGFkb3cgY3Vyc29yLXBvaW50ZXIgb3ZlcmZsb3ctaGlkZGVuIGhvdmVyOmJnLWdyYXktNTBcIlxuICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJzaG91bGRTaG93VGh1bWJuYWlsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInRodW1ibmFpbENvbnRhaW5lckNsYXNzXCJcbiAgICAgIGNsYXNzPVwibXItNCBmbGV4IGZsZXgtY29sXCJcbiAgICA+XG4gICAgICA8Z24tdWktdGh1bWJuYWlsXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgICBbdGh1bWJuYWlsVXJsXT1cInJlY29yZC5vdmVydmlld3M/LlswXT8udXJsPy50b1N0cmluZygpIHx8ICcnXCJcbiAgICAgICAgW2ZpdF09XCInY292ZXInXCJcbiAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC0xIHJlbGF0aXZlXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2p1c3RpZnktYmV0d2Vlbic6IHJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZSAmJiBzaXplICE9PSAnWFMnLFxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMlwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiZ2V0S2luZEluZm8oKS50ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biB0ZXh0LXdoaXRlIHRleHQteHMgcHgtMiBweS0wLjUgZm9udC1ib2xkIHNocmluay0wIGJnLXByaW1hcnkgbGVhZGluZy10aWdodCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBoLTYgbWluLWgtNlwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVswLjllbV0gdGV4dC13aGl0ZSBtci0xXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImdldEtpbmRJbmZvKCkuaWNvblwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtd2hpdGUgdGV4dC14c1wiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIHt7IGdldEtpbmRJbmZvKCkudGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXNHZW9kYXRhXCJcbiAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biB0ZXh0LWJsYWNrIHRleHQteHMgcHgtMiBweS0wLjUgZm9udC1ib2xkIHNocmluay0wIGJnLXByaW1hcnktd2hpdGUgbGVhZGluZy10aWdodCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBoLTYgbWluLWgtNlwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwic2l6ZSA9PT0gJ0wnID8gJ3ctWzE2NHB4XScgOiAndy04J1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVswLjllbV0gdGV4dC1wcmltYXJ5LWRhcmtlc3RcIlxuICAgICAgICAgICAgbmFtZT1cIm1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZVwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2l6ZSA9PT0gJ0wnXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtcHJpbWFyeS1kYXJrZXN0IHRleHQteHMgbWwtMVwiXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICByZWNvcmQubWV0YWRhdGEudHlwZVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5XG4gICAgICAgICAgICBbc21hbGxlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFttZXRhZGF0YV09XCJyZWNvcmRcIlxuICAgICAgICAgICAgW21ldGFkYXRhUXVhbGl0eURpc3BsYXldPVwibWV0YWRhdGFRdWFsaXR5RGlzcGxheVwiXG4gICAgICAgICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwic2l6ZSAhPT0gJ1hTJ1wiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmYXZvcml0ZVRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcmVjb3JkIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXRpdGxlIGdyb3VwLWhvdmVyOnRleHQtcHJpbWFyeSBvdmVyZmxvdy1oaWRkZW4gYnJlYWstd29yZHNcIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRUaXRsZUNsYXNzKClcIlxuICAgICAgPlxuICAgICAgICB7eyByZWNvcmQudGl0bGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNpemUgPT09ICdMJ1wiXG4gICAgICAgIGNsYXNzPVwibXQtMSBtYi0yIGZvbnQtbm9ybWFsIHRleHQteHMgdGV4dC1ncmF5LTkwMCBsaW5lLWNsYW1wLTIgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgID5cbiAgICAgICAgPGduLXVpLW1hcmtkb3duLXBhcnNlclxuICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhYnN0cmFjdFwiXG4gICAgICAgICAgW3doaXRvdXRTdHlsZXNdPVwidHJ1ZVwiXG4gICAgICAgID48L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNpemUgIT09ICdYUycgJiYgcmVjb3JkLm93bmVyT3JnYW5pemF0aW9uPy5uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBiZy1ncmF5LTUwIHJvdW5kZWQtbGcgaC1bNTNweF0gcHgtMlwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LTEgbWluLXctMFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidy1bNDVweF0gaC1bNDVweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAgbXItM1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICAgICAgICBbdGh1bWJuYWlsVXJsXT1cIlxuICAgICAgICAgICAgICAgIHJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubG9nb1VybD8udG9TdHJpbmcoKSB8fCAnJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZml0XT1cIidjb250YWluJ1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCByb3VuZGVkLWxnXCJcbiAgICAgICAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JnYW5pemF0aW9uPy5uYW1lXCIgY2xhc3M9XCJmbGV4LTEgdy0wIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1ibGFjayBmb250LW5vcm1hbCBsZWFkaW5nLXRpZ2h0IHRydW5jYXRlXCJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHJlY29yZC5jYXJkLm1ldGFkYXRhLmNvbnRhY3RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQteGwgdGV4dC1wcmltYXJ5LWJsYWNrIGZvbnQtbWVkaXVtIHRydW5jYXRlXCI+XG4gICAgICAgICAgICAgIHt7IG9yZ2FuaXphdGlvbi5uYW1lIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaXplID09PSAnTCdcIiBjbGFzcz1cIm1sLTIgZmxleCBzcGFjZS14LTJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JnYW5pemF0aW9uPy53ZWJzaXRlXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJvcmdhbml6YXRpb24ud2Vic2l0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5FeHRlcm5hbFVybCgkZXZlbnQsIG9yZ2FuaXphdGlvbi53ZWJzaXRlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lySW50ZXJuZXRcIj48L25nLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LmVtYWlsXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJjb250YWN0c1swXS5lbWFpbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1haWx0bygkZXZlbnQsIGNvbnRhY3RzWzBdLmVtYWlsKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRFbWFpbE91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LnBob25lXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5waG9uZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0UGhvbmVPdXRsaW5lXCI+PC9uZy1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRhY3RzWzBdPy5hZGRyZXNzXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5hZGRyZXNzKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRMb2NhdGlvbk9uT3V0bGluZVwiPjwvbmctaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -2,11 +2,27 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
4
4
  import { matOpenInNew } from '@ng-icons/material-icons/baseline';
5
+ import { getBadgeColor, getFileFormat } from '../../../../../../libs/util/shared/src';
6
+ import { TranslateModule } from '@ngx-translate/core';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/common";
9
+ import * as i2 from "@ngx-translate/core";
7
10
  export class LinkCardComponent {
8
11
  constructor() {
9
- this.compact = false;
12
+ this.sizeClassMap = {
13
+ L: 'gn-ui-card-l py-2 px-5',
14
+ M: 'gn-ui-card-m py-2 px-5',
15
+ S: 'gn-ui-card-s p-4',
16
+ XS: 'gn-ui-card-xs py-2 px-5',
17
+ };
18
+ this.cardClass = '';
19
+ }
20
+ set size(value) {
21
+ this._size = value;
22
+ this.cardClass = this.sizeClassMap[value];
23
+ }
24
+ get size() {
25
+ return this._size;
10
26
  }
11
27
  get title() {
12
28
  if (this.link.name && this.link.description) {
@@ -14,25 +30,31 @@ export class LinkCardComponent {
14
30
  }
15
31
  return this.link.name || this.link.description || '';
16
32
  }
33
+ getLinkFormat(link) {
34
+ return getFileFormat(link);
35
+ }
36
+ getLinkColor(link) {
37
+ return getBadgeColor(getFileFormat(link));
38
+ }
17
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LinkCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LinkCardComponent, isStandalone: true, selector: "gn-ui-link-card", inputs: { link: "link", compact: "compact" }, providers: [
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LinkCardComponent, isStandalone: true, selector: "gn-ui-link-card", inputs: { link: "link", size: "size" }, providers: [
19
41
  provideIcons({
20
42
  matOpenInNew,
21
43
  }),
22
44
  provideNgIconsConfig({ size: '1.5em' }),
23
- ], ngImport: i0, template: "<a\n [href]=\"link.url\"\n target=\"_blank\"\n class=\"flex flex-col justify-between group grow py-5 px-5 bg-white rounded border-gray-300 filter card-shadow overflow-hidden\"\n [ngClass]=\"{ 'h-40': !compact }\"\n [title]=\"title\"\n>\n <ng-container *ngIf=\"!compact; else compactTpl\">\n <div class=\"max-h-24 overflow-hidden text-ellipsis\">\n <p\n class=\"font-title font-medium text-21 text-black break-words mb-1 line-clamp-2\"\n >\n {{ link.name }}\n </p>\n <p class=\"font-medium text-sm break-words\">\n {{ link.description }}\n </p>\n <p\n *ngIf=\"!link.name && !link.description\"\n class=\"font-medium text-sm break-words truncate\"\n >\n {{ link.url }}\n </p>\n </div>\n <div>\n <ng-icon class=\"card-icon\" name=\"matOpenInNew\"></ng-icon>\n </div>\n </ng-container>\n <ng-template #compactTpl>\n <div class=\"flex items-center justify-between gap-4\">\n <p\n class=\"overflow-hidden font-title font-medium text-21 text-black text-ellipsis whitespace-nowrap\"\n >\n {{ link.name || link.description }}\n </p>\n <ng-icon class=\"card-icon flex-shrink-0\" name=\"matOpenInNew\"></ng-icon>\n </div>\n </ng-template>\n</a>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ ], ngImport: i0, template: "<a\n [href]=\"link.url\"\n target=\"_blank\"\n class=\"group flex flex-row justify-between card-shadow cursor-pointer rounded overflow-hidden\"\n [ngClass]=\"cardClass\"\n [title]=\"title\"\n>\n <div class=\"flex flex-col justify-between\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n <p *ngIf=\"!link.name && !link.description\" class=\"gn-ui-card-title\">\n {{ link.url }}\n </p>\n <div class=\"pt-1\">\n <span\n class=\"inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded transition-opacity opacity-70 group-hover:opacity-100\"\n [style.background-color]=\"getLinkColor(link)\"\n data-cy=\"download-format\"\n >{{\n getLinkFormat(link) || ('downloads.format.unknown' | translate)\n }}</span\n >\n </div>\n </div>\n <div class=\"flex\" [ngClass]=\"size === 'S' ? 'items-end' : 'items-center'\">\n <div class=\"gn-ui-card-icon\">\n <ng-icon\n class=\"inline-block card-icon align-middle\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
46
  }
25
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LinkCardComponent, decorators: [{
26
48
  type: Component,
27
- args: [{ selector: 'gn-ui-link-card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIconComponent], providers: [
49
+ args: [{ selector: 'gn-ui-link-card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIconComponent, TranslateModule], providers: [
28
50
  provideIcons({
29
51
  matOpenInNew,
30
52
  }),
31
53
  provideNgIconsConfig({ size: '1.5em' }),
32
- ], template: "<a\n [href]=\"link.url\"\n target=\"_blank\"\n class=\"flex flex-col justify-between group grow py-5 px-5 bg-white rounded border-gray-300 filter card-shadow overflow-hidden\"\n [ngClass]=\"{ 'h-40': !compact }\"\n [title]=\"title\"\n>\n <ng-container *ngIf=\"!compact; else compactTpl\">\n <div class=\"max-h-24 overflow-hidden text-ellipsis\">\n <p\n class=\"font-title font-medium text-21 text-black break-words mb-1 line-clamp-2\"\n >\n {{ link.name }}\n </p>\n <p class=\"font-medium text-sm break-words\">\n {{ link.description }}\n </p>\n <p\n *ngIf=\"!link.name && !link.description\"\n class=\"font-medium text-sm break-words truncate\"\n >\n {{ link.url }}\n </p>\n </div>\n <div>\n <ng-icon class=\"card-icon\" name=\"matOpenInNew\"></ng-icon>\n </div>\n </ng-container>\n <ng-template #compactTpl>\n <div class=\"flex items-center justify-between gap-4\">\n <p\n class=\"overflow-hidden font-title font-medium text-21 text-black text-ellipsis whitespace-nowrap\"\n >\n {{ link.name || link.description }}\n </p>\n <ng-icon class=\"card-icon flex-shrink-0\" name=\"matOpenInNew\"></ng-icon>\n </div>\n </ng-template>\n</a>\n" }]
54
+ ], template: "<a\n [href]=\"link.url\"\n target=\"_blank\"\n class=\"group flex flex-row justify-between card-shadow cursor-pointer rounded overflow-hidden\"\n [ngClass]=\"cardClass\"\n [title]=\"title\"\n>\n <div class=\"flex flex-col justify-between\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n <p *ngIf=\"!link.name && !link.description\" class=\"gn-ui-card-title\">\n {{ link.url }}\n </p>\n <div class=\"pt-1\">\n <span\n class=\"inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded transition-opacity opacity-70 group-hover:opacity-100\"\n [style.background-color]=\"getLinkColor(link)\"\n data-cy=\"download-format\"\n >{{\n getLinkFormat(link) || ('downloads.format.unknown' | translate)\n }}</span\n >\n </div>\n </div>\n <div class=\"flex\" [ngClass]=\"size === 'S' ? 'items-end' : 'items-center'\">\n <div class=\"gn-ui-card-icon\">\n <ng-icon\n class=\"inline-block card-icon align-middle\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </div>\n </div>\n</a>\n" }]
33
55
  }], propDecorators: { link: [{
34
56
  type: Input
35
- }], compact: [{
57
+ }], size: [{
36
58
  type: Input
37
59
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9saW5rLWNhcmQvbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9saW5rLWNhcmQvbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7OztBQWdCaEUsTUFBTSxPQUFPLGlCQUFpQjtJQWQ5QjtRQWdCVyxZQUFPLEdBQUcsS0FBSyxDQUFBO0tBUXpCO0lBTkMsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3ZELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQTtJQUN0RCxDQUFDOytHQVRVLGlCQUFpQjttR0FBakIsaUJBQWlCLDRHQVBqQjtZQUNULFlBQVksQ0FBQztnQkFDWCxZQUFZO2FBQ2IsQ0FBQztZQUNGLG9CQUFvQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQ3hDLDBCQ3RCSCxxd0NBdUNBLHlERHZCWSxZQUFZLGlPQUFFLGVBQWU7OzRGQVE1QixpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxhQUM3Qjt3QkFDVCxZQUFZLENBQUM7NEJBQ1gsWUFBWTt5QkFDYixDQUFDO3dCQUNGLG9CQUFvQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO3FCQUN4Qzs4QkFHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRGF0YXNldE9ubGluZVJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdE9wZW5Jbk5ldyB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbGluay1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmstY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmstY2FyZC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ0ljb25Db21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0T3BlbkluTmV3LFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHsgc2l6ZTogJzEuNWVtJyB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlua0NhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2VcbiAgQElucHV0KCkgY29tcGFjdCA9IGZhbHNlXG5cbiAgZ2V0IHRpdGxlKCkge1xuICAgIGlmICh0aGlzLmxpbmsubmFtZSAmJiB0aGlzLmxpbmsuZGVzY3JpcHRpb24pIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmxpbmsubmFtZX0gfCAke3RoaXMubGluay5kZXNjcmlwdGlvbn1gXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxpbmsubmFtZSB8fCB0aGlzLmxpbmsuZGVzY3JpcHRpb24gfHwgJydcbiAgfVxufVxuIiwiPGFcbiAgW2hyZWZdPVwibGluay51cmxcIlxuICB0YXJnZXQ9XCJfYmxhbmtcIlxuICBjbGFzcz1cImZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIGdyb3VwIGdyb3cgcHktNSBweC01IGJnLXdoaXRlIHJvdW5kZWQgYm9yZGVyLWdyYXktMzAwIGZpbHRlciBjYXJkLXNoYWRvdyBvdmVyZmxvdy1oaWRkZW5cIlxuICBbbmdDbGFzc109XCJ7ICdoLTQwJzogIWNvbXBhY3QgfVwiXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29tcGFjdDsgZWxzZSBjb21wYWN0VHBsXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1heC1oLTI0IG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzXCI+XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cImZvbnQtdGl0bGUgZm9udC1tZWRpdW0gdGV4dC0yMSB0ZXh0LWJsYWNrIGJyZWFrLXdvcmRzIG1iLTEgbGluZS1jbGFtcC0yXCJcbiAgICAgID5cbiAgICAgICAge3sgbGluay5uYW1lIH19XG4gICAgICA8L3A+XG4gICAgICA8cCBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtc20gYnJlYWstd29yZHNcIj5cbiAgICAgICAge3sgbGluay5kZXNjcmlwdGlvbiB9fVxuICAgICAgPC9wPlxuICAgICAgPHBcbiAgICAgICAgKm5nSWY9XCIhbGluay5uYW1lICYmICFsaW5rLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXNtIGJyZWFrLXdvcmRzIHRydW5jYXRlXCJcbiAgICAgID5cbiAgICAgICAge3sgbGluay51cmwgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPG5nLWljb24gY2xhc3M9XCJjYXJkLWljb25cIiBuYW1lPVwibWF0T3BlbkluTmV3XCI+PC9uZy1pY29uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNjb21wYWN0VHBsPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTRcIj5cbiAgICAgIDxwXG4gICAgICAgIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIGZvbnQtdGl0bGUgZm9udC1tZWRpdW0gdGV4dC0yMSB0ZXh0LWJsYWNrIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXBcIlxuICAgICAgPlxuICAgICAgICB7eyBsaW5rLm5hbWUgfHwgbGluay5kZXNjcmlwdGlvbiB9fVxuICAgICAgPC9wPlxuICAgICAgPG5nLWljb24gY2xhc3M9XCJjYXJkLWljb24gZmxleC1zaHJpbmstMFwiIG5hbWU9XCJtYXRPcGVuSW5OZXdcIj48L25nLWljb24+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2E+XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9saW5rLWNhcmQvbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9saW5rLWNhcmQvbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBTXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7QUFpQnJELE1BQU0sT0FBTyxpQkFBaUI7SUFkOUI7UUFpQm1CLGlCQUFZLEdBQTZCO1lBQ3hELENBQUMsRUFBRSx3QkFBd0I7WUFDM0IsQ0FBQyxFQUFFLHdCQUF3QjtZQUMzQixDQUFDLEVBQUUsa0JBQWtCO1lBQ3JCLEVBQUUsRUFBRSx5QkFBeUI7U0FDOUIsQ0FBQTtRQVNELGNBQVMsR0FBRyxFQUFFLENBQUE7S0FnQmY7SUF2QkMsSUFBYSxJQUFJLENBQUMsS0FBZTtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNuQixDQUFDO0lBR0QsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3ZELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQTtJQUN0RCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVM7UUFDckIsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTO1FBQ3BCLE9BQU8sYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7K0dBaENVLGlCQUFpQjttR0FBakIsaUJBQWlCLHNHQVBqQjtZQUNULFlBQVksQ0FBQztnQkFDWCxZQUFZO2FBQ2IsQ0FBQztZQUNGLG9CQUFvQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQ3hDLDBCQzdCSCx3dENBcUNBLHlERGRZLFlBQVksaU9BQUUsZUFBZSw0R0FBRSxlQUFlOzs0RkFRN0MsaUJBQWlCO2tCQWQ3QixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLGFBQzlDO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxZQUFZO3lCQUNiLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7cUJBQ3hDOzhCQUlRLElBQUk7c0JBQVosS0FBSztnQkFRTyxJQUFJO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0T25saW5lUmVzb3VyY2UsXG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBOZ0ljb25Db21wb25lbnQsXG4gIHByb3ZpZGVJY29ucyxcbiAgcHJvdmlkZU5nSWNvbnNDb25maWcsXG59IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0T3BlbkluTmV3IH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgZ2V0QmFkZ2VDb2xvciwgZ2V0RmlsZUZvcm1hdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxudHlwZSBDYXJkU2l6ZSA9ICdMJyB8ICdNJyB8ICdTJyB8ICdYUydcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWxpbmstY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saW5rLWNhcmQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdJY29uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0T3BlbkluTmV3LFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHsgc2l6ZTogJzEuNWVtJyB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlua0NhcmRDb21wb25lbnQge1xuICBwcml2YXRlIF9zaXplOiAnTCcgfCAnTScgfCAnUycgfCAnWFMnXG4gIEBJbnB1dCgpIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZVxuICBwcml2YXRlIHJlYWRvbmx5IHNpemVDbGFzc01hcDogUmVjb3JkPENhcmRTaXplLCBzdHJpbmc+ID0ge1xuICAgIEw6ICdnbi11aS1jYXJkLWwgcHktMiBweC01JyxcbiAgICBNOiAnZ24tdWktY2FyZC1tIHB5LTIgcHgtNScsXG4gICAgUzogJ2duLXVpLWNhcmQtcyBwLTQnLFxuICAgIFhTOiAnZ24tdWktY2FyZC14cyBweS0yIHB4LTUnLFxuICB9XG5cbiAgQElucHV0KCkgc2V0IHNpemUodmFsdWU6IENhcmRTaXplKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlXG4gICAgdGhpcy5jYXJkQ2xhc3MgPSB0aGlzLnNpemVDbGFzc01hcFt2YWx1ZV1cbiAgfVxuICBnZXQgc2l6ZSgpOiAnTCcgfCAnTScgfCAnUycgfCAnWFMnIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZVxuICB9XG4gIGNhcmRDbGFzcyA9ICcnXG5cbiAgZ2V0IHRpdGxlKCkge1xuICAgIGlmICh0aGlzLmxpbmsubmFtZSAmJiB0aGlzLmxpbmsuZGVzY3JpcHRpb24pIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmxpbmsubmFtZX0gfCAke3RoaXMubGluay5kZXNjcmlwdGlvbn1gXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxpbmsubmFtZSB8fCB0aGlzLmxpbmsuZGVzY3JpcHRpb24gfHwgJydcbiAgfVxuXG4gIGdldExpbmtGb3JtYXQobGluazogYW55KSB7XG4gICAgcmV0dXJuIGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuXG4gIGdldExpbmtDb2xvcihsaW5rOiBhbnkpIHtcbiAgICByZXR1cm4gZ2V0QmFkZ2VDb2xvcihnZXRGaWxlRm9ybWF0KGxpbmspKVxuICB9XG59XG4iLCI8YVxuICBbaHJlZl09XCJsaW5rLnVybFwiXG4gIHRhcmdldD1cIl9ibGFua1wiXG4gIGNsYXNzPVwiZ3JvdXAgZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gY2FyZC1zaGFkb3cgY3Vyc29yLXBvaW50ZXIgcm91bmRlZCBvdmVyZmxvdy1oaWRkZW5cIlxuICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIlxuICBbdGl0bGVdPVwidGl0bGVcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ24tdWktY2FyZC10aXRsZVwiPlxuICAgICAge3sgbGluay5kZXNjcmlwdGlvbiB8fCBsaW5rLm5hbWUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ24tdWktY2FyZC1kZXRhaWxcIj5cbiAgICAgIHt7IGxpbmsubmFtZSB9fVxuICAgIDwvZGl2PlxuICAgIDxwICpuZ0lmPVwiIWxpbmsubmFtZSAmJiAhbGluay5kZXNjcmlwdGlvblwiIGNsYXNzPVwiZ24tdWktY2FyZC10aXRsZVwiPlxuICAgICAge3sgbGluay51cmwgfX1cbiAgICA8L3A+XG4gICAgPGRpdiBjbGFzcz1cInB0LTFcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTIgcHktMSB0ZXh0LTEzIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSB0ZXh0LXdoaXRlIHJvdW5kZWQgdHJhbnNpdGlvbi1vcGFjaXR5IG9wYWNpdHktNzAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDBcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRMaW5rQ29sb3IobGluaylcIlxuICAgICAgICBkYXRhLWN5PVwiZG93bmxvYWQtZm9ybWF0XCJcbiAgICAgICAgPnt7XG4gICAgICAgICAgZ2V0TGlua0Zvcm1hdChsaW5rKSB8fCAoJ2Rvd25sb2Fkcy5mb3JtYXQudW5rbm93bicgfCB0cmFuc2xhdGUpXG4gICAgICAgIH19PC9zcGFuXG4gICAgICA+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleFwiIFtuZ0NsYXNzXT1cInNpemUgPT09ICdTJyA/ICdpdGVtcy1lbmQnIDogJ2l0ZW1zLWNlbnRlcidcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ24tdWktY2FyZC1pY29uXCI+XG4gICAgICA8bmctaWNvblxuICAgICAgICBjbGFzcz1cImlubGluZS1ibG9jayBjYXJkLWljb24gYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgbmFtZT1cIm1hdE9wZW5Jbk5ld1wiXG4gICAgICA+PC9uZy1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYT5cbiJdfQ==
@@ -4,12 +4,12 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngx-translate/core";
5
5
  export class MetadataCatalogComponent {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataCatalogComponent, isStandalone: true, selector: "gn-ui-metadata-catalog", inputs: { sourceLabel: "sourceLabel" }, ngImport: i0, template: "<div>\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataCatalogComponent, isStandalone: true, selector: "gn-ui-metadata-catalog", inputs: { sourceLabel: "sourceLabel" }, ngImport: i0, template: "<div>\n <p class=\"text-gray-900 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataCatalogComponent, decorators: [{
10
10
  type: Component,
11
- args: [{ selector: 'gn-ui-metadata-catalog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TranslateModule], template: "<div>\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n" }]
11
+ args: [{ selector: 'gn-ui-metadata-catalog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TranslateModule], template: "<div>\n <p class=\"text-gray-900 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n" }]
12
12
  }], propDecorators: { sourceLabel: [{
13
13
  type: Input
14
14
  }] } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtY2F0YWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtY2F0YWxvZy9tZXRhZGF0YS1jYXRhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1jYXRhbG9nL21ldGFkYXRhLWNhdGFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7QUFVckQsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO21HQUF4Qix3QkFBd0IsMEhDWHJDLDJNQVFBLHlERENZLGVBQWU7OzRGQUVkLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDOzhCQUdqQixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtY2F0YWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1jYXRhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtY2F0YWxvZy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFDYXRhbG9nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc291cmNlTGFiZWw6IHN0cmluZ1xufVxuIiwiPGRpdj5cbiAgPHAgY2xhc3M9XCJ0ZXh0LWdyYXktNzAwIHRleHQteHMgbWItMyB1cHBlcmNhc2VcIiB0cmFuc2xhdGU+XG4gICAgcmVjb3JkLm1ldGFkYXRhLmNhdGFsb2dcbiAgPC9wPlxuICA8cCBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LXRpdGxlIHRleHQtMjEgbWItMVwiPlxuICAgIHt7IHNvdXJjZUxhYmVsIH19XG4gIDwvcD5cbjwvZGl2PlxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtY2F0YWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtY2F0YWxvZy9tZXRhZGF0YS1jYXRhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1jYXRhbG9nL21ldGFkYXRhLWNhdGFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7QUFVckQsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO21HQUF4Qix3QkFBd0IsMEhDWHJDLDJNQVFBLHlERENZLGVBQWU7OzRGQUVkLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDOzhCQUdqQixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtY2F0YWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1jYXRhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtY2F0YWxvZy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFDYXRhbG9nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc291cmNlTGFiZWw6IHN0cmluZ1xufVxuIiwiPGRpdj5cbiAgPHAgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQteHMgbWItMyB1cHBlcmNhc2VcIiB0cmFuc2xhdGU+XG4gICAgcmVjb3JkLm1ldGFkYXRhLmNhdGFsb2dcbiAgPC9wPlxuICA8cCBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LXRpdGxlIHRleHQtMjEgbWItMVwiPlxuICAgIHt7IHNvdXJjZUxhYmVsIH19XG4gIDwvcD5cbjwvZGl2PlxuIl19
@@ -54,7 +54,7 @@ export class MetadataQualityComponent {
54
54
  size: '1.2em',
55
55
  strokeWidth: '1.5px',
56
56
  }),
57
- ], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"smaller ? 'leading-[8px] min-w-[120px]' : 'min-w-[200px]'\"\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</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.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: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.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 }); }
57
+ ], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"metadataQualityDisplay\" class=\"metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"\n smaller ? 'leading-[8px] min-w-[120px] m-h-[120px]' : 'min-w-[200px]'\n \"\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</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.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: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.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 }); }
58
58
  }
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, decorators: [{
60
60
  type: Component,
@@ -73,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
73
73
  size: '1.2em',
74
74
  strokeWidth: '1.5px',
75
75
  }),
76
- ], template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"smaller ? 'leading-[8px] min-w-[120px]' : 'min-w-[200px]'\"\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</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"] }]
76
+ ], template: "<div *ngIf=\"metadataQualityDisplay\" class=\"metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"\n smaller ? 'leading-[8px] min-w-[120px] m-h-[120px]' : 'min-w-[200px]'\n \"\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</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"] }]
77
77
  }], propDecorators: { metadata: [{
78
78
  type: Input
79
79
  }], smaller: [{
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
81
81
  }], metadataQualityDisplay: [{
82
82
  type: Input
83
83
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUEwQm5FLE1BQU0sT0FBTyx3QkFBd0I7SUF4QnJDO1FBMEJXLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFHeEIsVUFBSyxHQUEwQixFQUFFLENBQUE7S0F1Q2xDO0lBckNDLElBQUksWUFBWTtRQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQTtRQUN4RCxPQUFPLE9BQU8sWUFBWSxLQUFLLFFBQVE7WUFD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WUFBWSxDQUFDOzRCQUNYLGNBQWM7eUJBQ2YsQ0FBQzt3QkFDRixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87NEJBQ2IsV0FBVyxFQUFFLE9BQU87eUJBQ3JCLENBQUM7cUJBQ0g7OEJBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIE1ldGFkYXRhUXVhbGl0eUl0ZW0sXG4gIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQsXG59IGZyb20gJy4uL21ldGFkYXRhLXF1YWxpdHktaXRlbS9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIFBvcG92ZXJDb21wb25lbnQsXG4gIFByb2dyZXNzQmFyQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nSWNvbiB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0SW5mb091dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IHByb3ZpZGVJY29ucywgcHJvdmlkZU5nSWNvbnNDb25maWcgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTmdJY29uLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0SW5mb091dGxpbmUsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuMmVtJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAnMS41cHgnLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtZXRhZGF0YTogUGFydGlhbDxDYXRhbG9nUmVjb3JkPlxuICBASW5wdXQoKSBzbWFsbGVyID0gZmFsc2VcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuXG4gIGl0ZW1zOiBNZXRhZGF0YVF1YWxpdHlJdGVtW10gPSBbXVxuXG4gIGdldCBxdWFsaXR5U2NvcmUoKSB7XG4gICAgY29uc3QgcXVhbGl0eVNjb3JlID0gdGhpcy5tZXRhZGF0YT8uZXh0cmFzPy5xdWFsaXR5U2NvcmVcbiAgICByZXR1cm4gdHlwZW9mIHF1YWxpdHlTY29yZSA9PT0gJ251bWJlcidcbiAgICAgID8gcXVhbGl0eVNjb3JlXG4gICAgICA6IHRoaXMuY2FsY3VsYXRlZFF1YWxpdHlTY29yZVxuICB9XG5cbiAgZ2V0IGNhbGN1bGF0ZWRRdWFsaXR5U2NvcmUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChcbiAgICAgICh0aGlzLml0ZW1zLmZpbHRlcigoeyB2YWx1ZSB9KSA9PiB2YWx1ZSkubGVuZ3RoICogMTAwKSAvIHRoaXMuaXRlbXMubGVuZ3RoXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBhZGQobmFtZTogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLm1ldGFkYXRhUXVhbGl0eURpc3BsYXk/LltuYW1lXSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaXRlbXMucHVzaCh7IG5hbWUsIHZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBjb25zdCBjb250YWN0ID0gdGhpcy5tZXRhZGF0YT8uY29udGFjdHM/LlswXVxuICAgIHRoaXMuaXRlbXMgPSBbXVxuICAgIHRoaXMuYWRkKCd0aXRsZScsICEhdGhpcy5tZXRhZGF0YT8udGl0bGUpXG4gICAgdGhpcy5hZGQoJ2Rlc2NyaXB0aW9uJywgISF0aGlzLm1ldGFkYXRhPy5hYnN0cmFjdClcbiAgICB0aGlzLmFkZCgndG9waWMnLCB0aGlzLm1ldGFkYXRhPy50b3BpY3M/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ2tleXdvcmRzJywgdGhpcy5tZXRhZGF0YT8ua2V5d29yZHM/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ2xlZ2FsQ29uc3RyYWludHMnLCB0aGlzLm1ldGFkYXRhPy5sZWdhbENvbnN0cmFpbnRzPy5sZW5ndGggPiAwKVxuICAgIHRoaXMuYWRkKCdvcmdhbmlzYXRpb24nLCAhIWNvbnRhY3Q/Lm9yZ2FuaXphdGlvbilcbiAgICB0aGlzLmFkZCgnY29udGFjdCcsICEhY29udGFjdD8uZW1haWwpXG4gICAgdGhpcy5hZGQoJ3VwZGF0ZUZyZXF1ZW5jeScsICEhdGhpcy5tZXRhZGF0YT8udXBkYXRlRnJlcXVlbmN5KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydtZXRhZGF0YSddIHx8IGNoYW5nZXNbJ21ldGFkYXRhUXVhbGl0eURpc3BsYXknXSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplKClcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJtZXRhZGF0YVF1YWxpdHlEaXNwbGF5XCIgY2xhc3M9XCJtYi02IG1ldGFkYXRhLXF1YWxpdHlcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgIFtjbGFzc109XCJzbWFsbGVyID8gJ2xlYWRpbmctWzhweF0gbWluLXctWzEyMHB4XScgOiAnbWluLXctWzIwMHB4XSdcIlxuICA+XG4gICAgPGduLXVpLXByb2dyZXNzLWJhclxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFt2YWx1ZV09XCJxdWFsaXR5U2NvcmVcIlxuICAgICAgW3R5cGVdPVwiJ2xpZ2h0J1wiXG4gICAgICBjbGFzcz1cImZsZXgtZ3Jvd1wiXG4gICAgPjwvZ24tdWktcHJvZ3Jlc3MtYmFyPlxuICAgIDxnbi11aS1wb3BvdmVyXG4gICAgICBbY29udGVudF09XCJwb3BvdmVySXRlbXNcIlxuICAgICAgdGhlbWU9XCJsaWdodC1ib3JkZXJcIlxuICAgICAgW2NsYXNzXT1cInNtYWxsZXIgPyAnbWwtMicgOiAnbWwtMiBtdC0xJ1wiXG4gICAgPlxuICAgICAgPG5nLWljb25cbiAgICAgICAgbmFtZT1cIm1hdEluZm9PdXRsaW5lXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4LXNocmluay0wIHRleHQtZ3JheS02MDBcIlxuICAgICAgPjwvbmctaWNvbj5cbiAgICA8L2duLXVpLXBvcG92ZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXJJdGVtcz5cbiAgPGRpdiBjbGFzcz1cInAtMiBweS00XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgZm9udC1ib2xkXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRldGFpbHM8L2Rpdj5cbiAgICA8Z24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtXG4gICAgICAqbmdGb3I9XCJsZXQgZSBvZiBpdGVtc1wiXG4gICAgICBbbmFtZV09XCJlLm5hbWVcIlxuICAgICAgW3ZhbHVlXT1cImUudmFsdWVcIlxuICAgID48L2duLXVpLW1ldGFkYXRhLXF1YWxpdHktaXRlbT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUEwQm5FLE1BQU0sT0FBTyx3QkFBd0I7SUF4QnJDO1FBMEJXLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFHeEIsVUFBSyxHQUEwQixFQUFFLENBQUE7S0F1Q2xDO0lBckNDLElBQUksWUFBWTtRQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQTtRQUN4RCxPQUFPLE9BQU8sWUFBWSxLQUFLLFFBQVE7WUFD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WUFBWSxDQUFDOzRCQUNYLGNBQWM7eUJBQ2YsQ0FBQzt3QkFDRixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87NEJBQ2IsV0FBVyxFQUFFLE9BQU87eUJBQ3JCLENBQUM7cUJBQ0g7OEJBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIE1ldGFkYXRhUXVhbGl0eUl0ZW0sXG4gIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQsXG59IGZyb20gJy4uL21ldGFkYXRhLXF1YWxpdHktaXRlbS9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIFBvcG92ZXJDb21wb25lbnQsXG4gIFByb2dyZXNzQmFyQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nSWNvbiB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0SW5mb091dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IHByb3ZpZGVJY29ucywgcHJvdmlkZU5nSWNvbnNDb25maWcgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTmdJY29uLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0SW5mb091dGxpbmUsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuMmVtJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAnMS41cHgnLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtZXRhZGF0YTogUGFydGlhbDxDYXRhbG9nUmVjb3JkPlxuICBASW5wdXQoKSBzbWFsbGVyID0gZmFsc2VcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuXG4gIGl0ZW1zOiBNZXRhZGF0YVF1YWxpdHlJdGVtW10gPSBbXVxuXG4gIGdldCBxdWFsaXR5U2NvcmUoKSB7XG4gICAgY29uc3QgcXVhbGl0eVNjb3JlID0gdGhpcy5tZXRhZGF0YT8uZXh0cmFzPy5xdWFsaXR5U2NvcmVcbiAgICByZXR1cm4gdHlwZW9mIHF1YWxpdHlTY29yZSA9PT0gJ251bWJlcidcbiAgICAgID8gcXVhbGl0eVNjb3JlXG4gICAgICA6IHRoaXMuY2FsY3VsYXRlZFF1YWxpdHlTY29yZVxuICB9XG5cbiAgZ2V0IGNhbGN1bGF0ZWRRdWFsaXR5U2NvcmUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChcbiAgICAgICh0aGlzLml0ZW1zLmZpbHRlcigoeyB2YWx1ZSB9KSA9PiB2YWx1ZSkubGVuZ3RoICogMTAwKSAvIHRoaXMuaXRlbXMubGVuZ3RoXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBhZGQobmFtZTogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLm1ldGFkYXRhUXVhbGl0eURpc3BsYXk/LltuYW1lXSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaXRlbXMucHVzaCh7IG5hbWUsIHZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBjb25zdCBjb250YWN0ID0gdGhpcy5tZXRhZGF0YT8uY29udGFjdHM/LlswXVxuICAgIHRoaXMuaXRlbXMgPSBbXVxuICAgIHRoaXMuYWRkKCd0aXRsZScsICEhdGhpcy5tZXRhZGF0YT8udGl0bGUpXG4gICAgdGhpcy5hZGQoJ2Rlc2NyaXB0aW9uJywgISF0aGlzLm1ldGFkYXRhPy5hYnN0cmFjdClcbiAgICB0aGlzLmFkZCgndG9waWMnLCB0aGlzLm1ldGFkYXRhPy50b3BpY3M/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ2tleXdvcmRzJywgdGhpcy5tZXRhZGF0YT8ua2V5d29yZHM/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ2xlZ2FsQ29uc3RyYWludHMnLCB0aGlzLm1ldGFkYXRhPy5sZWdhbENvbnN0cmFpbnRzPy5sZW5ndGggPiAwKVxuICAgIHRoaXMuYWRkKCdvcmdhbmlzYXRpb24nLCAhIWNvbnRhY3Q/Lm9yZ2FuaXphdGlvbilcbiAgICB0aGlzLmFkZCgnY29udGFjdCcsICEhY29udGFjdD8uZW1haWwpXG4gICAgdGhpcy5hZGQoJ3VwZGF0ZUZyZXF1ZW5jeScsICEhdGhpcy5tZXRhZGF0YT8udXBkYXRlRnJlcXVlbmN5KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydtZXRhZGF0YSddIHx8IGNoYW5nZXNbJ21ldGFkYXRhUXVhbGl0eURpc3BsYXknXSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplKClcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJtZXRhZGF0YVF1YWxpdHlEaXNwbGF5XCIgY2xhc3M9XCJtZXRhZGF0YS1xdWFsaXR5XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCJcbiAgICBbY2xhc3NdPVwiXG4gICAgICBzbWFsbGVyID8gJ2xlYWRpbmctWzhweF0gbWluLXctWzEyMHB4XSBtLWgtWzEyMHB4XScgOiAnbWluLXctWzIwMHB4XSdcbiAgICBcIlxuICA+XG4gICAgPGduLXVpLXByb2dyZXNzLWJhclxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFt2YWx1ZV09XCJxdWFsaXR5U2NvcmVcIlxuICAgICAgW3R5cGVdPVwiJ2xpZ2h0J1wiXG4gICAgICBjbGFzcz1cImZsZXgtZ3Jvd1wiXG4gICAgPjwvZ24tdWktcHJvZ3Jlc3MtYmFyPlxuICAgIDxnbi11aS1wb3BvdmVyXG4gICAgICBbY29udGVudF09XCJwb3BvdmVySXRlbXNcIlxuICAgICAgdGhlbWU9XCJsaWdodC1ib3JkZXJcIlxuICAgICAgW2NsYXNzXT1cInNtYWxsZXIgPyAnbWwtMicgOiAnbWwtMiBtdC0xJ1wiXG4gICAgPlxuICAgICAgPG5nLWljb25cbiAgICAgICAgbmFtZT1cIm1hdEluZm9PdXRsaW5lXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4LXNocmluay0wIHRleHQtZ3JheS02MDBcIlxuICAgICAgPjwvbmctaWNvbj5cbiAgICA8L2duLXVpLXBvcG92ZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXJJdGVtcz5cbiAgPGRpdiBjbGFzcz1cInAtMiBweS00XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgZm9udC1ib2xkXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRldGFpbHM8L2Rpdj5cbiAgICA8Z24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtXG4gICAgICAqbmdGb3I9XCJsZXQgZSBvZiBpdGVtc1wiXG4gICAgICBbbmFtZV09XCJlLm5hbWVcIlxuICAgICAgW3ZhbHVlXT1cImUudmFsdWVcIlxuICAgID48L2duLXVpLW1ldGFkYXRhLXF1YWxpdHktaXRlbT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -110,7 +110,7 @@ export class RecordApiFormComponent {
110
110
  maxFeatures: limit !== '-1' ? Number(limit) : undefined,
111
111
  limit: limit !== '-1' ? Number(limit) : -1,
112
112
  offset: offset !== '' ? Number(offset) : undefined,
113
- outputCrs: format === ('application/json' || 'geojson') ? 'EPSG:4326' : undefined,
113
+ outputCrs: format.toLowerCase().indexOf('json') > -1 ? 'EPSG:4326' : undefined,
114
114
  };
115
115
  if (this.endpoint instanceof WfsEndpoint) {
116
116
  delete options.limit;
@@ -118,6 +118,7 @@ export class RecordApiFormComponent {
118
118
  return this.endpoint.getFeatureUrl(this.apiFeatureType, options);
119
119
  }
120
120
  else {
121
+ delete options.outputCrs;
121
122
  return await this.endpoint.getCollectionItemsUrl(this.apiFeatureType, options);
122
123
  }
123
124
  }
@@ -136,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
136
137
  }], propDecorators: { apiLink: [{
137
138
  type: Input
138
139
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBWSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFLOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0UsT0FBTyxFQUNMLHVCQUF1QixFQUV2Qix5QkFBeUIsRUFDekIsa0JBQWtCLEdBQ25CLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7OztBQUVyRCxNQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsRUFBRTtJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLGtCQUFrQjtDQUMzQixDQUFBO0FBZ0JELE1BQU0sT0FBTyxzQkFBc0I7SUFkbkM7UUEwQkUsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwRCxXQUFNLEdBQUcsSUFBSSxl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LElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDbEUsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FDOUMsSUFBSSxDQUFDLGNBQWMsRUFDbkIsT0FBTyxDQUNSLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0E1SVUsc0JBQXNCO21HQUF0QixzQkFBc0IsaUhDckNuQywyekdBMkZBLHFnQkQ3REksWUFBWSx3TEFDWixrQkFBa0IsK0pBQ2xCLHlCQUF5QixxTkFDekIsdUJBQXVCLDBIQUN2QixlQUFlOzs0RkFHTixzQkFBc0I7a0JBZGxDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLGVBQWU7cUJBQ2hCOzhCQUdZLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNaW1lVHlwZSwgT2djQXBpRW5kcG9pbnQsIFdmc0VuZHBvaW50IH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7XG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICBTZXJ2aWNlUHJvdG9jb2wsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1pbWVUeXBlVG9Gb3JtYXQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCxcbiAgRHJvcGRvd25DaG9pY2UsXG4gIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuY29uc3QgREVGQVVMVF9QQVJBTVMgPSB7XG4gIE9GRlNFVDogJycsXG4gIExJTUlUOiAnLTEnLFxuICBGT1JNQVQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLWFwaS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkQXBpRm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBhcGlMaW5rKHZhbHVlOiBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbikge1xuICAgIHRoaXMub3V0cHV0Rm9ybWF0cyA9IFt7IHZhbHVlOiAnYXBwbGljYXRpb24vanNvbicsIGxhYmVsOiAnSlNPTicgfV1cbiAgICB0aGlzLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9IHZhbHVlID8gdmFsdWUuYWNjZXNzU2VydmljZVByb3RvY29sIDogdW5kZWZpbmVkXG4gICAgdGhpcy5hcGlGZWF0dXJlVHlwZSA9IHZhbHVlID8gdmFsdWUubmFtZSA6IHVuZGVmaW5lZFxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5hcGlCYXNlVXJsID0gdmFsdWUudXJsLmhyZWZcbiAgICAgIHRoaXMuY3JlYXRlRW5kcG9pbnQoKS50aGVuKCgpID0+IHRoaXMucGFyc2VPdXRwdXRGb3JtYXRzKCkpXG4gICAgfVxuICAgIHRoaXMucmVzZXRVcmwoKVxuICB9XG5cbiAgb2Zmc2V0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoREVGQVVMVF9QQVJBTVMuT0ZGU0VUKVxuICBsaW1pdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KERFRkFVTFRfUEFSQU1TLkxJTUlUKVxuICBmb3JtYXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChERUZBVUxUX1BBUkFNUy5GT1JNQVQpXG4gIGVuZHBvaW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2ZzRW5kcG9pbnQgfCBPZ2NBcGlFbmRwb2ludCB8IHVuZGVmaW5lZD4oXG4gICAgdW5kZWZpbmVkXG4gIClcbiAgYXBpQmFzZVVybDogc3RyaW5nXG4gIGFwaUZlYXR1cmVUeXBlOiBzdHJpbmdcbiAgc3VwcG9ydE9mZnNldCA9IHRydWVcbiAgYWNjZXNzU2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2wgfCB1bmRlZmluZWRcbiAgb3V0cHV0Rm9ybWF0czogRHJvcGRvd25DaG9pY2VbXSA9IFtcbiAgICB7IHZhbHVlOiAnYXBwbGljYXRpb24vanNvbicsIGxhYmVsOiAnSlNPTicgfSxcbiAgXVxuICBlbmRwb2ludDogV2ZzRW5kcG9pbnQgfCBPZ2NBcGlFbmRwb2ludCB8IHVuZGVmaW5lZFxuXG4gIGFwaVF1ZXJ5VXJsJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub2Zmc2V0JCxcbiAgICB0aGlzLmxpbWl0JCxcbiAgICB0aGlzLmZvcm1hdCQsXG4gICAgLy8gb25seSBjb21wdXRlIHRoZSB1cmwgaWYgdGhlIGVuZHBvaW50IHdhcyBjcmVhdGVkXG4gICAgdGhpcy5lbmRwb2ludCQucGlwZShmaWx0ZXIoKGVuZHBvaW50KSA9PiAhIWVuZHBvaW50KSksXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbb2Zmc2V0LCBsaW1pdCwgZm9ybWF0XSkgPT5cbiAgICAgIHRoaXMuZ2VuZXJhdGVBcGlRdWVyeVVybChvZmZzZXQsIGxpbWl0LCBmb3JtYXQpXG4gICAgKVxuICApXG5cbiAgbm9MaW1pdENoZWNrZWQkID0gdGhpcy5saW1pdCQucGlwZShcbiAgICBtYXAoKGxpbWl0KSA9PiBsaW1pdCA9PT0gJy0xJyB8fCBsaW1pdCA9PT0gJycpXG4gIClcbiAgZGlzcGxheUxpbWl0JCA9IHRoaXMubGltaXQkLnBpcGUoXG4gICAgbWFwKChsaW1pdCkgPT4gKGxpbWl0ICE9PSAnLTEnID8gbGltaXQgOiAnJykpXG4gIClcblxuICBzZXRPZmZzZXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMub2Zmc2V0JC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgc2V0TGltaXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMubGltaXQkLm5leHQodmFsdWUgPT09ICcnID8gJy0xJyA6IHZhbHVlKVxuICB9XG5cbiAgc2V0Rm9ybWF0KHZhbHVlOiBzdHJpbmcgfCB1bmtub3duKSB7XG4gICAgdGhpcy5mb3JtYXQkLm5leHQoU3RyaW5nKHZhbHVlKSlcbiAgfVxuXG4gIHJlc2V0VXJsKCkge1xuICAgIHRoaXMub2Zmc2V0JC5uZXh0KERFRkFVTFRfUEFSQU1TLk9GRlNFVClcbiAgICB0aGlzLmxpbWl0JC5uZXh0KERFRkFVTFRfUEFSQU1TLkxJTUlUKVxuICAgIHRoaXMuZm9ybWF0JC5uZXh0KERFRkFVTFRfUEFSQU1TLkZPUk1BVClcbiAgfVxuXG4gIGFzeW5jIHBhcnNlT3V0cHV0Rm9ybWF0cygpIHtcbiAgICBpZiAoIXRoaXMuZW5kcG9pbnQpIHJldHVyblxuICAgIGNvbnN0IG91dHB1dEZvcm1hdHMgPSAoYXdhaXQgdGhpcy5nZXRPdXRwdXRGb3JtYXRzKCkpLm1hcChcbiAgICAgIHRoaXMubWltZVR5cGVUb0Zvcm1hdE5hbWVcbiAgICApXG5cbiAgICB0aGlzLm91dHB1dEZvcm1hdHMgPSB0aGlzLm91dHB1dEZvcm1hdHNcbiAgICAgIC5jb25jYXQob3V0cHV0Rm9ybWF0cy5maWx0ZXIoQm9vbGVhbikpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZm9ybWF0LCBpbmRleCwgc2VsZikgPT5cbiAgICAgICAgICBpbmRleCA9PT0gc2VsZi5maW5kSW5kZXgoKHQpID0+IHQudmFsdWUgPT09IGZvcm1hdC52YWx1ZSlcbiAgICAgIClcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkpXG4gIH1cblxuICBtaW1lVHlwZVRvRm9ybWF0TmFtZShtaW1lVHlwZTogTWltZVR5cGUpOiBEcm9wZG93bkNob2ljZSB8IG51bGwge1xuICAgIGNvbnN0IGZvcm1hdE5hbWUgPSBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlKVxuICAgIHJldHVybiBmb3JtYXROYW1lXG4gICAgICA/IHsgbGFiZWw6IGZvcm1hdE5hbWUudG9VcHBlckNhc2UoKSwgdmFsdWU6IG1pbWVUeXBlIH1cbiAgICAgIDogbnVsbFxuICB9XG5cbiAgYXN5bmMgZ2V0T3V0cHV0Rm9ybWF0cygpOiBQcm9taXNlPE1pbWVUeXBlW10+IHtcbiAgICBpZiAoIXRoaXMuZW5kcG9pbnQpIHJldHVybiBbXVxuICAgIGlmICh0aGlzLmVuZHBvaW50IGluc3RhbmNlb2YgV2ZzRW5kcG9pbnQpIHtcbiAgICAgIHRoaXMuc3VwcG9ydE9mZnNldCA9IHRoaXMuZW5kcG9pbnQuc3VwcG9ydHNTdGFydEluZGV4KClcbiAgICAgIHJldHVybiB0aGlzLmVuZHBvaW50LmdldFNlcnZpY2VJbmZvKCkub3V0cHV0Rm9ybWF0c1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZW5kcG9pbnQuZ2V0Q29sbGVjdGlvbkluZm8odGhpcy5hcGlGZWF0dXJlVHlwZSkpXG4gICAgICAgIC5pdGVtRm9ybWF0c1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUVuZHBvaW50KCkge1xuICAgIGlmICghdGhpcy5hcGlCYXNlVXJsIHx8ICF0aGlzLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkgcmV0dXJuXG4gICAgaWYgKHRoaXMuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd2ZzJykge1xuICAgICAgdGhpcy5lbmRwb2ludCA9IG5ldyBXZnNFbmRwb2ludCh0aGlzLmFwaUJhc2VVcmwpXG4gICAgICBhd2FpdCAodGhpcy5lbmRwb2ludCBhcyBXZnNFbmRwb2ludCkuaXNSZWFkeSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5hcGlCYXNlVXJsKVxuICAgICAgY29uc3QgY29sbGVjdGlvbnMgPSBhd2FpdCB0aGlzLmVuZHBvaW50LmFsbENvbGxlY3Rpb25zXG4gICAgICAvLyBpZiB0aGVyZSdzIG9ubHkgb25lIGNvbGxlY3Rpb24sIHVzZSB0aGlzIGluc3RlYWQgb2YgdGhlIG5hbWUgZ2l2ZW4gaW4gdGhlIGxpbmsuXG4gICAgICBpZiAoY29sbGVjdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRoaXMuYXBpRmVhdHVyZVR5cGUgPSBjb2xsZWN0aW9uc1swXS5uYW1lXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW5kcG9pbnQkLm5leHQodGhpcy5lbmRwb2ludClcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlQXBpUXVlcnlVcmwoXG4gICAgb2Zmc2V0OiBzdHJpbmcsXG4gICAgbGltaXQ6IHN0cmluZyxcbiAgICBmb3JtYXQ6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5hcGlCYXNlVXJsIHx8ICF0aGlzLmVuZHBvaW50IHx8ICF0aGlzLmFwaUZlYXR1cmVUeXBlKSByZXR1cm4gJydcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBvdXRwdXRGb3JtYXQ6IGZvcm1hdCxcbiAgICAgIHN0YXJ0SW5kZXg6IG9mZnNldCA/IE51bWJlcihvZmZzZXQpIDogdW5kZWZpbmVkLFxuICAgICAgbWF4RmVhdHVyZXM6IGxpbWl0ICE9PSAnLTEnID8gTnVtYmVyKGxpbWl0KSA6IHVuZGVmaW5lZCxcbiAgICAgIGxpbWl0OiBsaW1pdCAhPT0gJy0xJyA/IE51bWJlcihsaW1pdCkgOiAtMSxcbiAgICAgIG9mZnNldDogb2Zmc2V0ICE9PSAnJyA/IE51bWJlcihvZmZzZXQpIDogdW5kZWZpbmVkLFxuICAgICAgb3V0cHV0Q3JzOlxuICAgICAgICBmb3JtYXQgPT09ICgnYXBwbGljYXRpb24vanNvbicgfHwgJ2dlb2pzb24nKSA/ICdFUFNHOjQzMjYnIDogdW5kZWZpbmVkLFxuICAgIH1cblxuICAgIGlmICh0aGlzLmVuZHBvaW50IGluc3RhbmNlb2YgV2ZzRW5kcG9pbnQpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zLmxpbWl0XG4gICAgICBvcHRpb25zLm1heEZlYXR1cmVzID0gbGltaXQgIT09ICctMScgPyBOdW1iZXIobGltaXQpIDogdW5kZWZpbmVkXG4gICAgICByZXR1cm4gdGhpcy5lbmRwb2ludC5nZXRGZWF0dXJlVXJsKHRoaXMuYXBpRmVhdHVyZVR5cGUsIG9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmVuZHBvaW50LmdldENvbGxlY3Rpb25JdGVtc1VybChcbiAgICAgICAgdGhpcy5hcGlGZWF0dXJlVHlwZSxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLThcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgYmctd2hpdGUgcC04IG5nLXN0YXItaW5zZXJ0ZWQgc2hhZG93LXhsIGdhcC04XCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LVsxNnB4XSB0ZXh0LWJsYWNrIHRydW5jYXRlIGZvbnQtdGl0bGUgdy0xMS8xMlwiIHRyYW5zbGF0ZT5cbiAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmNyZWF0ZVxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJyZXNldFVybCgpXCJcbiAgICAgICAgY2xhc3M9XCJiZy1wcmltYXJ5LW9wYWNpdHktNTAgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTIgcHktMSB0ZXh0LTEzIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSB0ZXh0LXdoaXRlIHJvdW5kZWQgY2FwaXRhbGl6ZSB0ZXh0LXByaW1hcnktbGlnaHRlc3QgaG92ZXI6YmctcHJpbWFyeSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICA+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1bMTNweF0gdXBwZXJjYXNlXCIgdHJhbnNsYXRlPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5yZXNldFxuICAgICAgICA8L3A+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAganVzdGlmeS1iZXR3ZWVuIGdyb3cgZ2FwLTVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1bMTRweF1cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmxpbWl0PC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICA8Z24tdWktdGV4dC1pbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJtci0yIHctMjBcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInNldExpbWl0KCRldmVudClcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlMaW1pdCQgfCBhc3luY1wiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvZ24tdWktdGV4dC1pbnB1dD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cIm1yLTIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJub0xpbWl0Q2hlY2tlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0TGltaXQoJy0xJylcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICA+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmxpbWl0LmFsbDwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTMgcmVsYXRpdmVcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgW2NsYXNzLnRleHQtZ3JheS02MDBdPVwiIXN1cHBvcnRPZmZzZXRcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLm9mZnNldFxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxnbi11aS10ZXh0LWlucHV0XG4gICAgICAgICAgICBjbGFzcz1cInctMjBcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIm9mZnNldCQgfCBhc3luY1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXN1cHBvcnRPZmZzZXRcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInN1cHBvcnRPZmZzZXQgPyBzZXRPZmZzZXQoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCIhc3VwcG9ydE9mZnNldFwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtb3JhbmdlLTUwMCB6LTEwIG1sLTNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJOb3Qgc3VwcG9ydGVkIG9uIHRoaXMgc2VydmljZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0udHlwZTwvcD5cbiAgICAgICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgICAgW3RpdGxlXT1cIicnXCJcbiAgICAgICAgICBleHRyYUJ0bkNsYXNzPVwic2Vjb25kYXJ5IG1pbi13LWZ1bGwgIXctNDAgIXRleHQtYmxhY2tcIlxuICAgICAgICAgIFtzaG93VGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICAgIGNsYXNzPVwidGV4dC1ibGFja1wiXG4gICAgICAgICAgW2Nob2ljZXNdPVwib3V0cHV0Rm9ybWF0c1wiXG4gICAgICAgICAgKHNlbGVjdFZhbHVlKT1cInNldEZvcm1hdCgkZXZlbnQpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRdPVwiZm9ybWF0JCB8IGFzeW5jXCJcbiAgICAgICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zIG1iLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LWJsYWNrIHRydW5jYXRlIGZvbnQtdGl0bGUgdy0xMS8xMlwiIHRyYW5zbGF0ZT5cbiAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5jdXN0b21VcmxcbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYmctd2hpdGUgcm91bmRlZC1sZ1wiPlxuICAgICAgPGduLXVpLWNvcHktdGV4dC1idXR0b25cbiAgICAgICAgW3RleHRdPVwiYXBpUXVlcnlVcmwkIHwgYXN5bmNcIlxuICAgICAgPjwvZ24tdWktY29weS10ZXh0LWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBWSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFLOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0UsT0FBTyxFQUNMLHVCQUF1QixFQUV2Qix5QkFBeUIsRUFDekIsa0JBQWtCLEdBQ25CLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7OztBQUVyRCxNQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsRUFBRTtJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLGtCQUFrQjtDQUMzQixDQUFBO0FBZ0JELE1BQU0sT0FBTyxzQkFBc0I7SUFkbkM7UUEwQkUsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwRCxXQUFNLEdBQUcsSUFBSSxl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QUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNsRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQTtZQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FDOUMsSUFBSSxDQUFDLGNBQWMsRUFDbkIsT0FBTyxDQUNSLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0E3SVUsc0JBQXNCO21HQUF0QixzQkFBc0IsaUhDckNuQywyekdBMkZBLHFnQkQ3REksWUFBWSx3TEFDWixrQkFBa0IsK0pBQ2xCLHlCQUF5QixxTkFDekIsdUJBQXVCLDBIQUN2QixlQUFlOzs0RkFHTixzQkFBc0I7a0JBZGxDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLGVBQWU7cUJBQ2hCOzhCQUdZLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNaW1lVHlwZSwgT2djQXBpRW5kcG9pbnQsIFdmc0VuZHBvaW50IH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7XG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICBTZXJ2aWNlUHJvdG9jb2wsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1pbWVUeXBlVG9Gb3JtYXQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCxcbiAgRHJvcGRvd25DaG9pY2UsXG4gIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuY29uc3QgREVGQVVMVF9QQVJBTVMgPSB7XG4gIE9GRlNFVDogJycsXG4gIExJTUlUOiAnLTEnLFxuICBGT1JNQVQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLWFwaS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkQXBpRm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBhcGlMaW5rKHZhbHVlOiBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbikge1xuICAgIHRoaXMub3V0cHV0Rm9ybWF0cyA9IFt7IHZhbHVlOiAnYXBwbGljYXRpb24vanNvbicsIGxhYmVsOiAnSlNPTicgfV1cbiAgICB0aGlzLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9IHZhbHVlID8gdmFsdWUuYWNjZXNzU2VydmljZVByb3RvY29sIDogdW5kZWZpbmVkXG4gICAgdGhpcy5hcGlGZWF0dXJlVHlwZSA9IHZhbHVlID8gdmFsdWUubmFtZSA6IHVuZGVmaW5lZFxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5hcGlCYXNlVXJsID0gdmFsdWUudXJsLmhyZWZcbiAgICAgIHRoaXMuY3JlYXRlRW5kcG9pbnQoKS50aGVuKCgpID0+IHRoaXMucGFyc2VPdXRwdXRGb3JtYXRzKCkpXG4gICAgfVxuICAgIHRoaXMucmVzZXRVcmwoKVxuICB9XG5cbiAgb2Zmc2V0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoREVGQVVMVF9QQVJBTVMuT0ZGU0VUKVxuICBsaW1pdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KERFRkFVTFRfUEFSQU1TLkxJTUlUKVxuICBmb3JtYXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChERUZBVUxUX1BBUkFNUy5GT1JNQVQpXG4gIGVuZHBvaW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2ZzRW5kcG9pbnQgfCBPZ2NBcGlFbmRwb2ludCB8IHVuZGVmaW5lZD4oXG4gICAgdW5kZWZpbmVkXG4gIClcbiAgYXBpQmFzZVVybDogc3RyaW5nXG4gIGFwaUZlYXR1cmVUeXBlOiBzdHJpbmdcbiAgc3VwcG9ydE9mZnNldCA9IHRydWVcbiAgYWNjZXNzU2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2wgfCB1bmRlZmluZWRcbiAgb3V0cHV0Rm9ybWF0czogRHJvcGRvd25DaG9pY2VbXSA9IFtcbiAgICB7IHZhbHVlOiAnYXBwbGljYXRpb24vanNvbicsIGxhYmVsOiAnSlNPTicgfSxcbiAgXVxuICBlbmRwb2ludDogV2ZzRW5kcG9pbnQgfCBPZ2NBcGlFbmRwb2ludCB8IHVuZGVmaW5lZFxuXG4gIGFwaVF1ZXJ5VXJsJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub2Zmc2V0JCxcbiAgICB0aGlzLmxpbWl0JCxcbiAgICB0aGlzLmZvcm1hdCQsXG4gICAgLy8gb25seSBjb21wdXRlIHRoZSB1cmwgaWYgdGhlIGVuZHBvaW50IHdhcyBjcmVhdGVkXG4gICAgdGhpcy5lbmRwb2ludCQucGlwZShmaWx0ZXIoKGVuZHBvaW50KSA9PiAhIWVuZHBvaW50KSksXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbb2Zmc2V0LCBsaW1pdCwgZm9ybWF0XSkgPT5cbiAgICAgIHRoaXMuZ2VuZXJhdGVBcGlRdWVyeVVybChvZmZzZXQsIGxpbWl0LCBmb3JtYXQpXG4gICAgKVxuICApXG5cbiAgbm9MaW1pdENoZWNrZWQkID0gdGhpcy5saW1pdCQucGlwZShcbiAgICBtYXAoKGxpbWl0KSA9PiBsaW1pdCA9PT0gJy0xJyB8fCBsaW1pdCA9PT0gJycpXG4gIClcbiAgZGlzcGxheUxpbWl0JCA9IHRoaXMubGltaXQkLnBpcGUoXG4gICAgbWFwKChsaW1pdCkgPT4gKGxpbWl0ICE9PSAnLTEnID8gbGltaXQgOiAnJykpXG4gIClcblxuICBzZXRPZmZzZXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMub2Zmc2V0JC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgc2V0TGltaXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMubGltaXQkLm5leHQodmFsdWUgPT09ICcnID8gJy0xJyA6IHZhbHVlKVxuICB9XG5cbiAgc2V0Rm9ybWF0KHZhbHVlOiBzdHJpbmcgfCB1bmtub3duKSB7XG4gICAgdGhpcy5mb3JtYXQkLm5leHQoU3RyaW5nKHZhbHVlKSlcbiAgfVxuXG4gIHJlc2V0VXJsKCkge1xuICAgIHRoaXMub2Zmc2V0JC5uZXh0KERFRkFVTFRfUEFSQU1TLk9GRlNFVClcbiAgICB0aGlzLmxpbWl0JC5uZXh0KERFRkFVTFRfUEFSQU1TLkxJTUlUKVxuICAgIHRoaXMuZm9ybWF0JC5uZXh0KERFRkFVTFRfUEFSQU1TLkZPUk1BVClcbiAgfVxuXG4gIGFzeW5jIHBhcnNlT3V0cHV0Rm9ybWF0cygpIHtcbiAgICBpZiAoIXRoaXMuZW5kcG9pbnQpIHJldHVyblxuICAgIGNvbnN0IG91dHB1dEZvcm1hdHMgPSAoYXdhaXQgdGhpcy5nZXRPdXRwdXRGb3JtYXRzKCkpLm1hcChcbiAgICAgIHRoaXMubWltZVR5cGVUb0Zvcm1hdE5hbWVcbiAgICApXG5cbiAgICB0aGlzLm91dHB1dEZvcm1hdHMgPSB0aGlzLm91dHB1dEZvcm1hdHNcbiAgICAgIC5jb25jYXQob3V0cHV0Rm9ybWF0cy5maWx0ZXIoQm9vbGVhbikpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZm9ybWF0LCBpbmRleCwgc2VsZikgPT5cbiAgICAgICAgICBpbmRleCA9PT0gc2VsZi5maW5kSW5kZXgoKHQpID0+IHQudmFsdWUgPT09IGZvcm1hdC52YWx1ZSlcbiAgICAgIClcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkpXG4gIH1cblxuICBtaW1lVHlwZVRvRm9ybWF0TmFtZShtaW1lVHlwZTogTWltZVR5cGUpOiBEcm9wZG93bkNob2ljZSB8IG51bGwge1xuICAgIGNvbnN0IGZvcm1hdE5hbWUgPSBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlKVxuICAgIHJldHVybiBmb3JtYXROYW1lXG4gICAgICA/IHsgbGFiZWw6IGZvcm1hdE5hbWUudG9VcHBlckNhc2UoKSwgdmFsdWU6IG1pbWVUeXBlIH1cbiAgICAgIDogbnVsbFxuICB9XG5cbiAgYXN5bmMgZ2V0T3V0cHV0Rm9ybWF0cygpOiBQcm9taXNlPE1pbWVUeXBlW10+IHtcbiAgICBpZiAoIXRoaXMuZW5kcG9pbnQpIHJldHVybiBbXVxuICAgIGlmICh0aGlzLmVuZHBvaW50IGluc3RhbmNlb2YgV2ZzRW5kcG9pbnQpIHtcbiAgICAgIHRoaXMuc3VwcG9ydE9mZnNldCA9IHRoaXMuZW5kcG9pbnQuc3VwcG9ydHNTdGFydEluZGV4KClcbiAgICAgIHJldHVybiB0aGlzLmVuZHBvaW50LmdldFNlcnZpY2VJbmZvKCkub3V0cHV0Rm9ybWF0c1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZW5kcG9pbnQuZ2V0Q29sbGVjdGlvbkluZm8odGhpcy5hcGlGZWF0dXJlVHlwZSkpXG4gICAgICAgIC5pdGVtRm9ybWF0c1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUVuZHBvaW50KCkge1xuICAgIGlmICghdGhpcy5hcGlCYXNlVXJsIHx8ICF0aGlzLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkgcmV0dXJuXG4gICAgaWYgKHRoaXMuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd2ZzJykge1xuICAgICAgdGhpcy5lbmRwb2ludCA9IG5ldyBXZnNFbmRwb2ludCh0aGlzLmFwaUJhc2VVcmwpXG4gICAgICBhd2FpdCAodGhpcy5lbmRwb2ludCBhcyBXZnNFbmRwb2ludCkuaXNSZWFkeSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5hcGlCYXNlVXJsKVxuICAgICAgY29uc3QgY29sbGVjdGlvbnMgPSBhd2FpdCB0aGlzLmVuZHBvaW50LmFsbENvbGxlY3Rpb25zXG4gICAgICAvLyBpZiB0aGVyZSdzIG9ubHkgb25lIGNvbGxlY3Rpb24sIHVzZSB0aGlzIGluc3RlYWQgb2YgdGhlIG5hbWUgZ2l2ZW4gaW4gdGhlIGxpbmsuXG4gICAgICBpZiAoY29sbGVjdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRoaXMuYXBpRmVhdHVyZVR5cGUgPSBjb2xsZWN0aW9uc1swXS5uYW1lXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW5kcG9pbnQkLm5leHQodGhpcy5lbmRwb2ludClcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlQXBpUXVlcnlVcmwoXG4gICAgb2Zmc2V0OiBzdHJpbmcsXG4gICAgbGltaXQ6IHN0cmluZyxcbiAgICBmb3JtYXQ6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5hcGlCYXNlVXJsIHx8ICF0aGlzLmVuZHBvaW50IHx8ICF0aGlzLmFwaUZlYXR1cmVUeXBlKSByZXR1cm4gJydcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBvdXRwdXRGb3JtYXQ6IGZvcm1hdCxcbiAgICAgIHN0YXJ0SW5kZXg6IG9mZnNldCA/IE51bWJlcihvZmZzZXQpIDogdW5kZWZpbmVkLFxuICAgICAgbWF4RmVhdHVyZXM6IGxpbWl0ICE9PSAnLTEnID8gTnVtYmVyKGxpbWl0KSA6IHVuZGVmaW5lZCxcbiAgICAgIGxpbWl0OiBsaW1pdCAhPT0gJy0xJyA/IE51bWJlcihsaW1pdCkgOiAtMSxcbiAgICAgIG9mZnNldDogb2Zmc2V0ICE9PSAnJyA/IE51bWJlcihvZmZzZXQpIDogdW5kZWZpbmVkLFxuICAgICAgb3V0cHV0Q3JzOlxuICAgICAgICBmb3JtYXQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdqc29uJykgPiAtMSA/ICdFUFNHOjQzMjYnIDogdW5kZWZpbmVkLFxuICAgIH1cblxuICAgIGlmICh0aGlzLmVuZHBvaW50IGluc3RhbmNlb2YgV2ZzRW5kcG9pbnQpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zLmxpbWl0XG4gICAgICBvcHRpb25zLm1heEZlYXR1cmVzID0gbGltaXQgIT09ICctMScgPyBOdW1iZXIobGltaXQpIDogdW5kZWZpbmVkXG4gICAgICByZXR1cm4gdGhpcy5lbmRwb2ludC5nZXRGZWF0dXJlVXJsKHRoaXMuYXBpRmVhdHVyZVR5cGUsIG9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zLm91dHB1dENyc1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZW5kcG9pbnQuZ2V0Q29sbGVjdGlvbkl0ZW1zVXJsKFxuICAgICAgICB0aGlzLmFwaUZlYXR1cmVUeXBlLFxuICAgICAgICBvcHRpb25zXG4gICAgICApXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtOFwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBiZy13aGl0ZSBwLTggbmctc3Rhci1pbnNlcnRlZCBzaGFkb3cteGwgZ2FwLThcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtWzE2cHhdIHRleHQtYmxhY2sgdHJ1bmNhdGUgZm9udC10aXRsZSB3LTExLzEyXCIgdHJhbnNsYXRlPlxuICAgICAgICByZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0uY3JlYXRlXG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cInJlc2V0VXJsKClcIlxuICAgICAgICBjbGFzcz1cImJnLXByaW1hcnktb3BhY2l0eS01MCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtMiBweS0xIHRleHQtMTMgZm9udC1tZWRpdW0gbGVhZGluZy1ub25lIHRleHQtd2hpdGUgcm91bmRlZCBjYXBpdGFsaXplIHRleHQtcHJpbWFyeS1saWdodGVzdCBob3ZlcjpiZy1wcmltYXJ5IHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgID5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LVsxM3B4XSB1cHBlcmNhc2VcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLnJlc2V0XG4gICAgICAgIDwvcD5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBqdXN0aWZ5LWJldHdlZW4gZ3JvdyBnYXAtNVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LVsxNHB4XVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0ubGltaXQ8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgIDxnbi11aS10ZXh0LWlucHV0XG4gICAgICAgICAgICBjbGFzcz1cIm1yLTIgdy0yMFwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2V0TGltaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiZGlzcGxheUxpbWl0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9nbi11aS10ZXh0LWlucHV0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwibXItMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cIm5vTGltaXRDaGVja2VkJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXRMaW1pdCgnLTEnKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlXG4gICAgICAgICAgICAgID5yZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0ubGltaXQuYWxsPC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMyByZWxhdGl2ZVwiPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtc21cIiBbY2xhc3MudGV4dC1ncmF5LTYwMF09XCIhc3VwcG9ydE9mZnNldFwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0ub2Zmc2V0XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGduLXVpLXRleHQtaW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwidy0yMFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwib2Zmc2V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc3VwcG9ydE9mZnNldFwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic3VwcG9ydE9mZnNldCA/IHNldE9mZnNldCgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvZ24tdWktdGV4dC1pbnB1dD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIiFzdXBwb3J0T2Zmc2V0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1vcmFuZ2UtNTAwIHotMTAgbWwtM1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk5vdCBzdXBwb3J0ZWQgb24gdGhpcyBzZXJ2aWNlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS50eXBlPC9wPlxuICAgICAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgICAgICAjZHJvcGRvd25cbiAgICAgICAgICBbdGl0bGVdPVwiJydcIlxuICAgICAgICAgIGV4dHJhQnRuQ2xhc3M9XCJzZWNvbmRhcnkgbWluLXctZnVsbCAhdy00MCAhdGV4dC1ibGFja1wiXG4gICAgICAgICAgW3Nob3dUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJsYWNrXCJcbiAgICAgICAgICBbY2hvaWNlc109XCJvdXRwdXRGb3JtYXRzXCJcbiAgICAgICAgICAoc2VsZWN0VmFsdWUpPVwic2V0Rm9ybWF0KCRldmVudClcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJmb3JtYXQkIHwgYXN5bmNcIlxuICAgICAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTMgbWItM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNtIHRleHQtYmxhY2sgdHJ1bmNhdGUgZm9udC10aXRsZSB3LTExLzEyXCIgdHJhbnNsYXRlPlxuICAgICAgcmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmN1c3RvbVVybFxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJiZy13aGl0ZSByb3VuZGVkLWxnXCI+XG4gICAgICA8Z24tdWktY29weS10ZXh0LWJ1dHRvblxuICAgICAgICBbdGV4dF09XCJhcGlRdWVyeVVybCQgfCBhc3luY1wiXG4gICAgICA+PC9nbi11aS1jb3B5LXRleHQtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19