@rededor/site-front-end-lib 1.0.41 → 1.0.43
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.
- package/esm2022/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.mjs +51 -8
- package/esm2022/lib/services/site-back-end/site-back-end.service.mjs +6 -19
- package/fesm2022/rededor-site-front-end-lib.mjs +54 -15510
- package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
- package/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.d.ts +13 -5
- package/lib/services/site-back-end/site-back-end.service.d.ts +1 -3
- package/package.json +1 -1
- package/esm2022/lib/json/unidades.json +0 -10179
- package/esm2022/lib/json/unidadesOnco.json +0 -4936
package/esm2022/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.mjs
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, HostBinding, Inject, Input, Output, PLATFORM_ID } from '@angular/core';
|
|
2
|
+
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "../../services";
|
|
4
5
|
export class FilterLetterAndTermsComponent {
|
|
6
|
+
set selectedOption(value) {
|
|
7
|
+
if (this._selectedOption === value)
|
|
8
|
+
return;
|
|
9
|
+
this._selectedOption = value;
|
|
10
|
+
if (this.enableScroll && !this.isFirstScroll) {
|
|
11
|
+
this.scrollToSelectedOption(value);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
get selectedOption() {
|
|
15
|
+
return this._selectedOption;
|
|
16
|
+
}
|
|
5
17
|
get style() {
|
|
6
18
|
return {
|
|
7
19
|
'--font-family': this.curaService.getFontFamily(''),
|
|
@@ -13,28 +25,59 @@ export class FilterLetterAndTermsComponent {
|
|
|
13
25
|
'--color-one-darker': this.curaService.getColor('primary-darker'),
|
|
14
26
|
};
|
|
15
27
|
}
|
|
16
|
-
constructor(curaService) {
|
|
28
|
+
constructor(curaService, document, platformId) {
|
|
17
29
|
this.curaService = curaService;
|
|
30
|
+
this.document = document;
|
|
31
|
+
this.platformId = platformId;
|
|
18
32
|
this.options = [];
|
|
19
33
|
this.baseUrl = '';
|
|
20
|
-
this.
|
|
34
|
+
this.enableScroll = false;
|
|
35
|
+
this.isFirstScroll = true;
|
|
36
|
+
this._selectedOption = '';
|
|
21
37
|
this.optionSelected = new EventEmitter();
|
|
22
38
|
}
|
|
39
|
+
ngAfterViewInit() {
|
|
40
|
+
if (this.selectedOption) {
|
|
41
|
+
this.scrollToSelectedOption(this.selectedOption);
|
|
42
|
+
this.isFirstScroll = false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
23
45
|
selectOption(option, event) {
|
|
24
46
|
event.preventDefault();
|
|
25
47
|
this.selectedOption = option;
|
|
26
48
|
this.optionSelected.emit(option);
|
|
27
49
|
}
|
|
28
|
-
|
|
29
|
-
|
|
50
|
+
scrollToSelectedOption(value) {
|
|
51
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
52
|
+
const elementId = value || 'todas';
|
|
53
|
+
const selectedElement = elementId === 'todas' ? this.document.getElementById('todas') : this.document.getElementById(value);
|
|
54
|
+
if (selectedElement) {
|
|
55
|
+
selectedElement.scrollIntoView({
|
|
56
|
+
behavior: 'smooth',
|
|
57
|
+
inline: 'center',
|
|
58
|
+
block: 'nearest',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FilterLetterAndTermsComponent, deps: [{ token: i1.CuraService }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: FilterLetterAndTermsComponent, isStandalone: true, selector: "rdsite-filter-letter-and-terms", inputs: { options: "options", baseUrl: "baseUrl", enableScroll: "enableScroll", selectedOption: "selectedOption" }, outputs: { optionSelected: "optionSelected" }, host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<div class=\"filter-letter-and-terms\">\r\n <a id=\"todas\" rdsitelink class=\"filter-option\" [class.selected]=\"selectedOption === ''\" [href]=\"baseUrl ? baseUrl : '#'\" (click)=\"selectOption('', $event)\">\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"] }); }
|
|
30
65
|
}
|
|
31
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FilterLetterAndTermsComponent, decorators: [{
|
|
32
67
|
type: Component,
|
|
33
|
-
args: [{ selector: 'rdsite-filter-letter-and-terms', standalone: true, imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"filter-letter-and-terms\">\r\n <a rdsitelink class=\"filter-option\" [class.selected]=\"selectedOption === ''\" [href]=\"baseUrl ? baseUrl : '#'\" (click)=\"selectOption('', $event)\"
|
|
34
|
-
}], ctorParameters: () => [{ type: i1.CuraService }
|
|
68
|
+
args: [{ selector: 'rdsite-filter-letter-and-terms', standalone: true, imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"filter-letter-and-terms\">\r\n <a id=\"todas\" rdsitelink class=\"filter-option\" [class.selected]=\"selectedOption === ''\" [href]=\"baseUrl ? baseUrl : '#'\" (click)=\"selectOption('', $event)\">\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"] }]
|
|
69
|
+
}], ctorParameters: () => [{ type: i1.CuraService }, { type: Document, decorators: [{
|
|
70
|
+
type: Inject,
|
|
71
|
+
args: [DOCUMENT]
|
|
72
|
+
}] }, { type: undefined, decorators: [{
|
|
73
|
+
type: Inject,
|
|
74
|
+
args: [PLATFORM_ID]
|
|
75
|
+
}] }], propDecorators: { options: [{
|
|
35
76
|
type: Input
|
|
36
77
|
}], baseUrl: [{
|
|
37
78
|
type: Input
|
|
79
|
+
}], enableScroll: [{
|
|
80
|
+
type: Input
|
|
38
81
|
}], selectedOption: [{
|
|
39
82
|
type: Input
|
|
40
83
|
}], optionSelected: [{
|
|
@@ -43,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
43
86
|
type: HostBinding,
|
|
44
87
|
args: ['style']
|
|
45
88
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxldHRlci1hbmQtdGVybXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci1sZXR0ZXItYW5kLXRlcm1zL2ZpbHRlci1sZXR0ZXItYW5kLXRlcm1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhKLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVTlELE1BQU0sT0FBTyw2QkFBNkI7SUFPeEMsSUFDSSxjQUFjLENBQUMsS0FBYTtRQUM5QixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssS0FBSztZQUFFLE9BQU87UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUdELElBQTBCLEtBQUs7UUFDN0IsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDbkQscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7WUFDckUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1lBQzdELG1CQUFtQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUMvRCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDN0Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzdELG9CQUFvQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1NBQ2xFLENBQUM7SUFDSixDQUFDO0lBRUQsWUFDbUIsV0FBd0IsRUFDZixRQUFrQixFQUNOLFVBQWtCO1FBRnZDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNOLGVBQVUsR0FBVixVQUFVLENBQVE7UUFuQ2pELFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUN0QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQWMzQixtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBa0J6RSxDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYyxFQUFFLEtBQVk7UUFDdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFhO1FBQ2xDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxTQUFTLEdBQUcsS0FBSyxJQUFJLE9BQU8sQ0FBQztZQUNuQyxNQUFNLGVBQWUsR0FBRyxTQUFTLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUgsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsZUFBZSxDQUFDLGNBQWMsQ0FBQztvQkFDN0IsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLE1BQU0sRUFBRSxRQUFRO29CQUNoQixLQUFLLEVBQUUsU0FBUztpQkFDakIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOytHQWhFVSw2QkFBNkIsNkNBbUM5QixRQUFRLGFBQ1IsV0FBVzttR0FwQ1YsNkJBQTZCLDhTQ1oxQyxtbUJBa0JBOzs0RkROYSw2QkFBNkI7a0JBUnpDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUCxFQUFFLFdBQ0YsQ0FBQyxzQkFBc0IsQ0FBQzs7MEJBdUM5QixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsV0FBVzt5Q0FuQ1osT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBWUksY0FBYztzQkFBdkIsTUFBTTtnQkFFbUIsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPdXRwdXQsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1cmFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdyZHNpdGUtZmlsdGVyLWxldHRlci1hbmQtdGVybXMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItbGV0dGVyLWFuZC10ZXJtcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2ZpbHRlci1sZXR0ZXItYW5kLXRlcm1zLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlckxldHRlckFuZFRlcm1zQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgb3B0aW9uczogc3RyaW5nW10gPSBbXTtcclxuICBASW5wdXQoKSBiYXNlVXJsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBlbmFibGVTY3JvbGwgPSBmYWxzZTtcclxuICBwcml2YXRlIGlzRmlyc3RTY3JvbGwgPSB0cnVlO1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkT3B0aW9uOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWRPcHRpb24odmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkT3B0aW9uID09PSB2YWx1ZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5fc2VsZWN0ZWRPcHRpb24gPSB2YWx1ZTtcclxuICAgIGlmICh0aGlzLmVuYWJsZVNjcm9sbCAmJiAhdGhpcy5pc0ZpcnN0U2Nyb2xsKSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG9TZWxlY3RlZE9wdGlvbih2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgc2VsZWN0ZWRPcHRpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZE9wdGlvbjtcclxuICB9XHJcbiAgQE91dHB1dCgpIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgZ2V0IHN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJy0tZm9udC1mYW1pbHknOiB0aGlzLmN1cmFTZXJ2aWNlLmdldEZvbnRGYW1pbHkoJycpLFxyXG4gICAgICAnLS1uZXV0cmFsLXB1cmV3aGl0ZSc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtcHVyZXdoaXRlJyksXHJcbiAgICAgICctLW5ldXRyYWwtYmxhY2snOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWJsYWNrJyksXHJcbiAgICAgICctLWNvbG9yLW9uZS1saWdodCc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ3ByaW1hcnktbGlnaHQnKSxcclxuICAgICAgJy0tY29sb3Itb25lLWJhc2UnOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCdwcmltYXJ5LWJhc2UnKSxcclxuICAgICAgJy0tY29sb3Itb25lLWRhcmsnOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCdwcmltYXJ5LWRhcmsnKSxcclxuICAgICAgJy0tY29sb3Itb25lLWRhcmtlcic6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ3ByaW1hcnktZGFya2VyJyksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1cmFTZXJ2aWNlOiBDdXJhU2VydmljZSxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbikge1xyXG4gICAgICB0aGlzLnNjcm9sbFRvU2VsZWN0ZWRPcHRpb24odGhpcy5zZWxlY3RlZE9wdGlvbik7XHJcbiAgICAgIHRoaXMuaXNGaXJzdFNjcm9sbCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogc3RyaW5nLCBldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gb3B0aW9uO1xyXG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KG9wdGlvbik7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb1NlbGVjdGVkT3B0aW9uKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRJZCA9IHZhbHVlIHx8ICd0b2Rhcyc7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IGVsZW1lbnRJZCA9PT0gJ3RvZGFzJyA/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvZGFzJykgOiB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHZhbHVlKTtcclxuICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudCkge1xyXG4gICAgICAgIHNlbGVjdGVkRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XHJcbiAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgICAgICBpbmxpbmU6ICdjZW50ZXInLFxyXG4gICAgICAgICAgYmxvY2s6ICduZWFyZXN0JyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmlsdGVyLWxldHRlci1hbmQtdGVybXNcIj5cclxuICA8YSBpZD1cInRvZGFzXCIgcmRzaXRlbGluayBjbGFzcz1cImZpbHRlci1vcHRpb25cIiBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRPcHRpb24gPT09ICcnXCIgW2hyZWZdPVwiYmFzZVVybCA/IGJhc2VVcmwgOiAnIydcIiAoY2xpY2spPVwic2VsZWN0T3B0aW9uKCcnLCAkZXZlbnQpXCI+XHJcbiAgICBUT0RBU1xyXG4gIDwvYT5cclxuXHJcbiAgQGZvciAob3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrIG9wdGlvbikge1xyXG4gICAgPGFcclxuICAgICAgW2lkXT1cIm9wdGlvblwiXHJcbiAgICAgIHJkc2l0ZWxpbmtcclxuICAgICAgY2xhc3M9XCJmaWx0ZXItb3B0aW9uXCJcclxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkT3B0aW9uID09PSBvcHRpb25cIlxyXG4gICAgICBbaHJlZl09XCJiYXNlVXJsID8gYmFzZVVybCArIG9wdGlvbi50b0xvd2VyQ2FzZSgpIDogJyMnXCJcclxuICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihvcHRpb24sICRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICB7eyBvcHRpb24gfX1cclxuICAgIDwvYT5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { Injectable, Inject, PLATFORM_ID } from '@angular/core';
|
|
2
2
|
import { isPlatformServer } from '@angular/common';
|
|
3
|
-
import { catchError, of, timeout } from 'rxjs';
|
|
4
3
|
import { LIB_CONFIG } from '../../tokens/LibConfig';
|
|
5
4
|
import { toQueryParams } from '../../helpers/toQueryParams.func';
|
|
6
|
-
import * as unidadesWpMock from '../../json/unidades.json';
|
|
7
|
-
import * as unidadesOncoWpMock from '../../json/unidadesOnco.json';
|
|
8
5
|
import * as i0 from "@angular/core";
|
|
9
6
|
import * as i1 from "../http-client/http-client.service";
|
|
10
|
-
import * as i2 from "../log/log.service";
|
|
11
7
|
export class SiteBackendService {
|
|
12
|
-
constructor(httpClientService,
|
|
8
|
+
constructor(httpClientService, libConfig, platformId) {
|
|
13
9
|
this.httpClientService = httpClientService;
|
|
14
|
-
this.log = log;
|
|
15
10
|
this.libConfig = libConfig;
|
|
16
11
|
this.platformId = platformId;
|
|
17
12
|
this.siteApiUrl = this.getApiUrl();
|
|
@@ -38,22 +33,14 @@ export class SiteBackendService {
|
|
|
38
33
|
return this.httpClientService.get(`${this.siteApiUrl}unidades/lista`);
|
|
39
34
|
}
|
|
40
35
|
getUnidadesWP() {
|
|
41
|
-
return this.httpClientService.get(`${this.siteApiUrl}unidades/wp`)
|
|
42
|
-
this.log.logMsg(JSON.stringify(err), 'ERROR');
|
|
43
|
-
this.log.logMsg('Utilizando json de unidades wordpress.', 'FALLBACK');
|
|
44
|
-
return of(Array.from(unidadesWpMock));
|
|
45
|
-
}));
|
|
36
|
+
return this.httpClientService.get(`${this.siteApiUrl}unidades/wp`);
|
|
46
37
|
}
|
|
47
38
|
getUnidadesMenusWP(unidadeSlug = '') {
|
|
48
39
|
const unidade = unidadeSlug && unidadeSlug !== '/' ? unidadeSlug : '';
|
|
49
40
|
return this.httpClientService.get(`${this.siteApiUrl}unidades/wp/menus/${unidade}`);
|
|
50
41
|
}
|
|
51
42
|
getUnidadesOncoWP() {
|
|
52
|
-
return this.httpClientService.get(`${this.siteApiUrl}unidades/wp-onco`)
|
|
53
|
-
this.log.logMsg(JSON.stringify(err), 'ERROR');
|
|
54
|
-
this.log.logMsg('Utilizando json de unidades onco wordpress.', 'FALLBACK');
|
|
55
|
-
return of(Array.from(unidadesOncoWpMock));
|
|
56
|
-
}));
|
|
43
|
+
return this.httpClientService.get(`${this.siteApiUrl}unidades/wp-onco`);
|
|
57
44
|
}
|
|
58
45
|
/**
|
|
59
46
|
* Retorna o 'menu de unidades' completo, baseado nos dados de /unidades/wp e /unidades/wp-onco do backend.
|
|
@@ -161,7 +148,7 @@ export class SiteBackendService {
|
|
|
161
148
|
url,
|
|
162
149
|
});
|
|
163
150
|
}
|
|
164
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SiteBackendService, deps: [{ token: i1.HttpClientService }, { token:
|
|
151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SiteBackendService, deps: [{ token: i1.HttpClientService }, { token: LIB_CONFIG }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
165
152
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SiteBackendService, providedIn: 'root' }); }
|
|
166
153
|
}
|
|
167
154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SiteBackendService, decorators: [{
|
|
@@ -169,11 +156,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
169
156
|
args: [{
|
|
170
157
|
providedIn: 'root',
|
|
171
158
|
}]
|
|
172
|
-
}], ctorParameters: () => [{ type: i1.HttpClientService }, { type:
|
|
159
|
+
}], ctorParameters: () => [{ type: i1.HttpClientService }, { type: undefined, decorators: [{
|
|
173
160
|
type: Inject,
|
|
174
161
|
args: [LIB_CONFIG]
|
|
175
162
|
}] }, { type: undefined, decorators: [{
|
|
176
163
|
type: Inject,
|
|
177
164
|
args: [PLATFORM_ID]
|
|
178
165
|
}] }] });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1iYWNrLWVuZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvc2l0ZS1iYWNrLWVuZC9zaXRlLWJhY2stZW5kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBb0JqRSxPQUFPLEtBQUssY0FBYyxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUtuRSxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQ1UsaUJBQW9DLEVBQ3BDLEdBQWUsRUFDSyxTQUFvQixFQUNuQixVQUFrQjtRQUh2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDSyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVE7UUFFL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLFNBQVMs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RCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsV0FBVyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsV0FBVyxDQUFDLGNBQXNCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxVQUFVLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFzQztRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxHQUFXO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLFdBQVcsRUFBRTtZQUNoRSxLQUFLO1lBQ0wsTUFBTTtZQUNOLEdBQUc7U0FDSixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXpOVSxrQkFBa0IsNkVBTW5CLFVBQVUsYUFDVixXQUFXO21IQVBWLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBPYnNlcnZhYmxlLCBvZiwgdGltZW91dCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcclxuaW1wb3J0IHsgdG9RdWVyeVBhcmFtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvdG9RdWVyeVBhcmFtcy5mdW5jJztcclxuaW1wb3J0IHsgSHR0cENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi9odHRwLWNsaWVudC9odHRwLWNsaWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBSRFNMQ29udmVuaW8sIFJEU0xDb252ZW5pb1BhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9yZHNsLWNvbnZlbmlvLm1vZGVsJztcclxuaW1wb3J0IHsgUkRTTFBsYW5vLCBSRFNMUGxhbm9QYXJhbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmRzbC1wbGFub3MubW9kZWwnO1xyXG5pbXBvcnQgeyBSRFNMQ29iZXJ0dXJhLCBSRFNMQ29iZXJ0dXJhUGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jkc2wtY29iZXJ0dXJhLm1vZGVsJztcclxuaW1wb3J0IHsgUkRTTFVuaWRhZGUsIFJEU0xVbmlkYWRlc1BhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9yZHNsLXVuaWRhZGUubW9kZWwnO1xyXG5pbXBvcnQgeyBSRFNMRXNwZWNpYWxpZGFkZSwgUkRTTEVzcGVjaWFsaWRhZGVzUGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jkc2wtZXNwZWNpYWxpZGFkZS5tb2RlbCc7XHJcbmltcG9ydCB7IERvZW5jYUJhY2tlbmQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZG9lbmNhLWJhY2tlbmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUYXhvbm9taWFzRG9lbmNhc0xpc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvZG9lbmNhLXRheG9ub215Lm1vZGVsJztcclxuaW1wb3J0IHsgRXhhbWVBcGlEYWRvcywgRXhhbWVCYWNrZW5kIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4YW1lLWJhY2tlbmQubW9kZWwnO1xyXG5pbXBvcnQgeyBFc3BlY2lhbGlkYWRlQmFja2VuZCwgRXNwZWNpYWxpZGFkZUdydXBvQmFja2VuZCB9IGZyb20gJy4uLy4uL21vZGVscy9lc3BlY2lhbGlkYWRlLWJhY2tlbmQubW9kZWwnO1xyXG5pbXBvcnQgeyBDZW50cm9Fc3R1ZG9zQmFja2VuZE1lZGljbyB9IGZyb20gJy4uLy4uL21vZGVscy9jZW50cm8tZXN0dWRvcy1iYWNrZW5kLm1vZGVsJztcclxuaW1wb3J0IHsgV3BVbmlkYWRlU2l0ZSB9IGZyb20gJy4uLy4uL21vZGVscy93b3JkcHJlc3MvdW5pZGFkZS93cC11bmlkYWRlLXNpdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBXcFVuaWRhZGVPbmNvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dvcmRwcmVzcy91bmlkYWRlL3dwLXVuaWRhZGUtb25jby5tb2RlbCc7XHJcbmltcG9ydCB7IFVuaWZpZWRNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IE1lZGljb0N2IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lZGljby1jdi5tb2RlbCc7XHJcbmltcG9ydCB7IE1lbnVEZVVuaWRhZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWVudS1kZS11bmlkYWRlLm1vZGVsJztcclxuXHJcbmltcG9ydCAqIGFzIHVuaWRhZGVzV3BNb2NrIGZyb20gJy4uLy4uL2pzb24vdW5pZGFkZXMuanNvbic7XHJcbmltcG9ydCAqIGFzIHVuaWRhZGVzT25jb1dwTW9jayBmcm9tICcuLi8uLi9qc29uL3VuaWRhZGVzT25jby5qc29uJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXRlQmFja2VuZFNlcnZpY2Uge1xyXG4gIHNpdGVBcGlVcmw6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnRTZXJ2aWNlOiBIdHRwQ2xpZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgbG9nOiBMb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnNpdGVBcGlVcmwgPSB0aGlzLmdldEFwaVVybCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBcGlVcmwoKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkgJiYgdGhpcy5saWJDb25maWcuc2VydmVyKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmJhc2VJbnRlcm5hbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmJhc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHRVQgcGFyYSBxdWFscXVlciBlbmRwb2ludCBkbyBiYWNrLWVuZCBkbyBzaXRlLlxyXG4gICAqIEBwYXJhbSBwYXRoIC0gTyBjYW1pbmhvIGRvIHJlY3Vyc28uIChJbmljaWEgc2VtICcvJy4gRXg6ICd1bmlkYWRlcy93cCcpXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIFBhcsOibWV0cm9zIG9wY2lvbmFpcyBwYXJhIGEgcmVxdWlzacOnw6NvLlxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgcXVlIGVtaXRlIG9zIGRhZG9zIHJldG9ybmFkb3MgcGVsbyBiYWNrLWVuZC5cclxuICAgKi9cclxuICBnZXQ8VCA9IGFueT4ocGF0aDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldDxUPihgJHt0aGlzLnNpdGVBcGlVcmx9JHtwYXRofSR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pZGFkZXMocGFyYW1zPzogUkRTTFVuaWRhZGVzUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMVW5pZGFkZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXVuaWRhZGVzJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRVbmlkYWRlc0xpc3QoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9dW5pZGFkZXMvbGlzdGFgKTtcclxuICB9XHJcblxyXG4gIGdldFVuaWRhZGVzV1AoKTogT2JzZXJ2YWJsZTxXcFVuaWRhZGVTaXRlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldDxXcFVuaWRhZGVTaXRlW10+KGAke3RoaXMuc2l0ZUFwaVVybH11bmlkYWRlcy93cGApLnBpcGUoXHJcbiAgICAgIHRpbWVvdXQoMTUwMCksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnIpLCAnRVJST1InKTtcclxuICAgICAgICB0aGlzLmxvZy5sb2dNc2coJ1V0aWxpemFuZG8ganNvbiBkZSB1bmlkYWRlcyB3b3JkcHJlc3MuJywgJ0ZBTExCQUNLJyk7XHJcbiAgICAgICAgcmV0dXJuIG9mKEFycmF5LmZyb20odW5pZGFkZXNXcE1vY2spIGFzIHVua25vd24gYXMgV3BVbmlkYWRlU2l0ZVtdKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pZGFkZXNNZW51c1dQKHVuaWRhZGVTbHVnID0gJycpOiBPYnNlcnZhYmxlPFVuaWZpZWRNZW51PiB7XHJcbiAgICBjb25zdCB1bmlkYWRlID0gdW5pZGFkZVNsdWcgJiYgdW5pZGFkZVNsdWcgIT09ICcvJyA/IHVuaWRhZGVTbHVnIDogJyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXVuaWRhZGVzL3dwL21lbnVzLyR7dW5pZGFkZX1gKTtcclxuICB9XHJcblxyXG4gIGdldFVuaWRhZGVzT25jb1dQKCk6IE9ic2VydmFibGU8V3BVbmlkYWRlT25jb1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQ8V3BVbmlkYWRlT25jb1tdPihgJHt0aGlzLnNpdGVBcGlVcmx9dW5pZGFkZXMvd3Atb25jb2ApLnBpcGUoXHJcbiAgICAgIHRpbWVvdXQoMTUwMCksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnIpLCAnRVJST1InKTtcclxuICAgICAgICB0aGlzLmxvZy5sb2dNc2coJ1V0aWxpemFuZG8ganNvbiBkZSB1bmlkYWRlcyBvbmNvIHdvcmRwcmVzcy4nLCAnRkFMTEJBQ0snKTtcclxuICAgICAgICByZXR1cm4gb2YoQXJyYXkuZnJvbSh1bmlkYWRlc09uY29XcE1vY2spIGFzIHVua25vd24gYXMgV3BVbmlkYWRlT25jb1tdKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0b3JuYSBvICdtZW51IGRlIHVuaWRhZGVzJyBjb21wbGV0bywgYmFzZWFkbyBub3MgZGFkb3MgZGUgL3VuaWRhZGVzL3dwIGUgL3VuaWRhZGVzL3dwLW9uY28gZG8gYmFja2VuZC5cclxuICAgKiBpbmRleCAwID0+IHJlZGVkb3JcclxuICAgKiBpbmRleCAxID0+IG9uY29sb2dpYVxyXG4gICAqIGluZGV4IDIgPT4gc3RhclxyXG4gICAqKi9cclxuICBnZXRNZW51RGVVbmlkYWRlcygpOiBPYnNlcnZhYmxlPE1lbnVEZVVuaWRhZGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0PE1lbnVEZVVuaWRhZGVbXT4oYCR7dGhpcy5zaXRlQXBpVXJsfXVuaWRhZGVzL3dwL21lbnUtZGUtdW5pZGFkZXNgKTtcclxuICB9XHJcblxyXG4gIGdldENvbnZlbmlvcyhwYXJhbXM/OiBSRFNMQ29udmVuaW9QYXJhbXMpOiBPYnNlcnZhYmxlPFJEU0xDb252ZW5pb1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWNvbnZlbmlvcyR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGxhbm9zKHBhcmFtcz86IFJEU0xQbGFub1BhcmFtcyk6IE9ic2VydmFibGU8UkRTTFBsYW5vW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9cGxhbm9zJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb2JlcnR1cmFzKHBsYW5vSWRRZDogbnVtYmVyLCBwYXJhbXM/OiBSRFNMQ29iZXJ0dXJhUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMQ29iZXJ0dXJhW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9cGxhbm9zLyR7cGxhbm9JZFFkfS9jb2JlcnR1cmEke3RvUXVlcnlQYXJhbXMocGFyYW1zKX1gKTtcclxuICB9XHJcblxyXG4gIGdldERvZW5jYXMoKTogT2JzZXJ2YWJsZTxEb2VuY2FCYWNrZW5kW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZG9lbmNhc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RG9lbmNhc1RheG9ub21pZXMoKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNpdGVBcGlVcmx9ZG9lbmNhcy90YXhvbm9taWFzYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldDxUYXhvbm9taWFzRG9lbmNhc0xpc3Q+KHVybCk7XHJcbiAgfVxyXG5cclxuICBnZXREb2VuY2FzVW5pcXVlTGV0dGVycygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNpdGVBcGlVcmx9ZG9lbmNhcy9sZXR0ZXJzYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFjaW5hcygpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXZhY2luYXNgKTtcclxuICB9XHJcblxyXG4gIGdldFZhY2luYXNUYXhvbm9taWVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH12YWNpbmFzL3RheG9ub21pYXNgKTtcclxuICB9XHJcblxyXG4gIGdldENpcnVyZ2lhcygpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWNpcnVyZ2lhc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2lydXJnaWFzR3J1cG9zKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9Y2lydXJnaWFzL2dydXBvc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2lydXJnaWFzVGF4b25vbWllcygpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWNpcnVyZ2lhcy90YXhvbm9taWFzYCk7XHJcbiAgfVxyXG5cclxuICBnZXRFeGFtZXNMaXN0KGxpc3RhRGFVbmlkYWRlOiBib29sZWFuLCB1bmlkYWRlU2x1Zzogc3RyaW5nLCB1bmlkYWRlSWRRZDogc3RyaW5nLCB1bmlkYWRlSWRNb3Rpb246IHN0cmluZywgdW5pZGFkZUlkTG9jYWw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoXHJcbiAgICAgIGAke3RoaXMuc2l0ZUFwaVVybH1leGFtZXMtZS1wcm9jZWRpbWVudG9zL2xpc3RhP2xpc3RhRGFVbmlkYWRlPSR7bGlzdGFEYVVuaWRhZGV9JnVuaWRhZGVTbHVnPSR7dW5pZGFkZVNsdWd9JnVuaWRhZGVJZFFkPSR7dW5pZGFkZUlkUWR9JnVuaWRhZGVJZE1vdGlvbj0ke3VuaWRhZGVJZE1vdGlvbn0mdW5pZGFkZUlkTG9jYWw9JHt1bmlkYWRlSWRMb2NhbH1gLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEV4YW1lRGV0YWlscyhcclxuICAgIHVuaWRhZGVQb3NzdWlFeGFtZXM6IGJvb2xlYW4sXHJcbiAgICB1bmlkYWRlU2x1Zzogc3RyaW5nLFxyXG4gICAgdW5pZGFkZUlkUWQ6IHN0cmluZyxcclxuICAgIHVuaWRhZGVJZE1vdGlvbjogc3RyaW5nLFxyXG4gICAgdW5pZGFkZUlkTG9jYWw6IHN0cmluZyxcclxuICAgIGdydXBvU2x1Zzogc3RyaW5nLFxyXG4gICAgZXhhbWVTbHVnOiBzdHJpbmcsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChcclxuICAgICAgYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3MvZGV0YWxoZXM/dW5pZGFkZVBvc3N1aUV4YW1lcz0ke3VuaWRhZGVQb3NzdWlFeGFtZXN9JnVuaWRhZGVTbHVnPSR7dW5pZGFkZVNsdWd9JnVuaWRhZGVJZFFkPSR7dW5pZGFkZUlkUWR9JnVuaWRhZGVJZE1vdGlvbj0ke3VuaWRhZGVJZE1vdGlvbn0mdW5pZGFkZUlkTG9jYWw9JHt1bmlkYWRlSWRMb2NhbH0mZ3J1cG9TbHVnPSR7Z3J1cG9TbHVnfSZleGFtZVNsdWc9JHtleGFtZVNsdWd9YCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRHcnVwb3NFeGFtZXModW5pZGFkZVNsdWc6IHN0cmluZyk6IE9ic2VydmFibGU8RXhhbWVCYWNrZW5kW10+IHtcclxuICAgIGNvbnN0IHNsdWcgPSB1bmlkYWRlU2x1ZyA/PyAnLyc7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBzbHVnID8gYD91bmlkYWRlPSR7c2x1Z31gIDogJyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3Mke3BhcmFtc31gKTtcclxuICB9XHJcblxyXG4gIGdldEV4YW1lc0J5R3J1cG8odW5pZGFkZVNsdWc6IHN0cmluZywgc2x1Z0dydXBvOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV4YW1lQmFja2VuZFtdPiB7XHJcbiAgICBjb25zdCBzbHVnID0gdW5pZGFkZVNsdWcgPz8gJy8nO1xyXG4gICAgY29uc3QgcGFyYW1zID0gYD91bmlkYWRlPSR7c2x1Z30mc2x1Z0dydXBvPSR7c2x1Z0dydXBvfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3MvZ3J1cG8ke3BhcmFtc31gKTtcclxuICB9XHJcblxyXG4gIGdldEV4YW1lc0J5VW5pZGFkZSh1bmlkYWRlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IGA/dW5pdElkPSR7dW5pZGFkZUlkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3MvdW5pZGFkZSR7cGFyYW1zfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXhhbWVzQXBpRGFkb3MoKTogT2JzZXJ2YWJsZTxFeGFtZUFwaURhZG9zW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXhhbWVzLWUtcHJvY2VkaW1lbnRvcy9hcGktZGFkb3NgKTtcclxuICB9XHJcblxyXG4gIGdldEVzcGVjaWFsaWRhZGVzTGlzdChcclxuICAgIGxpc3RhRGFVbmlkYWRlOiBib29sZWFuLFxyXG4gICAgdW5pZGFkZVNsdWc6IHN0cmluZyxcclxuICAgIHVuaWRhZGVQb3NzdWlBZ2VuZGFtZW50bzogYm9vbGVhbixcclxuICAgIHVuaWRhZGVJZENvbnN1bHRhczogc3RyaW5nLFxyXG4gICAgdW5pZGFkZUlkTW90aW9uOiBzdHJpbmcsXHJcbiAgICB1bmlkYWRlSWRMb2NhbDogc3RyaW5nLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoXHJcbiAgICAgIGAke3RoaXMuc2l0ZUFwaVVybH1lc3BlY2lhbGlkYWRlcy9saXN0YT9saXN0YURhVW5pZGFkZT0ke2xpc3RhRGFVbmlkYWRlfSZ1bmlkYWRlU2x1Zz0ke3VuaWRhZGVTbHVnfSZ1bmlkYWRlUG9zc3VpQWdlbmRhbWVudG89JHt1bmlkYWRlUG9zc3VpQWdlbmRhbWVudG99JnVuaWRhZGVJZENvbnN1bHRhcz0ke3VuaWRhZGVJZENvbnN1bHRhc30mdW5pZGFkZUlkTW90aW9uPSR7dW5pZGFkZUlkTW90aW9ufSZ1bmlkYWRlSWRMb2NhbD0ke3VuaWRhZGVJZExvY2FsfWAsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R3J1cG9zRXNwZWNpYWxpZGFkZXModW5pZGFkZVNsdWc/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzcGVjaWFsaWRhZGVHcnVwb0JhY2tlbmRbXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0gdW5pZGFkZVNsdWcgPyBgP3VuaWRhZGU9JHt1bmlkYWRlU2x1Z31gIDogJyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWVzcGVjaWFsaWRhZGVzJHtwYXJhbXN9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRFc3BlY2lhbGlkYWRlc0J5R3J1cG8odGl0dWxvR3J1cG86IHN0cmluZywgdW5pZGFkZVNsdWc/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzcGVjaWFsaWRhZGVCYWNrZW5kW10+IHtcclxuICAgIGNvbnN0IHRpdHVsbyA9IGA/dGl0dWxvR3J1cG89JHtlbmNvZGVVUkkodGl0dWxvR3J1cG8pfWA7XHJcbiAgICBjb25zdCBzbHVnID0gdW5pZGFkZVNsdWcgPyBgJnVuaWRhZGU9JHt1bmlkYWRlU2x1Z31gIDogJyc7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBgJHt0aXR1bG99JHtzbHVnfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWVzcGVjaWFsaWRhZGVzL2dydXBvJHtwYXJhbXN9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRFc3BlY2lhbGlkYWRlc0RxKHBhcmFtcz86IFJEU0xFc3BlY2lhbGlkYWRlc1BhcmFtcyk6IE9ic2VydmFibGU8UkRTTEVzcGVjaWFsaWRhZGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1lc3BlY2lhbGlkYWRlcy9lc3BlY2lhbGlkYWRlcy1kcSR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R3J1cG9zRXNwZWNpYWxpZGFkZXNEcShwYXJhbXM/OiBSRFNMRXNwZWNpYWxpZGFkZXNQYXJhbXMpOiBPYnNlcnZhYmxlPFJEU0xFc3BlY2lhbGlkYWRlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXNwZWNpYWxpZGFkZXMvZ3J1cG9zLWRxJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZWNhcHRjaGFSZXN1bHQodG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5wb3N0KGAke3RoaXMuc2l0ZUFwaVVybH0ke3RoaXMubGliQ29uZmlnLnNpdGVBcGkucmVjYXB0Y2hhfWAsIHsgdG9rZW4gfSk7XHJcbiAgfVxyXG5cclxuICBnZXRNZWRpY29DdihtZWRpY29JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxNZWRpY29Ddj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1tZWRpY29zLyR7bWVkaWNvSWR9YCk7XHJcbiAgfVxyXG5cclxuICAvLyBDZW50cm8gZGUgRXN0dWRvc1xyXG4gIGNoZWNrTWVkaWNvKGNvbnNlbGhvQ29kaWdvOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH0ke3RoaXMubGliQ29uZmlnLnNpdGVBcGkuY2VudHJvRXN0dWRvc30/ZW1haWw9JHtjb25zZWxob0NvZGlnb31gKTtcclxuICB9XHJcblxyXG4gIHNhdmVNZWRpY28obm92b01lZGljbzogQ2VudHJvRXN0dWRvc0JhY2tlbmRNZWRpY28pOiBPYnNlcnZhYmxlPENlbnRyb0VzdHVkb3NCYWNrZW5kTWVkaWNvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5wb3N0KGAke3RoaXMuc2l0ZUFwaVVybH0ke3RoaXMubGliQ29uZmlnLnNpdGVBcGkuY2VudHJvRXN0dWRvc31gLCBub3ZvTWVkaWNvKTtcclxuICB9XHJcblxyXG4gIGxvZ0NsaWVudEVycm9yKGVycm9yOiBzdHJpbmcsIG9yaWdpbjogc3RyaW5nLCB1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UucG9zdChgJHt0aGlzLnNpdGVBcGlVcmx9bG9nL2Vycm9yYCwge1xyXG4gICAgICBlcnJvcixcclxuICAgICAgb3JpZ2luLFxyXG4gICAgICB1cmwsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1iYWNrLWVuZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvc2l0ZS1iYWNrLWVuZC9zaXRlLWJhY2stZW5kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQXFCakUsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixZQUNVLGlCQUFvQyxFQUNoQixTQUFvQixFQUNuQixVQUFrQjtRQUZ2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUUvQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEdBQUcsQ0FBVSxJQUFZLEVBQUUsTUFBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxH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V0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XHJcbmltcG9ydCB7IHRvUXVlcnlQYXJhbXMgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3RvUXVlcnlQYXJhbXMuZnVuYyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC1jbGllbnQvaHR0cC1jbGllbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFJEU0xDb252ZW5pbywgUkRTTENvbnZlbmlvUGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jkc2wtY29udmVuaW8ubW9kZWwnO1xyXG5pbXBvcnQgeyBSRFNMUGxhbm8sIFJEU0xQbGFub1BhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9yZHNsLXBsYW5vcy5tb2RlbCc7XHJcbmltcG9ydCB7IFJEU0xDb2JlcnR1cmEsIFJEU0xDb2JlcnR1cmFQYXJhbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmRzbC1jb2JlcnR1cmEubW9kZWwnO1xyXG5pbXBvcnQgeyBSRFNMVW5pZGFkZSwgUkRTTFVuaWRhZGVzUGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jkc2wtdW5pZGFkZS5tb2RlbCc7XHJcbmltcG9ydCB7IFJEU0xFc3BlY2lhbGlkYWRlLCBSRFNMRXNwZWNpYWxpZGFkZXNQYXJhbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmRzbC1lc3BlY2lhbGlkYWRlLm1vZGVsJztcclxuaW1wb3J0IHsgRG9lbmNhQmFja2VuZCB9IGZyb20gJy4uLy4uL21vZGVscy9kb2VuY2EtYmFja2VuZC5tb2RlbCc7XHJcbmltcG9ydCB7IFRheG9ub21pYXNEb2VuY2FzTGlzdCB9IGZyb20gJy4uLy4uL21vZGVscy9kb2VuY2EtdGF4b25vbXkubW9kZWwnO1xyXG5pbXBvcnQgeyBFeGFtZUFwaURhZG9zLCBFeGFtZUJhY2tlbmQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhhbWUtYmFja2VuZC5tb2RlbCc7XHJcbmltcG9ydCB7IEVzcGVjaWFsaWRhZGVCYWNrZW5kLCBFc3BlY2lhbGlkYWRlR3J1cG9CYWNrZW5kIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VzcGVjaWFsaWRhZGUtYmFja2VuZC5tb2RlbCc7XHJcbmltcG9ydCB7IENlbnRyb0VzdHVkb3NCYWNrZW5kTWVkaWNvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NlbnRyby1lc3R1ZG9zLWJhY2tlbmQubW9kZWwnO1xyXG5pbXBvcnQgeyBXcFVuaWRhZGVTaXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dvcmRwcmVzcy91bmlkYWRlL3dwLXVuaWRhZGUtc2l0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IFdwVW5pZGFkZU9uY28gfSBmcm9tICcuLi8uLi9tb2RlbHMvd29yZHByZXNzL3VuaWRhZGUvd3AtdW5pZGFkZS1vbmNvLm1vZGVsJztcclxuaW1wb3J0IHsgVW5pZmllZE1lbnUgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWVudS1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgTWVkaWNvQ3YgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWVkaWNvLWN2Lm1vZGVsJztcclxuaW1wb3J0IHsgTWVudURlVW5pZGFkZSB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51LWRlLXVuaWRhZGUubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpdGVCYWNrZW5kU2VydmljZSB7XHJcbiAgc2l0ZUFwaVVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cENsaWVudFNlcnZpY2U6IEh0dHBDbGllbnRTZXJ2aWNlLFxyXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnNpdGVBcGlVcmwgPSB0aGlzLmdldEFwaVVybCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBcGlVcmwoKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkgJiYgdGhpcy5saWJDb25maWcuc2VydmVyKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmJhc2VJbnRlcm5hbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmJhc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHRVQgcGFyYSBxdWFscXVlciBlbmRwb2ludCBkbyBiYWNrLWVuZCBkbyBzaXRlLlxyXG4gICAqIEBwYXJhbSBwYXRoIC0gTyBjYW1pbmhvIGRvIHJlY3Vyc28uIChJbmljaWEgc2VtICcvJy4gRXg6ICd1bmlkYWRlcy93cCcpXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIFBhcsOibWV0cm9zIG9wY2lvbmFpcyBwYXJhIGEgcmVxdWlzacOnw6NvLlxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgcXVlIGVtaXRlIG9zIGRhZG9zIHJldG9ybmFkb3MgcGVsbyBiYWNrLWVuZC5cclxuICAgKi9cclxuICBnZXQ8VCA9IGFueT4ocGF0aDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldDxUPihgJHt0aGlzLnNpdGVBcGlVcmx9JHtwYXRofSR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pZGFkZXMocGFyYW1zPzogUkRTTFVuaWRhZGVzUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMVW5pZGFkZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXVuaWRhZGVzJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRVbmlkYWRlc0xpc3QoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9dW5pZGFkZXMvbGlzdGFgKTtcclxuICB9XHJcblxyXG4gIGdldFVuaWRhZGVzV1AoKTogT2JzZXJ2YWJsZTxXcFVuaWRhZGVTaXRlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldDxXcFVuaWRhZGVTaXRlW10+KGAke3RoaXMuc2l0ZUFwaVVybH11bmlkYWRlcy93cGApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pZGFkZXNNZW51c1dQKHVuaWRhZGVTbHVnID0gJycpOiBPYnNlcnZhYmxlPFVuaWZpZWRNZW51PiB7XHJcbiAgICBjb25zdCB1bmlkYWRlID0gdW5pZGFkZVNsdWcgJiYgdW5pZGFkZVNsdWcgIT09ICcvJyA/IHVuaWRhZGVTbHVnIDogJyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXVuaWRhZGVzL3dwL21lbnVzLyR7dW5pZGFkZX1gKTtcclxuICB9XHJcblxyXG4gIGdldFVuaWRhZGVzT25jb1dQKCk6IE9ic2VydmFibGU8V3BVbmlkYWRlT25jb1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQ8V3BVbmlkYWRlT25jb1tdPihgJHt0aGlzLnNpdGVBcGlVcmx9dW5pZGFkZXMvd3Atb25jb2ApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0b3JuYSBvICdtZW51IGRlIHVuaWRhZGVzJyBjb21wbGV0bywgYmFzZWFkbyBub3MgZGFkb3MgZGUgL3VuaWRhZGVzL3dwIGUgL3VuaWRhZGVzL3dwLW9uY28gZG8gYmFja2VuZC5cclxuICAgKiBpbmRleCAwID0+IHJlZGVkb3JcclxuICAgKiBpbmRleCAxID0+IG9uY29sb2dpYVxyXG4gICAqIGluZGV4IDIgPT4gc3RhclxyXG4gICAqKi9cclxuICBnZXRNZW51RGVVbmlkYWRlcygpOiBPYnNlcnZhYmxlPE1lbnVEZVVuaWRhZGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0PE1lbnVEZVVuaWRhZGVbXT4oYCR7dGhpcy5zaXRlQXBpVXJsfXVuaWRhZGVzL3dwL21lbnUtZGUtdW5pZGFkZXNgKTtcclxuICB9XHJcblxyXG4gIGdldENvbnZlbmlvcyhwYXJhbXM/OiBSRFNMQ29udmVuaW9QYXJhbXMpOiBPYnNlcnZhYmxlPFJEU0xDb252ZW5pb1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWNvbnZlbmlvcyR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGxhbm9zKHBhcmFtcz86IFJEU0xQbGFub1BhcmFtcyk6IE9ic2VydmFibGU8UkRTTFBsYW5vW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9cGxhbm9zJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb2JlcnR1cmFzKHBsYW5vSWRRZDogbnVtYmVyLCBwYXJhbXM/OiBSRFNMQ29iZXJ0dXJhUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMQ29iZXJ0dXJhW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9cGxhbm9zLyR7cGxhbm9JZFFkfS9jb2JlcnR1cmEke3RvUXVlcnlQYXJhbXMocGFyYW1zKX1gKTtcclxuICB9XHJcblxyXG4gIGdldERvZW5jYXMoKTogT2JzZXJ2YWJsZTxEb2VuY2FCYWNrZW5kW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZG9lbmNhc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RG9lbmNhc1RheG9ub21pZXMoKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNpdGVBcGlVcmx9ZG9lbmNhcy90YXhvbm9taWFzYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldDxUYXhvbm9taWFzRG9lbmNhc0xpc3Q+KHVybCk7XHJcbiAgfVxyXG5cclxuICBnZXREb2VuY2FzVW5pcXVlTGV0dGVycygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNpdGVBcGlVcmx9ZG9lbmNhcy9sZXR0ZXJzYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFjaW5hcygpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXZhY2luYXNgKTtcclxuICB9XHJcblxyXG4gIGdldFZhY2luYXNUYXhvbm9taWVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH12YWNpbmFzL3RheG9ub21pYXNgKTtcclxuICB9XHJcblxyXG4gIGdldENpcnVyZ2lhcygpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWNpcnVyZ2lhc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2lydXJnaWFzR3J1cG9zKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9Y2lydXJnaWFzL2dydXBvc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2lydXJnaWFzVGF4b25vbWllcygpOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWNpcnVyZ2lhcy90YXhvbm9taWFzYCk7XHJcbiAgfVxyXG5cclxuICBnZXRFeGFtZXNMaXN0KGxpc3RhRGFVbmlkYWRlOiBib29sZWFuLCB1bmlkYWRlU2x1Zzogc3RyaW5nLCB1bmlkYWRlSWRRZDogc3RyaW5nLCB1bmlkYWRlSWRNb3Rpb246IHN0cmluZywgdW5pZGFkZUlkTG9jYWw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoXHJcbiAgICAgIGAke3RoaXMuc2l0ZUFwaVVybH1leGFtZXMtZS1wcm9jZWRpbWVudG9zL2xpc3RhP2xpc3RhRGFVbmlkYWRlPSR7bGlzdGFEYVVuaWRhZGV9JnVuaWRhZGVTbHVnPSR7dW5pZGFkZVNsdWd9JnVuaWRhZGVJZFFkPSR7dW5pZGFkZUlkUWR9JnVuaWRhZGVJZE1vdGlvbj0ke3VuaWRhZGVJZE1vdGlvbn0mdW5pZGFkZUlkTG9jYWw9JHt1bmlkYWRlSWRMb2NhbH1gLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEV4YW1lRGV0YWlscyhcclxuICAgIHVuaWRhZGVQb3NzdWlFeGFtZXM6IGJvb2xlYW4sXHJcbiAgICB1bmlkYWRlU2x1Zzogc3RyaW5nLFxyXG4gICAgdW5pZGFkZUlkUWQ6IHN0cmluZyxcclxuICAgIHVuaWRhZGVJZE1vdGlvbjogc3RyaW5nLFxyXG4gICAgdW5pZGFkZUlkTG9jYWw6IHN0cmluZyxcclxuICAgIGdydXBvU2x1Zzogc3RyaW5nLFxyXG4gICAgZXhhbWVTbHVnOiBzdHJpbmcsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChcclxuICAgICAgYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3MvZGV0YWxoZXM/dW5pZGFkZVBvc3N1aUV4YW1lcz0ke3VuaWRhZGVQb3NzdWlFeGFtZXN9JnVuaWRhZGVTbHVnPSR7dW5pZGFkZVNsdWd9JnVuaWRhZGVJZFFkPSR7dW5pZGFkZUlkUWR9JnVuaWRhZGVJZE1vdGlvbj0ke3VuaWRhZGVJZE1vdGlvbn0mdW5pZGFkZUlkTG9jYWw9JHt1bmlkYWRlSWRMb2NhbH0mZ3J1cG9TbHVnPSR7Z3J1cG9TbHVnfSZleGFtZVNsdWc9JHtleGFtZVNsdWd9YCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRHcnVwb3NFeGFtZXModW5pZGFkZVNsdWc6IHN0cmluZyk6IE9ic2VydmFibGU8RXhhbWVCYWNrZW5kW10+IHtcclxuICAgIGNvbnN0IHNsdWcgPSB1bmlkYWRlU2x1ZyA/PyAnLyc7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBzbHVnID8gYD91bmlkYWRlPSR7c2x1Z31gIDogJyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3Mke3BhcmFtc31gKTtcclxuICB9XHJcblxyXG4gIGdldEV4YW1lc0J5R3J1cG8odW5pZGFkZVNsdWc6IHN0cmluZywgc2x1Z0dydXBvOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV4YW1lQmFja2VuZFtdPiB7XHJcbiAgICBjb25zdCBzbHVnID0gdW5pZGFkZVNsdWcgPz8gJy8nO1xyXG4gICAgY29uc3QgcGFyYW1zID0gYD91bmlkYWRlPSR7c2x1Z30mc2x1Z0dydXBvPSR7c2x1Z0dydXBvfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3MvZ3J1cG8ke3BhcmFtc31gKTtcclxuICB9XHJcblxyXG4gIGdldEV4YW1lc0J5VW5pZGFkZSh1bmlkYWRlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IGA/dW5pdElkPSR7dW5pZGFkZUlkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3MvdW5pZGFkZSR7cGFyYW1zfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXhhbWVzQXBpRGFkb3MoKTogT2JzZXJ2YWJsZTxFeGFtZUFwaURhZG9zW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXhhbWVzLWUtcHJvY2VkaW1lbnRvcy9hcGktZGFkb3NgKTtcclxuICB9XHJcblxyXG4gIGdldEVzcGVjaWFsaWRhZGVzTGlzdChcclxuICAgIGxpc3RhRGFVbmlkYWRlOiBib29sZWFuLFxyXG4gICAgdW5pZGFkZVNsdWc6IHN0cmluZyxcclxuICAgIHVuaWRhZGVQb3NzdWlBZ2VuZGFtZW50bzogYm9vbGVhbixcclxuICAgIHVuaWRhZGVJZENvbnN1bHRhczogc3RyaW5nLFxyXG4gICAgdW5pZGFkZUlkTW90aW9uOiBzdHJpbmcsXHJcbiAgICB1bmlkYWRlSWRMb2NhbDogc3RyaW5nLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoXHJcbiAgICAgIGAke3RoaXMuc2l0ZUFwaVVybH1lc3BlY2lhbGlkYWRlcy9saXN0YT9saXN0YURhVW5pZGFkZT0ke2xpc3RhRGFVbmlkYWRlfSZ1bmlkYWRlU2x1Zz0ke3VuaWRhZGVTbHVnfSZ1bmlkYWRlUG9zc3VpQWdlbmRhbWVudG89JHt1bmlkYWRlUG9zc3VpQWdlbmRhbWVudG99JnVuaWRhZGVJZENvbnN1bHRhcz0ke3VuaWRhZGVJZENvbnN1bHRhc30mdW5pZGFkZUlkTW90aW9uPSR7dW5pZGFkZUlkTW90aW9ufSZ1bmlkYWRlSWRMb2NhbD0ke3VuaWRhZGVJZExvY2FsfWAsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R3J1cG9zRXNwZWNpYWxpZGFkZXModW5pZGFkZVNsdWc/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzcGVjaWFsaWRhZGVHcnVwb0JhY2tlbmRbXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0gdW5pZGFkZVNsdWcgPyBgP3VuaWRhZGU9JHt1bmlkYWRlU2x1Z31gIDogJyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWVzcGVjaWFsaWRhZGVzJHtwYXJhbXN9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRFc3BlY2lhbGlkYWRlc0J5R3J1cG8odGl0dWxvR3J1cG86IHN0cmluZywgdW5pZGFkZVNsdWc/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzcGVjaWFsaWRhZGVCYWNrZW5kW10+IHtcclxuICAgIGNvbnN0IHRpdHVsbyA9IGA/dGl0dWxvR3J1cG89JHtlbmNvZGVVUkkodGl0dWxvR3J1cG8pfWA7XHJcbiAgICBjb25zdCBzbHVnID0gdW5pZGFkZVNsdWcgPyBgJnVuaWRhZGU9JHt1bmlkYWRlU2x1Z31gIDogJyc7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBgJHt0aXR1bG99JHtzbHVnfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWVzcGVjaWFsaWRhZGVzL2dydXBvJHtwYXJhbXN9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRFc3BlY2lhbGlkYWRlc0RxKHBhcmFtcz86IFJEU0xFc3BlY2lhbGlkYWRlc1BhcmFtcyk6IE9ic2VydmFibGU8UkRTTEVzcGVjaWFsaWRhZGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1lc3BlY2lhbGlkYWRlcy9lc3BlY2lhbGlkYWRlcy1kcSR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R3J1cG9zRXNwZWNpYWxpZGFkZXNEcShwYXJhbXM/OiBSRFNMRXNwZWNpYWxpZGFkZXNQYXJhbXMpOiBPYnNlcnZhYmxlPFJEU0xFc3BlY2lhbGlkYWRlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXNwZWNpYWxpZGFkZXMvZ3J1cG9zLWRxJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZWNhcHRjaGFSZXN1bHQodG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5wb3N0KGAke3RoaXMuc2l0ZUFwaVVybH0ke3RoaXMubGliQ29uZmlnLnNpdGVBcGkucmVjYXB0Y2hhfWAsIHsgdG9rZW4gfSk7XHJcbiAgfVxyXG5cclxuICBnZXRNZWRpY29DdihtZWRpY29JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxNZWRpY29Ddj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1tZWRpY29zLyR7bWVkaWNvSWR9YCk7XHJcbiAgfVxyXG5cclxuICAvLyBDZW50cm8gZGUgRXN0dWRvc1xyXG4gIGNoZWNrTWVkaWNvKGNvbnNlbGhvQ29kaWdvOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH0ke3RoaXMubGliQ29uZmlnLnNpdGVBcGkuY2VudHJvRXN0dWRvc30/ZW1haWw9JHtjb25zZWxob0NvZGlnb31gKTtcclxuICB9XHJcblxyXG4gIHNhdmVNZWRpY28obm92b01lZGljbzogQ2VudHJvRXN0dWRvc0JhY2tlbmRNZWRpY28pOiBPYnNlcnZhYmxlPENlbnRyb0VzdHVkb3NCYWNrZW5kTWVkaWNvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5wb3N0KGAke3RoaXMuc2l0ZUFwaVVybH0ke3RoaXMubGliQ29uZmlnLnNpdGVBcGkuY2VudHJvRXN0dWRvc31gLCBub3ZvTWVkaWNvKTtcclxuICB9XHJcblxyXG4gIGxvZ0NsaWVudEVycm9yKGVycm9yOiBzdHJpbmcsIG9yaWdpbjogc3RyaW5nLCB1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UucG9zdChgJHt0aGlzLnNpdGVBcGlVcmx9bG9nL2Vycm9yYCwge1xyXG4gICAgICBlcnJvcixcclxuICAgICAgb3JpZ2luLFxyXG4gICAgICB1cmwsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|