@tilde-nlp/ngx-translate 2.0.2 → 2.0.3-deepl
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/esm2020/lib/i18n/en.mjs +4 -2
- package/esm2020/lib/i18n/lv.mjs +4 -2
- package/esm2020/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.mjs +4 -3
- package/esm2020/lib/modules/tld-common/index.mjs +1 -1
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-text-config.model.mjs +1 -1
- package/esm2020/lib/modules/tld-common/pipes/capitalize.pipe.mjs +16 -0
- package/esm2020/lib/modules/tld-common/pipes/index.mjs +2 -1
- package/esm2020/lib/modules/tld-common/services/tld-translate-config.service.mjs +2 -1
- package/esm2020/lib/modules/tld-common/tld-common.module.mjs +9 -4
- package/esm2020/lib/modules/tld-document/services/tld-translate-file.service.mjs +6 -2
- package/esm2020/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.mjs +2 -2
- package/esm2020/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.mjs +6 -5
- package/esm2020/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.mjs +5 -4
- package/esm2020/lib/tld-translate.component.mjs +6 -2
- package/fesm2015/tilde-nlp-ngx-translate.mjs +148 -117
- package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/fesm2020/tilde-nlp-ngx-translate.mjs +119 -88
- package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/lib/i18n/en.d.ts +2 -0
- package/lib/i18n/lv.d.ts +2 -0
- package/lib/modules/tld-common/models/configs/tld-translate-text-config.model.d.ts +2 -0
- package/lib/modules/tld-common/pipes/capitalize.pipe.d.ts +7 -0
- package/lib/modules/tld-common/pipes/index.d.ts +1 -0
- package/lib/modules/tld-common/tld-common.module.d.ts +8 -7
- package/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.d.ts +1 -1
- package/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.d.ts +1 -1
- package/lib/tld-translate.component.d.ts +2 -1
- package/package.json +1 -1
- package/src/assets/webcomponent/tld-translate.js +1 -1
- package/tilde-nlp-ngx-translate-2.0.3-deepl.tgz +0 -0
- package/tilde-nlp-ngx-translate-2.0.2.tgz +0 -0
|
@@ -7,7 +7,8 @@ import * as i3 from "../../tld-common/pipes/translate-domain.pipe";
|
|
|
7
7
|
import * as i4 from "@angular/common";
|
|
8
8
|
import * as i5 from "@angular/flex-layout/extended";
|
|
9
9
|
import * as i6 from "../../tld-common/components/tld-list-menu/tld-list-menu.component";
|
|
10
|
-
import * as i7 from "
|
|
10
|
+
import * as i7 from "../../tld-common/pipes/capitalize.pipe";
|
|
11
|
+
import * as i8 from "@tilde-nlp/ngx-common";
|
|
11
12
|
export class TldDomainListComponent {
|
|
12
13
|
constructor(translate, config, translateDomainPipe) {
|
|
13
14
|
this.translate = translate;
|
|
@@ -16,6 +17,7 @@ export class TldDomainListComponent {
|
|
|
16
17
|
this.selectionChange = new EventEmitter();
|
|
17
18
|
this.titleKey = "title";
|
|
18
19
|
this.valueKey = "domain";
|
|
20
|
+
this.showTitle = this.config.coreConfig.showDomainTitle;
|
|
19
21
|
}
|
|
20
22
|
get list() { return this._list; }
|
|
21
23
|
set list(value) {
|
|
@@ -29,7 +31,6 @@ export class TldDomainListComponent {
|
|
|
29
31
|
this.selectedDomainName = this.translateDomainName(value?.title);
|
|
30
32
|
}
|
|
31
33
|
;
|
|
32
|
-
get showTitle() { return this.config.coreConfig.showDomainTitle; }
|
|
33
34
|
ngOnInit() {
|
|
34
35
|
this.translate.stream("DOMAINS").subscribe((translations) => {
|
|
35
36
|
this.translations = translations;
|
|
@@ -53,10 +54,10 @@ export class TldDomainListComponent {
|
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
TldDomainListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldDomainListComponent, deps: [{ token: i1.TranslateService }, { token: i2.TldTranslateConfigService }, { token: i3.TranslateDomainPipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
TldDomainListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldDomainListComponent, selector: "tld-domain-list", inputs: { list: "list", selected: "selected", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, providers: [TranslateDomainPipe], ngImport: i0, template: "<span fxHide.lt-md class=\"domain-title\" *ngIf=\"showTitle\">{{'DOMAINS.TITLE' | translate}}</span>\r\n<tld-list-menu (selectionChange)=\"select($event)\" [list]=\"translatedList | sortTranslations: null: 'title': currentLanguage | async\" [titleKey]=\"titleKey\" \r\n[valueKey]=\"valueKey\" testId=\"tld-domain-list\" [disabled]=\"disabled\" [ariaLabel]=\"'DOMAINS.OPEN_LIST_ARIA_LABEL' | translate\">\r\n {{selectedDomainName |
|
|
57
|
+
TldDomainListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldDomainListComponent, selector: "tld-domain-list", inputs: { list: "list", selected: "selected", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, providers: [TranslateDomainPipe], ngImport: i0, template: "<span fxHide.lt-md class=\"domain-title\" *ngIf=\"showTitle\">{{'DOMAINS.TITLE' | translate}}</span>\r\n<tld-list-menu (selectionChange)=\"select($event)\" [list]=\"translatedList | sortTranslations: null: 'title': currentLanguage | async\" [titleKey]=\"titleKey\" \r\n[valueKey]=\"valueKey\" testId=\"tld-domain-list\" [disabled]=\"disabled\" [ariaLabel]=\"'DOMAINS.OPEN_LIST_ARIA_LABEL' | translate\">\r\n <span [ngClass.lt-sm]=\"'selected-domain'\">{{ selectedDomainName | capitalize }}</span> \r\n</tld-list-menu>", styles: [".selected-domain{max-width:60px;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i6.TldListMenuComponent, selector: "tld-list-menu", inputs: ["titleKey", "list", "showContent", "selectedValue", "disabled", "ariaLabel", "valueKey", "testId"], outputs: ["selectionChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.CapitalizePipe, name: "capitalize" }, { kind: "pipe", type: i8.SortTranslationsPipe, name: "sortTranslations" }] });
|
|
57
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldDomainListComponent, decorators: [{
|
|
58
59
|
type: Component,
|
|
59
|
-
args: [{ selector: 'tld-domain-list', providers: [TranslateDomainPipe], template: "<span fxHide.lt-md class=\"domain-title\" *ngIf=\"showTitle\">{{'DOMAINS.TITLE' | translate}}</span>\r\n<tld-list-menu (selectionChange)=\"select($event)\" [list]=\"translatedList | sortTranslations: null: 'title': currentLanguage | async\" [titleKey]=\"titleKey\" \r\n[valueKey]=\"valueKey\" testId=\"tld-domain-list\" [disabled]=\"disabled\" [ariaLabel]=\"'DOMAINS.OPEN_LIST_ARIA_LABEL' | translate\">\r\n {{selectedDomainName |
|
|
60
|
+
args: [{ selector: 'tld-domain-list', providers: [TranslateDomainPipe], template: "<span fxHide.lt-md class=\"domain-title\" *ngIf=\"showTitle\">{{'DOMAINS.TITLE' | translate}}</span>\r\n<tld-list-menu (selectionChange)=\"select($event)\" [list]=\"translatedList | sortTranslations: null: 'title': currentLanguage | async\" [titleKey]=\"titleKey\" \r\n[valueKey]=\"valueKey\" testId=\"tld-domain-list\" [disabled]=\"disabled\" [ariaLabel]=\"'DOMAINS.OPEN_LIST_ARIA_LABEL' | translate\">\r\n <span [ngClass.lt-sm]=\"'selected-domain'\">{{ selectedDomainName | capitalize }}</span> \r\n</tld-list-menu>", styles: [".selected-domain{max-width:60px;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
60
61
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TldTranslateConfigService }, { type: i3.TranslateDomainPipe }]; }, propDecorators: { list: [{
|
|
61
62
|
type: Input
|
|
62
63
|
}], selected: [{
|
|
@@ -66,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
66
67
|
}], selectionChange: [{
|
|
67
68
|
type: Output
|
|
68
69
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWRvbWFpbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10b29sdGlwL3RsZC1kb21haW4tbGlzdC90bGQtZG9tYWluLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRvb2x0aXAvdGxkLWRvbWFpbi1saXN0L3RsZC1kb21haW4tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7Ozs7O0FBVW5GLE1BQU0sT0FBTyxzQkFBc0I7SUE4QmpDLFlBQ21CLFNBQTJCLEVBQzNCLE1BQWlDLEVBQ2pDLG1CQUF3QztRQUZ4QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUNqQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBZmpELG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFTekQsYUFBUSxHQUFXLE9BQU8sQ0FBQztRQUMzQixhQUFRLEdBQUcsUUFBUSxDQUFDO1FBTzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDO0lBQzFELENBQUM7SUFqQ0QsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQyxJQUFhLElBQUksQ0FBQyxLQUFnQjtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUFBLENBQUM7SUFHRixJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLElBQWEsUUFBUSxDQUFDLEtBQWM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUFBLENBQUM7SUF3QkYsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFZO1FBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6RSxNQUFNLGNBQWMsR0FBYyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQixjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQy9GLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFVBQWtCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDOzttSEE5RFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsaUtBRnRCLENBQUMsbUJBQW1CLENBQUMsMEJDVmxDLDZnQkFJZ0I7MkZEUUgsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQixDQUFDLG1CQUFtQixDQUFDO2lMQU1uQixJQUFJO3NCQUFoQixLQUFLO2dCQU9PLFFBQVE7c0JBQXBCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZURvbWFpblBpcGUgfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL3BpcGVzL3RyYW5zbGF0ZS1kb21haW4ucGlwZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzL3RsZC10cmFuc2xhdGUtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJRG9tYWluIH0gZnJvbSAnLi4vbW9kZWxzL2RvbWFpbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC1kb21haW4tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC1kb21haW4tbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLWRvbWFpbi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbVHJhbnNsYXRlRG9tYWluUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZERvbWFpbkxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwcml2YXRlIF9saXN0OiBJRG9tYWluW107XHJcbiAgZ2V0IGxpc3QoKSB7IHJldHVybiB0aGlzLl9saXN0OyB9XHJcbiAgQElucHV0KCkgc2V0IGxpc3QodmFsdWU6IElEb21haW5bXSkge1xyXG4gICAgdGhpcy5fbGlzdCA9IHZhbHVlO1xyXG4gICAgdGhpcy5yZXRyYW5zbGF0ZSgpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdGVkOiBJRG9tYWluO1xyXG4gIGdldCBzZWxlY3RlZCgpIHsgcmV0dXJuIHRoaXMuX3NlbGVjdGVkOyB9XHJcbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkKHZhbHVlOiBJRG9tYWluKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZWxlY3RlZERvbWFpbk5hbWUgPSB0aGlzLnRyYW5zbGF0ZURvbWFpbk5hbWUodmFsdWU/LnRpdGxlKTtcclxuICB9O1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHRyYW5zbGF0aW9uczogYW55O1xyXG4gIHRyYW5zbGF0ZWRMaXN0OiBJRG9tYWluW107XHJcbiAgc2VsZWN0ZWREb21haW5OYW1lOiBzdHJpbmc7XHJcbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmc7XHJcblxyXG4gIHNob3dUaXRsZTogYm9vbGVhbjtcclxuXHJcbiAgcmVhZG9ubHkgdGl0bGVLZXk6IHN0cmluZyA9IFwidGl0bGVcIjtcclxuICByZWFkb25seSB2YWx1ZUtleSA9IFwiZG9tYWluXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZURvbWFpblBpcGU6IFRyYW5zbGF0ZURvbWFpblBpcGVcclxuICApIHtcclxuICAgIHRoaXMuc2hvd1RpdGxlID0gdGhpcy5jb25maWcuY29yZUNvbmZpZy5zaG93RG9tYWluVGl0bGU7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlLnN0cmVhbShcIkRPTUFJTlNcIikuc3Vic2NyaWJlKCh0cmFuc2xhdGlvbnMpID0+IHtcclxuICAgICAgdGhpcy50cmFuc2xhdGlvbnMgPSB0cmFuc2xhdGlvbnM7XHJcbiAgICAgIHRoaXMucmV0cmFuc2xhdGUoKTtcclxuICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZWxlY3QoZWxlbWVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5uZXh0KGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXRyYW5zbGF0ZSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREb21haW5OYW1lID0gdGhpcy50cmFuc2xhdGVEb21haW5OYW1lKHRoaXMuc2VsZWN0ZWQ/LnRpdGxlKTtcclxuXHJcbiAgICBjb25zdCB0cmFuc2xhdGVkTGlzdDogSURvbWFpbltdID0gW107XHJcbiAgICB0aGlzLmxpc3QuZm9yRWFjaCgoZG9tYWluKSA9PiB7XHJcbiAgICAgIHRyYW5zbGF0ZWRMaXN0LnB1c2goeyB0aXRsZTogdGhpcy50cmFuc2xhdGVEb21haW5OYW1lKGRvbWFpbi50aXRsZSksIGRvbWFpbjogZG9tYWluLmRvbWFpbiB9KVxyXG4gICAgfSlcclxuICAgIHRoaXMudHJhbnNsYXRlZExpc3QgPSB0cmFuc2xhdGVkTGlzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJhbnNsYXRlRG9tYWluTmFtZShkb21haW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlRG9tYWluUGlwZS50cmFuc2Zvcm0oZG9tYWluTmFtZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8c3BhbiBmeEhpZGUubHQtbWQgY2xhc3M9XCJkb21haW4tdGl0bGVcIiAqbmdJZj1cInNob3dUaXRsZVwiPnt7J0RPTUFJTlMuVElUTEUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbjx0bGQtbGlzdC1tZW51IChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0KCRldmVudClcIiBbbGlzdF09XCJ0cmFuc2xhdGVkTGlzdCB8IHNvcnRUcmFuc2xhdGlvbnM6IG51bGw6ICd0aXRsZSc6IGN1cnJlbnRMYW5ndWFnZSB8IGFzeW5jXCIgW3RpdGxlS2V5XT1cInRpdGxlS2V5XCIgXHJcblt2YWx1ZUtleV09XCJ2YWx1ZUtleVwiIHRlc3RJZD1cInRsZC1kb21haW4tbGlzdFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFthcmlhTGFiZWxdPVwiJ0RPTUFJTlMuT1BFTl9MSVNUX0FSSUFfTEFCRUwnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8c3BhbiBbbmdDbGFzcy5sdC1zbV09XCInc2VsZWN0ZWQtZG9tYWluJ1wiPnt7IHNlbGVjdGVkRG9tYWluTmFtZSB8IGNhcGl0YWxpemUgfX08L3NwYW4+ICAgIFxyXG48L3RsZC1saXN0LW1lbnU+Il19
|
package/esm2020/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.mjs
CHANGED
|
@@ -66,10 +66,11 @@ export class TldTranslateSwitcherComponent {
|
|
|
66
66
|
return this.config?.coreConfig.showVendors && this.settings.vendors?.length > 0;
|
|
67
67
|
}
|
|
68
68
|
get showDomains() {
|
|
69
|
-
|
|
69
|
+
const singleDomainAvailable = this.config?.textConfig.displaySingleAvailableDomain && this.settings?.domains?.domains?.length >= 1;
|
|
70
|
+
return (this.config?.coreConfig.showDomains &&
|
|
70
71
|
!this.showDomainsWithLanguageName &&
|
|
71
|
-
this.settings?.domains?.domains?.length > 1 &&
|
|
72
|
-
|
|
72
|
+
((this.settings?.domains?.domains?.length > 1 && this.settings?.source) ||
|
|
73
|
+
singleDomainAvailable));
|
|
73
74
|
}
|
|
74
75
|
get isSwapLanguagesDisabled() {
|
|
75
76
|
return this.disabled || !this.settings.swapActive;
|
|
@@ -185,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
185
186
|
}], onVendorChange: [{
|
|
186
187
|
type: Output
|
|
187
188
|
}] } });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdG9vbHRpcC90bGQtdHJhbnNsYXRlLXN3aXRjaGVyL3RsZC10cmFuc2xhdGUtc3dpdGNoZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRvb2x0aXAvdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci90bGQtdHJhbnNsYXRlLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBVTNDLE1BQU0sT0FBTyw2QkFBNkI7SUEyRnhDLFlBQ21CLE1BQWlDLEVBQ2pDLFNBQTJCLEVBQ3BDLEtBQWlCO1FBRlIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQWpFbEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUUxQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFZMUIsbUJBQWMsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxRCxrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFD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QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJU3dpdGNoZXJUcmFuc2xhdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvc3dpdGNoZXItb3B0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90bGQtc3lzdGVtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdHJhbnNsYXRlLXN3aXRjaGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVTd2l0Y2hlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQFZpZXdDaGlsZChcIndyYXBwZXJcIikgd3JhcHBlcjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKFwiZnJvbUxhYmVsXCIpIGZyb21MYWJlbDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKFwic291cmNlQXNpZGVcIikgc291cmNlQXNpZGU6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChcInRvTGFiZWxcIikgdG9MYWJlbDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKFwiZG9tYWluV3JhcHBlclwiKSBkb21haW5XcmFwcGVyOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoXCJ2ZW5kb3JXcmFwcGVyXCIpIHZlbmRvcldyYXBwZXI6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChcImNvbGxlY3Rpb25XcmFwcGVyXCIpIGNvbGxlY3Rpb25XcmFwcGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGNvbnN0IHB4UGVyTGFuZ3VhZ2UgPSAxMTA7XHJcbiAgICBjb25zdCBjb21wb25lbnRXaWR0aCA9IHRoaXMuZ2V0RWxlbWVudFJlZldpZHRoKHRoaXMud3JhcHBlcik7XHJcbiAgICBjb25zdCBwYXJlbnRXaWR0aCA9IHRoaXMuZWxSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggfHwgMDtcclxuICAgIGNvbnN0IHdyYXBwZXJXaWR0aCA9IHRoaXMudXNlUGFyZW50V2lkdGggPyBwYXJlbnRXaWR0aCA6IGNvbXBvbmVudFdpZHRoO1xyXG4gICAgY29uc3QgZnJvbVdpZHRoID0gdGhpcy5nZXRFbGVtZW50UmVmV2lkdGgodGhpcy5mcm9tTGFiZWwpO1xyXG4gICAgY29uc3Qgc291cmNlQXNpZGVXaWR0aCA9IHRoaXMuZ2V0RWxlbWVudFJlZldpZHRoKHRoaXMuc291cmNlQXNpZGUpO1xyXG4gICAgY29uc3QgdG9XaWR0aCA9IHRoaXMuZ2V0RWxlbWVudFJlZldpZHRoKHRoaXMudG9MYWJlbCk7XHJcbiAgICBjb25zdCBkb21haW5zV2lkdGggPSB0aGlzLmdldEVsZW1lbnRSZWZXaWR0aCh0aGlzLmRvbWFpbldyYXBwZXIpO1xyXG4gICAgY29uc3QgdmVuZG9yc1dpZHRoID0gdGhpcy5nZXRFbGVtZW50UmVmV2lkdGgodGhpcy52ZW5kb3JXcmFwcGVyKTtcclxuICAgIGNvbnN0IGNvbGxlY3Rpb25zV2lkdGggPSB0aGlzLmdldEVsZW1lbnRSZWZXaWR0aCh0aGlzLmNvbGxlY3Rpb25XcmFwcGVyKTtcclxuICAgIC8vIGFkZGl0aW9uYWwgcHggdG8gZGlzdHJhY3QgYmVjYXVzZSBzd2FwIGxhbmcgYnV0dG9uIGFuZCBkcm9wZG93biBpY29ucy5cclxuICAgIGNvbnN0IGV4dHJhID0gMTAwO1xyXG4gICAgY29uc3QgZnJlZVdpZHRoID0gd3JhcHBlcldpZHRoIC0gZnJvbVdpZHRoIC0gc291cmNlQXNpZGVXaWR0aCAtIHRvV2lkdGggLSBkb21haW5zV2lkdGggLSB2ZW5kb3JzV2lkdGggLSBjb2xsZWN0aW9uc1dpZHRoIC0gZXh0cmE7XHJcbiAgICBjb25zdCBsYW5ndWFnZUNvdW50ID0gTWF0aC5mbG9vcihmcmVlV2lkdGggLyAyIC8gcHhQZXJMYW5ndWFnZSk7XHJcbiAgICB0aGlzLmxhbmd1YWdlQ291bnRCeVNjcmVlblNpemUgPSBsYW5ndWFnZUNvdW50ID4gMCA/IGxhbmd1YWdlQ291bnQgOiAxO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgYnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93VHJhbnNsYXRlQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBoaWRlT25TbWFsbFNjcmVlbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhpZGVMYW5nTWVudUxhYmVscyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1heERpc3BsYXllZExhbmd1YWdlczogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGNvbGxlY3Rpb25zOiBhbnlbXTtcclxuICBASW5wdXQoKSBzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNDb2xsZWN0aW9uc0FjdGl2YXRlZDogYm9vbGVhbjtcclxuICAvKiogSWYgdGhpcyBpcyBzZXQgdG8gdHJ1ZSwgY29tcG9uZW50IHBhcmVudCBpcyBjaGVja2VkIGZvciBkaXNwbGF5ZWQgbGFuZ3VhZ2UgY291bnQuICovXHJcbiAgQElucHV0KCkgdXNlUGFyZW50V2lkdGg6IGJvb2xlYW47XHJcbiAgLyoqIFNob3cgbG9hZGVyIGluc3RlYWQgb2YgdHJhbnNsYXRlIGJ1dHRvbiAqL1xyXG4gIEBJbnB1dCgpIGxvYWRlcjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgc2V0dGluZ3M6IElTd2l0Y2hlclRyYW5zbGF0aW9uT3B0aW9ucztcclxuXHJcbiAgQE91dHB1dCgpIG9uRG9tYWluQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25BY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uU291cmNlTGFuZ3VhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblRhcmdldExhbmd1YWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25MYW5ndWFnZVN3YXA6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblZlbmRvckNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGxhbmd1YWdlQ291bnRCeVNjcmVlblNpemU6IG51bWJlcjtcclxuXHJcbiAgZ2V0IHZpc2libGVMYW5ndWFnZUNvdW50KCkge1xyXG4gICAgaWYgKHRoaXMubGFuZ3VhZ2VDb3VudEJ5U2NyZWVuU2l6ZSAmJiB0aGlzLmxhbmd1YWdlQ291bnRCeVNjcmVlblNpemUgPCB0aGlzLm1heERpc3BsYXllZExhbmd1YWdlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZUNvdW50QnlTY3JlZW5TaXplO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubWF4RGlzcGxheWVkTGFuZ3VhZ2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbGxlY3Rpb25zVmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzQ29sbGVjdGlvbnNBY3RpdmF0ZWRcclxuICAgICAgJiYgdGhpcy5pc1Rlcm1pbm9sb2d5U3VwcG9ydGVkXHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1ZlbmRvcnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWc/LmNvcmVDb25maWcuc2hvd1ZlbmRvcnMgJiYgdGhpcy5zZXR0aW5ncy52ZW5kb3JzPy5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dEb21haW5zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnPy5jb3JlQ29uZmlnLnNob3dEb21haW5zICYmXHJcbiAgICAgICF0aGlzLnNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZSAmJlxyXG4gICAgICB0aGlzLnNldHRpbmdzPy5kb21haW5zPy5kb21haW5zPy5sZW5ndGggPiAxICYmXHJcbiAgICAgIHRoaXMuc2V0dGluZ3M/LnNvdXJjZTtcclxuICB9XHJcblxyXG4gIGdldCBpc1N3YXBMYW5ndWFnZXNEaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICF0aGlzLnNldHRpbmdzLnN3YXBBY3RpdmU7XHJcbiAgfVxyXG5cclxuICBnZXQgZG9tYWluU2lkZSgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuZG9tYWluU2lkZTsgfVxyXG4gIGdldCBzd2FwSWNvblBvc2l0aW9uKCkgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5zd2FwSWNvblBvc2l0aW9uOyB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICByZWFkb25seSBzcmNMYW5nVGVzdElkID0gXCJzcmMtbGFuZy1tZW51XCI7XHJcbiAgcmVhZG9ubHkgdHJnTGFuZ1Rlc3RJZCA9IFwidHJnLWxhbmctbWVudVwiO1xyXG5cclxuICBwcml2YXRlIGlzVGVybWlub2xvZ3lTdXBwb3J0ZWQ6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFN5c3RlbTogVGxkU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHtcclxuICB9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9BY3RpdmVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLm9uUmVzaXplKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dChudWxsKVxyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgYWN0aW9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLm9uQWN0aW9uQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZG9tYWluQ2hhbmdlKHN5c3RlbUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMub25Eb21haW5DaGFuZ2UuZW1pdChzeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICBzb3VyY2VMYW5nQ2hhbmdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMub25Tb3VyY2VMYW5ndWFnZUNoYW5nZS5lbWl0KGxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIHN3YXBTb3VyY2VBbmRUYXJnZXQoKSB7XHJcbiAgICB0aGlzLm9uTGFuZ3VhZ2VTd2FwLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHRhcmdldExhbmdDaGFuZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy5vblRhcmdldExhbmd1YWdlQ2hhbmdlLmVtaXQobGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgdmVuZG9yQ2hhbmdlKHN5c3RlbUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMub25WZW5kb3JDaGFuZ2UuZW1pdChzeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVsZW1lbnRSZWZXaWR0aChlbGVtZW50OiBFbGVtZW50UmVmKSB7XHJcbiAgICByZXR1cm4gZWxlbWVudD8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCB8fCAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0FjdGl2ZURhdGEoKXtcclxuICAgIHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZURhdGEoKVxyXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgLnN1YnNjcmliZSgoYWN0aXZlKSA9PiB7XHJcbiAgICAgIGlmICghYWN0aXZlKSB7XHJcbiAgICAgICAgdGhpcy5pc1Rlcm1pbm9sb2d5U3VwcG9ydGVkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmlzVGVybWlub2xvZ3lTdXBwb3J0ZWQgPSB0aGlzLnRsZFN5c3RlbS5pc1Rlcm1pbm9sb2d5U3VwcG9ydGVkKGFjdGl2ZS5zeXN0ZW0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwidGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci1jb250YWluZXJcIiAjd3JhcHBlclxyXG4gIFtuZ0NsYXNzLmx0LW1kXT1cIid0bGQtdHJhbnNsYXRlLXN3aXRjaGVyLWNvbnRhaW5lci10YWJsZXQnXCJcclxuICBbbmdDbGFzcy5sdC1zbV09XCIndGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci1jb250YWluZXItbW9iaWxlJ1wiXHJcbiAgW2NsYXNzLnRsZC1zd2l0Y2hlci13aXRoLWNvbGxlY3Rpb25zXT0nY29sbGVjdGlvbnNWaXNpYmxlJz5cclxuXHJcbiAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICA8ZGl2IGZ4SGlkZS5sdC1tZCAqbmdJZj1cIiFoaWRlTGFuZ01lbnVMYWJlbHNcIiAjZnJvbUxhYmVsPnt7J1RMRF9UUkFOU0xBVEUuRlJPTScgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgIDx0bGQtbGFuZy1saXN0IGlkPVwidGxkLXNvdXJjZS1sYW5ndWFnZS1saXN0XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3Rlc3RJZF09XCJzcmNMYW5nVGVzdElkXCJcclxuICAgICAgICBbbGFuZ3VhZ2VzXT1cInNldHRpbmdzLnNvdXJjZUxhbmd1YWdlTGlzdFwiIChvbkxhbmd1YWdlQ2hhbmdlKT1cInNvdXJjZUxhbmdDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW3NlbGVjdGVkXT1cInNldHRpbmdzLnNvdXJjZVwiIFttYXhEaXNwbGF5ZWRMYW5ndWFnZXNdPVwidmlzaWJsZUxhbmd1YWdlQ291bnRcIj48L3RsZC1sYW5nLWxpc3Q+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb21haW5TaWRlPT09J3NyYydcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZG9tYWluVGVtcGxhdGU7XCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICNzb3VyY2VBc2lkZSAqbmdJZj1cInN3YXBJY29uUG9zaXRpb249PT0nc3JjJ1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3dhcEJ1dHRvblRlbXBsYXRlO1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInN3YXBJY29uUG9zaXRpb249PT0nY2VudGVyJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN3YXBCdXR0b25UZW1wbGF0ZTtcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGZ4RmxleCBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEFsaWduLmx0LXNtPVwiZW5kIGNlbnRlclwiPlxyXG4gICAgPGRpdiBmeEhpZGUubHQtbWQgKm5nSWY9XCIhaGlkZUxhbmdNZW51TGFiZWxzXCIgI3RvTGFiZWw+e3snVExEX1RSQU5TTEFURS5UTycgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgIDx0bGQtbGFuZy1saXN0IFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGlkPVwidGxkLXRhcmdldC1sYW5ndWFnZS1saXN0XCIgW2xhbmd1YWdlc109XCJzZXR0aW5ncy50YXJnZXRMYW5ndWFnZUxpc3RcIlxyXG4gICAgICAgIChvbkxhbmd1YWdlQ2hhbmdlKT1cInRhcmdldExhbmdDaGFuZ2UoJGV2ZW50KVwiIFtzZWxlY3RlZF09XCJzZXR0aW5ncy50YXJnZXRcIlxyXG4gICAgICAgIFttYXhEaXNwbGF5ZWRMYW5ndWFnZXNdPVwidmlzaWJsZUxhbmd1YWdlQ291bnRcIiBbdGVzdElkXT1cInRyZ0xhbmdUZXN0SWRcIiAob25Eb21haW5DaGFuZ2UpPVwiZG9tYWluQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWVdPVwic2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvbWFpblNpZGU9PT0ndHJnJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRvbWFpblRlbXBsYXRlO1wiPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRsZC10cmFuc2xhdGUtdmVuZG9yLXNlbGVjdGlvblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgKm5nSWY9XCJzaG93VmVuZG9yc1wiICN2ZW5kb3JXcmFwcGVyPlxyXG4gICAgICAgICAgPHRsZC1saXN0LW1lbnUgKHNlbGVjdGlvbkNoYW5nZSk9XCJkb21haW5DaGFuZ2UoJGV2ZW50KVwiIFtsaXN0XT1cInNldHRpbmdzLnZlbmRvcnNcIiBbdGl0bGVLZXldPVwiJ3RpdGxlJ1wiXHJcbiAgICAgICAgICAgIFt2YWx1ZUtleV09XCInc3lzdGVtSWQnXCIgdGVzdElkPVwidGxkLXZlbmRvci1saXN0XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3Nob3dDb250ZW50XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInVExEX1RSQU5TTEFURS5WRU5ET1JTX0FSSUFfTEFCRUwnIHwgdHJhbnNsYXRlXCIgW3NlbGVjdGVkVmFsdWVdPVwic2V0dGluZ3Muc3lzdGVtSWRcIj5cclxuICAgICAgICAgIDwvdGxkLWxpc3QtbWVudT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC90bGQtbGFuZy1saXN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXAuZ3QteHM9XCIxNnB4XCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJjb2xsZWN0aW9uc1Zpc2libGVcIiAjY29sbGVjdGlvbldyYXBwZXI+XHJcbiAgICAgICAgPHRsZC10ZXJtLW1lbnU+PC90bGQtdGVybS1tZW51PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHRsZC1sb2FkZXIgKm5nSWY9XCJsb2FkZXJcIiBmeEhpZGUubHQtc20+PC90bGQtbG9hZGVyPlxyXG4gICAgICA8dGxkLXRyYW5zbGF0ZS1idXR0b24gW2VuYWJsZVB1bHNlQW5pbWF0aW9uXT1cInRydWVcIiAqbmdJZj1cInNob3dUcmFuc2xhdGVCdXR0b24gJiYgIWxvYWRlclwiIGNsYXNzPVwic3dpdGNoZXItdHJhbnNsYXRlLWJ1dHRvblwiXHJcbiAgICAgICAgW2Z4SGlkZS5sdC1zbV09XCJoaWRlT25TbWFsbFNjcmVlbnNcIiBbZGlzYWJsZWRdPVwiYnV0dG9uRGlzYWJsZWRcIj48L3RsZC10cmFuc2xhdGUtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNzd2FwQnV0dG9uVGVtcGxhdGU+XHJcbiAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNTd2FwTGFuZ3VhZ2VzRGlzYWJsZWRcIiBjbGFzcz1cInN3YXAtbGFuZ3VhZ2VzLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgKGNsaWNrKT1cInN3YXBTb3VyY2VBbmRUYXJnZXQoKVwiIGFyaWEtbGFiZWw9XCJzd2FwIGxhbmd1YWdlc1wiIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICBtYXRUb29sdGlwPVwie3snVE9PTFRJUFMuU1dBUF9MQU5HVUFHRVMnIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuU1dBUF9MQU5HVUFHRVMnIHwgdHJhbnNsYXRlXCI+c3dhcF9ob3Jpejwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZG9tYWluVGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cInRsZC10cmFuc2xhdGUtZG9tYWluLXNlbGVjdGlvblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgKm5nSWY9XCJzaG93RG9tYWluc1wiICNkb21haW5XcmFwcGVyPlxyXG4gICAgPHRsZC1kb21haW4tbGlzdCBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiZG9tYWluQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBbbGlzdF09XCJzZXR0aW5ncy5kb21haW5zLmRvbWFpbnNcIiBbc2VsZWN0ZWRdPVwic2V0dGluZ3MuZG9tYWlucy5hY3RpdmVcIiBbc2VsZWN0ZWRdPVwic2V0dGluZ3MuZG9tYWlucy5hY3RpdmVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj48L3RsZC1kb21haW4tbGlzdD5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdG9vbHRpcC90bGQtdHJhbnNsYXRlLXN3aXRjaGVyL3RsZC10cmFuc2xhdGUtc3dpdGNoZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRvb2x0aXAvdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci90bGQtdHJhbnNsYXRlLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBVTNDLE1BQU0sT0FBTyw2QkFBNkI7SUFpR3hDLFlBQ21CLE1BQWlDLEVBQ2pDLFNBQTJCLEVBQ3BDLEtBQWlCO1FBRlIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQXZFbEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUUxQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFZMUIsbUJBQWMsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxRCxrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFD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eEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNFLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUc5QixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZTtnQkFtQnBCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJU3dpdGNoZXJUcmFuc2xhdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvc3dpdGNoZXItb3B0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90bGQtc3lzdGVtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdHJhbnNsYXRlLXN3aXRjaGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVTd2l0Y2hlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQFZpZXdDaGlsZChcIndyYXBwZXJcIikgd3JhcHBlcjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKFwiZnJvbUxhYmVsXCIpIGZyb21MYWJlbDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKFwic291cmNlQXNpZGVcIikgc291cmNlQXNpZGU6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChcInRvTGFiZWxcIikgdG9MYWJlbDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKFwiZG9tYWluV3JhcHBlclwiKSBkb21haW5XcmFwcGVyOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoXCJ2ZW5kb3JXcmFwcGVyXCIpIHZlbmRvcldyYXBwZXI6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChcImNvbGxlY3Rpb25XcmFwcGVyXCIpIGNvbGxlY3Rpb25XcmFwcGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGNvbnN0IHB4UGVyTGFuZ3VhZ2UgPSAxMTA7XHJcbiAgICBjb25zdCBjb21wb25lbnRXaWR0aCA9IHRoaXMuZ2V0RWxlbWVudFJlZldpZHRoKHRoaXMud3JhcHBlcik7XHJcbiAgICBjb25zdCBwYXJlbnRXaWR0aCA9IHRoaXMuZWxSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggfHwgMDtcclxuICAgIGNvbnN0IHdyYXBwZXJXaWR0aCA9IHRoaXMudXNlUGFyZW50V2lkdGggPyBwYXJlbnRXaWR0aCA6IGNvbXBvbmVudFdpZHRoO1xyXG4gICAgY29uc3QgZnJvbVdpZHRoID0gdGhpcy5nZXRFbGVtZW50UmVmV2lkdGgodGhpcy5mcm9tTGFiZWwpO1xyXG4gICAgY29uc3Qgc291cmNlQXNpZGVXaWR0aCA9IHRoaXMuZ2V0RWxlbWVudFJlZldpZHRoKHRoaXMuc291cmNlQXNpZGUpO1xyXG4gICAgY29uc3QgdG9XaWR0aCA9IHRoaXMuZ2V0RWxlbWVudFJlZldpZHRoKHRoaXMudG9MYWJlbCk7XHJcbiAgICBjb25zdCBkb21haW5zV2lkdGggPSB0aGlzLmdldEVsZW1lbnRSZWZXaWR0aCh0aGlzLmRvbWFpbldyYXBwZXIpO1xyXG4gICAgY29uc3QgdmVuZG9yc1dpZHRoID0gdGhpcy5nZXRFbGVtZW50UmVmV2lkdGgodGhpcy52ZW5kb3JXcmFwcGVyKTtcclxuICAgIGNvbnN0IGNvbGxlY3Rpb25zV2lkdGggPSB0aGlzLmdldEVsZW1lbnRSZWZXaWR0aCh0aGlzLmNvbGxlY3Rpb25XcmFwcGVyKTtcclxuICAgIC8vIGFkZGl0aW9uYWwgcHggdG8gZGlzdHJhY3QgYmVjYXVzZSBzd2FwIGxhbmcgYnV0dG9uIGFuZCBkcm9wZG93biBpY29ucy5cclxuICAgIGNvbnN0IGV4dHJhID0gMTAwO1xyXG4gICAgY29uc3QgZnJlZVdpZHRoID0gd3JhcHBlcldpZHRoIC0gZnJvbVdpZHRoIC0gc291cmNlQXNpZGVXaWR0aCAtIHRvV2lkdGggLSBkb21haW5zV2lkdGggLSB2ZW5kb3JzV2lkdGggLSBjb2xsZWN0aW9uc1dpZHRoIC0gZXh0cmE7XHJcbiAgICBjb25zdCBsYW5ndWFnZUNvdW50ID0gTWF0aC5mbG9vcihmcmVlV2lkdGggLyAyIC8gcHhQZXJMYW5ndWFnZSk7XHJcbiAgICB0aGlzLmxhbmd1YWdlQ291bnRCeVNjcmVlblNpemUgPSBsYW5ndWFnZUNvdW50ID4gMCA/IGxhbmd1YWdlQ291bnQgOiAxO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgYnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93VHJhbnNsYXRlQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBoaWRlT25TbWFsbFNjcmVlbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhpZGVMYW5nTWVudUxhYmVscyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1heERpc3BsYXllZExhbmd1YWdlczogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGNvbGxlY3Rpb25zOiBhbnlbXTtcclxuICBASW5wdXQoKSBzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNDb2xsZWN0aW9uc0FjdGl2YXRlZDogYm9vbGVhbjtcclxuICAvKiogSWYgdGhpcyBpcyBzZXQgdG8gdHJ1ZSwgY29tcG9uZW50IHBhcmVudCBpcyBjaGVja2VkIGZvciBkaXNwbGF5ZWQgbGFuZ3VhZ2UgY291bnQuICovXHJcbiAgQElucHV0KCkgdXNlUGFyZW50V2lkdGg6IGJvb2xlYW47XHJcbiAgLyoqIFNob3cgbG9hZGVyIGluc3RlYWQgb2YgdHJhbnNsYXRlIGJ1dHRvbiAqL1xyXG4gIEBJbnB1dCgpIGxvYWRlcjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgc2V0dGluZ3M6IElTd2l0Y2hlclRyYW5zbGF0aW9uT3B0aW9ucztcclxuXHJcbiAgQE91dHB1dCgpIG9uRG9tYWluQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25BY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uU291cmNlTGFuZ3VhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblRhcmdldExhbmd1YWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25MYW5ndWFnZVN3YXA6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblZlbmRvckNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGxhbmd1YWdlQ291bnRCeVNjcmVlblNpemU6IG51bWJlcjtcclxuXHJcbiAgZ2V0IHZpc2libGVMYW5ndWFnZUNvdW50KCkge1xyXG4gICAgaWYgKHRoaXMubGFuZ3VhZ2VDb3VudEJ5U2NyZWVuU2l6ZSAmJiB0aGlzLmxhbmd1YWdlQ291bnRCeVNjcmVlblNpemUgPCB0aGlzLm1heERpc3BsYXllZExhbmd1YWdlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZUNvdW50QnlTY3JlZW5TaXplO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubWF4RGlzcGxheWVkTGFuZ3VhZ2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbGxlY3Rpb25zVmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzQ29sbGVjdGlvbnNBY3RpdmF0ZWRcclxuICAgICAgJiYgdGhpcy5pc1Rlcm1pbm9sb2d5U3VwcG9ydGVkXHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1ZlbmRvcnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWc/LmNvcmVDb25maWcuc2hvd1ZlbmRvcnMgJiYgdGhpcy5zZXR0aW5ncy52ZW5kb3JzPy5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dEb21haW5zKCkge1xyXG4gICAgY29uc3Qgc2luZ2xlRG9tYWluQXZhaWxhYmxlID0gdGhpcy5jb25maWc/LnRleHRDb25maWcuZGlzcGxheVNpbmdsZUF2YWlsYWJsZURvbWFpbiAmJiB0aGlzLnNldHRpbmdzPy5kb21haW5zPy5kb21haW5zPy5sZW5ndGggPj0gMTtcclxuICBcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuY29uZmlnPy5jb3JlQ29uZmlnLnNob3dEb21haW5zICYmXHJcbiAgICAgICF0aGlzLnNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZSAmJlxyXG4gICAgICAoXHJcbiAgICAgICAgKHRoaXMuc2V0dGluZ3M/LmRvbWFpbnM/LmRvbWFpbnM/Lmxlbmd0aCA+IDEgJiYgdGhpcy5zZXR0aW5ncz8uc291cmNlKSB8fFxyXG4gICAgICAgIHNpbmdsZURvbWFpbkF2YWlsYWJsZVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzU3dhcExhbmd1YWdlc0Rpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuc2V0dGluZ3Muc3dhcEFjdGl2ZTtcclxuICB9XHJcblxyXG4gIGdldCBkb21haW5TaWRlKCkgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5kb21haW5TaWRlOyB9XHJcbiAgZ2V0IHN3YXBJY29uUG9zaXRpb24oKSB7IHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLnN3YXBJY29uUG9zaXRpb247IH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHJlYWRvbmx5IHNyY0xhbmdUZXN0SWQgPSBcInNyYy1sYW5nLW1lbnVcIjtcclxuICByZWFkb25seSB0cmdMYW5nVGVzdElkID0gXCJ0cmctbGFuZy1tZW51XCI7XHJcblxyXG4gIHByaXZhdGUgaXNUZXJtaW5vbG9neVN1cHBvcnRlZDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikge1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0FjdGl2ZURhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMub25SZXNpemUoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpXHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBhY3Rpb25DbGljaygpIHtcclxuICAgIHRoaXMub25BY3Rpb25DbGljay5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBkb21haW5DaGFuZ2Uoc3lzdGVtSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5vbkRvbWFpbkNoYW5nZS5lbWl0KHN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIHNvdXJjZUxhbmdDaGFuZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy5vblNvdXJjZUxhbmd1YWdlQ2hhbmdlLmVtaXQobGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgc3dhcFNvdXJjZUFuZFRhcmdldCgpIHtcclxuICAgIHRoaXMub25MYW5ndWFnZVN3YXAuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgdGFyZ2V0TGFuZ0NoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9uVGFyZ2V0TGFuZ3VhZ2VDaGFuZ2UuZW1pdChsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICB2ZW5kb3JDaGFuZ2Uoc3lzdGVtSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5vblZlbmRvckNoYW5nZS5lbWl0KHN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RWxlbWVudFJlZldpZHRoKGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgIHJldHVybiBlbGVtZW50Py5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIHx8IDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvQWN0aXZlRGF0YSgpe1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlRGF0YSgpXHJcbiAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAuc3Vic2NyaWJlKChhY3RpdmUpID0+IHtcclxuICAgICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgICB0aGlzLmlzVGVybWlub2xvZ3lTdXBwb3J0ZWQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXNUZXJtaW5vbG9neVN1cHBvcnRlZCA9IHRoaXMudGxkU3lzdGVtLmlzVGVybWlub2xvZ3lTdXBwb3J0ZWQoYWN0aXZlLnN5c3RlbSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJ0bGQtdHJhbnNsYXRlLXN3aXRjaGVyLWNvbnRhaW5lclwiICN3cmFwcGVyXHJcbiAgW25nQ2xhc3MubHQtbWRdPVwiJ3RsZC10cmFuc2xhdGUtc3dpdGNoZXItY29udGFpbmVyLXRhYmxldCdcIlxyXG4gIFtuZ0NsYXNzLmx0LXNtXT1cIid0bGQtdHJhbnNsYXRlLXN3aXRjaGVyLWNvbnRhaW5lci1tb2JpbGUnXCJcclxuICBbY2xhc3MudGxkLXN3aXRjaGVyLXdpdGgtY29sbGVjdGlvbnNdPSdjb2xsZWN0aW9uc1Zpc2libGUnPlxyXG5cclxuICA8ZGl2IGZ4RmxleCBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgIDxkaXYgZnhIaWRlLmx0LW1kICpuZ0lmPVwiIWhpZGVMYW5nTWVudUxhYmVsc1wiICNmcm9tTGFiZWw+e3snVExEX1RSQU5TTEFURS5GUk9NJyB8IHRyYW5zbGF0ZX19PC9kaXY+XHJcbiAgICA8ZGl2IGZ4RmxleCBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgPHRsZC1sYW5nLWxpc3QgaWQ9XCJ0bGQtc291cmNlLWxhbmd1YWdlLWxpc3RcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdGVzdElkXT1cInNyY0xhbmdUZXN0SWRcIlxyXG4gICAgICAgIFtsYW5ndWFnZXNdPVwic2V0dGluZ3Muc291cmNlTGFuZ3VhZ2VMaXN0XCIgKG9uTGFuZ3VhZ2VDaGFuZ2UpPVwic291cmNlTGFuZ0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbc2VsZWN0ZWRdPVwic2V0dGluZ3Muc291cmNlXCIgW21heERpc3BsYXllZExhbmd1YWdlc109XCJ2aXNpYmxlTGFuZ3VhZ2VDb3VudFwiPjwvdGxkLWxhbmctbGlzdD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvbWFpblNpZGU9PT0nc3JjJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkb21haW5UZW1wbGF0ZTtcIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgI3NvdXJjZUFzaWRlICpuZ0lmPVwic3dhcEljb25Qb3NpdGlvbj09PSdzcmMnXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzd2FwQnV0dG9uVGVtcGxhdGU7XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic3dhcEljb25Qb3NpdGlvbj09PSdjZW50ZXInXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3dhcEJ1dHRvblRlbXBsYXRlO1wiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4TGF5b3V0QWxpZ24ubHQtc209XCJlbmQgY2VudGVyXCI+XHJcbiAgICA8ZGl2IGZ4SGlkZS5sdC1tZCAqbmdJZj1cIiFoaWRlTGFuZ01lbnVMYWJlbHNcIiAjdG9MYWJlbD57eydUTERfVFJBTlNMQVRFLlRPJyB8IHRyYW5zbGF0ZX19PC9kaXY+XHJcbiAgICA8ZGl2IGZ4RmxleCBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgPHRsZC1sYW5nLWxpc3QgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgaWQ9XCJ0bGQtdGFyZ2V0LWxhbmd1YWdlLWxpc3RcIiBbbGFuZ3VhZ2VzXT1cInNldHRpbmdzLnRhcmdldExhbmd1YWdlTGlzdFwiXHJcbiAgICAgICAgKG9uTGFuZ3VhZ2VDaGFuZ2UpPVwidGFyZ2V0TGFuZ0NoYW5nZSgkZXZlbnQpXCIgW3NlbGVjdGVkXT1cInNldHRpbmdzLnRhcmdldFwiXHJcbiAgICAgICAgW21heERpc3BsYXllZExhbmd1YWdlc109XCJ2aXNpYmxlTGFuZ3VhZ2VDb3VudFwiIFt0ZXN0SWRdPVwidHJnTGFuZ1Rlc3RJZFwiIChvbkRvbWFpbkNoYW5nZSk9XCJkb21haW5DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW3Nob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZV09XCJzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG9tYWluU2lkZT09PSd0cmcnXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZG9tYWluVGVtcGxhdGU7XCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS12ZW5kb3Itc2VsZWN0aW9uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiAqbmdJZj1cInNob3dWZW5kb3JzXCIgI3ZlbmRvcldyYXBwZXI+XHJcbiAgICAgICAgICA8dGxkLWxpc3QtbWVudSAoc2VsZWN0aW9uQ2hhbmdlKT1cImRvbWFpbkNoYW5nZSgkZXZlbnQpXCIgW2xpc3RdPVwic2V0dGluZ3MudmVuZG9yc1wiIFt0aXRsZUtleV09XCIndGl0bGUnXCJcclxuICAgICAgICAgICAgW3ZhbHVlS2V5XT1cIidzeXN0ZW1JZCdcIiB0ZXN0SWQ9XCJ0bGQtdmVuZG9yLWxpc3RcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbc2hvd0NvbnRlbnRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidUTERfVFJBTlNMQVRFLlZFTkRPUlNfQVJJQV9MQUJFTCcgfCB0cmFuc2xhdGVcIiBbc2VsZWN0ZWRWYWx1ZV09XCJzZXR0aW5ncy5zeXN0ZW1JZFwiPlxyXG4gICAgICAgICAgPC90bGQtbGlzdC1tZW51PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RsZC1sYW5nLWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcC5ndC14cz1cIjE2cHhcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImNvbGxlY3Rpb25zVmlzaWJsZVwiICNjb2xsZWN0aW9uV3JhcHBlcj5cclxuICAgICAgICA8dGxkLXRlcm0tbWVudT48L3RsZC10ZXJtLW1lbnU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8dGxkLWxvYWRlciAqbmdJZj1cImxvYWRlclwiIGZ4SGlkZS5sdC1zbT48L3RsZC1sb2FkZXI+XHJcbiAgICAgIDx0bGQtdHJhbnNsYXRlLWJ1dHRvbiBbZW5hYmxlUHVsc2VBbmltYXRpb25dPVwidHJ1ZVwiICpuZ0lmPVwic2hvd1RyYW5zbGF0ZUJ1dHRvbiAmJiAhbG9hZGVyXCIgY2xhc3M9XCJzd2l0Y2hlci10cmFuc2xhdGUtYnV0dG9uXCJcclxuICAgICAgICBbZnhIaWRlLmx0LXNtXT1cImhpZGVPblNtYWxsU2NyZWVuc1wiIFtkaXNhYmxlZF09XCJidXR0b25EaXNhYmxlZFwiPjwvdGxkLXRyYW5zbGF0ZS1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3N3YXBCdXR0b25UZW1wbGF0ZT5cclxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1N3YXBMYW5ndWFnZXNEaXNhYmxlZFwiIGNsYXNzPVwic3dhcC1sYW5ndWFnZXMtYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uXHJcbiAgICAoY2xpY2spPVwic3dhcFNvdXJjZUFuZFRhcmdldCgpXCIgYXJpYS1sYWJlbD1cInN3YXAgbGFuZ3VhZ2VzXCIgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgIG1hdFRvb2x0aXA9XCJ7eydUT09MVElQUy5TV0FQX0xBTkdVQUdFUycgfCB0cmFuc2xhdGV9fVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5TV0FQX0xBTkdVQUdFUycgfCB0cmFuc2xhdGVcIj5zd2FwX2hvcml6PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkb21haW5UZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS1kb21haW4tc2VsZWN0aW9uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiAqbmdJZj1cInNob3dEb21haW5zXCIgI2RvbWFpbldyYXBwZXI+XHJcbiAgICA8dGxkLWRvbWFpbi1saXN0IGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJkb21haW5DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFtsaXN0XT1cInNldHRpbmdzLmRvbWFpbnMuZG9tYWluc1wiIFtzZWxlY3RlZF09XCJzZXR0aW5ncy5kb21haW5zLmFjdGl2ZVwiIFtzZWxlY3RlZF09XCJzZXR0aW5ncy5kb21haW5zLmFjdGl2ZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPjwvdGxkLWRvbWFpbi1saXN0PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -39,6 +39,7 @@ export class TldTranslateComponent {
|
|
|
39
39
|
this.wtwQueryService = wtwQueryService;
|
|
40
40
|
this.systemPickerService = systemPickerService;
|
|
41
41
|
this.onError = new EventEmitter();
|
|
42
|
+
this.onSystemChange = new EventEmitter();
|
|
42
43
|
this.messages = [];
|
|
43
44
|
this.noSystemsError = { body: "TLD_TRANSLATE.ERROR_NO_SYSTEMS_LOADED", type: NotificationMessageType.ERROR, hideClose: true };
|
|
44
45
|
this.languageMenuV1 = languageMenuVersion.V1;
|
|
@@ -110,6 +111,7 @@ export class TldTranslateComponent {
|
|
|
110
111
|
if (!val) {
|
|
111
112
|
return;
|
|
112
113
|
}
|
|
114
|
+
this.onSystemChange.emit(val);
|
|
113
115
|
this.switcherOptions = {
|
|
114
116
|
domains: val.domains,
|
|
115
117
|
source: { code: val.sourceLang.lang, systemId: val.systemId },
|
|
@@ -200,7 +202,7 @@ export class TldTranslateComponent {
|
|
|
200
202
|
}
|
|
201
203
|
}
|
|
202
204
|
TldTranslateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateComponent, deps: [{ token: i1.TranslateService }, { token: i2.TldTranslateFileService }, { token: i3.TldTranslateTextService }, { token: i4.TldTranslateConfigService }, { token: i4.TldAlertService }, { token: i5.TldTranslateButtonService }, { token: i6.TldSystemService }, { token: i7.AudioRecordService }, { token: i7.TldVoiceInputService }, { token: i8.WtwLinkParamsService }, { token: i9.TranslationSystemPickerService }, { token: i4.IconService }], target: i0.ɵɵFactoryTarget.Component });
|
|
203
|
-
TldTranslateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTranslateComponent, selector: "tld-translate", outputs: { onError: "onError" }, viewQueries: [{ propertyName: "tldTranslateBody", first: true, predicate: TldTranslateBodyComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" class=\"h-100 tld-translate\" *ngIf=\"!showNoSystemsError\"\r\n [ngClass.lt-md]=\"'tld-translate-tablet tld-default-border-bottom'\"\r\n [ngClass.lt-sm]=\"'tld-translate-mobile tld-default-border-bottom'\"\r\n [class.tld-translate-multiple-files-active]=\"isMultipleFilesActive\">\r\n <div class=\"tld-translate-wrapper tld-default-border\" fxLayout=\"column\" fxFlex>\r\n <div class=\"tld-translate-switcher-wrapper tld-default-border-bottom\">\r\n <tld-translate-switcher *ngIf=\"switcherOptions && languageMenuVersion === languageMenuV1\"\r\n [disabled]=\"actionButtonDisabled\" [isCollectionsActivated]=\"isCollectionsActivated\" [settings]=\"switcherOptions\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\" [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n [buttonDisabled]=\"actionButtonDisabled\" [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n (onDomainChange)=\"systemChange($event)\" (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\" (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\" [loader]=\"actionButtonLoader\" [showTranslateButton]=\"showTranslateButton\">\r\n </tld-translate-switcher>\r\n <tld-translation-system-picker *ngIf=\"languageMenuVersion===languageMenuV2\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"></tld-translation-system-picker>\r\n </div>\r\n <lib-tld-notification-message [inline]=\"true\" *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\">\r\n </lib-tld-notification-message>\r\n <div fxFlex style=\"position: relative;\">\r\n <tld-translate-body fxFlex fxLayoutAlign=\"column\" [attr.source-language]=\"sourceLanguage\"\r\n [attr.target-language]=\"targetLanguage\"></tld-translate-body>\r\n <tld-translation-system-picker-dropdown [ngClass.xs]=\"'mobile'\" *ngIf=\"systemPickerDropdownVisible\">\r\n </tld-translation-system-picker-dropdown>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<lib-tld-notification-message *ngIf=\"showNoSystemsError\" [message]=\"noSystemsError\">\r\n</lib-tld-notification-message>\r\n", styles: [".tld-translate-wrapper{overflow:hidden;background:#ffffff;box-shadow:0 3.2px 7.2px #00000021}.tld-translate-switcher-wrapper{padding:.5em 1em}.h-100{height:100%}tld-translation-system-picker-dropdown{z-index:2}tld-translation-system-picker-dropdown:not(.mobile){position:absolute;width:100%;height:100%}tld-translation-system-picker-dropdown.mobile{position:fixed;top:0;left:0;width:100vw;height:100vh}\n"], dependencies: [{ kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i12.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i13.TldTranslateSwitcherComponent, selector: "tld-translate-switcher", inputs: ["buttonDisabled", "showTranslateButton", "hideOnSmallScreens", "disabled", "hideLangMenuLabels", "maxDisplayedLanguages", "collections", "showDomainsWithLanguageName", "isCollectionsActivated", "useParentWidth", "loader", "settings"], outputs: ["onDomainChange", "onActionClick", "onSourceLanguageChange", "onTargetLanguageChange", "onLanguageSwap", "onVendorChange"] }, { kind: "component", type: i14.TranslationSystemPickerComponent, selector: "tld-translation-system-picker", inputs: ["isCollectionsActivated"] }, { kind: "component", type: i15.TranslationSystemPickerDropdownComponent, selector: "tld-translation-system-picker-dropdown" }, { kind: "component", type: i16.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i17.TldTranslateBodyComponent, selector: "tld-translate-body" }], animations: [
|
|
205
|
+
TldTranslateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTranslateComponent, selector: "tld-translate", outputs: { onError: "onError", onSystemChange: "onSystemChange" }, viewQueries: [{ propertyName: "tldTranslateBody", first: true, predicate: TldTranslateBodyComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" class=\"h-100 tld-translate\" *ngIf=\"!showNoSystemsError\"\r\n [ngClass.lt-md]=\"'tld-translate-tablet tld-default-border-bottom'\"\r\n [ngClass.lt-sm]=\"'tld-translate-mobile tld-default-border-bottom'\"\r\n [class.tld-translate-multiple-files-active]=\"isMultipleFilesActive\">\r\n <div class=\"tld-translate-wrapper tld-default-border\" fxLayout=\"column\" fxFlex>\r\n <div class=\"tld-translate-switcher-wrapper tld-default-border-bottom\">\r\n <tld-translate-switcher *ngIf=\"switcherOptions && languageMenuVersion === languageMenuV1\"\r\n [disabled]=\"actionButtonDisabled\" [isCollectionsActivated]=\"isCollectionsActivated\" [settings]=\"switcherOptions\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\" [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n [buttonDisabled]=\"actionButtonDisabled\" [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n (onDomainChange)=\"systemChange($event)\" (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\" (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\" [loader]=\"actionButtonLoader\" [showTranslateButton]=\"showTranslateButton\">\r\n </tld-translate-switcher>\r\n <tld-translation-system-picker *ngIf=\"languageMenuVersion===languageMenuV2\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"></tld-translation-system-picker>\r\n </div>\r\n <lib-tld-notification-message [inline]=\"true\" *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\">\r\n </lib-tld-notification-message>\r\n <div fxFlex style=\"position: relative;\">\r\n <tld-translate-body fxFlex fxLayoutAlign=\"column\" [attr.source-language]=\"sourceLanguage\"\r\n [attr.target-language]=\"targetLanguage\"></tld-translate-body>\r\n <tld-translation-system-picker-dropdown [ngClass.xs]=\"'mobile'\" *ngIf=\"systemPickerDropdownVisible\">\r\n </tld-translation-system-picker-dropdown>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<lib-tld-notification-message *ngIf=\"showNoSystemsError\" [message]=\"noSystemsError\">\r\n</lib-tld-notification-message>\r\n", styles: [".tld-translate-wrapper{overflow:hidden;background:#ffffff;box-shadow:0 3.2px 7.2px #00000021}.tld-translate-switcher-wrapper{padding:.5em 1em}.h-100{height:100%}tld-translation-system-picker-dropdown{z-index:2}tld-translation-system-picker-dropdown:not(.mobile){position:absolute;width:100%;height:100%}tld-translation-system-picker-dropdown.mobile{position:fixed;top:0;left:0;width:100vw;height:100vh}\n"], dependencies: [{ kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i12.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i13.TldTranslateSwitcherComponent, selector: "tld-translate-switcher", inputs: ["buttonDisabled", "showTranslateButton", "hideOnSmallScreens", "disabled", "hideLangMenuLabels", "maxDisplayedLanguages", "collections", "showDomainsWithLanguageName", "isCollectionsActivated", "useParentWidth", "loader", "settings"], outputs: ["onDomainChange", "onActionClick", "onSourceLanguageChange", "onTargetLanguageChange", "onLanguageSwap", "onVendorChange"] }, { kind: "component", type: i14.TranslationSystemPickerComponent, selector: "tld-translation-system-picker", inputs: ["isCollectionsActivated"] }, { kind: "component", type: i15.TranslationSystemPickerDropdownComponent, selector: "tld-translation-system-picker-dropdown" }, { kind: "component", type: i16.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i17.TldTranslateBodyComponent, selector: "tld-translate-body" }], animations: [
|
|
204
206
|
trigger('openCloseAnimation', [
|
|
205
207
|
transition(':enter', [
|
|
206
208
|
style({ height: 0 }),
|
|
@@ -222,8 +224,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
222
224
|
], template: "<div fxLayout=\"column\" class=\"h-100 tld-translate\" *ngIf=\"!showNoSystemsError\"\r\n [ngClass.lt-md]=\"'tld-translate-tablet tld-default-border-bottom'\"\r\n [ngClass.lt-sm]=\"'tld-translate-mobile tld-default-border-bottom'\"\r\n [class.tld-translate-multiple-files-active]=\"isMultipleFilesActive\">\r\n <div class=\"tld-translate-wrapper tld-default-border\" fxLayout=\"column\" fxFlex>\r\n <div class=\"tld-translate-switcher-wrapper tld-default-border-bottom\">\r\n <tld-translate-switcher *ngIf=\"switcherOptions && languageMenuVersion === languageMenuV1\"\r\n [disabled]=\"actionButtonDisabled\" [isCollectionsActivated]=\"isCollectionsActivated\" [settings]=\"switcherOptions\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\" [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n [buttonDisabled]=\"actionButtonDisabled\" [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n (onDomainChange)=\"systemChange($event)\" (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\" (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\" [loader]=\"actionButtonLoader\" [showTranslateButton]=\"showTranslateButton\">\r\n </tld-translate-switcher>\r\n <tld-translation-system-picker *ngIf=\"languageMenuVersion===languageMenuV2\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"></tld-translation-system-picker>\r\n </div>\r\n <lib-tld-notification-message [inline]=\"true\" *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\">\r\n </lib-tld-notification-message>\r\n <div fxFlex style=\"position: relative;\">\r\n <tld-translate-body fxFlex fxLayoutAlign=\"column\" [attr.source-language]=\"sourceLanguage\"\r\n [attr.target-language]=\"targetLanguage\"></tld-translate-body>\r\n <tld-translation-system-picker-dropdown [ngClass.xs]=\"'mobile'\" *ngIf=\"systemPickerDropdownVisible\">\r\n </tld-translation-system-picker-dropdown>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<lib-tld-notification-message *ngIf=\"showNoSystemsError\" [message]=\"noSystemsError\">\r\n</lib-tld-notification-message>\r\n", styles: [".tld-translate-wrapper{overflow:hidden;background:#ffffff;box-shadow:0 3.2px 7.2px #00000021}.tld-translate-switcher-wrapper{padding:.5em 1em}.h-100{height:100%}tld-translation-system-picker-dropdown{z-index:2}tld-translation-system-picker-dropdown:not(.mobile){position:absolute;width:100%;height:100%}tld-translation-system-picker-dropdown.mobile{position:fixed;top:0;left:0;width:100vw;height:100vh}\n"] }]
|
|
223
225
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TldTranslateFileService }, { type: i3.TldTranslateTextService }, { type: i4.TldTranslateConfigService }, { type: i4.TldAlertService }, { type: i5.TldTranslateButtonService }, { type: i6.TldSystemService }, { type: i7.AudioRecordService }, { type: i7.TldVoiceInputService }, { type: i8.WtwLinkParamsService }, { type: i9.TranslationSystemPickerService }, { type: i4.IconService }]; }, propDecorators: { onError: [{
|
|
224
226
|
type: Output
|
|
227
|
+
}], onSystemChange: [{
|
|
228
|
+
type: Output
|
|
225
229
|
}], tldTranslateBody: [{
|
|
226
230
|
type: ViewChild,
|
|
227
231
|
args: [TldTranslateBodyComponent]
|
|
228
232
|
}] } });
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVFoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQjlGLE1BQU0sT0FBTyxxQkFBcUI7SUFxRWhDLFlBQTZCLFNBQTJCLEVBQ3JDLG9CQUE2QyxFQUM3QyxvQkFBNkMsRUFDN0MsYUFBd0MsRUFDeEMsTUFBdUIsRUFDdkIsc0JBQWlELEVBQ2pELFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLHNCQUE0QyxFQUM1QyxlQUFxQyxFQUNyQyxtQkFBbUQsRUFD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VSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2dDQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDOzZCQUNiLENBQUM7NEJBRUYsVUFBVSxDQUFDLFFBQVEsRUFDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3lCQUN0QyxDQUFDO3FCQUNIOzhlQUdTLE9BQU87c0JBQWhCLE1BQU07Z0JBRStCLGdCQUFnQjtzQkFBckQsU0FBUzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTWVzc2FnZSwgTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGF2YWlsYWJsZUxhbmd1YWdlcyB9IGZyb20gJy4vaTE4bi9hdmFpbGFibGUtbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgQXVkaW9SZWNvcmRTZXJ2aWNlLCBUbGRWb2ljZUlucHV0U2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtYXVkaW8vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVCdXR0b25TZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC1jb21tb24vY29tcG9uZW50cy90cmFuc2xhdGUtYnV0dG9uL3RsZC10cmFuc2xhdGUtYnV0dG9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQXV0aE9wdGlvbnMsIGxhbmd1YWdlTWVudVZlcnNpb24gfSBmcm9tICcuL21vZHVsZXMvdGxkLWNvbW1vbi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJY29uU2VydmljZSwgVGxkQWxlcnRTZXJ2aWNlLCBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBXdHdMaW5rUGFyYW1zU2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtY29tbW9uL3NlcnZpY2VzL3d0dy1saW5rLXBhcmFtcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLWRvY3VtZW50L3NlcnZpY2VzL3RsZC10cmFuc2xhdGUtZmlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlVGV4dFNlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLXRleHQvc2VydmljZXMvdGxkLXRyYW5zbGF0ZS10ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQWN0aXZlRGF0YSB9IGZyb20gJy4vbW9kdWxlcy90bGQtdG9vbHRpcC9tb2RlbHMvYWN0aXZlLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBJU3dpdGNoZXJUcmFuc2xhdGlvbk9wdGlvbnMgfSBmcm9tICcuL21vZHVsZXMvdGxkLXRvb2x0aXAvbW9kZWxzL3N3aXRjaGVyLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBUbGRTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC10b29sdGlwL3NlcnZpY2VzL3RsZC1zeXN0ZW0uc2VydmljZSc7XHJcbmltcG9ydCB7IE9wZW5lZE1lbnUgfSBmcm9tICcuL21vZHVsZXMvdGxkLXRvb2x0aXAvdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci9tb2RlbHMvb3BlbmVkLW1lbnUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblN5c3RlbVBpY2tlclNlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLXRvb2x0aXAvdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci9zZXJ2aWNlcy90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi90bGQtdHJhbnNsYXRlLWJvZHkvdGxkLXRyYW5zbGF0ZS1ib2R5LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90bGQtdHJhbnNsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtdHJhbnNsYXRlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlQW5pbWF0aW9uJywgW1xyXG5cclxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAwIH0pLFxyXG4gICAgICAgIGFuaW1hdGUoNTAwKVxyXG4gICAgICBdKSxcclxuXHJcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsXHJcbiAgICAgICAgYW5pbWF0ZSg1MDAsIHN0eWxlKHsgaGVpZ2h0OiAwIH0pKSlcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVHJhbnNsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBPdXRwdXQoKSBvbkVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAVmlld0NoaWxkKFRsZFRyYW5zbGF0ZUJvZHlDb21wb25lbnQpIHRsZFRyYW5zbGF0ZUJvZHk6IFRsZFRyYW5zbGF0ZUJvZHlDb21wb25lbnQ7XHJcblxyXG4gIGFjdGl2ZVN5c3RlbU9iajogSUFjdGl2ZURhdGE7XHJcbiAgbWVzc2FnZXM6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSA9IFtdO1xyXG5cclxuICBzd2l0Y2hlck9wdGlvbnM6IElTd2l0Y2hlclRyYW5zbGF0aW9uT3B0aW9ucztcclxuXHJcbiAgZ2V0IGFjdGlvbkJ1dHRvbkxvYWRlcigpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuaXNUcmFuc2xhdGluZzsgfVxyXG5cclxuICBnZXQgc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLnNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZTtcclxuICB9XHJcblxyXG4gIGdldCBtYXhEaXNwbGF5ZWRMYW5ndWFnZXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5tYXhEaXNwbGF5ZWRMYW5ndWFnZXM7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd05vU3lzdGVtc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGxkU3lzdGVtLm5vU3lzdGVtc0Vycm9yO1xyXG4gIH1cclxuICByZWFkb25seSBub1N5c3RlbXNFcnJvcjogTm90aWZpY2F0aW9uTWVzc2FnZSA9IHsgYm9keTogXCJUTERfVFJBTlNMQVRFLkVSUk9SX05PX1NZU1RFTVNfTE9BREVEXCIsIHR5cGU6IE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SLCBoaWRlQ2xvc2U6IHRydWUgfTtcclxuICBnZXQgYWN0aW9uQnV0dG9uRGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS5kaXNhYmxlVHJhbnNsYXRlQnV0dG9uXHJcbiAgICAgIHx8IHRoaXMuYXVkaW9TZXJ2aWNlLmlzUmVjb3JkaW5nXHJcbiAgICAgIHx8IHRoaXMudm9pY2VQcm9jZXNzaW5nU2VydmljZS5pc1Byb2Nlc3NpbmdcclxuICAgICAgfHwgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZ1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dUcmFuc2xhdGVCdXR0b24oKSB7XHJcbiAgICByZXR1cm4gIXRoaXMudHJhbnNsYXRlRmlsZVNlcnZpY2UubXVsdGlwbGVGaWxlVXBsb2FkQWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgLy8gdGhpcyBwYXJhbSBpcyBuZWNlc3NhcnkgdG8gcmVtb3ZlIG1heCBoZWlnaHQgaWYgbXVsdGlwbGUgZmlsZSBjb21wb25lbnQgaXMgYWN0aXZlLCBzaW5jZSB0aGVyZSBzaG91bGRuJ3QgYmUgbWF4IGhlaWdodCBpbiB0aGF0IGNhc2UuXHJcbiAgZ2V0IGlzTXVsdGlwbGVGaWxlc0FjdGl2ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRsZFRyYW5zbGF0ZUJvZHk/Lm11bHRpcGxlRmlsZXNVcGxvYWRlZDtcclxuICB9XHJcblxyXG4gIGdldCBoaWRlTGFuZ01lbnVMYWJlbHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlPy5jb3JlQ29uZmlnLmhpZGVMYW5nTWVudUxhYmVscztcclxuICB9XHJcblxyXG4gIGdldCBpc0NvbGxlY3Rpb25zQWN0aXZhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZT8udGVybUNvbmZpZz8uaXNDb2xsZWN0aW9uc0FjdGl2YXRlZDtcclxuICB9XHJcblxyXG4gIGdldCBzb3VyY2VMYW5ndWFnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN5c3RlbU9iaj8uc291cmNlTGFuZy5sYW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRhcmdldExhbmd1YWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3lzdGVtT2JqPy50YXJnZXRMYW5nLmxhbmc7XHJcbiAgfVxyXG5cclxuICBnZXQgc3lzdGVtUGlja2VyRHJvcGRvd25WaXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5vcGVuZWRNZW51ICE9PSBPcGVuZWRNZW51Lk5PTkU7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFuZ3VhZ2VNZW51VmVyc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZz8ubGFuZ3VhZ2VNZW51VmVyc2lvbjtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGxhbmd1YWdlTWVudVYxID0gbGFuZ3VhZ2VNZW51VmVyc2lvbi5WMTtcclxuICByZWFkb25seSBsYW5ndWFnZU1lbnVWMiA9IGxhbmd1YWdlTWVudVZlcnNpb24uVjI7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlRmlsZVNlcnZpY2U6IFRsZFRyYW5zbGF0ZUZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVUZXh0U2VydmljZTogVGxkVHJhbnNsYXRlVGV4dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0czogVGxkQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVCdXR0b25TZXJ2aWNlOiBUbGRUcmFuc2xhdGVCdXR0b25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0bGRTeXN0ZW06IFRsZFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1ZGlvU2VydmljZTogQXVkaW9SZWNvcmRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB2b2ljZVByb2Nlc3NpbmdTZXJ2aWNlOiBUbGRWb2ljZUlucHV0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgd3R3UXVlcnlTZXJ2aWNlOiBXdHdMaW5rUGFyYW1zU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3lzdGVtUGlja2VyU2VydmljZTogVHJhbnNsYXRpb25TeXN0ZW1QaWNrZXJTZXJ2aWNlLFxyXG4gICAgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBpY29uU2VydmljZS5yZWdpc3Rlckljb25zKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VBdXRoKGF1dGhPcHRpb25zOiBJQXV0aE9wdGlvbnMpIHtcclxuICAgIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLmlzQXV0aCA9IGF1dGhPcHRpb25zLmlzQXV0aDtcclxuICAgIHRoaXMuY29uZmlnU2VydmljZS50ZXJtQ29uZmlnLmNhbkNyZWF0ZUNvbGxlY3Rpb24gPSBhdXRoT3B0aW9ucy5jYW5DcmVhdGVUZXJtQ29sbGVjdGlvbjtcclxuICAgIHRoaXMudHJhbnNsYXRlRmlsZVNlcnZpY2UuY2xlYXIoKTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVdpZGdldCgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVdpZGdldCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmluaXQodGhpcy50bGRTeXN0ZW0uZ2V0TGFzdFVzZWRTeXN0ZW0oKSA/PyB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5kZWZhdWx0U3lzdGVtSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnJlbW92ZU1lc3NhZ2VzT25DbGVhcigpO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5kZWJ1Zykge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBhdmFpbGFibGVMYW5ndWFnZXMpIHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXRUcmFuc2xhdGlvbihrZXksIGF2YWlsYWJsZUxhbmd1YWdlc1trZXldLCB0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZVdpZGdldCgpO1xyXG5cclxuICAgIHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZURhdGEoKS5waXBlKFxyXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbDogSUFjdGl2ZURhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVN5c3RlbU9iaiA9IHZhbDtcclxuICAgICAgICBpZiAoIXZhbCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN3aXRjaGVyT3B0aW9ucyA9IHtcclxuICAgICAgICAgIGRvbWFpbnM6IHZhbC5kb21haW5zLFxyXG4gICAgICAgICAgc291cmNlOiB7IGNvZGU6IHZhbC5zb3VyY2VMYW5nLmxhbmcsIHN5c3RlbUlkOiB2YWwuc3lzdGVtSWQgfSxcclxuICAgICAgICAgIHNvdXJjZUxhbmd1YWdlTGlzdDogdmFsLnNvdXJjZUxhbmdMaXN0LFxyXG4gICAgICAgICAgc3lzdGVtSWQ6IHZhbC5zeXN0ZW1JZCxcclxuICAgICAgICAgIHN3YXBBY3RpdmU6IHZhbC5zd2FwTGFuZ0FjdGl2ZSxcclxuICAgICAgICAgIHRhcmdldDogeyBjb2RlOiB2YWwudGFyZ2V0TGFuZy5sYW5nLCBzeXN0ZW1JZDogdmFsLnN5c3RlbUlkIH0sXHJcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZUxpc3Q6IHZhbC50YXJnZXRMYW5nTGlzdCxcclxuICAgICAgICAgIHZlbmRvcnM6IHZhbC52ZW5kb3JzXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VDaGFuZ2UucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5zd2FwU3lzdGVtcykge1xyXG4gICAgICAgICAgdGhpcy5zd2FwTGFuZ3VhZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZUJ1dHRvblNlcnZpY2UuZ2V0QWN0aW9uQ2xpY2soKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlQnV0dG9uQ2xpY2soKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy53dHdRdWVyeVNlcnZpY2UucXVlcnkoKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHF1ZXJ5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzLmZvckVhY2gobXNnID0+IHtcclxuICAgICAgICAgIG1zZy5sb2NhbGl6YXRpb25QYXJhbXMucXVlcnlTdHJpbmcgPSBxdWVyeVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFsZXJ0cy5nZXRNZXNzYWdlcygpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogTm90aWZpY2F0aW9uTWVzc2FnZSkgPT4ge1xyXG4gICAgICAgIG1lc3NhZ2UubG9jYWxpemF0aW9uUGFyYW1zLnF1ZXJ5U3RyaW5nID0gdGhpcy53dHdRdWVyeVNlcnZpY2UuZGVmYXVsdFF1ZXJ5U3RyaW5nO1xyXG4gICAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SKSB7XHJcbiAgICAgICAgICB0aGlzLm9uRXJyb3IuZW1pdChtZXNzYWdlLmVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gcHVzaGluZyBvbmx5IFwib25lIG9mXCIgbWVzc2FnZSBpbiBhcnJheSwgc28gc2NyZWVuIGlzIG5vdCBzcGFtbWVkIHdpdGggbWVzc2FnZXNcclxuICAgICAgICBjb25zdCBleGlzdGluZ01lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VzLmZpbmQobXNnID0+IG1zZy50aXRsZSA9PT0gbWVzc2FnZS50aXRsZVxyXG4gICAgICAgICAgJiYgbXNnLnR5cGUgPT09IG1lc3NhZ2UudHlwZVxyXG4gICAgICAgICAgJiYgbWVzc2FnZS5ib2R5ID09PSBtc2cuYm9keVxyXG4gICAgICAgICAgJiYgSlNPTi5zdHJpbmdpZnkobXNnLmxvY2FsaXphdGlvblBhcmFtcykgPT09IEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UubG9jYWxpemF0aW9uUGFyYW1zKSk7XHJcbiAgICAgICAgaWYgKCFleGlzdGluZ01lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaChtZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy50cmFuc2xhdGVBcHBOYW1lKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldChcIkFQUF9OQU1FXCIpLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuYXBwTmFtZSA9IHRleHQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVNZXNzYWdlKGl4OiBudW1iZXIpIHtcclxuICAgIHRoaXMubWVzc2FnZXMuc3BsaWNlKGl4LCAxKTtcclxuICB9XHJcblxyXG4gIHN3YXBMYW5ndWFnZXMoKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5zd2FwU3lzdGVtTGFuZ3VhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzb3VyY2VMYW5ndWFnZUNoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5jaGFuZ2VMYW5ndWFnZShsYW5ndWFnZSwgdGhpcy5zd2l0Y2hlck9wdGlvbnMudGFyZ2V0LmNvZGUpO1xyXG4gIH1cclxuXHJcbiAgc3lzdGVtQ2hhbmdlKHN5c3RlbUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZVN5c3RlbShzeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICB0YXJnZXRMYW5ndWFnZUNoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5jaGFuZ2VMYW5ndWFnZSh0aGlzLnN3aXRjaGVyT3B0aW9ucy5zb3VyY2UuY29kZSwgbGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNsYXRlQnV0dG9uQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS50cmFuc2xhdGlvbkZpbGVzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlRmlsZVNlcnZpY2UudHJhbnNsYXRlQnV0dG9uQ2xpY2sodGhpcy5hY3RpdmVTeXN0ZW1PYmopO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uub25UcmFuc2xhdGVCdXR0b25DbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTWVzc2FnZXNPbkNsZWFyKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS5vbkNsZWFyKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgIH0pXHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5vbkNsZWFyKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dChudWxsKVxyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwiaC0xMDAgdGxkLXRyYW5zbGF0ZVwiICpuZ0lmPVwiIXNob3dOb1N5c3RlbXNFcnJvclwiXHJcbiAgW25nQ2xhc3MubHQtbWRdPVwiJ3RsZC10cmFuc2xhdGUtdGFibGV0IHRsZC1kZWZhdWx0LWJvcmRlci1ib3R0b20nXCJcclxuICBbbmdDbGFzcy5sdC1zbV09XCIndGxkLXRyYW5zbGF0ZS1tb2JpbGUgdGxkLWRlZmF1bHQtYm9yZGVyLWJvdHRvbSdcIlxyXG4gIFtjbGFzcy50bGQtdHJhbnNsYXRlLW11bHRpcGxlLWZpbGVzLWFjdGl2ZV09XCJpc011bHRpcGxlRmlsZXNBY3RpdmVcIj5cclxuICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS13cmFwcGVyIHRsZC1kZWZhdWx0LWJvcmRlclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4PlxyXG4gICAgPGRpdiBjbGFzcz1cInRsZC10cmFuc2xhdGUtc3dpdGNoZXItd3JhcHBlciB0bGQtZGVmYXVsdC1ib3JkZXItYm90dG9tXCI+XHJcbiAgICAgIDx0bGQtdHJhbnNsYXRlLXN3aXRjaGVyICpuZ0lmPVwic3dpdGNoZXJPcHRpb25zICYmIGxhbmd1YWdlTWVudVZlcnNpb24gPT09IGxhbmd1YWdlTWVudVYxXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uQnV0dG9uRGlzYWJsZWRcIiBbaXNDb2xsZWN0aW9uc0FjdGl2YXRlZF09XCJpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXCIgW3NldHRpbmdzXT1cInN3aXRjaGVyT3B0aW9uc1wiXHJcbiAgICAgICAgW21heERpc3BsYXllZExhbmd1YWdlc109XCJtYXhEaXNwbGF5ZWRMYW5ndWFnZXNcIiBbc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lXT1cInNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZVwiXHJcbiAgICAgICAgW2J1dHRvbkRpc2FibGVkXT1cImFjdGlvbkJ1dHRvbkRpc2FibGVkXCIgW2hpZGVMYW5nTWVudUxhYmVsc109XCJoaWRlTGFuZ01lbnVMYWJlbHNcIlxyXG4gICAgICAgIChvbkRvbWFpbkNoYW5nZSk9XCJzeXN0ZW1DaGFuZ2UoJGV2ZW50KVwiIChvbkFjdGlvbkNsaWNrKT1cInRyYW5zbGF0ZUJ1dHRvbkNsaWNrKClcIlxyXG4gICAgICAgIChvbkxhbmd1YWdlU3dhcCk9XCJzd2FwTGFuZ3VhZ2VzKClcIiAob25Tb3VyY2VMYW5ndWFnZUNoYW5nZSk9XCJzb3VyY2VMYW5ndWFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAob25UYXJnZXRMYW5ndWFnZUNoYW5nZSk9XCJ0YXJnZXRMYW5ndWFnZUNoYW5nZSgkZXZlbnQpXCIgW2xvYWRlcl09XCJhY3Rpb25CdXR0b25Mb2FkZXJcIiBbc2hvd1RyYW5zbGF0ZUJ1dHRvbl09XCJzaG93VHJhbnNsYXRlQnV0dG9uXCI+XHJcbiAgICAgIDwvdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlcj5cclxuICAgICAgPHRsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyICpuZ0lmPVwibGFuZ3VhZ2VNZW51VmVyc2lvbj09PWxhbmd1YWdlTWVudVYyXCJcclxuICAgICAgICBbaXNDb2xsZWN0aW9uc0FjdGl2YXRlZF09XCJpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXCI+PC90bGQtdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGxpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2UgW2lubGluZV09XCJ0cnVlXCIgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgbWVzc2FnZXM7IGxldCBpeCA9IGluZGV4XCIgW21lc3NhZ2VdPVwibWVzc2FnZVwiXHJcbiAgICAgIChjbG9zZUNsaWNrZWQpPVwicmVtb3ZlTWVzc2FnZShpeClcIj5cclxuICAgIDwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuICAgIDxkaXYgZnhGbGV4IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO1wiPlxyXG4gICAgICA8dGxkLXRyYW5zbGF0ZS1ib2R5IGZ4RmxleCBmeExheW91dEFsaWduPVwiY29sdW1uXCIgW2F0dHIuc291cmNlLWxhbmd1YWdlXT1cInNvdXJjZUxhbmd1YWdlXCJcclxuICAgICAgICBbYXR0ci50YXJnZXQtbGFuZ3VhZ2VdPVwidGFyZ2V0TGFuZ3VhZ2VcIj48L3RsZC10cmFuc2xhdGUtYm9keT5cclxuICAgICAgPHRsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duIFtuZ0NsYXNzLnhzXT1cIidtb2JpbGUnXCIgKm5nSWY9XCJzeXN0ZW1QaWNrZXJEcm9wZG93blZpc2libGVcIj5cclxuICAgICAgPC90bGQtdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci1kcm9wZG93bj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0lmPVwic2hvd05vU3lzdGVtc0Vycm9yXCIgW21lc3NhZ2VdPVwibm9TeXN0ZW1zRXJyb3JcIj5cclxuPC9saWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlPlxyXG4iXX0=
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVFoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQjlGLE1BQU0sT0FBTyxxQkFBcUI7SUFzRWhDLFlBQTZCLFNBQTJCLEVBQ3JDLG9CQUE2QyxFQUM3QyxvQkFBNkMsRUFDN0MsYUFBd0MsRUFDeEMsTUFBdUIsRUFDdkIsc0JBQWlELEVBQ2pELFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLHNCQUE0QyxFQUM1QyxlQUFxQyxFQUNyQyxtQkFBbUQsRUFD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QUFDO0tBQ0g7MkZBRVUscUJBQXFCO2tCQWpCakMsU0FBUzsrQkFDRSxlQUFlLGNBR2I7d0JBQ1YsT0FBTyxDQUFDLG9CQUFvQixFQUFFOzRCQUU1QixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUM7NkJBQ2IsQ0FBQzs0QkFFRixVQUFVLENBQUMsUUFBUSxFQUNqQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7eUJBQ3RDLENBQUM7cUJBQ0g7OGVBR1MsT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUUrQixnQkFBZ0I7c0JBQXJELFNBQVM7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2UsIE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBhdmFpbGFibGVMYW5ndWFnZXMgfSBmcm9tICcuL2kxOG4vYXZhaWxhYmxlLWxhbmd1YWdlcyc7XHJcbmltcG9ydCB7IEF1ZGlvUmVjb3JkU2VydmljZSwgVGxkVm9pY2VJbnB1dFNlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLWF1ZGlvL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQnV0dG9uU2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtY29tbW9uL2NvbXBvbmVudHMvdHJhbnNsYXRlLWJ1dHRvbi90bGQtdHJhbnNsYXRlLWJ1dHRvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUF1dGhPcHRpb25zLCBsYW5ndWFnZU1lbnVWZXJzaW9uIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC1jb21tb24vbW9kZWxzJztcclxuaW1wb3J0IHsgSWNvblNlcnZpY2UsIFRsZEFsZXJ0U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgV3R3TGlua1BhcmFtc1NlcnZpY2UgfSBmcm9tICcuL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcy93dHctbGluay1wYXJhbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUZpbGVTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC1kb2N1bWVudC9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLWZpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZVRleHRTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC10ZXh0L3NlcnZpY2VzL3RsZC10cmFuc2xhdGUtdGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUFjdGl2ZURhdGEgfSBmcm9tICcuL21vZHVsZXMvdGxkLXRvb2x0aXAvbW9kZWxzL2FjdGl2ZS1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgSVN3aXRjaGVyVHJhbnNsYXRpb25PcHRpb25zIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC10b29sdGlwL21vZGVscy9zd2l0Y2hlci1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgVGxkU3lzdGVtU2VydmljZSB9IGZyb20gJy4vbW9kdWxlcy90bGQtdG9vbHRpcC9zZXJ2aWNlcy90bGQtc3lzdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcGVuZWRNZW51IH0gZnJvbSAnLi9tb2R1bGVzL3RsZC10b29sdGlwL3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXIvbW9kZWxzL29wZW5lZC1tZW51JztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TeXN0ZW1QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGVzL3RsZC10b29sdGlwL3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXIvc2VydmljZXMvdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQm9keUNvbXBvbmVudCB9IGZyb20gJy4vdGxkLXRyYW5zbGF0ZS1ib2R5L3RsZC10cmFuc2xhdGUtYm9keS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdHJhbnNsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRyYW5zbGF0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ29wZW5DbG9zZUFuaW1hdGlvbicsIFtcclxuXHJcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICBzdHlsZSh7IGhlaWdodDogMCB9KSxcclxuICAgICAgICBhbmltYXRlKDUwMClcclxuICAgICAgXSksXHJcblxyXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLFxyXG4gICAgICAgIGFuaW1hdGUoNTAwLCBzdHlsZSh7IGhlaWdodDogMCB9KSkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAT3V0cHV0KCkgb25FcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25TeXN0ZW1DaGFuZ2U6IEV2ZW50RW1pdHRlcjxJQWN0aXZlRGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyPElBY3RpdmVEYXRhPigpO1xyXG5cclxuICBAVmlld0NoaWxkKFRsZFRyYW5zbGF0ZUJvZHlDb21wb25lbnQpIHRsZFRyYW5zbGF0ZUJvZHk6IFRsZFRyYW5zbGF0ZUJvZHlDb21wb25lbnQ7XHJcblxyXG4gIGFjdGl2ZVN5c3RlbU9iajogSUFjdGl2ZURhdGE7XHJcbiAgbWVzc2FnZXM6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSA9IFtdO1xyXG5cclxuICBzd2l0Y2hlck9wdGlvbnM6IElTd2l0Y2hlclRyYW5zbGF0aW9uT3B0aW9ucztcclxuXHJcbiAgZ2V0IGFjdGlvbkJ1dHRvbkxvYWRlcigpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuaXNUcmFuc2xhdGluZzsgfVxyXG5cclxuICBnZXQgc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLnNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZTtcclxuICB9XHJcblxyXG4gIGdldCBtYXhEaXNwbGF5ZWRMYW5ndWFnZXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5tYXhEaXNwbGF5ZWRMYW5ndWFnZXM7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd05vU3lzdGVtc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGxkU3lzdGVtLm5vU3lzdGVtc0Vycm9yO1xyXG4gIH1cclxuICByZWFkb25seSBub1N5c3RlbXNFcnJvcjogTm90aWZpY2F0aW9uTWVzc2FnZSA9IHsgYm9keTogXCJUTERfVFJBTlNMQVRFLkVSUk9SX05PX1NZU1RFTVNfTE9BREVEXCIsIHR5cGU6IE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SLCBoaWRlQ2xvc2U6IHRydWUgfTtcclxuICBnZXQgYWN0aW9uQnV0dG9uRGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS5kaXNhYmxlVHJhbnNsYXRlQnV0dG9uXHJcbiAgICAgIHx8IHRoaXMuYXVkaW9TZXJ2aWNlLmlzUmVjb3JkaW5nXHJcbiAgICAgIHx8IHRoaXMudm9pY2VQcm9jZXNzaW5nU2VydmljZS5pc1Byb2Nlc3NpbmdcclxuICAgICAgfHwgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZ1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dUcmFuc2xhdGVCdXR0b24oKSB7XHJcbiAgICByZXR1cm4gIXRoaXMudHJhbnNsYXRlRmlsZVNlcnZpY2UubXVsdGlwbGVGaWxlVXBsb2FkQWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgLy8gdGhpcyBwYXJhbSBpcyBuZWNlc3NhcnkgdG8gcmVtb3ZlIG1heCBoZWlnaHQgaWYgbXVsdGlwbGUgZmlsZSBjb21wb25lbnQgaXMgYWN0aXZlLCBzaW5jZSB0aGVyZSBzaG91bGRuJ3QgYmUgbWF4IGhlaWdodCBpbiB0aGF0IGNhc2UuXHJcbiAgZ2V0IGlzTXVsdGlwbGVGaWxlc0FjdGl2ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRsZFRyYW5zbGF0ZUJvZHk/Lm11bHRpcGxlRmlsZXNVcGxvYWRlZDtcclxuICB9XHJcblxyXG4gIGdldCBoaWRlTGFuZ01lbnVMYWJlbHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlPy5jb3JlQ29uZmlnLmhpZGVMYW5nTWVudUxhYmVscztcclxuICB9XHJcblxyXG4gIGdldCBpc0NvbGxlY3Rpb25zQWN0aXZhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZT8udGVybUNvbmZpZz8uaXNDb2xsZWN0aW9uc0FjdGl2YXRlZDtcclxuICB9XHJcblxyXG4gIGdldCBzb3VyY2VMYW5ndWFnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN5c3RlbU9iaj8uc291cmNlTGFuZy5sYW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRhcmdldExhbmd1YWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3lzdGVtT2JqPy50YXJnZXRMYW5nLmxhbmc7XHJcbiAgfVxyXG5cclxuICBnZXQgc3lzdGVtUGlja2VyRHJvcGRvd25WaXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5vcGVuZWRNZW51ICE9PSBPcGVuZWRNZW51Lk5PTkU7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFuZ3VhZ2VNZW51VmVyc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZz8ubGFuZ3VhZ2VNZW51VmVyc2lvbjtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGxhbmd1YWdlTWVudVYxID0gbGFuZ3VhZ2VNZW51VmVyc2lvbi5WMTtcclxuICByZWFkb25seSBsYW5ndWFnZU1lbnVWMiA9IGxhbmd1YWdlTWVudVZlcnNpb24uVjI7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlRmlsZVNlcnZpY2U6IFRsZFRyYW5zbGF0ZUZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVUZXh0U2VydmljZTogVGxkVHJhbnNsYXRlVGV4dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0czogVGxkQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVCdXR0b25TZXJ2aWNlOiBUbGRUcmFuc2xhdGVCdXR0b25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0bGRTeXN0ZW06IFRsZFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1ZGlvU2VydmljZTogQXVkaW9SZWNvcmRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB2b2ljZVByb2Nlc3NpbmdTZXJ2aWNlOiBUbGRWb2ljZUlucHV0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgd3R3UXVlcnlTZXJ2aWNlOiBXdHdMaW5rUGFyYW1zU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3lzdGVtUGlja2VyU2VydmljZTogVHJhbnNsYXRpb25TeXN0ZW1QaWNrZXJTZXJ2aWNlLFxyXG4gICAgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBpY29uU2VydmljZS5yZWdpc3Rlckljb25zKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VBdXRoKGF1dGhPcHRpb25zOiBJQXV0aE9wdGlvbnMpIHtcclxuICAgIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLmlzQXV0aCA9IGF1dGhPcHRpb25zLmlzQXV0aDtcclxuICAgIHRoaXMuY29uZmlnU2VydmljZS50ZXJtQ29uZmlnLmNhbkNyZWF0ZUNvbGxlY3Rpb24gPSBhdXRoT3B0aW9ucy5jYW5DcmVhdGVUZXJtQ29sbGVjdGlvbjtcclxuICAgIHRoaXMudHJhbnNsYXRlRmlsZVNlcnZpY2UuY2xlYXIoKTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVdpZGdldCgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVdpZGdldCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmluaXQodGhpcy50bGRTeXN0ZW0uZ2V0TGFzdFVzZWRTeXN0ZW0oKSA/PyB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5kZWZhdWx0U3lzdGVtSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnJlbW92ZU1lc3NhZ2VzT25DbGVhcigpO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5kZWJ1Zykge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBhdmFpbGFibGVMYW5ndWFnZXMpIHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXRUcmFuc2xhdGlvbihrZXksIGF2YWlsYWJsZUxhbmd1YWdlc1trZXldLCB0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZVdpZGdldCgpO1xyXG5cclxuICAgIHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZURhdGEoKS5waXBlKFxyXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbDogSUFjdGl2ZURhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVN5c3RlbU9iaiA9IHZhbDtcclxuICAgICAgICBpZiAoIXZhbCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5vblN5c3RlbUNoYW5nZS5lbWl0KHZhbCk7XHJcblxyXG4gICAgICAgIHRoaXMuc3dpdGNoZXJPcHRpb25zID0ge1xyXG4gICAgICAgICAgZG9tYWluczogdmFsLmRvbWFpbnMsXHJcbiAgICAgICAgICBzb3VyY2U6IHsgY29kZTogdmFsLnNvdXJjZUxhbmcubGFuZywgc3lzdGVtSWQ6IHZhbC5zeXN0ZW1JZCB9LFxyXG4gICAgICAgICAgc291cmNlTGFuZ3VhZ2VMaXN0OiB2YWwuc291cmNlTGFuZ0xpc3QsXHJcbiAgICAgICAgICBzeXN0ZW1JZDogdmFsLnN5c3RlbUlkLFxyXG4gICAgICAgICAgc3dhcEFjdGl2ZTogdmFsLnN3YXBMYW5nQWN0aXZlLFxyXG4gICAgICAgICAgdGFyZ2V0OiB7IGNvZGU6IHZhbC50YXJnZXRMYW5nLmxhbmcsIHN5c3RlbUlkOiB2YWwuc3lzdGVtSWQgfSxcclxuICAgICAgICAgIHRhcmdldExhbmd1YWdlTGlzdDogdmFsLnRhcmdldExhbmdMaXN0LFxyXG4gICAgICAgICAgdmVuZG9yczogdmFsLnZlbmRvcnNcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZUNoYW5nZS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnN3YXBTeXN0ZW1zKSB7XHJcbiAgICAgICAgICB0aGlzLnN3YXBMYW5ndWFnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlQnV0dG9uU2VydmljZS5nZXRBY3Rpb25DbGljaygpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVCdXR0b25DbGljaygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnd0d1F1ZXJ5U2VydmljZS5xdWVyeSgpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocXVlcnk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMuZm9yRWFjaChtc2cgPT4ge1xyXG4gICAgICAgICAgbXNnLmxvY2FsaXphdGlvblBhcmFtcy5xdWVyeVN0cmluZyA9IHF1ZXJ5XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYWxlcnRzLmdldE1lc3NhZ2VzKCkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBOb3RpZmljYXRpb25NZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgbWVzc2FnZS5sb2NhbGl6YXRpb25QYXJhbXMucXVlcnlTdHJpbmcgPSB0aGlzLnd0d1F1ZXJ5U2VydmljZS5kZWZhdWx0UXVlcnlTdHJpbmc7XHJcbiAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuRVJST1IpIHtcclxuICAgICAgICAgIHRoaXMub25FcnJvci5lbWl0KG1lc3NhZ2UuZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBwdXNoaW5nIG9ubHkgXCJvbmUgb2ZcIiBtZXNzYWdlIGluIGFycmF5LCBzbyBzY3JlZW4gaXMgbm90IHNwYW1tZWQgd2l0aCBtZXNzYWdlc1xyXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nTWVzc2FnZSA9IHRoaXMubWVzc2FnZXMuZmluZChtc2cgPT4gbXNnLnRpdGxlID09PSBtZXNzYWdlLnRpdGxlXHJcbiAgICAgICAgICAmJiBtc2cudHlwZSA9PT0gbWVzc2FnZS50eXBlXHJcbiAgICAgICAgICAmJiBtZXNzYWdlLmJvZHkgPT09IG1zZy5ib2R5XHJcbiAgICAgICAgICAmJiBKU09OLnN0cmluZ2lmeShtc2cubG9jYWxpemF0aW9uUGFyYW1zKSA9PT0gSlNPTi5zdHJpbmdpZnkobWVzc2FnZS5sb2NhbGl6YXRpb25QYXJhbXMpKTtcclxuICAgICAgICBpZiAoIWV4aXN0aW5nTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLnRyYW5zbGF0ZUFwcE5hbWUpIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KFwiQVBQX05BTUVcIikucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5hcHBOYW1lID0gdGV4dDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZU1lc3NhZ2UoaXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5tZXNzYWdlcy5zcGxpY2UoaXgsIDEpO1xyXG4gIH1cclxuXHJcbiAgc3dhcExhbmd1YWdlcygpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLnN3YXBTeXN0ZW1MYW5ndWFnZXMoKTtcclxuICB9XHJcblxyXG4gIHNvdXJjZUxhbmd1YWdlQ2hhbmdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlLCB0aGlzLnN3aXRjaGVyT3B0aW9ucy50YXJnZXQuY29kZSk7XHJcbiAgfVxyXG5cclxuICBzeXN0ZW1DaGFuZ2Uoc3lzdGVtSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uY2hhbmdlU3lzdGVtKHN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIHRhcmdldExhbmd1YWdlQ2hhbmdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZUxhbmd1YWdlKHRoaXMuc3dpdGNoZXJPcHRpb25zLnNvdXJjZS5jb2RlLCBsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGVCdXR0b25DbGljaygpIHtcclxuICAgIGlmICh0aGlzLnRyYW5zbGF0ZUZpbGVTZXJ2aWNlLnRyYW5zbGF0aW9uRmlsZXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVGaWxlU2VydmljZS50cmFuc2xhdGVCdXR0b25DbGljayh0aGlzLmFjdGl2ZVN5c3RlbU9iaik7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5vblRyYW5zbGF0ZUJ1dHRvbkNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVNZXNzYWdlc09uQ2xlYXIoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZUZpbGVTZXJ2aWNlLm9uQ2xlYXIoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcclxuICAgICAgfSlcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLm9uQ2xlYXIoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpXHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJoLTEwMCB0bGQtdHJhbnNsYXRlXCIgKm5nSWY9XCIhc2hvd05vU3lzdGVtc0Vycm9yXCJcclxuICBbbmdDbGFzcy5sdC1tZF09XCIndGxkLXRyYW5zbGF0ZS10YWJsZXQgdGxkLWRlZmF1bHQtYm9yZGVyLWJvdHRvbSdcIlxyXG4gIFtuZ0NsYXNzLmx0LXNtXT1cIid0bGQtdHJhbnNsYXRlLW1vYmlsZSB0bGQtZGVmYXVsdC1ib3JkZXItYm90dG9tJ1wiXHJcbiAgW2NsYXNzLnRsZC10cmFuc2xhdGUtbXVsdGlwbGUtZmlsZXMtYWN0aXZlXT1cImlzTXVsdGlwbGVGaWxlc0FjdGl2ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0bGQtdHJhbnNsYXRlLXdyYXBwZXIgdGxkLWRlZmF1bHQtYm9yZGVyXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXg+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci13cmFwcGVyIHRsZC1kZWZhdWx0LWJvcmRlci1ib3R0b21cIj5cclxuICAgICAgPHRsZC10cmFuc2xhdGUtc3dpdGNoZXIgKm5nSWY9XCJzd2l0Y2hlck9wdGlvbnMgJiYgbGFuZ3VhZ2VNZW51VmVyc2lvbiA9PT0gbGFuZ3VhZ2VNZW51VjFcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25CdXR0b25EaXNhYmxlZFwiIFtpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXT1cImlzQ29sbGVjdGlvbnNBY3RpdmF0ZWRcIiBbc2V0dGluZ3NdPVwic3dpdGNoZXJPcHRpb25zXCJcclxuICAgICAgICBbbWF4RGlzcGxheWVkTGFuZ3VhZ2VzXT1cIm1heERpc3BsYXllZExhbmd1YWdlc1wiIFtzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWVdPVwic2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lXCJcclxuICAgICAgICBbYnV0dG9uRGlzYWJsZWRdPVwiYWN0aW9uQnV0dG9uRGlzYWJsZWRcIiBbaGlkZUxhbmdNZW51TGFiZWxzXT1cImhpZGVMYW5nTWVudUxhYmVsc1wiXHJcbiAgICAgICAgKG9uRG9tYWluQ2hhbmdlKT1cInN5c3RlbUNoYW5nZSgkZXZlbnQpXCIgKG9uQWN0aW9uQ2xpY2spPVwidHJhbnNsYXRlQnV0dG9uQ2xpY2soKVwiXHJcbiAgICAgICAgKG9uTGFuZ3VhZ2VTd2FwKT1cInN3YXBMYW5ndWFnZXMoKVwiIChvblNvdXJjZUxhbmd1YWdlQ2hhbmdlKT1cInNvdXJjZUxhbmd1YWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChvblRhcmdldExhbmd1YWdlQ2hhbmdlKT1cInRhcmdldExhbmd1YWdlQ2hhbmdlKCRldmVudClcIiBbbG9hZGVyXT1cImFjdGlvbkJ1dHRvbkxvYWRlclwiIFtzaG93VHJhbnNsYXRlQnV0dG9uXT1cInNob3dUcmFuc2xhdGVCdXR0b25cIj5cclxuICAgICAgPC90bGQtdHJhbnNsYXRlLXN3aXRjaGVyPlxyXG4gICAgICA8dGxkLXRyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXIgKm5nSWY9XCJsYW5ndWFnZU1lbnVWZXJzaW9uPT09bGFuZ3VhZ2VNZW51VjJcIlxyXG4gICAgICAgIFtpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXT1cImlzQ29sbGVjdGlvbnNBY3RpdmF0ZWRcIj48L3RsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZSBbaW5saW5lXT1cInRydWVcIiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlczsgbGV0IGl4ID0gaW5kZXhcIiBbbWVzc2FnZV09XCJtZXNzYWdlXCJcclxuICAgICAgKGNsb3NlQ2xpY2tlZCk9XCJyZW1vdmVNZXNzYWdlKGl4KVwiPlxyXG4gICAgPC9saWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlPlxyXG4gICAgPGRpdiBmeEZsZXggc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcbiAgICAgIDx0bGQtdHJhbnNsYXRlLWJvZHkgZnhGbGV4IGZ4TGF5b3V0QWxpZ249XCJjb2x1bW5cIiBbYXR0ci5zb3VyY2UtbGFuZ3VhZ2VdPVwic291cmNlTGFuZ3VhZ2VcIlxyXG4gICAgICAgIFthdHRyLnRhcmdldC1sYW5ndWFnZV09XCJ0YXJnZXRMYW5ndWFnZVwiPjwvdGxkLXRyYW5zbGF0ZS1ib2R5PlxyXG4gICAgICA8dGxkLXRyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItZHJvcGRvd24gW25nQ2xhc3MueHNdPVwiJ21vYmlsZSdcIiAqbmdJZj1cInN5c3RlbVBpY2tlckRyb3Bkb3duVmlzaWJsZVwiPlxyXG4gICAgICA8L3RsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGxpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2UgKm5nSWY9XCJzaG93Tm9TeXN0ZW1zRXJyb3JcIiBbbWVzc2FnZV09XCJub1N5c3RlbXNFcnJvclwiPlxyXG48L2xpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2U+XHJcbiJdfQ==
|