@net7/boilerplate-arianna 3.9.2 → 4.1.0

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 (72) hide show
  1. package/esm2020/lib/components/aw-facets-wrapper/aw-facets-wrapper.mjs +6 -6
  2. package/esm2020/lib/components/bubble-chart-wrapper/bubble-chart-wrapper.mjs +4 -4
  3. package/esm2020/lib/components/chart-tippy/chart-tippy.mjs +6 -6
  4. package/esm2020/lib/components/extended-tree/extended-tree.mjs +8 -8
  5. package/esm2020/lib/components/index.mjs +2 -1
  6. package/esm2020/lib/components/pdf-viewer/pdf-viewer.mjs +7 -7
  7. package/esm2020/lib/components/scheda-dropdown/scheda-dropdown.mjs +4 -4
  8. package/esm2020/lib/components/scheda-image-navigator/scheda-image-navigator.mjs +6 -6
  9. package/esm2020/lib/components/scheda-search/scheda-search.mjs +18 -0
  10. package/esm2020/lib/components/smart-breadcrumbs/smart-breadcrumbs.mjs +6 -6
  11. package/esm2020/lib/config/apollo.config.mjs +5 -1
  12. package/esm2020/lib/config-types/arianna/layouts.mjs +1 -1
  13. package/esm2020/lib/data-sources/aw-facets-wrapper.ds.mjs +1 -1
  14. package/esm2020/lib/data-sources/extended-tree.ds.mjs +25 -4
  15. package/esm2020/lib/data-sources/home-facets-wrapper.ds.mjs +14 -2
  16. package/esm2020/lib/data-sources/index.mjs +2 -1
  17. package/esm2020/lib/data-sources/scheda-search.ds.mjs +141 -0
  18. package/esm2020/lib/event-handlers/extended-tree.eh.mjs +11 -3
  19. package/esm2020/lib/event-handlers/index.mjs +2 -1
  20. package/esm2020/lib/event-handlers/scheda-search.eh.mjs +15 -0
  21. package/esm2020/lib/layouts/collection-layout/collection-layout.mjs +6 -6
  22. package/esm2020/lib/layouts/entita-layout/entita-layout.mjs +7 -7
  23. package/esm2020/lib/layouts/gallery-layout/gallery-layout.mjs +8 -8
  24. package/esm2020/lib/layouts/home-layout/home-layout.ds.mjs +5 -1
  25. package/esm2020/lib/layouts/home-layout/home-layout.mjs +10 -10
  26. package/esm2020/lib/layouts/map-layout/map-layout.mjs +7 -7
  27. package/esm2020/lib/layouts/scheda-layout/scheda-layout.config.mjs +2 -1
  28. package/esm2020/lib/layouts/scheda-layout/scheda-layout.ds.mjs +65 -8
  29. package/esm2020/lib/layouts/scheda-layout/scheda-layout.eh.mjs +104 -14
  30. package/esm2020/lib/layouts/scheda-layout/scheda-layout.mjs +11 -10
  31. package/esm2020/lib/layouts/search-layout/search-layout.mjs +8 -8
  32. package/esm2020/lib/layouts/timeline-layout/timeline-layout.mjs +7 -7
  33. package/esm2020/lib/n7-boilerplate-arianna.module.mjs +15 -13
  34. package/esm2020/lib/search/aw-search.service.mjs +4 -4
  35. package/fesm2015/net7-boilerplate-arianna.mjs +485 -129
  36. package/fesm2015/net7-boilerplate-arianna.mjs.map +1 -1
  37. package/fesm2020/net7-boilerplate-arianna.mjs +494 -129
  38. package/fesm2020/net7-boilerplate-arianna.mjs.map +1 -1
  39. package/{net7-boilerplate-arianna.d.ts → index.d.ts} +0 -0
  40. package/lib/components/aw-facets-wrapper/aw-facets-wrapper.d.ts +1 -1
  41. package/lib/components/bubble-chart-wrapper/bubble-chart-wrapper.d.ts +1 -1
  42. package/lib/components/chart-tippy/chart-tippy.d.ts +1 -1
  43. package/lib/components/extended-tree/extended-tree.d.ts +2 -1
  44. package/lib/components/index.d.ts +1 -0
  45. package/lib/components/pdf-viewer/pdf-viewer.d.ts +1 -1
  46. package/lib/components/scheda-dropdown/scheda-dropdown.d.ts +1 -1
  47. package/lib/components/scheda-image-navigator/scheda-image-navigator.d.ts +1 -1
  48. package/lib/components/scheda-search/scheda-search.d.ts +28 -0
  49. package/lib/components/smart-breadcrumbs/smart-breadcrumbs.d.ts +1 -1
  50. package/lib/config-types/arianna/layouts.d.ts +20 -0
  51. package/lib/data-sources/extended-tree.ds.d.ts +7 -1
  52. package/lib/data-sources/home-facets-wrapper.ds.d.ts +1 -0
  53. package/lib/data-sources/index.d.ts +1 -0
  54. package/lib/data-sources/scheda-search.ds.d.ts +9 -0
  55. package/lib/event-handlers/index.d.ts +1 -0
  56. package/lib/event-handlers/scheda-search.eh.d.ts +6 -0
  57. package/lib/layouts/collection-layout/collection-layout.d.ts +1 -1
  58. package/lib/layouts/entita-layout/entita-layout.d.ts +1 -1
  59. package/lib/layouts/gallery-layout/gallery-layout.d.ts +1 -1
  60. package/lib/layouts/home-layout/home-layout.d.ts +1 -1
  61. package/lib/layouts/map-layout/map-layout.d.ts +1 -1
  62. package/lib/layouts/scheda-layout/scheda-layout.d.ts +1 -1
  63. package/lib/layouts/scheda-layout/scheda-layout.ds.d.ts +6 -0
  64. package/lib/layouts/scheda-layout/scheda-layout.eh.d.ts +2 -0
  65. package/lib/layouts/search-layout/search-layout.d.ts +1 -1
  66. package/lib/layouts/timeline-layout/timeline-layout.d.ts +1 -1
  67. package/lib/n7-boilerplate-arianna.module.d.ts +7 -6
  68. package/package.json +6 -6
  69. package/src/lib/styles/arianna/components/_extended-tree.scss +35 -2
  70. package/src/lib/styles/arianna/components/_scheda-search.scss +119 -0
  71. package/src/lib/styles/arianna/layouts/_home-layout.scss +16 -4
  72. package/src/lib/styles/arianna/layouts/_scheda-layout.scss +5 -2
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "@net7/boilerplate-common";
6
6
  import * as i2 from "../../search/aw-search.service";
7
7
  import * as i3 from "@angular/router";
8
- import * as i4 from "@net7/components";
9
- import * as i5 from "../../components/aw-facets-wrapper/aw-facets-wrapper";
10
- import * as i6 from "../../components/smart-breadcrumbs/smart-breadcrumbs";
11
- import * as i7 from "@angular/common";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@net7/components";
10
+ import * as i6 from "../../components/aw-facets-wrapper/aw-facets-wrapper";
11
+ import * as i7 from "../../components/smart-breadcrumbs/smart-breadcrumbs";
12
12
  export class AwGalleryLayoutComponent extends AbstractLayout {
13
13
  constructor(configuration, layoutsConfiguration, mainState, communication, search, route) {
14
14
  super(layoutsConfiguration.get('AwGalleryLayoutConfig') || config);
@@ -36,10 +36,10 @@ export class AwGalleryLayoutComponent extends AbstractLayout {
36
36
  this.onDestroy();
37
37
  }
38
38
  }
39
- AwGalleryLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AwGalleryLayoutComponent, deps: [{ token: i1.ConfigurationService }, { token: i1.LayoutsConfigurationService }, { token: i1.MainStateService }, { token: i1.CommunicationService }, { token: i2.AwSearchService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
40
- AwGalleryLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AwGalleryLayoutComponent, selector: "aw-gallery-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"aw-search aw-gallery n7-side-auto-padding\"\n id=\"gallery-layout\">\n <div class=\"aw-search__header\">\n <div class=\"aw-search__header-left\">\n <h1 class=\"aw-search__header-title\">{{ lb.dataSource.pageTitle }}</h1>\n </div>\n </div>\n <div class=\"aw-search__content-wrapper sticky-parent\">\n <!-- Left sidebar: facets -->\n <div *ngIf=\"!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar-loading sticky-target\">\n <div class=\"aw-search__facets-loading\">\n <n7-content-placeholder [data]=\"{\n blocks: [{\n classes: 'search-placeholder-facet-input'\n }, {\n classes: 'search-placeholder-facet-check'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }]\n }\">\n </n7-content-placeholder>\n </div>\n </div>\n <div *ngIf=\"!!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <div class=\"aw-search__facets\">\n <aw-facets-wrapper [data]=\"lb.widgets['facets-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['facets-wrapper'].emit\">\n </aw-facets-wrapper>\n </div>\n </div>\n <div class=\"scroll-ref\">&nbsp;</div>\n <div class=\"aw-search__content\">\n <div class=\"aw-search__results-header\">\n <div class=\"aw-search__results-header-left\">\n <h3 *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__total\">\n <span class=\"aw-search__total-number\">{{ lb.dataSource.totalCount }}</span>&nbsp;\n <span class=\"aw-search__total-title\">{{ lb.dataSource.resultsTitle }}</span>\n </h3>\n </div>\n <div class=\"aw-search__results-header-right\">\n <label class=\"aw-search__results-select-orderby-label\"\n for=\"aw-search__results-select-orderby\">{{ lb.dataSource.orderByLabel }}</label>\n <select (change)=\"lb.eventHandler.emitInner('orderbychange', $event.target.value)\"\n id=\"aw-search__results-select-orderby\">\n <option *ngFor=\"let option of lb.dataSource.orderByOptions\"\n [value]=\"option.value\"\n [selected]=\"option.selected\"\n [hidden]=\"option.type === 'score' && lb.dataSource.isSearchingText.value === false\">\n {{ option.label }}</option>\n </select>\n </div>\n </div>\n <!-- Search details -->\n <div *ngIf=\"lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper-loading\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\"\n [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper\">\n <div class=\"n7-grid-3\">\n <div *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </div>\n <ng-container *ngIf=\"lb.dataSource.totalCount == 0\">\n <div class=\"aw-search__fallback\">\n <p class=\"aw-search__fallback-string\">\n {{ lb.dataSource.fallback }}\n </p>\n <button [disabled]=\"!lb.dataSource.resetButtonEnabled\"\n class=\"n7-btn aw-search__fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset', {})\">\n Resetta la ricerca\n </button>\n </div>\n </ng-container>\n <n7-smart-pagination *ngIf=\"lb.dataSource.totalCount > 10\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: i4.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { type: i5.AwFacetsWrapperComponent, selector: "aw-facets-wrapper", inputs: ["data", "emit"] }, { type: i6.SmartBreadcrumbsComponent, selector: "n7-smart-breadcrumbs", inputs: ["data", "emit"] }, { type: i4.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { type: i1.SmartPaginationComponent, selector: "n7-smart-pagination", inputs: ["data", "emit"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i7.AsyncPipe } });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AwGalleryLayoutComponent, decorators: [{
39
+ AwGalleryLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AwGalleryLayoutComponent, deps: [{ token: i1.ConfigurationService }, { token: i1.LayoutsConfigurationService }, { token: i1.MainStateService }, { token: i1.CommunicationService }, { token: i2.AwSearchService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
40
+ AwGalleryLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AwGalleryLayoutComponent, selector: "aw-gallery-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"aw-search aw-gallery n7-side-auto-padding\"\n id=\"gallery-layout\">\n <div class=\"aw-search__header\">\n <div class=\"aw-search__header-left\">\n <h1 class=\"aw-search__header-title\">{{ lb.dataSource.pageTitle }}</h1>\n </div>\n </div>\n <div class=\"aw-search__content-wrapper sticky-parent\">\n <!-- Left sidebar: facets -->\n <div *ngIf=\"!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar-loading sticky-target\">\n <div class=\"aw-search__facets-loading\">\n <n7-content-placeholder [data]=\"{\n blocks: [{\n classes: 'search-placeholder-facet-input'\n }, {\n classes: 'search-placeholder-facet-check'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }]\n }\">\n </n7-content-placeholder>\n </div>\n </div>\n <div *ngIf=\"!!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <div class=\"aw-search__facets\">\n <aw-facets-wrapper [data]=\"lb.widgets['facets-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['facets-wrapper'].emit\">\n </aw-facets-wrapper>\n </div>\n </div>\n <div class=\"scroll-ref\">&nbsp;</div>\n <div class=\"aw-search__content\">\n <div class=\"aw-search__results-header\">\n <div class=\"aw-search__results-header-left\">\n <h3 *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__total\">\n <span class=\"aw-search__total-number\">{{ lb.dataSource.totalCount }}</span>&nbsp;\n <span class=\"aw-search__total-title\">{{ lb.dataSource.resultsTitle }}</span>\n </h3>\n </div>\n <div class=\"aw-search__results-header-right\">\n <label class=\"aw-search__results-select-orderby-label\"\n for=\"aw-search__results-select-orderby\">{{ lb.dataSource.orderByLabel }}</label>\n <select (change)=\"lb.eventHandler.emitInner('orderbychange', $event.target.value)\"\n id=\"aw-search__results-select-orderby\">\n <option *ngFor=\"let option of lb.dataSource.orderByOptions\"\n [value]=\"option.value\"\n [selected]=\"option.selected\"\n [hidden]=\"option.type === 'score' && lb.dataSource.isSearchingText.value === false\">\n {{ option.label }}</option>\n </select>\n </div>\n </div>\n <!-- Search details -->\n <div *ngIf=\"lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper-loading\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\"\n [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper\">\n <div class=\"n7-grid-3\">\n <div *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </div>\n <ng-container *ngIf=\"lb.dataSource.totalCount == 0\">\n <div class=\"aw-search__fallback\">\n <p class=\"aw-search__fallback-string\">\n {{ lb.dataSource.fallback }}\n </p>\n <button [disabled]=\"!lb.dataSource.resetButtonEnabled\"\n class=\"n7-btn aw-search__fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset', {})\">\n Resetta la ricerca\n </button>\n </div>\n </ng-container>\n <n7-smart-pagination *ngIf=\"lb.dataSource.totalCount > 10\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { kind: "component", type: i5.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i1.SmartPaginationComponent, selector: "n7-smart-pagination", inputs: ["data", "emit"] }, { kind: "component", type: i6.AwFacetsWrapperComponent, selector: "aw-facets-wrapper", inputs: ["data", "emit"] }, { kind: "component", type: i7.SmartBreadcrumbsComponent, selector: "n7-smart-breadcrumbs", inputs: ["data", "emit"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AwGalleryLayoutComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'aw-gallery-layout', template: "<div class=\"aw-search aw-gallery n7-side-auto-padding\"\n id=\"gallery-layout\">\n <div class=\"aw-search__header\">\n <div class=\"aw-search__header-left\">\n <h1 class=\"aw-search__header-title\">{{ lb.dataSource.pageTitle }}</h1>\n </div>\n </div>\n <div class=\"aw-search__content-wrapper sticky-parent\">\n <!-- Left sidebar: facets -->\n <div *ngIf=\"!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar-loading sticky-target\">\n <div class=\"aw-search__facets-loading\">\n <n7-content-placeholder [data]=\"{\n blocks: [{\n classes: 'search-placeholder-facet-input'\n }, {\n classes: 'search-placeholder-facet-check'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }]\n }\">\n </n7-content-placeholder>\n </div>\n </div>\n <div *ngIf=\"!!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <div class=\"aw-search__facets\">\n <aw-facets-wrapper [data]=\"lb.widgets['facets-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['facets-wrapper'].emit\">\n </aw-facets-wrapper>\n </div>\n </div>\n <div class=\"scroll-ref\">&nbsp;</div>\n <div class=\"aw-search__content\">\n <div class=\"aw-search__results-header\">\n <div class=\"aw-search__results-header-left\">\n <h3 *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__total\">\n <span class=\"aw-search__total-number\">{{ lb.dataSource.totalCount }}</span>&nbsp;\n <span class=\"aw-search__total-title\">{{ lb.dataSource.resultsTitle }}</span>\n </h3>\n </div>\n <div class=\"aw-search__results-header-right\">\n <label class=\"aw-search__results-select-orderby-label\"\n for=\"aw-search__results-select-orderby\">{{ lb.dataSource.orderByLabel }}</label>\n <select (change)=\"lb.eventHandler.emitInner('orderbychange', $event.target.value)\"\n id=\"aw-search__results-select-orderby\">\n <option *ngFor=\"let option of lb.dataSource.orderByOptions\"\n [value]=\"option.value\"\n [selected]=\"option.selected\"\n [hidden]=\"option.type === 'score' && lb.dataSource.isSearchingText.value === false\">\n {{ option.label }}</option>\n </select>\n </div>\n </div>\n <!-- Search details -->\n <div *ngIf=\"lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper-loading\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\"\n [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper\">\n <div class=\"n7-grid-3\">\n <div *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </div>\n <ng-container *ngIf=\"lb.dataSource.totalCount == 0\">\n <div class=\"aw-search__fallback\">\n <p class=\"aw-search__fallback-string\">\n {{ lb.dataSource.fallback }}\n </p>\n <button [disabled]=\"!lb.dataSource.resetButtonEnabled\"\n class=\"n7-btn aw-search__fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset', {})\">\n Resetta la ricerca\n </button>\n </div>\n </ng-container>\n <n7-smart-pagination *ngIf=\"lb.dataSource.totalCount > 10\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n </div>\n</div>\n" }]
44
44
  }], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i1.LayoutsConfigurationService }, { type: i1.MainStateService }, { type: i1.CommunicationService }, { type: i2.AwSearchService }, { type: i3.ActivatedRoute }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9nYWxsZXJ5LWxheW91dC9nYWxsZXJ5LWxheW91dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9sYXlvdXRzL2dhbGxlcnktbGF5b3V0L2dhbGxlcnktbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUNMLGNBQWMsRUFLZixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7O0FBTTFFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxjQUFjO0lBQzFELFlBQ1UsYUFBbUMsRUFDbkMsb0JBQWlELEVBQ2pELFNBQTJCLEVBQzNCLGFBQW1DLEVBQ25DLE1BQXVCLEVBQ3ZCLEtBQXFCO1FBRTdCLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztRQVAzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQUNqRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFHL0IsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7O3FIQTdCVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixnRkNoQnJDLHNxTEE0R0E7MkZENUZhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBYnN0cmFjdExheW91dCxcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgTWFpblN0YXRlU2VydmljZSxcbiAgQ29tbXVuaWNhdGlvblNlcnZpY2Vcbn0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbmltcG9ydCB7IEF3U2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9hdy1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQgeyBBd0dhbGxlcnlMYXlvdXRDb25maWcgYXMgY29uZmlnIH0gZnJvbSAnLi9nYWxsZXJ5LWxheW91dC5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdy1nYWxsZXJ5LWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9nYWxsZXJ5LWxheW91dC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBd0dhbGxlcnlMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdExheW91dCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGxheW91dHNDb25maWd1cmF0aW9uOiBMYXlvdXRzQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNlYXJjaDogQXdTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICApIHtcbiAgICBzdXBlcihsYXlvdXRzQ29uZmlndXJhdGlvbi5nZXQoJ0F3R2FsbGVyeUxheW91dENvbmZpZycpIHx8IGNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdFBheWxvYWQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIG1haW5TdGF0ZTogdGhpcy5tYWluU3RhdGUsXG4gICAgICBjb21tdW5pY2F0aW9uOiB0aGlzLmNvbW11bmljYXRpb24sXG4gICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxuICAgICAgcm91dGU6IHRoaXMucm91dGUsXG4gICAgICBvcHRpb25zOiB0aGlzLmNvbmZpZy5vcHRpb25zIHx8IHt9LFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9uSW5pdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF3LXNlYXJjaCBhdy1nYWxsZXJ5IG43LXNpZGUtYXV0by1wYWRkaW5nXCJcbiAgICAgaWQ9XCJnYWxsZXJ5LWxheW91dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2hlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19oZWFkZXItbGVmdFwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzPVwiYXctc2VhcmNoX19oZWFkZXItdGl0bGVcIj57eyBsYi5kYXRhU291cmNlLnBhZ2VUaXRsZSB9fTwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2NvbnRlbnQtd3JhcHBlciBzdGlja3ktcGFyZW50XCI+XG4gICAgICAgIDwhLS0gTGVmdCBzaWRlYmFyOiBmYWNldHMgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhKGxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJhdy1zZWFyY2hfX3NpZGViYXItbG9hZGluZyBzdGlja3ktdGFyZ2V0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19mYWNldHMtbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxuNy1jb250ZW50LXBsYWNlaG9sZGVyIFtkYXRhXT1cIntcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tzOiBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pbnB1dCdcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1jaGVjaydcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pdGVtJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdzZWFyY2gtcGxhY2Vob2xkZXItZmFjZXQtaXRlbSdcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pdGVtJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH1dXG4gICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgIDwvbjctY29udGVudC1wbGFjZWhvbGRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiEhKGxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJhdy1zZWFyY2hfX3NpZGViYXIgc3RpY2t5LXRhcmdldFwiXG4gICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtc3RpY2t5JzogbGIuZGF0YVNvdXJjZS5zaWRlYmFySXNTdGlja3kgfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fZmFjZXRzXCI+XG4gICAgICAgICAgICAgICAgPGF3LWZhY2V0cy13cmFwcGVyIFtkYXRhXT1cImxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snZmFjZXRzLXdyYXBwZXInXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgPC9hdy1mYWNldHMtd3JhcHBlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1yZWZcIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLWhlYWRlci1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMyAqbmdJZj1cIiFsYi5kYXRhU291cmNlLnJlc3VsdHNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX190b3RhbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdy1zZWFyY2hfX3RvdGFsLW51bWJlclwiPnt7IGxiLmRhdGFTb3VyY2UudG90YWxDb3VudCB9fTwvc3Bhbj4mbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXctc2VhcmNoX190b3RhbC10aXRsZVwiPnt7IGxiLmRhdGFTb3VyY2UucmVzdWx0c1RpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtaGVhZGVyLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy1zZWxlY3Qtb3JkZXJieS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtc2VsZWN0LW9yZGVyYnlcIj57eyBsYi5kYXRhU291cmNlLm9yZGVyQnlMYWJlbCB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgKGNoYW5nZSk9XCJsYi5ldmVudEhhbmRsZXIuZW1pdElubmVyKCdvcmRlcmJ5Y2hhbmdlJywgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYXctc2VhcmNoX19yZXN1bHRzLXNlbGVjdC1vcmRlcmJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbGIuZGF0YVNvdXJjZS5vcmRlckJ5T3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwib3B0aW9uLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJvcHRpb24udHlwZSA9PT0gJ3Njb3JlJyAmJiBsYi5kYXRhU291cmNlLmlzU2VhcmNoaW5nVGV4dC52YWx1ZSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gU2VhcmNoIGRldGFpbHMgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5yZXN1bHRzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLXdyYXBwZXItbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxuNy1jb250ZW50LXBsYWNlaG9sZGVyICpuZ0Zvcj1cImxldCBuIG9mIFswLDEsMiwzLDQsNSw2LDcsOCw5XVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie1xuICAgICAgICAgICAgICAgICAgICBibG9ja3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItdGl0bGUnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGNsYXNzZXM6ICdzZWFyY2gtcmVzdWx0LXBsYWNlaG9sZGVyLW1ldGFkYXRhJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBjbGFzc2VzOiAnc2VhcmNoLXJlc3VsdC1wbGFjZWhvbGRlci1tZXRhZGF0YScgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItbWV0YWRhdGEnIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cIj48L243LWNvbnRlbnQtcGxhY2Vob2xkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbGIuZGF0YVNvdXJjZS5yZXN1bHRzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctZ3JpZC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByZXZpZXcgb2YgKGxiLndpZGdldHNbJ2F3LWxpbmtlZC1vYmplY3RzJ10uZHMub3V0JCB8IGFzeW5jKT8ucHJldmlld3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1zbWFydC1icmVhZGNydW1icyBbZGF0YV09XCJwcmV2aWV3LmJyZWFkY3J1bWJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LXNtYXJ0LWJyZWFkY3J1bWJzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LWl0ZW0tcHJldmlldyBbZGF0YV09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWl0ZW0tcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxiLmRhdGFTb3VyY2UudG90YWxDb3VudCA9PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2ZhbGxiYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImF3LXNlYXJjaF9fZmFsbGJhY2stc3RyaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGIuZGF0YVNvdXJjZS5mYWxsYmFjayB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWxiLmRhdGFTb3VyY2UucmVzZXRCdXR0b25FbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1idG4gYXctc2VhcmNoX19mYWxsYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibGIuZXZlbnRIYW5kbGVyLmVtaXRJbm5lcignc2VhcmNocmVzZXQnLCB7fSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNldHRhIGxhIHJpY2VyY2FcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bjctc21hcnQtcGFnaW5hdGlvbiAqbmdJZj1cImxiLmRhdGFTb3VyY2UudG90YWxDb3VudCA+IDEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzWyduNy1zbWFydC1wYWdpbmF0aW9uJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi53aWRnZXRzWyduNy1zbWFydC1wYWdpbmF0aW9uJ10uZW1pdFwiPlxuICAgICAgICAgICAgICAgIDwvbjctc21hcnQtcGFnaW5hdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9nYWxsZXJ5LWxheW91dC9nYWxsZXJ5LWxheW91dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9sYXlvdXRzL2dhbGxlcnktbGF5b3V0L2dhbGxlcnktbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUNMLGNBQWMsRUFLZixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7O0FBTTFFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxjQUFjO0lBQzFELFlBQ1UsYUFBbUMsRUFDbkMsb0JBQWlELEVBQ2pELFNBQTJCLEVBQzNCLGFBQW1DLEVBQ25DLE1BQXVCLEVBQ3ZCLEtBQXFCO1FBRTdCLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztRQVAzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQUNqRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFHL0IsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7O3NIQTdCVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixnRkNoQnJDLHNxTEE0R0E7NEZENUZhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBYnN0cmFjdExheW91dCxcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgTWFpblN0YXRlU2VydmljZSxcbiAgQ29tbXVuaWNhdGlvblNlcnZpY2Vcbn0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbmltcG9ydCB7IEF3U2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9hdy1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQgeyBBd0dhbGxlcnlMYXlvdXRDb25maWcgYXMgY29uZmlnIH0gZnJvbSAnLi9nYWxsZXJ5LWxheW91dC5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdy1nYWxsZXJ5LWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9nYWxsZXJ5LWxheW91dC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBd0dhbGxlcnlMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdExheW91dCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGxheW91dHNDb25maWd1cmF0aW9uOiBMYXlvdXRzQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNlYXJjaDogQXdTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICApIHtcbiAgICBzdXBlcihsYXlvdXRzQ29uZmlndXJhdGlvbi5nZXQoJ0F3R2FsbGVyeUxheW91dENvbmZpZycpIHx8IGNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdFBheWxvYWQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIG1haW5TdGF0ZTogdGhpcy5tYWluU3RhdGUsXG4gICAgICBjb21tdW5pY2F0aW9uOiB0aGlzLmNvbW11bmljYXRpb24sXG4gICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxuICAgICAgcm91dGU6IHRoaXMucm91dGUsXG4gICAgICBvcHRpb25zOiB0aGlzLmNvbmZpZy5vcHRpb25zIHx8IHt9LFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9uSW5pdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF3LXNlYXJjaCBhdy1nYWxsZXJ5IG43LXNpZGUtYXV0by1wYWRkaW5nXCJcbiAgICAgaWQ9XCJnYWxsZXJ5LWxheW91dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2hlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19oZWFkZXItbGVmdFwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzPVwiYXctc2VhcmNoX19oZWFkZXItdGl0bGVcIj57eyBsYi5kYXRhU291cmNlLnBhZ2VUaXRsZSB9fTwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2NvbnRlbnQtd3JhcHBlciBzdGlja3ktcGFyZW50XCI+XG4gICAgICAgIDwhLS0gTGVmdCBzaWRlYmFyOiBmYWNldHMgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhKGxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJhdy1zZWFyY2hfX3NpZGViYXItbG9hZGluZyBzdGlja3ktdGFyZ2V0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19mYWNldHMtbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxuNy1jb250ZW50LXBsYWNlaG9sZGVyIFtkYXRhXT1cIntcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tzOiBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pbnB1dCdcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1jaGVjaydcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pdGVtJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdzZWFyY2gtcGxhY2Vob2xkZXItZmFjZXQtaXRlbSdcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pdGVtJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH1dXG4gICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgIDwvbjctY29udGVudC1wbGFjZWhvbGRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiEhKGxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJhdy1zZWFyY2hfX3NpZGViYXIgc3RpY2t5LXRhcmdldFwiXG4gICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtc3RpY2t5JzogbGIuZGF0YVNvdXJjZS5zaWRlYmFySXNTdGlja3kgfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fZmFjZXRzXCI+XG4gICAgICAgICAgICAgICAgPGF3LWZhY2V0cy13cmFwcGVyIFtkYXRhXT1cImxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snZmFjZXRzLXdyYXBwZXInXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgPC9hdy1mYWNldHMtd3JhcHBlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1yZWZcIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLWhlYWRlci1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMyAqbmdJZj1cIiFsYi5kYXRhU291cmNlLnJlc3VsdHNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX190b3RhbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdy1zZWFyY2hfX3RvdGFsLW51bWJlclwiPnt7IGxiLmRhdGFTb3VyY2UudG90YWxDb3VudCB9fTwvc3Bhbj4mbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXctc2VhcmNoX190b3RhbC10aXRsZVwiPnt7IGxiLmRhdGFTb3VyY2UucmVzdWx0c1RpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtaGVhZGVyLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy1zZWxlY3Qtb3JkZXJieS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtc2VsZWN0LW9yZGVyYnlcIj57eyBsYi5kYXRhU291cmNlLm9yZGVyQnlMYWJlbCB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgKGNoYW5nZSk9XCJsYi5ldmVudEhhbmRsZXIuZW1pdElubmVyKCdvcmRlcmJ5Y2hhbmdlJywgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYXctc2VhcmNoX19yZXN1bHRzLXNlbGVjdC1vcmRlcmJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbGIuZGF0YVNvdXJjZS5vcmRlckJ5T3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwib3B0aW9uLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJvcHRpb24udHlwZSA9PT0gJ3Njb3JlJyAmJiBsYi5kYXRhU291cmNlLmlzU2VhcmNoaW5nVGV4dC52YWx1ZSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gU2VhcmNoIGRldGFpbHMgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5yZXN1bHRzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLXdyYXBwZXItbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxuNy1jb250ZW50LXBsYWNlaG9sZGVyICpuZ0Zvcj1cImxldCBuIG9mIFswLDEsMiwzLDQsNSw2LDcsOCw5XVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie1xuICAgICAgICAgICAgICAgICAgICBibG9ja3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItdGl0bGUnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGNsYXNzZXM6ICdzZWFyY2gtcmVzdWx0LXBsYWNlaG9sZGVyLW1ldGFkYXRhJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBjbGFzc2VzOiAnc2VhcmNoLXJlc3VsdC1wbGFjZWhvbGRlci1tZXRhZGF0YScgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItbWV0YWRhdGEnIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cIj48L243LWNvbnRlbnQtcGxhY2Vob2xkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbGIuZGF0YVNvdXJjZS5yZXN1bHRzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctZ3JpZC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByZXZpZXcgb2YgKGxiLndpZGdldHNbJ2F3LWxpbmtlZC1vYmplY3RzJ10uZHMub3V0JCB8IGFzeW5jKT8ucHJldmlld3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1zbWFydC1icmVhZGNydW1icyBbZGF0YV09XCJwcmV2aWV3LmJyZWFkY3J1bWJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LXNtYXJ0LWJyZWFkY3J1bWJzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LWl0ZW0tcHJldmlldyBbZGF0YV09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWl0ZW0tcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxiLmRhdGFTb3VyY2UudG90YWxDb3VudCA9PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2ZhbGxiYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImF3LXNlYXJjaF9fZmFsbGJhY2stc3RyaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGIuZGF0YVNvdXJjZS5mYWxsYmFjayB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWxiLmRhdGFTb3VyY2UucmVzZXRCdXR0b25FbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1idG4gYXctc2VhcmNoX19mYWxsYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibGIuZXZlbnRIYW5kbGVyLmVtaXRJbm5lcignc2VhcmNocmVzZXQnLCB7fSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNldHRhIGxhIHJpY2VyY2FcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bjctc21hcnQtcGFnaW5hdGlvbiAqbmdJZj1cImxiLmRhdGFTb3VyY2UudG90YWxDb3VudCA+IDEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzWyduNy1zbWFydC1wYWdpbmF0aW9uJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi53aWRnZXRzWyduNy1zbWFydC1wYWdpbmF0aW9uJ10uZW1pdFwiPlxuICAgICAgICAgICAgICAgIDwvbjctc21hcnQtcGFnaW5hdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -93,6 +93,10 @@ export class AwHomeLayoutDS extends LayoutDataSource {
93
93
  ...TOEconfigData,
94
94
  });
95
95
  });
96
+ this.one('aw-home-facets-wrapper').updateOptions({
97
+ pageConfig: this.configuration.get('home-layout'),
98
+ paths: this.configuration.get('paths')
99
+ });
96
100
  this.one('aw-home-facets-wrapper').update(facetData);
97
101
  }
98
102
  renderPreviewsFromApolloQuery(response) {
@@ -283,4 +287,4 @@ export class AwHomeLayoutDS extends LayoutDataSource {
283
287
  this.autocompletePopoverOpen = !this.autocompletePopoverOpen;
284
288
  }
285
289
  }
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1sYXlvdXQuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9ob21lLWxheW91dC9ob21lLWxheW91dC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUF3QixPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQUFwRDs7UUFTVSxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUl0Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFFaEMseUJBQW9CLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7UUFFdkQsa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFFN0IsdUJBQWtCLEdBQVEsSUFBSSxDQUFDO1FBRS9CLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixpQkFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWxCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQVV4QixlQUFVLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFMUMsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBRWxDLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUVwQyw2REFBNkQ7UUFDdEQsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFL0IsMkJBQTJCO1FBQ3BCLG1CQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsK0RBQStEO1FBRXZGLG9CQUFlLEdBQVUsRUFBRSxDQUFBLENBQUMsZUFBZTtRQXlEM0Msb0JBQWUs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Q0FBQyxtQkFBbUIsRUFBRTtZQUM3QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDbEYsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxFQUFFO2dCQUNqRSxPQUFPLEVBQUUsUUFBUTtnQkFDakIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixLQUFLLEVBQUUsS0FBSztnQkFDWixJQUFJLEVBQUUsS0FBSztnQkFDWCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsS0FBSyxFQUFFLGNBQWM7Z0JBQ3JCLFNBQVMsRUFBRSxjQUFjO2dCQUN6QixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzFELENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7U0FDcEM7UUFDRCxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNoQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakM7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNqQztRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUMvRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXREYXRhU291cmNlIH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmb3JrSm9pbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbW11bmljYXRpb25TZXJ2aWNlLCBoZWxwZXJzIH0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIEF3SG9tZUxheW91dERTIGV4dGVuZHMgTGF5b3V0RGF0YVNvdXJjZSB7XG4gIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBtYWluU3RhdGU6IGFueTtcblxuICBwcml2YXRlIHRpcHB5OiBhbnk7XG5cbiAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBhbnk7XG5cbiAgcHJpdmF0ZSBmYWNldElucHV0czogYW55ID0ge307XG5cbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVQb3BvdmVyOiBhbnk7XG5cbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVQb3BvdmVyT3BlbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgYXV0b2NvbXBsZXRlQ2hhbmdlZCQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIG51bU9mSXRlbXNTdHI6IHN0cmluZyA9IG51bGw7XG5cbiAgcHVibGljIGN1cnJlbnRIb3ZlckVudGl0eTogYW55ID0gbnVsbDtcblxuICBwdWJsaWMgaGFzU2Nyb2xsQmFja2dyb3VuZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZXN1bHRzTGltaXQgPSAtMTtcblxuICBwdWJsaWMgc2VsZWN0ZWRFbnRpdGllc0lkcyA9IFtdO1xuXG4gIHB1YmxpYyBvdXRlckxpbmtzOiBhbnk7XG5cbiAgcHVibGljIG91dGVyTGlua3NUaXRsZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBvdXRlckxpbmtzRGVzY3JpcHRpb246IHN0cmluZztcblxuICBwdWJsaWMgaG9tZUF1dG9jb21wbGV0ZVF1ZXJ5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBob21lQXV0b2NvbXBsZXRlSXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgcHVibGljIHJlc3VsdHNMaXN0SXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqIEVuYWJsZWQgZnJvbTogYXJpYW5uYS1jb25maWcvZmVhdHVyZXMtZW5hYmxlZC9jYXJvdXNlbCAqL1xuICBwdWJsaWMgY2Fyb3VzZWxFbmFibGVkID0gZmFsc2U7XG5cbiAgLy8gPT09PT0gQlVCQkxFIENIQVJUID09PT09XG4gIHB1YmxpYyBidWJibGVzRW5hYmxlZCA9IGZhbHNlOyAvLyB0cnVlIGlmIHRoaXMgQXJpYW5uYSBXZWIgcHJvamVjdCBoYXMgdGhlIGJ1YmJsZSBjaGFydCBtb2R1bGVcblxuICBwdWJsaWMgc2VsZWN0ZWRCdWJibGVzOiBhbnlbXSA9IFtdIC8vIGFycmF5IG9mIElEc1xuXG4gIC8vIHN0b3JlIGxhc3QgYnViYmxlIHJlc3BvbnNlIHRvIHJlZnJlc2ggdGhlIGdyYXBoIHdpdGggdGhlIHNhbWUgZGF0YVxuICBwdWJsaWMgbGFzdEJ1YmJsZVJlc3BvbnNlOiBhbnlcblxuICAvLyBzdG9yZSB0aGUgZmlyc3QgYXJyYXkgb2YgYnViYmxlcywgdG8gZmluZCB0aGVtIGluIGNhc2Ugb2Ygbm8gcmVzdWx0cy5cbiAgcHVibGljIGZpcnN0QnViYmxlUmVzcG9uc2U6IGFueVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBvbkluaXQoe1xuICAgIGNvbW11bmljYXRpb24sIG1haW5TdGF0ZSwgY29uZmlndXJhdGlvbiwgdGlwcHksXG4gIH0pIHtcbiAgICB0aGlzLmNvbW11bmljYXRpb24gPSBjb21tdW5pY2F0aW9uO1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgLy8gdGhpcy5mYWNldERhdGEgPSBbXTtcbiAgICB0aGlzLm1haW5TdGF0ZSA9IG1haW5TdGF0ZTtcbiAgICB0aGlzLnRpcHB5ID0gdGlwcHk7XG4gICAgdGhpcy5yZXN1bHRzTGltaXQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdob21lLWxheW91dCcpWydyZXN1bHRzLWxpbWl0J107XG4gICAgdGhpcy5idWJibGVzRW5hYmxlZCA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2ZlYXR1cmVzLWVuYWJsZWQnKT8uYnViYmxlY2hhcnQ7XG4gICAgdGhpcy5jYXJvdXNlbEVuYWJsZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdmZWF0dXJlcy1lbmFibGVkJyk/LmNhcm91c2VsO1xuICAgIGlmICh0aGlzLmNhcm91c2VsRW5hYmxlZCkge1xuICAgICAgdGhpcy5sb2FkQ2Fyb3VzZWwoKTtcbiAgICB9XG4gICAgdGhpcy5vbmUoJ2F3LWhlcm8nKS51cGRhdGUodGhpcy5jb25maWd1cmF0aW9uLmdldCgnaG9tZS1sYXlvdXQnKVsndG9wLWhlcm8nXSk7XG4gICAgdGhpcy5vbmUoJ2F3LWhvbWUtaGVyby1wYXRyaW1vbmlvJykudXBkYXRlKHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hvbWUtbGF5b3V0JylbJ2JvdHRvbS1oZXJvJ10pO1xuICAgIC8vIHVwZGF0ZSBzdHJlYW1zXG4gICAgdGhpcy5tYWluU3RhdGUudXBkYXRlKCdoZWFkVGl0bGUnLCAnQXJpYW5uYTRWaWV3IC0gSG9tZXBhZ2UnKTtcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ3BhZ2VUaXRsZScsICdBcmlhbm5hNFZpZXcgLSBIb21lcGFnZScpO1xuICAgIHRoaXMubWFpblN0YXRlLnVwZGF0ZUN1c3RvbSgnY3VycmVudE5hdicsICdob21lJyk7XG4gICAgLy8gbGlzdGVuIGF1dG9jb21wbGV0ZSBjaGFuZ2VzXG4gICAgdGhpcy5fbGlzdGVuQXV0b0NvbXBsZXRlQ2hhbmdlcygpO1xuICAgIHRoaXMub3V0ZXJMaW5rcyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hvbWUtbGF5b3V0JylbJ291dGVyLWxpbmtzJ10udGVzdDtcbiAgICB0aGlzLm91dGVyTGlua3NUaXRsZSA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hvbWUtbGF5b3V0JylbJ291dGVyLWxpbmtzJ10udGl0bGU7XG4gICAgdGhpcy5vdXRlckxpbmtzRGVzY3JpcHRpb24gPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdob21lLWxheW91dCcpWydvdXRlci1saW5rcyddLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMub25lKCdhdy1idWJibGUtY2hhcnQnKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIHNlbGVjdGFibGU6IHRydWUsXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIGxpbWl0OiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdidWJibGUtY2hhcnQnKS5idWJibGVMaW1pdCxcbiAgICB9KTtcbiAgICB0aGlzLm9uZSgnYXctY2hhcnQtdGlwcHknKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIGJhc2VQYXRoOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdwYXRocycpLmVudGl0YUJhc2VQYXRoLFxuICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG1ha2VSZXF1ZXN0JChxdWVyeSwgcGFyYW1zKSB7XG4gICAgLy8gbWFrZSByZXF1ZXN0IGZyb20gRUhcbiAgICByZXR1cm4gdGhpcy5jb21tdW5pY2F0aW9uLnJlcXVlc3QkKHF1ZXJ5LCB7XG4gICAgICBvbkVycm9yOiAoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoZXJyb3IpLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNvbXBvbmVudCA9IChpZCwgZGF0YSwgb3B0aW9ucz8pID0+IHtcbiAgICAvLyB1cGRhdGUgY29tcG9uZW50cyBmcm9tIEVIXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMub25lKGlkKS51cGRhdGVPcHRpb25zKG9wdGlvbnMpO1xuICAgIH1cbiAgICB0aGlzLm9uZShpZCkudXBkYXRlKGRhdGEpO1xuICB9XG5cbiAgaW5pdGlhbEZpbHRlclJlcXVlc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgnZ2xvYmFsRmlsdGVyJywge1xuICAgICAgb25FcnJvcjogKGVycm9yKSA9PiBjb25zb2xlLmVycm9yKGVycm9yKSxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBlbnRpdGllc0xpc3RTaXplOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdidWJibGUtY2hhcnQnKS5idWJibGVMaW1pdCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwYXJzZUluaXRpYWxSZXF1ZXN0KHJlc3BvbnNlKSB7XG4gICAgdGhpcy5maXJzdEJ1YmJsZVJlc3BvbnNlID0gcmVzcG9uc2UuZW50aXRpZXNEYXRhO1xuICAgIGNvbnN0IGZhY2V0RGF0YSA9IFtdO1xuICAgIHJlc3BvbnNlLnR5cGVPZkVudGl0eURhdGEuZm9yRWFjaCgodG9lKSA9PiB7XG4gICAgICBjb25zdCBUT0Vjb25maWdEYXRhID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgnY29uZmlnLWtleXMnKVt0b2UudHlwZV07XG4gICAgICBmYWNldERhdGEucHVzaCh7XG4gICAgICAgIC4uLnRvZSxcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgbG9ja2VkOiBmYWxzZSxcbiAgICAgICAgLi4uVE9FY29uZmlnRGF0YSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMub25lKCdhdy1ob21lLWZhY2V0cy13cmFwcGVyJykudXBkYXRlKGZhY2V0RGF0YSk7XG4gIH1cblxuICByZW5kZXJQcmV2aWV3c0Zyb21BcG9sbG9RdWVyeShyZXNwb25zZTogYW55KSB7XG4gICAgaWYgKCFyZXNwb25zZSB8fCAhcmVzcG9uc2UuaXRlbXNQYWdpbmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBudW1PZkl0ZW1zID0gcmVzcG9uc2UuaXRlbXNQYWdpbmF0aW9uLnRvdGFsQ291bnQ7XG4gICAgaWYgKG51bU9mSXRlbXMgPiAwKSB7XG4gICAgICBsZXQgbnVtT2ZUaG91c2FuZCA9IDA7XG4gICAgICB3aGlsZSAobnVtT2ZJdGVtcyA+IDk5OSkge1xuICAgICAgICBudW1PZkl0ZW1zIC09IDEwMDA7XG4gICAgICAgIG51bU9mVGhvdXNhbmQgKz0gMTtcbiAgICAgIH1cbiAgICAgIGxldCBudW1PZkl0ZW1zVG1wU3RyID0gYCR7bnVtT2ZJdGVtc31gO1xuICAgICAgaWYgKG51bU9mSXRlbXMgPCAxMCkgbnVtT2ZJdGVtc1RtcFN0ciA9IGAwMCR7bnVtT2ZJdGVtc31gO1xuICAgICAgZWxzZSBpZiAobnVtT2ZJdGVtcyA8IDEwMCkgbnVtT2ZJdGVtc1RtcFN0ciA9IGAwJHtudW1PZkl0ZW1zfWA7XG4gICAgICBpZiAobnVtT2ZUaG91c2FuZCA+IDApIHRoaXMubnVtT2ZJdGVtc1N0ciA9IGAke251bU9mVGhvdXNhbmR9LiR7bnVtT2ZJdGVtc1RtcFN0cn1gO1xuICAgICAgZWxzZSB0aGlzLm51bU9mSXRlbXNTdHIgPSBgJHtudW1PZkl0ZW1zfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubnVtT2ZJdGVtc1N0ciA9ICcwJztcbiAgICB9XG4gICAgdGhpcy5vbmUoJ2F3LWxpbmtlZC1vYmplY3RzJykudXBkYXRlT3B0aW9ucyh7XG4gICAgICBjb250ZXh0OiAnaG9tZScsXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICB9KTtcbiAgICB0aGlzLm9uZSgnYXctbGlua2VkLW9iamVjdHMnKS51cGRhdGUocmVzcG9uc2UuaXRlbXNQYWdpbmF0aW9uKTtcblxuICAgIC8vIHNjcm9sbCBjb250cm9sXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9zY3JvbGxCYWNrZ3JvdW5kQ29udHJvbCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVRhZ3Mob25seUJ1YmJsZXM/OiBib29sZWFuKSB7XG4gICAgaWYgKCFvbmx5QnViYmxlcykge1xuICAgICAgdGhpcy5yZW5kZXJJdGVtVGFncygpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZhY2V0U2VhcmNoQ2hhbmdlKGNoYW5nZSkge1xuICAgIGNvbnN0IHBheWxvYWQ6IHN0cmluZyA9IGNoYW5nZS5pbnB1dFBheWxvYWQ7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gY2hhbmdlO1xuICAgIC8vIHN0b3JlIHRoZSBlbnRlcmVkIHRleHQgaW4gZmFjZXRJbnB1dHNcbiAgICB0aGlzLmZhY2V0SW5wdXRzW3BheWxvYWRdID0gdmFsdWU7XG4gIH1cblxuICByZW5kZXJJdGVtVGFncygpIHtcbiAgICAvKlxuICAgICAgICAgIFRyeSB0byBidWlsZCBhbiBpdGVtIHRhZyBmb3IgZWFjaCBzZWxlY3RlZCBxdWVyeSBsb29raW5nIGF0IHRoZSBkYXRhIGZyb20gdGhlXG4gICAgICAgICAgZmlyc3QgcmVzcG9uc2UuIElmIHRoZSBuZWVkZWQgYnViYmxlIGRhdGEgY2Fubm90IGJlIGZvdW5kLCBhc2sgdGhlIGJhY2tlbmRcbiAgICAgICAgICBmb3IgdGhhdCBidWJibGUncyBkYXRhLlxuICAgICAgKi9cbiAgICBjb25zdCBxdWVyeUxpc3QgPSBbXTsgLy8gbGlzdCBvZiBwZW5kaW5nIHF1ZXJpZXNcbiAgICBjb25zdCB0YWdzRGF0YSA9IFtdOyAvLyBsaXN0IG9mIHRhZ3MgZGF0YSBidWlsdCBmcm9tIHF1ZXJ5XG4gICAgdGhpcy5zZWxlY3RlZEJ1YmJsZXMuZm9yRWFjaCgoYikgPT4geyAvLyB0cnkgdG8gZ2V0IHRoZSBkYXRhIG9mIGVhY2ggc2VsZWN0ZWQgYnViYmxlXG4gICAgICBjb25zdCB0aGVCdWJibGUgPSB0aGlzLmZpcnN0QnViYmxlUmVzcG9uc2UuZmluZCgoZWwpID0+IGVsLmVudGl0eS5pZCA9PT0gYik7XG4gICAgICBpZiAodGhlQnViYmxlKSB7IC8vIGlmIGEgYnViYmxlIHdhcyBmb3VuZFxuICAgICAgICBjb25zdCBidWJibGVDb25maWcgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdjb25maWcta2V5cycpW3RoZUJ1YmJsZS5lbnRpdHkudHlwZU9mRW50aXR5XTtcbiAgICAgICAgdGFnc0RhdGEucHVzaCh7XG4gICAgICAgICAgbGFiZWw6IHRoZUJ1YmJsZS5lbnRpdHkubGFiZWwsXG4gICAgICAgICAgaWNvbjogJ243LWljb24tY2xvc2UnLFxuICAgICAgICAgIHBheWxvYWQ6IGIsXG4gICAgICAgICAgY2xhc3NlczogYHRhZy0ke2J1YmJsZUNvbmZpZ1snY2xhc3MtbmFtZSddfWAsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHsgLy8gaWYgdGhlIGJ1YmJsZSB3YXMgbm90IGZvdW5kLCBtYWtlIGEgcXVlcnlcbiAgICAgICAgY29uc3QgcGFyYW1zID0geyBlbnRpdHlJZDogYiwgZW50aXRpZXNMaXN0U2l6ZTogMSB9O1xuICAgICAgICBxdWVyeUxpc3QucHVzaCh0aGlzLm1ha2VSZXF1ZXN0JCgnZ2V0TWlzc2luZ0J1YmJsZScsIHBhcmFtcykpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChxdWVyeUxpc3QubGVuZ3RoID4gMCkgeyAvLyBpZiB0aGVyZSBhcmUgcGVuZGluZyBidWJibGUgcXVlcmllc1xuICAgICAgZm9ya0pvaW4ocXVlcnlMaXN0KS5zdWJzY3JpYmUoKGZvcmtyZXMpID0+IHtcbiAgICAgICAgZm9ya3Jlcy5mb3JFYWNoKChyOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBidWJibGVDb25maWcgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdjb25maWcta2V5cycpW3IudHlwZU9mRW50aXR5XTtcbiAgICAgICAgICB0YWdzRGF0YS5wdXNoKHtcbiAgICAgICAgICAgIGxhYmVsOiByLmxhYmVsLFxuICAgICAgICAgICAgaWNvbjogJ243LWljb24tY2xvc2UnLFxuICAgICAgICAgICAgcGF5bG9hZDogci5pZCxcbiAgICAgICAgICAgIGNsYXNzZXM6IGB0YWctJHtidWJibGVDb25maWdbJ2NsYXNzLW5hbWUnXX1gLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbmUoJ2F3LWhvbWUtaXRlbS10YWdzLXdyYXBwZXInKS51cGRhdGUodGFnc0RhdGEpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25lKCdhdy1ob21lLWl0ZW0tdGFncy13cmFwcGVyJykudXBkYXRlKHRhZ3NEYXRhKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgZGF0YSBmb3IgdGhlIGNhcm91c2VsIGNvbXBvbmVudFxuICAgKi9cbiAgbG9hZENhcm91c2VsKCkge1xuICAgIGNvbnN0IGJhc2VVcmxzID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgnYmFzZVVybHMnKSB8fCB7fTtcbiAgICBjb25zdCBiYXNlVXJsID0gYmFzZVVybHMucG9ydGFsZU1hdHJpY2VTZXJ2ZXIgfHwgbnVsbDtcbiAgICB0aGlzLmNvbW11bmljYXRpb24ucmVxdWVzdCQoJ2dldFNsaWRlcicsIGJhc2VVcmwgPyB7XG4gICAgICBwYXJhbXM6IHsgYmFzZVVybCB9XG4gICAgfSA6IHt9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5vbmUoJ2F3LWNhcm91c2VsJykudXBkYXRlKHJlcyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWxFbmFibGVkID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25IZXJvQ2hhbmdlKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBlc2NhcGVkVmFsdWUgPSBoZWxwZXJzLmVzY2FwZVF1b3Rlcyh2YWx1ZSk7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUNoYW5nZWQkLm5leHQoZXNjYXBlZFZhbHVlKTtcbiAgICAgIHRoaXMuaG9tZUF1dG9jb21wbGV0ZUlzTG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmhvbWVBdXRvY29tcGxldGVRdWVyeSA9IGVzY2FwZWRWYWx1ZTtcbiAgICAgIGlmICghdGhpcy5hdXRvY29tcGxldGVQb3BvdmVyT3Blbikge1xuICAgICAgICB0aGlzLl90b2dnbGVBdXRvY29tcGxldGVQb3BvdmVyKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmF1dG9jb21wbGV0ZVBvcG92ZXJPcGVuKSB7XG4gICAgICB0aGlzLl90b2dnbGVBdXRvY29tcGxldGVQb3BvdmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2Nyb2xsQmFja2dyb3VuZENvbnRyb2woKSB7XG4gICAgY29uc3Qgbm9kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidWJibGUtcmVzdWx0cy1saXN0Jyk7XG4gICAgaWYgKCFub2RlKSByZXR1cm47XG4gICAgY29uc3Qgc291cmNlJCA9IGZyb21FdmVudChub2RlLCAnc2Nyb2xsJyk7XG5cbiAgICAvLyBoZWlnaHQgY29udHJvbFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fc2V0SGFzU2Nyb2xsQmFja2dyb3VuZChub2RlKTtcbiAgICB9LCA1MDApO1xuXG4gICAgLy8gc2Nyb2xsIGxpc3RlblxuICAgIHNvdXJjZSQucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgKS5zdWJzY3JpYmUoKHsgdGFyZ2V0IH06IHsgdGFyZ2V0OiBhbnkgfSkgPT4ge1xuICAgICAgdGhpcy5fc2V0SGFzU2Nyb2xsQmFja2dyb3VuZCh0YXJnZXQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0SGFzU2Nyb2xsQmFja2dyb3VuZCh0YXJnZXQpIHtcbiAgICB0aGlzLmhhc1Njcm9sbEJhY2tncm91bmQgPSB0YXJnZXQgPyAoXG4gICAgICB0YXJnZXQuc2Nyb2xsSGVpZ2h0ID4gKHRhcmdldC5zY3JvbGxUb3AgKyB0YXJnZXQuY2xpZW50SGVpZ2h0KVxuICAgICkgOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbkF1dG9Db21wbGV0ZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5vbmUoJ2F3LWhvbWUtYXV0b2NvbXBsZXRlJykudXBkYXRlT3B0aW9ucyh7XG4gICAgICBrZXlzOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdjb25maWcta2V5cycpLFxuICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBsYWJlbHM6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2xhYmVscycpLFxuICAgICAgcGF0aHM6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ3BhdGhzJyksXG4gICAgfSk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDaGFuZ2VkJC5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSxcbiAgICApLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgnYXV0b0NvbXBsZXRlJywge1xuICAgICAgICBvbkVycm9yOiAoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoZXJyb3IpLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBpbnB1dDogdmFsdWUsXG4gICAgICAgICAgaXRlbXNQYWdpbmF0aW9uOiB7IG9mZnNldDogMCwgbGltaXQ6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hvbWUtbGF5b3V0JylbJ3Jlc3VsdHMtbGltaXQnXSB9LFxuICAgICAgICB9LFxuICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLmhvbWVBdXRvY29tcGxldGVJc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vbmUoJ2F3LWhvbWUtYXV0b2NvbXBsZXRlJykudXBkYXRlKHtcbiAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICBxdWVyeTogdmFsdWUsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF90b2dnbGVBdXRvY29tcGxldGVQb3BvdmVyKCkge1xuICAgIGlmICghdGhpcy5hdXRvY29tcGxldGVQb3BvdmVyKSB7XG4gICAgICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhdy1ob21lLWFkdmFuY2VkLWF1dG9jb21wbGV0ZS1wb3BvdmVyJyk7XG4gICAgICB0ZW1wbGF0ZS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgIGNvbnN0IFtwb3BPdmVyXSA9IHRoaXMudGlwcHkoJy5hdy1ob21lX190b3AtaGVybyAubjctaGVyb19faW5wdXQnLCB7XG4gICAgICAgIGNvbnRlbnQ6IHRlbXBsYXRlLFxuICAgICAgICB0cmlnZ2VyOiAnbWFudWFsJyxcbiAgICAgICAgaW50ZXJhY3RpdmU6IHRydWUsXG4gICAgICAgIGFycm93OiBmYWxzZSxcbiAgICAgICAgZmxpcDogZmFsc2UsXG4gICAgICAgIGFwcGVuZFRvOiAncGFyZW50JyxcbiAgICAgICAgdGhlbWU6ICdsaWdodC1ib3JkZXInLFxuICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20tc3RhcnQnLFxuICAgICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgICBvbkhpZGRlbjogKCkgPT4geyB0aGlzLmF1dG9jb21wbGV0ZVBvcG92ZXJPcGVuID0gZmFsc2U7IH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUG9wb3ZlciA9IHBvcE92ZXI7XG4gICAgfVxuICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZVBvcG92ZXJPcGVuKSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZVBvcG92ZXIuaGlkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZVBvcG92ZXIuc2hvdygpO1xuICAgIH1cbiAgICB0aGlzLmF1dG9jb21wbGV0ZVBvcG92ZXJPcGVuID0gIXRoaXMuYXV0b2NvbXBsZXRlUG9wb3Zlck9wZW47XG4gIH1cbn1cbiJdfQ==
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1sYXlvdXQuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9ob21lLWxheW91dC9ob21lLWxheW91dC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUF3QixPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQUFwRDs7UUFTVSxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUl0Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFFaEMseUJBQW9CLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7UUFFdkQsa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFFN0IsdUJBQWtCLEdBQVEsSUFBSSxDQUFDO1FBRS9CLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixpQkFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWxCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQVV4QixlQUFVLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFMUMsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBRWxDLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUVwQyw2REFBNkQ7UUFDdEQsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFL0IsMkJBQTJCO1FBQ3BCLG1CQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsK0RBQStEO1FBRXZGLG9CQUFlLEdBQVUsRUFBRSxDQUFDLENBQUMsZUFBZTtRQXlENUMsb0JBQWUs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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXREYXRhU291cmNlIH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmb3JrSm9pbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbW11bmljYXRpb25TZXJ2aWNlLCBoZWxwZXJzIH0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIEF3SG9tZUxheW91dERTIGV4dGVuZHMgTGF5b3V0RGF0YVNvdXJjZSB7XG4gIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBtYWluU3RhdGU6IGFueTtcblxuICBwcml2YXRlIHRpcHB5OiBhbnk7XG5cbiAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBhbnk7XG5cbiAgcHJpdmF0ZSBmYWNldElucHV0czogYW55ID0ge307XG5cbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVQb3BvdmVyOiBhbnk7XG5cbiAgcHJpdmF0ZSBhdXRvY29tcGxldGVQb3BvdmVyT3BlbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgYXV0b2NvbXBsZXRlQ2hhbmdlZCQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIG51bU9mSXRlbXNTdHI6IHN0cmluZyA9IG51bGw7XG5cbiAgcHVibGljIGN1cnJlbnRIb3ZlckVudGl0eTogYW55ID0gbnVsbDtcblxuICBwdWJsaWMgaGFzU2Nyb2xsQmFja2dyb3VuZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZXN1bHRzTGltaXQgPSAtMTtcblxuICBwdWJsaWMgc2VsZWN0ZWRFbnRpdGllc0lkcyA9IFtdO1xuXG4gIHB1YmxpYyBvdXRlckxpbmtzOiBhbnk7XG5cbiAgcHVibGljIG91dGVyTGlua3NUaXRsZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBvdXRlckxpbmtzRGVzY3JpcHRpb246IHN0cmluZztcblxuICBwdWJsaWMgaG9tZUF1dG9jb21wbGV0ZVF1ZXJ5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBob21lQXV0b2NvbXBsZXRlSXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgcHVibGljIHJlc3VsdHNMaXN0SXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqIEVuYWJsZWQgZnJvbTogYXJpYW5uYS1jb25maWcvZmVhdHVyZXMtZW5hYmxlZC9jYXJvdXNlbCAqL1xuICBwdWJsaWMgY2Fyb3VzZWxFbmFibGVkID0gZmFsc2U7XG5cbiAgLy8gPT09PT0gQlVCQkxFIENIQVJUID09PT09XG4gIHB1YmxpYyBidWJibGVzRW5hYmxlZCA9IGZhbHNlOyAvLyB0cnVlIGlmIHRoaXMgQXJpYW5uYSBXZWIgcHJvamVjdCBoYXMgdGhlIGJ1YmJsZSBjaGFydCBtb2R1bGVcblxuICBwdWJsaWMgc2VsZWN0ZWRCdWJibGVzOiBhbnlbXSA9IFtdOyAvLyBhcnJheSBvZiBJRHNcblxuICAvLyBzdG9yZSBsYXN0IGJ1YmJsZSByZXNwb25zZSB0byByZWZyZXNoIHRoZSBncmFwaCB3aXRoIHRoZSBzYW1lIGRhdGFcbiAgcHVibGljIGxhc3RCdWJibGVSZXNwb25zZTogYW55O1xuXG4gIC8vIHN0b3JlIHRoZSBmaXJzdCBhcnJheSBvZiBidWJibGVzLCB0byBmaW5kIHRoZW0gaW4gY2FzZSBvZiBubyByZXN1bHRzLlxuICBwdWJsaWMgZmlyc3RCdWJibGVSZXNwb25zZTogYW55O1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBvbkluaXQoe1xuICAgIGNvbW11bmljYXRpb24sIG1haW5TdGF0ZSwgY29uZmlndXJhdGlvbiwgdGlwcHksXG4gIH0pIHtcbiAgICB0aGlzLmNvbW11bmljYXRpb24gPSBjb21tdW5pY2F0aW9uO1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgLy8gdGhpcy5mYWNldERhdGEgPSBbXTtcbiAgICB0aGlzLm1haW5TdGF0ZSA9IG1haW5TdGF0ZTtcbiAgICB0aGlzLnRpcHB5ID0gdGlwcHk7XG4gICAgdGhpcy5yZXN1bHRzTGltaXQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdob21lLWxheW91dCcpWydyZXN1bHRzLWxpbWl0J107XG4gICAgdGhpcy5idWJibGVzRW5hYmxlZCA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2ZlYXR1cmVzLWVuYWJsZWQnKT8uYnViYmxlY2hhcnQ7XG4gICAgdGhpcy5jYXJvdXNlbEVuYWJsZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdmZWF0dXJlcy1lbmFibGVkJyk/LmNhcm91c2VsO1xuICAgIGlmICh0aGlzLmNhcm91c2VsRW5hYmxlZCkge1xuICAgICAgdGhpcy5sb2FkQ2Fyb3VzZWwoKTtcbiAgICB9XG4gICAgdGhpcy5vbmUoJ2F3LWhlcm8nKS51cGRhdGUodGhpcy5jb25maWd1cmF0aW9uLmdldCgnaG9tZS1sYXlvdXQnKVsndG9wLWhlcm8nXSk7XG4gICAgdGhpcy5vbmUoJ2F3LWhvbWUtaGVyby1wYXRyaW1vbmlvJykudXBkYXRlKHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hvbWUtbGF5b3V0JylbJ2JvdHRvbS1oZXJvJ10pO1xuICAgIC8vIHVwZGF0ZSBzdHJlYW1zXG4gICAgdGhpcy5tYWluU3RhdGUudXBkYXRlKCdoZWFkVGl0bGUnLCAnQXJpYW5uYTRWaWV3IC0gSG9tZXBhZ2UnKTtcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ3BhZ2VUaXRsZScsICdBcmlhbm5hNFZpZXcgLSBIb21lcGFnZScpO1xuICAgIHRoaXMubWFpblN0YXRlLnVwZGF0ZUN1c3RvbSgnY3VycmVudE5hdicsICdob21lJyk7XG4gICAgLy8gbGlzdGVuIGF1dG9jb21wbGV0ZSBjaGFuZ2VzXG4gICAgdGhpcy5fbGlzdGVuQXV0b0NvbXBsZXRlQ2hhbmdlcygpO1xuICAgIHRoaXMub3V0ZXJMaW5rcyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hvbWUtbGF5b3V0JylbJ291dGVyLWxpbmtzJ10udGVzdDtcbiAgICB0aGlzLm91dGVyTGlua3NUaXRsZSA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hvbWUtbGF5b3V0JylbJ291dGVyLWxpbmtzJ10udGl0bGU7XG4gICAgdGhpcy5vdXRlckxpbmtzRGVzY3JpcHRpb24gPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdob21lLWxheW91dCcpWydvdXRlci1saW5rcyddLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMub25lKCdhdy1idWJibGUtY2hhcnQnKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIHNlbGVjdGFibGU6IHRydWUsXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIGxpbWl0OiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdidWJibGUtY2hhcnQnKS5idWJibGVMaW1pdCxcbiAgICB9KTtcbiAgICB0aGlzLm9uZSgnYXctY2hhcnQtdGlwcHknKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIGJhc2VQYXRoOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdwYXRocycpLmVudGl0YUJhc2VQYXRoLFxuICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG1ha2VSZXF1ZXN0JChxdWVyeSwgcGFyYW1zKSB7XG4gICAgLy8gbWFrZSByZXF1ZXN0IGZyb20gRUhcbiAgICByZXR1cm4gdGhpcy5jb21tdW5pY2F0aW9uLnJlcXVlc3QkKHF1ZXJ5LCB7XG4gICAgICBvbkVycm9yOiAoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoZXJyb3IpLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNvbXBvbmVudCA9IChpZCwgZGF0YSwgb3B0aW9ucz8pID0+IHtcbiAgICAvLyB1cGRhdGUgY29tcG9uZW50cyBmcm9tIEVIXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMub25lKGlkKS51cGRhdGVPcHRpb25zKG9wdGlvbnMpO1xuICAgIH1cbiAgICB0aGlzLm9uZShpZCkudXBkYXRlKGRhdGEpO1xuICB9O1xuXG4gIGluaXRpYWxGaWx0ZXJSZXF1ZXN0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbW11bmljYXRpb24ucmVxdWVzdCQoJ2dsb2JhbEZpbHRlcicsIHtcbiAgICAgIG9uRXJyb3I6IChlcnJvcikgPT4gY29uc29sZS5lcnJvcihlcnJvciksXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgZW50aXRpZXNMaXN0U2l6ZTogdGhpcy5jb25maWd1cmF0aW9uLmdldCgnYnViYmxlLWNoYXJ0JykuYnViYmxlTGltaXQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcGFyc2VJbml0aWFsUmVxdWVzdChyZXNwb25zZSkge1xuICAgIHRoaXMuZmlyc3RCdWJibGVSZXNwb25zZSA9IHJlc3BvbnNlLmVudGl0aWVzRGF0YTtcbiAgICBjb25zdCBmYWNldERhdGEgPSBbXTtcbiAgICByZXNwb25zZS50eXBlT2ZFbnRpdHlEYXRhLmZvckVhY2goKHRvZSkgPT4ge1xuICAgICAgY29uc3QgVE9FY29uZmlnRGF0YSA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2NvbmZpZy1rZXlzJylbdG9lLnR5cGVdO1xuICAgICAgZmFjZXREYXRhLnB1c2goe1xuICAgICAgICAuLi50b2UsXG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIGxvY2tlZDogZmFsc2UsXG4gICAgICAgIC4uLlRPRWNvbmZpZ0RhdGEsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLm9uZSgnYXctaG9tZS1mYWNldHMtd3JhcHBlcicpLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgcGFnZUNvbmZpZzogdGhpcy5jb25maWd1cmF0aW9uLmdldCgnaG9tZS1sYXlvdXQnKSxcbiAgICAgIHBhdGhzOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdwYXRocycpXG4gICAgfSk7XG4gICAgdGhpcy5vbmUoJ2F3LWhvbWUtZmFjZXRzLXdyYXBwZXInKS51cGRhdGUoZmFjZXREYXRhKTtcbiAgfVxuXG4gIHJlbmRlclByZXZpZXdzRnJvbUFwb2xsb1F1ZXJ5KHJlc3BvbnNlOiBhbnkpIHtcbiAgICBpZiAoIXJlc3BvbnNlIHx8ICFyZXNwb25zZS5pdGVtc1BhZ2luYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IG51bU9mSXRlbXMgPSByZXNwb25zZS5pdGVtc1BhZ2luYXRpb24udG90YWxDb3VudDtcbiAgICBpZiAobnVtT2ZJdGVtcyA+IDApIHtcbiAgICAgIGxldCBudW1PZlRob3VzYW5kID0gMDtcbiAgICAgIHdoaWxlIChudW1PZkl0ZW1zID4gOTk5KSB7XG4gICAgICAgIG51bU9mSXRlbXMgLT0gMTAwMDtcbiAgICAgICAgbnVtT2ZUaG91c2FuZCArPSAxO1xuICAgICAgfVxuICAgICAgbGV0IG51bU9mSXRlbXNUbXBTdHIgPSBgJHtudW1PZkl0ZW1zfWA7XG4gICAgICBpZiAobnVtT2ZJdGVtcyA8IDEwKSBudW1PZkl0ZW1zVG1wU3RyID0gYDAwJHtudW1PZkl0ZW1zfWA7XG4gICAgICBlbHNlIGlmIChudW1PZkl0ZW1zIDwgMTAwKSBudW1PZkl0ZW1zVG1wU3RyID0gYDAke251bU9mSXRlbXN9YDtcbiAgICAgIGlmIChudW1PZlRob3VzYW5kID4gMCkgdGhpcy5udW1PZkl0ZW1zU3RyID0gYCR7bnVtT2ZUaG91c2FuZH0uJHtudW1PZkl0ZW1zVG1wU3RyfWA7XG4gICAgICBlbHNlIHRoaXMubnVtT2ZJdGVtc1N0ciA9IGAke251bU9mSXRlbXN9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5udW1PZkl0ZW1zU3RyID0gJzAnO1xuICAgIH1cbiAgICB0aGlzLm9uZSgnYXctbGlua2VkLW9iamVjdHMnKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIGNvbnRleHQ6ICdob21lJyxcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgIH0pO1xuICAgIHRoaXMub25lKCdhdy1saW5rZWQtb2JqZWN0cycpLnVwZGF0ZShyZXNwb25zZS5pdGVtc1BhZ2luYXRpb24pO1xuXG4gICAgLy8gc2Nyb2xsIGNvbnRyb2xcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3Njcm9sbEJhY2tncm91bmRDb250cm9sKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVGFncyhvbmx5QnViYmxlcz86IGJvb2xlYW4pIHtcbiAgICBpZiAoIW9ubHlCdWJibGVzKSB7XG4gICAgICB0aGlzLnJlbmRlckl0ZW1UYWdzKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRmFjZXRTZWFyY2hDaGFuZ2UoY2hhbmdlKSB7XG4gICAgY29uc3QgcGF5bG9hZDogc3RyaW5nID0gY2hhbmdlLmlucHV0UGF5bG9hZDtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBjaGFuZ2U7XG4gICAgLy8gc3RvcmUgdGhlIGVudGVyZWQgdGV4dCBpbiBmYWNldElucHV0c1xuICAgIHRoaXMuZmFjZXRJbnB1dHNbcGF5bG9hZF0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJlbmRlckl0ZW1UYWdzKCkge1xuICAgIC8qXG4gICAgICAgICAgVHJ5IHRvIGJ1aWxkIGFuIGl0ZW0gdGFnIGZvciBlYWNoIHNlbGVjdGVkIHF1ZXJ5IGxvb2tpbmcgYXQgdGhlIGRhdGEgZnJvbSB0aGVcbiAgICAgICAgICBmaXJzdCByZXNwb25zZS4gSWYgdGhlIG5lZWRlZCBidWJibGUgZGF0YSBjYW5ub3QgYmUgZm91bmQsIGFzayB0aGUgYmFja2VuZFxuICAgICAgICAgIGZvciB0aGF0IGJ1YmJsZSdzIGRhdGEuXG4gICAgICAqL1xuICAgIGNvbnN0IHF1ZXJ5TGlzdCA9IFtdOyAvLyBsaXN0IG9mIHBlbmRpbmcgcXVlcmllc1xuICAgIGNvbnN0IHRhZ3NEYXRhID0gW107IC8vIGxpc3Qgb2YgdGFncyBkYXRhIGJ1aWx0IGZyb20gcXVlcnlcbiAgICB0aGlzLnNlbGVjdGVkQnViYmxlcy5mb3JFYWNoKChiKSA9PiB7IC8vIHRyeSB0byBnZXQgdGhlIGRhdGEgb2YgZWFjaCBzZWxlY3RlZCBidWJibGVcbiAgICAgIGNvbnN0IHRoZUJ1YmJsZSA9IHRoaXMuZmlyc3RCdWJibGVSZXNwb25zZS5maW5kKChlbCkgPT4gZWwuZW50aXR5LmlkID09PSBiKTtcbiAgICAgIGlmICh0aGVCdWJibGUpIHsgLy8gaWYgYSBidWJibGUgd2FzIGZvdW5kXG4gICAgICAgIGNvbnN0IGJ1YmJsZUNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2NvbmZpZy1rZXlzJylbdGhlQnViYmxlLmVudGl0eS50eXBlT2ZFbnRpdHldO1xuICAgICAgICB0YWdzRGF0YS5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogdGhlQnViYmxlLmVudGl0eS5sYWJlbCxcbiAgICAgICAgICBpY29uOiAnbjctaWNvbi1jbG9zZScsXG4gICAgICAgICAgcGF5bG9hZDogYixcbiAgICAgICAgICBjbGFzc2VzOiBgdGFnLSR7YnViYmxlQ29uZmlnWydjbGFzcy1uYW1lJ119YCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgeyAvLyBpZiB0aGUgYnViYmxlIHdhcyBub3QgZm91bmQsIG1ha2UgYSBxdWVyeVxuICAgICAgICBjb25zdCBwYXJhbXMgPSB7IGVudGl0eUlkOiBiLCBlbnRpdGllc0xpc3RTaXplOiAxIH07XG4gICAgICAgIHF1ZXJ5TGlzdC5wdXNoKHRoaXMubWFrZVJlcXVlc3QkKCdnZXRNaXNzaW5nQnViYmxlJywgcGFyYW1zKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHF1ZXJ5TGlzdC5sZW5ndGggPiAwKSB7IC8vIGlmIHRoZXJlIGFyZSBwZW5kaW5nIGJ1YmJsZSBxdWVyaWVzXG4gICAgICBmb3JrSm9pbihxdWVyeUxpc3QpLnN1YnNjcmliZSgoZm9ya3JlcykgPT4ge1xuICAgICAgICBmb3JrcmVzLmZvckVhY2goKHI6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGJ1YmJsZUNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2NvbmZpZy1rZXlzJylbci50eXBlT2ZFbnRpdHldO1xuICAgICAgICAgIHRhZ3NEYXRhLnB1c2goe1xuICAgICAgICAgICAgbGFiZWw6IHIubGFiZWwsXG4gICAgICAgICAgICBpY29uOiAnbjctaWNvbi1jbG9zZScsXG4gICAgICAgICAgICBwYXlsb2FkOiByLmlkLFxuICAgICAgICAgICAgY2xhc3NlczogYHRhZy0ke2J1YmJsZUNvbmZpZ1snY2xhc3MtbmFtZSddfWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uZSgnYXctaG9tZS1pdGVtLXRhZ3Mtd3JhcHBlcicpLnVwZGF0ZSh0YWdzRGF0YSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbmUoJ2F3LWhvbWUtaXRlbS10YWdzLXdyYXBwZXInKS51cGRhdGUodGFnc0RhdGEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBkYXRhIGZvciB0aGUgY2Fyb3VzZWwgY29tcG9uZW50XG4gICAqL1xuICBsb2FkQ2Fyb3VzZWwoKSB7XG4gICAgY29uc3QgYmFzZVVybHMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdiYXNlVXJscycpIHx8IHt9O1xuICAgIGNvbnN0IGJhc2VVcmwgPSBiYXNlVXJscy5wb3J0YWxlTWF0cmljZVNlcnZlciB8fCBudWxsO1xuICAgIHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgnZ2V0U2xpZGVyJywgYmFzZVVybCA/IHtcbiAgICAgIHBhcmFtczogeyBiYXNlVXJsIH1cbiAgICB9IDoge30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICB0aGlzLm9uZSgnYXctY2Fyb3VzZWwnKS51cGRhdGUocmVzKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBvbkhlcm9DaGFuZ2UodmFsdWUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IGVzY2FwZWRWYWx1ZSA9IGhlbHBlcnMuZXNjYXBlUXVvdGVzKHZhbHVlKTtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ2hhbmdlZCQubmV4dChlc2NhcGVkVmFsdWUpO1xuICAgICAgdGhpcy5ob21lQXV0b2NvbXBsZXRlSXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuaG9tZUF1dG9jb21wbGV0ZVF1ZXJ5ID0gZXNjYXBlZFZhbHVlO1xuICAgICAgaWYgKCF0aGlzLmF1dG9jb21wbGV0ZVBvcG92ZXJPcGVuKSB7XG4gICAgICAgIHRoaXMuX3RvZ2dsZUF1dG9jb21wbGV0ZVBvcG92ZXIoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuYXV0b2NvbXBsZXRlUG9wb3Zlck9wZW4pIHtcbiAgICAgIHRoaXMuX3RvZ2dsZUF1dG9jb21wbGV0ZVBvcG92ZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxCYWNrZ3JvdW5kQ29udHJvbCgpIHtcbiAgICBjb25zdCBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1YmJsZS1yZXN1bHRzLWxpc3QnKTtcbiAgICBpZiAoIW5vZGUpIHJldHVybjtcbiAgICBjb25zdCBzb3VyY2UkID0gZnJvbUV2ZW50KG5vZGUsICdzY3JvbGwnKTtcblxuICAgIC8vIGhlaWdodCBjb250cm9sXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9zZXRIYXNTY3JvbGxCYWNrZ3JvdW5kKG5vZGUpO1xuICAgIH0sIDUwMCk7XG5cbiAgICAvLyBzY3JvbGwgbGlzdGVuXG4gICAgc291cmNlJC5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDUwKSxcbiAgICApLnN1YnNjcmliZSgoeyB0YXJnZXQgfTogeyB0YXJnZXQ6IGFueSB9KSA9PiB7XG4gICAgICB0aGlzLl9zZXRIYXNTY3JvbGxCYWNrZ3JvdW5kKHRhcmdldCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRIYXNTY3JvbGxCYWNrZ3JvdW5kKHRhcmdldCkge1xuICAgIHRoaXMuaGFzU2Nyb2xsQmFja2dyb3VuZCA9IHRhcmdldCA/IChcbiAgICAgIHRhcmdldC5zY3JvbGxIZWlnaHQgPiAodGFyZ2V0LnNjcm9sbFRvcCArIHRhcmdldC5jbGllbnRIZWlnaHQpXG4gICAgKSA6IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuQXV0b0NvbXBsZXRlQ2hhbmdlcygpIHtcbiAgICB0aGlzLm9uZSgnYXctaG9tZS1hdXRvY29tcGxldGUnKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIGtleXM6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2NvbmZpZy1rZXlzJyksXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIGxhYmVsczogdGhpcy5jb25maWd1cmF0aW9uLmdldCgnbGFiZWxzJyksXG4gICAgICBwYXRoczogdGhpcy5jb25maWd1cmF0aW9uLmdldCgncGF0aHMnKSxcbiAgICB9KTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUNoYW5nZWQkLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5jb21tdW5pY2F0aW9uLnJlcXVlc3QkKCdhdXRvQ29tcGxldGUnLCB7XG4gICAgICAgIG9uRXJyb3I6IChlcnJvcikgPT4gY29uc29sZS5lcnJvcihlcnJvciksXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGlucHV0OiB2YWx1ZSxcbiAgICAgICAgICBpdGVtc1BhZ2luYXRpb246IHsgb2Zmc2V0OiAwLCBsaW1pdDogdGhpcy5jb25maWd1cmF0aW9uLmdldCgnaG9tZS1sYXlvdXQnKVsncmVzdWx0cy1saW1pdCddIH0sXG4gICAgICAgIH0sXG4gICAgICB9KS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuaG9tZUF1dG9jb21wbGV0ZUlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uZSgnYXctaG9tZS1hdXRvY29tcGxldGUnKS51cGRhdGUoe1xuICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgIHF1ZXJ5OiB2YWx1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZUF1dG9jb21wbGV0ZVBvcG92ZXIoKSB7XG4gICAgaWYgKCF0aGlzLmF1dG9jb21wbGV0ZVBvcG92ZXIpIHtcbiAgICAgIGNvbnN0IHRlbXBsYXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2F3LWhvbWUtYWR2YW5jZWQtYXV0b2NvbXBsZXRlLXBvcG92ZXInKTtcbiAgICAgIHRlbXBsYXRlLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgY29uc3QgW3BvcE92ZXJdID0gdGhpcy50aXBweSgnLmF3LWhvbWVfX3RvcC1oZXJvIC5uNy1oZXJvX19pbnB1dCcsIHtcbiAgICAgICAgY29udGVudDogdGVtcGxhdGUsXG4gICAgICAgIHRyaWdnZXI6ICdtYW51YWwnLFxuICAgICAgICBpbnRlcmFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgYXJyb3c6IGZhbHNlLFxuICAgICAgICBmbGlwOiBmYWxzZSxcbiAgICAgICAgYXBwZW5kVG86ICdwYXJlbnQnLFxuICAgICAgICB0aGVtZTogJ2xpZ2h0LWJvcmRlcicsXG4gICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG4gICAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICAgIG9uSGlkZGVuOiAoKSA9PiB7IHRoaXMuYXV0b2NvbXBsZXRlUG9wb3Zlck9wZW4gPSBmYWxzZTsgfSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVQb3BvdmVyID0gcG9wT3ZlcjtcbiAgICB9XG4gICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlUG9wb3Zlck9wZW4pIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUG9wb3Zlci5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUG9wb3Zlci5zaG93KCk7XG4gICAgfVxuICAgIHRoaXMuYXV0b2NvbXBsZXRlUG9wb3Zlck9wZW4gPSAhdGhpcy5hdXRvY29tcGxldGVQb3BvdmVyT3BlbjtcbiAgfVxufVxuIl19
@@ -5,11 +5,11 @@ import { AwHomeLayoutConfig as config } from './home-layout.config';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@net7/boilerplate-common";
7
7
  import * as i2 from "@angular/router";
8
- import * as i3 from "@net7/components";
9
- import * as i4 from "../../components/bubble-chart-wrapper/bubble-chart-wrapper";
10
- import * as i5 from "../../components/chart-tippy/chart-tippy";
11
- import * as i6 from "../../components/smart-breadcrumbs/smart-breadcrumbs";
12
- import * as i7 from "@angular/common";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@net7/components";
10
+ import * as i5 from "../../components/bubble-chart-wrapper/bubble-chart-wrapper";
11
+ import * as i6 from "../../components/chart-tippy/chart-tippy";
12
+ import * as i7 from "../../components/smart-breadcrumbs/smart-breadcrumbs";
13
13
  export class AwHomeLayoutComponent extends AbstractLayout {
14
14
  constructor(layoutsConfiguration, router, configuration, communication, mainState) {
15
15
  super(layoutsConfiguration.get('AwHomeLayoutConfig') || config);
@@ -35,10 +35,10 @@ export class AwHomeLayoutComponent extends AbstractLayout {
35
35
  this.onDestroy();
36
36
  }
37
37
  }
38
- AwHomeLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AwHomeLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.Router }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }], target: i0.ɵɵFactoryTarget.Component });
39
- AwHomeLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AwHomeLayoutComponent, selector: "aw-home-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"aw-home\" *ngIf=\"lb.dataSource\">\n <!-- Carousel -->\n <div class=\"aw-home__carousel\" *ngIf=\"lb.dataSource.carouselEnabled\">\n <n7-carousel [data]=\"lb.widgets['aw-carousel'].ds.out$ | async\">\n </n7-carousel>\n </div>\n\n <!-- Hero section at the top of the page -->\n <div class=\"aw-home__top-hero\">\n <n7-hero [data]=\"lb.widgets['aw-hero'].ds.out$ | async\" [emit]=\"lb.widgets['aw-hero'].emit\">\n </n7-hero>\n </div>\n\n <!-- Bubble chart -->\n <div class=\"aw-home__bubble-wrapper n7-side-auto-padding\"\n [ngClass]=\"{ 'has-results' : lb.dataSource.selectedBubbles.length > 0 }\" *ngIf=\"lb.dataSource.bubblesEnabled\">\n <div class=\"aw-home__facets-wrapper-loading\" *ngIf=\"!(lb.widgets['aw-home-facets-wrapper'].ds.out$ | async)\">\n <n7-content-placeholder *ngFor=\"let i of [0,1,2,3]\" [data]=\"{\n blocks: [{\n classes: 'facet-placeholder-header'\n }, {\n classes: 'facet-placeholder-input'\n }] \n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-home__facets-wrapper\" *ngIf=\"!!(lb.widgets['aw-home-facets-wrapper'].ds.out$ | async)\">\n <span class=\"aw-home__facet\"\n *ngFor=\"let widgetData of lb.widgets['aw-home-facets-wrapper'].ds.out$ | async;\">\n <n7-facet-header [data]=\"widgetData.header\" [emit]=\"lb.widgets['aw-home-facets-wrapper'].emit\">\n </n7-facet-header>\n <n7-facet [data]=\"widgetData.input\" [emit]=\"lb.widgets['aw-home-facets-wrapper'].emit\">\n </n7-facet>\n </span>\n </div>\n\n <div class=\"aw-home__bubble-chart-wrapper-loading\" *ngIf=\"!(lb.widgets['aw-bubble-chart'].ds.out$ | async)\">\n <n7-content-placeholder [data]=\"{\n blocks: [\n {\n classes: 'facet-placeholder-item-1'\n }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-home__bubble-chart-wrapper\" *ngIf=\"!!(lb.widgets['aw-bubble-chart'].ds.out$ | async)\"\n [style.overflow]=\"lb.dataSource.loadingBubbles ? 'visible' : 'hidden'\">\n <aw-bubble-chart-wrapper>\n <aw-chart-tippy \n [data]=\"lb.widgets['aw-chart-tippy'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-chart-tippy'].emit\">\n </aw-chart-tippy>\n <n7-bubble-chart [data]=\"lb.widgets['aw-bubble-chart'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-bubble-chart'].emit\">\n </n7-bubble-chart>\n </aw-bubble-chart-wrapper>\n </div>\n\n <!-- Linked objects -->\n <ng-container *ngIf=\"(lb.widgets['aw-bubble-chart'].ds.out$ | async)?.selected.length > 0;\">\n <div class=\"aw-home__bubble-results\" id=\"home-bubble-results\">\n <div *ngIf=\"lb.dataSource.numOfItemsStr\" class=\"aw-home__bubble-results-title-wrapper\">\n <h1 class=\"aw-home__bubble-results-title\"><strong class=\"aw-home__bubble-results-title-counter\">\n {{ lb.dataSource.numOfItemsStr }}</strong> <span> Risultati</span>\n </h1>\n </div>\n <div class=\"aw-home__bubble-tags-wrapper\">\n <h3 class=\"aw-home__bubble-tags-title\">Collegati a </h3>\n <ng-container *ngFor=\"let widgetData of lb.widgets['aw-home-item-tags-wrapper'].ds.out$ | async;\">\n <n7-tag [data]=\"widgetData\" [emit]=\"lb.widgets['aw-home-item-tags-wrapper'].emit\">\n </n7-tag>\n <br>\n </ng-container>\n </div>\n <div class=\"aw-home__bubble-results-list-wrapper\">\n <div class=\"aw-home__bubble-results-list-loading\" *ngIf=\"lb.dataSource.resultsListIsLoading\">\n <n7-content-placeholder \n *ngFor=\"let i of [1, 2, 3, 4, 5]\"\n [data]=\"{\n blocks: [{\n classes: 'search-result-placeholder-title'\n }, {\n classes: 'search-result-placeholder-metadata'\n }]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsListIsLoading\" class=\"aw-home__bubble-results-list\"\n [attr.id]=\"'bubble-results-list'\" (scroll)=\"lb.eventHandler.emitOuter('scroll', $event.target)\">\n\n <div class=\"aw-home__bubble-results-fallback\"\n *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.result.length < 1;\">\n <p class=\"aw-home__bubble-results-fallback-text\">\n {{ (lb.widgets['aw-linked-objects'].ds.out$ | async)?.fallback }}\n </p>\n <button class=\"n7-btn aw-home__bubble-results-reset\"\n (click)=\"lb.eventHandler.emitInner('clearselection')\">\n Resetta la ricerca\n </button>\n </div>\n\n <div class=\"aw-item-preview-list\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.result\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n \n <!-- <ng-container\n *ngFor=\"let widgetData of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.result;\">\n <n7-item-preview [data]=\"widgetData\" [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </ng-container> -->\n\n <ng-container *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.isLoading\">\n <div class=\"aw-home__bubble-results-list-loader\">\n <n7-loader [data]=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.loaderData\">\n </n7-loader>\n </div>\n </ng-container>\n </div>\n <div [ngClass]=\"{ 'is-visible' : lb.dataSource.hasScrollBackground }\"\n class=\"aw-home__bubble-results-list-wrapper-with-scroll\"></div>\n </div>\n <!-- aw-linked-objects__actions -->\n <ng-container\n *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.result.length > 0 && !lb.dataSource.resultsListIsLoading\">\n <div *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.actions as action\"\n class=\"aw-home__bubble-results-list-actions\">\n <button (click)=\"lb.eventHandler.emitInner('bubbleresultsviewallclick')\"\n class=\"n7-btn n7-btn-light n7-btn-l aw-home__bubble-results-list-view-all\">\n {{action[0].label}}\n </button>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n\n <!-- Outer links -->\n <div *ngIf=\"lb.dataSource.outerLinks && lb.dataSource.outerLinks.length > 0\" class=\"aw-home__outer-links\">\n <section class=\"aw-home__outer-links-wrapper n7-side-auto-padding\">\n <h2 class=\"aw-home__outer-links-title\" *ngIf=\"lb.dataSource.outerLinksTitle\">\n {{ lb.dataSource.outerLinksTitle }}\n </h2>\n <p class=\"aw-home__outer-links-description\" *ngIf=\"lb.dataSource.outerLinksDescription\">\n {{ lb.dataSource.outerLinksDescription }}\n </p>\n <div class=\"aw-home__outer-links-items\">\n <!-- Item preview -->\n <n7-item-preview *ngFor=\"let outerLink of lb.dataSource.outerLinks\" [data]=\"outerLink\"\n [emit]=\"lb.eventHandler.outerLinkClick.bind(lb.eventHandler)\">\n </n7-item-preview>\n <!-- END // Item preview -->\n </div>\n </section>\n </div>\n <!-- END // Outer links -->\n\n <!-- Hero section at the bottom of the page -->\n <div class=\"aw-home__bottom-hero\">\n <n7-hero [data]=\"lb.widgets['aw-home-hero-patrimonio'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-home-hero-patrimonio'].emit\">\n </n7-hero>\n </div>\n\n <!-- Adavanced autocomplete popover -->\n <div class=\"aw-home__advanced-autocomplete\" id=\"aw-home-advanced-autocomplete-popover\" style=\"display: none;\">\n <div class=\"aw-home__advanced-autocomplete-loader\" *ngIf=\"lb.dataSource.homeAutocompleteIsLoading\">\n <n7-loader [data]=\"{}\"></n7-loader>\n </div>\n <n7-advanced-autocomplete *ngIf=\"!lb.dataSource.homeAutocompleteIsLoading\"\n [data]=\"lb.widgets['aw-home-autocomplete'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-home-autocomplete'].emit\">\n </n7-advanced-autocomplete>\n </div>\n\n <!-- Simple autocomplete popover. DO NOT CHANGE parent div class! -->\n <!-- Creating one template for each facet -->\n <div *ngFor=\"let widgetData of lb.widgets['aw-home-facets-wrapper'].ds.out$ | async;\"\n class=\"aw-home__simple-autocomplete aw-simple-autocomplete__template\" style=\"display: none;\">\n <div class=\"aw-home__simple-autocomplete-content aw-simple-autocomplete__tippy-wrapper\">\n <div class=\"aw-home__simple-autocomplete-loader aw-simple-autocomplete__tippy-wrapper-loader\"\n *ngIf=\"(lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async)?.loading\">\n <n7-loader [data]=\"{}\"></n7-loader>\n </div>\n <n7-simple-autocomplete *ngIf=\"!(lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async)?.loading\"\n [data]=\"lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-autocomplete-wrapper'].emit\">\n </n7-simple-autocomplete>\n </div>\n </div>\n</div>\n", components: [{ type: i3.CarouselComponent, selector: "n7-carousel", inputs: ["data", "emit"] }, { type: i3.HeroComponent, selector: "n7-hero", inputs: ["data", "emit"] }, { type: i3.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { type: i3.FacetHeaderComponent, selector: "n7-facet-header", inputs: ["data", "emit"] }, { type: i3.FacetComponent, selector: "n7-facet", inputs: ["data", "emit"] }, { type: i4.BubbleChartWrapperComponent, selector: "aw-bubble-chart-wrapper", inputs: ["emit", "container", "buttons"] }, { type: i5.ChartTippyComponent, selector: "aw-chart-tippy", inputs: ["data", "emit", "anchorData"] }, { type: i3.BubbleChartComponent, selector: "n7-bubble-chart", inputs: ["data", "emit"] }, { type: i3.TagComponent, selector: "n7-tag", inputs: ["data", "emit"] }, { type: i6.SmartBreadcrumbsComponent, selector: "n7-smart-breadcrumbs", inputs: ["data", "emit"] }, { type: i3.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { type: i3.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { type: i3.AdvancedAutocompleteComponent, selector: "n7-advanced-autocomplete", inputs: ["data", "emit"] }, { type: i3.SimpleAutocompleteComponent, selector: "n7-simple-autocomplete", inputs: ["data", "emit"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i7.AsyncPipe } });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AwHomeLayoutComponent, decorators: [{
38
+ AwHomeLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AwHomeLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.Router }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }], target: i0.ɵɵFactoryTarget.Component });
39
+ AwHomeLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AwHomeLayoutComponent, selector: "aw-home-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"aw-home\" *ngIf=\"lb.dataSource\">\n <!-- Carousel -->\n <div class=\"aw-home__carousel\" *ngIf=\"lb.dataSource.carouselEnabled\">\n <n7-carousel [data]=\"lb.widgets['aw-carousel'].ds.out$ | async\">\n </n7-carousel>\n </div>\n\n <!-- Hero section at the top of the page -->\n <div class=\"aw-home__top-hero\">\n <n7-hero [data]=\"lb.widgets['aw-hero'].ds.out$ | async\" [emit]=\"lb.widgets['aw-hero'].emit\">\n </n7-hero>\n </div>\n\n <!-- Bubble chart -->\n <div class=\"aw-home__bubble-wrapper n7-side-auto-padding\"\n [ngClass]=\"{ 'has-results' : lb.dataSource.selectedBubbles.length > 0 }\" *ngIf=\"lb.dataSource.bubblesEnabled\">\n <div class=\"aw-home__facets-wrapper-loading\" *ngIf=\"!(lb.widgets['aw-home-facets-wrapper'].ds.out$ | async)\">\n <n7-content-placeholder *ngFor=\"let i of [0,1,2,3]\" [data]=\"{\n blocks: [{\n classes: 'facet-placeholder-header'\n }, {\n classes: 'facet-placeholder-input'\n }] \n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-home__facets-wrapper\" *ngIf=\"!!(lb.widgets['aw-home-facets-wrapper'].ds.out$ | async)\">\n <span class=\"aw-home__facet\"\n *ngFor=\"let widgetData of lb.widgets['aw-home-facets-wrapper'].ds.out$ | async;\">\n <n7-facet-header [data]=\"widgetData.header\" [emit]=\"lb.widgets['aw-home-facets-wrapper'].emit\">\n </n7-facet-header>\n <a *ngIf=\"widgetData.link as link\" class=\"aw-home__facet-link n7-btn\"\n [routerLink]=\"[link.path]\" [queryParams]=\"link.queryParams\">\n <span class=\"n7-icon n7-icon-list\"></span>\n <span class=\"aw-home__facet-link-label\">{{ link.label }}</span>\n </a>\n <n7-facet [data]=\"widgetData.input\" [emit]=\"lb.widgets['aw-home-facets-wrapper'].emit\">\n </n7-facet>\n </span>\n </div>\n\n <div class=\"aw-home__bubble-chart-wrapper-loading\" *ngIf=\"!(lb.widgets['aw-bubble-chart'].ds.out$ | async)\">\n <n7-content-placeholder [data]=\"{\n blocks: [\n {\n classes: 'facet-placeholder-item-1'\n }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-home__bubble-chart-wrapper\" *ngIf=\"!!(lb.widgets['aw-bubble-chart'].ds.out$ | async)\"\n [style.overflow]=\"lb.dataSource.loadingBubbles ? 'visible' : 'hidden'\">\n <aw-bubble-chart-wrapper>\n <aw-chart-tippy \n [data]=\"lb.widgets['aw-chart-tippy'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-chart-tippy'].emit\">\n </aw-chart-tippy>\n <n7-bubble-chart [data]=\"lb.widgets['aw-bubble-chart'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-bubble-chart'].emit\">\n </n7-bubble-chart>\n </aw-bubble-chart-wrapper>\n </div>\n\n <!-- Linked objects -->\n <ng-container *ngIf=\"(lb.widgets['aw-bubble-chart'].ds.out$ | async)?.selected.length > 0;\">\n <div class=\"aw-home__bubble-results\" id=\"home-bubble-results\">\n <div *ngIf=\"lb.dataSource.numOfItemsStr\" class=\"aw-home__bubble-results-title-wrapper\">\n <h1 class=\"aw-home__bubble-results-title\"><strong class=\"aw-home__bubble-results-title-counter\">\n {{ lb.dataSource.numOfItemsStr }}</strong> <span> Risultati</span>\n </h1>\n </div>\n <div class=\"aw-home__bubble-tags-wrapper\">\n <h3 class=\"aw-home__bubble-tags-title\">Collegati a </h3>\n <ng-container *ngFor=\"let widgetData of lb.widgets['aw-home-item-tags-wrapper'].ds.out$ | async;\">\n <n7-tag [data]=\"widgetData\" [emit]=\"lb.widgets['aw-home-item-tags-wrapper'].emit\">\n </n7-tag>\n <br>\n </ng-container>\n </div>\n <div class=\"aw-home__bubble-results-list-wrapper\">\n <div class=\"aw-home__bubble-results-list-loading\" *ngIf=\"lb.dataSource.resultsListIsLoading\">\n <n7-content-placeholder \n *ngFor=\"let i of [1, 2, 3, 4, 5]\"\n [data]=\"{\n blocks: [{\n classes: 'search-result-placeholder-title'\n }, {\n classes: 'search-result-placeholder-metadata'\n }]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsListIsLoading\" class=\"aw-home__bubble-results-list\"\n [attr.id]=\"'bubble-results-list'\" (scroll)=\"lb.eventHandler.emitOuter('scroll', $event.target)\">\n\n <div class=\"aw-home__bubble-results-fallback\"\n *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.result.length < 1;\">\n <p class=\"aw-home__bubble-results-fallback-text\">\n {{ (lb.widgets['aw-linked-objects'].ds.out$ | async)?.fallback }}\n </p>\n <button class=\"n7-btn aw-home__bubble-results-reset\"\n (click)=\"lb.eventHandler.emitInner('clearselection')\">\n Resetta la ricerca\n </button>\n </div>\n\n <div class=\"aw-item-preview-list\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.result\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n \n <!-- <ng-container\n *ngFor=\"let widgetData of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.result;\">\n <n7-item-preview [data]=\"widgetData\" [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </ng-container> -->\n\n <ng-container *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.isLoading\">\n <div class=\"aw-home__bubble-results-list-loader\">\n <n7-loader [data]=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.loaderData\">\n </n7-loader>\n </div>\n </ng-container>\n </div>\n <div [ngClass]=\"{ 'is-visible' : lb.dataSource.hasScrollBackground }\"\n class=\"aw-home__bubble-results-list-wrapper-with-scroll\"></div>\n </div>\n <!-- aw-linked-objects__actions -->\n <ng-container\n *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.result.length > 0 && !lb.dataSource.resultsListIsLoading\">\n <div *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.actions as action\"\n class=\"aw-home__bubble-results-list-actions\">\n <button (click)=\"lb.eventHandler.emitInner('bubbleresultsviewallclick')\"\n class=\"n7-btn n7-btn-light n7-btn-l aw-home__bubble-results-list-view-all\">\n {{action[0].label}}\n </button>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n\n <!-- Outer links -->\n <div *ngIf=\"lb.dataSource.outerLinks && lb.dataSource.outerLinks.length > 0\" class=\"aw-home__outer-links\">\n <section class=\"aw-home__outer-links-wrapper n7-side-auto-padding\">\n <h2 class=\"aw-home__outer-links-title\" *ngIf=\"lb.dataSource.outerLinksTitle\">\n {{ lb.dataSource.outerLinksTitle }}\n </h2>\n <p class=\"aw-home__outer-links-description\" *ngIf=\"lb.dataSource.outerLinksDescription\">\n {{ lb.dataSource.outerLinksDescription }}\n </p>\n <div class=\"aw-home__outer-links-items\">\n <!-- Item preview -->\n <n7-item-preview *ngFor=\"let outerLink of lb.dataSource.outerLinks\" [data]=\"outerLink\"\n [emit]=\"lb.eventHandler.outerLinkClick.bind(lb.eventHandler)\">\n </n7-item-preview>\n <!-- END // Item preview -->\n </div>\n </section>\n </div>\n <!-- END // Outer links -->\n\n <!-- Hero section at the bottom of the page -->\n <div class=\"aw-home__bottom-hero\">\n <n7-hero [data]=\"lb.widgets['aw-home-hero-patrimonio'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-home-hero-patrimonio'].emit\">\n </n7-hero>\n </div>\n\n <!-- Adavanced autocomplete popover -->\n <div class=\"aw-home__advanced-autocomplete\" id=\"aw-home-advanced-autocomplete-popover\" style=\"display: none;\">\n <div class=\"aw-home__advanced-autocomplete-loader\" *ngIf=\"lb.dataSource.homeAutocompleteIsLoading\">\n <n7-loader [data]=\"{}\"></n7-loader>\n </div>\n <n7-advanced-autocomplete *ngIf=\"!lb.dataSource.homeAutocompleteIsLoading\"\n [data]=\"lb.widgets['aw-home-autocomplete'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-home-autocomplete'].emit\">\n </n7-advanced-autocomplete>\n </div>\n\n <!-- Simple autocomplete popover. DO NOT CHANGE parent div class! -->\n <!-- Creating one template for each facet -->\n <div *ngFor=\"let widgetData of lb.widgets['aw-home-facets-wrapper'].ds.out$ | async;\"\n class=\"aw-home__simple-autocomplete aw-simple-autocomplete__template\" style=\"display: none;\">\n <div class=\"aw-home__simple-autocomplete-content aw-simple-autocomplete__tippy-wrapper\">\n <div class=\"aw-home__simple-autocomplete-loader aw-simple-autocomplete__tippy-wrapper-loader\"\n *ngIf=\"(lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async)?.loading\">\n <n7-loader [data]=\"{}\"></n7-loader>\n </div>\n <n7-simple-autocomplete *ngIf=\"!(lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async)?.loading\"\n [data]=\"lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-autocomplete-wrapper'].emit\">\n </n7-simple-autocomplete>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.AdvancedAutocompleteComponent, selector: "n7-advanced-autocomplete", inputs: ["data", "emit"] }, { kind: "component", type: i4.BubbleChartComponent, selector: "n7-bubble-chart", inputs: ["data", "emit"] }, { kind: "component", type: i4.CarouselComponent, selector: "n7-carousel", inputs: ["data", "emit"] }, { kind: "component", type: i4.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { kind: "component", type: i4.FacetComponent, selector: "n7-facet", inputs: ["data", "emit"] }, { kind: "component", type: i4.FacetHeaderComponent, selector: "n7-facet-header", inputs: ["data", "emit"] }, { kind: "component", type: i4.HeroComponent, selector: "n7-hero", inputs: ["data", "emit"] }, { kind: "component", type: i4.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i4.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i4.SimpleAutocompleteComponent, selector: "n7-simple-autocomplete", inputs: ["data", "emit"] }, { kind: "component", type: i4.TagComponent, selector: "n7-tag", inputs: ["data", "emit"] }, { kind: "component", type: i5.BubbleChartWrapperComponent, selector: "aw-bubble-chart-wrapper", inputs: ["emit", "container", "buttons"] }, { kind: "component", type: i6.ChartTippyComponent, selector: "aw-chart-tippy", inputs: ["data", "emit", "anchorData"] }, { kind: "component", type: i7.SmartBreadcrumbsComponent, selector: "n7-smart-breadcrumbs", inputs: ["data", "emit"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AwHomeLayoutComponent, decorators: [{
41
41
  type: Component,
42
- args: [{ selector: 'aw-home-layout', template: "<div class=\"aw-home\" *ngIf=\"lb.dataSource\">\n <!-- Carousel -->\n <div class=\"aw-home__carousel\" *ngIf=\"lb.dataSource.carouselEnabled\">\n <n7-carousel [data]=\"lb.widgets['aw-carousel'].ds.out$ | async\">\n </n7-carousel>\n </div>\n\n <!-- Hero section at the top of the page -->\n <div class=\"aw-home__top-hero\">\n <n7-hero [data]=\"lb.widgets['aw-hero'].ds.out$ | async\" [emit]=\"lb.widgets['aw-hero'].emit\">\n </n7-hero>\n </div>\n\n <!-- Bubble chart -->\n <div class=\"aw-home__bubble-wrapper n7-side-auto-padding\"\n [ngClass]=\"{ 'has-results' : lb.dataSource.selectedBubbles.length > 0 }\" *ngIf=\"lb.dataSource.bubblesEnabled\">\n <div class=\"aw-home__facets-wrapper-loading\" *ngIf=\"!(lb.widgets['aw-home-facets-wrapper'].ds.out$ | async)\">\n <n7-content-placeholder *ngFor=\"let i of [0,1,2,3]\" [data]=\"{\n blocks: [{\n classes: 'facet-placeholder-header'\n }, {\n classes: 'facet-placeholder-input'\n }] \n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-home__facets-wrapper\" *ngIf=\"!!(lb.widgets['aw-home-facets-wrapper'].ds.out$ | async)\">\n <span class=\"aw-home__facet\"\n *ngFor=\"let widgetData of lb.widgets['aw-home-facets-wrapper'].ds.out$ | async;\">\n <n7-facet-header [data]=\"widgetData.header\" [emit]=\"lb.widgets['aw-home-facets-wrapper'].emit\">\n </n7-facet-header>\n <n7-facet [data]=\"widgetData.input\" [emit]=\"lb.widgets['aw-home-facets-wrapper'].emit\">\n </n7-facet>\n </span>\n </div>\n\n <div class=\"aw-home__bubble-chart-wrapper-loading\" *ngIf=\"!(lb.widgets['aw-bubble-chart'].ds.out$ | async)\">\n <n7-content-placeholder [data]=\"{\n blocks: [\n {\n classes: 'facet-placeholder-item-1'\n }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-home__bubble-chart-wrapper\" *ngIf=\"!!(lb.widgets['aw-bubble-chart'].ds.out$ | async)\"\n [style.overflow]=\"lb.dataSource.loadingBubbles ? 'visible' : 'hidden'\">\n <aw-bubble-chart-wrapper>\n <aw-chart-tippy \n [data]=\"lb.widgets['aw-chart-tippy'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-chart-tippy'].emit\">\n </aw-chart-tippy>\n <n7-bubble-chart [data]=\"lb.widgets['aw-bubble-chart'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-bubble-chart'].emit\">\n </n7-bubble-chart>\n </aw-bubble-chart-wrapper>\n </div>\n\n <!-- Linked objects -->\n <ng-container *ngIf=\"(lb.widgets['aw-bubble-chart'].ds.out$ | async)?.selected.length > 0;\">\n <div class=\"aw-home__bubble-results\" id=\"home-bubble-results\">\n <div *ngIf=\"lb.dataSource.numOfItemsStr\" class=\"aw-home__bubble-results-title-wrapper\">\n <h1 class=\"aw-home__bubble-results-title\"><strong class=\"aw-home__bubble-results-title-counter\">\n {{ lb.dataSource.numOfItemsStr }}</strong> <span> Risultati</span>\n </h1>\n </div>\n <div class=\"aw-home__bubble-tags-wrapper\">\n <h3 class=\"aw-home__bubble-tags-title\">Collegati a </h3>\n <ng-container *ngFor=\"let widgetData of lb.widgets['aw-home-item-tags-wrapper'].ds.out$ | async;\">\n <n7-tag [data]=\"widgetData\" [emit]=\"lb.widgets['aw-home-item-tags-wrapper'].emit\">\n </n7-tag>\n <br>\n </ng-container>\n </div>\n <div class=\"aw-home__bubble-results-list-wrapper\">\n <div class=\"aw-home__bubble-results-list-loading\" *ngIf=\"lb.dataSource.resultsListIsLoading\">\n <n7-content-placeholder \n *ngFor=\"let i of [1, 2, 3, 4, 5]\"\n [data]=\"{\n blocks: [{\n classes: 'search-result-placeholder-title'\n }, {\n classes: 'search-result-placeholder-metadata'\n }]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsListIsLoading\" class=\"aw-home__bubble-results-list\"\n [attr.id]=\"'bubble-results-list'\" (scroll)=\"lb.eventHandler.emitOuter('scroll', $event.target)\">\n\n <div class=\"aw-home__bubble-results-fallback\"\n *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.result.length < 1;\">\n <p class=\"aw-home__bubble-results-fallback-text\">\n {{ (lb.widgets['aw-linked-objects'].ds.out$ | async)?.fallback }}\n </p>\n <button class=\"n7-btn aw-home__bubble-results-reset\"\n (click)=\"lb.eventHandler.emitInner('clearselection')\">\n Resetta la ricerca\n </button>\n </div>\n\n <div class=\"aw-item-preview-list\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.result\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n \n <!-- <ng-container\n *ngFor=\"let widgetData of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.result;\">\n <n7-item-preview [data]=\"widgetData\" [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </ng-container> -->\n\n <ng-container *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.isLoading\">\n <div class=\"aw-home__bubble-results-list-loader\">\n <n7-loader [data]=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.loaderData\">\n </n7-loader>\n </div>\n </ng-container>\n </div>\n <div [ngClass]=\"{ 'is-visible' : lb.dataSource.hasScrollBackground }\"\n class=\"aw-home__bubble-results-list-wrapper-with-scroll\"></div>\n </div>\n <!-- aw-linked-objects__actions -->\n <ng-container\n *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.result.length > 0 && !lb.dataSource.resultsListIsLoading\">\n <div *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.actions as action\"\n class=\"aw-home__bubble-results-list-actions\">\n <button (click)=\"lb.eventHandler.emitInner('bubbleresultsviewallclick')\"\n class=\"n7-btn n7-btn-light n7-btn-l aw-home__bubble-results-list-view-all\">\n {{action[0].label}}\n </button>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n\n <!-- Outer links -->\n <div *ngIf=\"lb.dataSource.outerLinks && lb.dataSource.outerLinks.length > 0\" class=\"aw-home__outer-links\">\n <section class=\"aw-home__outer-links-wrapper n7-side-auto-padding\">\n <h2 class=\"aw-home__outer-links-title\" *ngIf=\"lb.dataSource.outerLinksTitle\">\n {{ lb.dataSource.outerLinksTitle }}\n </h2>\n <p class=\"aw-home__outer-links-description\" *ngIf=\"lb.dataSource.outerLinksDescription\">\n {{ lb.dataSource.outerLinksDescription }}\n </p>\n <div class=\"aw-home__outer-links-items\">\n <!-- Item preview -->\n <n7-item-preview *ngFor=\"let outerLink of lb.dataSource.outerLinks\" [data]=\"outerLink\"\n [emit]=\"lb.eventHandler.outerLinkClick.bind(lb.eventHandler)\">\n </n7-item-preview>\n <!-- END // Item preview -->\n </div>\n </section>\n </div>\n <!-- END // Outer links -->\n\n <!-- Hero section at the bottom of the page -->\n <div class=\"aw-home__bottom-hero\">\n <n7-hero [data]=\"lb.widgets['aw-home-hero-patrimonio'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-home-hero-patrimonio'].emit\">\n </n7-hero>\n </div>\n\n <!-- Adavanced autocomplete popover -->\n <div class=\"aw-home__advanced-autocomplete\" id=\"aw-home-advanced-autocomplete-popover\" style=\"display: none;\">\n <div class=\"aw-home__advanced-autocomplete-loader\" *ngIf=\"lb.dataSource.homeAutocompleteIsLoading\">\n <n7-loader [data]=\"{}\"></n7-loader>\n </div>\n <n7-advanced-autocomplete *ngIf=\"!lb.dataSource.homeAutocompleteIsLoading\"\n [data]=\"lb.widgets['aw-home-autocomplete'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-home-autocomplete'].emit\">\n </n7-advanced-autocomplete>\n </div>\n\n <!-- Simple autocomplete popover. DO NOT CHANGE parent div class! -->\n <!-- Creating one template for each facet -->\n <div *ngFor=\"let widgetData of lb.widgets['aw-home-facets-wrapper'].ds.out$ | async;\"\n class=\"aw-home__simple-autocomplete aw-simple-autocomplete__template\" style=\"display: none;\">\n <div class=\"aw-home__simple-autocomplete-content aw-simple-autocomplete__tippy-wrapper\">\n <div class=\"aw-home__simple-autocomplete-loader aw-simple-autocomplete__tippy-wrapper-loader\"\n *ngIf=\"(lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async)?.loading\">\n <n7-loader [data]=\"{}\"></n7-loader>\n </div>\n <n7-simple-autocomplete *ngIf=\"!(lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async)?.loading\"\n [data]=\"lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-autocomplete-wrapper'].emit\">\n </n7-simple-autocomplete>\n </div>\n </div>\n</div>\n" }]
42
+ args: [{ selector: 'aw-home-layout', template: "<div class=\"aw-home\" *ngIf=\"lb.dataSource\">\n <!-- Carousel -->\n <div class=\"aw-home__carousel\" *ngIf=\"lb.dataSource.carouselEnabled\">\n <n7-carousel [data]=\"lb.widgets['aw-carousel'].ds.out$ | async\">\n </n7-carousel>\n </div>\n\n <!-- Hero section at the top of the page -->\n <div class=\"aw-home__top-hero\">\n <n7-hero [data]=\"lb.widgets['aw-hero'].ds.out$ | async\" [emit]=\"lb.widgets['aw-hero'].emit\">\n </n7-hero>\n </div>\n\n <!-- Bubble chart -->\n <div class=\"aw-home__bubble-wrapper n7-side-auto-padding\"\n [ngClass]=\"{ 'has-results' : lb.dataSource.selectedBubbles.length > 0 }\" *ngIf=\"lb.dataSource.bubblesEnabled\">\n <div class=\"aw-home__facets-wrapper-loading\" *ngIf=\"!(lb.widgets['aw-home-facets-wrapper'].ds.out$ | async)\">\n <n7-content-placeholder *ngFor=\"let i of [0,1,2,3]\" [data]=\"{\n blocks: [{\n classes: 'facet-placeholder-header'\n }, {\n classes: 'facet-placeholder-input'\n }] \n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-home__facets-wrapper\" *ngIf=\"!!(lb.widgets['aw-home-facets-wrapper'].ds.out$ | async)\">\n <span class=\"aw-home__facet\"\n *ngFor=\"let widgetData of lb.widgets['aw-home-facets-wrapper'].ds.out$ | async;\">\n <n7-facet-header [data]=\"widgetData.header\" [emit]=\"lb.widgets['aw-home-facets-wrapper'].emit\">\n </n7-facet-header>\n <a *ngIf=\"widgetData.link as link\" class=\"aw-home__facet-link n7-btn\"\n [routerLink]=\"[link.path]\" [queryParams]=\"link.queryParams\">\n <span class=\"n7-icon n7-icon-list\"></span>\n <span class=\"aw-home__facet-link-label\">{{ link.label }}</span>\n </a>\n <n7-facet [data]=\"widgetData.input\" [emit]=\"lb.widgets['aw-home-facets-wrapper'].emit\">\n </n7-facet>\n </span>\n </div>\n\n <div class=\"aw-home__bubble-chart-wrapper-loading\" *ngIf=\"!(lb.widgets['aw-bubble-chart'].ds.out$ | async)\">\n <n7-content-placeholder [data]=\"{\n blocks: [\n {\n classes: 'facet-placeholder-item-1'\n }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div class=\"aw-home__bubble-chart-wrapper\" *ngIf=\"!!(lb.widgets['aw-bubble-chart'].ds.out$ | async)\"\n [style.overflow]=\"lb.dataSource.loadingBubbles ? 'visible' : 'hidden'\">\n <aw-bubble-chart-wrapper>\n <aw-chart-tippy \n [data]=\"lb.widgets['aw-chart-tippy'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-chart-tippy'].emit\">\n </aw-chart-tippy>\n <n7-bubble-chart [data]=\"lb.widgets['aw-bubble-chart'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-bubble-chart'].emit\">\n </n7-bubble-chart>\n </aw-bubble-chart-wrapper>\n </div>\n\n <!-- Linked objects -->\n <ng-container *ngIf=\"(lb.widgets['aw-bubble-chart'].ds.out$ | async)?.selected.length > 0;\">\n <div class=\"aw-home__bubble-results\" id=\"home-bubble-results\">\n <div *ngIf=\"lb.dataSource.numOfItemsStr\" class=\"aw-home__bubble-results-title-wrapper\">\n <h1 class=\"aw-home__bubble-results-title\"><strong class=\"aw-home__bubble-results-title-counter\">\n {{ lb.dataSource.numOfItemsStr }}</strong> <span> Risultati</span>\n </h1>\n </div>\n <div class=\"aw-home__bubble-tags-wrapper\">\n <h3 class=\"aw-home__bubble-tags-title\">Collegati a </h3>\n <ng-container *ngFor=\"let widgetData of lb.widgets['aw-home-item-tags-wrapper'].ds.out$ | async;\">\n <n7-tag [data]=\"widgetData\" [emit]=\"lb.widgets['aw-home-item-tags-wrapper'].emit\">\n </n7-tag>\n <br>\n </ng-container>\n </div>\n <div class=\"aw-home__bubble-results-list-wrapper\">\n <div class=\"aw-home__bubble-results-list-loading\" *ngIf=\"lb.dataSource.resultsListIsLoading\">\n <n7-content-placeholder \n *ngFor=\"let i of [1, 2, 3, 4, 5]\"\n [data]=\"{\n blocks: [{\n classes: 'search-result-placeholder-title'\n }, {\n classes: 'search-result-placeholder-metadata'\n }]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsListIsLoading\" class=\"aw-home__bubble-results-list\"\n [attr.id]=\"'bubble-results-list'\" (scroll)=\"lb.eventHandler.emitOuter('scroll', $event.target)\">\n\n <div class=\"aw-home__bubble-results-fallback\"\n *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.result.length < 1;\">\n <p class=\"aw-home__bubble-results-fallback-text\">\n {{ (lb.widgets['aw-linked-objects'].ds.out$ | async)?.fallback }}\n </p>\n <button class=\"n7-btn aw-home__bubble-results-reset\"\n (click)=\"lb.eventHandler.emitInner('clearselection')\">\n Resetta la ricerca\n </button>\n </div>\n\n <div class=\"aw-item-preview-list\">\n <ng-container *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.result\">\n <div class=\"aw-item-preview-wrapper\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </ng-container>\n </div>\n \n <!-- <ng-container\n *ngFor=\"let widgetData of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.result;\">\n <n7-item-preview [data]=\"widgetData\" [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </ng-container> -->\n\n <ng-container *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.isLoading\">\n <div class=\"aw-home__bubble-results-list-loader\">\n <n7-loader [data]=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.loaderData\">\n </n7-loader>\n </div>\n </ng-container>\n </div>\n <div [ngClass]=\"{ 'is-visible' : lb.dataSource.hasScrollBackground }\"\n class=\"aw-home__bubble-results-list-wrapper-with-scroll\"></div>\n </div>\n <!-- aw-linked-objects__actions -->\n <ng-container\n *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.result.length > 0 && !lb.dataSource.resultsListIsLoading\">\n <div *ngIf=\"(lb.widgets['aw-linked-objects'].ds.out$ | async)?.actions as action\"\n class=\"aw-home__bubble-results-list-actions\">\n <button (click)=\"lb.eventHandler.emitInner('bubbleresultsviewallclick')\"\n class=\"n7-btn n7-btn-light n7-btn-l aw-home__bubble-results-list-view-all\">\n {{action[0].label}}\n </button>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n\n <!-- Outer links -->\n <div *ngIf=\"lb.dataSource.outerLinks && lb.dataSource.outerLinks.length > 0\" class=\"aw-home__outer-links\">\n <section class=\"aw-home__outer-links-wrapper n7-side-auto-padding\">\n <h2 class=\"aw-home__outer-links-title\" *ngIf=\"lb.dataSource.outerLinksTitle\">\n {{ lb.dataSource.outerLinksTitle }}\n </h2>\n <p class=\"aw-home__outer-links-description\" *ngIf=\"lb.dataSource.outerLinksDescription\">\n {{ lb.dataSource.outerLinksDescription }}\n </p>\n <div class=\"aw-home__outer-links-items\">\n <!-- Item preview -->\n <n7-item-preview *ngFor=\"let outerLink of lb.dataSource.outerLinks\" [data]=\"outerLink\"\n [emit]=\"lb.eventHandler.outerLinkClick.bind(lb.eventHandler)\">\n </n7-item-preview>\n <!-- END // Item preview -->\n </div>\n </section>\n </div>\n <!-- END // Outer links -->\n\n <!-- Hero section at the bottom of the page -->\n <div class=\"aw-home__bottom-hero\">\n <n7-hero [data]=\"lb.widgets['aw-home-hero-patrimonio'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-home-hero-patrimonio'].emit\">\n </n7-hero>\n </div>\n\n <!-- Adavanced autocomplete popover -->\n <div class=\"aw-home__advanced-autocomplete\" id=\"aw-home-advanced-autocomplete-popover\" style=\"display: none;\">\n <div class=\"aw-home__advanced-autocomplete-loader\" *ngIf=\"lb.dataSource.homeAutocompleteIsLoading\">\n <n7-loader [data]=\"{}\"></n7-loader>\n </div>\n <n7-advanced-autocomplete *ngIf=\"!lb.dataSource.homeAutocompleteIsLoading\"\n [data]=\"lb.widgets['aw-home-autocomplete'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-home-autocomplete'].emit\">\n </n7-advanced-autocomplete>\n </div>\n\n <!-- Simple autocomplete popover. DO NOT CHANGE parent div class! -->\n <!-- Creating one template for each facet -->\n <div *ngFor=\"let widgetData of lb.widgets['aw-home-facets-wrapper'].ds.out$ | async;\"\n class=\"aw-home__simple-autocomplete aw-simple-autocomplete__template\" style=\"display: none;\">\n <div class=\"aw-home__simple-autocomplete-content aw-simple-autocomplete__tippy-wrapper\">\n <div class=\"aw-home__simple-autocomplete-loader aw-simple-autocomplete__tippy-wrapper-loader\"\n *ngIf=\"(lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async)?.loading\">\n <n7-loader [data]=\"{}\"></n7-loader>\n </div>\n <n7-simple-autocomplete *ngIf=\"!(lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async)?.loading\"\n [data]=\"lb.widgets['aw-autocomplete-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['aw-autocomplete-wrapper'].emit\">\n </n7-simple-autocomplete>\n </div>\n </div>\n</div>\n" }]
43
43
  }], ctorParameters: function () { return [{ type: i1.LayoutsConfigurationService }, { type: i2.Router }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9ob21lLWxheW91dC9ob21lLWxheW91dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9sYXlvdXRzL2hvbWUtbGF5b3V0L2hvbWUtbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxLQUFLLE1BQU0sVUFBVSxDQUFDO0FBQzdCLE9BQU8sRUFDTCxjQUFjLEVBS2YsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLElBQUksTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQU1wRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsY0FBYztJQUN2RCxZQUNFLG9CQUFpRCxFQUN6QyxNQUFjLEVBQ2QsYUFBbUMsRUFDbkMsYUFBbUMsRUFDbkMsU0FBMkI7UUFFbkMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBTHhELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBR3JDLENBQUM7SUFFUyxXQUFXO1FBQ25CLE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7WUFDbEMsS0FBSztTQUNOLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOztrSEE1QlUscUJBQXFCO3NHQUFyQixxQkFBcUIsNkVDaEJsQyxtOFZBb01BOzJGRHBMYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdExheW91dCxcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgTWFpblN0YXRlU2VydmljZSxcbiAgQ29tbXVuaWNhdGlvblNlcnZpY2Vcbn0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbmltcG9ydCB7IEF3SG9tZUxheW91dENvbmZpZyBhcyBjb25maWcgfSBmcm9tICcuL2hvbWUtbGF5b3V0LmNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F3LWhvbWUtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hvbWUtbGF5b3V0Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBd0hvbWVMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdExheW91dCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgbGF5b3V0c0NvbmZpZ3VyYXRpb246IExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG1haW5TdGF0ZTogTWFpblN0YXRlU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIobGF5b3V0c0NvbmZpZ3VyYXRpb24uZ2V0KCdBd0hvbWVMYXlvdXRDb25maWcnKSB8fCBjb25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRQYXlsb2FkKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBtYWluU3RhdGU6IHRoaXMubWFpblN0YXRlLFxuICAgICAgcm91dGVyOiB0aGlzLnJvdXRlcixcbiAgICAgIGNvbW11bmljYXRpb246IHRoaXMuY29tbXVuaWNhdGlvbixcbiAgICAgIG9wdGlvbnM6IHRoaXMuY29uZmlnLm9wdGlvbnMgfHwge30sXG4gICAgICB0aXBweSxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vbkluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhdy1ob21lXCIgKm5nSWY9XCJsYi5kYXRhU291cmNlXCI+XG4gICAgPCEtLSBDYXJvdXNlbCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fY2Fyb3VzZWxcIiAqbmdJZj1cImxiLmRhdGFTb3VyY2UuY2Fyb3VzZWxFbmFibGVkXCI+XG4gICAgICAgIDxuNy1jYXJvdXNlbCBbZGF0YV09XCJsYi53aWRnZXRzWydhdy1jYXJvdXNlbCddLmRzLm91dCQgfCBhc3luY1wiPlxuICAgICAgICA8L243LWNhcm91c2VsPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBIZXJvIHNlY3Rpb24gYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fdG9wLWhlcm9cIj5cbiAgICAgICAgPG43LWhlcm8gW2RhdGFdPVwibGIud2lkZ2V0c1snYXctaGVybyddLmRzLm91dCQgfCBhc3luY1wiIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWhlcm8nXS5lbWl0XCI+XG4gICAgICAgIDwvbjctaGVybz5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQnViYmxlIGNoYXJ0IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtd3JhcHBlciBuNy1zaWRlLWF1dG8tcGFkZGluZ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1yZXN1bHRzJyA6IGxiLmRhdGFTb3VyY2Uuc2VsZWN0ZWRCdWJibGVzLmxlbmd0aCA+IDAgfVwiICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5idWJibGVzRW5hYmxlZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fZmFjZXRzLXdyYXBwZXItbG9hZGluZ1wiICpuZ0lmPVwiIShsYi53aWRnZXRzWydhdy1ob21lLWZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKVwiPlxuICAgICAgICAgICAgPG43LWNvbnRlbnQtcGxhY2Vob2xkZXIgKm5nRm9yPVwibGV0IGkgb2YgWzAsMSwyLDNdXCIgW2RhdGFdPVwie1xuICAgICAgICAgICAgICAgIGJsb2NrczogW3tcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ2ZhY2V0LXBsYWNlaG9sZGVyLWhlYWRlcidcbiAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdmYWNldC1wbGFjZWhvbGRlci1pbnB1dCdcbiAgICAgICAgICAgICAgICB9XSBcbiAgICAgICAgICAgIH1cIj48L243LWNvbnRlbnQtcGxhY2Vob2xkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fZmFjZXRzLXdyYXBwZXJcIiAqbmdJZj1cIiEhKGxiLndpZGdldHNbJ2F3LWhvbWUtZmFjZXRzLXdyYXBwZXInXS5kcy5vdXQkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF3LWhvbWVfX2ZhY2V0XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgd2lkZ2V0RGF0YSBvZiBsYi53aWRnZXRzWydhdy1ob21lLWZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jO1wiPlxuICAgICAgICAgICAgICAgIDxuNy1mYWNldC1oZWFkZXIgW2RhdGFdPVwid2lkZ2V0RGF0YS5oZWFkZXJcIiBbZW1pdF09XCJsYi53aWRnZXRzWydhdy1ob21lLWZhY2V0cy13cmFwcGVyJ10uZW1pdFwiPlxuICAgICAgICAgICAgICAgIDwvbjctZmFjZXQtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxuNy1mYWNldCBbZGF0YV09XCJ3aWRnZXREYXRhLmlucHV0XCIgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctaG9tZS1mYWNldHMtd3JhcHBlciddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICA8L243LWZhY2V0PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLWNoYXJ0LXdyYXBwZXItbG9hZGluZ1wiICpuZ0lmPVwiIShsYi53aWRnZXRzWydhdy1idWJibGUtY2hhcnQnXS5kcy5vdXQkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICA8bjctY29udGVudC1wbGFjZWhvbGRlciBbZGF0YV09XCJ7XG4gICAgICAgICAgICAgICAgYmxvY2tzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdmYWNldC1wbGFjZWhvbGRlci1pdGVtLTEnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XCI+PC9uNy1jb250ZW50LXBsYWNlaG9sZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1jaGFydC13cmFwcGVyXCIgKm5nSWY9XCIhIShsYi53aWRnZXRzWydhdy1idWJibGUtY2hhcnQnXS5kcy5vdXQkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIFtzdHlsZS5vdmVyZmxvd109XCJsYi5kYXRhU291cmNlLmxvYWRpbmdCdWJibGVzID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIj5cbiAgICAgICAgICAgIDxhdy1idWJibGUtY2hhcnQtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8YXctY2hhcnQtdGlwcHkgXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLndpZGdldHNbJ2F3LWNoYXJ0LXRpcHB5J10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctY2hhcnQtdGlwcHknXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgPC9hdy1jaGFydC10aXBweT5cbiAgICAgICAgICAgICAgICA8bjctYnViYmxlLWNoYXJ0IFtkYXRhXT1cImxiLndpZGdldHNbJ2F3LWJ1YmJsZS1jaGFydCddLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWJ1YmJsZS1jaGFydCddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICA8L243LWJ1YmJsZS1jaGFydD5cbiAgICAgICAgICAgIDwvYXctYnViYmxlLWNoYXJ0LXdyYXBwZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gTGlua2VkIG9iamVjdHMgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIobGIud2lkZ2V0c1snYXctYnViYmxlLWNoYXJ0J10uZHMub3V0JCB8IGFzeW5jKT8uc2VsZWN0ZWQubGVuZ3RoID4gMDtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtcmVzdWx0c1wiIGlkPVwiaG9tZS1idWJibGUtcmVzdWx0c1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsYi5kYXRhU291cmNlLm51bU9mSXRlbXNTdHJcIiBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLXRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtdGl0bGVcIj48c3Ryb25nIGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtdGl0bGUtY291bnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxiLmRhdGFTb3VyY2UubnVtT2ZJdGVtc1N0ciB9fTwvc3Ryb25nPiA8c3Bhbj4gUmlzdWx0YXRpPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtdGFncy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS10YWdzLXRpdGxlXCI+Q29sbGVnYXRpIGEgPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2lkZ2V0RGF0YSBvZiBsYi53aWRnZXRzWydhdy1ob21lLWl0ZW0tdGFncy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LXRhZyBbZGF0YV09XCJ3aWRnZXREYXRhXCIgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctaG9tZS1pdGVtLXRhZ3Mtd3JhcHBlciddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbjctdGFnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtbGlzdC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtcmVzdWx0cy1saXN0LWxvYWRpbmdcIiAqbmdJZj1cImxiLmRhdGFTb3VyY2UucmVzdWx0c0xpc3RJc0xvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1jb250ZW50LXBsYWNlaG9sZGVyIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpIG9mIFsxLCAyLCAzLCA0LCA1XVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja3M6IFt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXJlc3VsdC1wbGFjZWhvbGRlci10aXRsZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItbWV0YWRhdGEnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1dXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9uNy1jb250ZW50LXBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFsYi5kYXRhU291cmNlLnJlc3VsdHNMaXN0SXNMb2FkaW5nXCIgY2xhc3M9XCJhdy1ob21lX19idWJibGUtcmVzdWx0cy1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIididWJibGUtcmVzdWx0cy1saXN0J1wiIChzY3JvbGwpPVwibGIuZXZlbnRIYW5kbGVyLmVtaXRPdXRlcignc2Nyb2xsJywgJGV2ZW50LnRhcmdldClcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLWZhbGxiYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LnJlc3VsdC5sZW5ndGggPCAxO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtZmFsbGJhY2stdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAobGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5kcy5vdXQkIHwgYXN5bmMpPy5mYWxsYmFjayB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibjctYnRuIGF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImxiLmV2ZW50SGFuZGxlci5lbWl0SW5uZXIoJ2NsZWFyc2VsZWN0aW9uJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXR0YSBsYSByaWNlcmNhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LWl0ZW0tcHJldmlldy1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJldmlldyBvZiAobGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5kcy5vdXQkIHwgYXN5bmMpPy5yZXN1bHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LWl0ZW0tcHJldmlldy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctc21hcnQtYnJlYWRjcnVtYnMgW2RhdGFdPVwicHJldmlldy5icmVhZGNydW1ic1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1zbWFydC1icmVhZGNydW1icz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1pdGVtLXByZXZpZXcgW2RhdGFdPVwicHJldmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWxpbmtlZC1vYmplY3RzJ10uZW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1pdGVtLXByZXZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB3aWRnZXREYXRhIG9mIChsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LnJlc3VsdDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctaXRlbS1wcmV2aWV3IFtkYXRhXT1cIndpZGdldERhdGFcIiBbZW1pdF09XCJsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L243LWl0ZW0tcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LmlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtcmVzdWx0cy1saXN0LWxvYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctbG9hZGVyIFtkYXRhXT1cIihsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LmxvYWRlckRhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1sb2FkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyAnaXMtdmlzaWJsZScgOiBsYi5kYXRhU291cmNlLmhhc1Njcm9sbEJhY2tncm91bmQgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLWxpc3Qtd3JhcHBlci13aXRoLXNjcm9sbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gYXctbGlua2VkLW9iamVjdHNfX2FjdGlvbnMgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LnJlc3VsdC5sZW5ndGggPiAwICYmICFsYi5kYXRhU291cmNlLnJlc3VsdHNMaXN0SXNMb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIobGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5kcy5vdXQkIHwgYXN5bmMpPy5hY3Rpb25zIGFzIGFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLWxpc3QtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibGIuZXZlbnRIYW5kbGVyLmVtaXRJbm5lcignYnViYmxlcmVzdWx0c3ZpZXdhbGxjbGljaycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm43LWJ0biBuNy1idG4tbGlnaHQgbjctYnRuLWwgYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtbGlzdC12aWV3LWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7YWN0aW9uWzBdLmxhYmVsfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gT3V0ZXIgbGlua3MgLS0+XG4gICAgPGRpdiAqbmdJZj1cImxiLmRhdGFTb3VyY2Uub3V0ZXJMaW5rcyAmJiBsYi5kYXRhU291cmNlLm91dGVyTGlua3MubGVuZ3RoID4gMFwiIGNsYXNzPVwiYXctaG9tZV9fb3V0ZXItbGlua3NcIj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJhdy1ob21lX19vdXRlci1saW5rcy13cmFwcGVyIG43LXNpZGUtYXV0by1wYWRkaW5nXCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJhdy1ob21lX19vdXRlci1saW5rcy10aXRsZVwiICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5vdXRlckxpbmtzVGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7eyBsYi5kYXRhU291cmNlLm91dGVyTGlua3NUaXRsZSB9fVxuICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXctaG9tZV9fb3V0ZXItbGlua3MtZGVzY3JpcHRpb25cIiAqbmdJZj1cImxiLmRhdGFTb3VyY2Uub3V0ZXJMaW5rc0Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAge3sgbGIuZGF0YVNvdXJjZS5vdXRlckxpbmtzRGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19vdXRlci1saW5rcy1pdGVtc1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gSXRlbSBwcmV2aWV3IC0tPlxuICAgICAgICAgICAgICAgIDxuNy1pdGVtLXByZXZpZXcgKm5nRm9yPVwibGV0IG91dGVyTGluayBvZiBsYi5kYXRhU291cmNlLm91dGVyTGlua3NcIiBbZGF0YV09XCJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi5ldmVudEhhbmRsZXIub3V0ZXJMaW5rQ2xpY2suYmluZChsYi5ldmVudEhhbmRsZXIpXCI+XG4gICAgICAgICAgICAgICAgPC9uNy1pdGVtLXByZXZpZXc+XG4gICAgICAgICAgICAgICAgPCEtLSBFTkQgLy8gSXRlbSBwcmV2aWV3IC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIEVORCAvLyBPdXRlciBsaW5rcyAtLT5cblxuICAgIDwhLS0gSGVybyBzZWN0aW9uIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2JvdHRvbS1oZXJvXCI+XG4gICAgICAgIDxuNy1oZXJvIFtkYXRhXT1cImxiLndpZGdldHNbJ2F3LWhvbWUtaGVyby1wYXRyaW1vbmlvJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWhvbWUtaGVyby1wYXRyaW1vbmlvJ10uZW1pdFwiPlxuICAgICAgICA8L243LWhlcm8+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEFkYXZhbmNlZCBhdXRvY29tcGxldGUgcG9wb3ZlciAgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2FkdmFuY2VkLWF1dG9jb21wbGV0ZVwiIGlkPVwiYXctaG9tZS1hZHZhbmNlZC1hdXRvY29tcGxldGUtcG9wb3ZlclwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2FkdmFuY2VkLWF1dG9jb21wbGV0ZS1sb2FkZXJcIiAqbmdJZj1cImxiLmRhdGFTb3VyY2UuaG9tZUF1dG9jb21wbGV0ZUlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgPG43LWxvYWRlciBbZGF0YV09XCJ7fVwiPjwvbjctbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG43LWFkdmFuY2VkLWF1dG9jb21wbGV0ZSAqbmdJZj1cIiFsYi5kYXRhU291cmNlLmhvbWVBdXRvY29tcGxldGVJc0xvYWRpbmdcIlxuICAgICAgICAgICAgW2RhdGFdPVwibGIud2lkZ2V0c1snYXctaG9tZS1hdXRvY29tcGxldGUnXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctaG9tZS1hdXRvY29tcGxldGUnXS5lbWl0XCI+XG4gICAgICAgIDwvbjctYWR2YW5jZWQtYXV0b2NvbXBsZXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBTaW1wbGUgYXV0b2NvbXBsZXRlIHBvcG92ZXIuIERPIE5PVCBDSEFOR0UgcGFyZW50IGRpdiBjbGFzcyEgLS0+XG4gICAgPCEtLSBDcmVhdGluZyBvbmUgdGVtcGxhdGUgZm9yIGVhY2ggZmFjZXQgLS0+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgd2lkZ2V0RGF0YSBvZiBsYi53aWRnZXRzWydhdy1ob21lLWZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jO1wiXG4gICAgICAgIGNsYXNzPVwiYXctaG9tZV9fc2ltcGxlLWF1dG9jb21wbGV0ZSBhdy1zaW1wbGUtYXV0b2NvbXBsZXRlX190ZW1wbGF0ZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX3NpbXBsZS1hdXRvY29tcGxldGUtY29udGVudCBhdy1zaW1wbGUtYXV0b2NvbXBsZXRlX190aXBweS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fc2ltcGxlLWF1dG9jb21wbGV0ZS1sb2FkZXIgYXctc2ltcGxlLWF1dG9jb21wbGV0ZV9fdGlwcHktd3JhcHBlci1sb2FkZXJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiKGxiLndpZGdldHNbJ2F3LWF1dG9jb21wbGV0ZS13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKT8ubG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxuNy1sb2FkZXIgW2RhdGFdPVwie31cIj48L243LWxvYWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG43LXNpbXBsZS1hdXRvY29tcGxldGUgKm5nSWY9XCIhKGxiLndpZGdldHNbJ2F3LWF1dG9jb21wbGV0ZS13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKT8ubG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwibGIud2lkZ2V0c1snYXctYXV0b2NvbXBsZXRlLXdyYXBwZXInXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWF1dG9jb21wbGV0ZS13cmFwcGVyJ10uZW1pdFwiPlxuICAgICAgICAgICAgPC9uNy1zaW1wbGUtYXV0b2NvbXBsZXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9ob21lLWxheW91dC9ob21lLWxheW91dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9sYXlvdXRzL2hvbWUtbGF5b3V0L2hvbWUtbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxLQUFLLE1BQU0sVUFBVSxDQUFDO0FBQzdCLE9BQU8sRUFDTCxjQUFjLEVBS2YsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLElBQUksTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQU1wRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsY0FBYztJQUN2RCxZQUNFLG9CQUFpRCxFQUN6QyxNQUFjLEVBQ2QsYUFBbUMsRUFDbkMsYUFBbUMsRUFDbkMsU0FBMkI7UUFFbkMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBTHhELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBR3JDLENBQUM7SUFFUyxXQUFXO1FBQ25CLE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7WUFDbEMsS0FBSztTQUNOLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOzttSEE1QlUscUJBQXFCO3VHQUFyQixxQkFBcUIsNkVDaEJsQywreFdBeU1BOzRGRHpMYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdExheW91dCxcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgTWFpblN0YXRlU2VydmljZSxcbiAgQ29tbXVuaWNhdGlvblNlcnZpY2Vcbn0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbmltcG9ydCB7IEF3SG9tZUxheW91dENvbmZpZyBhcyBjb25maWcgfSBmcm9tICcuL2hvbWUtbGF5b3V0LmNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F3LWhvbWUtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hvbWUtbGF5b3V0Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBd0hvbWVMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdExheW91dCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgbGF5b3V0c0NvbmZpZ3VyYXRpb246IExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG1haW5TdGF0ZTogTWFpblN0YXRlU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIobGF5b3V0c0NvbmZpZ3VyYXRpb24uZ2V0KCdBd0hvbWVMYXlvdXRDb25maWcnKSB8fCBjb25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRQYXlsb2FkKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBtYWluU3RhdGU6IHRoaXMubWFpblN0YXRlLFxuICAgICAgcm91dGVyOiB0aGlzLnJvdXRlcixcbiAgICAgIGNvbW11bmljYXRpb246IHRoaXMuY29tbXVuaWNhdGlvbixcbiAgICAgIG9wdGlvbnM6IHRoaXMuY29uZmlnLm9wdGlvbnMgfHwge30sXG4gICAgICB0aXBweSxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vbkluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhdy1ob21lXCIgKm5nSWY9XCJsYi5kYXRhU291cmNlXCI+XG4gICAgPCEtLSBDYXJvdXNlbCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fY2Fyb3VzZWxcIiAqbmdJZj1cImxiLmRhdGFTb3VyY2UuY2Fyb3VzZWxFbmFibGVkXCI+XG4gICAgICAgIDxuNy1jYXJvdXNlbCBbZGF0YV09XCJsYi53aWRnZXRzWydhdy1jYXJvdXNlbCddLmRzLm91dCQgfCBhc3luY1wiPlxuICAgICAgICA8L243LWNhcm91c2VsPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBIZXJvIHNlY3Rpb24gYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fdG9wLWhlcm9cIj5cbiAgICAgICAgPG43LWhlcm8gW2RhdGFdPVwibGIud2lkZ2V0c1snYXctaGVybyddLmRzLm91dCQgfCBhc3luY1wiIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWhlcm8nXS5lbWl0XCI+XG4gICAgICAgIDwvbjctaGVybz5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQnViYmxlIGNoYXJ0IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtd3JhcHBlciBuNy1zaWRlLWF1dG8tcGFkZGluZ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1yZXN1bHRzJyA6IGxiLmRhdGFTb3VyY2Uuc2VsZWN0ZWRCdWJibGVzLmxlbmd0aCA+IDAgfVwiICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5idWJibGVzRW5hYmxlZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fZmFjZXRzLXdyYXBwZXItbG9hZGluZ1wiICpuZ0lmPVwiIShsYi53aWRnZXRzWydhdy1ob21lLWZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKVwiPlxuICAgICAgICAgICAgPG43LWNvbnRlbnQtcGxhY2Vob2xkZXIgKm5nRm9yPVwibGV0IGkgb2YgWzAsMSwyLDNdXCIgW2RhdGFdPVwie1xuICAgICAgICAgICAgICAgIGJsb2NrczogW3tcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ2ZhY2V0LXBsYWNlaG9sZGVyLWhlYWRlcidcbiAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdmYWNldC1wbGFjZWhvbGRlci1pbnB1dCdcbiAgICAgICAgICAgICAgICB9XSBcbiAgICAgICAgICAgIH1cIj48L243LWNvbnRlbnQtcGxhY2Vob2xkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fZmFjZXRzLXdyYXBwZXJcIiAqbmdJZj1cIiEhKGxiLndpZGdldHNbJ2F3LWhvbWUtZmFjZXRzLXdyYXBwZXInXS5kcy5vdXQkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF3LWhvbWVfX2ZhY2V0XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgd2lkZ2V0RGF0YSBvZiBsYi53aWRnZXRzWydhdy1ob21lLWZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jO1wiPlxuICAgICAgICAgICAgICAgIDxuNy1mYWNldC1oZWFkZXIgW2RhdGFdPVwid2lkZ2V0RGF0YS5oZWFkZXJcIiBbZW1pdF09XCJsYi53aWRnZXRzWydhdy1ob21lLWZhY2V0cy13cmFwcGVyJ10uZW1pdFwiPlxuICAgICAgICAgICAgICAgIDwvbjctZmFjZXQtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwid2lkZ2V0RGF0YS5saW5rIGFzIGxpbmtcIiBjbGFzcz1cImF3LWhvbWVfX2ZhY2V0LWxpbmsgbjctYnRuXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbbGluay5wYXRoXVwiIFtxdWVyeVBhcmFtc109XCJsaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbiBuNy1pY29uLWxpc3RcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXctaG9tZV9fZmFjZXQtbGluay1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxuNy1mYWNldCBbZGF0YV09XCJ3aWRnZXREYXRhLmlucHV0XCIgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctaG9tZS1mYWNldHMtd3JhcHBlciddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICA8L243LWZhY2V0PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLWNoYXJ0LXdyYXBwZXItbG9hZGluZ1wiICpuZ0lmPVwiIShsYi53aWRnZXRzWydhdy1idWJibGUtY2hhcnQnXS5kcy5vdXQkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICA8bjctY29udGVudC1wbGFjZWhvbGRlciBbZGF0YV09XCJ7XG4gICAgICAgICAgICAgICAgYmxvY2tzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdmYWNldC1wbGFjZWhvbGRlci1pdGVtLTEnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XCI+PC9uNy1jb250ZW50LXBsYWNlaG9sZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1jaGFydC13cmFwcGVyXCIgKm5nSWY9XCIhIShsYi53aWRnZXRzWydhdy1idWJibGUtY2hhcnQnXS5kcy5vdXQkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIFtzdHlsZS5vdmVyZmxvd109XCJsYi5kYXRhU291cmNlLmxvYWRpbmdCdWJibGVzID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIj5cbiAgICAgICAgICAgIDxhdy1idWJibGUtY2hhcnQtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8YXctY2hhcnQtdGlwcHkgXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLndpZGdldHNbJ2F3LWNoYXJ0LXRpcHB5J10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctY2hhcnQtdGlwcHknXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgPC9hdy1jaGFydC10aXBweT5cbiAgICAgICAgICAgICAgICA8bjctYnViYmxlLWNoYXJ0IFtkYXRhXT1cImxiLndpZGdldHNbJ2F3LWJ1YmJsZS1jaGFydCddLmRzLm91dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWJ1YmJsZS1jaGFydCddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICA8L243LWJ1YmJsZS1jaGFydD5cbiAgICAgICAgICAgIDwvYXctYnViYmxlLWNoYXJ0LXdyYXBwZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gTGlua2VkIG9iamVjdHMgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIobGIud2lkZ2V0c1snYXctYnViYmxlLWNoYXJ0J10uZHMub3V0JCB8IGFzeW5jKT8uc2VsZWN0ZWQubGVuZ3RoID4gMDtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtcmVzdWx0c1wiIGlkPVwiaG9tZS1idWJibGUtcmVzdWx0c1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsYi5kYXRhU291cmNlLm51bU9mSXRlbXNTdHJcIiBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLXRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtdGl0bGVcIj48c3Ryb25nIGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtdGl0bGUtY291bnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxiLmRhdGFTb3VyY2UubnVtT2ZJdGVtc1N0ciB9fTwvc3Ryb25nPiA8c3Bhbj4gUmlzdWx0YXRpPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtdGFncy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS10YWdzLXRpdGxlXCI+Q29sbGVnYXRpIGEgPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2lkZ2V0RGF0YSBvZiBsYi53aWRnZXRzWydhdy1ob21lLWl0ZW0tdGFncy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LXRhZyBbZGF0YV09XCJ3aWRnZXREYXRhXCIgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctaG9tZS1pdGVtLXRhZ3Mtd3JhcHBlciddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbjctdGFnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtbGlzdC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtcmVzdWx0cy1saXN0LWxvYWRpbmdcIiAqbmdJZj1cImxiLmRhdGFTb3VyY2UucmVzdWx0c0xpc3RJc0xvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1jb250ZW50LXBsYWNlaG9sZGVyIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpIG9mIFsxLCAyLCAzLCA0LCA1XVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja3M6IFt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXJlc3VsdC1wbGFjZWhvbGRlci10aXRsZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItbWV0YWRhdGEnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1dXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9uNy1jb250ZW50LXBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFsYi5kYXRhU291cmNlLnJlc3VsdHNMaXN0SXNMb2FkaW5nXCIgY2xhc3M9XCJhdy1ob21lX19idWJibGUtcmVzdWx0cy1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIididWJibGUtcmVzdWx0cy1saXN0J1wiIChzY3JvbGwpPVwibGIuZXZlbnRIYW5kbGVyLmVtaXRPdXRlcignc2Nyb2xsJywgJGV2ZW50LnRhcmdldClcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLWZhbGxiYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LnJlc3VsdC5sZW5ndGggPCAxO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtZmFsbGJhY2stdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAobGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5kcy5vdXQkIHwgYXN5bmMpPy5mYWxsYmFjayB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibjctYnRuIGF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImxiLmV2ZW50SGFuZGxlci5lbWl0SW5uZXIoJ2NsZWFyc2VsZWN0aW9uJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXR0YSBsYSByaWNlcmNhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LWl0ZW0tcHJldmlldy1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJldmlldyBvZiAobGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5kcy5vdXQkIHwgYXN5bmMpPy5yZXN1bHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LWl0ZW0tcHJldmlldy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctc21hcnQtYnJlYWRjcnVtYnMgW2RhdGFdPVwicHJldmlldy5icmVhZGNydW1ic1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1zbWFydC1icmVhZGNydW1icz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1pdGVtLXByZXZpZXcgW2RhdGFdPVwicHJldmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWxpbmtlZC1vYmplY3RzJ10uZW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1pdGVtLXByZXZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB3aWRnZXREYXRhIG9mIChsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LnJlc3VsdDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctaXRlbS1wcmV2aWV3IFtkYXRhXT1cIndpZGdldERhdGFcIiBbZW1pdF09XCJsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmVtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L243LWl0ZW0tcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LmlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19idWJibGUtcmVzdWx0cy1saXN0LWxvYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bjctbG9hZGVyIFtkYXRhXT1cIihsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LmxvYWRlckRhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1sb2FkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyAnaXMtdmlzaWJsZScgOiBsYi5kYXRhU291cmNlLmhhc1Njcm9sbEJhY2tncm91bmQgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLWxpc3Qtd3JhcHBlci13aXRoLXNjcm9sbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gYXctbGlua2VkLW9iamVjdHNfX2FjdGlvbnMgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihsYi53aWRnZXRzWydhdy1saW5rZWQtb2JqZWN0cyddLmRzLm91dCQgfCBhc3luYyk/LnJlc3VsdC5sZW5ndGggPiAwICYmICFsYi5kYXRhU291cmNlLnJlc3VsdHNMaXN0SXNMb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIobGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5kcy5vdXQkIHwgYXN5bmMpPy5hY3Rpb25zIGFzIGFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF3LWhvbWVfX2J1YmJsZS1yZXN1bHRzLWxpc3QtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibGIuZXZlbnRIYW5kbGVyLmVtaXRJbm5lcignYnViYmxlcmVzdWx0c3ZpZXdhbGxjbGljaycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm43LWJ0biBuNy1idG4tbGlnaHQgbjctYnRuLWwgYXctaG9tZV9fYnViYmxlLXJlc3VsdHMtbGlzdC12aWV3LWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7YWN0aW9uWzBdLmxhYmVsfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gT3V0ZXIgbGlua3MgLS0+XG4gICAgPGRpdiAqbmdJZj1cImxiLmRhdGFTb3VyY2Uub3V0ZXJMaW5rcyAmJiBsYi5kYXRhU291cmNlLm91dGVyTGlua3MubGVuZ3RoID4gMFwiIGNsYXNzPVwiYXctaG9tZV9fb3V0ZXItbGlua3NcIj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJhdy1ob21lX19vdXRlci1saW5rcy13cmFwcGVyIG43LXNpZGUtYXV0by1wYWRkaW5nXCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJhdy1ob21lX19vdXRlci1saW5rcy10aXRsZVwiICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5vdXRlckxpbmtzVGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7eyBsYi5kYXRhU291cmNlLm91dGVyTGlua3NUaXRsZSB9fVxuICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXctaG9tZV9fb3V0ZXItbGlua3MtZGVzY3JpcHRpb25cIiAqbmdJZj1cImxiLmRhdGFTb3VyY2Uub3V0ZXJMaW5rc0Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAge3sgbGIuZGF0YVNvdXJjZS5vdXRlckxpbmtzRGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1ob21lX19vdXRlci1saW5rcy1pdGVtc1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gSXRlbSBwcmV2aWV3IC0tPlxuICAgICAgICAgICAgICAgIDxuNy1pdGVtLXByZXZpZXcgKm5nRm9yPVwibGV0IG91dGVyTGluayBvZiBsYi5kYXRhU291cmNlLm91dGVyTGlua3NcIiBbZGF0YV09XCJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi5ldmVudEhhbmRsZXIub3V0ZXJMaW5rQ2xpY2suYmluZChsYi5ldmVudEhhbmRsZXIpXCI+XG4gICAgICAgICAgICAgICAgPC9uNy1pdGVtLXByZXZpZXc+XG4gICAgICAgICAgICAgICAgPCEtLSBFTkQgLy8gSXRlbSBwcmV2aWV3IC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIEVORCAvLyBPdXRlciBsaW5rcyAtLT5cblxuICAgIDwhLS0gSGVybyBzZWN0aW9uIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2JvdHRvbS1oZXJvXCI+XG4gICAgICAgIDxuNy1oZXJvIFtkYXRhXT1cImxiLndpZGdldHNbJ2F3LWhvbWUtaGVyby1wYXRyaW1vbmlvJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWhvbWUtaGVyby1wYXRyaW1vbmlvJ10uZW1pdFwiPlxuICAgICAgICA8L243LWhlcm8+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEFkYXZhbmNlZCBhdXRvY29tcGxldGUgcG9wb3ZlciAgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2FkdmFuY2VkLWF1dG9jb21wbGV0ZVwiIGlkPVwiYXctaG9tZS1hZHZhbmNlZC1hdXRvY29tcGxldGUtcG9wb3ZlclwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX2FkdmFuY2VkLWF1dG9jb21wbGV0ZS1sb2FkZXJcIiAqbmdJZj1cImxiLmRhdGFTb3VyY2UuaG9tZUF1dG9jb21wbGV0ZUlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgPG43LWxvYWRlciBbZGF0YV09XCJ7fVwiPjwvbjctbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG43LWFkdmFuY2VkLWF1dG9jb21wbGV0ZSAqbmdJZj1cIiFsYi5kYXRhU291cmNlLmhvbWVBdXRvY29tcGxldGVJc0xvYWRpbmdcIlxuICAgICAgICAgICAgW2RhdGFdPVwibGIud2lkZ2V0c1snYXctaG9tZS1hdXRvY29tcGxldGUnXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctaG9tZS1hdXRvY29tcGxldGUnXS5lbWl0XCI+XG4gICAgICAgIDwvbjctYWR2YW5jZWQtYXV0b2NvbXBsZXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBTaW1wbGUgYXV0b2NvbXBsZXRlIHBvcG92ZXIuIERPIE5PVCBDSEFOR0UgcGFyZW50IGRpdiBjbGFzcyEgLS0+XG4gICAgPCEtLSBDcmVhdGluZyBvbmUgdGVtcGxhdGUgZm9yIGVhY2ggZmFjZXQgLS0+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgd2lkZ2V0RGF0YSBvZiBsYi53aWRnZXRzWydhdy1ob21lLWZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jO1wiXG4gICAgICAgIGNsYXNzPVwiYXctaG9tZV9fc2ltcGxlLWF1dG9jb21wbGV0ZSBhdy1zaW1wbGUtYXV0b2NvbXBsZXRlX190ZW1wbGF0ZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LWhvbWVfX3NpbXBsZS1hdXRvY29tcGxldGUtY29udGVudCBhdy1zaW1wbGUtYXV0b2NvbXBsZXRlX190aXBweS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctaG9tZV9fc2ltcGxlLWF1dG9jb21wbGV0ZS1sb2FkZXIgYXctc2ltcGxlLWF1dG9jb21wbGV0ZV9fdGlwcHktd3JhcHBlci1sb2FkZXJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiKGxiLndpZGdldHNbJ2F3LWF1dG9jb21wbGV0ZS13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKT8ubG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxuNy1sb2FkZXIgW2RhdGFdPVwie31cIj48L243LWxvYWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG43LXNpbXBsZS1hdXRvY29tcGxldGUgKm5nSWY9XCIhKGxiLndpZGdldHNbJ2F3LWF1dG9jb21wbGV0ZS13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKT8ubG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwibGIud2lkZ2V0c1snYXctYXV0b2NvbXBsZXRlLXdyYXBwZXInXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ2F3LWF1dG9jb21wbGV0ZS13cmFwcGVyJ10uZW1pdFwiPlxuICAgICAgICAgICAgPC9uNy1zaW1wbGUtYXV0b2NvbXBsZXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19