ctt-puro 0.71.7 → 0.71.8

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.
@@ -30,7 +30,7 @@ export class PuroGrid3colPlusFilterComponent {
30
30
  this.option.set(value);
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colPlusFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colPlusFilterComponent, isStandalone: true, selector: "lib-puro-grid3col-plus-filter", inputs: { pretitle: "pretitle", title: "title", filter: "filter", items: "items", button: "button", backgroundImg: "backgroundImg", exp: "exp", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"events events__list generalMargin\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'p'\"\n cssClass=\"events__subHeading\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"events__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n @if (item.links && item.links.length > 0) {\n <a\n [linkType]=\"item?.links?.[0]?.linkType\"\n [href]=\"item?.links?.[0]?.url\"\n >\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\" loading=\"lazy\" />\n }\n </div>\n </a>\n } @else {\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\" loading=\"lazy\" />\n }\n </div>\n }\n @if (exp) {\n <div class=\"events__info-location\">\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n </div>\n } @else {\n <div class=\"events__info\">\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n </div>\n }\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colPlusFilterComponent, isStandalone: true, selector: "lib-puro-grid3col-plus-filter", inputs: { pretitle: "pretitle", title: "title", filter: "filter", items: "items", button: "button", backgroundImg: "backgroundImg", exp: "exp", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"events events__list generalMargin\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'p'\"\n cssClass=\"events__subHeading\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"events__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n @if (item.links && item.links.length > 0) {\n <a\n [linkType]=\"item?.links?.[0]?.linkType\"\n [href]=\"item?.links?.[0]?.url\"\n >\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\" loading=\"lazy\" />\n }\n </div>\n </a>\n } @else {\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\" loading=\"lazy\" />\n }\n </div>\n }\n @if (exp) {\n <div class=\"events__info-location\">\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n </div>\n } @else {\n <div class=\"events__info\">\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n </div>\n }\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}.events__heading{font-size:45px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colPlusFilterComponent, decorators: [{
36
36
  type: Component,
@@ -39,7 +39,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
39
39
  PuroLinkTypeDirective,
40
40
  AutoImageZoomWrapperDirective,
41
41
  PuroDynamicHeadingComponent,
42
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"events events__list generalMargin\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'p'\"\n cssClass=\"events__subHeading\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"events__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n @if (item.links && item.links.length > 0) {\n <a\n [linkType]=\"item?.links?.[0]?.linkType\"\n [href]=\"item?.links?.[0]?.url\"\n >\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\" loading=\"lazy\" />\n }\n </div>\n </a>\n } @else {\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\" loading=\"lazy\" />\n }\n </div>\n }\n @if (exp) {\n <div class=\"events__info-location\">\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n </div>\n } @else {\n <div class=\"events__info\">\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n </div>\n }\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}\n"] }]
42
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"events events__list generalMargin\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'p'\"\n cssClass=\"events__subHeading\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"events__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>\n {{ filter.placeholder }}\n </option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n @if (item.links && item.links.length > 0) {\n <a\n [linkType]=\"item?.links?.[0]?.linkType\"\n [href]=\"item?.links?.[0]?.url\"\n >\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\" loading=\"lazy\" />\n }\n </div>\n </a>\n } @else {\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\" loading=\"lazy\" />\n }\n </div>\n }\n @if (exp) {\n <div class=\"events__info-location\">\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n </div>\n } @else {\n <div class=\"events__info\">\n @if (item.ndTitle) {\n <span class=\"events__subHeading photo\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n </div>\n }\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}.events__heading{font-size:45px}\n"] }]
43
43
  }], propDecorators: { pretitle: [{
44
44
  type: Input
45
45
  }], title: [{
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
59
59
  }], textColors: [{
60
60
  type: Input
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHFCQUFxQixHQUN4QixNQUFNLGtCQUFrQixDQUFDO0FBUTFCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLCtCQUErQjtJQWQ1QztRQTRCcUIsV0FBTSxHQUFHLE1BQU0sQ0FBa0IsR0FBRyxDQUFDLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sQ0FFbEMsU0FBUyxDQUFDLENBQUM7UUFFYixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBUWQsbUJBQWMsR0FBRyxRQUFRLENBQTJDLEdBQUcsRUFBRTtZQUNyRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7WUFFOUMsSUFBSSxRQUFRLEtBQUssR0FBRztnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUVqQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7S0FNTjtJQXBDRyxJQUFhLEtBQUssQ0FBQyxLQUErQztRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBY0QsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBV0QsWUFBWSxDQUFDLEdBQVU7UUFDbkIsTUFBTSxLQUFLLEdBQUksR0FBRyxDQUFDLE1BQTRCLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQXZDUSwrQkFBK0I7bUdBQS9CLCtCQUErQixtUkNyQzVDLHVrT0E0SkEsMGFEaklRLFlBQVksK0JBQ1oscUJBQXFCLDRJQUVyQiw2QkFBNkIscURBQzdCLDJCQUEyQjs7NEZBTXRCLCtCQUErQjtrQkFkM0MsU0FBUzsrQkFDSSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUVyQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjtxQkFDOUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9Ecm9wZG93bkkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3B1cm8tZHJvcGRvd24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcblxuICAgICAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICAgICAgUHVyb0R5bmFtaWNIZWFkaW5nQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0dyaWQzY29sUGx1c0ZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlsdGVyPzogUHVyb0Ryb3Bkb3duSTtcbiAgICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zLnNldChpdGVtcyk7XG4gICAgICAgIHRoaXMub3B0aW9uLnNldCgnMCcpO1xuICAgIH1cbiAgICBASW5wdXQoKSBidXR0b24/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kSW1nPzogUHVyb0ltYWdlSTtcbiAgICBASW5wdXQoKSBleHA/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBQdXJvVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IFB1cm9UZXh0c0NvbG9yc0k7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbiA9IHNpZ25hbDxzdHJpbmcgfCBudW1iZXI+KCcwJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b3RhbEl0ZW1zID0gc2lnbmFsPFxuICAgICAgICBQdXJvR3JpZDNDb2xQbHVzRmlsdGVySXRlbVtdIHwgdW5kZWZpbmVkXG4gICAgPih1bmRlZmluZWQpO1xuXG4gICAgY3NzQmdVcmwgPSAnJztcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kSW1nPy5zcmMpIHtcbiAgICAgICAgICAgIHRoaXMuY3NzQmdVcmwgPSBgdXJsKFwiJHt0aGlzLmJhY2tncm91bmRJbWcuc3JjfVwiKWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpdGVtc0Rpc3BsYXllZCA9IGNvbXB1dGVkPFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgY29uc3QgYWxsID0gdGhpcy50b3RhbEl0ZW1zKCkgPz8gW107XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gU3RyaW5nKHRoaXMub3B0aW9uKCkgPz8gJzAnKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWQgPT09ICcwJykgcmV0dXJuIGFsbDtcblxuICAgICAgICByZXR1cm4gYWxsLmZpbHRlcigoaSkgPT4gU3RyaW5nKGkuZmlsdGVyUGFyZW50KSA9PT0gc2VsZWN0ZWQpO1xuICAgIH0pO1xuXG4gICAgc2VsZWN0T3B0aW9uKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZ0LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkudmFsdWUgfHwgJzAnO1xuICAgICAgICB0aGlzLm9wdGlvbi5zZXQodmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDNDb2xQbHVzRmlsdGVySXRlbSB7XG4gICAgaW1nPzogUHVyb0ltYWdlSTtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBuZFRpdGxlPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgZGF0ZT86IHN0cmluZztcbiAgICBmaWx0ZXI/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgZmlsdGVyUGFyZW50Pzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xuICAgIGxpbmtzPzogUHVyb0J1dHRvbklbXTtcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiZXZlbnRzIGV2ZW50c19fbGlzdCBnZW5lcmFsTWFyZ2luXCIgW3N0eWxlLi0tYmctdXJsXT1cImNzc0JnVXJsXCI+XG4gICAgPGRpdiBjbGFzcz1cImV2ZW50c19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2hlYWRpbmdTZWN0aW9uXCI+XG4gICAgICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGxpYi1wdXJvLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnByZXRpdGxlIHx8ICdwJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwiZXZlbnRzX19zdWJIZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnByZXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJldGl0bGVcIlxuICAgICAgICAgICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgIFt0YWddPVwidGFncz8udGl0bGUgfHwgJ2gyJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwiZXZlbnRzX19oZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwidGl0bGVcIlxuICAgICAgICAgICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1fX2dyb3VwIHdpdGhJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiMFwiIHNlbGVjdGVkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbHRlci5wbGFjZWhvbGRlciB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgZmlsdGVyLm9wdGlvbnMgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjc2VsZWN0LWFycm93XCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fbGlzdC0taW5uZXJcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXNEaXNwbGF5ZWQoKSB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faGVhZGluZyBwaG90b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2lubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlua3MgJiYgaXRlbS5saW5rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0/LmxpbmtzPy5bMF0/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbT8ubGlua3M/LlswXT8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTA5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldmVudHNfX2dyYXBoaWMtLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCIgbG9hZGluZz1cImxhenlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmltZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5pbWcuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjUwOVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50c19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1nLmFsdFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChleHApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pbmZvLWxvY2F0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5uZFRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fc3ViSGVhZGluZyBwaG90b1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5uZFRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubmRUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX3N1YkhlYWRpbmcgcGhvdG9cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ubmRUaXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2ljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5kYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fZGF0ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIGl0ZW0ubGlua3MgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImxpbmsubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaW5rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgbGluay5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L3NlY3Rpb24+XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHFCQUFxQixHQUN4QixNQUFNLGtCQUFrQixDQUFDO0FBUTFCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLCtCQUErQjtJQWQ1QztRQTRCcUIsV0FBTSxHQUFHLE1BQU0sQ0FBa0IsR0FBRyxDQUFDLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sQ0FFbEMsU0FBUyxDQUFDLENBQUM7UUFFYixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBUWQsbUJBQWMsR0FBRyxRQUFRLENBQTJDLEdBQUcsRUFBRTtZQUNyRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7WUFFOUMsSUFBSSxRQUFRLEtBQUssR0FBRztnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUVqQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7S0FNTjtJQXBDRyxJQUFhLEtBQUssQ0FBQyxLQUErQztRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBY0QsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBV0QsWUFBWSxDQUFDLEdBQVU7UUFDbkIsTUFBTSxLQUFLLEdBQUksR0FBRyxDQUFDLE1BQTRCLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQXZDUSwrQkFBK0I7bUdBQS9CLCtCQUErQixtUkNyQzVDLHVrT0E0SkEsMGNEaklRLFlBQVksK0JBQ1oscUJBQXFCLDRJQUVyQiw2QkFBNkIscURBQzdCLDJCQUEyQjs7NEZBTXRCLCtCQUErQjtrQkFkM0MsU0FBUzsrQkFDSSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUVyQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjtxQkFDOUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9Ecm9wZG93bkkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3B1cm8tZHJvcGRvd24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcblxuICAgICAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICAgICAgUHVyb0R5bmFtaWNIZWFkaW5nQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0dyaWQzY29sUGx1c0ZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlsdGVyPzogUHVyb0Ryb3Bkb3duSTtcbiAgICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zLnNldChpdGVtcyk7XG4gICAgICAgIHRoaXMub3B0aW9uLnNldCgnMCcpO1xuICAgIH1cbiAgICBASW5wdXQoKSBidXR0b24/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kSW1nPzogUHVyb0ltYWdlSTtcbiAgICBASW5wdXQoKSBleHA/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBQdXJvVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IFB1cm9UZXh0c0NvbG9yc0k7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbiA9IHNpZ25hbDxzdHJpbmcgfCBudW1iZXI+KCcwJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b3RhbEl0ZW1zID0gc2lnbmFsPFxuICAgICAgICBQdXJvR3JpZDNDb2xQbHVzRmlsdGVySXRlbVtdIHwgdW5kZWZpbmVkXG4gICAgPih1bmRlZmluZWQpO1xuXG4gICAgY3NzQmdVcmwgPSAnJztcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kSW1nPy5zcmMpIHtcbiAgICAgICAgICAgIHRoaXMuY3NzQmdVcmwgPSBgdXJsKFwiJHt0aGlzLmJhY2tncm91bmRJbWcuc3JjfVwiKWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpdGVtc0Rpc3BsYXllZCA9IGNvbXB1dGVkPFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgY29uc3QgYWxsID0gdGhpcy50b3RhbEl0ZW1zKCkgPz8gW107XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gU3RyaW5nKHRoaXMub3B0aW9uKCkgPz8gJzAnKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWQgPT09ICcwJykgcmV0dXJuIGFsbDtcblxuICAgICAgICByZXR1cm4gYWxsLmZpbHRlcigoaSkgPT4gU3RyaW5nKGkuZmlsdGVyUGFyZW50KSA9PT0gc2VsZWN0ZWQpO1xuICAgIH0pO1xuXG4gICAgc2VsZWN0T3B0aW9uKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZ0LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkudmFsdWUgfHwgJzAnO1xuICAgICAgICB0aGlzLm9wdGlvbi5zZXQodmFsdWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDNDb2xQbHVzRmlsdGVySXRlbSB7XG4gICAgaW1nPzogUHVyb0ltYWdlSTtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBuZFRpdGxlPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgZGF0ZT86IHN0cmluZztcbiAgICBmaWx0ZXI/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgZmlsdGVyUGFyZW50Pzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xuICAgIGxpbmtzPzogUHVyb0J1dHRvbklbXTtcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiZXZlbnRzIGV2ZW50c19fbGlzdCBnZW5lcmFsTWFyZ2luXCIgW3N0eWxlLi0tYmctdXJsXT1cImNzc0JnVXJsXCI+XG4gICAgPGRpdiBjbGFzcz1cImV2ZW50c19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2hlYWRpbmdTZWN0aW9uXCI+XG4gICAgICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGxpYi1wdXJvLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnByZXRpdGxlIHx8ICdwJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwiZXZlbnRzX19zdWJIZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnByZXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJldGl0bGVcIlxuICAgICAgICAgICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgIFt0YWddPVwidGFncz8udGl0bGUgfHwgJ2gyJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwiZXZlbnRzX19oZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwidGl0bGVcIlxuICAgICAgICAgICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1fX2dyb3VwIHdpdGhJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiMFwiIHNlbGVjdGVkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbHRlci5wbGFjZWhvbGRlciB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgZmlsdGVyLm9wdGlvbnMgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjc2VsZWN0LWFycm93XCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fbGlzdC0taW5uZXJcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXNEaXNwbGF5ZWQoKSB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faGVhZGluZyBwaG90b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2lubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlua3MgJiYgaXRlbS5saW5rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0/LmxpbmtzPy5bMF0/LmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbT8ubGlua3M/LlswXT8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTA5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldmVudHNfX2dyYXBoaWMtLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCIgbG9hZGluZz1cImxhenlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmltZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5pbWcuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjUwOVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50c19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1nLmFsdFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChleHApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pbmZvLWxvY2F0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5uZFRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fc3ViSGVhZGluZyBwaG90b1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5uZFRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubmRUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX3N1YkhlYWRpbmcgcGhvdG9cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ubmRUaXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2ljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5kYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fZGF0ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIGl0ZW0ubGlua3MgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImxpbmsubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaW5rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgbGluay5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L3NlY3Rpb24+XG4iXX0=
@@ -19,11 +19,11 @@ export class PuroInfoIntroComponent {
19
19
  this.showDescription = !this.showDescription;
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoIntroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoIntroComponent, isStandalone: true, selector: "lib-puro-info-intro", inputs: { title: "title", pretitle: "pretitle", description: "description", descriptionHidden: "descriptionHidden", ndDescription: "ndDescription", buttons: "buttons", seeMore: "seeMore", seeLess: "seeLess", backgroundImg: "backgroundImg", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <span\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [innerHTML]=\"descriptionHidden\"\n ></span>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n @if (button.label !== null && button.linkValue !== \"\"){\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription()\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoIntroComponent, isStandalone: true, selector: "lib-puro-info-intro", inputs: { title: "title", pretitle: "pretitle", description: "description", descriptionHidden: "descriptionHidden", ndDescription: "ndDescription", buttons: "buttons", seeMore: "seeMore", seeLess: "seeLess", backgroundImg: "backgroundImg", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <span\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [innerHTML]=\"descriptionHidden\"\n ></span>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n @if (button.label !== null && button.linkValue !== '') {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription()\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoIntroComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ selector: 'lib-puro-info-intro', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroDynamicHeadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <span\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [innerHTML]=\"descriptionHidden\"\n ></span>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n @if (button.label !== null && button.linkValue !== \"\"){\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription()\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"] }]
26
+ args: [{ selector: 'lib-puro-info-intro', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroDynamicHeadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <span\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [innerHTML]=\"descriptionHidden\"\n ></span>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n @if (button.label !== null && button.linkValue !== '') {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription()\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"] }]
27
27
  }], propDecorators: { title: [{
28
28
  type: Input
29
29
  }], pretitle: [{
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
47
47
  }], textColors: [{
48
48
  type: Input
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1pbmZvLWludHJvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8taW5mby1pbnRyby9wdXJvLWluZm8taW50cm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1pbmZvLWludHJvL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT3pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQVVoRixNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBcUJJLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxFQUFFLENBQUM7S0FZakI7SUFWRyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNqRCxDQUFDOytHQTFCUSxzQkFBc0I7bUdBQXRCLHNCQUFzQix5V0N4Qm5DLDQxRUErREEsMk9ENUNjLFlBQVksK0JBQUUscUJBQXFCLDRJQUFFLDJCQUEyQjs7NEZBS2pFLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDLG1CQUcxRCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFB1cm9MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8taW5mby1pbnRybycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9JbmZvSW50cm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uSGlkZGVuPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG5kRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9ucz86IFB1cm9CdXR0b25JW107XG4gICAgQElucHV0KCkgc2VlTW9yZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzZWVMZXNzPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJhY2tncm91bmRJbWc/OiBQdXJvSW1hZ2VJO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBQdXJvVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IFB1cm9UZXh0c0NvbG9yc0k7XG5cbiAgICBzaG93RGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBoYXNDdXN0b21CZyA9IGZhbHNlO1xuICAgIGNzc0JnVXJsID0gJyc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2dyb3VuZEltZz8uc3JjKSB7XG4gICAgICAgICAgICB0aGlzLmNzc0JnVXJsID0gYHVybChcIiR7dGhpcy5iYWNrZ3JvdW5kSW1nLnNyY31cIilgO1xuICAgICAgICAgICAgdGhpcy5oYXNDdXN0b21CZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgdGhpcy5zaG93RGVzY3JpcHRpb24gPSAhdGhpcy5zaG93RGVzY3JpcHRpb247XG4gICAgfVxufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cIm1vbWVudHMgbW9tZW50cy0td2l0aFRvcEdyYXBoaWMgZ2VuZXJhbE1hcmdpblwiXG4gICAgW2NsYXNzLmhhcy1jdXN0b20tYmddPVwiaGFzQ3VzdG9tQmdcIlxuICAgIFtzdHlsZS4tLWJnLXVybF09XCJoYXNDdXN0b21CZyA/IGNzc0JnVXJsIDogbnVsbFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX2NvbnRhaW5lclwiPlxuICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy5wcmV0aXRsZSB8fCAnc3BhbidcIlxuICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19fdGl0bGVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy5wcmV0aXRsZVwiXG4gICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJldGl0bGVcIlxuICAgICAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgIDxsaWItcHVyby1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnRpdGxlIHx8ICdoMidcIlxuICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19faGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJ0aXRsZVwiXG4gICAgICAgICAgICA+PC9saWItcHVyby1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgQGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChkZXNjcmlwdGlvbkhpZGRlbikge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9yZS1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm1vcmUtY29udGVudC0tb3Blbl09XCJzaG93RGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImRlc2NyaXB0aW9uSGlkZGVuXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChuZERlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIm5kRGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICBAaWYgKGJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uLmxhYmVsICE9PSBudWxsICYmIGJ1dHRvbi5saW5rVmFsdWUgIT09IFwiXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsIHx8IGJ1dHRvbi5saW5rVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2VlTGVzcyAmJiBzZWVNb3JlICYmIGRlc2NyaXB0aW9uSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmUgYnRuX19tb3JlTGVzc1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEZXNjcmlwdGlvbigpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHNob3dEZXNjcmlwdGlvbiA/IHNlZUxlc3MgOiBzZWVNb3JlIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1pbmZvLWludHJvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8taW5mby1pbnRyby9wdXJvLWluZm8taW50cm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1pbmZvLWludHJvL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT3pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQVVoRixNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBcUJJLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxFQUFFLENBQUM7S0FZakI7SUFWRyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNqRCxDQUFDOytHQTFCUSxzQkFBc0I7bUdBQXRCLHNCQUFzQix5V0N4Qm5DLDIxRUErREEsMk9ENUNjLFlBQVksK0JBQUUscUJBQXFCLDRJQUFFLDJCQUEyQjs7NEZBS2pFLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDLG1CQUcxRCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFB1cm9MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8taW5mby1pbnRybycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9JbmZvSW50cm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uSGlkZGVuPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG5kRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9ucz86IFB1cm9CdXR0b25JW107XG4gICAgQElucHV0KCkgc2VlTW9yZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzZWVMZXNzPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJhY2tncm91bmRJbWc/OiBQdXJvSW1hZ2VJO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBQdXJvVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IFB1cm9UZXh0c0NvbG9yc0k7XG5cbiAgICBzaG93RGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBoYXNDdXN0b21CZyA9IGZhbHNlO1xuICAgIGNzc0JnVXJsID0gJyc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2dyb3VuZEltZz8uc3JjKSB7XG4gICAgICAgICAgICB0aGlzLmNzc0JnVXJsID0gYHVybChcIiR7dGhpcy5iYWNrZ3JvdW5kSW1nLnNyY31cIilgO1xuICAgICAgICAgICAgdGhpcy5oYXNDdXN0b21CZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgdGhpcy5zaG93RGVzY3JpcHRpb24gPSAhdGhpcy5zaG93RGVzY3JpcHRpb247XG4gICAgfVxufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cIm1vbWVudHMgbW9tZW50cy0td2l0aFRvcEdyYXBoaWMgZ2VuZXJhbE1hcmdpblwiXG4gICAgW2NsYXNzLmhhcy1jdXN0b20tYmddPVwiaGFzQ3VzdG9tQmdcIlxuICAgIFtzdHlsZS4tLWJnLXVybF09XCJoYXNDdXN0b21CZyA/IGNzc0JnVXJsIDogbnVsbFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX2NvbnRhaW5lclwiPlxuICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy5wcmV0aXRsZSB8fCAnc3BhbidcIlxuICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19fdGl0bGVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy5wcmV0aXRsZVwiXG4gICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJldGl0bGVcIlxuICAgICAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgIDxsaWItcHVyby1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnRpdGxlIHx8ICdoMSdcIlxuICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19faGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJ0aXRsZVwiXG4gICAgICAgICAgICA+PC9saWItcHVyby1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgQGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChkZXNjcmlwdGlvbkhpZGRlbikge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9yZS1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm1vcmUtY29udGVudC0tb3Blbl09XCJzaG93RGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImRlc2NyaXB0aW9uSGlkZGVuXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChuZERlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIm5kRGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICBAaWYgKGJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uLmxhYmVsICE9PSBudWxsICYmIGJ1dHRvbi5saW5rVmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmwgfHwgYnV0dG9uLmxpbmtWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChzZWVMZXNzICYmIHNlZU1vcmUgJiYgZGVzY3JpcHRpb25IaWRkZW4pIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZSBidG5fX21vcmVMZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURlc2NyaXB0aW9uKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgc2hvd0Rlc2NyaXB0aW9uID8gc2VlTGVzcyA6IHNlZU1vcmUgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
@@ -1,11 +1,12 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
3
  import { AutoImageZoomWrapperDirective, PuroLinkTypeDirective, PuroSliderDirective, } from '../../directives';
4
+ import { PuroDynamicHeadingComponent } from '../../shared';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  export class PuroListRestaurantsComponent {
7
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroListRestaurantsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroListRestaurantsComponent, isStandalone: true, selector: "lib-puro-list-restaurants", inputs: { title: "title", items: "items" }, ngImport: i0, template: "<section class=\"suites suites__list generalMargin\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n @if ($even) {\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n }\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n data-no-zoom\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <div [innerHTML]=\"item.description\"></div>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons[0]; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $index === 0,\n btn__primary: $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n data-no-zoom\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <div [innerHTML]=\"item.description\"></div>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons[0]; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $index === 0,\n btn__primary: $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroListRestaurantsComponent, isStandalone: true, selector: "lib-puro-list-restaurants", inputs: { title: "title", items: "items", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"suites suites__list generalMargin\">\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"suites__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n @if ($even) {\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n }\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n data-no-zoom\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <div [innerHTML]=\"item.description\"></div>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons[0]; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $index === 0,\n btn__primary: $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n data-no-zoom\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <div [innerHTML]=\"item.description\"></div>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons[0]; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $index === 0,\n btn__primary: $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
10
  }
10
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroListRestaurantsComponent, decorators: [{
11
12
  type: Component,
@@ -13,11 +14,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
13
14
  CommonModule,
14
15
  PuroLinkTypeDirective,
15
16
  PuroSliderDirective,
17
+ PuroDynamicHeadingComponent,
16
18
  AutoImageZoomWrapperDirective,
17
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"suites suites__list generalMargin\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n @if ($even) {\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n }\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n data-no-zoom\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <div [innerHTML]=\"item.description\"></div>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons[0]; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $index === 0,\n btn__primary: $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n data-no-zoom\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <div [innerHTML]=\"item.description\"></div>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons[0]; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $index === 0,\n btn__primary: $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n" }]
19
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"suites suites__list generalMargin\">\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"suites__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n @if ($even) {\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n }\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n data-no-zoom\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <div [innerHTML]=\"item.description\"></div>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons[0]; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $index === 0,\n btn__primary: $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n data-no-zoom\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <div [innerHTML]=\"item.description\"></div>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons[0]; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $index === 0,\n btn__primary: $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n" }]
18
20
  }], propDecorators: { title: [{
19
21
  type: Input
20
22
  }], items: [{
21
23
  type: Input
24
+ }], tags: [{
25
+ type: Input
26
+ }], textColors: [{
27
+ type: Input
22
28
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1saXN0LXJlc3RhdXJhbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tbGlzdC1yZXN0YXVyYW50cy9wdXJvLWxpc3QtcmVzdGF1cmFudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LXJlc3RhdXJhbnRzL3B1cm8tbGlzdC1yZXN0YXVyYW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixxQkFBcUIsRUFDckIsbUJBQW1CLEdBQ3RCLE1BQU0sa0JBQWtCLENBQUM7OztBQWlCMUIsTUFBTSxPQUFPLDRCQUE0QjsrR0FBNUIsNEJBQTRCO21HQUE1Qiw0QkFBNEIsaUlDdkJ6Qyw4ck5BdUxBLHlERDFLUSxZQUFZLG9TQUNaLHFCQUFxQiw0SUFDckIsbUJBQW1CLGlGQUVuQiw2QkFBNkI7OzRGQU14Qiw0QkFBNEI7a0JBZHhDLFNBQVM7K0JBQ0ksMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUVuQiw2QkFBNkI7cUJBQ2hDLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLFxuICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICBQdXJvU2xpZGVyRGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tbGlzdC1yZXN0YXVyYW50cycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxuICAgICAgICBQdXJvU2xpZGVyRGlyZWN0aXZlLFxuXG4gICAgICAgIEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tbGlzdC1yZXN0YXVyYW50cy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tbGlzdC1yZXN0YXVyYW50cy5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9MaXN0UmVzdGF1cmFudHNDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb0xpc3RSZXN0YXVyYW50SXRlbUlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvTGlzdFJlc3RhdXJhbnRJdGVtSSB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgbG9nbz86IFB1cm9JbWFnZUk7XG4gICAgaW1hZ2VzPzogUHVyb0ltYWdlSVtdO1xuICAgIGVxdWlwbWVudD86IHsgaWNvbj86IHN0cmluZzsgdGV4dD86IHN0cmluZyB9W107XG4gICAgYnV0dG9ucz86IFB1cm9CdXR0b25JW107XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cInN1aXRlcyBzdWl0ZXNfX2xpc3QgZ2VuZXJhbE1hcmdpblwiPlxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWl0ZXNfX3RpdGxlXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fY29udGFpbmVyXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3VpdGVzX19pdGVtIGpzLWFjdGl2ZS1zbGlkZXJcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVzX2luZmluaXRlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3B1cm9TbGlkZXJdPVwiaXRlbXNcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX25hbWU9XCJqcy1waG90by1zbGlkZXJcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX3Nob3didG5zPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZGF0YS1zbGlkZXJfc2hvd2RvdHM9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgZGF0YS1zbGlkZXJfZmFkZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX2F1dG9wbGF5PVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZGF0YS1zbGlkZXNfcGM9XCIxXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKCRldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxlZnRTaWRlVHBsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmlnaHRTaWRlVHBsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuXG48bmctdGVtcGxhdGUgI2xlZnRTaWRlVHBsIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2dyYXBoaWMgcmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImpzLXBob3RvLXNsaWRlciBoLTEwMFwiPlxuICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgaXRlbS5pbWFnZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjc4OVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjc0OFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtc2xpZGVyLWFycm93c1wiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5sb2dvKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fbG9nb1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0ubG9nby5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmxvZ28uYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbm8tem9vbVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInN1aXRlc19faGVhZGluZ1wiPnt7IGl0ZW0udGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3NsaWRlciB3aXRoT3V0U2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoZXF1aXBtZW50IG9mIGl0ZW0uZXF1aXBtZW50OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fc2VydmljZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjQwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJlcXVpcG1lbnQuaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBlcXVpcG1lbnQudGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19wYXJhZ3JhcGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0uZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGl0ZW0uYnV0dG9uc1swXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidG5fX3ByaW1hcnktLW91dGxpbmUnOiAkaW5kZXggPT09IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuX19wcmltYXJ5OiAkaW5kZXggPT09IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyaWdodFNpZGVUcGwgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fY29udGVudFwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLmxvZ28pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19sb2dvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5sb2dvLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI1MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0ubG9nby5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1uby16b29tXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwic3VpdGVzX19oZWFkaW5nXCI+e3sgaXRlbS50aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fc2xpZGVyIHdpdGhPdXRTbGlkZXJcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChlcXVpcG1lbnQgb2YgaXRlbS5lcXVpcG1lbnQ7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19zZXJ2aWNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI1MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImVxdWlwbWVudC5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGVxdWlwbWVudC50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbS5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zWzBdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2J0bl9fcHJpbWFyeS0tb3V0bGluZSc6ICRpbmRleCA9PT0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG5fX3ByaW1hcnk6ICRpbmRleCA9PT0gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYyByZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtcGhvdG8tc2xpZGVyIGgtMTAwXCI+XG4gICAgICAgICAgICBAZm9yIChpbWFnZSBvZiBpdGVtLmltYWdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2Uuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNzg5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VpdGVzX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaW1hZ2UuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1zbGlkZXItYXJyb3dzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1saXN0LXJlc3RhdXJhbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tbGlzdC1yZXN0YXVyYW50cy9wdXJvLWxpc3QtcmVzdGF1cmFudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LXJlc3RhdXJhbnRzL3B1cm8tbGlzdC1yZXN0YXVyYW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixxQkFBcUIsRUFDckIsbUJBQW1CLEdBQ3RCLE1BQU0sa0JBQWtCLENBQUM7QUFPMUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFnQjNELE1BQU0sT0FBTyw0QkFBNEI7K0dBQTVCLDRCQUE0QjttR0FBNUIsNEJBQTRCLHlLQzdCekMsNDJOQTRMQSx5RER6S1EsWUFBWSxvU0FDWixxQkFBcUIsNElBQ3JCLG1CQUFtQixpRkFDbkIsMkJBQTJCLGlJQUMzQiw2QkFBNkI7OzRGQU14Qiw0QkFBNEI7a0JBZHhDLFNBQVM7K0JBQ0ksMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLDZCQUE2QjtxQkFDaEMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQXV0b0ltYWdlWm9vbVdyYXBwZXJEaXJlY3RpdmUsXG4gICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxuICAgIFB1cm9TbGlkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tbGlzdC1yZXN0YXVyYW50cycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxuICAgICAgICBQdXJvU2xpZGVyRGlyZWN0aXZlLFxuICAgICAgICBQdXJvRHluYW1pY0hlYWRpbmdDb21wb25lbnQsXG4gICAgICAgIEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tbGlzdC1yZXN0YXVyYW50cy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tbGlzdC1yZXN0YXVyYW50cy5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9MaXN0UmVzdGF1cmFudHNDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb0xpc3RSZXN0YXVyYW50SXRlbUlbXTtcbiAgICBASW5wdXQoKSB0YWdzPzogUHVyb1RhZ3NJO1xuICAgIEBJbnB1dCgpIHRleHRDb2xvcnM/OiBQdXJvVGV4dHNDb2xvcnNJO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9MaXN0UmVzdGF1cmFudEl0ZW1JIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBsb2dvPzogUHVyb0ltYWdlSTtcbiAgICBpbWFnZXM/OiBQdXJvSW1hZ2VJW107XG4gICAgZXF1aXBtZW50PzogeyBpY29uPzogc3RyaW5nOyB0ZXh0Pzogc3RyaW5nIH1bXTtcbiAgICBidXR0b25zPzogUHVyb0J1dHRvbklbXTtcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwic3VpdGVzIHN1aXRlc19fbGlzdCBnZW5lcmFsTWFyZ2luXCI+XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnRpdGxlIHx8ICdoMSdcIlxuICAgICAgICAgICAgY3NzQ2xhc3M9XCJzdWl0ZXNfX3RpdGxlXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy50aXRsZVwiXG4gICAgICAgICAgICBbY29udGVudF09XCJ0aXRsZVwiXG4gICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250YWluZXJcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdWl0ZXNfX2l0ZW0ganMtYWN0aXZlLXNsaWRlclwiXG4gICAgICAgICAgICAgICAgZGF0YS1zbGlkZXNfaW5maW5pdGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbcHVyb1NsaWRlcl09XCJpdGVtc1wiXG4gICAgICAgICAgICAgICAgZGF0YS1zbGlkZXJfbmFtZT1cImpzLXBob3RvLXNsaWRlclwiXG4gICAgICAgICAgICAgICAgZGF0YS1zbGlkZXJfc2hvd2J0bnM9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9zaG93ZG90cz1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9mYWRlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZGF0YS1zbGlkZXJfYXV0b3BsYXk9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlc19wYz1cIjFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoJGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGVmdFNpZGVUcGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFNpZGVUcGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjbGVmdFNpZGVUcGwgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYyByZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtcGhvdG8tc2xpZGVyIGgtMTAwXCI+XG4gICAgICAgICAgICBAZm9yIChpbWFnZSBvZiBpdGVtLmltYWdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2Uuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNzg5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VpdGVzX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaW1hZ2UuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1zbGlkZXItYXJyb3dzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fY29udGVudFwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLmxvZ28pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19sb2dvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5sb2dvLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI1MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0ubG9nby5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1uby16b29tXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwic3VpdGVzX19oZWFkaW5nXCI+e3sgaXRlbS50aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fc2xpZGVyIHdpdGhPdXRTbGlkZXJcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChlcXVpcG1lbnQgb2YgaXRlbS5lcXVpcG1lbnQ7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19zZXJ2aWNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI1MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImVxdWlwbWVudC5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGVxdWlwbWVudC50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbS5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zWzBdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2J0bl9fcHJpbWFyeS0tb3V0bGluZSc6ICRpbmRleCA9PT0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG5fX3ByaW1hcnk6ICRpbmRleCA9PT0gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JpZ2h0U2lkZVRwbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250ZW50XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0ubG9nbykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2xvZ29cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmxvZ28uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5sb2dvLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW5vLXpvb21cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJzdWl0ZXNfX2hlYWRpbmdcIj57eyBpdGVtLnRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19zbGlkZXIgd2l0aE91dFNsaWRlclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGVxdWlwbWVudCBvZiBpdGVtLmVxdWlwbWVudDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3NlcnZpY2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZXF1aXBtZW50Lmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZXF1aXBtZW50LnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fcGFyYWdyYXBoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtLmRlc2NyaXB0aW9uXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBpdGVtLmJ1dHRvbnNbMF07IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuX19wcmltYXJ5LS1vdXRsaW5lJzogJGluZGV4ID09PSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9fcHJpbWFyeTogJGluZGV4ID09PSAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19ncmFwaGljIHJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1waG90by1zbGlkZXIgaC0xMDBcIj5cbiAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIGl0ZW0uaW1hZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZS5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3ODlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWl0ZXNfX2dyYXBoaWMtLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI3NDhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpbWFnZS5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImpzLXNsaWRlci1hcnJvd3NcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=