@rededor/site-front-end-lib 1.3.9 → 1.3.11

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.
@@ -18,6 +18,9 @@ export class FilterLetterAndTermsComponent {
18
18
  return {
19
19
  '--font-family': this.curaService.getFontFamily(''),
20
20
  '--neutral-purewhite': this.curaService.getColor('neutral-purewhite'),
21
+ '--neutral-pale': this.curaService.getColor('neutral-pale'),
22
+ '--neutral-light': this.curaService.getColor('neutral-light'),
23
+ '--neutral-dark': this.curaService.getColor('neutral-dark'),
21
24
  '--neutral-black': this.curaService.getColor('neutral-black'),
22
25
  '--color-one-light': this.curaService.getColor('primary-light'),
23
26
  '--color-one-base': this.curaService.getColor('primary-base'),
@@ -62,11 +65,11 @@ export class FilterLetterAndTermsComponent {
62
65
  }
63
66
  }
64
67
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterLetterAndTermsComponent, deps: [{ token: i1.CuraService }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterLetterAndTermsComponent, isStandalone: true, selector: "rdsite-filter-letter-and-terms", inputs: { options: "options", baseUrl: "baseUrl", baseUrlAll: "baseUrlAll", enableScroll: "enableScroll", selectedOption: "selectedOption" }, outputs: { optionSelected: "optionSelected" }, host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<div class=\"filter-letter-and-terms\">\r\n <a\r\n id=\"todas\"\r\n rdsitelink\r\n class=\"filter-option\"\r\n [class.selected]=\"selectedOption === ''\"\r\n [href]=\"baseUrlAll ? baseUrlAll : baseUrl ? baseUrl : '#'\"\r\n (click)=\"selectOption('', $event)\"\r\n >\r\n TODAS\r\n </a>\r\n\r\n @for (option of options; track option) {\r\n <a\r\n [id]=\"option\"\r\n rdsitelink\r\n class=\"filter-option\"\r\n [class.selected]=\"selectedOption === option\"\r\n [href]=\"baseUrl ? baseUrl + option.toLowerCase() : '#'\"\r\n (click)=\"selectOption(option, $event)\"\r\n >\r\n {{ option }}\r\n </a>\r\n }\r\n</div>\r\n", styles: [".filter-letter-and-terms{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px;width:100vw;margin-inline:-5vw;padding-inline:5vw;padding-block:12px;overflow-x:scroll}@media only screen and (min-width: 992px){.filter-letter-and-terms{flex-wrap:wrap;width:100%;padding:12px 0;margin:0;overflow-x:auto}}.filter-letter-and-terms .filter-option{flex:0 0 28px;display:flex;justify-content:center;align-items:center;padding:6px;color:var(--neutral-black);font-family:var(--font-family);font-size:12px;border:2px solid var(--color-one-darker);border-radius:4px;background-color:var(--neutral-purewhite);transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear}.filter-letter-and-terms .filter-option:hover{background-color:var(--color-one-light)}.filter-letter-and-terms .filter-option:focus{outline:2px solid var(--color-one-light)}.filter-letter-and-terms .filter-option.selected{color:var(--neutral-purewhite);background-color:var(--color-one-base)}.filter-letter-and-terms .filter-option.selected:hover{background-color:var(--color-one-dark)}\n"] }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterLetterAndTermsComponent, isStandalone: true, selector: "rdsite-filter-letter-and-terms", inputs: { options: "options", baseUrl: "baseUrl", baseUrlAll: "baseUrlAll", enableScroll: "enableScroll", selectedOption: "selectedOption" }, outputs: { optionSelected: "optionSelected" }, host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<div class=\"filter-letter-and-terms\">\r\n <a\r\n id=\"todas\"\r\n rdsitelink\r\n class=\"filter-option\"\r\n [class.selected]=\"selectedOption === ''\"\r\n [href]=\"baseUrlAll ? baseUrlAll : baseUrl ? baseUrl : '#'\"\r\n (click)=\"selectOption('', $event)\"\r\n >\r\n TODAS\r\n </a>\r\n\r\n @for (option of options; track option) {\r\n <a\r\n [id]=\"option\"\r\n rdsitelink\r\n class=\"filter-option\"\r\n [class.selected]=\"selectedOption === option\"\r\n [href]=\"baseUrl ? baseUrl + option.toLowerCase() : '#'\"\r\n (click)=\"selectOption(option, $event)\"\r\n >\r\n {{ option }}\r\n </a>\r\n }\r\n</div>\r\n", styles: [".filter-letter-and-terms{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px;width:100vw;margin-inline:-5vw;padding-inline:5vw;padding-block:12px;overflow-x:scroll}@media only screen and (min-width: 992px){.filter-letter-and-terms{flex-wrap:wrap;width:100%;padding:12px 0;margin:0;overflow-x:auto}}.filter-letter-and-terms .filter-option{flex:0 0 28px;display:flex;justify-content:center;align-items:center;padding:6px;color:var(--neutral-dark);font-family:var(--font-family);font-size:12px;border-radius:4px;background-color:var(--neutral-pale);border:1px solid var(--neutral-light);transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear}.filter-letter-and-terms .filter-option:hover{background-color:var(--color-one-base)}.filter-letter-and-terms .filter-option:focus{outline:2px solid var(--color-one-light)}.filter-letter-and-terms .filter-option.selected{color:var(--neutral-purewhite);background-color:var(--color-one-base)}.filter-letter-and-terms .filter-option.selected:hover{background-color:var(--color-one-dark)}\n"] }); }
66
69
  }
67
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterLetterAndTermsComponent, decorators: [{
68
71
  type: Component,
69
- args: [{ selector: 'rdsite-filter-letter-and-terms', standalone: true, imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"filter-letter-and-terms\">\r\n <a\r\n id=\"todas\"\r\n rdsitelink\r\n class=\"filter-option\"\r\n [class.selected]=\"selectedOption === ''\"\r\n [href]=\"baseUrlAll ? baseUrlAll : baseUrl ? baseUrl : '#'\"\r\n (click)=\"selectOption('', $event)\"\r\n >\r\n TODAS\r\n </a>\r\n\r\n @for (option of options; track option) {\r\n <a\r\n [id]=\"option\"\r\n rdsitelink\r\n class=\"filter-option\"\r\n [class.selected]=\"selectedOption === option\"\r\n [href]=\"baseUrl ? baseUrl + option.toLowerCase() : '#'\"\r\n (click)=\"selectOption(option, $event)\"\r\n >\r\n {{ option }}\r\n </a>\r\n }\r\n</div>\r\n", styles: [".filter-letter-and-terms{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px;width:100vw;margin-inline:-5vw;padding-inline:5vw;padding-block:12px;overflow-x:scroll}@media only screen and (min-width: 992px){.filter-letter-and-terms{flex-wrap:wrap;width:100%;padding:12px 0;margin:0;overflow-x:auto}}.filter-letter-and-terms .filter-option{flex:0 0 28px;display:flex;justify-content:center;align-items:center;padding:6px;color:var(--neutral-black);font-family:var(--font-family);font-size:12px;border:2px solid var(--color-one-darker);border-radius:4px;background-color:var(--neutral-purewhite);transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear}.filter-letter-and-terms .filter-option:hover{background-color:var(--color-one-light)}.filter-letter-and-terms .filter-option:focus{outline:2px solid var(--color-one-light)}.filter-letter-and-terms .filter-option.selected{color:var(--neutral-purewhite);background-color:var(--color-one-base)}.filter-letter-and-terms .filter-option.selected:hover{background-color:var(--color-one-dark)}\n"] }]
72
+ args: [{ selector: 'rdsite-filter-letter-and-terms', standalone: true, imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"filter-letter-and-terms\">\r\n <a\r\n id=\"todas\"\r\n rdsitelink\r\n class=\"filter-option\"\r\n [class.selected]=\"selectedOption === ''\"\r\n [href]=\"baseUrlAll ? baseUrlAll : baseUrl ? baseUrl : '#'\"\r\n (click)=\"selectOption('', $event)\"\r\n >\r\n TODAS\r\n </a>\r\n\r\n @for (option of options; track option) {\r\n <a\r\n [id]=\"option\"\r\n rdsitelink\r\n class=\"filter-option\"\r\n [class.selected]=\"selectedOption === option\"\r\n [href]=\"baseUrl ? baseUrl + option.toLowerCase() : '#'\"\r\n (click)=\"selectOption(option, $event)\"\r\n >\r\n {{ option }}\r\n </a>\r\n }\r\n</div>\r\n", styles: [".filter-letter-and-terms{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px;width:100vw;margin-inline:-5vw;padding-inline:5vw;padding-block:12px;overflow-x:scroll}@media only screen and (min-width: 992px){.filter-letter-and-terms{flex-wrap:wrap;width:100%;padding:12px 0;margin:0;overflow-x:auto}}.filter-letter-and-terms .filter-option{flex:0 0 28px;display:flex;justify-content:center;align-items:center;padding:6px;color:var(--neutral-dark);font-family:var(--font-family);font-size:12px;border-radius:4px;background-color:var(--neutral-pale);border:1px solid var(--neutral-light);transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear}.filter-letter-and-terms .filter-option:hover{background-color:var(--color-one-base)}.filter-letter-and-terms .filter-option:focus{outline:2px solid var(--color-one-light)}.filter-letter-and-terms .filter-option.selected{color:var(--neutral-purewhite);background-color:var(--color-one-base)}.filter-letter-and-terms .filter-option.selected:hover{background-color:var(--color-one-dark)}\n"] }]
70
73
  }], ctorParameters: () => [{ type: i1.CuraService }, { type: Document, decorators: [{
71
74
  type: Inject,
72
75
  args: [DOCUMENT]
@@ -89,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
89
92
  type: HostBinding,
90
93
  args: ['style']
91
94
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxldHRlci1hbmQtdGVybXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci1sZXR0ZXItYW5kLXRlcm1zL2ZpbHRlci1sZXR0ZXItYW5kLXRlcm1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhKLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVTlELE1BQU0sT0FBTyw2QkFBNkI7SUFReEMsSUFDSSxjQUFjLENBQUMsS0FBYTtRQUM5QixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssS0FBSztZQUFFLE9BQU87UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUlELElBQTBCLEtBQUs7UUFDN0IsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJLENB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c0JBQXZCLE1BQU07Z0JBRW1CLEtBQUs7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXJhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncmRzaXRlLWZpbHRlci1sZXR0ZXItYW5kLXRlcm1zJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWxldHRlci1hbmQtdGVybXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJMZXR0ZXJBbmRUZXJtc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgYmFzZVVybDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgYmFzZVVybEFsbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgZW5hYmxlU2Nyb2xsID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBpc0ZpcnN0U2Nyb2xsID0gdHJ1ZTtcclxuICBwcml2YXRlIF9zZWxlY3RlZE9wdGlvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkT3B0aW9uKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLl9zZWxlY3RlZE9wdGlvbiA9PT0gdmFsdWUpIHJldHVybjtcclxuICAgIHRoaXMuX3NlbGVjdGVkT3B0aW9uID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5lbmFibGVTY3JvbGwgJiYgIXRoaXMuaXNGaXJzdFNjcm9sbCkge1xyXG4gICAgICB0aGlzLnNjcm9sbFRvU2VsZWN0ZWRPcHRpb24odmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHNlbGVjdGVkT3B0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRPcHRpb247XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb3B0aW9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgc3R5bGUoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnLS1mb250LWZhbWlseSc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Rm9udEZhbWlseSgnJyksXHJcbiAgICAgICctLW5ldXRyYWwtcHVyZXdoaXRlJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1wdXJld2hpdGUnKSxcclxuICAgICAgJy0tbmV1dHJhbC1ibGFjayc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtYmxhY2snKSxcclxuICAgICAgJy0tY29sb3Itb25lLWxpZ2h0JzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1saWdodCcpLFxyXG4gICAgICAnLS1jb2xvci1vbmUtYmFzZSc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ3ByaW1hcnktYmFzZScpLFxyXG4gICAgICAnLS1jb2xvci1vbmUtZGFyayc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ3ByaW1hcnktZGFyaycpLFxyXG4gICAgICAnLS1jb2xvci1vbmUtZGFya2VyJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1kYXJrZXInKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VyYVNlcnZpY2U6IEN1cmFTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcclxuICApIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG9TZWxlY3RlZE9wdGlvbih0aGlzLnNlbGVjdGVkT3B0aW9uKTtcclxuICAgICAgdGhpcy5pc0ZpcnN0U2Nyb2xsID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RPcHRpb24ob3B0aW9uOiBzdHJpbmcsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQob3B0aW9uKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvU2VsZWN0ZWRPcHRpb24odmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgY29uc3QgZWxlbWVudElkID0gdmFsdWUgfHwgJ3RvZGFzJztcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50ID0gZWxlbWVudElkID09PSAndG9kYXMnID8gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9kYXMnKSA6IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodmFsdWUpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50KSB7XHJcbiAgICAgICAgc2VsZWN0ZWRFbGVtZW50LnNjcm9sbEludG9WaWV3KHtcclxuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcclxuICAgICAgICAgIGlubGluZTogJ2NlbnRlcicsXHJcbiAgICAgICAgICBibG9jazogJ25lYXJlc3QnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItbGV0dGVyLWFuZC10ZXJtc1wiPlxyXG4gIDxhXHJcbiAgICBpZD1cInRvZGFzXCJcclxuICAgIHJkc2l0ZWxpbmtcclxuICAgIGNsYXNzPVwiZmlsdGVyLW9wdGlvblwiXHJcbiAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRPcHRpb24gPT09ICcnXCJcclxuICAgIFtocmVmXT1cImJhc2VVcmxBbGwgPyBiYXNlVXJsQWxsIDogYmFzZVVybCA/IGJhc2VVcmwgOiAnIydcIlxyXG4gICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbignJywgJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgVE9EQVNcclxuICA8L2E+XHJcblxyXG4gIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24pIHtcclxuICAgIDxhXHJcbiAgICAgIFtpZF09XCJvcHRpb25cIlxyXG4gICAgICByZHNpdGVsaW5rXHJcbiAgICAgIGNsYXNzPVwiZmlsdGVyLW9wdGlvblwiXHJcbiAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE9wdGlvbiA9PT0gb3B0aW9uXCJcclxuICAgICAgW2hyZWZdPVwiYmFzZVVybCA/IGJhc2VVcmwgKyBvcHRpb24udG9Mb3dlckNhc2UoKSA6ICcjJ1wiXHJcbiAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uLCAkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAge3sgb3B0aW9uIH19XHJcbiAgICA8L2E+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxldHRlci1hbmQtdGVybXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci1sZXR0ZXItYW5kLXRlcm1zL2ZpbHRlci1sZXR0ZXItYW5kLXRlcm1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhKLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVTlELE1BQU0sT0FBTyw2QkFBNkI7SUFReEMsSUFDSSxjQUFjLENBQUMsS0FBYTtRQUM5QixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssS0FBSztZQUFFLE9BQU87UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUlELElBQTBCLEtBQUs7UUFDN0IsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDbkQscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7WUFDckUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzNELGlCQUFpQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUM3RCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDM0QsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1lBQzdELG1CQUFtQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUMvRCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDN0Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzdELG9CQUFvQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1NBQ2xFLENBQUM7SUFDSixDQUFDO0lBRUQsWUFDbUIsV0FBd0IsRUFDZixRQUFrQixFQUNOLFVBQWtCO1FBRnZDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNOLGVBQVUsR0FBVixVQUFVLENBQVE7UUF4Q2pELFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBZTNCLG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFxQnpFLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjLEVBQUUsS0FBWTtRQUN2QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQWE7UUFDbEMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLFNBQVMsR0FBRyxLQUFLLElBQUksT0FBTyxDQUFDO1lBQ25DLE1BQU0sZUFBZSxHQUFHLFNBQVMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1SCxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNwQixlQUFlLENBQUMsY0FBYyxDQUFDO29CQUM3QixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsTUFBTSxFQUFFLFFBQVE7b0JBQ2hCLEtBQUssRUFBRSxTQUFTO2lCQUNqQixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBckVVLDZCQUE2Qiw2Q0F3QzlCLFFBQVEsYUFDUixXQUFXO21HQXpDViw2QkFBNkIsd1VDWjFDLDZxQkF5QkE7OzRGRGJhLDZCQUE2QjtrQkFSekMsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQLEVBQUUsV0FDRixDQUFDLHNCQUFzQixDQUFDOzswQkE0QzlCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXO3lDQXhDWixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRixjQUFjO3NCQURqQixLQUFLO2dCQWFJLGNBQWM7c0JBQXZCLE1BQU07Z0JBRW1CLEtBQUs7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXJhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncmRzaXRlLWZpbHRlci1sZXR0ZXItYW5kLXRlcm1zJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWxldHRlci1hbmQtdGVybXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJMZXR0ZXJBbmRUZXJtc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgYmFzZVVybDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgYmFzZVVybEFsbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgZW5hYmxlU2Nyb2xsID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBpc0ZpcnN0U2Nyb2xsID0gdHJ1ZTtcclxuICBwcml2YXRlIF9zZWxlY3RlZE9wdGlvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkT3B0aW9uKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLl9zZWxlY3RlZE9wdGlvbiA9PT0gdmFsdWUpIHJldHVybjtcclxuICAgIHRoaXMuX3NlbGVjdGVkT3B0aW9uID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5lbmFibGVTY3JvbGwgJiYgIXRoaXMuaXNGaXJzdFNjcm9sbCkge1xyXG4gICAgICB0aGlzLnNjcm9sbFRvU2VsZWN0ZWRPcHRpb24odmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHNlbGVjdGVkT3B0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRPcHRpb247XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb3B0aW9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgc3R5bGUoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnLS1mb250LWZhbWlseSc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Rm9udEZhbWlseSgnJyksXHJcbiAgICAgICctLW5ldXRyYWwtcHVyZXdoaXRlJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1wdXJld2hpdGUnKSxcclxuICAgICAgJy0tbmV1dHJhbC1wYWxlJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1wYWxlJyksXHJcbiAgICAgICctLW5ldXRyYWwtbGlnaHQnOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWxpZ2h0JyksXHJcbiAgICAgICctLW5ldXRyYWwtZGFyayc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtZGFyaycpLFxyXG4gICAgICAnLS1uZXV0cmFsLWJsYWNrJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1ibGFjaycpLFxyXG4gICAgICAnLS1jb2xvci1vbmUtbGlnaHQnOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCdwcmltYXJ5LWxpZ2h0JyksXHJcbiAgICAgICctLWNvbG9yLW9uZS1iYXNlJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1iYXNlJyksXHJcbiAgICAgICctLWNvbG9yLW9uZS1kYXJrJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1kYXJrJyksXHJcbiAgICAgICctLWNvbG9yLW9uZS1kYXJrZXInOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCdwcmltYXJ5LWRhcmtlcicpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXJhU2VydmljZTogQ3VyYVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZDogb2JqZWN0LFxyXG4gICkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb24pIHtcclxuICAgICAgdGhpcy5zY3JvbGxUb1NlbGVjdGVkT3B0aW9uKHRoaXMuc2VsZWN0ZWRPcHRpb24pO1xyXG4gICAgICB0aGlzLmlzRmlyc3RTY3JvbGwgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IHN0cmluZywgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG9wdGlvbjtcclxuICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQuZW1pdChvcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsVG9TZWxlY3RlZE9wdGlvbih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICBjb25zdCBlbGVtZW50SWQgPSB2YWx1ZSB8fCAndG9kYXMnO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSBlbGVtZW50SWQgPT09ICd0b2RhcycgPyB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2RhcycpIDogdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh2YWx1ZSk7XHJcbiAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnQpIHtcclxuICAgICAgICBzZWxlY3RlZEVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoe1xyXG4gICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICAgICAgaW5saW5lOiAnY2VudGVyJyxcclxuICAgICAgICAgIGJsb2NrOiAnbmVhcmVzdCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1sZXR0ZXItYW5kLXRlcm1zXCI+XHJcbiAgPGFcclxuICAgIGlkPVwidG9kYXNcIlxyXG4gICAgcmRzaXRlbGlua1xyXG4gICAgY2xhc3M9XCJmaWx0ZXItb3B0aW9uXCJcclxuICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE9wdGlvbiA9PT0gJydcIlxyXG4gICAgW2hyZWZdPVwiYmFzZVVybEFsbCA/IGJhc2VVcmxBbGwgOiBiYXNlVXJsID8gYmFzZVVybCA6ICcjJ1wiXHJcbiAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKCcnLCAkZXZlbnQpXCJcclxuICA+XHJcbiAgICBUT0RBU1xyXG4gIDwvYT5cclxuXHJcbiAgQGZvciAob3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrIG9wdGlvbikge1xyXG4gICAgPGFcclxuICAgICAgW2lkXT1cIm9wdGlvblwiXHJcbiAgICAgIHJkc2l0ZWxpbmtcclxuICAgICAgY2xhc3M9XCJmaWx0ZXItb3B0aW9uXCJcclxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkT3B0aW9uID09PSBvcHRpb25cIlxyXG4gICAgICBbaHJlZl09XCJiYXNlVXJsID8gYmFzZVVybCArIG9wdGlvbi50b0xvd2VyQ2FzZSgpIDogJyMnXCJcclxuICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihvcHRpb24sICRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICB7eyBvcHRpb24gfX1cclxuICAgIDwvYT5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,220 @@
1
+ import { CommonModule, isPlatformBrowser } from '@angular/common';
2
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, HostBinding, Inject, Input, Output, PLATFORM_ID } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { MediaQueries } from '../../../helpers/mediaQueries';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../services";
7
+ import * as i2 from "@angular/common";
8
+ export class FilterGenericComponent {
9
+ constructor(curaService, cdr, platformId) {
10
+ this.curaService = curaService;
11
+ this.cdr = cdr;
12
+ this.platformId = platformId;
13
+ this.filterChange = new EventEmitter();
14
+ this.closeModal = new EventEmitter();
15
+ this.openMobileFilter = new EventEmitter();
16
+ this.withContainerStyle = true;
17
+ this.showClearButton = true;
18
+ this.showApplyButton = true;
19
+ this.showCloseButton = false;
20
+ this.disableButtonsWithoutSelection = false;
21
+ this.showBadge = true;
22
+ this.showToggleIcon = true;
23
+ this.isFilterOpen = true;
24
+ this.mobileBehavior = false;
25
+ this.forceCollapsed = false;
26
+ this.emitOnReset = false;
27
+ this.textTitle = 'Filtrar por';
28
+ this.sections = [];
29
+ this.selectedFiltersCount = 0;
30
+ this.windowWidth = 0;
31
+ this.styleBinding = {
32
+ '--neutral-darker': this.curaService.getColor('neutral-darker'),
33
+ '--neutral-light': this.curaService.getColor('neutral-light'),
34
+ '--neutral-lighter': this.curaService.getColor('neutral-lighter'),
35
+ '--neutral-purewhite': this.curaService.getColor('neutral-purewhite'),
36
+ };
37
+ }
38
+ ngOnInit() {
39
+ if (isPlatformBrowser(this.platformId)) {
40
+ this.windowWidth = window.innerWidth;
41
+ }
42
+ if (this.forceCollapsed && this.isMobile()) {
43
+ this.isFilterOpen = false;
44
+ }
45
+ }
46
+ handleInputChange(event, control) {
47
+ control.setValue(event.detail);
48
+ this.updateSelectedFiltersCount();
49
+ }
50
+ handleSelectChange(event, control) {
51
+ if (event?.detail !== undefined) {
52
+ control.setValue(event.detail);
53
+ this.updateSelectedFiltersCount();
54
+ }
55
+ }
56
+ handleCheckboxChange(event, options) {
57
+ const changedOption = options.find((opt) => opt.value === event.detail.value);
58
+ if (changedOption)
59
+ changedOption.checked = event.detail.checked;
60
+ this.updateCheckboxGroup(options);
61
+ this.updateSelectedFiltersCount();
62
+ }
63
+ handleRadioChange(event, control) {
64
+ const selectedValue = event.detail.value;
65
+ control.setValue(control.value?.value === selectedValue ? null : { value: selectedValue });
66
+ }
67
+ filter() {
68
+ this.emitFilterChange('filter');
69
+ if (this.mobileBehavior || this.showCloseButton)
70
+ this.close();
71
+ }
72
+ reset() {
73
+ this.resetAllControls();
74
+ this.updateSelectedFiltersCount();
75
+ if (this.emitOnReset) {
76
+ this.emitFilterChange('reset');
77
+ this.close();
78
+ }
79
+ }
80
+ close() {
81
+ this.closeModal.emit(true);
82
+ }
83
+ toggleFilter() {
84
+ if (this.mobileBehavior && this.isMobile()) {
85
+ this.openMobileFilter.emit();
86
+ }
87
+ else {
88
+ this.isFilterOpen = !this.isFilterOpen;
89
+ }
90
+ this.cdr.detectChanges();
91
+ }
92
+ hasSelection() {
93
+ this.updateSelectedFiltersCount();
94
+ return this.selectedFiltersCount > 0;
95
+ }
96
+ isMobile() {
97
+ return this.windowWidth <= MediaQueries.smallBreakpoint;
98
+ }
99
+ getRadioGroupValue(control) {
100
+ const value = control?.value;
101
+ return value && typeof value === 'object' && 'value' in value ? value.value : null;
102
+ }
103
+ emitFilterChange(action) {
104
+ const filterData = this.buildFilterData();
105
+ const isEmpty = this.isFilterDataEmpty(filterData);
106
+ this.filterChange.emit({
107
+ data: this.emitOnReset || !isEmpty ? filterData : null,
108
+ action: action,
109
+ });
110
+ }
111
+ updateSelectedFiltersCount() {
112
+ this.selectedFiltersCount = this.sections.reduce((count, section) => {
113
+ if (!section.config?.control)
114
+ return count;
115
+ const value = section.config.control.value;
116
+ switch (section.type) {
117
+ case 'checkbox-group':
118
+ return count + (Array.isArray(value) ? value.filter((item) => item?.checked).length : 0);
119
+ case 'radio-group':
120
+ return count + (value?.value ? 1 : 0);
121
+ default:
122
+ return count + (value ? 1 : 0);
123
+ }
124
+ }, 0);
125
+ }
126
+ resetAllControls() {
127
+ this.sections.forEach((section) => {
128
+ if (!section.config?.control)
129
+ return;
130
+ if (section.type === 'checkbox-group') {
131
+ const resetOptions = section.config.options.map((option) => ({ ...option, checked: false }));
132
+ section.config.options = resetOptions;
133
+ section.config.control.setValue(resetOptions, { emitEvent: false });
134
+ }
135
+ else {
136
+ section.config.control.reset('', { emitEvent: false });
137
+ }
138
+ });
139
+ }
140
+ updateCheckboxGroup(options) {
141
+ this.sections
142
+ .filter((section) => section.type === 'checkbox-group')
143
+ .forEach((section) => {
144
+ section.config.options = [...options];
145
+ section.config.control.setValue([...options]);
146
+ });
147
+ }
148
+ buildFilterData() {
149
+ const filterData = {
150
+ unidade: '',
151
+ estado: '',
152
+ cobertura: [],
153
+ };
154
+ this.sections.forEach((section) => {
155
+ if (!section.config?.control)
156
+ return;
157
+ const value = section.config.control.value;
158
+ switch (section.type) {
159
+ case 'input':
160
+ filterData.unidade = value || '';
161
+ break;
162
+ case 'select':
163
+ filterData.estado = value || '';
164
+ break;
165
+ case 'checkbox-group':
166
+ filterData.cobertura = Array.isArray(value) ? value.filter((item) => item.checked) : [];
167
+ break;
168
+ }
169
+ });
170
+ return filterData;
171
+ }
172
+ isFilterDataEmpty(filterData) {
173
+ return Object.values(filterData).every((val) => val === null || val === '' || (Array.isArray(val) && val.length === 0));
174
+ }
175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterGenericComponent, deps: [{ token: i1.CuraService }, { token: i0.ChangeDetectorRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
176
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterGenericComponent, isStandalone: true, selector: "rdsite-filter-generic", inputs: { withContainerStyle: "withContainerStyle", showClearButton: "showClearButton", showApplyButton: "showApplyButton", showCloseButton: "showCloseButton", disableButtonsWithoutSelection: "disableButtonsWithoutSelection", showBadge: "showBadge", showToggleIcon: "showToggleIcon", isFilterOpen: "isFilterOpen", mobileBehavior: "mobileBehavior", forceCollapsed: "forceCollapsed", emitOnReset: "emitOnReset", textTitle: "textTitle", sections: "sections" }, outputs: { filterChange: "filterChange", closeModal: "closeModal", openMobileFilter: "openMobileFilter" }, host: { properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "<div class=\"filter-generic\" [ngClass]=\"{ 'container-style': withContainerStyle }\" aria-label=\"Filtros\">\r\n <div class=\"filter-header-container\" [ngClass]=\"{ 'no-padding': !isFilterOpen, hidden: !isFilterOpen }\">\r\n <div class=\"filter-title-wrapper\">\r\n <cura-heading size=\"small\" level=\"4\" color=\"neutral-black\" weight=\"bold\" margin-block=\"0\" line-height=\"16px\">\r\n {{ textTitle }}\r\n </cura-heading>\r\n\r\n @if (showBadge) {\r\n <cura-badge-counter\r\n [type]=\"'solid'\"\r\n [color]=\"hasSelection() ? 'primary' : 'neutral'\"\r\n [number]=\"selectedFiltersCount\"\r\n class=\"filter-badge\"\r\n ></cura-badge-counter>\r\n }\r\n </div>\r\n\r\n @if (showToggleIcon) {\r\n <cura-button-transparent size=\"small\" font-color=\"dark\" color=\"primary\" text-align=\"center\" (click)=\"toggleFilter()\" [attr.aria-expanded]=\"isFilterOpen\">\r\n <cura-icon [name]=\"isFilterOpen ? 'up' : 'down'\" size=\"16\" class=\"filter-icon\" color=\"primary-dark\"></cura-icon>\r\n </cura-button-transparent>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-content\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n @for (section of sections; track section.type) {\r\n @if (section.visible !== false) {\r\n <div class=\"filter-section\">\r\n @switch (section.type) {\r\n @case ('input') {\r\n <cura-input-text\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [name]=\"section.config.name || ''\"\r\n [iconName]=\"section.config.iconName || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (valueChange)=\"handleInputChange($event, section.config.control)\"\r\n ></cura-input-text>\r\n }\r\n @case ('select') {\r\n <cura-select\r\n [label]=\"section.config.label || ''\"\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (selected)=\"handleSelectChange($event, section.config.control)\"\r\n >\r\n @if (section.config.includeDefaultOption) {\r\n <cura-select-option [attr.value]=\"''\">{{ section.config.defaultOptionText || 'Fa\u00E7a a sua Sele\u00E7\u00E3o' }}</cura-select-option>\r\n }\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-select-option [attr.value]=\"option?.value\">{{ option?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n @case ('checkbox-group') {\r\n <div class=\"filter-header\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\r\n {{ section.config.title || 'Filtre por' }}\r\n </cura-heading>\r\n </div>\r\n\r\n @if (section.config.subtitle) {\r\n <div class=\"filter-subtitle\">\r\n <cura-heading size=\"xsmall\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\">\r\n {{ section.config.subtitle }}\r\n </cura-heading>\r\n </div>\r\n }\r\n\r\n @if (section.config.description) {\r\n <div class=\"filter-description\">\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\r\n {{ section.config.description }}\r\n </cura-paragraph>\r\n </div>\r\n }\r\n\r\n <div class=\"filter-checkboxes\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n icon-color=\"light\"\r\n [attr.name]=\"option?.label\"\r\n [attr.label]=\"option?.label\"\r\n [attr.value]=\"option?.value\"\r\n [attr.checked]=\"option?.checked\"\r\n (onchange)=\"handleCheckboxChange($event, section.config.options)\"\r\n ></cura-checkbox>\r\n }\r\n </div>\r\n }\r\n @case ('radio-group') {\r\n <div class=\"filter-radios\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-radio\r\n [name]=\"section.config.name || 'radio-group'\"\r\n [label]=\"option.label\"\r\n [value]=\"option.value\"\r\n [checked]=\"getRadioGroupValue(section.config.control) === option.value\"\r\n (onchange)=\"handleRadioChange($event, section.config.control)\"\r\n ></cura-radio>\r\n }\r\n </div>\r\n }\r\n @case ('custom') {\r\n <ng-container *ngTemplateOutlet=\"section.config.template\"></ng-container>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"filter-actions\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n <div class=\"main-actions\">\r\n @if (showClearButton) {\r\n <cura-button-transparent\r\n size=\"small\"\r\n font-color=\"dark\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n (click)=\"reset()\"\r\n >\r\n <span>Limpar todos os filtros</span>\r\n </cura-button-transparent>\r\n }\r\n\r\n @if (showApplyButton) {\r\n <cura-button\r\n size=\"medium\"\r\n font-color=\"light\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n (click)=\"filter()\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n class=\"filter-button\"\r\n >\r\n Filtrar\r\n </cura-button>\r\n }\r\n </div>\r\n\r\n @if (showCloseButton) {\r\n <div class=\"divider-strong\"></div>\r\n <div class=\"close-action-wrapper\">\r\n <div class=\"close-action\" (click)=\"close()\">\r\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"></cura-icon>\r\n <cura-button-transparent size=\"\" type=\"button\" color=\"error\" target=\"_self\"> Fechar </cura-button-transparent>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host *{font-family:Gotham,Roboto,sans-serif}.filter-generic{display:flex;flex-direction:column;gap:18px}.filter-generic.container-style{width:100%;padding:20px;border-radius:12px;border:2px solid var(--neutral-lighter);background-color:var(--neutral-purewhite)}.filter-generic cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}.filter-header-container{display:flex;padding-bottom:12px;align-items:center}.filter-header-container.no-padding{padding-bottom:0}.filter-header-container .filter-title-wrapper{display:flex;align-items:center;justify-content:space-between;flex:1 0 0}.filter-header-container .filter-badge{display:flex;height:20px;min-width:20px;justify-content:center;align-items:center;gap:4px}.filter-header-container .filter-icon{display:block}.filter-content,.filter-actions{transition:all .3s ease}.filter-content.hidden,.filter-actions.hidden{display:none;height:0;overflow:hidden;opacity:0;margin:0;padding:0}.filter-section{display:flex;flex-direction:column;gap:24px}.filter-section .filter-header{display:flex;align-items:center;gap:14px}.filter-section .filter-subtitle{font-weight:500}.filter-section .filter-description{display:flex;flex-direction:column;gap:8px}.filter-section .filter-description:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-section .filter-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-section .filter-checkboxes:after{content:\"\";display:block;width:100%;height:1px;margin-top:12px;background-color:var(--neutral-light);grid-column:1/-1}.filter-section .filter-radios{display:flex;flex-direction:column;gap:12px}.filter-section .filter-radios:after{content:\"\";display:block;width:100%;height:1px;background:linear-gradient(90deg,var(--neutral-light) 75%,transparent 15%);background-size:10px 1px;background-repeat:repeat-x;margin-top:6px;grid-column:1/-1}.filter-actions{display:flex;flex-direction:column;gap:0}.filter-actions .main-actions{display:flex;justify-content:space-between;gap:16px;align-items:center}.filter-actions .divider-strong{height:1px;width:100%;margin-top:20px;margin-bottom:16px;background:linear-gradient(90deg,#e2e2e2 70%,transparent 70%);background-size:4px 1px;background-repeat:repeat-x}.filter-actions .close-action-wrapper{display:flex;justify-content:center;width:100%}.filter-actions .close-action{display:inline-flex;align-items:center;gap:8px}.filter-actions .close-action cura-button-transparent{padding:0;margin:0;background:transparent;border:none;color:inherit}.filter-actions cura-button,.filter-actions cura-button-transparent{flex:1}@media screen and (max-width: 1024px){.filter-checkboxes:after{background-color:transparent}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
177
+ }
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterGenericComponent, decorators: [{
179
+ type: Component,
180
+ args: [{ selector: 'rdsite-filter-generic', standalone: true, imports: [CommonModule, ReactiveFormsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"filter-generic\" [ngClass]=\"{ 'container-style': withContainerStyle }\" aria-label=\"Filtros\">\r\n <div class=\"filter-header-container\" [ngClass]=\"{ 'no-padding': !isFilterOpen, hidden: !isFilterOpen }\">\r\n <div class=\"filter-title-wrapper\">\r\n <cura-heading size=\"small\" level=\"4\" color=\"neutral-black\" weight=\"bold\" margin-block=\"0\" line-height=\"16px\">\r\n {{ textTitle }}\r\n </cura-heading>\r\n\r\n @if (showBadge) {\r\n <cura-badge-counter\r\n [type]=\"'solid'\"\r\n [color]=\"hasSelection() ? 'primary' : 'neutral'\"\r\n [number]=\"selectedFiltersCount\"\r\n class=\"filter-badge\"\r\n ></cura-badge-counter>\r\n }\r\n </div>\r\n\r\n @if (showToggleIcon) {\r\n <cura-button-transparent size=\"small\" font-color=\"dark\" color=\"primary\" text-align=\"center\" (click)=\"toggleFilter()\" [attr.aria-expanded]=\"isFilterOpen\">\r\n <cura-icon [name]=\"isFilterOpen ? 'up' : 'down'\" size=\"16\" class=\"filter-icon\" color=\"primary-dark\"></cura-icon>\r\n </cura-button-transparent>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-content\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n @for (section of sections; track section.type) {\r\n @if (section.visible !== false) {\r\n <div class=\"filter-section\">\r\n @switch (section.type) {\r\n @case ('input') {\r\n <cura-input-text\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [name]=\"section.config.name || ''\"\r\n [iconName]=\"section.config.iconName || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (valueChange)=\"handleInputChange($event, section.config.control)\"\r\n ></cura-input-text>\r\n }\r\n @case ('select') {\r\n <cura-select\r\n [label]=\"section.config.label || ''\"\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (selected)=\"handleSelectChange($event, section.config.control)\"\r\n >\r\n @if (section.config.includeDefaultOption) {\r\n <cura-select-option [attr.value]=\"''\">{{ section.config.defaultOptionText || 'Fa\u00E7a a sua Sele\u00E7\u00E3o' }}</cura-select-option>\r\n }\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-select-option [attr.value]=\"option?.value\">{{ option?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n @case ('checkbox-group') {\r\n <div class=\"filter-header\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\r\n {{ section.config.title || 'Filtre por' }}\r\n </cura-heading>\r\n </div>\r\n\r\n @if (section.config.subtitle) {\r\n <div class=\"filter-subtitle\">\r\n <cura-heading size=\"xsmall\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\">\r\n {{ section.config.subtitle }}\r\n </cura-heading>\r\n </div>\r\n }\r\n\r\n @if (section.config.description) {\r\n <div class=\"filter-description\">\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\r\n {{ section.config.description }}\r\n </cura-paragraph>\r\n </div>\r\n }\r\n\r\n <div class=\"filter-checkboxes\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n icon-color=\"light\"\r\n [attr.name]=\"option?.label\"\r\n [attr.label]=\"option?.label\"\r\n [attr.value]=\"option?.value\"\r\n [attr.checked]=\"option?.checked\"\r\n (onchange)=\"handleCheckboxChange($event, section.config.options)\"\r\n ></cura-checkbox>\r\n }\r\n </div>\r\n }\r\n @case ('radio-group') {\r\n <div class=\"filter-radios\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-radio\r\n [name]=\"section.config.name || 'radio-group'\"\r\n [label]=\"option.label\"\r\n [value]=\"option.value\"\r\n [checked]=\"getRadioGroupValue(section.config.control) === option.value\"\r\n (onchange)=\"handleRadioChange($event, section.config.control)\"\r\n ></cura-radio>\r\n }\r\n </div>\r\n }\r\n @case ('custom') {\r\n <ng-container *ngTemplateOutlet=\"section.config.template\"></ng-container>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"filter-actions\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n <div class=\"main-actions\">\r\n @if (showClearButton) {\r\n <cura-button-transparent\r\n size=\"small\"\r\n font-color=\"dark\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n (click)=\"reset()\"\r\n >\r\n <span>Limpar todos os filtros</span>\r\n </cura-button-transparent>\r\n }\r\n\r\n @if (showApplyButton) {\r\n <cura-button\r\n size=\"medium\"\r\n font-color=\"light\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n (click)=\"filter()\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n class=\"filter-button\"\r\n >\r\n Filtrar\r\n </cura-button>\r\n }\r\n </div>\r\n\r\n @if (showCloseButton) {\r\n <div class=\"divider-strong\"></div>\r\n <div class=\"close-action-wrapper\">\r\n <div class=\"close-action\" (click)=\"close()\">\r\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"></cura-icon>\r\n <cura-button-transparent size=\"\" type=\"button\" color=\"error\" target=\"_self\"> Fechar </cura-button-transparent>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host *{font-family:Gotham,Roboto,sans-serif}.filter-generic{display:flex;flex-direction:column;gap:18px}.filter-generic.container-style{width:100%;padding:20px;border-radius:12px;border:2px solid var(--neutral-lighter);background-color:var(--neutral-purewhite)}.filter-generic cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}.filter-header-container{display:flex;padding-bottom:12px;align-items:center}.filter-header-container.no-padding{padding-bottom:0}.filter-header-container .filter-title-wrapper{display:flex;align-items:center;justify-content:space-between;flex:1 0 0}.filter-header-container .filter-badge{display:flex;height:20px;min-width:20px;justify-content:center;align-items:center;gap:4px}.filter-header-container .filter-icon{display:block}.filter-content,.filter-actions{transition:all .3s ease}.filter-content.hidden,.filter-actions.hidden{display:none;height:0;overflow:hidden;opacity:0;margin:0;padding:0}.filter-section{display:flex;flex-direction:column;gap:24px}.filter-section .filter-header{display:flex;align-items:center;gap:14px}.filter-section .filter-subtitle{font-weight:500}.filter-section .filter-description{display:flex;flex-direction:column;gap:8px}.filter-section .filter-description:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-section .filter-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-section .filter-checkboxes:after{content:\"\";display:block;width:100%;height:1px;margin-top:12px;background-color:var(--neutral-light);grid-column:1/-1}.filter-section .filter-radios{display:flex;flex-direction:column;gap:12px}.filter-section .filter-radios:after{content:\"\";display:block;width:100%;height:1px;background:linear-gradient(90deg,var(--neutral-light) 75%,transparent 15%);background-size:10px 1px;background-repeat:repeat-x;margin-top:6px;grid-column:1/-1}.filter-actions{display:flex;flex-direction:column;gap:0}.filter-actions .main-actions{display:flex;justify-content:space-between;gap:16px;align-items:center}.filter-actions .divider-strong{height:1px;width:100%;margin-top:20px;margin-bottom:16px;background:linear-gradient(90deg,#e2e2e2 70%,transparent 70%);background-size:4px 1px;background-repeat:repeat-x}.filter-actions .close-action-wrapper{display:flex;justify-content:center;width:100%}.filter-actions .close-action{display:inline-flex;align-items:center;gap:8px}.filter-actions .close-action cura-button-transparent{padding:0;margin:0;background:transparent;border:none;color:inherit}.filter-actions cura-button,.filter-actions cura-button-transparent{flex:1}@media screen and (max-width: 1024px){.filter-checkboxes:after{background-color:transparent}}\n"] }]
181
+ }], ctorParameters: () => [{ type: i1.CuraService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
182
+ type: Inject,
183
+ args: [PLATFORM_ID]
184
+ }] }], propDecorators: { filterChange: [{
185
+ type: Output
186
+ }], closeModal: [{
187
+ type: Output
188
+ }], openMobileFilter: [{
189
+ type: Output
190
+ }], withContainerStyle: [{
191
+ type: Input
192
+ }], showClearButton: [{
193
+ type: Input
194
+ }], showApplyButton: [{
195
+ type: Input
196
+ }], showCloseButton: [{
197
+ type: Input
198
+ }], disableButtonsWithoutSelection: [{
199
+ type: Input
200
+ }], showBadge: [{
201
+ type: Input
202
+ }], showToggleIcon: [{
203
+ type: Input
204
+ }], isFilterOpen: [{
205
+ type: Input
206
+ }], mobileBehavior: [{
207
+ type: Input
208
+ }], forceCollapsed: [{
209
+ type: Input
210
+ }], emitOnReset: [{
211
+ type: Input
212
+ }], textTitle: [{
213
+ type: Input
214
+ }], sections: [{
215
+ type: Input
216
+ }], styleBinding: [{
217
+ type: HostBinding,
218
+ args: ['style']
219
+ }] } });
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdlbmVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlci1nZW5lcmljL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXItZ2VuZXJpYy9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFxQixTQUFTLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUosT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBWTdELE1BQU0sT0FBTyxzQkFBc0I7SUE2QmpDLFlBQ21CLFdBQXdCLEVBQ3hCLEdBQXNCLEVBQ0QsVUFBa0I7UUFGdkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDRCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBL0JoRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFDL0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU3Qyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsb0JBQWUs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fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEN1cmFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBNZWRpYVF1ZXJpZXMgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL21lZGlhUXVlcmllcyc7XHJcbmltcG9ydCB7IEZpbHRlckFjdGlvbiwgRmlsdGVyQ29udHJvbFZhbHVlLCBGaWx0ZXJTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpbHRlcnMvZmlsdGVyLXNlY3Rpb24udHlwZSc7XHJcbmltcG9ydCB7IEZpbHRlckV2ZW50LCBGaWx0ZXJQbGFub3NDb252ZW5pb3NDaGFuZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmlsdGVycy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS1maWx0ZXItZ2VuZXJpYycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyR2VuZXJpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlTW9kYWwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIG9wZW5Nb2JpbGVGaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIHdpdGhDb250YWluZXJTdHlsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0NsZWFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93QXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dDbG9zZUJ1dHRvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdXR0b25zV2l0aG91dFNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dCYWRnZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RvZ2dsZUljb24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzRmlsdGVyT3BlbiA9IHRydWU7XHJcbiAgQElucHV0KCkgbW9iaWxlQmVoYXZpb3IgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmb3JjZUNvbGxhcHNlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVtaXRPblJlc2V0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGV4dFRpdGxlID0gJ0ZpbHRyYXIgcG9yJztcclxuICBASW5wdXQoKSBzZWN0aW9uczogRmlsdGVyU2VjdGlvbltdID0gW107XHJcblxyXG4gIHNlbGVjdGVkRmlsdGVyc0NvdW50OiBudW1iZXIgPSAwO1xyXG4gIHdpbmRvd1dpZHRoOiBudW1iZXIgPSAwO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgc3R5bGVCaW5kaW5nID0ge1xyXG4gICAgJy0tbmV1dHJhbC1kYXJrZXInOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWRhcmtlcicpLFxyXG4gICAgJy0tbmV1dHJhbC1saWdodCc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHQnKSxcclxuICAgICctLW5ldXRyYWwtbGlnaHRlcic6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHRlcicpLFxyXG4gICAgJy0tbmV1dHJhbC1wdXJld2hpdGUnOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLXB1cmV3aGl0ZScpLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXJhU2VydmljZTogQ3VyYVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgdGhpcy53aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmZvcmNlQ29sbGFwc2VkICYmIHRoaXMuaXNNb2JpbGUoKSkge1xyXG4gICAgICB0aGlzLmlzRmlsdGVyT3BlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQ6IGFueSwgY29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcclxuICAgIGNvbnRyb2wuc2V0VmFsdWUoZXZlbnQuZGV0YWlsKTtcclxuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRGaWx0ZXJzQ291bnQoKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVNlbGVjdENoYW5nZShldmVudDogYW55LCBjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50Py5kZXRhaWwgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb250cm9sLnNldFZhbHVlKGV2ZW50LmRldGFpbCk7XHJcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRGaWx0ZXJzQ291bnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUNoZWNrYm94Q2hhbmdlKGV2ZW50OiBhbnksIG9wdGlvbnM6IGFueVtdKTogdm9pZCB7XHJcbiAgICBjb25zdCBjaGFuZ2VkT3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC52YWx1ZSA9PT0gZXZlbnQuZGV0YWlsLnZhbHVlKTtcclxuICAgIGlmIChjaGFuZ2VkT3B0aW9uKSBjaGFuZ2VkT3B0aW9uLmNoZWNrZWQgPSBldmVudC5kZXRhaWwuY2hlY2tlZDtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZUNoZWNrYm94R3JvdXAob3B0aW9ucyk7XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkRmlsdGVyc0NvdW50KCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSYWRpb0NoYW5nZShldmVudDogYW55LCBjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IGV2ZW50LmRldGFpbC52YWx1ZTtcclxuICAgIGNvbnRyb2wuc2V0VmFsdWUoY29udHJvbC52YWx1ZT8udmFsdWUgPT09IHNlbGVjdGVkVmFsdWUgPyBudWxsIDogeyB2YWx1ZTogc2VsZWN0ZWRWYWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZW1pdEZpbHRlckNoYW5nZSgnZmlsdGVyJyk7XHJcbiAgICBpZiAodGhpcy5tb2JpbGVCZWhhdmlvciB8fCB0aGlzLnNob3dDbG9zZUJ1dHRvbikgdGhpcy5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2V0QWxsQ29udHJvbHMoKTtcclxuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRGaWx0ZXJzQ291bnQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5lbWl0T25SZXNldCkge1xyXG4gICAgICB0aGlzLmVtaXRGaWx0ZXJDaGFuZ2UoJ3Jlc2V0Jyk7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb2JpbGVCZWhhdmlvciAmJiB0aGlzLmlzTW9iaWxlKCkpIHtcclxuICAgICAgdGhpcy5vcGVuTW9iaWxlRmlsdGVyLmVtaXQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gIXRoaXMuaXNGaWx0ZXJPcGVuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZEZpbHRlcnNDb3VudCgpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzQ291bnQgPiAwO1xyXG4gIH1cclxuXHJcbiAgaXNNb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy53aW5kb3dXaWR0aCA8PSBNZWRpYVF1ZXJpZXMuc21hbGxCcmVha3BvaW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0UmFkaW9Hcm91cFZhbHVlKGNvbnRyb2w/OiBGb3JtQ29udHJvbDxGaWx0ZXJDb250cm9sVmFsdWU+KTogYW55IHtcclxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbD8udmFsdWU7XHJcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAndmFsdWUnIGluIHZhbHVlID8gdmFsdWUudmFsdWUgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RmlsdGVyQ2hhbmdlKGFjdGlvbjogRmlsdGVyQWN0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5idWlsZEZpbHRlckRhdGEoKTtcclxuICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmlzRmlsdGVyRGF0YUVtcHR5KGZpbHRlckRhdGEpO1xyXG5cclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBkYXRhOiB0aGlzLmVtaXRPblJlc2V0IHx8ICFpc0VtcHR5ID8gZmlsdGVyRGF0YSA6IG51bGwsXHJcbiAgICAgIGFjdGlvbjogYWN0aW9uLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkRmlsdGVyc0NvdW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcnNDb3VudCA9IHRoaXMuc2VjdGlvbnMucmVkdWNlKChjb3VudCwgc2VjdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIXNlY3Rpb24uY29uZmlnPy5jb250cm9sKSByZXR1cm4gY291bnQ7XHJcblxyXG4gICAgICBjb25zdCB2YWx1ZSA9IHNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgICBzd2l0Y2ggKHNlY3Rpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2NoZWNrYm94LWdyb3VwJzpcclxuICAgICAgICAgIHJldHVybiBjb3VudCArIChBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmZpbHRlcigoaXRlbSkgPT4gaXRlbT8uY2hlY2tlZCkubGVuZ3RoIDogMCk7XHJcbiAgICAgICAgY2FzZSAncmFkaW8tZ3JvdXAnOlxyXG4gICAgICAgICAgcmV0dXJuIGNvdW50ICsgKHZhbHVlPy52YWx1ZSA/IDEgOiAwKTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIGNvdW50ICsgKHZhbHVlID8gMSA6IDApO1xyXG4gICAgICB9XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRBbGxDb250cm9scygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIXNlY3Rpb24uY29uZmlnPy5jb250cm9sKSByZXR1cm47XHJcblxyXG4gICAgICBpZiAoc2VjdGlvbi50eXBlID09PSAnY2hlY2tib3gtZ3JvdXAnKSB7XHJcbiAgICAgICAgY29uc3QgcmVzZXRPcHRpb25zID0gc2VjdGlvbi5jb25maWcub3B0aW9ucy5tYXAoKG9wdGlvbjogYW55KSA9PiAoeyAuLi5vcHRpb24sIGNoZWNrZWQ6IGZhbHNlIH0pKTtcclxuICAgICAgICBzZWN0aW9uLmNvbmZpZy5vcHRpb25zID0gcmVzZXRPcHRpb25zO1xyXG4gICAgICAgIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wuc2V0VmFsdWUocmVzZXRPcHRpb25zLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcuY29udHJvbC5yZXNldCgnJywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ2hlY2tib3hHcm91cChvcHRpb25zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWN0aW9uc1xyXG4gICAgICAuZmlsdGVyKChzZWN0aW9uKSA9PiBzZWN0aW9uLnR5cGUgPT09ICdjaGVja2JveC1ncm91cCcpXHJcbiAgICAgIC5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcub3B0aW9ucyA9IFsuLi5vcHRpb25zXTtcclxuICAgICAgICBzZWN0aW9uLmNvbmZpZy5jb250cm9sLnNldFZhbHVlKFsuLi5vcHRpb25zXSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZpbHRlckRhdGEoKTogRmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlIHwgYW55IHtcclxuICAgIGNvbnN0IGZpbHRlckRhdGE6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSA9IHtcclxuICAgICAgdW5pZGFkZTogJycsXHJcbiAgICAgIGVzdGFkbzogJycsXHJcbiAgICAgIGNvYmVydHVyYTogW10sXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIXNlY3Rpb24uY29uZmlnPy5jb250cm9sKSByZXR1cm47XHJcblxyXG4gICAgICBjb25zdCB2YWx1ZSA9IHNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgICBzd2l0Y2ggKHNlY3Rpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2lucHV0JzpcclxuICAgICAgICAgIGZpbHRlckRhdGEudW5pZGFkZSA9IHZhbHVlIHx8ICcnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICAgIGZpbHRlckRhdGEuZXN0YWRvID0gdmFsdWUgfHwgJyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjaGVja2JveC1ncm91cCc6XHJcbiAgICAgICAgICBmaWx0ZXJEYXRhLmNvYmVydHVyYSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNoZWNrZWQpIDogW107XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZpbHRlckRhdGE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRmlsdGVyRGF0YUVtcHR5KGZpbHRlckRhdGE6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmlsdGVyRGF0YSkuZXZlcnkoKHZhbCkgPT4gdmFsID09PSBudWxsIHx8IHZhbCA9PT0gJycgfHwgKEFycmF5LmlzQXJyYXkodmFsKSAmJiB2YWwubGVuZ3RoID09PSAwKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItZ2VuZXJpY1wiIFtuZ0NsYXNzXT1cInsgJ2NvbnRhaW5lci1zdHlsZSc6IHdpdGhDb250YWluZXJTdHlsZSB9XCIgYXJpYS1sYWJlbD1cIkZpbHRyb3NcIj5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWhlYWRlci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICduby1wYWRkaW5nJzogIWlzRmlsdGVyT3BlbiwgaGlkZGVuOiAhaXNGaWx0ZXJPcGVuIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItdGl0bGUtd3JhcHBlclwiPlxyXG4gICAgICA8Y3VyYS1oZWFkaW5nIHNpemU9XCJzbWFsbFwiIGxldmVsPVwiNFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIHdlaWdodD1cImJvbGRcIiBtYXJnaW4tYmxvY2s9XCIwXCIgbGluZS1oZWlnaHQ9XCIxNnB4XCI+XHJcbiAgICAgICAge3sgdGV4dFRpdGxlIH19XHJcbiAgICAgIDwvY3VyYS1oZWFkaW5nPlxyXG5cclxuICAgICAgQGlmIChzaG93QmFkZ2UpIHtcclxuICAgICAgICA8Y3VyYS1iYWRnZS1jb3VudGVyXHJcbiAgICAgICAgICBbdHlwZV09XCInc29saWQnXCJcclxuICAgICAgICAgIFtjb2xvcl09XCJoYXNTZWxlY3Rpb24oKSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ1wiXHJcbiAgICAgICAgICBbbnVtYmVyXT1cInNlbGVjdGVkRmlsdGVyc0NvdW50XCJcclxuICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLWJhZGdlXCJcclxuICAgICAgICA+PC9jdXJhLWJhZGdlLWNvdW50ZXI+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoc2hvd1RvZ2dsZUljb24pIHtcclxuICAgICAgPGN1cmEtYnV0dG9uLXRyYW5zcGFyZW50IHNpemU9XCJzbWFsbFwiIGZvbnQtY29sb3I9XCJkYXJrXCIgY29sb3I9XCJwcmltYXJ5XCIgdGV4dC1hbGlnbj1cImNlbnRlclwiIChjbGljayk9XCJ0b2dnbGVGaWx0ZXIoKVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNGaWx0ZXJPcGVuXCI+XHJcbiAgICAgICAgPGN1cmEtaWNvbiBbbmFtZV09XCJpc0ZpbHRlck9wZW4gPyAndXAnIDogJ2Rvd24nXCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJmaWx0ZXItaWNvblwiIGNvbG9yPVwicHJpbWFyeS1kYXJrXCI+PC9jdXJhLWljb24+XHJcbiAgICAgIDwvY3VyYS1idXR0b24tdHJhbnNwYXJlbnQ+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXItY29udGVudFwiIFtjbGFzcy5oaWRkZW5dPVwiIWlzRmlsdGVyT3BlbiB8fCAoZm9yY2VDb2xsYXBzZWQgJiYgaXNNb2JpbGUoKSlcIj5cclxuICAgIEBmb3IgKHNlY3Rpb24gb2Ygc2VjdGlvbnM7IHRyYWNrIHNlY3Rpb24udHlwZSkge1xyXG4gICAgICBAaWYgKHNlY3Rpb24udmlzaWJsZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXNlY3Rpb25cIj5cclxuICAgICAgICAgIEBzd2l0Y2ggKHNlY3Rpb24udHlwZSkge1xyXG4gICAgICAgICAgICBAY2FzZSAoJ2lucHV0Jykge1xyXG4gICAgICAgICAgICAgIDxjdXJhLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWN0aW9uLmNvbmZpZy5wbGFjZWhvbGRlciB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzZWN0aW9uLmNvbmZpZy5uYW1lIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJzZWN0aW9uLmNvbmZpZy5pY29uTmFtZSB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJzZWN0aW9uLmNvbmZpZy5jb250cm9sLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVJbnB1dENoYW5nZSgkZXZlbnQsIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wpXCJcclxuICAgICAgICAgICAgICA+PC9jdXJhLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGNhc2UgKCdzZWxlY3QnKSB7XHJcbiAgICAgICAgICAgICAgPGN1cmEtc2VsZWN0XHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2VjdGlvbi5jb25maWcubGFiZWwgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlY3Rpb24uY29uZmlnLnBsYWNlaG9sZGVyIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLnZhbHVlXT1cInNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cImhhbmRsZVNlbGVjdENoYW5nZSgkZXZlbnQsIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uY29uZmlnLmluY2x1ZGVEZWZhdWx0T3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLXNlbGVjdC1vcHRpb24gW2F0dHIudmFsdWVdPVwiJydcIj57eyBzZWN0aW9uLmNvbmZpZy5kZWZhdWx0T3B0aW9uVGV4dCB8fCAnRmHDp2EgYSBzdWEgU2VsZcOnw6NvJyB9fTwvY3VyYS1zZWxlY3Qtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgfHwgW107IHRyYWNrIG9wdGlvbj8udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgPGN1cmEtc2VsZWN0LW9wdGlvbiBbYXR0ci52YWx1ZV09XCJvcHRpb24/LnZhbHVlXCI+e3sgb3B0aW9uPy5sYWJlbCB9fTwvY3VyYS1zZWxlY3Qtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvY3VyYS1zZWxlY3Q+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGNhc2UgKCdjaGVja2JveC1ncm91cCcpIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGN1cmEtaWNvbiBuYW1lPVwiZmlsdGVyXCIgc2l6ZT1cIjIwXCIgY29sb3I9XCJpbmZvLWRhcmtcIj48L2N1cmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxjdXJhLWhlYWRpbmcgc2l6ZT1cInhzbWFsbFwiIGxldmVsPVwiNVwiIHdlaWdodD1cImJvbGRcIiBjb2xvcj1cIm5ldXRyYWwtYmxhY2tcIiBtYXJnaW4tYmxvY2s9XCIwXCIgbGluZS1oZWlnaHQ9XCIxNnB4XCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24uY29uZmlnLnRpdGxlIHx8ICdGaWx0cmUgcG9yJyB9fVxyXG4gICAgICAgICAgICAgICAgPC9jdXJhLWhlYWRpbmc+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5jb25maWcuc3VidGl0bGUpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItc3VidGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgPGN1cmEtaGVhZGluZyBzaXplPVwieHNtYWxsXCIgd2VpZ2h0PVwiYm9sZFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIG1hcmdpbi1ibG9jaz1cIjBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLmNvbmZpZy5zdWJ0aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2N1cmEtaGVhZGluZz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNvbmZpZy5kZXNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1wYXJhZ3JhcGggc2l6ZT1cInhzbWFsbFwiIGNvbG9yPVwibmV1dHJhbC1kYXJrXCIgbWFyZ2luLWJsb2NrPVwiMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24uY29uZmlnLmRlc2NyaXB0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvY3VyYS1wYXJhZ3JhcGg+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2hlY2tib3hlc1wiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgfHwgW107IHRyYWNrIG9wdGlvbj8udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgPGN1cmEtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbi1jb2xvcj1cImxpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5uYW1lXT1cIm9wdGlvbj8ubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmxhYmVsXT1cIm9wdGlvbj8ubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnZhbHVlXT1cIm9wdGlvbj8udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmNoZWNrZWRdPVwib3B0aW9uPy5jaGVja2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAob25jaGFuZ2UpPVwiaGFuZGxlQ2hlY2tib3hDaGFuZ2UoJGV2ZW50LCBzZWN0aW9uLmNvbmZpZy5vcHRpb25zKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2N1cmEtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGNhc2UgKCdyYWRpby1ncm91cCcpIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXJhZGlvc1wiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgfHwgW107IHRyYWNrIG9wdGlvbj8udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgPGN1cmEtcmFkaW9cclxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJzZWN0aW9uLmNvbmZpZy5uYW1lIHx8ICdyYWRpby1ncm91cCdcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImdldFJhZGlvR3JvdXBWYWx1ZShzZWN0aW9uLmNvbmZpZy5jb250cm9sKSA9PT0gb3B0aW9uLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAob25jaGFuZ2UpPVwiaGFuZGxlUmFkaW9DaGFuZ2UoJGV2ZW50LCBzZWN0aW9uLmNvbmZpZy5jb250cm9sKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2N1cmEtcmFkaW8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGNhc2UgKCdjdXN0b20nKSB7XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlY3Rpb24uY29uZmlnLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWFjdGlvbnNcIiBbY2xhc3MuaGlkZGVuXT1cIiFpc0ZpbHRlck9wZW4gfHwgKGZvcmNlQ29sbGFwc2VkICYmIGlzTW9iaWxlKCkpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWFpbi1hY3Rpb25zXCI+XHJcbiAgICAgIEBpZiAoc2hvd0NsZWFyQnV0dG9uKSB7XHJcbiAgICAgICAgPGN1cmEtYnV0dG9uLXRyYW5zcGFyZW50XHJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgZm9udC1jb2xvcj1cImRhcmtcIlxyXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIHRleHQtYWxpZ249XCJjZW50ZXJcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdXR0b25zV2l0aG91dFNlbGVjdGlvbiAmJiAhaGFzU2VsZWN0aW9uKClcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJlc2V0KClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuPkxpbXBhciB0b2RvcyBvcyBmaWx0cm9zPC9zcGFuPlxyXG4gICAgICAgIDwvY3VyYS1idXR0b24tdHJhbnNwYXJlbnQ+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAoc2hvd0FwcGx5QnV0dG9uKSB7XHJcbiAgICAgICAgPGN1cmEtYnV0dG9uXHJcbiAgICAgICAgICBzaXplPVwibWVkaXVtXCJcclxuICAgICAgICAgIGZvbnQtY29sb3I9XCJsaWdodFwiXHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgdGV4dC1hbGlnbj1cImNlbnRlclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiZmlsdGVyKClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdXR0b25zV2l0aG91dFNlbGVjdGlvbiAmJiAhaGFzU2VsZWN0aW9uKClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmaWx0ZXItYnV0dG9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBGaWx0cmFyXHJcbiAgICAgICAgPC9jdXJhLWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChzaG93Q2xvc2VCdXR0b24pIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXItc3Ryb25nXCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1hY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1hY3Rpb25cIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxyXG4gICAgICAgICAgPGN1cmEtaWNvbiBuYW1lPVwiY2xvc2VcIiBjb2xvcj1cImVycm9yLWRhcmtcIiBzaXplPVwic21hbGxcIj48L2N1cmEtaWNvbj5cclxuICAgICAgICAgIDxjdXJhLWJ1dHRvbi10cmFuc3BhcmVudCBzaXplPVwiXCIgdHlwZT1cImJ1dHRvblwiIGNvbG9yPVwiZXJyb3JcIiB0YXJnZXQ9XCJfc2VsZlwiPiBGZWNoYXIgPC9jdXJhLWJ1dHRvbi10cmFuc3BhcmVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -95,11 +95,11 @@ export class FilterPlanosConveniosComponent {
95
95
  this.coberturaControl.reset(this.coberturas);
96
96
  }
97
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterPlanosConveniosComponent, deps: [{ token: i1.CuraService }], target: i0.ɵɵFactoryTarget.Component }); }
98
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterPlanosConveniosComponent, isStandalone: true, selector: "rdsite-filter-planos-convenios", inputs: { withContainerStyle: "withContainerStyle", isLoading: "isLoading", emitOnChange: "emitOnChange", initialEstado: "initialEstado", estados: "estados", coberturas: "coberturas", unidadeControl: "unidadeControl", estadoControl: "estadoControl" }, outputs: { filterChange: "filterChange", closeModal: "closeModal" }, host: { properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "<div class=\"filter-planos-convenios\" [ngClass]=\"{ 'container-style': withContainerStyle }\">\r\n @if (!isLoading) {\r\n <cura-heading size=\"small\" level=\"4\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\"> Refine sua busca </cura-heading>\r\n\r\n <div class=\"filter-planos-convenios-unidade\">\r\n <cura-input-text\r\n placeholder=\"Nome da unidade\"\r\n name=\"unidade-input\"\r\n icon-name=\"search\"\r\n autocomplete=\"off\"\r\n [attr.value]=\"unidadeControl.value\"\r\n (valueChange)=\"inputTextChange($event)\"\r\n ></cura-input-text>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-estado\">\r\n @if (estados) {\r\n <cura-select\r\n label=\"Selecione o estado\"\r\n placeholder=\"Fa\u00E7a a sua Sele\u00E7\u00E3o\"\r\n mode=\"default\"\r\n size=\"medium\"\r\n status=\"default\"\r\n [attr.value]=\"estadoControl.value\"\r\n (selected)=\"selectChange($event)\"\r\n >\r\n <cura-select-option [attr.value]=\"''\">Fa\u00E7a a sua Sele\u00E7\u00E3o</cura-select-option>\r\n\r\n @for (estado of estados || []; track estado?.value) {\r\n <cura-select-option [attr.value]=\"estado?.value\">{{ estado?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-cobertura\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\r\n Filtre pela cobertura do seu plano\r\n </cura-heading>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-content\">\r\n <cura-heading size=\"xsmall\" level=\"5\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\"> Tipos de cobertura </cura-heading>\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\r\n Voc\u00EA pode selecionar uma ou mais portas de entrada, de acordo com a cobertura do seu plano.\r\n </cura-paragraph>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-checkboxes\">\r\n @for (option of coberturas || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n icon-color=\"light\"\r\n [attr.name]=\"option?.label\"\r\n [attr.label]=\"option?.label\"\r\n [attr.value]=\"option?.value\"\r\n [attr.checked]=\"option?.checked\"\r\n (onchange)=\"checkboxChange($event)\"\r\n >\r\n </cura-checkbox>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-buttons\">\r\n <cura-button-transparent size=\"small\" color=\"primary\" font-color=\"dark\" text-align=\"center\" (click)=\"reset()\">\r\n <span> Limpar todos os filtros </span>\r\n </cura-button-transparent>\r\n\r\n <cura-button size=\"medium\" color=\"primary\" font-color=\"light\" background=\"light\" text-align=\"center\" (click)=\"filter()\"> Filtrar </cura-button>\r\n </div>\r\n } @else {\r\n <cura-loader-circle color=\"primary\" size=\"small\"> </cura-loader-circle>\r\n }\r\n</div>\r\n", styles: [".filter-planos-convenios{display:flex;flex-direction:column;gap:23px}.filter-planos-convenios.container-style{width:100%;padding:20px;border-radius:4px;border:1px solid var(--neutral-lighter, #e2e2e2);background-color:var(--neutral-purewhite, #ffffff)}.filter-planos-convenios-cobertura{color:var(--neutral-darker);display:flex;align-items:center;gap:14px}.filter-planos-convenios-content{display:flex;flex-direction:column;gap:10px}.filter-planos-convenios-content:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:13px}.filter-planos-convenios-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-planos-convenios-checkboxes:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-planos-convenios-buttons{display:flex;gap:10px;justify-content:space-between}.filter-planos-convenios-buttons cura-button-transparent{display:flex;flex:1 0 0;max-width:170px}.filter-planos-convenios-buttons cura-button-transparent span{line-height:13px;letter-spacing:.72px;text-align:left}.filter-planos-convenios-buttons cura-button{display:flex;flex:0 0 100px}cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterPlanosConveniosComponent, isStandalone: true, selector: "rdsite-filter-planos-convenios", inputs: { withContainerStyle: "withContainerStyle", isLoading: "isLoading", emitOnChange: "emitOnChange", initialEstado: "initialEstado", estados: "estados", coberturas: "coberturas", unidadeControl: "unidadeControl", estadoControl: "estadoControl" }, outputs: { filterChange: "filterChange", closeModal: "closeModal" }, host: { properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "<div class=\"filter-planos-convenios\" [ngClass]=\"{ 'container-style': withContainerStyle }\">\n @if (!isLoading) {\n <cura-heading size=\"small\" level=\"4\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\"> Refine sua busca </cura-heading>\n\n <div class=\"filter-planos-convenios-unidade\">\n <cura-input-text\n placeholder=\"Nome da unidade\"\n name=\"unidade-input\"\n icon-name=\"search\"\n autocomplete=\"off\"\n [attr.value]=\"unidadeControl.value\"\n (valueChange)=\"inputTextChange($event)\"\n ></cura-input-text>\n </div>\n\n <div class=\"filter-planos-convenios-estado\">\n @if (estados) {\n <cura-select\n label=\"Selecione o estado\"\n placeholder=\"Fa\u00E7a a sua Sele\u00E7\u00E3o\"\n mode=\"default\"\n size=\"medium\"\n status=\"default\"\n [attr.value]=\"estadoControl.value\"\n (selected)=\"selectChange($event)\"\n >\n <cura-select-option [attr.value]=\"''\">Fa\u00E7a a sua Sele\u00E7\u00E3o</cura-select-option>\n\n @for (estado of estados || []; track estado?.value) {\n <cura-select-option [attr.value]=\"estado?.value\">{{ estado?.label }}</cura-select-option>\n }\n </cura-select>\n }\n </div>\n\n <div class=\"filter-planos-convenios-cobertura\">\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\n Filtre pela cobertura do seu plano\n </cura-heading>\n </div>\n\n <div class=\"filter-planos-convenios-content\">\n <cura-heading size=\"xsmall\" level=\"5\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\"> Tipos de cobertura </cura-heading>\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\n Voc\u00EA pode selecionar uma ou mais portas de entrada, de acordo com a cobertura do seu plano.\n </cura-paragraph>\n </div>\n\n <div class=\"filter-planos-convenios-checkboxes\">\n @for (option of coberturas || []; track option?.value) {\n <cura-checkbox\n color=\"primary\"\n size=\"small\"\n icon-color=\"light\"\n [attr.name]=\"option?.label\"\n [attr.label]=\"option?.label\"\n [attr.value]=\"option?.value\"\n [attr.checked]=\"option?.checked\"\n (onchange)=\"checkboxChange($event)\"\n >\n </cura-checkbox>\n }\n </div>\n\n <div class=\"filter-planos-convenios-buttons\">\n <cura-button-transparent size=\"small\" color=\"primary\" font-color=\"dark\" text-align=\"center\" (click)=\"reset()\">\n <span> Limpar todos os filtros </span>\n </cura-button-transparent>\n\n <cura-button size=\"medium\" color=\"primary\" font-color=\"light\" background=\"light\" text-align=\"center\" (click)=\"filter()\"> Filtrar </cura-button>\n </div>\n } @else {\n <cura-loader-circle color=\"primary\" size=\"small\"> </cura-loader-circle>\n }\n</div>\n", styles: [".filter-planos-convenios{display:flex;flex-direction:column;gap:23px}.filter-planos-convenios.container-style{width:100%;padding:20px;border-radius:4px;border:1px solid var(--neutral-lighter, #e2e2e2);background-color:var(--neutral-purewhite, #ffffff)}.filter-planos-convenios-cobertura{color:var(--neutral-darker);display:flex;align-items:center;gap:14px}.filter-planos-convenios-content{display:flex;flex-direction:column;gap:10px}.filter-planos-convenios-content:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:13px}.filter-planos-convenios-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-planos-convenios-checkboxes:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-planos-convenios-buttons{display:flex;gap:10px;justify-content:space-between}.filter-planos-convenios-buttons cura-button-transparent{display:flex;flex:1 0 0;max-width:170px}.filter-planos-convenios-buttons cura-button-transparent span{line-height:13px;letter-spacing:.72px;text-align:left}.filter-planos-convenios-buttons cura-button{display:flex;flex:0 0 100px}cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
99
99
  }
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterPlanosConveniosComponent, decorators: [{
101
101
  type: Component,
102
- args: [{ selector: 'rdsite-filter-planos-convenios', standalone: true, imports: [CommonModule, ReactiveFormsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"filter-planos-convenios\" [ngClass]=\"{ 'container-style': withContainerStyle }\">\r\n @if (!isLoading) {\r\n <cura-heading size=\"small\" level=\"4\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\"> Refine sua busca </cura-heading>\r\n\r\n <div class=\"filter-planos-convenios-unidade\">\r\n <cura-input-text\r\n placeholder=\"Nome da unidade\"\r\n name=\"unidade-input\"\r\n icon-name=\"search\"\r\n autocomplete=\"off\"\r\n [attr.value]=\"unidadeControl.value\"\r\n (valueChange)=\"inputTextChange($event)\"\r\n ></cura-input-text>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-estado\">\r\n @if (estados) {\r\n <cura-select\r\n label=\"Selecione o estado\"\r\n placeholder=\"Fa\u00E7a a sua Sele\u00E7\u00E3o\"\r\n mode=\"default\"\r\n size=\"medium\"\r\n status=\"default\"\r\n [attr.value]=\"estadoControl.value\"\r\n (selected)=\"selectChange($event)\"\r\n >\r\n <cura-select-option [attr.value]=\"''\">Fa\u00E7a a sua Sele\u00E7\u00E3o</cura-select-option>\r\n\r\n @for (estado of estados || []; track estado?.value) {\r\n <cura-select-option [attr.value]=\"estado?.value\">{{ estado?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-cobertura\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\r\n Filtre pela cobertura do seu plano\r\n </cura-heading>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-content\">\r\n <cura-heading size=\"xsmall\" level=\"5\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\"> Tipos de cobertura </cura-heading>\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\r\n Voc\u00EA pode selecionar uma ou mais portas de entrada, de acordo com a cobertura do seu plano.\r\n </cura-paragraph>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-checkboxes\">\r\n @for (option of coberturas || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n icon-color=\"light\"\r\n [attr.name]=\"option?.label\"\r\n [attr.label]=\"option?.label\"\r\n [attr.value]=\"option?.value\"\r\n [attr.checked]=\"option?.checked\"\r\n (onchange)=\"checkboxChange($event)\"\r\n >\r\n </cura-checkbox>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-buttons\">\r\n <cura-button-transparent size=\"small\" color=\"primary\" font-color=\"dark\" text-align=\"center\" (click)=\"reset()\">\r\n <span> Limpar todos os filtros </span>\r\n </cura-button-transparent>\r\n\r\n <cura-button size=\"medium\" color=\"primary\" font-color=\"light\" background=\"light\" text-align=\"center\" (click)=\"filter()\"> Filtrar </cura-button>\r\n </div>\r\n } @else {\r\n <cura-loader-circle color=\"primary\" size=\"small\"> </cura-loader-circle>\r\n }\r\n</div>\r\n", styles: [".filter-planos-convenios{display:flex;flex-direction:column;gap:23px}.filter-planos-convenios.container-style{width:100%;padding:20px;border-radius:4px;border:1px solid var(--neutral-lighter, #e2e2e2);background-color:var(--neutral-purewhite, #ffffff)}.filter-planos-convenios-cobertura{color:var(--neutral-darker);display:flex;align-items:center;gap:14px}.filter-planos-convenios-content{display:flex;flex-direction:column;gap:10px}.filter-planos-convenios-content:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:13px}.filter-planos-convenios-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-planos-convenios-checkboxes:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-planos-convenios-buttons{display:flex;gap:10px;justify-content:space-between}.filter-planos-convenios-buttons cura-button-transparent{display:flex;flex:1 0 0;max-width:170px}.filter-planos-convenios-buttons cura-button-transparent span{line-height:13px;letter-spacing:.72px;text-align:left}.filter-planos-convenios-buttons cura-button{display:flex;flex:0 0 100px}cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}\n"] }]
102
+ args: [{ selector: 'rdsite-filter-planos-convenios', standalone: true, imports: [CommonModule, ReactiveFormsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"filter-planos-convenios\" [ngClass]=\"{ 'container-style': withContainerStyle }\">\n @if (!isLoading) {\n <cura-heading size=\"small\" level=\"4\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\"> Refine sua busca </cura-heading>\n\n <div class=\"filter-planos-convenios-unidade\">\n <cura-input-text\n placeholder=\"Nome da unidade\"\n name=\"unidade-input\"\n icon-name=\"search\"\n autocomplete=\"off\"\n [attr.value]=\"unidadeControl.value\"\n (valueChange)=\"inputTextChange($event)\"\n ></cura-input-text>\n </div>\n\n <div class=\"filter-planos-convenios-estado\">\n @if (estados) {\n <cura-select\n label=\"Selecione o estado\"\n placeholder=\"Fa\u00E7a a sua Sele\u00E7\u00E3o\"\n mode=\"default\"\n size=\"medium\"\n status=\"default\"\n [attr.value]=\"estadoControl.value\"\n (selected)=\"selectChange($event)\"\n >\n <cura-select-option [attr.value]=\"''\">Fa\u00E7a a sua Sele\u00E7\u00E3o</cura-select-option>\n\n @for (estado of estados || []; track estado?.value) {\n <cura-select-option [attr.value]=\"estado?.value\">{{ estado?.label }}</cura-select-option>\n }\n </cura-select>\n }\n </div>\n\n <div class=\"filter-planos-convenios-cobertura\">\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\n Filtre pela cobertura do seu plano\n </cura-heading>\n </div>\n\n <div class=\"filter-planos-convenios-content\">\n <cura-heading size=\"xsmall\" level=\"5\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\"> Tipos de cobertura </cura-heading>\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\n Voc\u00EA pode selecionar uma ou mais portas de entrada, de acordo com a cobertura do seu plano.\n </cura-paragraph>\n </div>\n\n <div class=\"filter-planos-convenios-checkboxes\">\n @for (option of coberturas || []; track option?.value) {\n <cura-checkbox\n color=\"primary\"\n size=\"small\"\n icon-color=\"light\"\n [attr.name]=\"option?.label\"\n [attr.label]=\"option?.label\"\n [attr.value]=\"option?.value\"\n [attr.checked]=\"option?.checked\"\n (onchange)=\"checkboxChange($event)\"\n >\n </cura-checkbox>\n }\n </div>\n\n <div class=\"filter-planos-convenios-buttons\">\n <cura-button-transparent size=\"small\" color=\"primary\" font-color=\"dark\" text-align=\"center\" (click)=\"reset()\">\n <span> Limpar todos os filtros </span>\n </cura-button-transparent>\n\n <cura-button size=\"medium\" color=\"primary\" font-color=\"light\" background=\"light\" text-align=\"center\" (click)=\"filter()\"> Filtrar </cura-button>\n </div>\n } @else {\n <cura-loader-circle color=\"primary\" size=\"small\"> </cura-loader-circle>\n }\n</div>\n", styles: [".filter-planos-convenios{display:flex;flex-direction:column;gap:23px}.filter-planos-convenios.container-style{width:100%;padding:20px;border-radius:4px;border:1px solid var(--neutral-lighter, #e2e2e2);background-color:var(--neutral-purewhite, #ffffff)}.filter-planos-convenios-cobertura{color:var(--neutral-darker);display:flex;align-items:center;gap:14px}.filter-planos-convenios-content{display:flex;flex-direction:column;gap:10px}.filter-planos-convenios-content:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:13px}.filter-planos-convenios-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-planos-convenios-checkboxes:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-planos-convenios-buttons{display:flex;gap:10px;justify-content:space-between}.filter-planos-convenios-buttons cura-button-transparent{display:flex;flex:1 0 0;max-width:170px}.filter-planos-convenios-buttons cura-button-transparent span{line-height:13px;letter-spacing:.72px;text-align:left}.filter-planos-convenios-buttons cura-button{display:flex;flex:0 0 100px}cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}\n"] }]
103
103
  }], ctorParameters: () => [{ type: i1.CuraService }], propDecorators: { filterChange: [{
104
104
  type: Output
105
105
  }], closeModal: [{
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
124
124
  type: HostBinding,
125
125
  args: ['style']
126
126
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlci1wbGFub3MtY29udmVuaW9zL2ZpbHRlci1wbGFub3MtY29udmVuaW9zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFvQnpDLE1BQU0sT0FBTyw4QkFBOEI7SUFpQ3pDLFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBaEMzQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBQy9ELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTFDLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUNwQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGtCQUFhLEdBQXFDLElBQUksQ0FBQztRQUV2RCxZQUFPLEdBQTRCLE1B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T0FBTztzQkFBZixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdnQixZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVzdGFkb3MgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IEZpbHRlclBsYW5vc0NvbnZlbmlvcywgRmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlLCBGaWx0ZXJQbGFub3NDb252ZW5pb3NDb2JlcnR1cmEgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmlsdGVycy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5tb2RlbCc7XHJcbmltcG9ydCB7IEN1cmFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXHJcbmltcG9ydCB0eXBlICogYXMgXyBmcm9tICdAcmVkZWRvci9jdXJhL2Rpc3QvdHlwZXMvY29tcG9uZW50cy5qcyc7XHJcblxyXG5pbnRlcmZhY2UgQ3VyYUNoZWNrYm94T3B0aW9uPFQgPSBhbnk+IHtcclxuICB2YWx1ZTogVDtcclxuICBjaGVja2VkOiBib29sZWFuO1xyXG4gIGluZGV0ZXJtaW5hdGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS1maWx0ZXItcGxhbm9zLWNvbnZlbmlvcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1wbGFub3MtY29udmVuaW9zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyUGxhbm9zQ29udmVuaW9zQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlPigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBASW5wdXQoKSB3aXRoQ29udGFpbmVyU3R5bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbWl0T25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgaW5pdGlhbEVzdGFkbzogRXN0YWRvcyB8IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBlc3RhZG9zOiBGaWx0ZXJQbGFub3NDb252ZW5pb3NbXSA9IE9iamVjdC5lbnRyaWVzKEVzdGFkb3MpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xyXG4gICAgbGFiZWw6IHZhbHVlLFxyXG4gICAgdmFsdWU6IGtleSxcclxuICB9KSk7XHJcblxyXG4gIEBJbnB1dCgpIGNvYmVydHVyYXM6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NvYmVydHVyYVtdID0gW1xyXG4gICAgeyBsYWJlbDogJ0NvbnN1bHRhcycsIHZhbHVlOiAnRkxBR19BQ0VJVEFfQU1CVUxBVE9SSU8nLCBjaGVja2VkOiBmYWxzZSB9LFxyXG4gICAgeyBsYWJlbDogJ0VtZXJnw6puY2lhJywgdmFsdWU6ICdGTEFHX0FDRUlUQV9QUycsIGNoZWNrZWQ6IGZhbHNlIH0sXHJcbiAgICB7IGxhYmVsOiAnRXhhbWVzJywgdmFsdWU6ICdGTEFHX0FDRUlUQV9FWEFNRScsIGNoZWNrZWQ6IGZhbHNlIH0sXHJcbiAgICB7IGxhYmVsOiAnSW50ZXJuYcOnw6NvJywgdmFsdWU6ICdGTEFHX0FDRUlUQV9JTlRFUk5BQ0FPJywgY2hlY2tlZDogZmFsc2UgfSxcclxuICBdO1xyXG5cclxuICBASW5wdXQoKSB1bmlkYWRlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudW1iZXIgfCBudWxsPignJyk7XHJcbiAgQElucHV0KCkgZXN0YWRvQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxFc3RhZG9zIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD4oJycpO1xyXG4gIGNvYmVydHVyYUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8RmlsdGVyUGxhbm9zQ29udmVuaW9zQ29iZXJ0dXJhW10+KHRoaXMuY29iZXJ0dXJhcyB8fCBbXSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBzdHlsZUJpbmRpbmcgPSB7XHJcbiAgICAnLS1uZXV0cmFsLWRhcmtlcic6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtZGFya2VyJyksXHJcbiAgICAnLS1uZXV0cmFsLWxpZ2h0JzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1saWdodCcpLFxyXG4gICAgJy0tbmV1dHJhbC1saWdodGVyJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1saWdodGVyJyksXHJcbiAgICAnLS1uZXV0cmFsLXB1cmV3aGl0ZSc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtcHVyZXdoaXRlJyksXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjdXJhU2VydmljZTogQ3VyYVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmluaXRpYWxFc3RhZG8gJiYgQXJyYXkuaXNBcnJheSh0aGlzLmVzdGFkb3MpICYmIHRoaXMuZXN0YWRvcy5maW5kKChlc3RhZG8pID0+IGVzdGFkby52YWx1ZSA9PT0gdGhpcy5pbml0aWFsRXN0YWRvKSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmVzdGFkb0NvbnRyb2wuc2V0VmFsdWUodGhpcy5pbml0aWFsRXN0YWRvKTtcclxuICAgICAgICB0aGlzLmZpbHRlcigpO1xyXG4gICAgICB9LCA1MCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnB1dFRleHRDaGFuZ2UoeyBkZXRhaWwgfTogQ3VzdG9tRXZlbnQ8bnVtYmVyIHwgc3RyaW5nPikge1xyXG4gICAgdGhpcy51bmlkYWRlQ29udHJvbC5zZXRWYWx1ZShkZXRhaWwpO1xyXG4gICAgaWYgKHRoaXMuZW1pdE9uQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgIHVuaWRhZGU6IGRldGFpbCxcclxuICAgICAgICBlc3RhZG86IHRoaXMuZXN0YWRvQ29udHJvbC52YWx1ZSxcclxuICAgICAgICBjb2JlcnR1cmE6IHRoaXMuY29iZXJ0dXJhQ29udHJvbC52YWx1ZSB8fCBbXSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RDaGFuZ2UoeyBkZXRhaWwgfTogQ3VzdG9tRXZlbnQ8bnVtYmVyIHwgc3RyaW5nPikge1xyXG4gICAgdGhpcy5lc3RhZG9Db250cm9sLnNldFZhbHVlKGRldGFpbCk7XHJcbiAgICBpZiAodGhpcy5lbWl0T25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgdW5pZGFkZTogdGhpcy51bmlkYWRlQ29udHJvbC52YWx1ZSxcclxuICAgICAgICBlc3RhZG86IGRldGFpbCxcclxuICAgICAgICBjb2JlcnR1cmE6IHRoaXMuY29iZXJ0dXJhQ29udHJvbC52YWx1ZSB8fCBbXSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja2JveENoYW5nZSh7IGRldGFpbCB9OiBDdXN0b21FdmVudDxDdXJhQ2hlY2tib3hPcHRpb248c3RyaW5nPj4pIHtcclxuICAgIGlmICghdGhpcy5jb2JlcnR1cmFzKSByZXR1cm47XHJcbiAgICBjb25zdCBjdXJyT3B0aW9uOiBGaWx0ZXJQbGFub3NDb252ZW5pb3NDb2JlcnR1cmEgfCB1bmRlZmluZWQgPSB0aGlzLmNvYmVydHVyYXMuZmluZChcclxuICAgICAgKG9wdGlvbjogRmlsdGVyUGxhbm9zQ29udmVuaW9zQ29iZXJ0dXJhKSA9PiBvcHRpb24udmFsdWUgPT0gZGV0YWlsLnZhbHVlLFxyXG4gICAgKTtcclxuICAgIGlmIChjdXJyT3B0aW9uKSB7XHJcbiAgICAgIGN1cnJPcHRpb24uY2hlY2tlZCA9IGRldGFpbC5jaGVja2VkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2JlcnR1cmFDb250cm9sLnNldFZhbHVlKHRoaXMuY29iZXJ0dXJhcyk7XHJcbiAgICBpZiAodGhpcy5lbWl0T25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgdW5pZGFkZTogdGhpcy51bmlkYWRlQ29udHJvbC52YWx1ZSxcclxuICAgICAgICBlc3RhZG86IHRoaXMuZXN0YWRvQ29udHJvbC52YWx1ZSxcclxuICAgICAgICBjb2JlcnR1cmE6IHRoaXMuY29iZXJ0dXJhQ29udHJvbC52YWx1ZSB8fCBbXSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHtcclxuICAgICAgdW5pZGFkZTogdGhpcy51bmlkYWRlQ29udHJvbC52YWx1ZSxcclxuICAgICAgZXN0YWRvOiB0aGlzLmVzdGFkb0NvbnRyb2wudmFsdWUsXHJcbiAgICAgIGNvYmVydHVyYTogdGhpcy5jb2JlcnR1cmFDb250cm9sLnZhbHVlIHx8IFtdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGhhc0NvdmVyYWdlID0gdGhpcy5jb2JlcnR1cmFDb250cm9sLnZhbHVlIS5zb21lKChjb2IpID0+IGNvYi5jaGVja2VkKTtcclxuICAgIGNvbnN0IGhhc0ZpbHRlciA9IEJvb2xlYW4odGhpcy51bmlkYWRlQ29udHJvbC52YWx1ZSkgfHwgQm9vbGVhbih0aGlzLmVzdGFkb0NvbnRyb2wudmFsdWUpIHx8IEJvb2xlYW4oaGFzQ292ZXJhZ2UpO1xyXG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoIWhhc0ZpbHRlcik7XHJcbiAgICB0aGlzLnVuaWRhZGVDb250cm9sLnJlc2V0KCcnKTtcclxuICAgIHRoaXMuZXN0YWRvQ29udHJvbC5yZXNldCgnJyk7XHJcbiAgICB0aGlzLmNvYmVydHVyYXMuZm9yRWFjaCgoY29iZXJ0dXJhKSA9PiAoY29iZXJ0dXJhLmNoZWNrZWQgPSBmYWxzZSkpO1xyXG4gICAgdGhpcy5jb2JlcnR1cmFDb250cm9sLnJlc2V0KHRoaXMuY29iZXJ0dXJhcyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItcGxhbm9zLWNvbnZlbmlvc1wiIFtuZ0NsYXNzXT1cInsgJ2NvbnRhaW5lci1zdHlsZSc6IHdpdGhDb250YWluZXJTdHlsZSB9XCI+XHJcbiAgQGlmICghaXNMb2FkaW5nKSB7XHJcbiAgICA8Y3VyYS1oZWFkaW5nIHNpemU9XCJzbWFsbFwiIGxldmVsPVwiNFwiIHdlaWdodD1cImJvbGRcIiBjb2xvcj1cIm5ldXRyYWwtYmxhY2tcIiBtYXJnaW4tYmxvY2s9XCIwXCIgbGluZS1oZWlnaHQ9XCIxNnB4XCI+IFJlZmluZSBzdWEgYnVzY2EgPC9jdXJhLWhlYWRpbmc+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1wbGFub3MtY29udmVuaW9zLXVuaWRhZGVcIj5cclxuICAgICAgPGN1cmEtaW5wdXQtdGV4dFxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiTm9tZSBkYSB1bmlkYWRlXCJcclxuICAgICAgICBuYW1lPVwidW5pZGFkZS1pbnB1dFwiXHJcbiAgICAgICAgaWNvbi1uYW1lPVwic2VhcmNoXCJcclxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgIFthdHRyLnZhbHVlXT1cInVuaWRhZGVDb250cm9sLnZhbHVlXCJcclxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiaW5wdXRUZXh0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICA+PC9jdXJhLWlucHV0LXRleHQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MtZXN0YWRvXCI+XHJcbiAgICAgIEBpZiAoZXN0YWRvcykge1xyXG4gICAgICAgIDxjdXJhLXNlbGVjdFxyXG4gICAgICAgICAgbGFiZWw9XCJTZWxlY2lvbmUgbyBlc3RhZG9cIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJGYcOnYSBhIHN1YSBTZWxlw6fDo29cIlxyXG4gICAgICAgICAgbW9kZT1cImRlZmF1bHRcIlxyXG4gICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXHJcbiAgICAgICAgICBzdGF0dXM9XCJkZWZhdWx0XCJcclxuICAgICAgICAgIFthdHRyLnZhbHVlXT1cImVzdGFkb0NvbnRyb2wudmFsdWVcIlxyXG4gICAgICAgICAgKHNlbGVjdGVkKT1cInNlbGVjdENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Y3VyYS1zZWxlY3Qtb3B0aW9uIFthdHRyLnZhbHVlXT1cIicnXCI+RmHDp2EgYSBzdWEgU2VsZcOnw6NvPC9jdXJhLXNlbGVjdC1vcHRpb24+XHJcblxyXG4gICAgICAgICAgQGZvciAoZXN0YWRvIG9mIGVzdGFkb3MgfHwgW107IHRyYWNrIGVzdGFkbz8udmFsdWUpIHtcclxuICAgICAgICAgICAgPGN1cmEtc2VsZWN0LW9wdGlvbiBbYXR0ci52YWx1ZV09XCJlc3RhZG8/LnZhbHVlXCI+e3sgZXN0YWRvPy5sYWJlbCB9fTwvY3VyYS1zZWxlY3Qtb3B0aW9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvY3VyYS1zZWxlY3Q+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcGxhbm9zLWNvbnZlbmlvcy1jb2JlcnR1cmFcIj5cclxuICAgICAgPGN1cmEtaWNvbiBuYW1lPVwiZmlsdGVyXCIgc2l6ZT1cIjIwXCIgY29sb3I9XCJpbmZvLWRhcmtcIj48L2N1cmEtaWNvbj5cclxuICAgICAgPGN1cmEtaGVhZGluZyBzaXplPVwieHNtYWxsXCIgbGV2ZWw9XCI1XCIgd2VpZ2h0PVwiYm9sZFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIG1hcmdpbi1ibG9jaz1cIjBcIiBsaW5lLWhlaWdodD1cIjE2cHhcIj5cclxuICAgICAgICBGaWx0cmUgcGVsYSBjb2JlcnR1cmEgZG8gc2V1IHBsYW5vXHJcbiAgICAgIDwvY3VyYS1oZWFkaW5nPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1wbGFub3MtY29udmVuaW9zLWNvbnRlbnRcIj5cclxuICAgICAgPGN1cmEtaGVhZGluZyBzaXplPVwieHNtYWxsXCIgbGV2ZWw9XCI1XCIgY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgbWFyZ2luLWJsb2NrPVwiMFwiIGxpbmUtaGVpZ2h0PVwiMTZweFwiPiBUaXBvcyBkZSBjb2JlcnR1cmEgPC9jdXJhLWhlYWRpbmc+XHJcbiAgICAgIDxjdXJhLXBhcmFncmFwaCBzaXplPVwieHNtYWxsXCIgY29sb3I9XCJuZXV0cmFsLWRhcmtcIiBtYXJnaW4tYmxvY2s9XCIwXCI+XHJcbiAgICAgICAgVm9jw6ogcG9kZSBzZWxlY2lvbmFyIHVtYSBvdSBtYWlzIHBvcnRhcyBkZSBlbnRyYWRhLCBkZSBhY29yZG8gY29tIGEgY29iZXJ0dXJhIGRvIHNldSBwbGFuby5cclxuICAgICAgPC9jdXJhLXBhcmFncmFwaD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcGxhbm9zLWNvbnZlbmlvcy1jaGVja2JveGVzXCI+XHJcbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBjb2JlcnR1cmFzIHx8IFtdOyB0cmFjayBvcHRpb24/LnZhbHVlKSB7XHJcbiAgICAgICAgPGN1cmEtY2hlY2tib3hcclxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgaWNvbi1jb2xvcj1cImxpZ2h0XCJcclxuICAgICAgICAgIFthdHRyLm5hbWVdPVwib3B0aW9uPy5sYWJlbFwiXHJcbiAgICAgICAgICBbYXR0ci5sYWJlbF09XCJvcHRpb24/LmxhYmVsXCJcclxuICAgICAgICAgIFthdHRyLnZhbHVlXT1cIm9wdGlvbj8udmFsdWVcIlxyXG4gICAgICAgICAgW2F0dHIuY2hlY2tlZF09XCJvcHRpb24/LmNoZWNrZWRcIlxyXG4gICAgICAgICAgKG9uY2hhbmdlKT1cImNoZWNrYm94Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2N1cmEtY2hlY2tib3g+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcGxhbm9zLWNvbnZlbmlvcy1idXR0b25zXCI+XHJcbiAgICAgIDxjdXJhLWJ1dHRvbi10cmFuc3BhcmVudCBzaXplPVwic21hbGxcIiBjb2xvcj1cInByaW1hcnlcIiBmb250LWNvbG9yPVwiZGFya1wiIHRleHQtYWxpZ249XCJjZW50ZXJcIiAoY2xpY2spPVwicmVzZXQoKVwiPlxyXG4gICAgICAgIDxzcGFuPiBMaW1wYXIgdG9kb3Mgb3MgZmlsdHJvcyA8L3NwYW4+XHJcbiAgICAgIDwvY3VyYS1idXR0b24tdHJhbnNwYXJlbnQ+XHJcblxyXG4gICAgICA8Y3VyYS1idXR0b24gc2l6ZT1cIm1lZGl1bVwiIGNvbG9yPVwicHJpbWFyeVwiIGZvbnQtY29sb3I9XCJsaWdodFwiIGJhY2tncm91bmQ9XCJsaWdodFwiIHRleHQtYWxpZ249XCJjZW50ZXJcIiAoY2xpY2spPVwiZmlsdGVyKClcIj4gRmlsdHJhciA8L2N1cmEtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8Y3VyYS1sb2FkZXItY2lyY2xlIGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJzbWFsbFwiPiA8L2N1cmEtbG9hZGVyLWNpcmNsZT5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlci1wbGFub3MtY29udmVuaW9zL2ZpbHRlci1wbGFub3MtY29udmVuaW9zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFvQnpDLE1BQU0sT0FBTyw4QkFBOEI7SUFpQ3pDLFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBaEMzQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBQy9ELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTFDLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUNwQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGtCQUFhLEdBQXFDLElBQUksQ0FBQztRQUV2RCxZQUFPLEdBQTRCLE1B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T0FBTztzQkFBZixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdnQixZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVzdGFkb3MgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBGaWx0ZXJQbGFub3NDb252ZW5pb3MsIEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSwgRmlsdGVyUGxhbm9zQ29udmVuaW9zQ29iZXJ0dXJhIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpbHRlcnMvZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MubW9kZWwnO1xuaW1wb3J0IHsgQ3VyYVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSAqIGFzIF8gZnJvbSAnQHJlZGVkb3IvY3VyYS9kaXN0L3R5cGVzL2NvbXBvbmVudHMuanMnO1xuXG5pbnRlcmZhY2UgQ3VyYUNoZWNrYm94T3B0aW9uPFQgPSBhbnk+IHtcbiAgdmFsdWU6IFQ7XG4gIGNoZWNrZWQ6IGJvb2xlYW47XG4gIGluZGV0ZXJtaW5hdGU/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHNpdGUtZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJQbGFub3NDb252ZW5pb3NDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlPigpO1xuICBAT3V0cHV0KCkgY2xvc2VNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKSB3aXRoQ29udGFpbmVyU3R5bGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVtaXRPbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGluaXRpYWxFc3RhZG86IEVzdGFkb3MgfCBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSBlc3RhZG9zOiBGaWx0ZXJQbGFub3NDb252ZW5pb3NbXSA9IE9iamVjdC5lbnRyaWVzKEVzdGFkb3MpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIGxhYmVsOiB2YWx1ZSxcbiAgICB2YWx1ZToga2V5LFxuICB9KSk7XG5cbiAgQElucHV0KCkgY29iZXJ0dXJhczogRmlsdGVyUGxhbm9zQ29udmVuaW9zQ29iZXJ0dXJhW10gPSBbXG4gICAgeyBsYWJlbDogJ0NvbnN1bHRhcycsIHZhbHVlOiAnRkxBR19BQ0VJVEFfQU1CVUxBVE9SSU8nLCBjaGVja2VkOiBmYWxzZSB9LFxuICAgIHsgbGFiZWw6ICdFbWVyZ8OqbmNpYScsIHZhbHVlOiAnRkxBR19BQ0VJVEFfUFMnLCBjaGVja2VkOiBmYWxzZSB9LFxuICAgIHsgbGFiZWw6ICdFeGFtZXMnLCB2YWx1ZTogJ0ZMQUdfQUNFSVRBX0VYQU1FJywgY2hlY2tlZDogZmFsc2UgfSxcbiAgICB7IGxhYmVsOiAnSW50ZXJuYcOnw6NvJywgdmFsdWU6ICdGTEFHX0FDRUlUQV9JTlRFUk5BQ0FPJywgY2hlY2tlZDogZmFsc2UgfSxcbiAgXTtcblxuICBASW5wdXQoKSB1bmlkYWRlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudW1iZXIgfCBudWxsPignJyk7XG4gIEBJbnB1dCgpIGVzdGFkb0NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8RXN0YWRvcyB8IHN0cmluZyB8IG51bWJlciB8IG51bGw+KCcnKTtcbiAgY29iZXJ0dXJhQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxGaWx0ZXJQbGFub3NDb252ZW5pb3NDb2JlcnR1cmFbXT4odGhpcy5jb2JlcnR1cmFzIHx8IFtdKTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgc3R5bGVCaW5kaW5nID0ge1xuICAgICctLW5ldXRyYWwtZGFya2VyJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1kYXJrZXInKSxcbiAgICAnLS1uZXV0cmFsLWxpZ2h0JzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1saWdodCcpLFxuICAgICctLW5ldXRyYWwtbGlnaHRlcic6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHRlcicpLFxuICAgICctLW5ldXRyYWwtcHVyZXdoaXRlJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1wdXJld2hpdGUnKSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGN1cmFTZXJ2aWNlOiBDdXJhU2VydmljZSkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbEVzdGFkbyAmJiBBcnJheS5pc0FycmF5KHRoaXMuZXN0YWRvcykgJiYgdGhpcy5lc3RhZG9zLmZpbmQoKGVzdGFkbykgPT4gZXN0YWRvLnZhbHVlID09PSB0aGlzLmluaXRpYWxFc3RhZG8pKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5lc3RhZG9Db250cm9sLnNldFZhbHVlKHRoaXMuaW5pdGlhbEVzdGFkbyk7XG4gICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRUZXh0Q2hhbmdlKHsgZGV0YWlsIH06IEN1c3RvbUV2ZW50PG51bWJlciB8IHN0cmluZz4pIHtcbiAgICB0aGlzLnVuaWRhZGVDb250cm9sLnNldFZhbHVlKGRldGFpbCk7XG4gICAgaWYgKHRoaXMuZW1pdE9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHtcbiAgICAgICAgdW5pZGFkZTogZGV0YWlsLFxuICAgICAgICBlc3RhZG86IHRoaXMuZXN0YWRvQ29udHJvbC52YWx1ZSxcbiAgICAgICAgY29iZXJ0dXJhOiB0aGlzLmNvYmVydHVyYUNvbnRyb2wudmFsdWUgfHwgW10sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RDaGFuZ2UoeyBkZXRhaWwgfTogQ3VzdG9tRXZlbnQ8bnVtYmVyIHwgc3RyaW5nPikge1xuICAgIHRoaXMuZXN0YWRvQ29udHJvbC5zZXRWYWx1ZShkZXRhaWwpO1xuICAgIGlmICh0aGlzLmVtaXRPbkNoYW5nZSkge1xuICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh7XG4gICAgICAgIHVuaWRhZGU6IHRoaXMudW5pZGFkZUNvbnRyb2wudmFsdWUsXG4gICAgICAgIGVzdGFkbzogZGV0YWlsLFxuICAgICAgICBjb2JlcnR1cmE6IHRoaXMuY29iZXJ0dXJhQ29udHJvbC52YWx1ZSB8fCBbXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrYm94Q2hhbmdlKHsgZGV0YWlsIH06IEN1c3RvbUV2ZW50PEN1cmFDaGVja2JveE9wdGlvbjxzdHJpbmc+Pikge1xuICAgIGlmICghdGhpcy5jb2JlcnR1cmFzKSByZXR1cm47XG4gICAgY29uc3QgY3Vyck9wdGlvbjogRmlsdGVyUGxhbm9zQ29udmVuaW9zQ29iZXJ0dXJhIHwgdW5kZWZpbmVkID0gdGhpcy5jb2JlcnR1cmFzLmZpbmQoXG4gICAgICAob3B0aW9uOiBGaWx0ZXJQbGFub3NDb252ZW5pb3NDb2JlcnR1cmEpID0+IG9wdGlvbi52YWx1ZSA9PSBkZXRhaWwudmFsdWUsXG4gICAgKTtcbiAgICBpZiAoY3Vyck9wdGlvbikge1xuICAgICAgY3Vyck9wdGlvbi5jaGVja2VkID0gZGV0YWlsLmNoZWNrZWQ7XG4gICAgfVxuICAgIHRoaXMuY29iZXJ0dXJhQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNvYmVydHVyYXMpO1xuICAgIGlmICh0aGlzLmVtaXRPbkNoYW5nZSkge1xuICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh7XG4gICAgICAgIHVuaWRhZGU6IHRoaXMudW5pZGFkZUNvbnRyb2wudmFsdWUsXG4gICAgICAgIGVzdGFkbzogdGhpcy5lc3RhZG9Db250cm9sLnZhbHVlLFxuICAgICAgICBjb2JlcnR1cmE6IHRoaXMuY29iZXJ0dXJhQ29udHJvbC52YWx1ZSB8fCBbXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHtcbiAgICAgIHVuaWRhZGU6IHRoaXMudW5pZGFkZUNvbnRyb2wudmFsdWUsXG4gICAgICBlc3RhZG86IHRoaXMuZXN0YWRvQ29udHJvbC52YWx1ZSxcbiAgICAgIGNvYmVydHVyYTogdGhpcy5jb2JlcnR1cmFDb250cm9sLnZhbHVlIHx8IFtdLFxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgY29uc3QgaGFzQ292ZXJhZ2UgPSB0aGlzLmNvYmVydHVyYUNvbnRyb2wudmFsdWUhLnNvbWUoKGNvYikgPT4gY29iLmNoZWNrZWQpO1xuICAgIGNvbnN0IGhhc0ZpbHRlciA9IEJvb2xlYW4odGhpcy51bmlkYWRlQ29udHJvbC52YWx1ZSkgfHwgQm9vbGVhbih0aGlzLmVzdGFkb0NvbnRyb2wudmFsdWUpIHx8IEJvb2xlYW4oaGFzQ292ZXJhZ2UpO1xuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCFoYXNGaWx0ZXIpO1xuICAgIHRoaXMudW5pZGFkZUNvbnRyb2wucmVzZXQoJycpO1xuICAgIHRoaXMuZXN0YWRvQ29udHJvbC5yZXNldCgnJyk7XG4gICAgdGhpcy5jb2JlcnR1cmFzLmZvckVhY2goKGNvYmVydHVyYSkgPT4gKGNvYmVydHVyYS5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB0aGlzLmNvYmVydHVyYUNvbnRyb2wucmVzZXQodGhpcy5jb2JlcnR1cmFzKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1wbGFub3MtY29udmVuaW9zXCIgW25nQ2xhc3NdPVwieyAnY29udGFpbmVyLXN0eWxlJzogd2l0aENvbnRhaW5lclN0eWxlIH1cIj5cbiAgQGlmICghaXNMb2FkaW5nKSB7XG4gICAgPGN1cmEtaGVhZGluZyBzaXplPVwic21hbGxcIiBsZXZlbD1cIjRcIiB3ZWlnaHQ9XCJib2xkXCIgY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgbWFyZ2luLWJsb2NrPVwiMFwiIGxpbmUtaGVpZ2h0PVwiMTZweFwiPiBSZWZpbmUgc3VhIGJ1c2NhIDwvY3VyYS1oZWFkaW5nPlxuXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1wbGFub3MtY29udmVuaW9zLXVuaWRhZGVcIj5cbiAgICAgIDxjdXJhLWlucHV0LXRleHRcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJOb21lIGRhIHVuaWRhZGVcIlxuICAgICAgICBuYW1lPVwidW5pZGFkZS1pbnB1dFwiXG4gICAgICAgIGljb24tbmFtZT1cInNlYXJjaFwiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIFthdHRyLnZhbHVlXT1cInVuaWRhZGVDb250cm9sLnZhbHVlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImlucHV0VGV4dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2N1cmEtaW5wdXQtdGV4dD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcGxhbm9zLWNvbnZlbmlvcy1lc3RhZG9cIj5cbiAgICAgIEBpZiAoZXN0YWRvcykge1xuICAgICAgICA8Y3VyYS1zZWxlY3RcbiAgICAgICAgICBsYWJlbD1cIlNlbGVjaW9uZSBvIGVzdGFkb1wiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJGYcOnYSBhIHN1YSBTZWxlw6fDo29cIlxuICAgICAgICAgIG1vZGU9XCJkZWZhdWx0XCJcbiAgICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgICAgICBzdGF0dXM9XCJkZWZhdWx0XCJcbiAgICAgICAgICBbYXR0ci52YWx1ZV09XCJlc3RhZG9Db250cm9sLnZhbHVlXCJcbiAgICAgICAgICAoc2VsZWN0ZWQpPVwic2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGN1cmEtc2VsZWN0LW9wdGlvbiBbYXR0ci52YWx1ZV09XCInJ1wiPkZhw6dhIGEgc3VhIFNlbGXDp8OjbzwvY3VyYS1zZWxlY3Qtb3B0aW9uPlxuXG4gICAgICAgICAgQGZvciAoZXN0YWRvIG9mIGVzdGFkb3MgfHwgW107IHRyYWNrIGVzdGFkbz8udmFsdWUpIHtcbiAgICAgICAgICAgIDxjdXJhLXNlbGVjdC1vcHRpb24gW2F0dHIudmFsdWVdPVwiZXN0YWRvPy52YWx1ZVwiPnt7IGVzdGFkbz8ubGFiZWwgfX08L2N1cmEtc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvY3VyYS1zZWxlY3Q+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MtY29iZXJ0dXJhXCI+XG4gICAgICA8Y3VyYS1pY29uIG5hbWU9XCJmaWx0ZXJcIiBzaXplPVwiMjBcIiBjb2xvcj1cImluZm8tZGFya1wiPjwvY3VyYS1pY29uPlxuICAgICAgPGN1cmEtaGVhZGluZyBzaXplPVwieHNtYWxsXCIgbGV2ZWw9XCI1XCIgd2VpZ2h0PVwiYm9sZFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIG1hcmdpbi1ibG9jaz1cIjBcIiBsaW5lLWhlaWdodD1cIjE2cHhcIj5cbiAgICAgICAgRmlsdHJlIHBlbGEgY29iZXJ0dXJhIGRvIHNldSBwbGFub1xuICAgICAgPC9jdXJhLWhlYWRpbmc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MtY29udGVudFwiPlxuICAgICAgPGN1cmEtaGVhZGluZyBzaXplPVwieHNtYWxsXCIgbGV2ZWw9XCI1XCIgY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgbWFyZ2luLWJsb2NrPVwiMFwiIGxpbmUtaGVpZ2h0PVwiMTZweFwiPiBUaXBvcyBkZSBjb2JlcnR1cmEgPC9jdXJhLWhlYWRpbmc+XG4gICAgICA8Y3VyYS1wYXJhZ3JhcGggc2l6ZT1cInhzbWFsbFwiIGNvbG9yPVwibmV1dHJhbC1kYXJrXCIgbWFyZ2luLWJsb2NrPVwiMFwiPlxuICAgICAgICBWb2PDqiBwb2RlIHNlbGVjaW9uYXIgdW1hIG91IG1haXMgcG9ydGFzIGRlIGVudHJhZGEsIGRlIGFjb3JkbyBjb20gYSBjb2JlcnR1cmEgZG8gc2V1IHBsYW5vLlxuICAgICAgPC9jdXJhLXBhcmFncmFwaD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcGxhbm9zLWNvbnZlbmlvcy1jaGVja2JveGVzXCI+XG4gICAgICBAZm9yIChvcHRpb24gb2YgY29iZXJ0dXJhcyB8fCBbXTsgdHJhY2sgb3B0aW9uPy52YWx1ZSkge1xuICAgICAgICA8Y3VyYS1jaGVja2JveFxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBpY29uLWNvbG9yPVwibGlnaHRcIlxuICAgICAgICAgIFthdHRyLm5hbWVdPVwib3B0aW9uPy5sYWJlbFwiXG4gICAgICAgICAgW2F0dHIubGFiZWxdPVwib3B0aW9uPy5sYWJlbFwiXG4gICAgICAgICAgW2F0dHIudmFsdWVdPVwib3B0aW9uPy52YWx1ZVwiXG4gICAgICAgICAgW2F0dHIuY2hlY2tlZF09XCJvcHRpb24/LmNoZWNrZWRcIlxuICAgICAgICAgIChvbmNoYW5nZSk9XCJjaGVja2JveENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2N1cmEtY2hlY2tib3g+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MtYnV0dG9uc1wiPlxuICAgICAgPGN1cmEtYnV0dG9uLXRyYW5zcGFyZW50IHNpemU9XCJzbWFsbFwiIGNvbG9yPVwicHJpbWFyeVwiIGZvbnQtY29sb3I9XCJkYXJrXCIgdGV4dC1hbGlnbj1cImNlbnRlclwiIChjbGljayk9XCJyZXNldCgpXCI+XG4gICAgICAgIDxzcGFuPiBMaW1wYXIgdG9kb3Mgb3MgZmlsdHJvcyA8L3NwYW4+XG4gICAgICA8L2N1cmEtYnV0dG9uLXRyYW5zcGFyZW50PlxuXG4gICAgICA8Y3VyYS1idXR0b24gc2l6ZT1cIm1lZGl1bVwiIGNvbG9yPVwicHJpbWFyeVwiIGZvbnQtY29sb3I9XCJsaWdodFwiIGJhY2tncm91bmQ9XCJsaWdodFwiIHRleHQtYWxpZ249XCJjZW50ZXJcIiAoY2xpY2spPVwiZmlsdGVyKClcIj4gRmlsdHJhciA8L2N1cmEtYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8Y3VyYS1sb2FkZXItY2lyY2xlIGNvbG9yPVwicHJpbWFyeVwiIHNpemU9XCJzbWFsbFwiPiA8L2N1cmEtbG9hZGVyLWNpcmNsZT5cbiAgfVxuPC9kaXY+XG4iXX0=