@valtimo/process-link 12.6.1 → 12.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/choose-process-link-type/choose-process-link-type.component.mjs +3 -3
- package/esm2022/lib/components/form-display-configuration/form-display-configuration.component.mjs +1 -1
- package/esm2022/lib/components/form-flow/form-flow.component.mjs +36 -27
- package/esm2022/lib/components/import-plugin-configuration/import-plugin-configuration.component.mjs +137 -0
- package/esm2022/lib/components/plugin-action-configuration/plugin-action-configuration.component.mjs +15 -6
- package/esm2022/lib/components/process-link-modal/process-link-modal.component.mjs +5 -4
- package/esm2022/lib/components/select-ui-component/select-ui-component.component.mjs +128 -0
- package/esm2022/lib/constants/injection-tokens.mjs +3 -2
- package/esm2022/lib/models/form-custom-component.model.mjs +17 -0
- package/esm2022/lib/models/index.mjs +2 -1
- package/esm2022/lib/models/process-link.model.mjs +1 -1
- package/esm2022/lib/process-link.module.mjs +17 -5
- package/esm2022/lib/services/process-link-state.service.mjs +23 -6
- package/esm2022/lib/services/process-link-step.service.mjs +13 -1
- package/esm2022/lib/services/process-link.service.mjs +19 -12
- package/fesm2022/valtimo-process-link.mjs +437 -113
- package/fesm2022/valtimo-process-link.mjs.map +1 -1
- package/lib/components/choose-process-link-type/choose-process-link-type.component.d.ts +2 -1
- package/lib/components/choose-process-link-type/choose-process-link-type.component.d.ts.map +1 -1
- package/lib/components/form-flow/form-flow.component.d.ts +11 -10
- package/lib/components/form-flow/form-flow.component.d.ts.map +1 -1
- package/lib/components/import-plugin-configuration/import-plugin-configuration.component.d.ts +47 -0
- package/lib/components/import-plugin-configuration/import-plugin-configuration.component.d.ts.map +1 -0
- package/lib/components/plugin-action-configuration/plugin-action-configuration.component.d.ts +4 -0
- package/lib/components/plugin-action-configuration/plugin-action-configuration.component.d.ts.map +1 -1
- package/lib/components/select-ui-component/select-ui-component.component.d.ts +28 -0
- package/lib/components/select-ui-component/select-ui-component.component.d.ts.map +1 -0
- package/lib/constants/injection-tokens.d.ts +3 -2
- package/lib/constants/injection-tokens.d.ts.map +1 -1
- package/lib/models/form-custom-component.model.d.ts +16 -0
- package/lib/models/form-custom-component.model.d.ts.map +1 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/process-link.model.d.ts +23 -2
- package/lib/models/process-link.model.d.ts.map +1 -1
- package/lib/process-link.module.d.ts +10 -8
- package/lib/process-link.module.d.ts.map +1 -1
- package/lib/services/process-link-state.service.d.ts +4 -3
- package/lib/services/process-link-state.service.d.ts.map +1 -1
- package/lib/services/process-link-step.service.d.ts +1 -0
- package/lib/services/process-link-step.service.d.ts.map +1 -1
- package/lib/services/process-link.service.d.ts +5 -4
- package/lib/services/process-link.service.d.ts.map +1 -1
- package/package.json +1 -1
package/esm2022/lib/components/import-plugin-configuration/import-plugin-configuration.component.mjs
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
+
import { FormControl, Validators } from '@angular/forms';
|
|
18
|
+
import { BehaviorSubject, combineLatest, map, startWith, Subject } from 'rxjs';
|
|
19
|
+
import { Upload16 } from '@carbon/icons';
|
|
20
|
+
import * as i0 from "@angular/core";
|
|
21
|
+
import * as i1 from "@angular/forms";
|
|
22
|
+
import * as i2 from "../../services";
|
|
23
|
+
import * as i3 from "carbon-components-angular";
|
|
24
|
+
import * as i4 from "carbon-components-angular/dropdown";
|
|
25
|
+
import * as i5 from "@angular/common";
|
|
26
|
+
import * as i6 from "@ngx-translate/core";
|
|
27
|
+
export class ImportPluginConfigurationComponent {
|
|
28
|
+
set pluginActionKey(value) {
|
|
29
|
+
this.importPluginForm.reset();
|
|
30
|
+
this.fetchCompatiblePluginProcessLinks(value);
|
|
31
|
+
}
|
|
32
|
+
get process() {
|
|
33
|
+
return this.importPluginForm.get('process');
|
|
34
|
+
}
|
|
35
|
+
get version() {
|
|
36
|
+
return this.importPluginForm.get('version');
|
|
37
|
+
}
|
|
38
|
+
get activity() {
|
|
39
|
+
return this.importPluginForm.get('activity');
|
|
40
|
+
}
|
|
41
|
+
constructor(formBuilder, processLinkService, iconService, elementRef) {
|
|
42
|
+
this.formBuilder = formBuilder;
|
|
43
|
+
this.processLinkService = processLinkService;
|
|
44
|
+
this.iconService = iconService;
|
|
45
|
+
this.elementRef = elementRef;
|
|
46
|
+
this.configurationEvent = new EventEmitter();
|
|
47
|
+
this.open$ = new Subject();
|
|
48
|
+
this._compatiblePluginProcessLinksSubject$ = new BehaviorSubject([]);
|
|
49
|
+
this.compatiblePluginProcessLinks$ = this._compatiblePluginProcessLinksSubject$.asObservable();
|
|
50
|
+
this.importPluginForm = this.formBuilder.group({
|
|
51
|
+
process: new FormControl('', Validators.required),
|
|
52
|
+
version: new FormControl('', Validators.required),
|
|
53
|
+
activity: new FormControl('', Validators.required),
|
|
54
|
+
});
|
|
55
|
+
this.processListItems$ = combineLatest([
|
|
56
|
+
this._compatiblePluginProcessLinksSubject$,
|
|
57
|
+
this.process.valueChanges.pipe(startWith('')),
|
|
58
|
+
]).pipe(map(([compatibleProcessLinks, processValue]) => compatibleProcessLinks?.map(compatibleProcessLink => ({
|
|
59
|
+
content: compatibleProcessLink.processDefinitionKey,
|
|
60
|
+
selected: processValue === compatibleProcessLink.processDefinitionKey,
|
|
61
|
+
})) || []));
|
|
62
|
+
this.versionListItems$ = combineLatest([
|
|
63
|
+
this._compatiblePluginProcessLinksSubject$,
|
|
64
|
+
this.process.valueChanges.pipe(startWith('')),
|
|
65
|
+
this.version.valueChanges.pipe(startWith('')),
|
|
66
|
+
]).pipe(map(([compatibleProcessLinks, processValue, versionValue]) => !processValue
|
|
67
|
+
? []
|
|
68
|
+
: compatibleProcessLinks
|
|
69
|
+
.find(compatibleLinks => compatibleLinks.processDefinitionKey === processValue)
|
|
70
|
+
?.versions.sort((a, b) => Number(b.version) - Number(a.version))
|
|
71
|
+
.map(versionItem => ({
|
|
72
|
+
content: versionItem.version,
|
|
73
|
+
selected: versionItem.version === versionValue,
|
|
74
|
+
})) || []));
|
|
75
|
+
this.activityListItems$ = combineLatest([
|
|
76
|
+
this._compatiblePluginProcessLinksSubject$,
|
|
77
|
+
this.process.valueChanges.pipe(startWith('')),
|
|
78
|
+
this.version.valueChanges.pipe(startWith('')),
|
|
79
|
+
this.activity.valueChanges.pipe(startWith('')),
|
|
80
|
+
]).pipe(map(([compatibleProcessLinks, processValue, versionValue, activityValue]) => !processValue || !versionValue
|
|
81
|
+
? []
|
|
82
|
+
: compatibleProcessLinks
|
|
83
|
+
.find(compatibleLinks => compatibleLinks.processDefinitionKey === processValue)
|
|
84
|
+
.versions.find(versionItem => versionItem.version === versionValue)
|
|
85
|
+
.processLinks.map(processLinkItem => ({
|
|
86
|
+
content: processLinkItem.activityId,
|
|
87
|
+
selected: processLinkItem.activityId === activityValue,
|
|
88
|
+
}))));
|
|
89
|
+
this.iconService.register(Upload16);
|
|
90
|
+
}
|
|
91
|
+
ngAfterViewInit() {
|
|
92
|
+
const button = this.elementRef.nativeElement.querySelector('button.cds--toggletip-button');
|
|
93
|
+
if (!button)
|
|
94
|
+
return;
|
|
95
|
+
button.classList.remove('cds--toggletip-button');
|
|
96
|
+
}
|
|
97
|
+
onSubmit() {
|
|
98
|
+
this.configurationEvent.emit(this._compatiblePluginProcessLinksSubject$
|
|
99
|
+
.getValue()
|
|
100
|
+
.find(compatiblePluginProcessLinks => compatiblePluginProcessLinks.processDefinitionKey === this.process.value)
|
|
101
|
+
.versions.find(versionItem => versionItem.version === this.version.value)
|
|
102
|
+
.processLinks.find(processLinkItem => processLinkItem.activityId === this.activity.value)
|
|
103
|
+
.actionProperties);
|
|
104
|
+
// needed to reliably trigger toggle tip closure
|
|
105
|
+
this.open$.next(true);
|
|
106
|
+
setTimeout(() => this.open$.next(false));
|
|
107
|
+
this.importPluginForm.reset();
|
|
108
|
+
}
|
|
109
|
+
fetchCompatiblePluginProcessLinks(pluginActionKey) {
|
|
110
|
+
this.processLinkService
|
|
111
|
+
.getCompatiblePluginProcessLinks(pluginActionKey)
|
|
112
|
+
.subscribe(res => this._compatiblePluginProcessLinksSubject$.next(res));
|
|
113
|
+
}
|
|
114
|
+
processSelected(event) {
|
|
115
|
+
this.process.setValue(event?.item?.content);
|
|
116
|
+
this.version.setValue('');
|
|
117
|
+
this.activity.setValue('');
|
|
118
|
+
}
|
|
119
|
+
versionSelected(event) {
|
|
120
|
+
this.version.setValue(event?.item?.content);
|
|
121
|
+
this.activity.setValue('');
|
|
122
|
+
}
|
|
123
|
+
activitySelected(event) {
|
|
124
|
+
this.activity.setValue(event?.item?.content);
|
|
125
|
+
}
|
|
126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImportPluginConfigurationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ProcessLinkService }, { token: i3.IconService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
127
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ImportPluginConfigurationComponent, selector: "valtimo-import-plugin-configuration", inputs: { pluginActionKey: "pluginActionKey" }, outputs: { configurationEvent: "configurationEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-toggletip align=\"right-bottom\" [autoAlign]=\"true\" [isOpen]=\"open$ | async\">\n <button\n class=\"process-link-configuration-import-button\"\n [disabled]=\"((compatiblePluginProcessLinks$ | async) || []).length === 0\"\n cdsToggletipButton\n cdsButton=\"ghost\"\n >\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <div cdsToggletipContent data-carbon-theme=\"g90\" class=\"process-link-configuration-select\">\n <cds-dropdown\n [label]=\"'processLinkConfiguration.process' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectProcess' | translate\"\n (selected)=\"processSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"processListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.version' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectVersion' | translate\"\n [disabled]=\"!process.value\"\n (selected)=\"versionSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"versionListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.activity' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectActivity' | translate\"\n [disabled]=\"!process.value || !version.value\"\n (selected)=\"activitySelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"activityListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <button cdsButton [disabled]=\"!importPluginForm.valid\" (click)=\"onSubmit()\" [cdsLayer]=\"1\">\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n </button>\n </div>\n</cds-toggletip>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.process-link-configuration-import-button{margin-bottom:16px}.process-link-configuration-select{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.process-link-configuration-select .cds--btn{width:100%;max-width:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i3.Toggletip, selector: "cds-toggletip, ibm-toggletip", inputs: ["id", "isOpen"] }, { kind: "directive", type: i3.ToggletipButton, selector: "[cdsToggletipButton], [ibmToggletipButton]", inputs: ["ariaLabel"] }, { kind: "directive", type: i3.ToggletipContent, selector: "[cdsToggletipContent], [ibmToggletipContent]" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
128
|
+
}
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImportPluginConfigurationComponent, decorators: [{
|
|
130
|
+
type: Component,
|
|
131
|
+
args: [{ selector: 'valtimo-import-plugin-configuration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-toggletip align=\"right-bottom\" [autoAlign]=\"true\" [isOpen]=\"open$ | async\">\n <button\n class=\"process-link-configuration-import-button\"\n [disabled]=\"((compatiblePluginProcessLinks$ | async) || []).length === 0\"\n cdsToggletipButton\n cdsButton=\"ghost\"\n >\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <div cdsToggletipContent data-carbon-theme=\"g90\" class=\"process-link-configuration-select\">\n <cds-dropdown\n [label]=\"'processLinkConfiguration.process' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectProcess' | translate\"\n (selected)=\"processSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"processListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.version' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectVersion' | translate\"\n [disabled]=\"!process.value\"\n (selected)=\"versionSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"versionListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.activity' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectActivity' | translate\"\n [disabled]=\"!process.value || !version.value\"\n (selected)=\"activitySelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"activityListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <button cdsButton [disabled]=\"!importPluginForm.valid\" (click)=\"onSubmit()\" [cdsLayer]=\"1\">\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n </button>\n </div>\n</cds-toggletip>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.process-link-configuration-import-button{margin-bottom:16px}.process-link-configuration-select{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.process-link-configuration-select .cds--btn{width:100%;max-width:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
132
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ProcessLinkService }, { type: i3.IconService }, { type: i0.ElementRef }], propDecorators: { pluginActionKey: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], configurationEvent: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}] } });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXBsdWdpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9pbXBvcnQtcGx1Z2luLWNvbmZpZ3VyYXRpb24vaW1wb3J0LXBsdWdpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9pbXBvcnQtcGx1Z2luLWNvbmZpZ3VyYXRpb24vaW1wb3J0LXBsdWdpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFnQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUErQixXQUFXLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJekYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFPdkMsTUFBTSxPQUFPLGtDQUFrQztJQUM3QyxJQUFvQixlQUFlLENBQUMsS0FBYTtRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFxQkQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5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ZSxDQUFDLEtBQXVCO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUF1QjtRQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUF1QjtRQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7K0dBN0lVLGtDQUFrQzttR0FBbEMsa0NBQWtDLGtMQzdCL0MsNHhGQTJFQTs7NEZEOUNhLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDRSxxQ0FBcUM7b0tBSzNCLGVBQWU7c0JBQWxDLEtBQUs7Z0JBS29CLGtCQUFrQjtzQkFBM0MsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29tcGF0aWJsZVBsdWdpblByb2Nlc3NMaW5rcywgUHJvY2Vzc0xpbmt9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1Byb2Nlc3NMaW5rU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtJY29uU2VydmljZSwgTGlzdEl0ZW19IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtVcGxvYWQxNn0gZnJvbSAnQGNhcmJvbi9pY29ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8taW1wb3J0LXBsdWdpbi1jb25maWd1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltcG9ydC1wbHVnaW4tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltcG9ydC1wbHVnaW4tY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbXBvcnRQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgcGx1Z2luQWN0aW9uS2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmltcG9ydFBsdWdpbkZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLmZldGNoQ29tcGF0aWJsZVBsdWdpblByb2Nlc3NMaW5rcyh2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgUHJvY2Vzc0xpbmtbJ2FjdGlvblByb3BlcnRpZXMnXVxuICA+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wZW4kID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wYXRpYmxlUGx1Z2luUHJvY2Vzc0xpbmtzU3ViamVjdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIENvbXBhdGlibGVQbHVnaW5Qcm9jZXNzTGlua3NbXVxuICA+KFtdKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29tcGF0aWJsZVBsdWdpblByb2Nlc3NMaW5rcyQgPVxuICAgIHRoaXMuX2NvbXBhdGlibGVQbHVnaW5Qcm9jZXNzTGlua3NTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW1wb3J0UGx1Z2luRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgIHByb2Nlc3M6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgdmVyc2lvbjogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBhY3Rpdml0eTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgfSk7XG5cbiAgcHVibGljIGdldCBwcm9jZXNzKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5pbXBvcnRQbHVnaW5Gb3JtLmdldCgncHJvY2VzcycpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NMaXN0SXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fY29tcGF0aWJsZVBsdWdpblByb2Nlc3NMaW5rc1N1YmplY3QkLFxuICAgIHRoaXMucHJvY2Vzcy52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpKSxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW2NvbXBhdGlibGVQcm9jZXNzTGlua3MsIHByb2Nlc3NWYWx1ZV0pID0+XG4gICAgICAgIGNvbXBhdGlibGVQcm9jZXNzTGlua3M/Lm1hcChjb21wYXRpYmxlUHJvY2Vzc0xpbmsgPT4gKHtcbiAgICAgICAgICBjb250ZW50OiBjb21wYXRpYmxlUHJvY2Vzc0xpbmsucHJvY2Vzc0RlZmluaXRpb25LZXksXG4gICAgICAgICAgc2VsZWN0ZWQ6IHByb2Nlc3NWYWx1ZSA9PT0gY29tcGF0aWJsZVByb2Nlc3NMaW5rLnByb2Nlc3NEZWZpbml0aW9uS2V5LFxuICAgICAgICB9KSkgfHwgW11cbiAgICApXG4gICk7XG5cbiAgcHVibGljIGdldCB2ZXJzaW9uKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5pbXBvcnRQbHVnaW5Gb3JtLmdldCgndmVyc2lvbicpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb25MaXN0SXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fY29tcGF0aWJsZVBsdWdpblByb2Nlc3NMaW5rc1N1YmplY3QkLFxuICAgIHRoaXMucHJvY2Vzcy52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpKSxcbiAgICB0aGlzLnZlcnNpb24udmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSksXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbY29tcGF0aWJsZVByb2Nlc3NMaW5rcywgcHJvY2Vzc1ZhbHVlLCB2ZXJzaW9uVmFsdWVdKSA9PlxuICAgICAgIXByb2Nlc3NWYWx1ZVxuICAgICAgICA/IFtdXG4gICAgICAgIDogY29tcGF0aWJsZVByb2Nlc3NMaW5rc1xuICAgICAgICAgICAgLmZpbmQoY29tcGF0aWJsZUxpbmtzID0+IGNvbXBhdGlibGVMaW5rcy5wcm9jZXNzRGVmaW5pdGlvbktleSA9PT0gcHJvY2Vzc1ZhbHVlKVxuICAgICAgICAgICAgPy52ZXJzaW9ucy5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYi52ZXJzaW9uKSAtIE51bWJlcihhLnZlcnNpb24pKVxuICAgICAgICAgICAgLm1hcCh2ZXJzaW9uSXRlbSA9PiAoe1xuICAgICAgICAgICAgICBjb250ZW50OiB2ZXJzaW9uSXRlbS52ZXJzaW9uLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogdmVyc2lvbkl0ZW0udmVyc2lvbiA9PT0gdmVyc2lvblZhbHVlLFxuICAgICAgICAgICAgfSkpIHx8IFtdXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZpdHkoKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmltcG9ydFBsdWdpbkZvcm0uZ2V0KCdhY3Rpdml0eScpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2aXR5TGlzdEl0ZW1zJDogT2JzZXJ2YWJsZTxMaXN0SXRlbVtdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX2NvbXBhdGlibGVQbHVnaW5Qcm9jZXNzTGlua3NTdWJqZWN0JCxcbiAgICB0aGlzLnByb2Nlc3MudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSksXG4gICAgdGhpcy52ZXJzaW9uLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCgnJykpLFxuICAgIHRoaXMuYWN0aXZpdHkudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSksXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbY29tcGF0aWJsZVByb2Nlc3NMaW5rcywgcHJvY2Vzc1ZhbHVlLCB2ZXJzaW9uVmFsdWUsIGFjdGl2aXR5VmFsdWVdKSA9PlxuICAgICAgIXByb2Nlc3NWYWx1ZSB8fCAhdmVyc2lvblZhbHVlXG4gICAgICAgID8gW11cbiAgICAgICAgOiBjb21wYXRpYmxlUHJvY2Vzc0xpbmtzXG4gICAgICAgICAgICAuZmluZChjb21wYXRpYmxlTGlua3MgPT4gY29tcGF0aWJsZUxpbmtzLnByb2Nlc3NEZWZpbml0aW9uS2V5ID09PSBwcm9jZXNzVmFsdWUpXG4gICAgICAgICAgICAudmVyc2lvbnMuZmluZCh2ZXJzaW9uSXRlbSA9PiB2ZXJzaW9uSXRlbS52ZXJzaW9uID09PSB2ZXJzaW9uVmFsdWUpXG4gICAgICAgICAgICAucHJvY2Vzc0xpbmtzLm1hcChwcm9jZXNzTGlua0l0ZW0gPT4gKHtcbiAgICAgICAgICAgICAgY29udGVudDogcHJvY2Vzc0xpbmtJdGVtLmFjdGl2aXR5SWQsXG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBwcm9jZXNzTGlua0l0ZW0uYWN0aXZpdHlJZCA9PT0gYWN0aXZpdHlWYWx1ZSxcbiAgICAgICAgICAgIH0pKVxuICAgIClcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NMaW5rU2VydmljZTogUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7XG4gICAgdGhpcy5pY29uU2VydmljZS5yZWdpc3RlcihVcGxvYWQxNik7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGJ1dHRvbiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5jZHMtLXRvZ2dsZXRpcC1idXR0b24nKTtcbiAgICBpZiAoIWJ1dHRvbikgcmV0dXJuO1xuICAgIGJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdjZHMtLXRvZ2dsZXRpcC1idXR0b24nKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25FdmVudC5lbWl0KFxuICAgICAgdGhpcy5fY29tcGF0aWJsZVBsdWdpblByb2Nlc3NMaW5rc1N1YmplY3QkXG4gICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgIC5maW5kKFxuICAgICAgICAgIGNvbXBhdGlibGVQbHVnaW5Qcm9jZXNzTGlua3MgPT5cbiAgICAgICAgICAgIGNvbXBhdGlibGVQbHVnaW5Qcm9jZXNzTGlua3MucHJvY2Vzc0RlZmluaXRpb25LZXkgPT09IHRoaXMucHJvY2Vzcy52YWx1ZVxuICAgICAgICApXG4gICAgICAgIC52ZXJzaW9ucy5maW5kKHZlcnNpb25JdGVtID0+IHZlcnNpb25JdGVtLnZlcnNpb24gPT09IHRoaXMudmVyc2lvbi52YWx1ZSlcbiAgICAgICAgLnByb2Nlc3NMaW5rcy5maW5kKHByb2Nlc3NMaW5rSXRlbSA9PiBwcm9jZXNzTGlua0l0ZW0uYWN0aXZpdHlJZCA9PT0gdGhpcy5hY3Rpdml0eS52YWx1ZSlcbiAgICAgICAgLmFjdGlvblByb3BlcnRpZXNcbiAgICApO1xuXG4gICAgLy8gbmVlZGVkIHRvIHJlbGlhYmx5IHRyaWdnZXIgdG9nZ2xlIHRpcCBjbG9zdXJlXG4gICAgdGhpcy5vcGVuJC5uZXh0KHRydWUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vcGVuJC5uZXh0KGZhbHNlKSk7XG5cbiAgICB0aGlzLmltcG9ydFBsdWdpbkZvcm0ucmVzZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hDb21wYXRpYmxlUGx1Z2luUHJvY2Vzc0xpbmtzKHBsdWdpbkFjdGlvbktleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wcm9jZXNzTGlua1NlcnZpY2VcbiAgICAgIC5nZXRDb21wYXRpYmxlUGx1Z2luUHJvY2Vzc0xpbmtzKHBsdWdpbkFjdGlvbktleSlcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMuX2NvbXBhdGlibGVQbHVnaW5Qcm9jZXNzTGlua3NTdWJqZWN0JC5uZXh0KHJlcykpO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NTZWxlY3RlZChldmVudDoge2l0ZW06IExpc3RJdGVtfSk6IHZvaWQge1xuICAgIHRoaXMucHJvY2Vzcy5zZXRWYWx1ZShldmVudD8uaXRlbT8uY29udGVudCk7XG4gICAgdGhpcy52ZXJzaW9uLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmFjdGl2aXR5LnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyB2ZXJzaW9uU2VsZWN0ZWQoZXZlbnQ6IHtpdGVtOiBMaXN0SXRlbX0pOiB2b2lkIHtcbiAgICB0aGlzLnZlcnNpb24uc2V0VmFsdWUoZXZlbnQ/Lml0ZW0/LmNvbnRlbnQpO1xuICAgIHRoaXMuYWN0aXZpdHkuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgcHVibGljIGFjdGl2aXR5U2VsZWN0ZWQoZXZlbnQ6IHtpdGVtOiBMaXN0SXRlbX0pOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2aXR5LnNldFZhbHVlKGV2ZW50Py5pdGVtPy5jb250ZW50KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Y2RzLXRvZ2dsZXRpcCBhbGlnbj1cInJpZ2h0LWJvdHRvbVwiIFthdXRvQWxpZ25dPVwidHJ1ZVwiIFtpc09wZW5dPVwib3BlbiQgfCBhc3luY1wiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJwcm9jZXNzLWxpbmstY29uZmlndXJhdGlvbi1pbXBvcnQtYnV0dG9uXCJcbiAgICBbZGlzYWJsZWRdPVwiKChjb21wYXRpYmxlUGx1Z2luUHJvY2Vzc0xpbmtzJCB8IGFzeW5jKSB8fCBbXSkubGVuZ3RoID09PSAwXCJcbiAgICBjZHNUb2dnbGV0aXBCdXR0b25cbiAgICBjZHNCdXR0b249XCJnaG9zdFwiXG4gID5cbiAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmltcG9ydENvbmZpZ3VyYXRpb24nIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwidXBsb2FkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gIDwvYnV0dG9uPlxuXG4gIDxkaXYgY2RzVG9nZ2xldGlwQ29udGVudCBkYXRhLWNhcmJvbi10aGVtZT1cImc5MFwiIGNsYXNzPVwicHJvY2Vzcy1saW5rLWNvbmZpZ3VyYXRpb24tc2VsZWN0XCI+XG4gICAgPGNkcy1kcm9wZG93blxuICAgICAgW2xhYmVsXT1cIidwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24ucHJvY2VzcycgfCB0cmFuc2xhdGVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uc2VsZWN0UHJvY2VzcycgfCB0cmFuc2xhdGVcIlxuICAgICAgKHNlbGVjdGVkKT1cInByb2Nlc3NTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICBbY2RzTGF5ZXJdPVwiMVwiXG4gICAgPlxuICAgICAgPGNkcy1kcm9wZG93bi1saXN0XG4gICAgICAgIFtpdGVtc109XCJwcm9jZXNzTGlzdEl0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgb25jbGljaz1cImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgID48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgIDwvY2RzLWRyb3Bkb3duPlxuXG4gICAgPGNkcy1kcm9wZG93blxuICAgICAgW2xhYmVsXT1cIidwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24udmVyc2lvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uc2VsZWN0VmVyc2lvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFwcm9jZXNzLnZhbHVlXCJcbiAgICAgIChzZWxlY3RlZCk9XCJ2ZXJzaW9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgW2Nkc0xheWVyXT1cIjFcIlxuICAgID5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdFxuICAgICAgICBbaXRlbXNdPVwidmVyc2lvbkxpc3RJdGVtcyQgfCBhc3luY1wiXG4gICAgICAgIG9uY2xpY2s9XCJldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICA+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICA8L2Nkcy1kcm9wZG93bj5cblxuICAgIDxjZHMtZHJvcGRvd25cbiAgICAgIFtsYWJlbF09XCIncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmFjdGl2aXR5JyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5zZWxlY3RBY3Rpdml0eScgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFwcm9jZXNzLnZhbHVlIHx8ICF2ZXJzaW9uLnZhbHVlXCJcbiAgICAgIChzZWxlY3RlZCk9XCJhY3Rpdml0eVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgW2FwcGVuZElubGluZV09XCJ0cnVlXCJcbiAgICAgIFtjZHNMYXllcl09XCIxXCJcbiAgICA+XG4gICAgICA8Y2RzLWRyb3Bkb3duLWxpc3RcbiAgICAgICAgW2l0ZW1zXT1cImFjdGl2aXR5TGlzdEl0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgb25jbGljaz1cImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgID48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgIDwvY2RzLWRyb3Bkb3duPlxuXG4gICAgPGJ1dHRvbiBjZHNCdXR0b24gW2Rpc2FibGVkXT1cIiFpbXBvcnRQbHVnaW5Gb3JtLnZhbGlkXCIgKGNsaWNrKT1cIm9uU3VibWl0KClcIiBbY2RzTGF5ZXJdPVwiMVwiPlxuICAgICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5pbXBvcnRDb25maWd1cmF0aW9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvY2RzLXRvZ2dsZXRpcD5cbiJdfQ==
|
package/esm2022/lib/components/plugin-action-configuration/plugin-action-configuration.component.mjs
CHANGED
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
-
import { combineLatest, Subscription } from 'rxjs';
|
|
17
|
+
import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
|
|
18
18
|
import { map, take } from 'rxjs/operators';
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
import * as i1 from "../../services";
|
|
21
21
|
import * as i2 from "@valtimo/plugin";
|
|
22
|
-
import * as i3 from "
|
|
22
|
+
import * as i3 from "../import-plugin-configuration/import-plugin-configuration.component";
|
|
23
|
+
import * as i4 from "@angular/common";
|
|
23
24
|
export class PluginActionConfigurationComponent {
|
|
24
25
|
constructor(stateService, pluginStateService, buttonService, stepService, processLinkService) {
|
|
25
26
|
this.stateService = stateService;
|
|
@@ -33,7 +34,12 @@ export class PluginActionConfigurationComponent {
|
|
|
33
34
|
this.functionKey$ = this.pluginStateService.functionKey$;
|
|
34
35
|
this.save$ = this.pluginStateService.save$;
|
|
35
36
|
this.saving$ = this.stateService.saving$;
|
|
36
|
-
this.
|
|
37
|
+
this._prefillConfigurationSubject$ = new BehaviorSubject(null);
|
|
38
|
+
this._prefillConfiguration$ = this.stateService.selectedProcessLink$.pipe(map(processLink => (processLink ? processLink?.actionProperties : undefined)));
|
|
39
|
+
this.prefillConfiguration$ = combineLatest([
|
|
40
|
+
this._prefillConfigurationSubject$,
|
|
41
|
+
this._prefillConfiguration$,
|
|
42
|
+
]).pipe(map(([prefillConfigurationSubjectValue, prefillConfiguration]) => prefillConfigurationSubjectValue || prefillConfiguration));
|
|
37
43
|
this._subscriptions = new Subscription();
|
|
38
44
|
}
|
|
39
45
|
ngOnInit() {
|
|
@@ -62,6 +68,9 @@ export class PluginActionConfigurationComponent {
|
|
|
62
68
|
}
|
|
63
69
|
});
|
|
64
70
|
}
|
|
71
|
+
onImportConfiguration(configuration) {
|
|
72
|
+
this._prefillConfigurationSubject$.next(configuration);
|
|
73
|
+
}
|
|
65
74
|
updateProcessLink(configuration) {
|
|
66
75
|
this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
|
|
67
76
|
const updateProcessLinkRequest = {
|
|
@@ -113,11 +122,11 @@ export class PluginActionConfigurationComponent {
|
|
|
113
122
|
}));
|
|
114
123
|
}
|
|
115
124
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginActionConfigurationComponent, deps: [{ token: i1.ProcessLinkStateService }, { token: i1.PluginStateService }, { token: i1.ProcessLinkButtonService }, { token: i1.ProcessLinkStepService }, { token: i1.ProcessLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: { selectedPluginConfiguration$: "selectedPluginConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: i2.PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: ["type", "pluginDefinitionKey", "functionKey", "save$", "disabled$", "selectedPluginConfiguration$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "
|
|
125
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: { selectedPluginConfiguration$: "selectedPluginConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-import-plugin-configuration\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: i2.PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: ["type", "pluginDefinitionKey", "functionKey", "save$", "disabled$", "selectedPluginConfiguration$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: i3.ImportPluginConfigurationComponent, selector: "valtimo-import-plugin-configuration", inputs: ["pluginActionKey"], outputs: ["configurationEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
117
126
|
}
|
|
118
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginActionConfigurationComponent, decorators: [{
|
|
119
128
|
type: Component,
|
|
120
|
-
args: [{ selector: 'valtimo-plugin-action-configuration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
129
|
+
args: [{ selector: 'valtimo-plugin-action-configuration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-import-plugin-configuration\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
121
130
|
}], ctorParameters: () => [{ type: i1.ProcessLinkStateService }, { type: i1.PluginStateService }, { type: i1.ProcessLinkButtonService }, { type: i1.ProcessLinkStepService }, { type: i1.ProcessLinkService }], propDecorators: { selectedPluginConfiguration$: [{
|
|
122
131
|
type: Input
|
|
123
132
|
}], valid: [{
|
|
@@ -125,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
125
134
|
}], configuration: [{
|
|
126
135
|
type: Output
|
|
127
136
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wbHVnaW4tYWN0aW9uLWNvbmZpZ3VyYXRpb24vcGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wbHVnaW4tYWN0aW9uLWNvbmZpZ3VyYXRpb24vcGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFReEYsT0FBTyxFQUFDLGFBQWEsRUFBYyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFTekMsTUFBTSxPQUFPLGtDQUFrQztJQWdCN0MsWUFDbUIsWUFBcUMsRUFDckMsa0JBQXNDLEVBQ3RDLGFBQXVDLEVBQ3ZDLFdBQW1DLEVBQ25DLGtCQUFzQztRQUp0QyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFuQi9DLFVBQUssR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzRCxrQkFBYSxHQUNyQixJQUFJ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QkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0F2SFUsa0NBQWtDO21HQUFsQyxrQ0FBa0Msa05DbEMvQyxzbENBMkJBOzs0RkRPYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UscUNBQXFDOzBPQUt0Qyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBQbHVnaW5TdGF0ZVNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICBQcm9jZXNzTGlua1N0YXRlU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGVwU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbiwgUGx1Z2luQ29uZmlndXJhdGlvbkRhdGF9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge1BsdWdpblByb2Nlc3NMaW5rQ3JlYXRlRHRvLCBQbHVnaW5Qcm9jZXNzTGlua1VwZGF0ZUR0b30gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1wbHVnaW4tYWN0aW9uLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBsdWdpbkFjdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQ6IE9ic2VydmFibGU8UGx1Z2luQ29uZmlndXJhdGlvbj47XG4gIEBPdXRwdXQoKSB2YWxpZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxQbHVnaW5Db25maWd1cmF0aW9uRGF0YT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcGx1Z2luRGVmaW5pdGlvbktleSQgPSB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5wbHVnaW5EZWZpbml0aW9uS2V5JDtcbiAgcHVibGljIHJlYWRvbmx5IGZ1bmN0aW9uS2V5JCA9IHRoaXMucGx1Z2luU3RhdGVTZXJ2aWNlLmZ1bmN0aW9uS2V5JDtcbiAgcHVibGljIHJlYWRvbmx5IHNhdmUkID0gdGhpcy5wbHVnaW5TdGF0ZVNlcnZpY2Uuc2F2ZSQ7XG4gIHB1YmxpYyByZWFkb25seSBzYXZpbmckID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2F2aW5nJDtcbiAgcHVibGljIHJlYWRvbmx5IHByZWZpbGxDb25maWd1cmF0aW9uJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUHJvY2Vzc0xpbmskLnBpcGUoXG4gICAgbWFwKHByb2Nlc3NMaW5rID0+IChwcm9jZXNzTGluayA/IHByb2Nlc3NMaW5rPy5hY3Rpb25Qcm9wZXJ0aWVzIDogdW5kZWZpbmVkKSlcbiAgKTtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBQcm9jZXNzTGlua1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblN0YXRlU2VydmljZTogUGx1Z2luU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uU2VydmljZTogUHJvY2Vzc0xpbmtCdXR0b25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RlcFNlcnZpY2U6IFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlua1NlcnZpY2U6IFByb2Nlc3NMaW5rU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uVmFsaWQodmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodmFsaWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5lbmFibGVTYXZlQnV0dG9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5kaXNhYmxlU2F2ZUJ1dHRvbigpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uOiBQbHVnaW5Db25maWd1cmF0aW9uRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXJ0U2F2aW5nKCk7XG5cbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzZWxlY3RlZFByb2Nlc3NMaW5rID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZFByb2Nlc3NMaW5rKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvY2Vzc0xpbmsoY29uZmlndXJhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNhdmVOZXdQcm9jZXNzTGluayhjb25maWd1cmF0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUHJvY2Vzc0xpbmsoY29uZmlndXJhdGlvbjogUGx1Z2luQ29uZmlndXJhdGlvbkRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzZWxlY3RlZFByb2Nlc3NMaW5rID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdDogUGx1Z2luUHJvY2Vzc0xpbmtVcGRhdGVEdG8gPSB7XG4gICAgICAgIGlkOiBzZWxlY3RlZFByb2Nlc3NMaW5rLmlkLFxuICAgICAgICBwbHVnaW5Db25maWd1cmF0aW9uSWQ6IHNlbGVjdGVkUHJvY2Vzc0xpbmsucGx1Z2luQ29uZmlndXJhdGlvbklkLFxuICAgICAgICBwbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5OiBzZWxlY3RlZFByb2Nlc3NMaW5rLnBsdWdpbkFjdGlvbkRlZmluaXRpb25LZXksXG4gICAgICAgIGFjdGlvblByb3BlcnRpZXM6IGNvbmZpZ3VyYXRpb24sXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS51cGRhdGVQcm9jZXNzTGluayh1cGRhdGVQcm9jZXNzTGlua1JlcXVlc3QpLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0b3BTYXZpbmcoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZU5ld1Byb2Nlc3NMaW5rKGNvbmZpZ3VyYXRpb246IFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tb2RhbFBhcmFtcyQsXG4gICAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kLFxuICAgICAgdGhpcy5wbHVnaW5TdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQbHVnaW5GdW5jdGlvbiQsXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rVHlwZUlkJCxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChbbW9kYWxEYXRhLCBzZWxlY3RlZENvbmZpZ3VyYXRpb24sIHNlbGVjdGVkRnVuY3Rpb24sIHNlbGVjdGVkUHJvY2Vzc0xpbmtUeXBlSWRdKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvY2Vzc0xpbmtSZXF1ZXN0OiBQbHVnaW5Qcm9jZXNzTGlua0NyZWF0ZUR0byA9IHtcbiAgICAgICAgICAgIGFjdGlvblByb3BlcnRpZXM6IGNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICBhY3Rpdml0eUlkOiBtb2RhbERhdGE/LmVsZW1lbnQ/LmlkLFxuICAgICAgICAgICAgYWN0aXZpdHlUeXBlOiBtb2RhbERhdGE/LmVsZW1lbnQ/LmFjdGl2aXR5TGlzdGVuZXJUeXBlLFxuICAgICAgICAgICAgcGx1Z2luQ29uZmlndXJhdGlvbklkOiBzZWxlY3RlZENvbmZpZ3VyYXRpb24uaWQsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbklkOiBtb2RhbERhdGE/LnByb2Nlc3NEZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5OiBzZWxlY3RlZEZ1bmN0aW9uLmtleSxcbiAgICAgICAgICAgIHByb2Nlc3NMaW5rVHlwZTogc2VsZWN0ZWRQcm9jZXNzTGlua1R5cGVJZCxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgdGhpcy5wcm9jZXNzTGlua1NlcnZpY2Uuc2F2ZVByb2Nlc3NMaW5rKHByb2Nlc3NMaW5rUmVxdWVzdCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkJhY2tCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2UuYmFja0J1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0ZXBTZXJ2aWNlLnNldENob29zZVBsdWdpbkFjdGlvblN0ZXBzKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlQnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNhdmVCdXR0b25DbGljayQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5wbHVnaW5TdGF0ZVNlcnZpY2Uuc2F2ZSgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2YWx0aW1vLXBsdWdpbi1jb25maWd1cmF0aW9uLWNvbnRhaW5lclxuICBbcGx1Z2luRGVmaW5pdGlvbktleV09XCJwbHVnaW5EZWZpbml0aW9uS2V5JCB8IGFzeW5jXCJcbiAgW2Z1bmN0aW9uS2V5XT1cImZ1bmN0aW9uS2V5JCB8IGFzeW5jXCJcbiAgW3NhdmUkXT1cInNhdmUkXCJcbiAgW2Rpc2FibGVkJF09XCJzYXZpbmckXCJcbiAgW3NlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiRdPVwic2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJFwiXG4gIFtwcmVmaWxsQ29uZmlndXJhdGlvbiRdPVwicHJlZmlsbENvbmZpZ3VyYXRpb24kXCJcbiAgKHZhbGlkKT1cIm9uVmFsaWQoJGV2ZW50KVwiXG4gIChjb25maWd1cmF0aW9uKT1cIm9uQ29uZmlndXJhdGlvbigkZXZlbnQpXCJcbiAgdHlwZT1cImZ1bmN0aW9uXCJcbj48L3ZhbHRpbW8tcGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyPlxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wbHVnaW4tYWN0aW9uLWNvbmZpZ3VyYXRpb24vcGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wbHVnaW4tYWN0aW9uLWNvbmZpZ3VyYXRpb24vcGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFReEYsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVN6QyxNQUFNLE9BQU8sa0NBQWtDO0lBNkI3QyxZQUNtQixZQUFxQyxFQUNyQyxrQkFBc0MsRUFDdEMsYUFBdUMsRUFDdkMsV0FBbUMsRUFDbkMsa0JBQXNDO1FBSnRDLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWhDL0MsVUFBSyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzNELGtCQUFh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QUNILElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBeElVLGtDQUFrQzttR0FBbEMsa0NBQWtDLGtOQ2xDL0MsK3dDQWdDQTs7NEZERWEsa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLHFDQUFxQzswT0FLdEMsNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUGx1Z2luU3RhdGVTZXJ2aWNlLFxuICBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbiwgUGx1Z2luQ29uZmlndXJhdGlvbkRhdGF9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge1BsdWdpblByb2Nlc3NMaW5rQ3JlYXRlRHRvLCBQbHVnaW5Qcm9jZXNzTGlua1VwZGF0ZUR0bywgUHJvY2Vzc0xpbmt9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tcGx1Z2luLWFjdGlvbi1jb25maWd1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQbHVnaW5BY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPFBsdWdpbkNvbmZpZ3VyYXRpb24+O1xuICBAT3V0cHV0KCkgdmFsaWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxQbHVnaW5Db25maWd1cmF0aW9uRGF0YT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8UGx1Z2luQ29uZmlndXJhdGlvbkRhdGE+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBsdWdpbkRlZmluaXRpb25LZXkkID0gdGhpcy5wbHVnaW5TdGF0ZVNlcnZpY2UucGx1Z2luRGVmaW5pdGlvbktleSQ7XG4gIHB1YmxpYyByZWFkb25seSBmdW5jdGlvbktleSQgPSB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5mdW5jdGlvbktleSQ7XG4gIHB1YmxpYyByZWFkb25seSBzYXZlJCA9IHRoaXMucGx1Z2luU3RhdGVTZXJ2aWNlLnNhdmUkO1xuICBwdWJsaWMgcmVhZG9ubHkgc2F2aW5nJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNhdmluZyQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcHJlZmlsbENvbmZpZ3VyYXRpb25TdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgUHJvY2Vzc0xpbmtbJ2FjdGlvblByb3BlcnRpZXMnXSB8IG51bGxcbiAgPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJlZmlsbENvbmZpZ3VyYXRpb24kID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZShcbiAgICBtYXAocHJvY2Vzc0xpbmsgPT4gKHByb2Nlc3NMaW5rID8gcHJvY2Vzc0xpbms/LmFjdGlvblByb3BlcnRpZXMgOiB1bmRlZmluZWQpKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJlZmlsbENvbmZpZ3VyYXRpb24kID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fcHJlZmlsbENvbmZpZ3VyYXRpb25TdWJqZWN0JCxcbiAgICB0aGlzLl9wcmVmaWxsQ29uZmlndXJhdGlvbiQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFtwcmVmaWxsQ29uZmlndXJhdGlvblN1YmplY3RWYWx1ZSwgcHJlZmlsbENvbmZpZ3VyYXRpb25dKSA9PlxuICAgICAgICBwcmVmaWxsQ29uZmlndXJhdGlvblN1YmplY3RWYWx1ZSB8fCBwcmVmaWxsQ29uZmlndXJhdGlvblxuICAgIClcbiAgKTtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBQcm9jZXNzTGlua1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblN0YXRlU2VydmljZTogUGx1Z2luU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uU2VydmljZTogUHJvY2Vzc0xpbmtCdXR0b25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RlcFNlcnZpY2U6IFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlua1NlcnZpY2U6IFByb2Nlc3NMaW5rU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uVmFsaWQodmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodmFsaWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5lbmFibGVTYXZlQnV0dG9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5kaXNhYmxlU2F2ZUJ1dHRvbigpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uOiBQbHVnaW5Db25maWd1cmF0aW9uRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXJ0U2F2aW5nKCk7XG5cbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzZWxlY3RlZFByb2Nlc3NMaW5rID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZFByb2Nlc3NMaW5rKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvY2Vzc0xpbmsoY29uZmlndXJhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNhdmVOZXdQcm9jZXNzTGluayhjb25maWd1cmF0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkltcG9ydENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbjogUHJvY2Vzc0xpbmtbJ2FjdGlvblByb3BlcnRpZXMnXSk6IHZvaWQge1xuICAgIHRoaXMuX3ByZWZpbGxDb25maWd1cmF0aW9uU3ViamVjdCQubmV4dChjb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUHJvY2Vzc0xpbmsoY29uZmlndXJhdGlvbjogUGx1Z2luQ29uZmlndXJhdGlvbkRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzZWxlY3RlZFByb2Nlc3NMaW5rID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdDogUGx1Z2luUHJvY2Vzc0xpbmtVcGRhdGVEdG8gPSB7XG4gICAgICAgIGlkOiBzZWxlY3RlZFByb2Nlc3NMaW5rLmlkLFxuICAgICAgICBwbHVnaW5Db25maWd1cmF0aW9uSWQ6IHNlbGVjdGVkUHJvY2Vzc0xpbmsucGx1Z2luQ29uZmlndXJhdGlvbklkLFxuICAgICAgICBwbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5OiBzZWxlY3RlZFByb2Nlc3NMaW5rLnBsdWdpbkFjdGlvbkRlZmluaXRpb25LZXksXG4gICAgICAgIGFjdGlvblByb3BlcnRpZXM6IGNvbmZpZ3VyYXRpb24sXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS51cGRhdGVQcm9jZXNzTGluayh1cGRhdGVQcm9jZXNzTGlua1JlcXVlc3QpLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0b3BTYXZpbmcoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZU5ld1Byb2Nlc3NMaW5rKGNvbmZpZ3VyYXRpb246IFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5tb2RhbFBhcmFtcyQsXG4gICAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kLFxuICAgICAgdGhpcy5wbHVnaW5TdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQbHVnaW5GdW5jdGlvbiQsXG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rVHlwZUlkJCxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChbbW9kYWxEYXRhLCBzZWxlY3RlZENvbmZpZ3VyYXRpb24sIHNlbGVjdGVkRnVuY3Rpb24sIHNlbGVjdGVkUHJvY2Vzc0xpbmtUeXBlSWRdKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvY2Vzc0xpbmtSZXF1ZXN0OiBQbHVnaW5Qcm9jZXNzTGlua0NyZWF0ZUR0byA9IHtcbiAgICAgICAgICAgIGFjdGlvblByb3BlcnRpZXM6IGNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICBhY3Rpdml0eUlkOiBtb2RhbERhdGE/LmVsZW1lbnQ/LmlkLFxuICAgICAgICAgICAgYWN0aXZpdHlUeXBlOiBtb2RhbERhdGE/LmVsZW1lbnQ/LmFjdGl2aXR5TGlzdGVuZXJUeXBlLFxuICAgICAgICAgICAgcGx1Z2luQ29uZmlndXJhdGlvbklkOiBzZWxlY3RlZENvbmZpZ3VyYXRpb24uaWQsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbklkOiBtb2RhbERhdGE/LnByb2Nlc3NEZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5OiBzZWxlY3RlZEZ1bmN0aW9uLmtleSxcbiAgICAgICAgICAgIHByb2Nlc3NMaW5rVHlwZTogc2VsZWN0ZWRQcm9jZXNzTGlua1R5cGVJZCxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgdGhpcy5wcm9jZXNzTGlua1NlcnZpY2Uuc2F2ZVByb2Nlc3NMaW5rKHByb2Nlc3NMaW5rUmVxdWVzdCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkJhY2tCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2UuYmFja0J1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0ZXBTZXJ2aWNlLnNldENob29zZVBsdWdpbkFjdGlvblN0ZXBzKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlQnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLnNhdmVCdXR0b25DbGljayQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5wbHVnaW5TdGF0ZVNlcnZpY2Uuc2F2ZSgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2YWx0aW1vLWltcG9ydC1wbHVnaW4tY29uZmlndXJhdGlvblxuICBbcGx1Z2luQWN0aW9uS2V5XT1cImZ1bmN0aW9uS2V5JCB8IGFzeW5jXCJcbiAgKGNvbmZpZ3VyYXRpb25FdmVudCk9XCJvbkltcG9ydENvbmZpZ3VyYXRpb24oJGV2ZW50KVwiXG4+PC92YWx0aW1vLWltcG9ydC1wbHVnaW4tY29uZmlndXJhdGlvbj5cblxuPHZhbHRpbW8tcGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyXG4gIFtwbHVnaW5EZWZpbml0aW9uS2V5XT1cInBsdWdpbkRlZmluaXRpb25LZXkkIHwgYXN5bmNcIlxuICBbZnVuY3Rpb25LZXldPVwiZnVuY3Rpb25LZXkkIHwgYXN5bmNcIlxuICBbc2F2ZSRdPVwic2F2ZSRcIlxuICBbZGlzYWJsZWQkXT1cInNhdmluZyRcIlxuICBbc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJF09XCJzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kXCJcbiAgW3ByZWZpbGxDb25maWd1cmF0aW9uJF09XCJwcmVmaWxsQ29uZmlndXJhdGlvbiRcIlxuICAodmFsaWQpPVwib25WYWxpZCgkZXZlbnQpXCJcbiAgKGNvbmZpZ3VyYXRpb24pPVwib25Db25maWd1cmF0aW9uKCRldmVudClcIlxuICB0eXBlPVwiZnVuY3Rpb25cIlxuPjwvdmFsdGltby1wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXI+XG4iXX0=
|
|
@@ -28,7 +28,8 @@ import * as i9 from "../choose-process-link-type/choose-process-link-type.compon
|
|
|
28
28
|
import * as i10 from "../select-form/select-form.component";
|
|
29
29
|
import * as i11 from "../select-form-flow/select-form-flow.component";
|
|
30
30
|
import * as i12 from "../select-url/select-url.component";
|
|
31
|
-
import * as i13 from "
|
|
31
|
+
import * as i13 from "../select-ui-component/select-ui-component.component";
|
|
32
|
+
import * as i14 from "@ngx-translate/core";
|
|
32
33
|
export class ProcessLinkModalComponent {
|
|
33
34
|
constructor(stateService, stepService, buttonService, pluginStateService, processLinkService, processLinkStateService, configService) {
|
|
34
35
|
this.stateService = stateService;
|
|
@@ -81,10 +82,10 @@ export class ProcessLinkModalComponent {
|
|
|
81
82
|
this.processLinkStateService.setViewModelEnabled(value);
|
|
82
83
|
}
|
|
83
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, deps: [{ token: i1.ProcessLinkStateService }, { token: i1.ProcessLinkStepService }, { token: i1.ProcessLinkButtonService }, { token: i1.PluginStateService }, { token: i1.ProcessLinkService }, { token: i1.ProcessLinkStateService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i4.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i4.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "component", type: i6.SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration" }, { kind: "component", type: i7.SelectPluginActionComponent, selector: "valtimo-select-plugin-action" }, { kind: "component", type: i8.PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: ["selectedPluginConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: i9.ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type" }, { kind: "component", type: i10.SelectFormComponent, selector: "valtimo-select-form" }, { kind: "component", type: i11.SelectFormFlowComponent, selector: "valtimo-select-form-flow" }, { kind: "component", type: i12.SelectUrlComponent, selector: "valtimo-select-url" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i4.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i4.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i6.SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration" }, { kind: "component", type: i7.SelectPluginActionComponent, selector: "valtimo-select-plugin-action" }, { kind: "component", type: i8.PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: ["selectedPluginConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: i9.ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type" }, { kind: "component", type: i10.SelectFormComponent, selector: "valtimo-select-form" }, { kind: "component", type: i11.SelectFormFlowComponent, selector: "valtimo-select-form-flow" }, { kind: "component", type: i12.SelectUrlComponent, selector: "valtimo-select-url" }, { kind: "component", type: i13.SelectUIComponentComponent, selector: "valtimo-select-ui-component" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
|
|
85
86
|
}
|
|
86
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, decorators: [{
|
|
87
88
|
type: Component,
|
|
88
|
-
args: [{ selector: 'valtimo-process-link-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
89
|
+
args: [{ selector: 'valtimo-process-link-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
89
90
|
}], ctorParameters: () => [{ type: i1.ProcessLinkStateService }, { type: i1.ProcessLinkStepService }, { type: i1.ProcessLinkButtonService }, { type: i1.PluginStateService }, { type: i1.ProcessLinkService }, { type: i1.ProcessLinkStateService }, { type: i2.ConfigService }] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVF4QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVFwQyxNQUFNLE9BQU8seUJBQXlCO0lBcUJwQyxZQUNtQixZQUFxQyxFQUNyQyxXQUFtQyxFQUNuQyxhQUF1QyxFQUN2QyxrQkFBc0MsRUFDdEMsa0JBQXNDLEVBQ3RDLHVCQUFnRCxFQUNoRCxhQUE0QjtRQU41QixpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTNCL0IsZUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1FBQ2xELFdBQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZELG1CQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7UUFDakQsb0JBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztRQUNyRCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7UUFDckQsb0JBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztRQUNyRCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pELDJCQUFzQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUM7UUFDbEUsWUFBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQ3BDLCtCQUEwQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUM7UUFDMUUsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztRQUN4RCxpQ0FBNEIsR0FDMUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO1FBRXZDLHdCQUFtQixHQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUM7SUFVNUQsQ0FBQztJQUVKLFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQ25GLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQ3pFLEdBQUcsRUFBRTtnQkFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pDLENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQyxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQWM7UUFDdkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7K0dBaEVVLHlCQUF5QjttR0FBekIseUJBQXlCLGtFQ2hDdEMscWpNQTZKQTs7NEZEN0hhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBQbHVnaW5TdGF0ZVNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICBQcm9jZXNzTGlua1N0YXRlU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGVwU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tcHJvY2Vzcy1saW5rLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3MtbGluay1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3MtbGluay1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzTGlua01vZGFsQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dNb2RhbCQgPSB0aGlzLnN0YXRlU2VydmljZS5zaG93TW9kYWwkO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvY2Vzc1N0ZXBOYW1lJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLmVsZW1lbnROYW1lJDtcbiAgcHVibGljIHJlYWRvbmx5IHN0ZXBzJCA9IHRoaXMuc3RlcFNlcnZpY2Uuc3RlcHMkO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudFN0ZXBJbmRleCQgPSB0aGlzLnN0ZXBTZXJ2aWNlLmN1cnJlbnRTdGVwSW5kZXgkO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudFN0ZXBJZCQgPSB0aGlzLnN0ZXBTZXJ2aWNlLmN1cnJlbnRTdGVwSWQkO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd1NhdmVCdXR0b24kID0gdGhpcy5idXR0b25TZXJ2aWNlLnNob3dTYXZlQnV0dG9uJDtcbiAgcHVibGljIHJlYWRvbmx5IGVuYWJsZVNhdmVCdXR0b24kID0gdGhpcy5idXR0b25TZXJ2aWNlLmVuYWJsZVNhdmVCdXR0b24kO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd0JhY2tCdXR0b24kID0gdGhpcy5idXR0b25TZXJ2aWNlLnNob3dCYWNrQnV0dG9uJDtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dOZXh0QnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5zaG93TmV4dEJ1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBlbmFibGVOZXh0QnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5lbmFibGVOZXh0QnV0dG9uJDtcbiAgcHVibGljIHJlYWRvbmx5IGhpZGVQcm9ncmVzc0luZGljYXRvciQgPSB0aGlzLnN0YXRlU2VydmljZS5oaWRlUHJvZ3Jlc3NJbmRpY2F0b3IkO1xuICBwdWJsaWMgcmVhZG9ubHkgc2F2aW5nJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNhdmluZyQ7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlT2ZTZWxlY3RlZFByb2Nlc3NMaW5rJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnR5cGVPZlNlbGVjdGVkUHJvY2Vzc0xpbmskO1xuICBwdWJsaWMgcmVhZG9ubHkgdmlld01vZGVsRW5hYmxlZCQgPSB0aGlzLnN0YXRlU2VydmljZS52aWV3TW9kZWxFbmFibGVkJDtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQgPVxuICAgIHRoaXMucGx1Z2luU3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNob3dWaWV3TW9kZWxUb2dnbGUgPVxuICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcuZmVhdHVyZVRvZ2dsZXMuZW5hYmxlRm9ybVZpZXdNb2RlbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGVwU2VydmljZTogUHJvY2Vzc0xpbmtTdGVwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1dHRvblNlcnZpY2U6IFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblN0YXRlU2VydmljZTogUGx1Z2luU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0xpbmtTZXJ2aWNlOiBQcm9jZXNzTGlua1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlua1N0YXRlU2VydmljZTogUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge31cblxuICBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIGJhY2tCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvblNlcnZpY2UuY2xpY2tCYWNrQnV0dG9uKCk7XG4gIH1cblxuICBzYXZlQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25TZXJ2aWNlLmNsaWNrU2F2ZUJ1dHRvbigpO1xuICB9XG5cbiAgbmV4dEJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uU2VydmljZS5jbGlja05leHRCdXR0b24oKTtcbiAgfVxuXG4gIHVubGlua0J1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXJ0U2F2aW5nKCk7XG5cbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzZWxlY3RlZFByb2Nlc3NMaW5rID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc0xpbmtTZXJ2aWNlLmRlbGV0ZVByb2Nlc3NMaW5rKHNlbGVjdGVkUHJvY2Vzc0xpbmsuaWQpLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0b3BTYXZpbmcoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDaGVja2VkQ2hhbmdlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5wcm9jZXNzTGlua1N0YXRlU2VydmljZS5zZXRWaWV3TW9kZWxFbmFibGVkKHZhbHVlKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2XG4gIGNsYXNzPVwicHJvY2Vzcy1saW5rLW1vZGFsLWNvbnRhaW5lclwiXG4gICpuZ0lmPVwie1xuICAgIHNob3dNb2RhbDogc2hvd01vZGFsJCB8IGFzeW5jLFxuICAgIHByb2Nlc3NTdGVwTmFtZTogcHJvY2Vzc1N0ZXBOYW1lJCB8IGFzeW5jLFxuICAgIHN0ZXBzOiBzdGVwcyQgfCBhc3luYyxcbiAgICBjdXJyZW50U3RlcEluZGV4OiBjdXJyZW50U3RlcEluZGV4JCB8IGFzeW5jLFxuICAgIGN1cnJlbnRTdGVwSWQ6IGN1cnJlbnRTdGVwSWQkIHwgYXN5bmMsXG4gICAgc2hvd1NhdmVCdXR0b246IHNob3dTYXZlQnV0dG9uJCB8IGFzeW5jLFxuICAgIGVuYWJsZVNhdmVCdXR0b246IGVuYWJsZVNhdmVCdXR0b24kIHwgYXN5bmMsXG4gICAgc2hvd0JhY2tCdXR0b246IHNob3dCYWNrQnV0dG9uJCB8IGFzeW5jLFxuICAgIHNob3dOZXh0QnV0dG9uOiBzaG93TmV4dEJ1dHRvbiQgfCBhc3luYyxcbiAgICBlbmFibGVOZXh0QnV0dG9uOiBlbmFibGVOZXh0QnV0dG9uJCB8IGFzeW5jLFxuICAgIHNhdmluZzogc2F2aW5nJCB8IGFzeW5jLFxuICAgIGhpZGVQcm9ncmVzc0luZGljYXRvcjogaGlkZVByb2dyZXNzSW5kaWNhdG9yJCB8IGFzeW5jLFxuICAgIHR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rOiB0eXBlT2ZTZWxlY3RlZFByb2Nlc3NMaW5rJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gIDxjZHMtbW9kYWwgdmFsdGltb0Nkc01vZGFsIFtvcGVuXT1cIm9icy5zaG93TW9kYWxcIiBzaXplPVwibGdcIj5cbiAgICA8Y2RzLW1vZGFsLWhlYWRlciAoY2xvc2VTZWxlY3QpPVwiY2xvc2VNb2RhbCgpXCI+XG4gICAgICA8aDIgY2RzTW9kYWxIZWFkZXJMYWJlbD57eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmNvbmZpZ3VyZVN0ZXAnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5tb2RhbFRpdGxlJ1xuICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHtwcm9jZXNzU3RlcE5hbWU6IG9icy5wcm9jZXNzU3RlcE5hbWUgfHwgJy0nfVxuICAgICAgICB9fVxuICAgICAgPC9oMz5cbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLWxpbmstcHJvZ3Jlc3NcIiAqbmdJZj1cIiFvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmtcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByb2dyZXNzSW5kaWNhdG9yOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG4gICAgPHNlY3Rpb24gY2RzTW9kYWxDb250ZW50PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0ZXBDb250ZW50OyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlcjsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvY2RzLW1vZGFsPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NJbmRpY2F0b3IgbGV0LW9icz1cIm9ic1wiPlxuICA8Y2RzLXByb2dyZXNzLWluZGljYXRvclxuICAgICpuZ0lmPVwib2JzLnN0ZXBzICYmICFvYnMuaGlkZVByb2dyZXNzSW5kaWNhdG9yXCJcbiAgICBbc3RlcHNdPVwib2JzLnN0ZXBzXCJcbiAgICBbY3VycmVudF09XCJvYnMuY3VycmVudFN0ZXBJbmRleFwiXG4gICAgc3BhY2luZz1cImVxdWFsXCJcbiAgPjwvY2RzLXByb2dyZXNzLWluZGljYXRvcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc3RlcENvbnRlbnQgbGV0LW9icz1cIm9ic1wiPlxuICA8ZGl2IGNsYXNzPVwiY2RzLWxvYWRpbmctY29udGFpbmVyXCIgKm5nSWY9XCJvYnMuc2F2aW5nXCI+XG4gICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuICA8ZGl2IFtuZ0NsYXNzXT1cIntoaWRkZW46IG9icy5zYXZpbmd9XCI+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ2Nob29zZVByb2Nlc3NMaW5rVHlwZSdcIj5cbiAgICAgICAgPHZhbHRpbW8tY2hvb3NlLXByb2Nlc3MtbGluay10eXBlPjwvdmFsdGltby1jaG9vc2UtcHJvY2Vzcy1saW5rLXR5cGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ3NlbGVjdEZvcm0nIHx8IG9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluayA9PT0gJ2Zvcm0nXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8tc2VsZWN0LWZvcm0+PC92YWx0aW1vLXNlbGVjdC1mb3JtPlxuICAgICAgICA8YnIgLz5cbiAgICAgICAgPGNkcy10b2dnbGVcbiAgICAgICAgICAqbmdJZj1cInNob3dWaWV3TW9kZWxUb2dnbGVcIlxuICAgICAgICAgIFtsYWJlbF09XCIncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLnRvZ2dsZVZpZXdNb2RlbC50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtvblRleHRdPVwiJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi50b2dnbGVWaWV3TW9kZWwuY2hlY2tib3hEZXNjcmlwdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtvZmZUZXh0XT1cIidwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24udG9nZ2xlVmlld01vZGVsLmNoZWNrYm94RGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJ2aWV3TW9kZWxFbmFibGVkJCB8IGFzeW5jXCJcbiAgICAgICAgICAoY2hlY2tlZENoYW5nZSk9XCJ0b2dnbGVDaGVja2VkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9jZHMtdG9nZ2xlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgb2JzLmN1cnJlbnRTdGVwSWQgPT09ICdzZWxlY3RGb3JtRmxvdycgfHwgb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rID09PSAnZm9ybS1mbG93J1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtZm9ybS1mbG93PjwvdmFsdGltby1zZWxlY3QtZm9ybS1mbG93PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmN1cnJlbnRTdGVwSWQgPT09ICdjaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uJ1wiPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24+PC92YWx0aW1vLXNlbGVjdC1wbHVnaW4tY29uZmlndXJhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5jdXJyZW50U3RlcElkID09PSAnY2hvb3NlUGx1Z2luQWN0aW9uJ1wiPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtcGx1Z2luLWFjdGlvbj48L3ZhbHRpbW8tc2VsZWN0LXBsdWdpbi1hY3Rpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ2NvbmZpZ3VyZVBsdWdpbkFjdGlvbicgfHxcbiAgICAgICAgICBvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmsgPT09ICdwbHVnaW4nXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDx2YWx0aW1vLXBsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvblxuICAgICAgICAgIFtzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kXT1cInNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiRcIlxuICAgICAgICA+PC92YWx0aW1vLXBsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDx2YWx0aW1vLXNlbGVjdC11cmxcbiAgICAgICpuZ0lmPVwib2JzLmN1cnJlbnRTdGVwSWQgPT09ICdzZWxlY3RVUkwnIHx8IG9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluayA9PT0gJ3VybCdcIlxuICAgID48L3ZhbHRpbW8tc2VsZWN0LXVybD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvb3RlciBsZXQtb2JzPVwib2JzXCI+XG4gIDxjZHMtbW9kYWwtZm9vdGVyICpuZ0lmPVwiIW9icy5zYXZpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiPlxuICAgICAgPGJ1dHRvbiBjZHNCdXR0b249XCJnaG9zdFwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCI+XG4gICAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm5hdmlnYXRpb24tYnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIm9icy5zaG93QmFja0J1dHRvbiAmJiAhb2JzLnNhdmluZ1wiXG4gICAgICAgIGNkc0J1dHRvbj1cInNlY29uZGFyeVwiXG4gICAgICAgIChjbGljayk9XCJiYWNrQnV0dG9uQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uYmFjaycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjZHNCdXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgKm5nSWY9XCJvYnMuc2hvd05leHRCdXR0b24gJiYgIW9icy5zYXZpbmdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmVuYWJsZU5leHRCdXR0b24gPT09IGZhbHNlXCJcbiAgICAgICAgKGNsaWNrKT1cIm5leHRCdXR0b25DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5uZXh0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNkc0J1dHRvbj1cImRhbmdlci0tcHJpbWFyeVwiXG4gICAgICAgICpuZ0lmPVwib2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rXCJcbiAgICAgICAgKGNsaWNrKT1cInVubGlua0J1dHRvbkNsaWNrKClcIlxuICAgICAgPlxuICAgICAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLnVubGluaycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjZHNCdXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgKm5nSWY9XCIob2JzLnNob3dTYXZlQnV0dG9uICYmICFvYnMuc2F2aW5nKSB8fCBvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmtcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmVuYWJsZVNhdmVCdXR0b24gPT09IGZhbHNlXCJcbiAgICAgICAgKGNsaWNrKT1cInNhdmVCdXR0b25DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5jb21wbGV0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Nkcy1tb2RhbC1mb290ZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVF4QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLHlCQUF5QjtJQXFCcEMsWUFDbUIsWUFBcUMsRUFDckMsV0FBbUMsRUFDbkMsYUFBdUMsRUFDdkMsa0JBQXNDLEVBQ3RDLGtCQUFzQyxFQUN0Qyx1QkFBZ0QsRUFDaEQsYUFBNEI7UUFONUIsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQUNuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUEzQi9CLGVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUNsRCxXQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RCxtQkFBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1FBQ2pELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7UUFDckQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUN6RCxvQkFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDO1FBQ3JELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7UUFDckQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUN6RCwyQkFBc0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDO1FBQ2xFLFlBQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNwQywrQkFBMEIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDO1FBQzFFLHNCQUFpQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7UUFDeEQsaUNBQTRCLEdBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQztRQUV2Qyx3QkFBbUIsR0FDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDO0lBVTVELENBQUM7SUFFSixVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUN6RSxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQyxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDOytHQWhFVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixrRUNoQ3RDLG96TUFvS0E7OzRGRHBJYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUGx1Z2luU3RhdGVTZXJ2aWNlLFxuICBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXByb2Nlc3MtbGluay1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLWxpbmstbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLWxpbmstbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0xpbmtNb2RhbENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBzaG93TW9kYWwkID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2hvd01vZGFsJDtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NTdGVwTmFtZSQgPSB0aGlzLnN0YXRlU2VydmljZS5lbGVtZW50TmFtZSQ7XG4gIHB1YmxpYyByZWFkb25seSBzdGVwcyQgPSB0aGlzLnN0ZXBTZXJ2aWNlLnN0ZXBzJDtcbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRTdGVwSW5kZXgkID0gdGhpcy5zdGVwU2VydmljZS5jdXJyZW50U3RlcEluZGV4JDtcbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRTdGVwSWQkID0gdGhpcy5zdGVwU2VydmljZS5jdXJyZW50U3RlcElkJDtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dTYXZlQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBlbmFibGVTYXZlQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5lbmFibGVTYXZlQnV0dG9uJDtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dCYWNrQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5zaG93QmFja0J1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBzaG93TmV4dEJ1dHRvbiQgPSB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd05leHRCdXR0b24kO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlTmV4dEJ1dHRvbiQgPSB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlTmV4dEJ1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBoaWRlUHJvZ3Jlc3NJbmRpY2F0b3IkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaGlkZVByb2dyZXNzSW5kaWNhdG9yJDtcbiAgcHVibGljIHJlYWRvbmx5IHNhdmluZyQgPSB0aGlzLnN0YXRlU2VydmljZS5zYXZpbmckO1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZU9mU2VsZWN0ZWRQcm9jZXNzTGluayQgPSB0aGlzLnN0YXRlU2VydmljZS50eXBlT2ZTZWxlY3RlZFByb2Nlc3NMaW5rJDtcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdNb2RlbEVuYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2Uudmlld01vZGVsRW5hYmxlZCQ7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kID1cbiAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaG93Vmlld01vZGVsVG9nZ2xlID1cbiAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmZlYXR1cmVUb2dnbGVzLmVuYWJsZUZvcm1WaWV3TW9kZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RlcFNlcnZpY2U6IFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5TdGF0ZVNlcnZpY2U6IFBsdWdpblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NMaW5rU2VydmljZTogUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2U6IFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gIH1cblxuICBiYWNrQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25TZXJ2aWNlLmNsaWNrQmFja0J1dHRvbigpO1xuICB9XG5cbiAgc2F2ZUJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uU2VydmljZS5jbGlja1NhdmVCdXR0b24oKTtcbiAgfVxuXG4gIG5leHRCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvblNlcnZpY2UuY2xpY2tOZXh0QnV0dG9uKCk7XG4gIH1cblxuICB1bmxpbmtCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zdGFydFNhdmluZygpO1xuXG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRQcm9jZXNzTGluayA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS5kZWxldGVQcm9jZXNzTGluayhzZWxlY3RlZFByb2Nlc3NMaW5rLmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlQ2hlY2tlZENoYW5nZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2Uuc2V0Vmlld01vZGVsRW5hYmxlZCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdlxuICBjbGFzcz1cInByb2Nlc3MtbGluay1tb2RhbC1jb250YWluZXJcIlxuICAqbmdJZj1cIntcbiAgICBzaG93TW9kYWw6IHNob3dNb2RhbCQgfCBhc3luYyxcbiAgICBwcm9jZXNzU3RlcE5hbWU6IHByb2Nlc3NTdGVwTmFtZSQgfCBhc3luYyxcbiAgICBzdGVwczogc3RlcHMkIHwgYXN5bmMsXG4gICAgY3VycmVudFN0ZXBJbmRleDogY3VycmVudFN0ZXBJbmRleCQgfCBhc3luYyxcbiAgICBjdXJyZW50U3RlcElkOiBjdXJyZW50U3RlcElkJCB8IGFzeW5jLFxuICAgIHNob3dTYXZlQnV0dG9uOiBzaG93U2F2ZUJ1dHRvbiQgfCBhc3luYyxcbiAgICBlbmFibGVTYXZlQnV0dG9uOiBlbmFibGVTYXZlQnV0dG9uJCB8IGFzeW5jLFxuICAgIHNob3dCYWNrQnV0dG9uOiBzaG93QmFja0J1dHRvbiQgfCBhc3luYyxcbiAgICBzaG93TmV4dEJ1dHRvbjogc2hvd05leHRCdXR0b24kIHwgYXN5bmMsXG4gICAgZW5hYmxlTmV4dEJ1dHRvbjogZW5hYmxlTmV4dEJ1dHRvbiQgfCBhc3luYyxcbiAgICBzYXZpbmc6IHNhdmluZyQgfCBhc3luYyxcbiAgICBoaWRlUHJvZ3Jlc3NJbmRpY2F0b3I6IGhpZGVQcm9ncmVzc0luZGljYXRvciQgfCBhc3luYyxcbiAgICB0eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluazogdHlwZU9mU2VsZWN0ZWRQcm9jZXNzTGluayQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8Y2RzLW1vZGFsIHZhbHRpbW9DZHNNb2RhbCBbb3Blbl09XCJvYnMuc2hvd01vZGFsXCIgc2l6ZT1cImxnXCI+XG4gICAgPGNkcy1tb2RhbC1oZWFkZXIgKGNsb3NlU2VsZWN0KT1cImNsb3NlTW9kYWwoKVwiPlxuICAgICAgPGgyIGNkc01vZGFsSGVhZGVyTGFiZWw+e3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5jb25maWd1cmVTdGVwJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICA8aDMgY2RzTW9kYWxIZWFkZXJIZWFkaW5nPlxuICAgICAgICB7e1xuICAgICAgICAgICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24ubW9kYWxUaXRsZSdcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7cHJvY2Vzc1N0ZXBOYW1lOiBvYnMucHJvY2Vzc1N0ZXBOYW1lIHx8ICctJ31cbiAgICAgICAgfX1cbiAgICAgIDwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1saW5rLXByb2dyZXNzXCIgKm5nSWY9XCIhb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcm9ncmVzc0luZGljYXRvcjsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZHMtbW9kYWwtaGVhZGVyPlxuICAgIDxzZWN0aW9uIGNkc01vZGFsQ29udGVudCBbY2RzTGF5ZXJdPVwiMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0ZXBDb250ZW50OyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlcjsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvY2RzLW1vZGFsPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NJbmRpY2F0b3IgbGV0LW9icz1cIm9ic1wiPlxuICA8Y2RzLXByb2dyZXNzLWluZGljYXRvclxuICAgICpuZ0lmPVwib2JzLnN0ZXBzICYmICFvYnMuaGlkZVByb2dyZXNzSW5kaWNhdG9yXCJcbiAgICBbc3RlcHNdPVwib2JzLnN0ZXBzXCJcbiAgICBbY3VycmVudF09XCJvYnMuY3VycmVudFN0ZXBJbmRleFwiXG4gICAgc3BhY2luZz1cImVxdWFsXCJcbiAgPjwvY2RzLXByb2dyZXNzLWluZGljYXRvcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc3RlcENvbnRlbnQgbGV0LW9icz1cIm9ic1wiPlxuICA8ZGl2IGNsYXNzPVwiY2RzLWxvYWRpbmctY29udGFpbmVyXCIgKm5nSWY9XCJvYnMuc2F2aW5nXCI+XG4gICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuICA8ZGl2IFtuZ0NsYXNzXT1cIntoaWRkZW46IG9icy5zYXZpbmd9XCI+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ2Nob29zZVByb2Nlc3NMaW5rVHlwZSdcIj5cbiAgICAgICAgPHZhbHRpbW8tY2hvb3NlLXByb2Nlc3MtbGluay10eXBlPjwvdmFsdGltby1jaG9vc2UtcHJvY2Vzcy1saW5rLXR5cGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ3NlbGVjdEZvcm0nIHx8IG9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluayA9PT0gJ2Zvcm0nXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8tc2VsZWN0LWZvcm0+PC92YWx0aW1vLXNlbGVjdC1mb3JtPlxuICAgICAgICA8YnIgLz5cbiAgICAgICAgPGNkcy10b2dnbGVcbiAgICAgICAgICAqbmdJZj1cInNob3dWaWV3TW9kZWxUb2dnbGVcIlxuICAgICAgICAgIFtsYWJlbF09XCIncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLnRvZ2dsZVZpZXdNb2RlbC50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtvblRleHRdPVwiJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi50b2dnbGVWaWV3TW9kZWwuY2hlY2tib3hEZXNjcmlwdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtvZmZUZXh0XT1cIidwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24udG9nZ2xlVmlld01vZGVsLmNoZWNrYm94RGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJ2aWV3TW9kZWxFbmFibGVkJCB8IGFzeW5jXCJcbiAgICAgICAgICAoY2hlY2tlZENoYW5nZSk9XCJ0b2dnbGVDaGVja2VkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9jZHMtdG9nZ2xlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgb2JzLmN1cnJlbnRTdGVwSWQgPT09ICdzZWxlY3RGb3JtRmxvdycgfHwgb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rID09PSAnZm9ybS1mbG93J1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtZm9ybS1mbG93PjwvdmFsdGltby1zZWxlY3QtZm9ybS1mbG93PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmN1cnJlbnRTdGVwSWQgPT09ICdjaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uJ1wiPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24+PC92YWx0aW1vLXNlbGVjdC1wbHVnaW4tY29uZmlndXJhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5jdXJyZW50U3RlcElkID09PSAnY2hvb3NlUGx1Z2luQWN0aW9uJ1wiPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtcGx1Z2luLWFjdGlvbj48L3ZhbHRpbW8tc2VsZWN0LXBsdWdpbi1hY3Rpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ2NvbmZpZ3VyZVBsdWdpbkFjdGlvbicgfHxcbiAgICAgICAgICBvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmsgPT09ICdwbHVnaW4nXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDx2YWx0aW1vLXBsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvblxuICAgICAgICAgIFtzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kXT1cInNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiRcIlxuICAgICAgICA+PC92YWx0aW1vLXBsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDx2YWx0aW1vLXNlbGVjdC11cmxcbiAgICAgICpuZ0lmPVwib2JzLmN1cnJlbnRTdGVwSWQgPT09ICdzZWxlY3RVUkwnIHx8IG9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluayA9PT0gJ3VybCdcIlxuICAgID48L3ZhbHRpbW8tc2VsZWN0LXVybD5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICBvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ3VpQ29tcG9uZW50JyB8fCBvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmsgPT09ICd1aS1jb21wb25lbnQnXG4gICAgICBcIlxuICAgID5cbiAgICAgIDx2YWx0aW1vLXNlbGVjdC11aS1jb21wb25lbnQ+PC92YWx0aW1vLXNlbGVjdC11aS1jb21wb25lbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb290ZXIgbGV0LW9icz1cIm9ic1wiPlxuICA8Y2RzLW1vZGFsLWZvb3RlciAqbmdJZj1cIiFvYnMuc2F2aW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhbmNlbC1idXR0b25cIj5cbiAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwiZ2hvc3RcIiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCIgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJvYnMuc2hvd0JhY2tCdXR0b24gJiYgIW9icy5zYXZpbmdcIlxuICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwiYmFja0J1dHRvbkNsaWNrKClcIlxuICAgICAgPlxuICAgICAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmJhY2snIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICpuZ0lmPVwib2JzLnNob3dOZXh0QnV0dG9uICYmICFvYnMuc2F2aW5nXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5lbmFibGVOZXh0QnV0dG9uID09PSBmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJuZXh0QnV0dG9uQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24ubmV4dCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjZHNCdXR0b249XCJkYW5nZXItLXByaW1hcnlcIlxuICAgICAgICAqbmdJZj1cIm9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGlua1wiXG4gICAgICAgIChjbGljayk9XCJ1bmxpbmtCdXR0b25DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi51bmxpbmsnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICpuZ0lmPVwiKG9icy5zaG93U2F2ZUJ1dHRvbiAmJiAhb2JzLnNhdmluZykgfHwgb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5lbmFibGVTYXZlQnV0dG9uID09PSBmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJzYXZlQnV0dG9uQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uY29tcGxldGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|