geonetwork-ui 2.1.0 → 2.2.0-dev.162f13e3

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 (80) hide show
  1. package/esm2022/libs/api/repository/src/index.mjs +2 -1
  2. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +2 -2
  3. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +2 -2
  4. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
  5. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +3 -3
  6. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -2
  7. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +3 -3
  8. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +2 -2
  9. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
  10. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +17 -38
  11. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +6 -3
  12. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +5 -1
  13. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  14. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +8 -1
  15. package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
  16. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  17. package/esm2022/translations/de.json +3 -0
  18. package/esm2022/translations/en.json +5 -2
  19. package/esm2022/translations/es.json +3 -0
  20. package/esm2022/translations/fr.json +7 -4
  21. package/esm2022/translations/it.json +6 -0
  22. package/esm2022/translations/nl.json +3 -0
  23. package/esm2022/translations/pt.json +3 -0
  24. package/fesm2022/geonetwork-ui.mjs +99 -61
  25. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  26. package/libs/api/repository/src/index.d.ts +1 -0
  27. package/libs/api/repository/src/index.d.ts.map +1 -1
  28. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
  29. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  30. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  31. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -1
  32. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  33. package/libs/feature/search/src/lib/state/effects.d.ts +1 -1
  34. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  35. package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -1
  36. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  37. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  38. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  39. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
  40. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  41. package/libs/ui/inputs/src/lib/button/button.component.d.ts +2 -4
  42. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  43. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
  44. package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts +1 -1
  45. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  46. package/libs/util/app-config/src/lib/model.d.ts +2 -0
  47. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  48. package/libs/util/shared/src/lib/services/theme.service.d.ts +1 -0
  49. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  50. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
  51. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
  52. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  53. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  54. package/package.json +8 -6
  55. package/src/libs/api/repository/src/index.ts +1 -0
  56. package/src/libs/feature/auth/src/lib/feature-auth.module.ts +1 -1
  57. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +1 -1
  58. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
  59. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -4
  60. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -1
  61. package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
  62. package/src/libs/feature/search/src/lib/utils/service/fields.ts +1 -1
  63. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
  64. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
  65. package/src/libs/ui/inputs/src/lib/button/button.component.ts +22 -42
  66. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
  67. package/src/libs/util/app-config/src/lib/app-config.ts +4 -0
  68. package/src/libs/util/app-config/src/lib/model.ts +2 -0
  69. package/src/libs/util/shared/src/lib/services/theme.service.ts +9 -0
  70. package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
  71. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  72. package/tailwind.base.css +31 -1
  73. package/translations/de.json +3 -0
  74. package/translations/en.json +5 -2
  75. package/translations/es.json +3 -0
  76. package/translations/fr.json +7 -4
  77. package/translations/it.json +6 -0
  78. package/translations/nl.json +3 -0
  79. package/translations/pt.json +3 -0
  80. package/translations/sk.json +3 -0
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "@angular/material/icon";
5
5
  import * as i3 from "@ngx-translate/core";
6
+ import * as i4 from "../thumbnail/thumbnail.component";
6
7
  export class MetadataContactComponent {
7
8
  constructor() {
8
9
  this.organizationClick = new EventEmitter();
@@ -16,15 +17,21 @@ export class MetadataContactComponent {
16
17
  ? this.metadata.contactsForResource
17
18
  : this.metadata.contacts) || []);
18
19
  }
20
+ get address() {
21
+ const addressParts = this.contacts[0].address
22
+ .split(',')
23
+ .map((part) => part.trim());
24
+ return addressParts;
25
+ }
19
26
  onOrganizationClick() {
20
27
  this.organizationClick.emit(this.shownOrganization);
21
28
  }
22
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataContactComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MetadataContactComponent, selector: "gn-ui-metadata-contact", inputs: { metadata: "metadata" }, outputs: { organizationClick: "organizationClick", contactClick: "contactClick" }, ngImport: i0, template: "<div *ngIf=\"shownOrganization\" class=\"mb-6 sm:mb-12\">\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.contact\n </p>\n <div class=\"flex mb-1\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n >\n {{ shownOrganization.name }}\n </div>\n </div>\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-gray-700 text-sm hover:underline\"\n target=\"_blank\"\n >{{ contacts[0].email }}</a\n >\n <div *ngIf=\"shownOrganization.website\" class=\"mb-2\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MetadataContactComponent, selector: "gn-ui-metadata-contact", inputs: { metadata: "metadata" }, outputs: { organizationClick: "organizationClick", contactClick: "contactClick" }, ngImport: i0, template: "<div class=\"py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12\">\n <div class=\"grid gap-3\">\n <div>\n <p class=\"text-sm font-medium\" translate>record.metadata.contact</p>\n </div>\n <div\n *ngIf=\"shownOrganization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"shownOrganization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grid gap-1\">\n <div class=\"flex\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n data-cy=\"organization-name\"\n >\n {{ shownOrganization.name }}\n </div>\n </div>\n <div *ngIf=\"shownOrganization?.website\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n </div>\n <div class=\"grid gap-5 py-3 overflow-hidden\">\n <div *ngIf=\"contacts[0]?.phone\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >call_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">{{ contacts[0].phone }}</p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ contacts[0].email }}</a\n >\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.firstName || contacts[0]?.lastName\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >person_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">\n {{ contacts[0]?.firstName || '' }}\n {{ contacts[0]?.lastName || '' }}\n </p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.address\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n location_on</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p *ngFor=\"let addressPart of address\" class=\"text-sm\">\n {{ addressPart }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ 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: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
31
  }
25
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataContactComponent, decorators: [{
26
33
  type: Component,
27
- args: [{ selector: 'gn-ui-metadata-contact', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"shownOrganization\" class=\"mb-6 sm:mb-12\">\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.contact\n </p>\n <div class=\"flex mb-1\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n >\n {{ shownOrganization.name }}\n </div>\n </div>\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-gray-700 text-sm hover:underline\"\n target=\"_blank\"\n >{{ contacts[0].email }}</a\n >\n <div *ngIf=\"shownOrganization.website\" class=\"mb-2\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n</div>\n" }]
34
+ args: [{ selector: 'gn-ui-metadata-contact', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12\">\n <div class=\"grid gap-3\">\n <div>\n <p class=\"text-sm font-medium\" translate>record.metadata.contact</p>\n </div>\n <div\n *ngIf=\"shownOrganization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"shownOrganization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grid gap-1\">\n <div class=\"flex\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n data-cy=\"organization-name\"\n >\n {{ shownOrganization.name }}\n </div>\n </div>\n <div *ngIf=\"shownOrganization?.website\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n </div>\n <div class=\"grid gap-5 py-3 overflow-hidden\">\n <div *ngIf=\"contacts[0]?.phone\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >call_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">{{ contacts[0].phone }}</p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ contacts[0].email }}</a\n >\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.firstName || contacts[0]?.lastName\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >person_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">\n {{ contacts[0]?.firstName || '' }}\n {{ contacts[0]?.lastName || '' }}\n </p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.address\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n location_on</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p *ngFor=\"let addressPart of address\" class=\"text-sm\">\n {{ addressPart }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
28
35
  }], propDecorators: { metadata: [{
29
36
  type: Input
30
37
  }], organizationClick: [{
@@ -32,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
32
39
  }], contactClick: [{
33
40
  type: Output
34
41
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtY29udGFjdC9tZXRhZGF0YS1jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1jb250YWN0L21ldGFkYXRhLWNvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7Ozs7O0FBYXRCLE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFRWSxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQTtRQUNwRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUE7S0FpQnhEO0lBZkMsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFBO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTO1lBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtZQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQ2xDLENBQUE7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDckQsQ0FBQzs4R0FuQlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsbUxDbkJyQyxpaENBZ0NBOzsyRkRiYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZCxcbiAgSW5kaXZpZHVhbCxcbiAgT3JnYW5pemF0aW9uLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1ldGFkYXRhLWNvbnRhY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtY29udGFjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldGFkYXRhLWNvbnRhY3QuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFDb250YWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbWV0YWRhdGE6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD5cbiAgQE91dHB1dCgpIG9yZ2FuaXphdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxPcmdhbml6YXRpb24+KClcbiAgQE91dHB1dCgpIGNvbnRhY3RDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SW5kaXZpZHVhbD4oKVxuXG4gIGdldCBzaG93bk9yZ2FuaXphdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YS5vd25lck9yZ2FuaXphdGlvblxuICB9XG5cbiAgZ2V0IGNvbnRhY3RzKCkge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5tZXRhZGF0YS5raW5kID09PSAnZGF0YXNldCdcbiAgICAgICAgPyB0aGlzLm1ldGFkYXRhLmNvbnRhY3RzRm9yUmVzb3VyY2VcbiAgICAgICAgOiB0aGlzLm1ldGFkYXRhLmNvbnRhY3RzKSB8fCBbXVxuICAgIClcbiAgfVxuXG4gIG9uT3JnYW5pemF0aW9uQ2xpY2soKSB7XG4gICAgdGhpcy5vcmdhbml6YXRpb25DbGljay5lbWl0KHRoaXMuc2hvd25Pcmdhbml6YXRpb24pXG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJzaG93bk9yZ2FuaXphdGlvblwiIGNsYXNzPVwibWItNiBzbTptYi0xMlwiPlxuICA8cCBjbGFzcz1cInRleHQtZ3JheS03MDAgdGV4dC14cyBtYi0zIHVwcGVyY2FzZVwiIHRyYW5zbGF0ZT5cbiAgICByZWNvcmQubWV0YWRhdGEuY29udGFjdFxuICA8L3A+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IG1iLTFcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LXRpdGxlIHRleHQtMjEgbXItMiBjdXJzb3ItcG9pbnRlciBob3Zlcjp1bmRlcmxpbmVcIlxuICAgICAgKGNsaWNrKT1cIm9uT3JnYW5pemF0aW9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAge3sgc2hvd25Pcmdhbml6YXRpb24ubmFtZSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGFcbiAgICAqbmdJZj1cImNvbnRhY3RzLmxlbmd0aFwiXG4gICAgW2hyZWZdPVwiJ21haWx0bzonICsgY29udGFjdHNbMF0uZW1haWxcIlxuICAgIGNsYXNzPVwidGV4dC1ncmF5LTcwMCB0ZXh0LXNtIGhvdmVyOnVuZGVybGluZVwiXG4gICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICA+e3sgY29udGFjdHNbMF0uZW1haWwgfX08L2FcbiAgPlxuICA8ZGl2ICpuZ0lmPVwic2hvd25Pcmdhbml6YXRpb24ud2Vic2l0ZVwiIGNsYXNzPVwibWItMlwiPlxuICAgIDxhXG4gICAgICBbaHJlZl09XCJzaG93bk9yZ2FuaXphdGlvbi53ZWJzaXRlXCJcbiAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICBjbGFzcz1cImNvbnRhY3Qtd2Vic2l0ZSB0ZXh0LXByaW1hcnkgdGV4dC1zbSBjdXJzb3ItcG9pbnRlciBob3Zlcjp1bmRlcmxpbmUgdHJhbnNpdGlvbi1hbGxcIlxuICAgICAgPnt7IHNob3duT3JnYW5pemF0aW9uLndlYnNpdGUgfX1cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgIXctWzEycHhdICFoLVsxMnB4XSAhdGV4dC1bMTJweF0gb3BhY2l0eS03NVwiXG4gICAgICAgID5vcGVuX2luX25ldzwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L2E+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtY29udGFjdC9tZXRhZGF0YS1jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1jb250YWN0L21ldGFkYXRhLWNvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7Ozs7OztBQWF0QixNQUFNLE9BQU8sd0JBQXdCO0lBTnJDO1FBUVksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUE7UUFDcEQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFBO0tBd0J4RDtJQXRCQyxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUE7SUFDeEMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CO1lBQ25DLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FDbEMsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87YUFDMUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7UUFDN0IsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3JELENBQUM7OEdBMUJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG1MQ25CckMscTJHQWtHQTs7MkZEL0VhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkLFxuICBJbmRpdmlkdWFsLFxuICBPcmdhbml6YXRpb24sXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtY29udGFjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1jb250YWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtY29udGFjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YUNvbnRhY3RDb21wb25lbnQge1xuICBASW5wdXQoKSBtZXRhZGF0YTogUGFydGlhbDxDYXRhbG9nUmVjb3JkPlxuICBAT3V0cHV0KCkgb3JnYW5pemF0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE9yZ2FuaXphdGlvbj4oKVxuICBAT3V0cHV0KCkgY29udGFjdENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJbmRpdmlkdWFsPigpXG5cbiAgZ2V0IHNob3duT3JnYW5pemF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFkYXRhLm93bmVyT3JnYW5pemF0aW9uXG4gIH1cblxuICBnZXQgY29udGFjdHMoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLm1ldGFkYXRhLmtpbmQgPT09ICdkYXRhc2V0J1xuICAgICAgICA/IHRoaXMubWV0YWRhdGEuY29udGFjdHNGb3JSZXNvdXJjZVxuICAgICAgICA6IHRoaXMubWV0YWRhdGEuY29udGFjdHMpIHx8IFtdXG4gICAgKVxuICB9XG5cbiAgZ2V0IGFkZHJlc3MoKSB7XG4gICAgY29uc3QgYWRkcmVzc1BhcnRzID0gdGhpcy5jb250YWN0c1swXS5hZGRyZXNzXG4gICAgICAuc3BsaXQoJywnKVxuICAgICAgLm1hcCgocGFydCkgPT4gcGFydC50cmltKCkpXG4gICAgcmV0dXJuIGFkZHJlc3NQYXJ0c1xuICB9XG5cbiAgb25Pcmdhbml6YXRpb25DbGljaygpIHtcbiAgICB0aGlzLm9yZ2FuaXphdGlvbkNsaWNrLmVtaXQodGhpcy5zaG93bk9yZ2FuaXphdGlvbilcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInB5LTUgcHgtNSByb3VuZGVkIGJnLWdyYXktMTAwIHRleHQtYmxhY2sgbWItNiBzbTptYi0xMlwiPlxuICA8ZGl2IGNsYXNzPVwiZ3JpZCBnYXAtM1wiPlxuICAgIDxkaXY+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW1cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmNvbnRhY3Q8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJzaG93bk9yZ2FuaXphdGlvbj8ubG9nb1VybD8uaHJlZlwiXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1zb2xpZCBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgYmctd2hpdGUgaC0zMiBvdmVyZmxvdy1oaWRkZW5cIlxuICAgID5cbiAgICAgIDxnbi11aS10aHVtYm5haWxcbiAgICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBoLWZ1bGwgdy1mdWxsXCJcbiAgICAgICAgW3RodW1ibmFpbFVybF09XCJzaG93bk9yZ2FuaXphdGlvbi5sb2dvVXJsLmhyZWZcIlxuICAgICAgICBmaXQ9XCJjb250YWluXCJcbiAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBnYXAtMVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtdGl0bGUgdGV4dC0yMSBtci0yIGN1cnNvci1wb2ludGVyIGhvdmVyOnVuZGVybGluZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uT3JnYW5pemF0aW9uQ2xpY2soKVwiXG4gICAgICAgICAgZGF0YS1jeT1cIm9yZ2FuaXphdGlvbi1uYW1lXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHNob3duT3JnYW5pemF0aW9uLm5hbWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93bk9yZ2FuaXphdGlvbj8ud2Vic2l0ZVwiPlxuICAgICAgICA8YVxuICAgICAgICAgIFtocmVmXT1cInNob3duT3JnYW5pemF0aW9uLndlYnNpdGVcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgY2xhc3M9XCJjb250YWN0LXdlYnNpdGUgdGV4dC1wcmltYXJ5IHRleHQtc20gY3Vyc29yLXBvaW50ZXIgaG92ZXI6dW5kZXJsaW5lIHRyYW5zaXRpb24tYWxsXCJcbiAgICAgICAgICA+e3sgc2hvd25Pcmdhbml6YXRpb24ud2Vic2l0ZSB9fVxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkICF3LVsxMnB4XSAhaC1bMTJweF0gIXRleHQtWzEycHhdIG9wYWNpdHktNzUgc2hyaW5rLTBcIlxuICAgICAgICAgICAgPm9wZW5faW5fbmV3PC9tYXQtaWNvblxuICAgICAgICAgID5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdyaWQgZ2FwLTUgcHktMyBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb250YWN0c1swXT8ucGhvbmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhdy01ICFoLTUgIXRleHQtWzIwcHhdIG9wYWNpdHktNzUgc2hyaW5rLTBcIlxuICAgICAgICAgICAgPmNhbGxfb3V0bGluZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWwtMlwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCI+e3sgY29udGFjdHNbMF0ucGhvbmUgfX08L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LmVtYWlsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgIXctNSAhaC01ICF0ZXh0LVsyMHB4XSBvcGFjaXR5LTc1IHNocmluay0wXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBtYWlsX291dGxpbmU8L21hdC1pY29uXG4gICAgICAgICAgPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICAqbmdJZj1cImNvbnRhY3RzLmxlbmd0aFwiXG4gICAgICAgICAgICBbaHJlZl09XCInbWFpbHRvOicgKyBjb250YWN0c1swXS5lbWFpbFwiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtc20gaG92ZXI6dW5kZXJsaW5lIG1sLTJcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgIGRhdGEtY3k9XCJjb250YWN0LWVtYWlsXCJcbiAgICAgICAgICAgID57eyBjb250YWN0c1swXS5lbWFpbCB9fTwvYVxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb250YWN0c1swXT8uZmlyc3ROYW1lIHx8IGNvbnRhY3RzWzBdPy5sYXN0TmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkICF3LTUgIWgtNSAhdGV4dC1bMjBweF0gb3BhY2l0eS03NSBzaHJpbmstMFwiXG4gICAgICAgICAgICA+cGVyc29uX291dGxpbmU8L21hdC1pY29uXG4gICAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG1sLTJcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiPlxuICAgICAgICAgICAgICB7eyBjb250YWN0c1swXT8uZmlyc3ROYW1lIHx8ICcnIH19XG4gICAgICAgICAgICAgIHt7IGNvbnRhY3RzWzBdPy5sYXN0TmFtZSB8fCAnJyB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImNvbnRhY3RzWzBdPy5hZGRyZXNzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgIXctNSAhaC01ICF0ZXh0LVsyMHB4XSBvcGFjaXR5LTc1IHNocmluay0wXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBsb2NhdGlvbl9vbjwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWwtMlwiPlxuICAgICAgICAgICAgPHAgKm5nRm9yPVwibGV0IGFkZHJlc3NQYXJ0IG9mIGFkZHJlc3NcIiBjbGFzcz1cInRleHQtc21cIj5cbiAgICAgICAgICAgICAge3sgYWRkcmVzc1BhcnQgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -3,53 +3,32 @@ import { propagateToDocumentOnly } from '../../../../../../libs/util/shared/src'
3
3
  import * as i0 from "@angular/core";
4
4
  export class ButtonComponent {
5
5
  constructor() {
6
- this.type = 'default';
7
6
  this.disabled = false;
8
7
  this.extraClass = '';
9
8
  this.buttonClick = new EventEmitter();
10
9
  }
11
- get classList() {
12
- return `${this.color} ${this.textColor} ${this.borderColor} ${this.extraClass}`;
13
- }
14
- get color() {
15
- switch (this.type) {
16
- case 'default':
17
- return 'bg-gray-700 hover:bg-gray-800 hover:bg-gray-800 active:bg-gray-900';
10
+ // btn-classes are explicited to allow tailwind recognize them and add it in css.
11
+ set type(value) {
12
+ switch (value) {
18
13
  case 'primary':
19
- return 'bg-primary hover:bg-primary-darker focus:bg-primary-darker active:bg-primary-darkest';
20
- case 'secondary':
21
- return 'bg-secondary hover:bg-secondary-darker focus:bg-secondary-darker active:bg-secondary-darkest';
22
- case 'outline':
23
- return 'bg-white';
24
- case 'light':
25
- return 'bg-white hover:bg-gray-50 focus:bg-gray-50 active:bg-gray-100';
26
- }
27
- }
28
- get textColor() {
29
- switch (this.type) {
30
- case 'default':
14
+ this.btnClass = 'btn-primary';
15
+ break;
31
16
  case 'secondary':
32
- case 'primary':
33
- return 'text-white';
17
+ this.btnClass = 'btn-secondary';
18
+ break;
34
19
  case 'outline':
35
- return 'text-main hover:text-primary-darker focus:text-primary-darker active:text-primary-black';
20
+ this.btnClass = 'btn-outline';
21
+ break;
36
22
  case 'light':
37
- return 'text-main';
23
+ this.btnClass = 'btn-light';
24
+ break;
25
+ default:
26
+ this.btnClass = 'btn-default';
27
+ break;
38
28
  }
39
29
  }
40
- get borderColor() {
41
- switch (this.type) {
42
- case 'default':
43
- return 'border border-gray-700 focus:ring-4 focus:ring-gray-200';
44
- case 'secondary':
45
- return 'border border-secondary focus:ring-4 focus:ring-secondary-lightest';
46
- case 'primary':
47
- return 'border border-primary focus:ring-4 focus:ring-primary-lightest';
48
- case 'outline':
49
- return 'border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker';
50
- case 'light':
51
- return 'border border-white focus:ring-4 focus:ring-gray-300';
52
- }
30
+ get classList() {
31
+ return `${this.btnClass} ${this.extraClass}`;
53
32
  }
54
33
  handleClick(event) {
55
34
  this.buttonClick.emit();
@@ -71,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
71
50
  }], buttonClick: [{
72
51
  type: Output
73
52
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7O0FBUWhGLE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBT1csU0FBSSxHQUNYLFNBQVMsQ0FBQTtRQUNGLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNkLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtLQXNEakQ7SUFwREMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNqRixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssU0FBUztnQkFDWixPQUFPLG9FQUFvRSxDQUFBO1lBQzdFLEtBQUssU0FBUztnQkFDWixPQUFPLHNGQUFzRixDQUFBO1lBQy9GLEtBQUssV0FBVztnQkFDZCxPQUFPLDhGQUE4RixDQUFBO1lBQ3ZHLEtBQUssU0FBUztnQkFDWixPQUFPLFVBQVUsQ0FBQTtZQUNuQixLQUFLLE9BQU87Z0JBQ1YsT0FBTywrREFBK0QsQ0FBQTtTQUN6RTtJQUNILENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxZQUFZLENBQUE7WUFDckIsS0FBSyxTQUFTO2dCQUNaLE9BQU8seUZBQXlGLENBQUE7WUFDbEcsS0FBSyxPQUFPO2dCQUNWLE9BQU8sV0FBVyxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyx5REFBeUQsQ0FBQTtZQUNsRSxLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxvRUFBb0UsQ0FBQTtZQUM3RSxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxnRUFBZ0UsQ0FBQTtZQUN6RSxLQUFLLFNBQVM7Z0JBQ1osT0FBTyx3SkFBd0osQ0FBQTtZQUNqSyxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxzREFBc0QsQ0FBQTtTQUNoRTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUN0Qix1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDOzhHQTFEVSxlQUFlO2tHQUFmLGVBQWUsdUtDZjVCLHlWQVNBOzsyRkRNYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkZWZhdWx0JyB8ICdvdXRsaW5lJyB8ICdsaWdodCcgPVxuICAgICdkZWZhdWx0J1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlXG4gIEBJbnB1dCgpIGV4dHJhQ2xhc3MgPSAnJ1xuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICBnZXQgY2xhc3NMaXN0KCkge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbG9yfSAke3RoaXMudGV4dENvbG9yfSAke3RoaXMuYm9yZGVyQ29sb3J9ICR7dGhpcy5leHRyYUNsYXNzfWBcbiAgfVxuXG4gIGdldCBjb2xvcigpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgIHJldHVybiAnYmctZ3JheS03MDAgaG92ZXI6YmctZ3JheS04MDAgaG92ZXI6YmctZ3JheS04MDAgYWN0aXZlOmJnLWdyYXktOTAwJ1xuICAgICAgY2FzZSAncHJpbWFyeSc6XG4gICAgICAgIHJldHVybiAnYmctcHJpbWFyeSBob3ZlcjpiZy1wcmltYXJ5LWRhcmtlciBmb2N1czpiZy1wcmltYXJ5LWRhcmtlciBhY3RpdmU6YmctcHJpbWFyeS1kYXJrZXN0J1xuICAgICAgY2FzZSAnc2Vjb25kYXJ5JzpcbiAgICAgICAgcmV0dXJuICdiZy1zZWNvbmRhcnkgaG92ZXI6Ymctc2Vjb25kYXJ5LWRhcmtlciBmb2N1czpiZy1zZWNvbmRhcnktZGFya2VyIGFjdGl2ZTpiZy1zZWNvbmRhcnktZGFya2VzdCdcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICByZXR1cm4gJ2JnLXdoaXRlJ1xuICAgICAgY2FzZSAnbGlnaHQnOlxuICAgICAgICByZXR1cm4gJ2JnLXdoaXRlIGhvdmVyOmJnLWdyYXktNTAgZm9jdXM6YmctZ3JheS01MCBhY3RpdmU6YmctZ3JheS0xMDAnXG4gICAgfVxuICB9XG5cbiAgZ2V0IHRleHRDb2xvcigpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICBjYXNlICdzZWNvbmRhcnknOlxuICAgICAgY2FzZSAncHJpbWFyeSc6XG4gICAgICAgIHJldHVybiAndGV4dC13aGl0ZSdcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICByZXR1cm4gJ3RleHQtbWFpbiBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VyIGZvY3VzOnRleHQtcHJpbWFyeS1kYXJrZXIgYWN0aXZlOnRleHQtcHJpbWFyeS1ibGFjaydcbiAgICAgIGNhc2UgJ2xpZ2h0JzpcbiAgICAgICAgcmV0dXJuICd0ZXh0LW1haW4nXG4gICAgfVxuICB9XG5cbiAgZ2V0IGJvcmRlckNvbG9yKCkge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlICdkZWZhdWx0JzpcbiAgICAgICAgcmV0dXJuICdib3JkZXIgYm9yZGVyLWdyYXktNzAwIGZvY3VzOnJpbmctNCBmb2N1czpyaW5nLWdyYXktMjAwJ1xuICAgICAgY2FzZSAnc2Vjb25kYXJ5JzpcbiAgICAgICAgcmV0dXJuICdib3JkZXIgYm9yZGVyLXNlY29uZGFyeSBmb2N1czpyaW5nLTQgZm9jdXM6cmluZy1zZWNvbmRhcnktbGlnaHRlc3QnXG4gICAgICBjYXNlICdwcmltYXJ5JzpcbiAgICAgICAgcmV0dXJuICdib3JkZXIgYm9yZGVyLXByaW1hcnkgZm9jdXM6cmluZy00IGZvY3VzOnJpbmctcHJpbWFyeS1saWdodGVzdCdcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICByZXR1cm4gJ2JvcmRlciBib3JkZXItZ3JheS0zMDAgaG92ZXI6Ym9yZGVyLXByaW1hcnktbGlnaHRlciBmb2N1czpib3JkZXItcHJpbWFyeS1saWdodGVyIGZvY3VzOnJpbmctNCBmb2N1czpyaW5nLXByaW1hcnktbGlnaHRlc3QgYWN0aXZlOmJvcmRlci1wcmltYXJ5LWRhcmtlcidcbiAgICAgIGNhc2UgJ2xpZ2h0JzpcbiAgICAgICAgcmV0dXJuICdib3JkZXIgYm9yZGVyLXdoaXRlIGZvY3VzOnJpbmctNCBmb2N1czpyaW5nLWdyYXktMzAwJ1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIHR5cGU9XCJidXR0b25cIlxuICBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIHRleHQtWzFlbV0gbGVhZGluZy1ub25lIHAtWzFlbV0gcm91bmRlZC1bMC4yNWVtXSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0xMDAgZm9jdXM6b3V0bGluZS1ub25lIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZVwiXG4gIFtjbGFzc109XCJjbGFzc0xpc3RcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvYnV0dG9uPlxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7O0FBUWhGLE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBZ0NXLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNkLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtLQVdqRDtJQXBDQyxpRkFBaUY7SUFDakYsSUFBYSxJQUFJLENBQ2YsS0FBZ0U7UUFFaEUsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUE7Z0JBQzdCLE1BQUs7WUFDUCxLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUE7Z0JBQy9CLE1BQUs7WUFDUCxLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUE7Z0JBQzdCLE1BQUs7WUFDUCxLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUE7Z0JBQzNCLE1BQUs7WUFDUDtnQkFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQTtnQkFDN0IsTUFBSztTQUNSO0lBQ0gsQ0FBQztJQU1ELElBQUksU0FBUztRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDdEIsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEMsQ0FBQzs4R0F0Q1UsZUFBZTtrR0FBZixlQUFlLHVLQ2Y1Qix5VkFTQTs7MkZETWEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBTWxDLElBQUk7c0JBQWhCLEtBQUs7Z0JBc0JHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBwcml2YXRlIGJ0bkNsYXNzOiBzdHJpbmdcblxuICAvLyBidG4tY2xhc3NlcyBhcmUgZXhwbGljaXRlZCB0byBhbGxvdyB0YWlsd2luZCByZWNvZ25pemUgdGhlbSBhbmQgYWRkIGl0IGluIGNzcy5cbiAgQElucHV0KCkgc2V0IHR5cGUoXG4gICAgdmFsdWU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RlZmF1bHQnIHwgJ291dGxpbmUnIHwgJ2xpZ2h0J1xuICApIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlICdwcmltYXJ5JzpcbiAgICAgICAgdGhpcy5idG5DbGFzcyA9ICdidG4tcHJpbWFyeSdcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NlY29uZGFyeSc6XG4gICAgICAgIHRoaXMuYnRuQ2xhc3MgPSAnYnRuLXNlY29uZGFyeSdcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICB0aGlzLmJ0bkNsYXNzID0gJ2J0bi1vdXRsaW5lJ1xuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbGlnaHQnOlxuICAgICAgICB0aGlzLmJ0bkNsYXNzID0gJ2J0bi1saWdodCdcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYnRuQ2xhc3MgPSAnYnRuLWRlZmF1bHQnXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZVxuICBASW5wdXQoKSBleHRyYUNsYXNzID0gJydcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgZ2V0IGNsYXNzTGlzdCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5idG5DbGFzc30gJHt0aGlzLmV4dHJhQ2xhc3N9YFxuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5idXR0b25DbGljay5lbWl0KClcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkoZXZlbnQpXG4gIH1cbn1cbiIsIjxidXR0b25cbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgdGV4dC1bMWVtXSBsZWFkaW5nLW5vbmUgcC1bMWVtXSByb3VuZGVkLVswLjI1ZW1dIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMCBmb2N1czpvdXRsaW5lLW5vbmUgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lXCJcbiAgW2NsYXNzXT1cImNsYXNzTGlzdFwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren, } from '@angular/core';
2
2
  import { CdkConnectedOverlay, CdkOverlayOrigin, ScrollStrategyOptions, } from '@angular/cdk/overlay';
3
3
  import { take } from 'rxjs/operators';
4
- import { propagateToDocumentOnly } from '../../../../../../libs/util/shared/src';
4
+ import { createFuzzyFilter, propagateToDocumentOnly, } from '../../../../../../libs/util/shared/src';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/cdk/overlay";
7
7
  import * as i2 from "@angular/common";
@@ -17,7 +17,10 @@ export class DropdownMultiselectComponent {
17
17
  return this.choices.filter((choice) => this.selected.indexOf(choice.value) > -1);
18
18
  }
19
19
  get filteredChoicesByText() {
20
- return this.choices.filter((choice) => choice.label.toLowerCase().includes(this.searchInputValue?.toLowerCase()));
20
+ if (!this.searchInputValue)
21
+ return this.choices;
22
+ const filter = createFuzzyFilter(this.searchInputValue);
23
+ return this.choices.filter((choice) => filter(choice.label));
21
24
  }
22
25
  get focusedIndex() {
23
26
  return this.checkboxes.reduce((prev, curr, curIndex) => curr.nativeElement === document.activeElement ? curIndex : prev, -1);
@@ -187,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
187
190
  type: ViewChildren,
188
191
  args: ['checkBox', { read: ElementRef }]
189
192
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7Ozs7Ozs7O0FBUWhGLE1BQU0sT0FBTyw0QkFBNEI7SUFzQ3ZDLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDeEIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDckQsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2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QkFBdUIsQ0FBQyxNQUFNOzRHQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFOUIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUduRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRzdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuaW1wb3J0IHsgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgYWxsb3dTZWFyY2ggPSB0cnVlXG4gIEBJbnB1dCgpIG1heFJvd3M6IG51bWJlclxuICBASW5wdXQoKSBzZWFyY2hJbnB1dFZhbHVlID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlPcmlnaW4nKSBvdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luXG4gIEBWaWV3Q2hpbGQoQ2RrQ29ubmVjdGVkT3ZlcmxheSkgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG92ZXJsYXlDb250YWluZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGRJbnB1dCcpXG4gIHNlYXJjaEZpZWxkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZHJlbignY2hlY2tCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hlY2tib3hlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG4gIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICBvZmZzZXRZOiA4LFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICBvZmZzZXRZOiAtOCxcbiAgICB9LFxuICBdXG4gIHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICBvdmVybGF5T3BlbiA9IGZhbHNlXG4gIG92ZXJsYXlXaWR0aCA9ICdhdXRvJ1xuICBvdmVybGF5TWF4SGVpZ2h0ID0gJ25vbmUnXG4gIGlkID0gYGRyb3Bkb3duLW11bHRpc2VsZWN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDApfWBcblxuICBnZXQgaGFzU2VsZWN0ZWRDaG9pY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENob2ljZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoY2hvaWNlKSA9PiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gICAgKVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ2hvaWNlc0J5VGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PlxuICAgICAgY2hvaWNlLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dFZhbHVlPy50b0xvd2VyQ2FzZSgpKVxuICAgIClcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIsIGN1ckluZGV4KSA9PlxuICAgICAgICBjdXJyLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBjdXJJbmRleCA6IHByZXYsXG4gICAgICAtMVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuXG4gICAgLy8gdGhpcyB3aWxsIHdhaXQgZm9yIHRoZSBjaGVja2JveGVzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIHRoZSBvdmVybGF5IHRvIGJlIGF0dGFjaGVkXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2gucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSxcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCksXG4gICAgXSlcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJyB8fCBpc09wZW5LZXlcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4gJiYgaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRbJ3R5cGUnXSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICAgIH0gZWxzZSB0aGlzLnNoaWZ0SXRlbUZvY3VzKDEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoLTEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQodGhpcy5jaGVja2JveGVzLmxlbmd0aCAtIDEpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNoZWNrYm94ZXMubGVuZ3RoXG4gICAgLy8gbW9kdWxvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL1JlbWFpbmRlclxuICAgIGNvbnN0IG5ld0luZGV4ID0gKCgoaW5kZXggKyBzaGlmdCkgJSBtYXgpICsgbWF4KSAlIG1heFxuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IENob2ljZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gIH1cblxuICBzZWxlY3QoY2hvaWNlOiBDaG9pY2UsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkXG4gICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgOiB0aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKVxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIHRvZ2dsZShjaG9pY2U6IENob2ljZSkge1xuICAgIHRoaXMuc2VsZWN0KGNob2ljZSwgIXRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZXMuZW1pdChbXSlcbiAgICBwcm9wYWdhdGVUb0RvY3VtZW50T25seShldmVudClcbiAgfVxuXG4gIGNsZWFyU2VhcmNoSW5wdXRWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSAnJ1xuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG59XG4iLCI8Z24tdWktYnV0dG9uXG4gIHR5cGU9XCJvdXRsaW5lXCJcbiAgZXh0cmFDbGFzcz1cInctZnVsbCAhcC1bOHB4XSAhcGwtWzE2cHhdXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5PdmVybGF5KClcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVUcmlnZ2VyS2V5ZG93bigkZXZlbnQpXCJcbiAgY2RrT3ZlcmxheU9yaWdpblxuICAjb3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGl0ZW1zLWNlbnRlciBtci0yIGdhcC0yIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnQgZm9udC1tZWRpdW0gdHJ1bmNhdGUgcHktMVwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImhhc1NlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICBjbGFzcz1cInNocmluay0wIHJvdW5kZWQtZnVsbCB0ZXh0LXByaW1hcnkgYmctcHJpbWFyeS1vcGFjaXR5LTI1IHRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQtWzEycHhdIHctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMSBzZWxlY3RlZC1jb3VudFwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiaC02IHctNlwiIGRhdGEtY3k9XCJjbGVhclNlbGVjdGlvblwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDAgbXItMS41IGhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1jb2xvcnMgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzICYmICFvdmVybGF5T3BlblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgY2xvc2VcbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBzaHJpbmstMCBvcGFjaXR5LTQwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlPcGVuXCI+ZXhwYW5kX2xlc3M8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtaWNvbj5cbjwvZ24tdWktYnV0dG9uPlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cInRydWVcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZU92ZXJsYXkoKVwiXG4gIChkZXRhY2gpPVwiY2xvc2VPdmVybGF5KClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgc2hhZG93LWxnIHB5LTIgdy1mdWxsIG92ZXJmbG93LXgtaGlkZGVuIG92ZXJmbG93LXktYXV0byBvdmVybGF5LWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHRdPVwib3ZlcmxheU1heEhlaWdodFwiXG4gICAgW3N0eWxlLndpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgICAjb3ZlcmxheUNvbnRhaW5lclxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgbWItMiBteC0yIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBwLTIgZm9jdXMtd2l0aGluOnJvdW5kZWQgZm9jdXMtd2l0aGluOmJvcmRlci0yIGZvY3VzLXdpdGhpbjpib3JkZXItcHJpbWFyeVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkIG9mIHNlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwibWF4LXctZnVsbCBiZy1tYWluIHRleHQtd2hpdGUgcm91bmRlZCBwci1bN3B4XSBmbGV4IGdhcC0xIGl0ZW1zLWNlbnRlciBvcGFjaXR5LTcwIGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBtYi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChzZWxlY3RlZCwgZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdHJ1bmNhdGUgbGVhZGluZy1bMjZweF0gcHgtMlwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctd2hpdGUgdGV4dC1tYWluIGgtWzEzcHhdIHctWzEzcHhdIHB0LXB4IC1tdC1weCBzaHJpbmstMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTJweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd1NlYXJjaFwiIGNsYXNzPVwidy1bNTAlXSByZWxhdGl2ZSBncm93IHNocmlua1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRJbnB1dFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTIgdHJ1bmNhdGUgdGV4dC1bMTRweF0gaC1mdWxsIG92ZXJsYXlTZWFyY2hJbnB1dCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidtdWx0aXNlbGVjdC5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiISFzZWFyY2hJbnB1dFZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiByaWdodC0wIHB4LVs3cHhdIGxlYWRpbmctdGlnaHQgY2xlYXItc2VhcmNoLWlucHV0IG1yLTJcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaElucHV0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTBweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgZmlsdGVyZWRDaG9pY2VzQnlUZXh0XCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWxcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzLXdpdGhpbjp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1cy13aXRoaW46YmctZ3JheS01MCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwidy1bMThweF0gaC1bMThweF0gYWxpZ24tdGV4dC10b3Agc2hyaW5rLTBcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAjY2hlY2tCb3hcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChjaG9pY2UpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3QoY2hvaWNlLCAkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1sLVs4cHhdIHRleHQtWzE0cHhdIHRydW5jYXRlXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsR0FDeEIsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQXNDdkMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNyRCxDQUFBO0lBQ0gsQ0FBQztJQUVELElB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QUNTLFVBQVUsMkxBSWYsVUFBVSw2QkM1QzlDLDBnSkEySEE7OzJGRDdGYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzRHQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFOUIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUduRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRzdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuaW1wb3J0IHtcbiAgY3JlYXRlRnV6enlGaWx0ZXIsXG4gIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgYWxsb3dTZWFyY2ggPSB0cnVlXG4gIEBJbnB1dCgpIG1heFJvd3M6IG51bWJlclxuICBASW5wdXQoKSBzZWFyY2hJbnB1dFZhbHVlID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlPcmlnaW4nKSBvdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luXG4gIEBWaWV3Q2hpbGQoQ2RrQ29ubmVjdGVkT3ZlcmxheSkgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG92ZXJsYXlDb250YWluZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGRJbnB1dCcpXG4gIHNlYXJjaEZpZWxkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZHJlbignY2hlY2tCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hlY2tib3hlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG4gIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICBvZmZzZXRZOiA4LFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICBvZmZzZXRZOiAtOCxcbiAgICB9LFxuICBdXG4gIHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICBvdmVybGF5T3BlbiA9IGZhbHNlXG4gIG92ZXJsYXlXaWR0aCA9ICdhdXRvJ1xuICBvdmVybGF5TWF4SGVpZ2h0ID0gJ25vbmUnXG4gIGlkID0gYGRyb3Bkb3duLW11bHRpc2VsZWN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDApfWBcblxuICBnZXQgaGFzU2VsZWN0ZWRDaG9pY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENob2ljZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoY2hvaWNlKSA9PiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gICAgKVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ2hvaWNlc0J5VGV4dCgpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoSW5wdXRWYWx1ZSkgcmV0dXJuIHRoaXMuY2hvaWNlc1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSlcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PiBmaWx0ZXIoY2hvaWNlLmxhYmVsKSlcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIsIGN1ckluZGV4KSA9PlxuICAgICAgICBjdXJyLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBjdXJJbmRleCA6IHByZXYsXG4gICAgICAtMVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuXG4gICAgLy8gdGhpcyB3aWxsIHdhaXQgZm9yIHRoZSBjaGVja2JveGVzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIHRoZSBvdmVybGF5IHRvIGJlIGF0dGFjaGVkXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2gucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSxcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCksXG4gICAgXSlcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJyB8fCBpc09wZW5LZXlcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4gJiYgaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRbJ3R5cGUnXSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICAgIH0gZWxzZSB0aGlzLnNoaWZ0SXRlbUZvY3VzKDEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoLTEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQodGhpcy5jaGVja2JveGVzLmxlbmd0aCAtIDEpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNoZWNrYm94ZXMubGVuZ3RoXG4gICAgLy8gbW9kdWxvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL1JlbWFpbmRlclxuICAgIGNvbnN0IG5ld0luZGV4ID0gKCgoaW5kZXggKyBzaGlmdCkgJSBtYXgpICsgbWF4KSAlIG1heFxuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IENob2ljZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gIH1cblxuICBzZWxlY3QoY2hvaWNlOiBDaG9pY2UsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkXG4gICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgOiB0aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKVxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIHRvZ2dsZShjaG9pY2U6IENob2ljZSkge1xuICAgIHRoaXMuc2VsZWN0KGNob2ljZSwgIXRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZXMuZW1pdChbXSlcbiAgICBwcm9wYWdhdGVUb0RvY3VtZW50T25seShldmVudClcbiAgfVxuXG4gIGNsZWFyU2VhcmNoSW5wdXRWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSAnJ1xuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG59XG4iLCI8Z24tdWktYnV0dG9uXG4gIHR5cGU9XCJvdXRsaW5lXCJcbiAgZXh0cmFDbGFzcz1cInctZnVsbCAhcC1bOHB4XSAhcGwtWzE2cHhdXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5PdmVybGF5KClcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVUcmlnZ2VyS2V5ZG93bigkZXZlbnQpXCJcbiAgY2RrT3ZlcmxheU9yaWdpblxuICAjb3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGl0ZW1zLWNlbnRlciBtci0yIGdhcC0yIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnQgZm9udC1tZWRpdW0gdHJ1bmNhdGUgcHktMVwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImhhc1NlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICBjbGFzcz1cInNocmluay0wIHJvdW5kZWQtZnVsbCB0ZXh0LXByaW1hcnkgYmctcHJpbWFyeS1vcGFjaXR5LTI1IHRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQtWzEycHhdIHctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMSBzZWxlY3RlZC1jb3VudFwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiaC02IHctNlwiIGRhdGEtY3k9XCJjbGVhclNlbGVjdGlvblwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDAgbXItMS41IGhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1jb2xvcnMgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzICYmICFvdmVybGF5T3BlblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgY2xvc2VcbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBzaHJpbmstMCBvcGFjaXR5LTQwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlPcGVuXCI+ZXhwYW5kX2xlc3M8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtaWNvbj5cbjwvZ24tdWktYnV0dG9uPlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cInRydWVcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZU92ZXJsYXkoKVwiXG4gIChkZXRhY2gpPVwiY2xvc2VPdmVybGF5KClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgc2hhZG93LWxnIHB5LTIgdy1mdWxsIG92ZXJmbG93LXgtaGlkZGVuIG92ZXJmbG93LXktYXV0byBvdmVybGF5LWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHRdPVwib3ZlcmxheU1heEhlaWdodFwiXG4gICAgW3N0eWxlLndpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgICAjb3ZlcmxheUNvbnRhaW5lclxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgbWItMiBteC0yIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBwLTIgZm9jdXMtd2l0aGluOnJvdW5kZWQgZm9jdXMtd2l0aGluOmJvcmRlci0yIGZvY3VzLXdpdGhpbjpib3JkZXItcHJpbWFyeVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkIG9mIHNlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwibWF4LXctZnVsbCBiZy1tYWluIHRleHQtd2hpdGUgcm91bmRlZCBwci1bN3B4XSBmbGV4IGdhcC0xIGl0ZW1zLWNlbnRlciBvcGFjaXR5LTcwIGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBtYi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChzZWxlY3RlZCwgZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdHJ1bmNhdGUgbGVhZGluZy1bMjZweF0gcHgtMlwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctd2hpdGUgdGV4dC1tYWluIGgtWzEzcHhdIHctWzEzcHhdIHB0LXB4IC1tdC1weCBzaHJpbmstMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTJweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd1NlYXJjaFwiIGNsYXNzPVwidy1bNTAlXSByZWxhdGl2ZSBncm93IHNocmlua1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRJbnB1dFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTIgdHJ1bmNhdGUgdGV4dC1bMTRweF0gaC1mdWxsIG92ZXJsYXlTZWFyY2hJbnB1dCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidtdWx0aXNlbGVjdC5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiISFzZWFyY2hJbnB1dFZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiByaWdodC0wIHB4LVs3cHhdIGxlYWRpbmctdGlnaHQgY2xlYXItc2VhcmNoLWlucHV0IG1yLTJcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaElucHV0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTBweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgZmlsdGVyZWRDaG9pY2VzQnlUZXh0XCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWxcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzLXdpdGhpbjp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1cy13aXRoaW46YmctZ3JheS01MCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwidy1bMThweF0gaC1bMThweF0gYWxpZ24tdGV4dC10b3Agc2hyaW5rLTBcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAjY2hlY2tCb3hcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChjaG9pY2UpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3QoY2hvaWNlLCAkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1sLVs4cHhdIHRleHQtWzE0cHhdIHRydW5jYXRlXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -67,6 +67,7 @@ export function loadAppConfig() {
67
67
  'login_url',
68
68
  'web_component_embedder_url',
69
69
  'languages',
70
+ 'contact_email',
70
71
  ], warnings, errors);
71
72
  if (parsedGlobalSection?.metadata_language) {
72
73
  parsedGlobalSection = checkMetadataLanguage(parsedGlobalSection, warnings);
@@ -84,6 +85,7 @@ export function loadAppConfig() {
84
85
  LOGIN_URL: parsedGlobalSection.login_url,
85
86
  WEB_COMPONENT_EMBEDDER_URL: parsedGlobalSection.web_component_embedder_url,
86
87
  LANGUAGES: parsedGlobalSection.languages,
88
+ CONTACT_EMAIL: parsedGlobalSection.contact_email,
87
89
  };
88
90
  const parsedLayersSections = parseMultiConfigSection(parsed, 'map_layer', ['type'], ['name', 'url', 'data'], warnings, errors);
89
91
  const parsedMapSection = parseConfigSection(parsed, 'map', [], [
@@ -117,6 +119,7 @@ export function loadAppConfig() {
117
119
  'fonts_stylesheet_url',
118
120
  'thumbnail_placeholder',
119
121
  'header_background',
122
+ 'favicon',
120
123
  ], warnings, errors);
121
124
  themeConfig =
122
125
  parsedThemeSection === null
@@ -132,6 +135,7 @@ export function loadAppConfig() {
132
135
  TITLE_FONT: parsedThemeSection.title_font,
133
136
  MAIN_FONT: parsedThemeSection.main_font,
134
137
  FONTS_STYLESHEET_URL: parsedThemeSection.fonts_stylesheet_url,
138
+ FAVICON: parsedThemeSection.favicon,
135
139
  };
136
140
  const parsedSearchSection = parseConfigSection(parsed, 'search', [], [
137
141
  'filter_geometry_data',
@@ -195,4 +199,4 @@ export const TRANSLATE_WITH_OVERRIDES_CONFIG = {
195
199
  deps: [HttpClient],
196
200
  },
197
201
  };
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFD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QU8sZUFBZSxDQUFBO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTTtJQUNwQixZQUFZLEdBQUcsSUFBSSxDQUFBO0lBQ25CLFdBQVcsR0FBRyxJQUFJLENBQUE7SUFDbEIsa0JBQWtCLEdBQUcsSUFBSSxDQUFBO0FBQzNCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUM3QyxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsU0FBUyxpQkFBaUIsQ0FBQyxJQUFnQjtZQUNyRCxPQUFPLElBQUksZ0NBQWdDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUE7UUFDckUsQ0FBQztRQUNELGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUNuQjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUT01MIGZyb20gJ0BsdGQvai10b21sJ1xuaW1wb3J0IHtcbiAgY2hlY2tNZXRhZGF0YUxhbmd1YWdlLFxuICBwYXJzZUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlTXVsdGlDb25maWdTZWN0aW9uLFxuICBwYXJzZVRyYW5zbGF0aW9uc0NvbmZpZ1NlY3Rpb24sXG59IGZyb20gJy4vcGFyc2UtdXRpbHMnXG5pbXBvcnQge1xuICBDdXN0b21UcmFuc2xhdGlvbnMsXG4gIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyxcbiAgR2xvYmFsQ29uZmlnLFxuICBMYXllckNvbmZpZyxcbiAgTWFwQ29uZmlnLFxuICBNZXRhZGF0YVF1YWxpdHlDb25maWcsXG4gIFNlYXJjaENvbmZpZyxcbiAgVGhlbWVDb25maWcsXG59IGZyb20gJy4vbW9kZWwnXG5pbXBvcnQgeyBUcmFuc2xhdGVDb21waWxlciwgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlciB9IGZyb20gJ25neC10cmFuc2xhdGUtbWVzc2FnZWZvcm1hdC1jb21waWxlcidcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IERFRkFVTFRfTEFORyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9pMThuL3NyYydcbmltcG9ydCB7IEZpbGVXaXRoT3ZlcnJpZGVzVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnLi9pMThuL2ZpbGUtd2l0aC1vdmVycmlkZXMudHJhbnNsYXRlLmxvYWRlcidcblxuY29uc3QgTUlTU0lOR19DT05GSUdfRVJST1IgPSBgQXBwbGljYXRpb24gY29uZmlndXJhdGlvbiB3YXMgbm90IGluaXRpYWxpemVkIGNvcnJlY3RseS5cblRoaXMgZXJyb3IgbWlnaHQgc2hvdyB1cCBpbiBjYXNlIG9mIGFuIGludmFsaWQvbWFsZm9ybWVkIGNvbmZpZ3VyYXRpb24gZmlsZS5cblxuTm90ZTogbWFrZSBzdXJlIHRoYXQgeW91IGhhdmUgY2FsbGVkIFxcYGxvYWRBcHBDb25maWdcXGAgZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2FwcC1jb25maWcvc3JjJyBiZWZvcmUgc3RhcnRpbmcgdGhlIEFuZ3VsYXIgYXBwbGljYXRpb24uYFxuXG5sZXQgZ2xvYmFsQ29uZmlnOiBHbG9iYWxDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxDb25maWcoKTogR2xvYmFsQ29uZmlnIHtcbiAgaWYgKGdsb2JhbENvbmZpZyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gZ2xvYmFsQ29uZmlnXG59XG5cbmxldCB0aGVtZUNvbmZpZzogVGhlbWVDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaGVtZUNvbmZpZygpOiBUaGVtZUNvbmZpZyB7XG4gIGlmICh0aGVtZUNvbmZpZyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gdGhlbWVDb25maWdcbn1cblxubGV0IG1hcENvbmZpZzogTWFwQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uYWxNYXBDb25maWcoKTogTWFwQ29uZmlnIHwgbnVsbCB7XG4gIHJldHVybiBtYXBDb25maWdcbn1cblxubGV0IHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uYWxTZWFyY2hDb25maWcoKTogU2VhcmNoQ29uZmlnIHwgbnVsbCB7XG4gIHJldHVybiBzZWFyY2hDb25maWdcbn1cblxubGV0IG1ldGFkYXRhUXVhbGl0eUNvbmZpZzogTWV0YWRhdGFRdWFsaXR5Q29uZmlnID0gbnVsbFxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ldGFkYXRhUXVhbGl0eUNvbmZpZygpOiBNZXRhZGF0YVF1YWxpdHlDb25maWcge1xuICByZXR1cm4gKFxuICAgIG1ldGFkYXRhUXVhbGl0eUNvbmZpZyB8fFxuICAgICh7XG4gICAgICBFTkFCTEVEOiBmYWxzZSxcbiAgICB9IGFzIE1ldGFkYXRhUXVhbGl0eUNvbmZpZylcbiAgKVxufVxuXG5sZXQgY3VzdG9tVHJhbnNsYXRpb25zOiBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXN0b21UcmFuc2xhdGlvbnMobGFuZ0NvZGU6IHN0cmluZyk6IEN1c3RvbVRyYW5zbGF0aW9ucyB7XG4gIGlmIChjdXN0b21UcmFuc2xhdGlvbnMgPT09IG51bGwpIHRocm93IG5ldyBFcnJvcihNSVNTSU5HX0NPTkZJR19FUlJPUilcbiAgcmV0dXJuIGxhbmdDb2RlIGluIGN1c3RvbVRyYW5zbGF0aW9ucyA/IGN1c3RvbVRyYW5zbGF0aW9uc1tsYW5nQ29kZV0gOiB7fVxufVxuXG5sZXQgYXBwQ29uZmlnTG9hZGVkID0gZmFsc2VcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBcHBDb25maWcoKSB7XG4gIHJldHVybiBmZXRjaCgnYXNzZXRzL2NvbmZpZ3VyYXRpb24vZGVmYXVsdC50b21sJylcbiAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgaWYgKCFyZXNwLm9rKSB0aHJvdyBuZXcgRXJyb3IoJ0NvbmZpZ3VyYXRpb24gZmlsZSBjb3VsZCBub3QgYmUgbG9hZGVkJylcbiAgICAgIHJldHVybiByZXNwLnRleHQoKVxuICAgIH0pXG4gICAgLnRoZW4oKGNvbmYpID0+IHtcbiAgICAgIGxldCBwYXJzZWRcbiAgICAgIHRyeSB7XG4gICAgICAgIHBhcnNlZCA9IFRPTUwucGFyc2UoY29uZiwgeyBqb2luZXI6ICdcXG4nLCBiaWdpbnQ6IGZhbHNlIH0pIGFzIGFueVxuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hlbiBwYXJzaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGU6ICR7ZS5tZXNzYWdlfWBcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgY29uc3QgZXJyb3JzID0gW11cbiAgICAgIGNvbnN0IHdhcm5pbmdzID0gW11cblxuICAgICAgbGV0IHBhcnNlZEdsb2JhbFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ2dsb2JhbCcsXG4gICAgICAgIFsnZ2VvbmV0d29yazRfYXBpX3VybCddLFxuICAgICAgICBbXG4gICAgICAgICAgJ2RhdGFodWJfdXJsJyxcbiAgICAgICAgICAncHJveHlfcGF0aCcsXG4gICAgICAgICAgJ21ldGFkYXRhX2xhbmd1YWdlJyxcbiAgICAgICAgICAnbG9naW5fdXJsJyxcbiAgICAgICAgICAnd2ViX2NvbXBvbmVudF9lbWJlZGRlcl91cmwnLFxuICAgICAgICAgICdsYW5ndWFnZXMnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgIH0gYXMgR2xvYmFsQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRMYXllcnNTZWN0aW9ucyA9IHBhcnNlTXVsdGlDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdtYXBfbGF5ZXInLFxuICAgICAgICBbJ3R5cGUnXSxcbiAgICAgICAgWyduYW1lJywgJ3VybCcsICdkYXRhJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIGNvbnN0IHBhcnNlZE1hcFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ21heF96b29tJyxcbiAgICAgICAgICAnbWF4X2V4dGVudCcsXG4gICAgICAgICAgJ2Jhc2VsYXllcicsXG4gICAgICAgICAgJ2RvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwJyxcbiAgICAgICAgICAnZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZScsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWInLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBtYXBDb25maWcgPVxuICAgICAgICBwYXJzZWRNYXBTZWN0aW9uID09PSBudWxsIHx8IHBhcnNlZExheWVyc1NlY3Rpb25zID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBNQVhfWk9PTTogcGFyc2VkTWFwU2VjdGlvbi5tYXhfem9vbSxcbiAgICAgICAgICAgICAgTUFYX0VYVEVOVDogcGFyc2VkTWFwU2VjdGlvbi5tYXhfZXh0ZW50LFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfVVJMX1RFTVBMQVRFOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZSxcbiAgICAgICAgICAgICAgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQjpcbiAgICAgICAgICAgICAgICBwYXJzZWRNYXBTZWN0aW9uLmV4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWIsXG4gICAgICAgICAgICAgIERPX05PVF9VU0VfREVGQVVMVF9CQVNFTUFQOlxuICAgICAgICAgICAgICAgICEhcGFyc2VkTWFwU2VjdGlvbi5kb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCxcbiAgICAgICAgICAgICAgTUFQX0xBWUVSUzogcGFyc2VkTGF5ZXJzU2VjdGlvbnMubWFwKFxuICAgICAgICAgICAgICAgIChtYXBfbGF5ZXIpID0+XG4gICAgICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgICAgICBUWVBFOiBtYXBfbGF5ZXIudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgVVJMOiBtYXBfbGF5ZXIudXJsLFxuICAgICAgICAgICAgICAgICAgICBOQU1FOiBtYXBfbGF5ZXIubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgREFUQTogbWFwX2xheWVyLmRhdGEsXG4gICAgICAgICAgICAgICAgICB9IGFzIExheWVyQ29uZmlnKVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSBhcyBNYXBDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFRoZW1lU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAndGhlbWUnLFxuICAgICAgICBbJ3ByaW1hcnlfY29sb3InLCAnc2Vjb25kYXJ5X2NvbG9yJywgJ21haW5fY29sb3InLCAnYmFja2dyb3VuZF9jb2xvciddLFxuICAgICAgICBbXG4gICAgICAgICAgJ2hlYWRlcl9mb3JlZ3JvdW5kX2NvbG9yJyxcbiAgICAgICAgICAnbWFpbl9mb250JyxcbiAgICAgICAgICAndGl0bGVfZm9udCcsXG4gICAgICAgICAgJ2ZvbnRzX3N0eWxlc2hlZXRfdXJsJyxcbiAgICAgICAgICAndGh1bWJuYWlsX3BsYWNlaG9sZGVyJyxcbiAgICAgICAgICAnaGVhZGVyX2JhY2tncm91bmQnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICB0aGVtZUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgUFJJTUFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnByaW1hcnlfY29sb3IsXG4gICAgICAgICAgICAgIFNFQ09OREFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnNlY29uZGFyeV9jb2xvcixcbiAgICAgICAgICAgICAgTUFJTl9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fY29sb3IsXG4gICAgICAgICAgICAgIEJBQ0tHUk9VTkRfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5iYWNrZ3JvdW5kX2NvbG9yLFxuICAgICAgICAgICAgICBIRUFERVJfRk9SRUdST1VORF9DT0xPUjpcbiAgICAgICAgICAgICAgICBwYXJzZWRUaGVtZVNlY3Rpb24uaGVhZGVyX2ZvcmVncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogcGFyc2VkVGhlbWVTZWN0aW9uLnRodW1ibmFpbF9wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgSEVBREVSX0JBQ0tHUk9VTkQ6IHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgVElUTEVfRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLnRpdGxlX2ZvbnQsXG4gICAgICAgICAgICAgIE1BSU5fRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fZm9udCxcbiAgICAgICAgICAgICAgRk9OVFNfU1RZTEVTSEVFVF9VUkw6IHBhcnNlZFRoZW1lU2VjdGlvbi5mb250c19zdHlsZXNoZWV0X3VybCxcbiAgICAgICAgICAgIH0gYXMgVGhlbWVDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV9kYXRhJyxcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X3VybCcsXG4gICAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICAgICdhZHZhbmNlZF9maWx0ZXJzJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkU2VhcmNoUGFyYW1zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICBbJ25hbWUnXSxcbiAgICAgICAgWydzb3J0JywgJ2ZpbHRlcnMnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgc2VhcmNoQ29uZmlnID1cbiAgICAgICAgcGFyc2VkU2VhcmNoU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRklMVEVSX0dFT01FVFJZX0RBVEE6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X2RhdGEsXG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9VUkw6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X3VybCxcbiAgICAgICAgICAgICAgU0VBUkNIX1BSRVNFVDogcGFyc2VkU2VhcmNoUGFyYW1zLm1hcCgocGFyYW0pID0+ICh7XG4gICAgICAgICAgICAgICAgc29ydDogcGFyYW0uc29ydCxcbiAgICAgICAgICAgICAgICBuYW1lOiBwYXJhbS5uYW1lLFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IHBhcmFtLmZpbHRlcnMsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgQURWQU5DRURfRklMVEVSUzogcGFyc2VkU2VhcmNoU2VjdGlvbi5hZHZhbmNlZF9maWx0ZXJzLFxuICAgICAgICAgICAgfSBhcyBTZWFyY2hDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21ldGFkYXRhLXF1YWxpdHknLFxuICAgICAgICBbXSxcbiAgICAgICAgWydlbmFibGVkJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIG1ldGFkYXRhUXVhbGl0eUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEVOQUJMRUQ6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uZW5hYmxlZCxcbiAgICAgICAgICAgICAgU09SVEFCTEU6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uc29ydGFibGUsXG4gICAgICAgICAgICB9IGFzIE1ldGFkYXRhUXVhbGl0eUNvbmZpZylcblxuICAgICAgY3VzdG9tVHJhbnNsYXRpb25zID0gcGFyc2VUcmFuc2xhdGlvbnNDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICd0cmFuc2xhdGlvbnMnXG4gICAgICApIGFzIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlc1xuXG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE9uZSBvciBtb3JlIG1hbmRhdG9yeSBzZXR0aW5ncyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBmaWxlLlxuJHtlcnJvcnMuam9pbignXFxuJyl9YClcbiAgICAgIH0gZWxzZSBpZiAod2FybmluZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgT25lIG9yIG1vcmUgdW5leHBlY3RlZCBzZXR0aW5ncyB3ZXJlIGVuY291bnRlcmVkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke3dhcm5pbmdzLmpvaW4oJ1xcbicpfWApXG4gICAgICB9XG5cbiAgICAgIGFwcENvbmZpZ0xvYWRlZCA9IHRydWVcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb25maWdMb2FkZWQoKSB7XG4gIHJldHVybiBhcHBDb25maWdMb2FkZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9yZXNldCgpIHtcbiAgZ2xvYmFsQ29uZmlnID0gbnVsbFxuICB0aGVtZUNvbmZpZyA9IG51bGxcbiAgY3VzdG9tVHJhbnNsYXRpb25zID0gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRFX1dJVEhfT1ZFUlJJREVTX0NPTkZJRyA9IHtcbiAgY29tcGlsZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVDb21waWxlcixcbiAgICB1c2VDbGFzczogVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyLFxuICB9LFxuICBsb2FkZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgdXNlRmFjdG9yeTogZnVuY3Rpb24gSHR0cExvYWRlckZhY3RvcnkoaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgcmV0dXJuIG5ldyBGaWxlV2l0aE92ZXJyaWRlc1RyYW5zbGF0ZUxvYWRlcihodHRwLCAnLi9hc3NldHMvaTE4bi8nKVxuICAgIH0sXG4gICAgZGVmYXVsdExhbmd1YWdlOiBERUZBVUxUX0xBTkcsXG4gICAgZGVwczogW0h0dHBDbGllbnRdLFxuICB9LFxufVxuIl19
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFD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QUNqQjtRQUVELGVBQWUsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNO0lBQ3BCLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDbkIsV0FBVyxHQUFHLElBQUksQ0FBQTtJQUNsQixrQkFBa0IsR0FBRyxJQUFJLENBQUE7QUFDM0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHO0lBQzdDLFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSxTQUFTLGlCQUFpQixDQUFDLElBQWdCO1lBQ3JELE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBQ0QsZUFBZSxFQUFFLFlBQVk7UUFDN0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0tBQ25CO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRPTUwgZnJvbSAnQGx0ZC9qLXRvbWwnXG5pbXBvcnQge1xuICBjaGVja01ldGFkYXRhTGFuZ3VhZ2UsXG4gIHBhcnNlQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbixcbn0gZnJvbSAnLi9wYXJzZS11dGlscydcbmltcG9ydCB7XG4gIEN1c3RvbVRyYW5zbGF0aW9ucyxcbiAgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzLFxuICBHbG9iYWxDb25maWcsXG4gIExheWVyQ29uZmlnLFxuICBNYXBDb25maWcsXG4gIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyxcbiAgU2VhcmNoQ29uZmlnLFxuICBUaGVtZUNvbmZpZyxcbn0gZnJvbSAnLi9tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyLCBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWNvbXBpbGVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2kxOG4vZmlsZS13aXRoLW92ZXJyaWRlcy50cmFuc2xhdGUubG9hZGVyJ1xuXG5jb25zdCBNSVNTSU5HX0NPTkZJR19FUlJPUiA9IGBBcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIHdhcyBub3QgaW5pdGlhbGl6ZWQgY29ycmVjdGx5LlxuVGhpcyBlcnJvciBtaWdodCBzaG93IHVwIGluIGNhc2Ugb2YgYW4gaW52YWxpZC9tYWxmb3JtZWQgY29uZmlndXJhdGlvbiBmaWxlLlxuXG5Ob3RlOiBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBjYWxsZWQgXFxgbG9hZEFwcENvbmZpZ1xcYCBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMnIGJlZm9yZSBzdGFydGluZyB0aGUgQW5ndWxhciBhcHBsaWNhdGlvbi5gXG5cbmxldCBnbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbENvbmZpZygpOiBHbG9iYWxDb25maWcge1xuICBpZiAoZ2xvYmFsQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBnbG9iYWxDb25maWdcbn1cblxubGV0IHRoZW1lQ29uZmlnOiBUaGVtZUNvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRoZW1lQ29uZmlnKCk6IFRoZW1lQ29uZmlnIHtcbiAgaWYgKHRoZW1lQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiB0aGVtZUNvbmZpZ1xufVxuXG5sZXQgbWFwQ29uZmlnOiBNYXBDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbE1hcENvbmZpZygpOiBNYXBDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIG1hcENvbmZpZ1xufVxuXG5sZXQgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbFNlYXJjaENvbmZpZygpOiBTZWFyY2hDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIHNlYXJjaENvbmZpZ1xufVxuXG5sZXQgbWV0YWRhdGFRdWFsaXR5Q29uZmlnOiBNZXRhZGF0YVF1YWxpdHlDb25maWcgPSBudWxsXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFRdWFsaXR5Q29uZmlnKCk6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIHJldHVybiAoXG4gICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnIHx8XG4gICAgKHtcbiAgICAgIEVOQUJMRUQ6IGZhbHNlLFxuICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuICApXG59XG5cbmxldCBjdXN0b21UcmFuc2xhdGlvbnM6IEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1c3RvbVRyYW5zbGF0aW9ucyhsYW5nQ29kZTogc3RyaW5nKTogQ3VzdG9tVHJhbnNsYXRpb25zIHtcbiAgaWYgKGN1c3RvbVRyYW5zbGF0aW9ucyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gbGFuZ0NvZGUgaW4gY3VzdG9tVHJhbnNsYXRpb25zID8gY3VzdG9tVHJhbnNsYXRpb25zW2xhbmdDb2RlXSA6IHt9XG59XG5cbmxldCBhcHBDb25maWdMb2FkZWQgPSBmYWxzZVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFwcENvbmZpZygpIHtcbiAgcmV0dXJuIGZldGNoKCdhc3NldHMvY29uZmlndXJhdGlvbi9kZWZhdWx0LnRvbWwnKVxuICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICBpZiAoIXJlc3Aub2spIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBmaWxlIGNvdWxkIG5vdCBiZSBsb2FkZWQnKVxuICAgICAgcmV0dXJuIHJlc3AudGV4dCgpXG4gICAgfSlcbiAgICAudGhlbigoY29uZikgPT4ge1xuICAgICAgbGV0IHBhcnNlZFxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gVE9NTC5wYXJzZShjb25mLCB7IGpvaW5lcjogJ1xcbicsIGJpZ2ludDogZmFsc2UgfSkgYXMgYW55XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHBhcnNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZTogJHtlLm1lc3NhZ2V9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBlcnJvcnMgPSBbXVxuICAgICAgY29uc3Qgd2FybmluZ3MgPSBbXVxuXG4gICAgICBsZXQgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnZ2xvYmFsJyxcbiAgICAgICAgWydnZW9uZXR3b3JrNF9hcGlfdXJsJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZGF0YWh1Yl91cmwnLFxuICAgICAgICAgICdwcm94eV9wYXRoJyxcbiAgICAgICAgICAnbWV0YWRhdGFfbGFuZ3VhZ2UnLFxuICAgICAgICAgICdsb2dpbl91cmwnLFxuICAgICAgICAgICd3ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCcsXG4gICAgICAgICAgJ2xhbmd1YWdlcycsXG4gICAgICAgICAgJ2NvbnRhY3RfZW1haWwnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgQ09OVEFDVF9FTUFJTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5jb250YWN0X2VtYWlsLFxuICAgICAgICAgICAgfSBhcyBHbG9iYWxDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZExheWVyc1NlY3Rpb25zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcF9sYXllcicsXG4gICAgICAgIFsndHlwZSddLFxuICAgICAgICBbJ25hbWUnLCAndXJsJywgJ2RhdGEnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkTWFwU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnbWF4X3pvb20nLFxuICAgICAgICAgICdtYXhfZXh0ZW50JyxcbiAgICAgICAgICAnYmFzZWxheWVyJyxcbiAgICAgICAgICAnZG9fbm90X3VzZV9kZWZhdWx0X2Jhc2VtYXAnLFxuICAgICAgICAgICdleHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlJyxcbiAgICAgICAgICAnZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYicsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIG1hcENvbmZpZyA9XG4gICAgICAgIHBhcnNlZE1hcFNlY3Rpb24gPT09IG51bGwgfHwgcGFyc2VkTGF5ZXJzU2VjdGlvbnMgPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIE1BWF9aT09NOiBwYXJzZWRNYXBTZWN0aW9uLm1heF96b29tLFxuICAgICAgICAgICAgICBNQVhfRVhURU5UOiBwYXJzZWRNYXBTZWN0aW9uLm1heF9leHRlbnQsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlLFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfT1BFTl9ORVdfVEFCOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYixcbiAgICAgICAgICAgICAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6XG4gICAgICAgICAgICAgICAgISFwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwLFxuICAgICAgICAgICAgICBNQVBfTEFZRVJTOiBwYXJzZWRMYXllcnNTZWN0aW9ucy5tYXAoXG4gICAgICAgICAgICAgICAgKG1hcF9sYXllcikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFRZUEU6IG1hcF9sYXllci50eXBlLFxuICAgICAgICAgICAgICAgICAgICBVUkw6IG1hcF9sYXllci51cmwsXG4gICAgICAgICAgICAgICAgICAgIE5BTUU6IG1hcF9sYXllci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBEQVRBOiBtYXBfbGF5ZXIuZGF0YSxcbiAgICAgICAgICAgICAgICAgIH0gYXMgTGF5ZXJDb25maWcpXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9IGFzIE1hcENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkVGhlbWVTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICd0aGVtZScsXG4gICAgICAgIFsncHJpbWFyeV9jb2xvcicsICdzZWNvbmRhcnlfY29sb3InLCAnbWFpbl9jb2xvcicsICdiYWNrZ3JvdW5kX2NvbG9yJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnaGVhZGVyX2ZvcmVncm91bmRfY29sb3InLFxuICAgICAgICAgICdtYWluX2ZvbnQnLFxuICAgICAgICAgICd0aXRsZV9mb250JyxcbiAgICAgICAgICAnZm9udHNfc3R5bGVzaGVldF91cmwnLFxuICAgICAgICAgICd0aHVtYm5haWxfcGxhY2Vob2xkZXInLFxuICAgICAgICAgICdoZWFkZXJfYmFja2dyb3VuZCcsXG4gICAgICAgICAgJ2Zhdmljb24nLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICB0aGVtZUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgUFJJTUFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnByaW1hcnlfY29sb3IsXG4gICAgICAgICAgICAgIFNFQ09OREFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnNlY29uZGFyeV9jb2xvcixcbiAgICAgICAgICAgICAgTUFJTl9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fY29sb3IsXG4gICAgICAgICAgICAgIEJBQ0tHUk9VTkRfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5iYWNrZ3JvdW5kX2NvbG9yLFxuICAgICAgICAgICAgICBIRUFERVJfRk9SRUdST1VORF9DT0xPUjpcbiAgICAgICAgICAgICAgICBwYXJzZWRUaGVtZVNlY3Rpb24uaGVhZGVyX2ZvcmVncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogcGFyc2VkVGhlbWVTZWN0aW9uLnRodW1ibmFpbF9wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgSEVBREVSX0JBQ0tHUk9VTkQ6IHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgVElUTEVfRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLnRpdGxlX2ZvbnQsXG4gICAgICAgICAgICAgIE1BSU5fRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fZm9udCxcbiAgICAgICAgICAgICAgRk9OVFNfU1RZTEVTSEVFVF9VUkw6IHBhcnNlZFRoZW1lU2VjdGlvbi5mb250c19zdHlsZXNoZWV0X3VybCxcbiAgICAgICAgICAgICAgRkFWSUNPTjogcGFyc2VkVGhlbWVTZWN0aW9uLmZhdmljb24sXG4gICAgICAgICAgICB9IGFzIFRoZW1lQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRTZWFyY2hTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdzZWFyY2gnLFxuICAgICAgICBbXSxcbiAgICAgICAgW1xuICAgICAgICAgICdmaWx0ZXJfZ2VvbWV0cnlfZGF0YScsXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV91cmwnLFxuICAgICAgICAgICdzZWFyY2hfcHJlc2V0JyxcbiAgICAgICAgICAnYWR2YW5jZWRfZmlsdGVycycsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFBhcmFtcyA9IHBhcnNlTXVsdGlDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdzZWFyY2hfcHJlc2V0JyxcbiAgICAgICAgWyduYW1lJ10sXG4gICAgICAgIFsnc29ydCcsICdmaWx0ZXJzJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIHNlYXJjaENvbmZpZyA9XG4gICAgICAgIHBhcnNlZFNlYXJjaFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9EQVRBOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmZpbHRlcl9nZW9tZXRyeV9kYXRhLFxuICAgICAgICAgICAgICBGSUxURVJfR0VPTUVUUllfVVJMOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmZpbHRlcl9nZW9tZXRyeV91cmwsXG4gICAgICAgICAgICAgIFNFQVJDSF9QUkVTRVQ6IHBhcnNlZFNlYXJjaFBhcmFtcy5tYXAoKHBhcmFtKSA9PiAoe1xuICAgICAgICAgICAgICAgIHNvcnQ6IHBhcmFtLnNvcnQsXG4gICAgICAgICAgICAgICAgbmFtZTogcGFyYW0ubmFtZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBwYXJhbS5maWx0ZXJzLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIEFEVkFOQ0VEX0ZJTFRFUlM6IHBhcnNlZFNlYXJjaFNlY3Rpb24uYWR2YW5jZWRfZmlsdGVycyxcbiAgICAgICAgICAgIH0gYXMgU2VhcmNoQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdtZXRhZGF0YS1xdWFsaXR5JyxcbiAgICAgICAgW10sXG4gICAgICAgIFsnZW5hYmxlZCddLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBtZXRhZGF0YVF1YWxpdHlDb25maWcgPVxuICAgICAgICBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBFTkFCTEVEOiBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uLmVuYWJsZWQsXG4gICAgICAgICAgICAgIFNPUlRBQkxFOiBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uLnNvcnRhYmxlLFxuICAgICAgICAgICAgfSBhcyBNZXRhZGF0YVF1YWxpdHlDb25maWcpXG5cbiAgICAgIGN1c3RvbVRyYW5zbGF0aW9ucyA9IHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAndHJhbnNsYXRpb25zJ1xuICAgICAgKSBhcyBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXNcblxuICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBPbmUgb3IgbW9yZSBtYW5kYXRvcnkgc2V0dGluZ3Mgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiR7ZXJyb3JzLmpvaW4oJ1xcbicpfWApXG4gICAgICB9IGVsc2UgaWYgKHdhcm5pbmdzLmxlbmd0aCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYE9uZSBvciBtb3JlIHVuZXhwZWN0ZWQgc2V0dGluZ3Mgd2VyZSBlbmNvdW50ZXJlZCBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlLlxuJHt3YXJuaW5ncy5qb2luKCdcXG4nKX1gKVxuICAgICAgfVxuXG4gICAgICBhcHBDb25maWdMb2FkZWQgPSB0cnVlXG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uZmlnTG9hZGVkKCkge1xuICByZXR1cm4gYXBwQ29uZmlnTG9hZGVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfcmVzZXQoKSB7XG4gIGdsb2JhbENvbmZpZyA9IG51bGxcbiAgdGhlbWVDb25maWcgPSBudWxsXG4gIGN1c3RvbVRyYW5zbGF0aW9ucyA9IG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9XSVRIX09WRVJSSURFU19DT05GSUcgPSB7XG4gIGNvbXBpbGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlQ29tcGlsZXIsXG4gICAgdXNlQ2xhc3M6IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlcixcbiAgfSxcbiAgbG9hZGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgIHVzZUZhY3Rvcnk6IGZ1bmN0aW9uIEh0dHBMb2FkZXJGYWN0b3J5KGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICAgIHJldHVybiBuZXcgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIoaHR0cCwgJy4vYXNzZXRzL2kxOG4vJylcbiAgICB9LFxuICAgIGRlZmF1bHRMYW5ndWFnZTogREVGQVVMVF9MQU5HLFxuICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgfSxcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgR040X0FQSV9VUkw6IHN0cmluZ1xuICBEQVRBSFVCX1VSTD86IHN0cmluZ1xuICBQUk9YWV9QQVRIPzogc3RyaW5nXG4gIE1FVEFEQVRBX0xBTkdVQUdFPzogc3RyaW5nXG4gIExPR0lOX1VSTD86IHN0cmluZ1xuICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTD86IHN0cmluZ1xuICBMQU5HVUFHRVM/OiBzdHJpbmdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyQ29uZmlnIHtcbiAgVFlQRTogJ3h5eicgfCAnd21zJyB8ICd3ZnMnIHwgJ2dlb2pzb24nXG4gIFVSTD86IHN0cmluZ1xuICBOQU1FPzogc3RyaW5nXG4gIERBVEE/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBDb25maWcge1xuICBNQVhfWk9PTT86IG51bWJlclxuICBNQVhfRVhURU5UPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gLy8gRXhwcmVzc2VkIGFzIFttaW54LCBtaW55LCBtYXh4LCBtYXh5XVxuICBFWFRFUk5BTF9WSUVXRVJfVVJMX1RFTVBMQVRFPzogc3RyaW5nXG4gIEVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUI/OiBib29sZWFuXG4gIERPX05PVF9VU0VfREVGQVVMVF9CQVNFTUFQOiBib29sZWFuXG4gIE1BUF9MQVlFUlM6IExheWVyQ29uZmlnW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVtZUNvbmZpZyB7XG4gIFBSSU1BUllfQ09MT1I6IHN0cmluZ1xuICBTRUNPTkRBUllfQ09MT1I6IHN0cmluZ1xuICBNQUlOX0NPTE9SOiBzdHJpbmdcbiAgQkFDS0dST1VORF9DT0xPUjogc3RyaW5nXG4gIEhFQURFUl9GT1JFR1JPVU5EX0NPTE9SOiBzdHJpbmdcbiAgSEVBREVSX0JBQ0tHUk9VTkQ6IHN0cmluZ1xuICBUSFVNQk5BSUxfUExBQ0VIT0xERVI6IHN0cmluZ1xuICBNQUlOX0ZPTlQ/OiBzdHJpbmdcbiAgVElUTEVfRk9OVD86IHN0cmluZ1xuICBGT05UU19TVFlMRVNIRUVUX1VSTD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFByZXNldCB7XG4gIHNvcnQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgZmlsdGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10gfCBzdHJpbmc+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgRklMVEVSX0dFT01FVFJZX1VSTD86IHN0cmluZ1xuICBGSUxURVJfR0VPTUVUUllfREFUQT86IHN0cmluZ1xuICBTRUFSQ0hfUFJFU0VUPzogU2VhcmNoUHJlc2V0W11cbiAgQURWQU5DRURfRklMVEVSUz86IFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFRdWFsaXR5Q29uZmlnIHtcbiAgRU5BQkxFRDogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBDdXN0b21UcmFuc2xhdGlvbnMgPSB7IFt0cmFuc2xhdGlvbktleTogc3RyaW5nXTogc3RyaW5nIH1cbmV4cG9ydCB0eXBlIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyA9IHtcbiAgW2xhbmc6IHN0cmluZ106IEN1c3RvbVRyYW5zbGF0aW9uc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbmZpZyB7XG4gIEZJTFRFUl9HRU9NRVRSWT86IEdlb21ldHJ5XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgR040X0FQSV9VUkw6IHN0cmluZ1xuICBEQVRBSFVCX1VSTD86IHN0cmluZ1xuICBQUk9YWV9QQVRIPzogc3RyaW5nXG4gIE1FVEFEQVRBX0xBTkdVQUdFPzogc3RyaW5nXG4gIExPR0lOX1VSTD86IHN0cmluZ1xuICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTD86IHN0cmluZ1xuICBMQU5HVUFHRVM/OiBzdHJpbmdbXVxuICBDT05UQUNUX0VNQUlMPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJDb25maWcge1xuICBUWVBFOiAneHl6JyB8ICd3bXMnIHwgJ3dmcycgfCAnZ2VvanNvbidcbiAgVVJMPzogc3RyaW5nXG4gIE5BTUU/OiBzdHJpbmdcbiAgREFUQT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcENvbmZpZyB7XG4gIE1BWF9aT09NPzogbnVtYmVyXG4gIE1BWF9FWFRFTlQ/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSAvLyBFeHByZXNzZWQgYXMgW21pbngsIG1pbnksIG1heHgsIG1heHldXG4gIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU/OiBzdHJpbmdcbiAgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQj86IGJvb2xlYW5cbiAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6IGJvb2xlYW5cbiAgTUFQX0xBWUVSUzogTGF5ZXJDb25maWdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lQ29uZmlnIHtcbiAgUFJJTUFSWV9DT0xPUjogc3RyaW5nXG4gIFNFQ09OREFSWV9DT0xPUjogc3RyaW5nXG4gIE1BSU5fQ09MT1I6IHN0cmluZ1xuICBCQUNLR1JPVU5EX0NPTE9SOiBzdHJpbmdcbiAgSEVBREVSX0ZPUkVHUk9VTkRfQ09MT1I6IHN0cmluZ1xuICBIRUFERVJfQkFDS0dST1VORDogc3RyaW5nXG4gIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogc3RyaW5nXG4gIE1BSU5fRk9OVD86IHN0cmluZ1xuICBUSVRMRV9GT05UPzogc3RyaW5nXG4gIEZPTlRTX1NUWUxFU0hFRVRfVVJMPzogc3RyaW5nXG4gIEZBVklDT04/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQcmVzZXQge1xuICBzb3J0OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdIHwgc3RyaW5nPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbmZpZyB7XG4gIEZJTFRFUl9HRU9NRVRSWV9VUkw/OiBzdHJpbmdcbiAgRklMVEVSX0dFT01FVFJZX0RBVEE/OiBzdHJpbmdcbiAgU0VBUkNIX1BSRVNFVD86IFNlYXJjaFByZXNldFtdXG4gIEFEVkFOQ0VEX0ZJTFRFUlM/OiBbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIEVOQUJMRUQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgQ3VzdG9tVHJhbnNsYXRpb25zID0geyBbdHJhbnNsYXRpb25LZXk6IHN0cmluZ106IHN0cmluZyB9XG5leHBvcnQgdHlwZSBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMgPSB7XG4gIFtsYW5nOiBzdHJpbmddOiBDdXN0b21UcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBGSUxURVJfR0VPTUVUUlk/OiBHZW9tZXRyeVxufVxuIl19
@@ -74,6 +74,13 @@ export class ThemeService {
74
74
  }
75
75
  return chroma.hsl(hue % 360, saturation, lightness).css();
76
76
  }
77
+ static setFavicon(faviconPath) {
78
+ const link = document.querySelector("link[rel*='icon']") ||
79
+ document.createElement('link');
80
+ link['rel'] = 'icon';
81
+ link['href'] = faviconPath;
82
+ document.getElementsByTagName('head')[0].appendChild(link);
83
+ }
77
84
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
78
85
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
79
86
  }
@@ -83,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
83
90
  providedIn: 'root',
84
91
  }]
85
92
  }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBOztBQUs5QixNQUFNLE9BQU8sWUFBWTtJQUN2Qix1RkFBdUY7SUFDdkYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQzdCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUUvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxZQUFZLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsUUFBUSxJQUFJLE9BQU8sU0FBUyxZQUFZLE9BQU8scUJBQXFCLEtBQUs7aUJBQ3RFLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFBO1lBRVosUUFBUSxJQUFJLGFBQWEsU0FBUyxZQUFZLE9BQU8sNEJBQTRCLEtBQUs7aUJBQ25GLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFBO1lBQ1osT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ04sUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUN0QixZQUFvQixFQUNwQixjQUFzQixFQUN0QixTQUFpQixFQUNqQixlQUF1QixFQUN2QixRQUFpQixFQUNqQixTQUFrQixFQUNsQixrQkFBMkI7UUFFM0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDekMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7UUFDNUUsQ0FBQyxDQUFBO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM3QixVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO1FBQzNDLFVBQVUsQ0FDUixpQkFBaUIsRUFDakIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDckQsQ0FBQTtRQUNELFVBQVUsQ0FDUixrQkFBa0IsRUFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDckQsQ0FBQTtRQUNELFVBQVUsQ0FDUixlQUFlLEVBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDdEQsQ0FBQTtRQUNELFVBQVUsQ0FDUixnQkFBZ0IsRUFDaEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDckQsQ0FBQTtRQUNELFVBQVUsQ0FDUixpQkFBaUIsRUFDakIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDckQsQ0FBQTtRQUNELFVBQVUsQ0FDUixlQUFlLEVBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDdEQsQ0FBQTtRQUNELFVBQVUsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7UUFDL0MsVUFBVSxDQUNSLG1CQUFtQixFQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLG9CQUFvQixFQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLGlCQUFpQixFQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLGtCQUFrQixFQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLG1CQUFtQixFQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLGlCQUFpQixFQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RCxDQUFBO1FBQ0QsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO1FBRWpELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckUsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVsQyxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtTQUMzRTtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUN4QyxxQkFBcUIsRUFDckIsU0FBUyxDQUNWLENBQUE7U0FDRjtRQUVELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1lBQzlCLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFBO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFBO1lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQzNCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FDdkIsS0FBYSxFQUNiLFVBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQTtRQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzNCO1FBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQzNELENBQUM7OEdBdklVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgY2hyb21hIGZyb20gJ2Nocm9tYS1qcydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lU2VydmljZSB7XG4gIC8vIEZJWE1FOiB0aGlzIHNob3VsZG4ndCBiZSBuZWNlc3NhcnksIHRoZSBhcHAgY29uZmlnIHNob3VsZCBiZSByZWFkIGluc3RlYWQsIHRvIHJlbW92ZVxuICBzdGF0aWMgZ2V0Q29sb3IobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGAtLWNvbG9yLSR7bmFtZX1gKVxuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlQmdPcGFjaXR5Q2xhc3NlcyhcbiAgICBjb2xvck5hbWUsXG4gICAgY29sb3JWYWx1ZSxcbiAgICBvcGFjaXRpZXMgPSBbMCwgMTAsIDI1LCA1MCwgNzVdXG4gICkge1xuICAgIGNvbnN0IGNvbG9yID0gY2hyb21hKGNvbG9yVmFsdWUpXG4gICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKVxuICAgIHN0eWxlRWxlbWVudC5pbm5lckhUTUwgPSBvcGFjaXRpZXMucmVkdWNlKChjc3NSdWxlcywgb3BhY2l0eSkgPT4ge1xuICAgICAgY3NzUnVsZXMgKz0gYC5iZy0ke2NvbG9yTmFtZX0tb3BhY2l0eS0ke29wYWNpdHl9e2JhY2tncm91bmQtY29sb3I6JHtjb2xvclxuICAgICAgICAuYWxwaGEob3BhY2l0eSAvIDEwMClcbiAgICAgICAgLmNzcygpfTt9YFxuXG4gICAgICBjc3NSdWxlcyArPSBgLmhvdmVyLWJnLSR7Y29sb3JOYW1lfS1vcGFjaXR5LSR7b3BhY2l0eX06aG92ZXIge2JhY2tncm91bmQtY29sb3I6JHtjb2xvclxuICAgICAgICAuYWxwaGEob3BhY2l0eSAvIDEwMClcbiAgICAgICAgLmNzcygpfTt9YFxuICAgICAgcmV0dXJuIGNzc1J1bGVzXG4gICAgfSwgJycpXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpXG4gIH1cblxuICBzdGF0aWMgYXBwbHlDc3NWYXJpYWJsZXMoXG4gICAgcHJpbWFyeUNvbG9yOiBzdHJpbmcsXG4gICAgc2Vjb25kYXJ5Q29sb3I6IHN0cmluZyxcbiAgICBtYWluQ29sb3I6IHN0cmluZyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyxcbiAgICBtYWluRm9udD86IHN0cmluZyxcbiAgICB0aXRsZUZvbnQ/OiBzdHJpbmcsXG4gICAgZm9udHNTdHlsZXNoZWV0VXJsPzogc3RyaW5nXG4gICkge1xuICAgIGNvbnN0IGFwcGx5Q29sb3IgPSAobmFtZTogc3RyaW5nLCBjb2xvcikgPT4ge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLWNvbG9yLSR7bmFtZX1gLCBjb2xvci5jc3MoKSlcbiAgICB9XG5cbiAgICBjb25zdCBibGFjayA9IGNocm9tYSgnYmxhY2snKVxuICAgIGNvbnN0IHdoaXRlID0gY2hyb21hKCd3aGl0ZScpXG4gICAgYXBwbHlDb2xvcigncHJpbWFyeScsIGNocm9tYShwcmltYXJ5Q29sb3IpKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1saWdodGVyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LWxpZ2h0ZXN0JyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LXdoaXRlJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuODUpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1kYXJrZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC4zKVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktZGFya2VzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1ibGFjaycsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKCdzZWNvbmRhcnknLCBjaHJvbWEoc2Vjb25kYXJ5Q29sb3IpKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWxpZ2h0ZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWxpZ2h0ZXN0JyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIHdoaXRlXSkubW9kZSgnbGFiJykoMC42KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS13aGl0ZScsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuODUpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWRhcmtlcicsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktZGFya2VzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktYmxhY2snLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKCdtYWluJywgY2hyb21hKG1haW5Db2xvcikpXG4gICAgYXBwbHlDb2xvcignYmFja2dyb3VuZCcsIGNocm9tYShiYWNrZ3JvdW5kQ29sb3IpKVxuXG4gICAgY29uc3Qgc2NhbGUgPSBjaHJvbWEuc2NhbGUoW2JhY2tncm91bmRDb2xvciwgbWFpbkNvbG9yXSkubW9kZSgnbHJnYicpXG4gICAgYXBwbHlDb2xvcignZ3JheS01MCcsIHNjYWxlKDAuMDUpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktMTAwJywgc2NhbGUoMC4xKSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTIwMCcsIHNjYWxlKDAuMikpXG4gICAgYXBwbHlDb2xvcignZ3JheS0zMDAnLCBzY2FsZSgwLjMpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNDAwJywgc2NhbGUoMC40KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTUwMCcsIHNjYWxlKDAuNSkpXG4gICAgYXBwbHlDb2xvcignZ3JheS02MDAnLCBzY2FsZSgwLjYpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNzAwJywgc2NhbGUoMC43KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTgwMCcsIHNjYWxlKDAuOCkpXG4gICAgYXBwbHlDb2xvcignZ3JheS05MDAnLCBzY2FsZSgwLjkpKVxuXG4gICAgaWYgKG1haW5Gb250KSB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tZm9udC1mYW1pbHktbWFpbmAsIG1haW5Gb250KVxuICAgIH1cbiAgICBpZiAodGl0bGVGb250KSB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgIGAtLWZvbnQtZmFtaWx5LXRpdGxlYCxcbiAgICAgICAgdGl0bGVGb250XG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKGZvbnRzU3R5bGVzaGVldFVybCkge1xuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKVxuICAgICAgbGluay5ocmVmID0gZm9udHNTdHlsZXNoZWV0VXJsXG4gICAgICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0J1xuICAgICAgbGluay50eXBlID0gJ3RleHQvY3NzJ1xuICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQobGluaylcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2VuZXJhdGVMYWJlbENvbG9yKFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgc2F0dXJhdGlvbjogbnVtYmVyLFxuICAgIGxpZ2h0bmVzczogbnVtYmVyXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGh1ZSA9IDBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxhYmVsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBodWUgKz0gbGFiZWwuY2hhckNvZGVBdChpKVxuICAgIH1cbiAgICByZXR1cm4gY2hyb21hLmhzbChodWUgJSAzNjAsIHNhdHVyYXRpb24sIGxpZ2h0bmVzcykuY3NzKClcbiAgfVxufVxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBOztBQUs5QixNQUFNLE9BQU8sWUFBWTtJQUN2Qix1RkFBdUY7SUFDdkYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQzdCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUUvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxZQUFZLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsUUFBUSxJQUFJLE9BQU8sU0FBUyxZQUFZLE9BQU8scUJBQXFCLEtBQUs7aUJBQ3RFLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFBO1lBRVosUUFBUSxJQUFJLGFBQWEsU0FBUyxZQUFZLE9BQU8sNEJBQTRCLEtBQUs7aUJBQ25GLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFB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QixFQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLG1CQUFtQixFQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLGlCQUFpQixFQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RCxDQUFBO1FBQ0QsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO1FBRWpELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckUsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVsQyxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtTQUMzRTtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUN4QyxxQkFBcUIsRUFDckIsU0FBUyxDQUNWLENBQUE7U0FDRjtRQUVELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1lBQzlCLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFBO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFBO1lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQzNCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FDdkIsS0FBYSxFQUNiLFVBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQTtRQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzNCO1FBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQzNELENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQW1CO1FBQ25DLE1BQU0sSUFBSSxHQUNSLFFBQVEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUM7WUFDM0MsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUE7UUFDMUIsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1RCxDQUFDOzhHQWhKVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IGNocm9tYSBmcm9tICdjaHJvbWEtanMnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2Uge1xuICAvLyBGSVhNRTogdGhpcyBzaG91bGRuJ3QgYmUgbmVjZXNzYXJ5LCB0aGUgYXBwIGNvbmZpZyBzaG91bGQgYmUgcmVhZCBpbnN0ZWFkLCB0byByZW1vdmVcbiAgc3RhdGljIGdldENvbG9yKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShgLS1jb2xvci0ke25hbWV9YClcbiAgfVxuXG4gIHN0YXRpYyBnZW5lcmF0ZUJnT3BhY2l0eUNsYXNzZXMoXG4gICAgY29sb3JOYW1lLFxuICAgIGNvbG9yVmFsdWUsXG4gICAgb3BhY2l0aWVzID0gWzAsIDEwLCAyNSwgNTAsIDc1XVxuICApIHtcbiAgICBjb25zdCBjb2xvciA9IGNocm9tYShjb2xvclZhbHVlKVxuICAgIGNvbnN0IHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJylcbiAgICBzdHlsZUVsZW1lbnQuaW5uZXJIVE1MID0gb3BhY2l0aWVzLnJlZHVjZSgoY3NzUnVsZXMsIG9wYWNpdHkpID0+IHtcbiAgICAgIGNzc1J1bGVzICs9IGAuYmctJHtjb2xvck5hbWV9LW9wYWNpdHktJHtvcGFjaXR5fXtiYWNrZ3JvdW5kLWNvbG9yOiR7Y29sb3JcbiAgICAgICAgLmFscGhhKG9wYWNpdHkgLyAxMDApXG4gICAgICAgIC5jc3MoKX07fWBcblxuICAgICAgY3NzUnVsZXMgKz0gYC5ob3Zlci1iZy0ke2NvbG9yTmFtZX0tb3BhY2l0eS0ke29wYWNpdHl9OmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiR7Y29sb3JcbiAgICAgICAgLmFscGhhKG9wYWNpdHkgLyAxMDApXG4gICAgICAgIC5jc3MoKX07fWBcbiAgICAgIHJldHVybiBjc3NSdWxlc1xuICAgIH0sICcnKVxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KVxuICB9XG5cbiAgc3RhdGljIGFwcGx5Q3NzVmFyaWFibGVzKFxuICAgIHByaW1hcnlDb2xvcjogc3RyaW5nLFxuICAgIHNlY29uZGFyeUNvbG9yOiBzdHJpbmcsXG4gICAgbWFpbkNvbG9yOiBzdHJpbmcsXG4gICAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcsXG4gICAgbWFpbkZvbnQ/OiBzdHJpbmcsXG4gICAgdGl0bGVGb250Pzogc3RyaW5nLFxuICAgIGZvbnRzU3R5bGVzaGVldFVybD86IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBhcHBseUNvbG9yID0gKG5hbWU6IHN0cmluZywgY29sb3IpID0+IHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS1jb2xvci0ke25hbWV9YCwgY29sb3IuY3NzKCkpXG4gICAgfVxuXG4gICAgY29uc3QgYmxhY2sgPSBjaHJvbWEoJ2JsYWNrJylcbiAgICBjb25zdCB3aGl0ZSA9IGNocm9tYSgnd2hpdGUnKVxuICAgIGFwcGx5Q29sb3IoJ3ByaW1hcnknLCBjaHJvbWEocHJpbWFyeUNvbG9yKSlcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktbGlnaHRlcicsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1saWdodGVzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS13aGl0ZScsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktZGFya2VyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LWRhcmtlc3QnLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC42KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktYmxhY2snLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC44NSlcbiAgICApXG4gICAgYXBwbHlDb2xvcignc2Vjb25kYXJ5JywgY2hyb21hKHNlY29uZGFyeUNvbG9yKSlcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1saWdodGVyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIHdoaXRlXSkubW9kZSgnbGFiJykoMC4zKVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1saWdodGVzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktd2hpdGUnLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1kYXJrZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWRhcmtlc3QnLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWJsYWNrJyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC44NSlcbiAgICApXG4gICAgYXBwbHlDb2xvcignbWFpbicsIGNocm9tYShtYWluQ29sb3IpKVxuICAgIGFwcGx5Q29sb3IoJ2JhY2tncm91bmQnLCBjaHJvbWEoYmFja2dyb3VuZENvbG9yKSlcblxuICAgIGNvbnN0IHNjYWxlID0gY2hyb21hLnNjYWxlKFtiYWNrZ3JvdW5kQ29sb3IsIG1haW5Db2xvcl0pLm1vZGUoJ2xyZ2InKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNTAnLCBzY2FsZSgwLjA1KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTEwMCcsIHNjYWxlKDAuMSkpXG4gICAgYXBwbHlDb2xvcignZ3JheS0yMDAnLCBzY2FsZSgwLjIpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktMzAwJywgc2NhbGUoMC4zKSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTQwMCcsIHNjYWxlKDAuNCkpXG4gICAgYXBwbHlDb2xvcignZ3JheS01MDAnLCBzY2FsZSgwLjUpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNjAwJywgc2NhbGUoMC42KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTcwMCcsIHNjYWxlKDAuNykpXG4gICAgYXBwbHlDb2xvcignZ3JheS04MDAnLCBzY2FsZSgwLjgpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktOTAwJywgc2NhbGUoMC45KSlcblxuICAgIGlmIChtYWluRm9udCkge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLWZvbnQtZmFtaWx5LW1haW5gLCBtYWluRm9udClcbiAgICB9XG4gICAgaWYgKHRpdGxlRm9udCkge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICBgLS1mb250LWZhbWlseS10aXRsZWAsXG4gICAgICAgIHRpdGxlRm9udFxuICAgICAgKVxuICAgIH1cblxuICAgIGlmIChmb250c1N0eWxlc2hlZXRVcmwpIHtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJylcbiAgICAgIGxpbmsuaHJlZiA9IGZvbnRzU3R5bGVzaGVldFVybFxuICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCdcbiAgICAgIGxpbmsudHlwZSA9ICd0ZXh0L2NzcydcbiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKGxpbmspXG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlTGFiZWxDb2xvcihcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIHNhdHVyYXRpb246IG51bWJlcixcbiAgICBsaWdodG5lc3M6IG51bWJlclxuICApOiBzdHJpbmcge1xuICAgIGxldCBodWUgPSAwXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsYWJlbC5sZW5ndGg7IGkrKykge1xuICAgICAgaHVlICs9IGxhYmVsLmNoYXJDb2RlQXQoaSlcbiAgICB9XG4gICAgcmV0dXJuIGNocm9tYS5oc2woaHVlICUgMzYwLCBzYXR1cmF0aW9uLCBsaWdodG5lc3MpLmNzcygpXG4gIH1cblxuICBzdGF0aWMgc2V0RmF2aWNvbihmYXZpY29uUGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbGluayA9XG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibGlua1tyZWwqPSdpY29uJ11cIikgfHxcbiAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKVxuICAgIGxpbmtbJ3JlbCddID0gJ2ljb24nXG4gICAgbGlua1snaHJlZiddID0gZmF2aWNvblBhdGhcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKGxpbmspXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ function normalize(input) {
2
+ return input
3
+ .toLowerCase()
4
+ .normalize('NFD') // explode composite chars (e.g. é) into multiple chars
5
+ .replace(/[\u0300-\u036f]/g, '') // remove accents
6
+ .replace(/œ/g, 'oe') // remove accents
7
+ .replace(/[^a-z0-9\s]/g, ' '); // replace special characters with space
8
+ }
9
+ function asNormalizedParts(input) {
10
+ return normalize(input)
11
+ .split(/\s+/)
12
+ .map((part) => part.trim())
13
+ .filter((part) => part.length > 0);
14
+ }
15
+ /**
16
+ * This creates a filter function based on a pattern (typically a user-input
17
+ * search text).
18
+ * @param pattern
19
+ */
20
+ export function createFuzzyFilter(pattern) {
21
+ const patternParts = asNormalizedParts(pattern);
22
+ return (input) => {
23
+ const inputParts = asNormalizedParts(input);
24
+ return patternParts.every((patternPart) => inputParts.some((part) => part.includes(patternPart)));
25
+ };
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnV6enktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMvbGliL3V0aWxzL2Z1enp5LWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxTQUFTLFNBQVMsQ0FBQyxLQUFhO0lBQzlCLE9BQU8sS0FBSztTQUNULFdBQVcsRUFBRTtTQUNiLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyx1REFBdUQ7U0FDeEUsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtTQUNqRCxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLGlCQUFpQjtTQUNyQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFBLENBQUMsd0NBQXdDO0FBQzFFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQWE7SUFDdEMsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ3BCLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDWixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDdEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsT0FBZTtJQUMvQyxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQyxPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDeEMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUN0RCxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgRnV6enlGaWx0ZXIgPSAoaW5wdXQ6IHN0cmluZykgPT4gYm9vbGVhblxuXG5mdW5jdGlvbiBub3JtYWxpemUoaW5wdXQ6IHN0cmluZykge1xuICByZXR1cm4gaW5wdXRcbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5ub3JtYWxpemUoJ05GRCcpIC8vIGV4cGxvZGUgY29tcG9zaXRlIGNoYXJzIChlLmcuIMOpKSBpbnRvIG11bHRpcGxlIGNoYXJzXG4gICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyByZW1vdmUgYWNjZW50c1xuICAgIC5yZXBsYWNlKC/Fky9nLCAnb2UnKSAvLyByZW1vdmUgYWNjZW50c1xuICAgIC5yZXBsYWNlKC9bXmEtejAtOVxcc10vZywgJyAnKSAvLyByZXBsYWNlIHNwZWNpYWwgY2hhcmFjdGVycyB3aXRoIHNwYWNlXG59XG5cbmZ1bmN0aW9uIGFzTm9ybWFsaXplZFBhcnRzKGlucHV0OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBub3JtYWxpemUoaW5wdXQpXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAubWFwKChwYXJ0KSA9PiBwYXJ0LnRyaW0oKSlcbiAgICAuZmlsdGVyKChwYXJ0KSA9PiBwYXJ0Lmxlbmd0aCA+IDApXG59XG5cbi8qKlxuICogVGhpcyBjcmVhdGVzIGEgZmlsdGVyIGZ1bmN0aW9uIGJhc2VkIG9uIGEgcGF0dGVybiAodHlwaWNhbGx5IGEgdXNlci1pbnB1dFxuICogc2VhcmNoIHRleHQpLlxuICogQHBhcmFtIHBhdHRlcm5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1enp5RmlsdGVyKHBhdHRlcm46IHN0cmluZyk6IEZ1enp5RmlsdGVyIHtcbiAgY29uc3QgcGF0dGVyblBhcnRzID0gYXNOb3JtYWxpemVkUGFydHMocGF0dGVybilcbiAgcmV0dXJuIChpbnB1dDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgaW5wdXRQYXJ0cyA9IGFzTm9ybWFsaXplZFBhcnRzKGlucHV0KVxuICAgIHJldHVybiBwYXR0ZXJuUGFydHMuZXZlcnkoKHBhdHRlcm5QYXJ0KSA9PlxuICAgICAgaW5wdXRQYXJ0cy5zb21lKChwYXJ0KSA9PiBwYXJ0LmluY2x1ZGVzKHBhdHRlcm5QYXJ0KSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
@@ -5,4 +5,5 @@ export * from './geojson';
5
5
  export * from './sort-by';
6
6
  export * from './url';
7
7
  export * from './event';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLE9BQU8sQ0FBQTtBQUNyQixjQUFjLFNBQVMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFyc2UnXG5leHBvcnQgKiBmcm9tICcuL3N0cmlwLWh0bWwnXG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZS13aGl0ZXNwYWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9nZW9qc29uJ1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0LWJ5J1xuZXhwb3J0ICogZnJvbSAnLi91cmwnXG5leHBvcnQgKiBmcm9tICcuL2V2ZW50J1xuIl19
8
+ export * from './fuzzy-filter';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLE9BQU8sQ0FBQTtBQUNyQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLGdCQUFnQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXJzZSdcbmV4cG9ydCAqIGZyb20gJy4vc3RyaXAtaHRtbCdcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLXdoaXRlc3BhY2UnXG5leHBvcnQgKiBmcm9tICcuL2dlb2pzb24nXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtYnknXG5leHBvcnQgKiBmcm9tICcuL3VybCdcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQnXG5leHBvcnQgKiBmcm9tICcuL2Z1enp5LWZpbHRlcidcbiJdfQ==
@@ -110,6 +110,9 @@
110
110
  "datahub.header.organisations": "Organisationen",
111
111
  "datahub.header.popularRecords": "Die beliebtesten",
112
112
  "datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten von meiner Organisation</div>",
113
+ "datahub.news.contact.contactus": "",
114
+ "datahub.news.contact.html": "",
115
+ "datahub.news.contact.title": "",
113
116
  "datahub.news.feed": "Nachrichtenfeed",
114
117
  "datahub.news.figures": "Indikatoren",
115
118
  "datahub.search.back": "Zurück zu den Ergebnissen",