@gravitee/ui-policy-studio-angular 12.19.0 → 12.20.0-prerequisitemessage-0633ed0
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/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs +33 -7
- package/esm2022/lib/components/step-form/gio-ps-step-form.component.mjs +9 -9
- package/esm2022/lib/models/policy/SharedPolicyGroupPolicy.mjs +1 -1
- package/esm2022/lib/policy-group-studio/gio-policy-group-studio.component.mjs +8 -3
- package/esm2022/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs +3 -1
- package/esm2022/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.mjs +8 -1
- package/esm2022/testing/lib/models/policy/SharedPolicyGroupPolicy.mjs +1 -1
- package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs +9 -0
- package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2022/gravitee-ui-policy-studio-angular.mjs +46 -15
- package/fesm2022/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.d.ts +3 -2
- package/lib/components/step-form/gio-ps-step-form.component.d.ts +1 -0
- package/lib/models/policy/SharedPolicyGroupPolicy.d.ts +1 -0
- package/lib/policy-group-studio/gio-policy-group-studio.component.d.ts +5 -2
- package/package.json +1 -1
- package/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.d.ts +1 -0
- package/testing/lib/models/policy/SharedPolicyGroupPolicy.d.ts +1 -0
package/esm2022/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs
CHANGED
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
-
import { GIO_DIALOG_WIDTH, GioIconsModule } from '@gravitee/ui-particles-angular';
|
|
17
|
+
import { GIO_DIALOG_WIDTH, GioConfirmDialogComponent, GioIconsModule } from '@gravitee/ui-particles-angular';
|
|
18
18
|
import { MatButtonModule } from '@angular/material/button';
|
|
19
19
|
import { MatMenuModule } from '@angular/material/menu';
|
|
20
20
|
import { CommonModule } from '@angular/common';
|
|
21
|
-
import { get, isEmpty, isNil } from 'lodash';
|
|
21
|
+
import { get, isEmpty, isNil, has } from 'lodash';
|
|
22
22
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
23
23
|
import { GioPolicyStudioStepEditDialogComponent, } from '../step-edit-dialog/gio-ps-step-edit-dialog.component';
|
|
24
24
|
import { isPolicy, isSharedPolicyGroupPolicy } from '../../models';
|
|
@@ -30,6 +30,12 @@ import * as i4 from "@angular/material/button";
|
|
|
30
30
|
import * as i5 from "@angular/material/menu";
|
|
31
31
|
import * as i6 from "@angular/material/tooltip";
|
|
32
32
|
export class GioPolicyStudioDetailsPhaseStepComponent {
|
|
33
|
+
get getPrerequisiteMessage() {
|
|
34
|
+
if (!this.genericPolicy || !isSharedPolicyGroupPolicy(this.genericPolicy) || isEmpty(this.genericPolicy.prerequisiteMessage)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
return this.genericPolicy.description;
|
|
38
|
+
}
|
|
33
39
|
constructor(matDialog) {
|
|
34
40
|
this.matDialog = matDialog;
|
|
35
41
|
this.readOnly = false;
|
|
@@ -37,6 +43,7 @@ export class GioPolicyStudioDetailsPhaseStepComponent {
|
|
|
37
43
|
this.stepChange = new EventEmitter();
|
|
38
44
|
this.deleted = new EventEmitter();
|
|
39
45
|
this.disabled = new EventEmitter();
|
|
46
|
+
this.policyNotFound = false;
|
|
40
47
|
}
|
|
41
48
|
ngOnChanges(changes) {
|
|
42
49
|
if ((changes.policies || changes.step) && !isEmpty(this.genericPolicies) && !isNil(this.step.policy)) {
|
|
@@ -50,11 +57,30 @@ export class GioPolicyStudioDetailsPhaseStepComponent {
|
|
|
50
57
|
// Not expected
|
|
51
58
|
throw new Error('Unknown policy type');
|
|
52
59
|
});
|
|
60
|
+
// if this.genericPolicy is not found, it means that the policy has been deleted or the shared policy group no longer exists (or deployed)
|
|
61
|
+
if (!this.genericPolicy) {
|
|
62
|
+
this.policyNotFound = has(this.step.configuration, 'sharedPolicyGroupId') ? 'SHARED_POLICY_GROUP' : 'POLICY';
|
|
63
|
+
}
|
|
53
64
|
}
|
|
54
65
|
}
|
|
55
66
|
onEditOrView() {
|
|
56
|
-
if (!this.genericPolicy) {
|
|
57
|
-
|
|
67
|
+
if (!this.genericPolicy || this.policyNotFound != false) {
|
|
68
|
+
this.matDialog
|
|
69
|
+
.open(GioConfirmDialogComponent, {
|
|
70
|
+
data: {
|
|
71
|
+
title: `${this.policyNotFound === 'SHARED_POLICY_GROUP' ? 'Shared Policy Group' : 'Policy'} not found`,
|
|
72
|
+
content: `This step is linked to a ${this.policyNotFound === 'SHARED_POLICY_GROUP' ? 'Shared Policy Group' : 'Policy'} that no longer exists.<br>
|
|
73
|
+
${this.policyNotFound === 'SHARED_POLICY_GROUP' ? 'Note: The Gateway will ignore this step.' : 'Note: The Gateway will throw an error on deployment.'}
|
|
74
|
+
`,
|
|
75
|
+
confirmButton: 'OK',
|
|
76
|
+
disableCancel: true,
|
|
77
|
+
},
|
|
78
|
+
role: 'alertdialog',
|
|
79
|
+
id: 'gioPolicyNotFoundDialog',
|
|
80
|
+
width: GIO_DIALOG_WIDTH.MEDIUM,
|
|
81
|
+
})
|
|
82
|
+
.afterClosed()
|
|
83
|
+
.subscribe();
|
|
58
84
|
return;
|
|
59
85
|
}
|
|
60
86
|
this.matDialog
|
|
@@ -84,11 +110,11 @@ export class GioPolicyStudioDetailsPhaseStepComponent {
|
|
|
84
110
|
this.deleted.emit();
|
|
85
111
|
}
|
|
86
112
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioPolicyStudioDetailsPhaseStepComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: GioPolicyStudioDetailsPhaseStepComponent, isStandalone: true, selector: "gio-ps-flow-details-phase-step", inputs: { readOnly: "readOnly", step: "step", genericPolicies: "genericPolicies", executionPhase: "executionPhase" }, outputs: { stepChange: "stepChange", deleted: "deleted", disabled: "disabled" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (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 http://www.apache.org/licenses/LICENSE-2.0\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\n<div class=\"info\">\n <div class=\"info__head\">\n <mat-icon class=\"info__head__icon\" [svgIcon]=\"genericPolicy?.icon ?? 'gio:puzzle'\"></mat-icon>\n\n <span *ngIf=\"step.name\" class=\"info__head__name\">{{ step.name }}</span>\n\n <span *ngIf=\"genericPolicy?.type === 'SHARED_POLICY_GROUP'\" class=\"gio-badge-neutral\" matTooltip=\"Shared Policy Group\">\n <mat-icon svgIcon=\"gio:users\"></mat-icon>\n </span>\n @if (getPrerequisiteMessage) {\n <mat-icon class=\"info__head__info\" svgIcon=\"gio:info\" [matTooltip]=\"getPrerequisiteMessage\"></mat-icon>\n }\n <span\n *ngIf=\"policyNotFound !== false\"\n class=\"gio-badge-error\"\n [matTooltip]=\"policyNotFound === 'SHARED_POLICY_GROUP' ? 'Shared Policy Group not found' : 'Policy not found'\"\n >\n @if (policyNotFound === 'SHARED_POLICY_GROUP') {\n <mat-icon svgIcon=\"gio:users\"></mat-icon> \n }\n <mat-icon svgIcon=\"gio:alert-circle\"></mat-icon>\n </span>\n </div>\n\n <div *ngIf=\"step.description\" class=\"info__description\">{{ step.description }}</div>\n</div>\n\n<button class=\"menuBtn\" mat-icon-button [matMenuTriggerFor]=\"policyMenu\"><mat-icon svgIcon=\"gio:more-vertical\"></mat-icon></button>\n\n<mat-menu #policyMenu=\"matMenu\">\n <button mat-menu-item (click)=\"onEditOrView()\">\n <mat-icon [svgIcon]=\"readOnly ? 'gio:eye-empty' : 'gio:edit-pencil'\"></mat-icon>\n <span>{{ readOnly ? 'View' : 'Edit' }}</span>\n </button>\n\n <button [disabled]=\"readOnly\" mat-menu-item (click)=\"onDisable()\">\n <mat-icon [svgIcon]=\"step.enabled ? 'gio:prohibition' : 'gio:check-circled-outline'\"></mat-icon>\n <span>{{ step.enabled ? 'Disable' : 'Enable' }}</span>\n </button>\n\n <button [disabled]=\"readOnly\" mat-menu-item (click)=\"onDelete()\">\n <mat-icon svgIcon=\"gio:trash\"></mat-icon>\n <span>Delete</span>\n </button>\n</mat-menu>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;align-items:center;padding:8px;border:1px solid #6c59bd;border-radius:8px}:host-context(.disabled){border:1px solid #d3d5dc}.info{display:flex;max-width:300px;flex-direction:column;margin-left:4px;gap:4px}.info__head{display:flex;align-items:center}.info__head__icon{min-width:24px;flex:1 1 24px;margin-right:8px}.info__head__name{overflow:hidden;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.info__description{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;color:#606274;-webkit-line-clamp:2}.info__description:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: GioIconsModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
88
114
|
}
|
|
89
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioPolicyStudioDetailsPhaseStepComponent, decorators: [{
|
|
90
116
|
type: Component,
|
|
91
|
-
args: [{ standalone: true, imports: [CommonModule, GioIconsModule, MatButtonModule, MatMenuModule, MatTooltipModule], selector: 'gio-ps-flow-details-phase-step', template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (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 http://www.apache.org/licenses/LICENSE-2.0\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\n<div class=\"info\">\n <div class=\"info__head\">\n <mat-icon class=\"info__head__icon\" [svgIcon]=\"genericPolicy?.icon ?? 'gio:puzzle'\"></mat-icon>\n\n <span *ngIf=\"step.name\" class=\"info__head__name\">{{ step.name }}</span>\n\n <span *ngIf=\"genericPolicy?.type === 'SHARED_POLICY_GROUP'\" class=\"gio-badge-neutral\" matTooltip=\"Shared Policy Group\"\n
|
|
117
|
+
args: [{ standalone: true, imports: [CommonModule, GioIconsModule, MatButtonModule, MatMenuModule, MatTooltipModule], selector: 'gio-ps-flow-details-phase-step', template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (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 http://www.apache.org/licenses/LICENSE-2.0\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\n<div class=\"info\">\n <div class=\"info__head\">\n <mat-icon class=\"info__head__icon\" [svgIcon]=\"genericPolicy?.icon ?? 'gio:puzzle'\"></mat-icon>\n\n <span *ngIf=\"step.name\" class=\"info__head__name\">{{ step.name }}</span>\n\n <span *ngIf=\"genericPolicy?.type === 'SHARED_POLICY_GROUP'\" class=\"gio-badge-neutral\" matTooltip=\"Shared Policy Group\">\n <mat-icon svgIcon=\"gio:users\"></mat-icon>\n </span>\n @if (getPrerequisiteMessage) {\n <mat-icon class=\"info__head__info\" svgIcon=\"gio:info\" [matTooltip]=\"getPrerequisiteMessage\"></mat-icon>\n }\n <span\n *ngIf=\"policyNotFound !== false\"\n class=\"gio-badge-error\"\n [matTooltip]=\"policyNotFound === 'SHARED_POLICY_GROUP' ? 'Shared Policy Group not found' : 'Policy not found'\"\n >\n @if (policyNotFound === 'SHARED_POLICY_GROUP') {\n <mat-icon svgIcon=\"gio:users\"></mat-icon> \n }\n <mat-icon svgIcon=\"gio:alert-circle\"></mat-icon>\n </span>\n </div>\n\n <div *ngIf=\"step.description\" class=\"info__description\">{{ step.description }}</div>\n</div>\n\n<button class=\"menuBtn\" mat-icon-button [matMenuTriggerFor]=\"policyMenu\"><mat-icon svgIcon=\"gio:more-vertical\"></mat-icon></button>\n\n<mat-menu #policyMenu=\"matMenu\">\n <button mat-menu-item (click)=\"onEditOrView()\">\n <mat-icon [svgIcon]=\"readOnly ? 'gio:eye-empty' : 'gio:edit-pencil'\"></mat-icon>\n <span>{{ readOnly ? 'View' : 'Edit' }}</span>\n </button>\n\n <button [disabled]=\"readOnly\" mat-menu-item (click)=\"onDisable()\">\n <mat-icon [svgIcon]=\"step.enabled ? 'gio:prohibition' : 'gio:check-circled-outline'\"></mat-icon>\n <span>{{ step.enabled ? 'Disable' : 'Enable' }}</span>\n </button>\n\n <button [disabled]=\"readOnly\" mat-menu-item (click)=\"onDelete()\">\n <mat-icon svgIcon=\"gio:trash\"></mat-icon>\n <span>Delete</span>\n </button>\n</mat-menu>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;align-items:center;padding:8px;border:1px solid #6c59bd;border-radius:8px}:host-context(.disabled){border:1px solid #d3d5dc}.info{display:flex;max-width:300px;flex-direction:column;margin-left:4px;gap:4px}.info__head{display:flex;align-items:center}.info__head__icon{min-width:24px;flex:1 1 24px;margin-right:8px}.info__head__name{overflow:hidden;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.info__description{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;color:#606274;-webkit-line-clamp:2}.info__description:empty{display:none}\n"] }]
|
|
92
118
|
}], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { readOnly: [{
|
|
93
119
|
type: Input
|
|
94
120
|
}], step: [{
|
|
@@ -105,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
105
131
|
}], disabled: [{
|
|
106
132
|
type: Output
|
|
107
133
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsc0NBQXNDLEdBR3ZDLE1BQU0sdURBQXVELENBQUM7QUFDL0QsT0FBTyxFQUFrQixRQUFRLEVBQUUseUJBQXlCLEVBQXVCLE1BQU0sY0FBYyxDQUFDOzs7Ozs7OztBQVN4RyxN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QUFjO3NCQURwQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsVUFBVTtzQkFEaEIsTUFBTTtnQkFJQSxPQUFPO3NCQURiLE1BQU07Z0JBSUEsUUFBUTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBHSU9fRElBTE9HX1dJRFRILCBHaW9JY29uc01vZHVsZSB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGdldCwgaXNFbXB0eSwgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQge1xuICBHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0NvbXBvbmVudCxcbiAgR2lvUG9saWN5U3R1ZGlvU3RlcEVkaXREaWFsb2dEYXRhLFxuICBHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ1Jlc3VsdCxcbn0gZnJvbSAnLi4vc3RlcC1lZGl0LWRpYWxvZy9naW8tcHMtc3RlcC1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhlY3V0aW9uUGhhc2UsIGlzUG9saWN5LCBpc1NoYXJlZFBvbGljeUdyb3VwUG9saWN5LCBTdGVwLCBHZW5lcmljUG9saWN5IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEdpb0ljb25zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2Utc3RlcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkT25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGVwITogU3RlcDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2VuZXJpY1BvbGljaWVzOiBHZW5lcmljUG9saWN5W10gPSBbXTtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgZXhlY3V0aW9uUGhhc2UhOiBFeGVjdXRpb25QaGFzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHN0ZXBDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFN0ZXA+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGlzYWJsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIGdlbmVyaWNQb2xpY3k/OiBHZW5lcmljUG9saWN5O1xuICBwcm90ZWN0ZWQgcG9saWN5SWNvbj86IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1hdERpYWxvZzogTWF0RGlhbG9nKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKChjaGFuZ2VzLnBvbGljaWVzIHx8IGNoYW5nZXMuc3RlcCkgJiYgIWlzRW1wdHkodGhpcy5nZW5lcmljUG9saWNpZXMpICYmICFpc05pbCh0aGlzLnN0ZXAucG9saWN5KSkge1xuICAgICAgdGhpcy5nZW5lcmljUG9saWN5ID0gdGhpcy5nZW5lcmljUG9saWNpZXMuZmluZChwb2xpY3kgPT4ge1xuICAgICAgICBpZiAoaXNQb2xpY3kocG9saWN5KSkge1xuICAgICAgICAgIHJldHVybiBwb2xpY3kucG9saWN5SWQgPT09IHRoaXMuc3RlcC5wb2xpY3k7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNTaGFyZWRQb2xpY3lHcm91cFBvbGljeShwb2xpY3kpKSB7XG4gICAgICAgICAgcmV0dXJuIHBvbGljeS5zaGFyZWRQb2xpY3lHcm91cElkID09PSBnZXQodGhpcy5zdGVwLmNvbmZpZ3VyYXRpb24sICdzaGFyZWRQb2xpY3lHcm91cElkJyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm90IGV4cGVjdGVkXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwb2xpY3kgdHlwZScpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRWRpdE9yVmlldygpIHtcbiAgICBpZiAoIXRoaXMuZ2VuZXJpY1BvbGljeSkge1xuICAgICAgLy8gVE9ETzogSGFuZGxlIFVzZUNhc2Ugd2hlbiBwb2xpY3kgaXMgbm90IGZvdW5kLiAoTGlrZSBpZiB0aGUgcGx1Z2luIGlzIHJlbW92ZWQgZnJvbSB0aGUgQmFja0VuZClcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1hdERpYWxvZ1xuICAgICAgLm9wZW48R2lvUG9saWN5U3R1ZGlvU3RlcEVkaXREaWFsb2dDb21wb25lbnQsIEdpb1BvbGljeVN0dWRpb1N0ZXBFZGl0RGlhbG9nRGF0YSwgR2lvUG9saWN5U3R1ZGlvU3RlcEVkaXREaWFsb2dSZXN1bHQ+KFxuICAgICAgICBHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAge1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHJlYWRPbmx5OiB0aGlzLnJlYWRPbmx5LFxuICAgICAgICAgICAgZ2VuZXJpY1BvbGljeTogdGhpcy5nZW5lcmljUG9saWN5LFxuICAgICAgICAgICAgc3RlcDogdGhpcy5zdGVwLFxuICAgICAgICAgICAgZXhlY3V0aW9uUGhhc2U6IHRoaXMuZXhlY3V0aW9uUGhhc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByb2xlOiAnYWxlcnRkaWFsb2cnLFxuICAgICAgICAgIGlkOiAnZ2lvUG9saWN5U3R1ZGlvUG9saWN5Rm9ybURpYWxvZycsXG4gICAgICAgICAgd2lkdGg6IEdJT19ESUFMT0dfV0lEVEguTEFSR0UsXG4gICAgICAgIH0sXG4gICAgICApXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnN1YnNjcmliZShzdGVwVG9FZGl0ID0+IHtcbiAgICAgICAgaWYgKCFzdGVwVG9FZGl0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGVwQ2hhbmdlLmVtaXQoc3RlcFRvRWRpdCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRpc2FibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGVkLmVtaXQoKTtcbiAgfVxufVxuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDIzIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gICAgXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gICAgXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAgICBcbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG5cbjxkaXYgY2xhc3M9XCJpbmZvXCI+XG4gIDxkaXYgY2xhc3M9XCJpbmZvX19oZWFkXCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiaW5mb19faGVhZF9faWNvblwiIFtzdmdJY29uXT1cImdlbmVyaWNQb2xpY3k/Lmljb24gPz8gJ2dpbzpwdXp6bGUnXCI+PC9tYXQtaWNvbj5cblxuICAgIDxzcGFuICpuZ0lmPVwic3RlcC5uYW1lXCIgY2xhc3M9XCJpbmZvX19oZWFkX19uYW1lXCI+e3sgc3RlcC5uYW1lIH19PC9zcGFuPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJnZW5lcmljUG9saWN5Py50eXBlID09PSAnU0hBUkVEX1BPTElDWV9HUk9VUCdcIiBjbGFzcz1cImdpby1iYWRnZS1uZXV0cmFsXCIgbWF0VG9vbHRpcD1cIlNoYXJlZCBQb2xpY3kgR3JvdXBcIlxuICAgICAgPjxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOnVzZXJzXCI+PC9tYXQtaWNvblxuICAgID48L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJzdGVwLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJpbmZvX19kZXNjcmlwdGlvblwiPnt7IHN0ZXAuZGVzY3JpcHRpb24gfX08L2Rpdj5cbjwvZGl2PlxuXG48YnV0dG9uIGNsYXNzPVwibWVudUJ0blwiIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicG9saWN5TWVudVwiPjxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOm1vcmUtdmVydGljYWxcIj48L21hdC1pY29uPjwvYnV0dG9uPlxuXG48bWF0LW1lbnUgI3BvbGljeU1lbnU9XCJtYXRNZW51XCI+XG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib25FZGl0T3JWaWV3KClcIj5cbiAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwicmVhZE9ubHkgPyAnZ2lvOmV5ZS1lbXB0eScgOiAnZ2lvOmVkaXQtcGVuY2lsJ1wiPjwvbWF0LWljb24+XG4gICAgPHNwYW4+e3sgcmVhZE9ubHkgPyAnVmlldycgOiAnRWRpdCcgfX08L3NwYW4+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gW2Rpc2FibGVkXT1cInJlYWRPbmx5XCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib25EaXNhYmxlKClcIj5cbiAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwic3RlcC5lbmFibGVkID8gJ2dpbzpwcm9oaWJpdGlvbicgOiAnZ2lvOmNoZWNrLWNpcmNsZWQtb3V0bGluZSdcIj48L21hdC1pY29uPlxuICAgIDxzcGFuPnt7IHN0ZXAuZW5hYmxlZCA/ICdEaXNhYmxlJyA6ICdFbmFibGUnIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCJyZWFkT25seVwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uRGVsZXRlKClcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzp0cmFzaFwiPjwvbWF0LWljb24+XG4gICAgPHNwYW4+RGVsZXRlPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG4iXX0=
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUF3QixjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFDTCxzQ0FBc0MsR0FHdkMsTUFBTSx1REFBdUQsQ0FBQztBQUMvRCxPQUFPLEVBQWtCLFFBQVEsRUFBRSx5QkFBeUIsRUFBdUIsTUFBTSxj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QUFDLFlBQy9FLGdDQUFnQzs4RUFNbkMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixVQUFVO3NCQURoQixNQUFNO2dCQUlBLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxRQUFRO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEdJT19ESUFMT0dfV0lEVEgsIEdpb0NvbmZpcm1EaWFsb2dDb21wb25lbnQsIEdpb0NvbmZpcm1EaWFsb2dEYXRhLCBHaW9JY29uc01vZHVsZSB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGdldCwgaXNFbXB0eSwgaXNOaWwsIGhhcyB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7XG4gIEdpb1BvbGljeVN0dWRpb1N0ZXBFZGl0RGlhbG9nQ29tcG9uZW50LFxuICBHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0RhdGEsXG4gIEdpb1BvbGljeVN0dWRpb1N0ZXBFZGl0RGlhbG9nUmVzdWx0LFxufSBmcm9tICcuLi9zdGVwLWVkaXQtZGlhbG9nL2dpby1wcy1zdGVwLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeGVjdXRpb25QaGFzZSwgaXNQb2xpY3ksIGlzU2hhcmVkUG9saWN5R3JvdXBQb2xpY3ksIFN0ZXAsIEdlbmVyaWNQb2xpY3kgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgR2lvSWNvbnNNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2Utc3RlcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2Utc3RlcC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VTdGVwQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0ZXAhOiBTdGVwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZW5lcmljUG9saWNpZXM6IEdlbmVyaWNQb2xpY3lbXSA9IFtdO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBleGVjdXRpb25QaGFzZSE6IEV4ZWN1dGlvblBoYXNlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc3RlcENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3RlcD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGRlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgZ2VuZXJpY1BvbGljeT86IEdlbmVyaWNQb2xpY3k7XG4gIHByb3RlY3RlZCBwb2xpY3lOb3RGb3VuZDogZmFsc2UgfCAnU0hBUkVEX1BPTElDWV9HUk9VUCcgfCAnUE9MSUNZJyA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBnZXQgZ2V0UHJlcmVxdWlzaXRlTWVzc2FnZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5nZW5lcmljUG9saWN5IHx8ICFpc1NoYXJlZFBvbGljeUdyb3VwUG9saWN5KHRoaXMuZ2VuZXJpY1BvbGljeSkgfHwgaXNFbXB0eSh0aGlzLmdlbmVyaWNQb2xpY3kucHJlcmVxdWlzaXRlTWVzc2FnZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJpY1BvbGljeS5kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoKGNoYW5nZXMucG9saWNpZXMgfHwgY2hhbmdlcy5zdGVwKSAmJiAhaXNFbXB0eSh0aGlzLmdlbmVyaWNQb2xpY2llcykgJiYgIWlzTmlsKHRoaXMuc3RlcC5wb2xpY3kpKSB7XG4gICAgICB0aGlzLmdlbmVyaWNQb2xpY3kgPSB0aGlzLmdlbmVyaWNQb2xpY2llcy5maW5kKHBvbGljeSA9PiB7XG4gICAgICAgIGlmIChpc1BvbGljeShwb2xpY3kpKSB7XG4gICAgICAgICAgcmV0dXJuIHBvbGljeS5wb2xpY3lJZCA9PT0gdGhpcy5zdGVwLnBvbGljeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc1NoYXJlZFBvbGljeUdyb3VwUG9saWN5KHBvbGljeSkpIHtcbiAgICAgICAgICByZXR1cm4gcG9saWN5LnNoYXJlZFBvbGljeUdyb3VwSWQgPT09IGdldCh0aGlzLnN0ZXAuY29uZmlndXJhdGlvbiwgJ3NoYXJlZFBvbGljeUdyb3VwSWQnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBOb3QgZXhwZWN0ZWRcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHBvbGljeSB0eXBlJyk7XG4gICAgICB9KTtcblxuICAgICAgLy8gaWYgdGhpcy5nZW5lcmljUG9saWN5IGlzIG5vdCBmb3VuZCwgaXQgbWVhbnMgdGhhdCB0aGUgcG9saWN5IGhhcyBiZWVuIGRlbGV0ZWQgb3IgdGhlIHNoYXJlZCBwb2xpY3kgZ3JvdXAgbm8gbG9uZ2VyIGV4aXN0cyAob3IgZGVwbG95ZWQpXG4gICAgICBpZiAoIXRoaXMuZ2VuZXJpY1BvbGljeSkge1xuICAgICAgICB0aGlzLnBvbGljeU5vdEZvdW5kID0gaGFzKHRoaXMuc3RlcC5jb25maWd1cmF0aW9uLCAnc2hhcmVkUG9saWN5R3JvdXBJZCcpID8gJ1NIQVJFRF9QT0xJQ1lfR1JPVVAnIDogJ1BPTElDWSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRWRpdE9yVmlldygpIHtcbiAgICBpZiAoIXRoaXMuZ2VuZXJpY1BvbGljeSB8fCB0aGlzLnBvbGljeU5vdEZvdW5kICE9IGZhbHNlKSB7XG4gICAgICB0aGlzLm1hdERpYWxvZ1xuICAgICAgICAub3BlbjxHaW9Db25maXJtRGlhbG9nQ29tcG9uZW50LCBHaW9Db25maXJtRGlhbG9nRGF0YSwgYm9vbGVhbj4oR2lvQ29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBgJHt0aGlzLnBvbGljeU5vdEZvdW5kID09PSAnU0hBUkVEX1BPTElDWV9HUk9VUCcgPyAnU2hhcmVkIFBvbGljeSBHcm91cCcgOiAnUG9saWN5J30gbm90IGZvdW5kYCxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGBUaGlzIHN0ZXAgaXMgbGlua2VkIHRvIGEgJHt0aGlzLnBvbGljeU5vdEZvdW5kID09PSAnU0hBUkVEX1BPTElDWV9HUk9VUCcgPyAnU2hhcmVkIFBvbGljeSBHcm91cCcgOiAnUG9saWN5J30gdGhhdCBubyBsb25nZXIgZXhpc3RzLjxicj5cbiR7dGhpcy5wb2xpY3lOb3RGb3VuZCA9PT0gJ1NIQVJFRF9QT0xJQ1lfR1JPVVAnID8gJ05vdGU6IFRoZSBHYXRld2F5IHdpbGwgaWdub3JlIHRoaXMgc3RlcC4nIDogJ05vdGU6IFRoZSBHYXRld2F5IHdpbGwgdGhyb3cgYW4gZXJyb3Igb24gZGVwbG95bWVudC4nfVxuYCxcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b246ICdPSycsXG4gICAgICAgICAgICBkaXNhYmxlQ2FuY2VsOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcm9sZTogJ2FsZXJ0ZGlhbG9nJyxcbiAgICAgICAgICBpZDogJ2dpb1BvbGljeU5vdEZvdW5kRGlhbG9nJyxcbiAgICAgICAgICB3aWR0aDogR0lPX0RJQUxPR19XSURUSC5NRURJVU0sXG4gICAgICAgIH0pXG4gICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1hdERpYWxvZ1xuICAgICAgLm9wZW48R2lvUG9saWN5U3R1ZGlvU3RlcEVkaXREaWFsb2dDb21wb25lbnQsIEdpb1BvbGljeVN0dWRpb1N0ZXBFZGl0RGlhbG9nRGF0YSwgR2lvUG9saWN5U3R1ZGlvU3RlcEVkaXREaWFsb2dSZXN1bHQ+KFxuICAgICAgICBHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAge1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHJlYWRPbmx5OiB0aGlzLnJlYWRPbmx5LFxuICAgICAgICAgICAgZ2VuZXJpY1BvbGljeTogdGhpcy5nZW5lcmljUG9saWN5LFxuICAgICAgICAgICAgc3RlcDogdGhpcy5zdGVwLFxuICAgICAgICAgICAgZXhlY3V0aW9uUGhhc2U6IHRoaXMuZXhlY3V0aW9uUGhhc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByb2xlOiAnYWxlcnRkaWFsb2cnLFxuICAgICAgICAgIGlkOiAnZ2lvUG9saWN5U3R1ZGlvUG9saWN5Rm9ybURpYWxvZycsXG4gICAgICAgICAgd2lkdGg6IEdJT19ESUFMT0dfV0lEVEguTEFSR0UsXG4gICAgICAgIH0sXG4gICAgICApXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnN1YnNjcmliZShzdGVwVG9FZGl0ID0+IHtcbiAgICAgICAgaWYgKCFzdGVwVG9FZGl0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGVwQ2hhbmdlLmVtaXQoc3RlcFRvRWRpdCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRpc2FibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGVkLmVtaXQoKTtcbiAgfVxufVxuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDIzIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gICAgXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gICAgXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAgICBcbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG5cbjxkaXYgY2xhc3M9XCJpbmZvXCI+XG4gIDxkaXYgY2xhc3M9XCJpbmZvX19oZWFkXCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiaW5mb19faGVhZF9faWNvblwiIFtzdmdJY29uXT1cImdlbmVyaWNQb2xpY3k/Lmljb24gPz8gJ2dpbzpwdXp6bGUnXCI+PC9tYXQtaWNvbj5cblxuICAgIDxzcGFuICpuZ0lmPVwic3RlcC5uYW1lXCIgY2xhc3M9XCJpbmZvX19oZWFkX19uYW1lXCI+e3sgc3RlcC5uYW1lIH19PC9zcGFuPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJnZW5lcmljUG9saWN5Py50eXBlID09PSAnU0hBUkVEX1BPTElDWV9HUk9VUCdcIiBjbGFzcz1cImdpby1iYWRnZS1uZXV0cmFsXCIgbWF0VG9vbHRpcD1cIlNoYXJlZCBQb2xpY3kgR3JvdXBcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOnVzZXJzXCI+PC9tYXQtaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgQGlmIChnZXRQcmVyZXF1aXNpdGVNZXNzYWdlKSB7XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJpbmZvX19oZWFkX19pbmZvXCIgc3ZnSWNvbj1cImdpbzppbmZvXCIgW21hdFRvb2x0aXBdPVwiZ2V0UHJlcmVxdWlzaXRlTWVzc2FnZVwiPjwvbWF0LWljb24+XG4gICAgfVxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cInBvbGljeU5vdEZvdW5kICE9PSBmYWxzZVwiXG4gICAgICBjbGFzcz1cImdpby1iYWRnZS1lcnJvclwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJwb2xpY3lOb3RGb3VuZCA9PT0gJ1NIQVJFRF9QT0xJQ1lfR1JPVVAnID8gJ1NoYXJlZCBQb2xpY3kgR3JvdXAgbm90IGZvdW5kJyA6ICdQb2xpY3kgbm90IGZvdW5kJ1wiXG4gICAgPlxuICAgICAgQGlmIChwb2xpY3lOb3RGb3VuZCA9PT0gJ1NIQVJFRF9QT0xJQ1lfR1JPVVAnKSB7XG4gICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOnVzZXJzXCI+PC9tYXQtaWNvbj4mbmJzcDtcbiAgICAgIH1cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOmFsZXJ0LWNpcmNsZVwiPjwvbWF0LWljb24+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwic3RlcC5kZXNjcmlwdGlvblwiIGNsYXNzPVwiaW5mb19fZGVzY3JpcHRpb25cIj57eyBzdGVwLmRlc2NyaXB0aW9uIH19PC9kaXY+XG48L2Rpdj5cblxuPGJ1dHRvbiBjbGFzcz1cIm1lbnVCdG5cIiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInBvbGljeU1lbnVcIj48bWF0LWljb24gc3ZnSWNvbj1cImdpbzptb3JlLXZlcnRpY2FsXCI+PC9tYXQtaWNvbj48L2J1dHRvbj5cblxuPG1hdC1tZW51ICNwb2xpY3lNZW51PVwibWF0TWVudVwiPlxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uRWRpdE9yVmlldygpXCI+XG4gICAgPG1hdC1pY29uIFtzdmdJY29uXT1cInJlYWRPbmx5ID8gJ2dpbzpleWUtZW1wdHknIDogJ2dpbzplZGl0LXBlbmNpbCdcIj48L21hdC1pY29uPlxuICAgIDxzcGFuPnt7IHJlYWRPbmx5ID8gJ1ZpZXcnIDogJ0VkaXQnIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCJyZWFkT25seVwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uRGlzYWJsZSgpXCI+XG4gICAgPG1hdC1pY29uIFtzdmdJY29uXT1cInN0ZXAuZW5hYmxlZCA/ICdnaW86cHJvaGliaXRpb24nIDogJ2dpbzpjaGVjay1jaXJjbGVkLW91dGxpbmUnXCI+PC9tYXQtaWNvbj5cbiAgICA8c3Bhbj57eyBzdGVwLmVuYWJsZWQgPyAnRGlzYWJsZScgOiAnRW5hYmxlJyB9fTwvc3Bhbj5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwicmVhZE9ubHlcIiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbkRlbGV0ZSgpXCI+XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJnaW86dHJhc2hcIj48L21hdC1pY29uPlxuICAgIDxzcGFuPkRlbGV0ZTwvc3Bhbj5cbiAgPC9idXR0b24+XG48L21hdC1tZW51PlxuIl19
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
17
|
import { ReactiveFormsModule, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
|
18
|
-
import { map, takeUntil } from 'rxjs/operators';
|
|
18
|
+
import { catchError, map, takeUntil } from 'rxjs/operators';
|
|
19
19
|
import { of, Subject } from 'rxjs';
|
|
20
|
-
import { GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioLoaderModule, } from '@gravitee/ui-particles-angular';
|
|
20
|
+
import { GioBannerModule, GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioLoaderModule, } from '@gravitee/ui-particles-angular';
|
|
21
21
|
import { isEmpty } from 'lodash';
|
|
22
22
|
import { CommonModule } from '@angular/common';
|
|
23
23
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
@@ -49,13 +49,12 @@ export class GioPolicyStudioStepFormComponent {
|
|
|
49
49
|
}
|
|
50
50
|
return {};
|
|
51
51
|
}));
|
|
52
|
-
this.policyDocumentation$ = this.policyStudioService
|
|
53
|
-
.getPolicyDocumentation(toPolicy(this.genericPolicy))
|
|
54
|
-
.pipe(map(doc => (isEmpty(doc) ? 'No documentation available.' : doc)));
|
|
52
|
+
this.policyDocumentation$ = this.policyStudioService.getPolicyDocumentation(toPolicy(this.genericPolicy)).pipe(map(doc => (isEmpty(doc) ? 'No documentation available.' : doc)), catchError(() => of('No documentation available.')));
|
|
55
53
|
}
|
|
56
54
|
if (isSharedPolicyGroupPolicy(this.genericPolicy)) {
|
|
57
55
|
this.policySchema$ = of({});
|
|
58
|
-
this.policyDocumentation$ = of('
|
|
56
|
+
this.policyDocumentation$ = of(' ');
|
|
57
|
+
this.infoBanner = this.genericPolicy.prerequisiteMessage;
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
if (changes.executionPhase) {
|
|
@@ -106,7 +105,7 @@ export class GioPolicyStudioStepFormComponent {
|
|
|
106
105
|
});
|
|
107
106
|
}
|
|
108
107
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioPolicyStudioStepFormComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioPolicyStudioStepFormComponent, isStandalone: true, selector: "gio-ps-step-form", inputs: { readOnly: "readOnly", step: "step", executionPhase: "executionPhase", genericPolicy: "genericPolicy" }, outputs: { stepChange: "stepChange", isValid: "isValid" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (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 http://www.apache.org/licenses/LICENSE-2.0\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\n<div class=\"settings\">\n <div class=\"settings__header\">Settings</div>\n\n <div class=\"settings__content\">\n <ng-container *ngIf=\"stepForm && (policySchema$ | async) as policySchema; else loadingTmpl\" [formGroup]=\"stepForm\">\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea matInput formControlName=\"description\" cdkFocusInitial></textarea>\n <mat-hint>Describe how your policy works.</mat-hint>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Trigger condition</mat-label>\n <input matInput formControlName=\"condition\" />\n <mat-hint>The condition to execute this policy. Supports Expression Language.</mat-hint>\n </mat-form-field>\n\n <gio-form-json-schema\n *ngIf=\"policySchema\"\n [jsonSchema]=\"$any(policySchema)\"\n [context]=\"context\"\n (ready)=\"onJsonSchemaReady($event)\"\n formControlName=\"configuration\"\n ></gio-form-json-schema>\n </ng-container>\n </div>\n</div>\n\n<div class=\"documentation\">\n <div class=\"documentation__header\">Documentation</div>\n\n <div class=\"documentation__content\">\n <ng-container *ngIf=\"policyDocumentation$ | async as policyDocumentation; else loadingTmpl\">\n <gio-asciidoctor [content]=\"policyDocumentation\"></gio-asciidoctor>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTmpl>\n <gio-loader></gio-loader>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:row;border:1px solid #d3d5dc;border-radius:8px}.settings{display:flex;flex:0 0 50%;flex-direction:column}.settings__header{border-right:1px solid #d3d5dc}.settings__content{display:flex;flex:1 1 auto;flex-direction:column;padding:16px;border-right:1px solid #d3d5dc}.documentation{display:flex;overflow:auto;flex:0 0 50%;flex-direction:column}.documentation__content{overflow:auto;flex:1 1 auto;padding:16px}.settings__header,.documentation__header{padding:16px;border-bottom:1px solid #d3d5dc;font-size:14px;font-weight:500;line-height:20px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: GioFormJsonSchemaModule }, { kind: "component", type: i6.GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: ["jsonSchema", "context", "options"], outputs: ["ready"] }, { kind: "ngmodule", type: GioAsciidoctorModule }, { kind: "component", type: i7.GioAsciidoctorComponent, selector: "gio-asciidoctor", inputs: ["content", "src"] }, { kind: "ngmodule", type: GioLoaderModule }, { kind: "component", type: i6.GioLoaderComponent, selector: "gio-loader" }] }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioPolicyStudioStepFormComponent, isStandalone: true, selector: "gio-ps-step-form", inputs: { readOnly: "readOnly", step: "step", executionPhase: "executionPhase", genericPolicy: "genericPolicy" }, outputs: { stepChange: "stepChange", isValid: "isValid" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (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 http://www.apache.org/licenses/LICENSE-2.0\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\n<div class=\"settings\">\n <div class=\"settings__header\">Settings</div>\n\n <div class=\"settings__content\">\n <ng-container *ngIf=\"stepForm && (policySchema$ | async) as policySchema; else loadingTmpl\" [formGroup]=\"stepForm\">\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea matInput formControlName=\"description\" cdkFocusInitial></textarea>\n <mat-hint>Describe how your policy works.</mat-hint>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Trigger condition</mat-label>\n <input matInput formControlName=\"condition\" />\n <mat-hint>The condition to execute this policy. Supports Expression Language.</mat-hint>\n </mat-form-field>\n\n <gio-form-json-schema\n *ngIf=\"policySchema\"\n [jsonSchema]=\"$any(policySchema)\"\n [context]=\"context\"\n (ready)=\"onJsonSchemaReady($event)\"\n formControlName=\"configuration\"\n ></gio-form-json-schema>\n </ng-container>\n </div>\n</div>\n\n<div class=\"documentation\">\n <div class=\"documentation__header\">Documentation</div>\n\n <div class=\"documentation__content\">\n <gio-banner-warning *ngIf=\"infoBanner\">\n Prerequisite message\n <span gioBannerBody>{{ infoBanner }}</span>\n </gio-banner-warning>\n <ng-container *ngIf=\"policyDocumentation$ | async as policyDocumentation; else loadingTmpl\">\n <gio-asciidoctor [content]=\"policyDocumentation\"></gio-asciidoctor>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTmpl>\n <gio-loader></gio-loader>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:row;border:1px solid #d3d5dc;border-radius:8px}.settings{display:flex;flex:0 0 50%;flex-direction:column}.settings__header{border-right:1px solid #d3d5dc}.settings__content{display:flex;flex:1 1 auto;flex-direction:column;padding:16px;border-right:1px solid #d3d5dc}.documentation{display:flex;overflow:auto;flex:0 0 50%;flex-direction:column}.documentation__content{overflow:auto;flex:1 1 auto;padding:16px}.settings__header,.documentation__header{padding:16px;border-bottom:1px solid #d3d5dc;font-size:14px;font-weight:500;line-height:20px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: GioFormJsonSchemaModule }, { kind: "component", type: i6.GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: ["jsonSchema", "context", "options"], outputs: ["ready"] }, { kind: "ngmodule", type: GioAsciidoctorModule }, { kind: "component", type: i7.GioAsciidoctorComponent, selector: "gio-asciidoctor", inputs: ["content", "src"] }, { kind: "ngmodule", type: GioLoaderModule }, { kind: "component", type: i6.GioLoaderComponent, selector: "gio-loader" }, { kind: "ngmodule", type: GioBannerModule }, { kind: "component", type: i6.GioBannerWarningComponent, selector: "gio-banner-warning" }, { kind: "directive", type: i6.GioBannerBodyDirective, selector: "[gioBannerBody]" }] }); }
|
|
110
109
|
}
|
|
111
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioPolicyStudioStepFormComponent, decorators: [{
|
|
112
111
|
type: Component,
|
|
@@ -118,7 +117,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
118
117
|
GioFormJsonSchemaModule,
|
|
119
118
|
GioAsciidoctorModule,
|
|
120
119
|
GioLoaderModule,
|
|
121
|
-
|
|
120
|
+
GioBannerModule,
|
|
121
|
+
], selector: 'gio-ps-step-form', template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (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 http://www.apache.org/licenses/LICENSE-2.0\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\n<div class=\"settings\">\n <div class=\"settings__header\">Settings</div>\n\n <div class=\"settings__content\">\n <ng-container *ngIf=\"stepForm && (policySchema$ | async) as policySchema; else loadingTmpl\" [formGroup]=\"stepForm\">\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea matInput formControlName=\"description\" cdkFocusInitial></textarea>\n <mat-hint>Describe how your policy works.</mat-hint>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Trigger condition</mat-label>\n <input matInput formControlName=\"condition\" />\n <mat-hint>The condition to execute this policy. Supports Expression Language.</mat-hint>\n </mat-form-field>\n\n <gio-form-json-schema\n *ngIf=\"policySchema\"\n [jsonSchema]=\"$any(policySchema)\"\n [context]=\"context\"\n (ready)=\"onJsonSchemaReady($event)\"\n formControlName=\"configuration\"\n ></gio-form-json-schema>\n </ng-container>\n </div>\n</div>\n\n<div class=\"documentation\">\n <div class=\"documentation__header\">Documentation</div>\n\n <div class=\"documentation__content\">\n <gio-banner-warning *ngIf=\"infoBanner\">\n Prerequisite message\n <span gioBannerBody>{{ infoBanner }}</span>\n </gio-banner-warning>\n <ng-container *ngIf=\"policyDocumentation$ | async as policyDocumentation; else loadingTmpl\">\n <gio-asciidoctor [content]=\"policyDocumentation\"></gio-asciidoctor>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTmpl>\n <gio-loader></gio-loader>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:row;border:1px solid #d3d5dc;border-radius:8px}.settings{display:flex;flex:0 0 50%;flex-direction:column}.settings__header{border-right:1px solid #d3d5dc}.settings__content{display:flex;flex:1 1 auto;flex-direction:column;padding:16px;border-right:1px solid #d3d5dc}.documentation{display:flex;overflow:auto;flex:0 0 50%;flex-direction:column}.documentation__content{overflow:auto;flex:1 1 auto;padding:16px}.settings__header,.documentation__header{padding:16px;border-bottom:1px solid #d3d5dc;font-size:14px;font-weight:500;line-height:20px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"] }]
|
|
122
122
|
}], ctorParameters: () => [{ type: i1.GioPolicyStudioService }], propDecorators: { readOnly: [{
|
|
123
123
|
type: Input
|
|
124
124
|
}], step: [{
|
|
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
133
133
|
}], isValid: [{
|
|
134
134
|
type: Output
|
|
135
135
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLXN0ZXAtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXAtZm9ybS9naW8tcHMtc3RlcC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc3RlcC1mb3JtL2dpby1wcy1zdGVwLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUd2QixlQUFlLEdBQ2hCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXRGLE9BQU8sRUFBa0IsUUFBUSxFQUFFLHlCQUF5QixFQUFRLFFBQVEsRUFBaUIsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztBQWtCbEgsTUFBTSxPQUFPLGdDQUFnQztJQTJCM0MsWUFBNkIsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUF6QmpFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFZakIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFTckMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2dDLENBQUM7SUFFckUsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFCLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDOUYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNYLElBQUksMEJBQTBCLENBQUMsYUFBYSxDQUFDLE1BQXVCLENBQUMsRUFBRSxDQUFDO3dCQUN0RSxPQUFPLE1BQXVCLENBQUM7b0JBQ2pDLENBQUM7b0JBQ0QsT0FBTyxFQUFFLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztnQkFFRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtxQkFDakQsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVFLENBQUM7WUFDRCxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFNUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDYixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7YUFDcEMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDO1lBQ25DLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0YsU0FBUyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzRixhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3BHLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0saUJBQWlCLENBQUMsT0FBZ0I7UUFDdkMsNENBQTRDO1FBQzVDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLENBQUM7UUFFL0QsSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRCxhQUFhLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDbEYsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLEdBQUcsSUFBSSxDQUFDLElBQUk7WUFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSztZQUNyRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLFNBQVM7WUFDOUQsYUFBYTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBM0dVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLDhRQ2xEN0MsK2xFQTJEQSw0MkJEckJJLFlBQVksdUxBQ1osbUJBQW1CLG0yQkFDbkIsY0FBYyw4c0JBQ2Qsa0JBQWtCLDhCQUNsQix1QkFBdUIsOExBQ3ZCLG9CQUFvQixnSkFDcEIsZUFBZTs7MkZBTU4sZ0NBQWdDO2tCQWY1QyxTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixlQUFlO3FCQUNoQixZQUNTLGtCQUFrQjsyRkFNckIsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixNQUFNO2dCQUlBLE9BQU87c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgR2lvRm9ybUpzb25TY2hlbWFDb21wb25lbnQsXG4gIEdpb0Zvcm1Kc29uU2NoZW1hTW9kdWxlLFxuICBHaW9Kc29uU2NoZW1hLFxuICBHaW9Kc29uU2NoZW1hQ29udGV4dCxcbiAgR2lvTG9hZGVyTW9kdWxlLFxufSBmcm9tICdAZ3Jhdml0ZWUvdWktcGFydGljbGVzLWFuZ3VsYXInO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEdpb0FzY2lpZG9jdG9yTW9kdWxlIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyL2dpby1hc2NpaWRvY3Rvcic7XG5cbmltcG9ydCB7IEV4ZWN1dGlvblBoYXNlLCBpc1BvbGljeSwgaXNTaGFyZWRQb2xpY3lHcm91cFBvbGljeSwgU3RlcCwgdG9Qb2xpY3ksIEdlbmVyaWNQb2xpY3kgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvU2VydmljZSB9IGZyb20gJy4uLy4uL3BvbGljeS1zdHVkaW8vZ2lvLXBvbGljeS1zdHVkaW8uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIEdpb0Zvcm1Kc29uU2NoZW1hTW9kdWxlLFxuICAgIEdpb0FzY2lpZG9jdG9yTW9kdWxlLFxuICAgIEdpb0xvYWRlck1vZHVsZSxcbiAgXSxcbiAgc2VsZWN0b3I6ICdnaW8tcHMtc3RlcC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wcy1zdGVwLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tcHMtc3RlcC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb1N0ZXBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkT25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGVwPzogU3RlcDtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgZXhlY3V0aW9uUGhhc2UhOiBFeGVjdXRpb25QaGFzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2VuZXJpY1BvbGljeSE6IEdlbmVyaWNQb2xpY3k7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzdGVwQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTdGVwPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaXNWYWxpZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgcG9saWN5U2NoZW1hJD86IE9ic2VydmFibGU8R2lvSnNvblNjaGVtYSB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICBwdWJsaWMgcG9saWN5RG9jdW1lbnRhdGlvbiQ/OiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgcHVibGljIHN0ZXBGb3JtPzogVW50eXBlZEZvcm1Hcm91cDtcblxuICBwdWJsaWMgY29udGV4dD86IEdpb0pzb25TY2hlbWFDb250ZXh0O1xuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwb2xpY3lTdHVkaW9TZXJ2aWNlOiBHaW9Qb2xpY3lTdHVkaW9TZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZ2VuZXJpY1BvbGljeSkge1xuICAgICAgaWYgKGlzUG9saWN5KHRoaXMuZ2VuZXJpY1BvbGljeSkpIHtcbiAgICAgICAgdGhpcy5wb2xpY3lTY2hlbWEkID0gdGhpcy5wb2xpY3lTdHVkaW9TZXJ2aWNlLmdldFBvbGljeVNjaGVtYSh0b1BvbGljeSh0aGlzLmdlbmVyaWNQb2xpY3kpKS5waXBlKFxuICAgICAgICAgIG1hcChzY2hlbWEgPT4ge1xuICAgICAgICAgICAgaWYgKEdpb0Zvcm1Kc29uU2NoZW1hQ29tcG9uZW50LmlzRGlzcGxheWFibGUoc2NoZW1hIGFzIEdpb0pzb25TY2hlbWEpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBzY2hlbWEgYXMgR2lvSnNvblNjaGVtYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnBvbGljeURvY3VtZW50YXRpb24kID0gdGhpcy5wb2xpY3lTdHVkaW9TZXJ2aWNlXG4gICAgICAgICAgLmdldFBvbGljeURvY3VtZW50YXRpb24odG9Qb2xpY3kodGhpcy5nZW5lcmljUG9saWN5KSlcbiAgICAgICAgICAucGlwZShtYXAoZG9jID0+IChpc0VtcHR5KGRvYykgPyAnTm8gZG9jdW1lbnRhdGlvbiBhdmFpbGFibGUuJyA6IGRvYykpKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1NoYXJlZFBvbGljeUdyb3VwUG9saWN5KHRoaXMuZ2VuZXJpY1BvbGljeSkpIHtcbiAgICAgICAgdGhpcy5wb2xpY3lTY2hlbWEkID0gb2Yoe30pO1xuXG4gICAgICAgIHRoaXMucG9saWN5RG9jdW1lbnRhdGlvbiQgPSBvZignTm8gZG9jdW1lbnRhdGlvbiBhdmFpbGFibGUuJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmV4ZWN1dGlvblBoYXNlKSB7XG4gICAgICB0aGlzLmNvbnRleHQgPSB7XG4gICAgICAgIGV4ZWN1dGlvblBoYXNlOiB0aGlzLmV4ZWN1dGlvblBoYXNlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0U3RlcEZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN0ZXBGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcEZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnN0ZXA/LmRlc2NyaXB0aW9uLCBkaXNhYmxlZDogdGhpcy5yZWFkT25seSB9KSxcbiAgICAgIGNvbmRpdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnN0ZXA/LmNvbmRpdGlvbiwgZGlzYWJsZWQ6IHRoaXMucmVhZE9ubHkgfSksXG4gICAgICBjb25maWd1cmF0aW9uOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6IHRoaXMuc3RlcD8uY29uZmlndXJhdGlvbiwgZGlzYWJsZWQ6IHRoaXMucmVhZE9ubHkgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLnN0ZXBGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmVtaXRTdGVwQ2hhbmdlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0ZXBGb3JtLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUodmFsaWQgPT4ge1xuICAgICAgdGhpcy5pc1ZhbGlkLmVtaXQodmFsaWQgPT09ICdWQUxJRCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uSnNvblNjaGVtYVJlYWR5KGlzUmVhZHk6IGJvb2xlYW4pIHtcbiAgICAvLyBXaGVuIHJlYWR5IGFuZCBpZiB0aGUgZm9ybSBpcyB2YWxpZCwgZW1pdFxuICAgIGlmIChpc1JlYWR5KSB7XG4gICAgICB0aGlzLmVtaXRTdGVwQ2hhbmdlKCk7XG5cbiAgICAgIGlmICh0aGlzLnN0ZXBGb3JtPy5zdGF0dXMgPT09ICdWQUxJRCcpIHtcbiAgICAgICAgdGhpcy5pc1ZhbGlkLmVtaXQodHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVtaXRTdGVwQ2hhbmdlKCk6IHZvaWQge1xuICAgIGxldCBjb25maWd1cmF0aW9uID0gdGhpcy5zdGVwRm9ybT8uZ2V0KCdjb25maWd1cmF0aW9uJyk/LnZhbHVlO1xuXG4gICAgaWYgKGlzU2hhcmVkUG9saWN5R3JvdXBQb2xpY3kodGhpcy5nZW5lcmljUG9saWN5KSkge1xuICAgICAgY29uZmlndXJhdGlvbiA9IHsgc2hhcmVkUG9saWN5R3JvdXBJZDogdGhpcy5nZW5lcmljUG9saWN5LnNoYXJlZFBvbGljeUdyb3VwSWQgfTtcbiAgICB9XG5cbiAgICB0aGlzLnN0ZXBDaGFuZ2UuZW1pdCh7XG4gICAgICAuLi50aGlzLnN0ZXAsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5zdGVwRm9ybT8uZ2V0KCdkZXNjcmlwdGlvbicpPy52YWx1ZSxcbiAgICAgIGNvbmRpdGlvbjogdGhpcy5zdGVwRm9ybT8uZ2V0KCdjb25kaXRpb24nKT8udmFsdWUgPz8gdW5kZWZpbmVkLFxuICAgICAgY29uZmlndXJhdGlvbixcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDIzIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gICAgXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gICAgXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAgICBcbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG5cbjxkaXYgY2xhc3M9XCJzZXR0aW5nc1wiPlxuICA8ZGl2IGNsYXNzPVwic2V0dGluZ3NfX2hlYWRlclwiPlNldHRpbmdzPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNldHRpbmdzX19jb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXBGb3JtICYmIChwb2xpY3lTY2hlbWEkIHwgYXN5bmMpIGFzIHBvbGljeVNjaGVtYTsgZWxzZSBsb2FkaW5nVG1wbFwiIFtmb3JtR3JvdXBdPVwic3RlcEZvcm1cIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD5EZXNjcmlwdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiBjZGtGb2N1c0luaXRpYWw+PC90ZXh0YXJlYT5cbiAgICAgICAgPG1hdC1oaW50PkRlc2NyaWJlIGhvdyB5b3VyIHBvbGljeSB3b3Jrcy48L21hdC1oaW50PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPlRyaWdnZXIgY29uZGl0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjb25kaXRpb25cIiAvPlxuICAgICAgICA8bWF0LWhpbnQ+VGhlIGNvbmRpdGlvbiB0byBleGVjdXRlIHRoaXMgcG9saWN5LiBTdXBwb3J0cyBFeHByZXNzaW9uIExhbmd1YWdlLjwvbWF0LWhpbnQ+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8Z2lvLWZvcm0tanNvbi1zY2hlbWFcbiAgICAgICAgKm5nSWY9XCJwb2xpY3lTY2hlbWFcIlxuICAgICAgICBbanNvblNjaGVtYV09XCIkYW55KHBvbGljeVNjaGVtYSlcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgKHJlYWR5KT1cIm9uSnNvblNjaGVtYVJlYWR5KCRldmVudClcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb25maWd1cmF0aW9uXCJcbiAgICAgID48L2dpby1mb3JtLWpzb24tc2NoZW1hPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZG9jdW1lbnRhdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRhdGlvbl9faGVhZGVyXCI+RG9jdW1lbnRhdGlvbjwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkb2N1bWVudGF0aW9uX19jb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvbGljeURvY3VtZW50YXRpb24kIHwgYXN5bmMgYXMgcG9saWN5RG9jdW1lbnRhdGlvbjsgZWxzZSBsb2FkaW5nVG1wbFwiPlxuICAgICAgPGdpby1hc2NpaWRvY3RvciBbY29udGVudF09XCJwb2xpY3lEb2N1bWVudGF0aW9uXCI+PC9naW8tYXNjaWlkb2N0b3I+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RtcGw+XG4gIDxnaW8tbG9hZGVyPjwvZ2lvLWxvYWRlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLXN0ZXAtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXAtZm9ybS9naW8tcHMtc3RlcC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc3RlcC1mb3JtL2dpby1wcy1zdGVwLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUNMLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBR3ZCLGVBQWUsR0FDaEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdE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QUM7UUFDbEYsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLEdBQUcsSUFBSSxDQUFDLElBQUk7WUFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSztZQUNyRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLFNBQVM7WUFDOUQsYUFBYTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBL0dVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLDhRQ3BEN0Msd3ZFQStEQSw0MkJEeEJJLFlBQVksdUxBQ1osbUJBQW1CLG0yQkFDbkIsY0FBYyw4c0JBQ2Qsa0JBQWtCLDhCQUNsQix1QkFBdUIsOExBQ3ZCLG9CQUFvQixnSkFDcEIsZUFBZSwwR0FDZixlQUFlOzsyRkFNTixnQ0FBZ0M7a0JBaEI1QyxTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCLFlBQ1Msa0JBQWtCOzJGQU1yQixRQUFRO3NCQURkLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixhQUFhO3NCQURuQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBHaW9CYW5uZXJNb2R1bGUsXG4gIEdpb0Zvcm1Kc29uU2NoZW1hQ29tcG9uZW50LFxuICBHaW9Gb3JtSnNvblNjaGVtYU1vZHVsZSxcbiAgR2lvSnNvblNjaGVtYSxcbiAgR2lvSnNvblNjaGVtYUNvbnRleHQsXG4gIEdpb0xvYWRlck1vZHVsZSxcbn0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBHaW9Bc2NpaWRvY3Rvck1vZHVsZSB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhci9naW8tYXNjaWlkb2N0b3InO1xuXG5pbXBvcnQgeyBFeGVjdXRpb25QaGFzZSwgaXNQb2xpY3ksIGlzU2hhcmVkUG9saWN5R3JvdXBQb2xpY3ksIFN0ZXAsIHRvUG9saWN5LCBHZW5lcmljUG9saWN5IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9wb2xpY3ktc3R1ZGlvL2dpby1wb2xpY3ktc3R1ZGlvLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBHaW9Gb3JtSnNvblNjaGVtYU1vZHVsZSxcbiAgICBHaW9Bc2NpaWRvY3Rvck1vZHVsZSxcbiAgICBHaW9Mb2FkZXJNb2R1bGUsXG4gICAgR2lvQmFubmVyTW9kdWxlLFxuICBdLFxuICBzZWxlY3RvcjogJ2dpby1wcy1zdGVwLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2lvLXBzLXN0ZXAtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dpby1wcy1zdGVwLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvU3RlcEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0ZXA/OiBTdGVwO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBleGVjdXRpb25QaGFzZSE6IEV4ZWN1dGlvblBoYXNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZW5lcmljUG9saWN5ITogR2VuZXJpY1BvbGljeTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHN0ZXBDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFN0ZXA+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpc1ZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBwb2xpY3lTY2hlbWEkPzogT2JzZXJ2YWJsZTxHaW9Kc29uU2NoZW1hIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHB1YmxpYyBwb2xpY3lEb2N1bWVudGF0aW9uJD86IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcHVibGljIGluZm9CYW5uZXI/OiBzdHJpbmc7XG5cbiAgcHVibGljIHN0ZXBGb3JtPzogVW50eXBlZEZvcm1Hcm91cDtcblxuICBwdWJsaWMgY29udGV4dD86IEdpb0pzb25TY2hlbWFDb250ZXh0O1xuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwb2xpY3lTdHVkaW9TZXJ2aWNlOiBHaW9Qb2xpY3lTdHVkaW9TZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZ2VuZXJpY1BvbGljeSkge1xuICAgICAgaWYgKGlzUG9saWN5KHRoaXMuZ2VuZXJpY1BvbGljeSkpIHtcbiAgICAgICAgdGhpcy5wb2xpY3lTY2hlbWEkID0gdGhpcy5wb2xpY3lTdHVkaW9TZXJ2aWNlLmdldFBvbGljeVNjaGVtYSh0b1BvbGljeSh0aGlzLmdlbmVyaWNQb2xpY3kpKS5waXBlKFxuICAgICAgICAgIG1hcChzY2hlbWEgPT4ge1xuICAgICAgICAgICAgaWYgKEdpb0Zvcm1Kc29uU2NoZW1hQ29tcG9uZW50LmlzRGlzcGxheWFibGUoc2NoZW1hIGFzIEdpb0pzb25TY2hlbWEpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBzY2hlbWEgYXMgR2lvSnNvblNjaGVtYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnBvbGljeURvY3VtZW50YXRpb24kID0gdGhpcy5wb2xpY3lTdHVkaW9TZXJ2aWNlLmdldFBvbGljeURvY3VtZW50YXRpb24odG9Qb2xpY3kodGhpcy5nZW5lcmljUG9saWN5KSkucGlwZShcbiAgICAgICAgICBtYXAoZG9jID0+IChpc0VtcHR5KGRvYykgPyAnTm8gZG9jdW1lbnRhdGlvbiBhdmFpbGFibGUuJyA6IGRvYykpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoJ05vIGRvY3VtZW50YXRpb24gYXZhaWxhYmxlLicpKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1NoYXJlZFBvbGljeUdyb3VwUG9saWN5KHRoaXMuZ2VuZXJpY1BvbGljeSkpIHtcbiAgICAgICAgdGhpcy5wb2xpY3lTY2hlbWEkID0gb2Yoe30pO1xuXG4gICAgICAgIHRoaXMucG9saWN5RG9jdW1lbnRhdGlvbiQgPSBvZignICcpO1xuXG4gICAgICAgIHRoaXMuaW5mb0Jhbm5lciA9IHRoaXMuZ2VuZXJpY1BvbGljeS5wcmVyZXF1aXNpdGVNZXNzYWdlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5leGVjdXRpb25QaGFzZSkge1xuICAgICAgdGhpcy5jb250ZXh0ID0ge1xuICAgICAgICBleGVjdXRpb25QaGFzZTogdGhpcy5leGVjdXRpb25QaGFzZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdFN0ZXBGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTdGVwRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBGb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgZGVzY3JpcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy5zdGVwPy5kZXNjcmlwdGlvbiwgZGlzYWJsZWQ6IHRoaXMucmVhZE9ubHkgfSksXG4gICAgICBjb25kaXRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy5zdGVwPy5jb25kaXRpb24sIGRpc2FibGVkOiB0aGlzLnJlYWRPbmx5IH0pLFxuICAgICAgY29uZmlndXJhdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnN0ZXA/LmNvbmZpZ3VyYXRpb24sIGRpc2FibGVkOiB0aGlzLnJlYWRPbmx5IH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zdGVwRm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5lbWl0U3RlcENoYW5nZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdGVwRm9ybS5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKHZhbGlkID0+IHtcbiAgICAgIHRoaXMuaXNWYWxpZC5lbWl0KHZhbGlkID09PSAnVkFMSUQnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkpzb25TY2hlbWFSZWFkeShpc1JlYWR5OiBib29sZWFuKSB7XG4gICAgLy8gV2hlbiByZWFkeSBhbmQgaWYgdGhlIGZvcm0gaXMgdmFsaWQsIGVtaXRcbiAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgdGhpcy5lbWl0U3RlcENoYW5nZSgpO1xuXG4gICAgICBpZiAodGhpcy5zdGVwRm9ybT8uc3RhdHVzID09PSAnVkFMSUQnKSB7XG4gICAgICAgIHRoaXMuaXNWYWxpZC5lbWl0KHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbWl0U3RlcENoYW5nZSgpOiB2b2lkIHtcbiAgICBsZXQgY29uZmlndXJhdGlvbiA9IHRoaXMuc3RlcEZvcm0/LmdldCgnY29uZmlndXJhdGlvbicpPy52YWx1ZTtcblxuICAgIGlmIChpc1NoYXJlZFBvbGljeUdyb3VwUG9saWN5KHRoaXMuZ2VuZXJpY1BvbGljeSkpIHtcbiAgICAgIGNvbmZpZ3VyYXRpb24gPSB7IHNoYXJlZFBvbGljeUdyb3VwSWQ6IHRoaXMuZ2VuZXJpY1BvbGljeS5zaGFyZWRQb2xpY3lHcm91cElkIH07XG4gICAgfVxuXG4gICAgdGhpcy5zdGVwQ2hhbmdlLmVtaXQoe1xuICAgICAgLi4udGhpcy5zdGVwLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuc3RlcEZvcm0/LmdldCgnZGVzY3JpcHRpb24nKT8udmFsdWUsXG4gICAgICBjb25kaXRpb246IHRoaXMuc3RlcEZvcm0/LmdldCgnY29uZGl0aW9uJyk/LnZhbHVlID8/IHVuZGVmaW5lZCxcbiAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cblxuICAgIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICAgIFxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICAgIFxuICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gICAgXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cbi0tPlxuXG48ZGl2IGNsYXNzPVwic2V0dGluZ3NcIj5cbiAgPGRpdiBjbGFzcz1cInNldHRpbmdzX19oZWFkZXJcIj5TZXR0aW5nczwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzZXR0aW5nc19fY29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwRm9ybSAmJiAocG9saWN5U2NoZW1hJCB8IGFzeW5jKSBhcyBwb2xpY3lTY2hlbWE7IGVsc2UgbG9hZGluZ1RtcGxcIiBbZm9ybUdyb3VwXT1cInN0ZXBGb3JtXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+RGVzY3JpcHRpb248L21hdC1sYWJlbD5cbiAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCIgY2RrRm9jdXNJbml0aWFsPjwvdGV4dGFyZWE+XG4gICAgICAgIDxtYXQtaGludD5EZXNjcmliZSBob3cgeW91ciBwb2xpY3kgd29ya3MuPC9tYXQtaGludD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD5UcmlnZ2VyIGNvbmRpdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY29uZGl0aW9uXCIgLz5cbiAgICAgICAgPG1hdC1oaW50PlRoZSBjb25kaXRpb24gdG8gZXhlY3V0ZSB0aGlzIHBvbGljeS4gU3VwcG9ydHMgRXhwcmVzc2lvbiBMYW5ndWFnZS48L21hdC1oaW50PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPGdpby1mb3JtLWpzb24tc2NoZW1hXG4gICAgICAgICpuZ0lmPVwicG9saWN5U2NoZW1hXCJcbiAgICAgICAgW2pzb25TY2hlbWFdPVwiJGFueShwb2xpY3lTY2hlbWEpXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgIChyZWFkeSk9XCJvbkpzb25TY2hlbWFSZWFkeSgkZXZlbnQpXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29uZmlndXJhdGlvblwiXG4gICAgICA+PC9naW8tZm9ybS1qc29uLXNjaGVtYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImRvY3VtZW50YXRpb25cIj5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50YXRpb25fX2hlYWRlclwiPkRvY3VtZW50YXRpb248L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRhdGlvbl9fY29udGVudFwiPlxuICAgIDxnaW8tYmFubmVyLXdhcm5pbmcgKm5nSWY9XCJpbmZvQmFubmVyXCI+XG4gICAgICBQcmVyZXF1aXNpdGUgbWVzc2FnZVxuICAgICAgPHNwYW4gZ2lvQmFubmVyQm9keT57eyBpbmZvQmFubmVyIH19PC9zcGFuPlxuICAgIDwvZ2lvLWJhbm5lci13YXJuaW5nPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwb2xpY3lEb2N1bWVudGF0aW9uJCB8IGFzeW5jIGFzIHBvbGljeURvY3VtZW50YXRpb247IGVsc2UgbG9hZGluZ1RtcGxcIj5cbiAgICAgIDxnaW8tYXNjaWlkb2N0b3IgW2NvbnRlbnRdPVwicG9saWN5RG9jdW1lbnRhdGlvblwiPjwvZ2lvLWFzY2lpZG9jdG9yPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmdUbXBsPlxuICA8Z2lvLWxvYWRlcj48L2dpby1sb2FkZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
export {};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhcmVkUG9saWN5R3JvdXBQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvcG9saWN5L1NoYXJlZFBvbGljeUdyb3VwUG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQXBpVHlwZSB9IGZyb20gJy4uL2Zsb3cnO1xuXG5pbXBvcnQgeyBFeGVjdXRpb25QaGFzZSB9IGZyb20gJy4vUG9saWN5JztcblxuZXhwb3J0IHR5cGUgU2hhcmVkUG9saWN5R3JvdXBQb2xpY3kgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHBvbGljeUlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGFwaVR5cGU6IEFwaVR5cGU7XG4gIHBoYXNlOiBFeGVjdXRpb25QaGFzZTtcbn07XG4iXX0=
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhcmVkUG9saWN5R3JvdXBQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvcG9saWN5L1NoYXJlZFBvbGljeUdyb3VwUG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQXBpVHlwZSB9IGZyb20gJy4uL2Zsb3cnO1xuXG5pbXBvcnQgeyBFeGVjdXRpb25QaGFzZSB9IGZyb20gJy4vUG9saWN5JztcblxuZXhwb3J0IHR5cGUgU2hhcmVkUG9saWN5R3JvdXBQb2xpY3kgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHBvbGljeUlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHByZXJlcXVpc2l0ZU1lc3NhZ2U/OiBzdHJpbmc7XG4gIGFwaVR5cGU6IEFwaVR5cGU7XG4gIHBoYXNlOiBFeGVjdXRpb25QaGFzZTtcbn07XG4iXX0=
|
|
@@ -28,6 +28,10 @@ export class GioPolicyGroupStudioComponent {
|
|
|
28
28
|
* List of policies usable in the studio
|
|
29
29
|
*/
|
|
30
30
|
this.policies = [];
|
|
31
|
+
/**
|
|
32
|
+
* Whether the Policy Group Studio is in read-only mode
|
|
33
|
+
*/
|
|
34
|
+
this.readOnly = false;
|
|
31
35
|
/**
|
|
32
36
|
* Called when Policy Group Studio needs to fetch the policy schema
|
|
33
37
|
* @returns Observable of the policy schema
|
|
@@ -44,7 +48,6 @@ export class GioPolicyGroupStudioComponent {
|
|
|
44
48
|
*/
|
|
45
49
|
this.policyGroupChange = new EventEmitter();
|
|
46
50
|
this.isLoading = true;
|
|
47
|
-
this.readOnly = false;
|
|
48
51
|
this.startConnector = name => [
|
|
49
52
|
{
|
|
50
53
|
name,
|
|
@@ -127,7 +130,7 @@ export class GioPolicyGroupStudioComponent {
|
|
|
127
130
|
this.policyGroupChange.emit(steps);
|
|
128
131
|
}
|
|
129
132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioPolicyGroupStudioComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: GioPolicyGroupStudioComponent, isStandalone: true, selector: "gio-policy-group-studio", inputs: { policies: ["policies", "policies", (policies) => policies ?? []], apiType: "apiType", executionPhase: "executionPhase", policySchemaFetcher: "policySchemaFetcher", policyDocumentationFetcher: "policyDocumentationFetcher", policyGroup: "policyGroup" }, outputs: { policyGroupChange: "policyGroupChange" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (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 http://www.apache.org/licenses/LICENSE-2.0\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@if (!isLoading && policyGroupVM) {\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n [name]=\"policyGroupVM.name\"\n [description]=\"policyGroupVM.description\"\n [readOnly]=\"readOnly\"\n [startConnector]=\"startConnector(policyGroupVM.startConnectorName)\"\n [endConnector]=\"endConnector(policyGroupVM.endConnectorName)\"\n [steps]=\"steps\"\n [apiType]=\"apiType\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n [policyExecutionPhase]=\"executionPhase\"\n (stepsChange)=\"onStepsChange($event)\"\n ></gio-ps-flow-details-phase>\n} @else {\n <gio-loader></gio-loader>\n}\n", styles: [""], dependencies: [{ kind: "component", type: GioPolicyStudioDetailsPhaseComponent, selector: "gio-ps-flow-details-phase", inputs: ["readOnly", "steps", "name", "description", "startConnector", "endConnector", "apiType", "genericPolicies", "policyExecutionPhase", "trialUrl"], outputs: ["stepsChange"] }, { kind: "ngmodule", type: GioFormJsonSchemaModule }, { kind: "ngmodule", type: GioLoaderModule }, { kind: "component", type: i2.GioLoaderComponent, selector: "gio-loader" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: GioPolicyGroupStudioComponent, isStandalone: true, selector: "gio-policy-group-studio", inputs: { policies: ["policies", "policies", (policies) => policies ?? []], readOnly: "readOnly", apiType: "apiType", executionPhase: "executionPhase", policySchemaFetcher: "policySchemaFetcher", policyDocumentationFetcher: "policyDocumentationFetcher", policyGroup: "policyGroup" }, outputs: { policyGroupChange: "policyGroupChange" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (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 http://www.apache.org/licenses/LICENSE-2.0\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@if (!isLoading && policyGroupVM) {\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n [name]=\"policyGroupVM.name\"\n [description]=\"policyGroupVM.description\"\n [readOnly]=\"readOnly\"\n [startConnector]=\"startConnector(policyGroupVM.startConnectorName)\"\n [endConnector]=\"endConnector(policyGroupVM.endConnectorName)\"\n [steps]=\"steps\"\n [apiType]=\"apiType\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n [policyExecutionPhase]=\"executionPhase\"\n (stepsChange)=\"onStepsChange($event)\"\n ></gio-ps-flow-details-phase>\n} @else {\n <gio-loader></gio-loader>\n}\n", styles: [""], dependencies: [{ kind: "component", type: GioPolicyStudioDetailsPhaseComponent, selector: "gio-ps-flow-details-phase", inputs: ["readOnly", "steps", "name", "description", "startConnector", "endConnector", "apiType", "genericPolicies", "policyExecutionPhase", "trialUrl"], outputs: ["stepsChange"] }, { kind: "ngmodule", type: GioFormJsonSchemaModule }, { kind: "ngmodule", type: GioLoaderModule }, { kind: "component", type: i2.GioLoaderComponent, selector: "gio-loader" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
131
134
|
}
|
|
132
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioPolicyGroupStudioComponent, decorators: [{
|
|
133
136
|
type: Component,
|
|
@@ -137,6 +140,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
137
140
|
args: [{
|
|
138
141
|
transform: (policies) => policies ?? [],
|
|
139
142
|
}]
|
|
143
|
+
}], readOnly: [{
|
|
144
|
+
type: Input
|
|
140
145
|
}], apiType: [{
|
|
141
146
|
type: Input,
|
|
142
147
|
args: [{ required: true }]
|
|
@@ -154,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
154
159
|
}], policyGroupChange: [{
|
|
155
160
|
type: Output
|
|
156
161
|
}] } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1ncm91cC1zdHVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvcG9saWN5LWdyb3VwLXN0dWRpby9naW8tcG9saWN5LWdyb3VwLXN0dWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9wb2xpY3ktZ3JvdXAtc3R1ZGlvL2dpby1wb2xpY3ktZ3JvdXAtc3R1ZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFMUYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDNUgsT0FBTyxFQVNMLGlCQUFpQixHQUNsQixNQUFNLFdBQVcsQ0FBQzs7OztBQXFCbkIsTUFBTSxPQUFPLDZCQUE2QjtJQTRHeEMsWUFBNkIsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUEzR3hFOztXQUVHO1FBSUksYUFBUSxHQUFhLEVBQUUsQ0FBQztRQWMvQjs7O1dBR0c7UUFFSSx3QkFBbUIsR0FBd0IsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBRTlEOzs7V0FHRztRQUVJLCtCQUEwQixHQUErQixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFHckUsZ0JBQVcsR0FBcUIsRUFBRSxDQUFDO1FBRTFDOztX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dGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2lvRm9ybUpzb25TY2hlbWFNb2R1bGUsIEdpb0xvYWRlck1vZHVsZSB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhcic7XG5cbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFwaVR5cGUsXG4gIENvbm5lY3RvckluZm8sXG4gIEV4ZWN1dGlvblBoYXNlLFxuICBHZW5lcmljUG9saWN5LFxuICBQb2xpY3ksXG4gIFBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyLFxuICBQb2xpY3lTY2hlbWFGZXRjaGVyLFxuICBTdGVwLFxuICB0b0dlbmVyaWNQb2xpY2llcyxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb1NlcnZpY2UgfSBmcm9tICcuLi9wb2xpY3ktc3R1ZGlvL2dpby1wb2xpY3ktc3R1ZGlvLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBQb2xpY3lHcm91cE91dHB1dCA9IFN0ZXBbXTtcbmV4cG9ydCB0eXBlIFBvbGljeUdyb3VwSW5wdXQgPSBTdGVwW107XG5cbnR5cGUgUG9saWN5R3JvdXBWTSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzdGFydENvbm5lY3Rvck5hbWU6IHN0cmluZztcbiAgZW5kQ29ubmVjdG9yTmFtZTogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLXBvbGljeS1ncm91cC1zdHVkaW8nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlQ29tcG9uZW50LCBHaW9Gb3JtSnNvblNjaGVtYU1vZHVsZSwgR2lvTG9hZGVyTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wb2xpY3ktZ3JvdXAtc3R1ZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dpby1wb2xpY3ktZ3JvdXAtc3R1ZGlvLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeUdyb3VwU3R1ZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcG9saWNpZXMgdXNhYmxlIGluIHRoZSBzdHVkaW9cbiAgICovXG4gIEBJbnB1dCh7XG4gICAgdHJhbnNmb3JtOiAocG9saWNpZXM6IHVua25vd24pID0+IHBvbGljaWVzID8/IFtdLFxuICB9KVxuICBwdWJsaWMgcG9saWNpZXM6IFBvbGljeVtdID0gW107XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgdGhlIEFQSSB0YXJnZXRlZCBieSB0aGUgUG9saWN5IEdyb3VwIFN0dWRpb1xuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIGFwaVR5cGUhOiBBcGlUeXBlO1xuXG4gIC8qKlxuICAgKiBFeGVjdXRpb24gcGhhc2UgdGFyZ2V0ZWQgYnkgdGhlIFBvbGljeSBHcm91cCBTdHVkaW9cbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBleGVjdXRpb25QaGFzZSE6IEV4ZWN1dGlvblBoYXNlO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBQb2xpY3kgR3JvdXAgU3R1ZGlvIG5lZWRzIHRvIGZldGNoIHRoZSBwb2xpY3kgc2NoZW1hXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGhlIHBvbGljeSBzY2hlbWFcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBwb2xpY3lTY2hlbWFGZXRjaGVyOiBQb2xpY3lTY2hlbWFGZXRjaGVyID0gKCkgPT4gRU1QVFk7XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIFBvbGljeSBHcm91cCBTdHVkaW8gbmVlZHMgdG8gZmV0Y2ggdGhlIHBvbGljeSBkb2N1bWVudGF0aW9uXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGhlIHBvbGljeSBkb2N1bWVudGF0aW9uXG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgcG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXI6IFBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyID0gKCkgPT4gRU1QVFk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBvbGljeUdyb3VwOiBQb2xpY3lHcm91cElucHV0ID0gW107XG5cbiAgLyoqXG4gICAqIE91dHB1dCBldmVudCB3aGVuIHRoZSBQb2xpY3kgR3JvdXAgU3R1ZGlvIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcG9saWN5R3JvdXBDaGFuZ2U6IEV2ZW50RW1pdHRlcjxQb2xpY3lHcm91cE91dHB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBvbGljeUdyb3VwT3V0cHV0PigpO1xuXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSB0cnVlO1xuICBwcm90ZWN0ZWQgcmVhZE9ubHkgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHN0YXJ0Q29ubmVjdG9yOiAobmFtZTogc3RyaW5nKSA9PiBDb25uZWN0b3JJbmZvW10gPSBuYW1lID0+IFtcbiAgICB7XG4gICAgICBuYW1lLFxuICAgICAgaWNvbjogJ2dpbzphcnJvdy1yaWdodCcsXG4gICAgICB0eXBlOiAnc3RhcnQnLFxuICAgICAgc3VwcG9ydGVkTW9kZXM6IFtdLFxuICAgIH0sXG4gIF07XG4gIHByb3RlY3RlZCBlbmRDb25uZWN0b3I6IChuYW1lOiBzdHJpbmcpID0+IENvbm5lY3RvckluZm9bXSA9IG5hbWUgPT4gW1xuICAgIHtcbiAgICAgIG5hbWUsXG4gICAgICBpY29uOiAnZ2lvOmFycm93LXJpZ2h0JyxcbiAgICAgIHR5cGU6ICdlbmQnLFxuICAgICAgc3VwcG9ydGVkTW9kZXM6IFtdLFxuICAgIH0sXG4gIF07XG4gIHByb3RlY3RlZCBwb2xpY3lHcm91cFZNPzogUG9saWN5R3JvdXBWTTtcbiAgcHJvdGVjdGVkIHN0ZXBzOiBTdGVwW10gPSBbXTtcbiAgcHJvdGVjdGVkIHRyaWFsVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBnZW5lcmljUG9saWNpZXM6IEdlbmVyaWNQb2xpY3lbXSA9IFtdO1xuXG4gIHByaXZhdGUgcGhhc2VzOiBSZWNvcmQ8YCR7QXBpVHlwZX1fXyR7RXhlY3V0aW9uUGhhc2V9YCwgUG9saWN5R3JvdXBWTSB8IG51bGw+ID0ge1xuICAgIFBST1hZX19SRVFVRVNUOiB7XG4gICAgICBuYW1lOiAnUmVxdWVzdCBwaGFzZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ1BvbGljaWVzIHdpbGwgYmUgYXBwbGllZCBkdXJpbmcgdGhlIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCcsXG4gICAgICBzdGFydENvbm5lY3Rvck5hbWU6ICdJbmNvbWluZyByZXF1ZXN0JyxcbiAgICAgIGVuZENvbm5lY3Rvck5hbWU6ICdPdXRnb2luZyByZXF1ZXN0JyxcbiAgICB9LFxuICAgIFBST1hZX19SRVNQT05TRToge1xuICAgICAgbmFtZTogJ1Jlc3BvbnNlIHBoYXNlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSByZXNwb25zZSBmcm9tIHRoZSBpbml0aWFsIGNvbm5lY3Rpb24uJyxcbiAgICAgIHN0YXJ0Q29ubmVjdG9yTmFtZTogJ0luY29taW5nIHJlc3BvbnNlJyxcbiAgICAgIGVuZENvbm5lY3Rvck5hbWU6ICdPdXRnb2luZyByZXNwb25zZScsXG4gICAgfSxcbiAgICBQUk9YWV9fTUVTU0FHRV9SRVFVRVNUOiBudWxsLCAvLyBuL2FcbiAgICBQUk9YWV9fTUVTU0FHRV9SRVNQT05TRTogbnVsbCwgLy8gbi9hXG4gICAgTUVTU0FHRV9fUkVRVUVTVDoge1xuICAgICAgbmFtZTogJ1JlcXVlc3QgcGhhc2UnLFxuICAgICAgZGVzY3JpcHRpb246ICdQb2xpY2llcyB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHRoZSBjb25uZWN0aW9uIGVzdGFibGlzaG1lbnQnLFxuICAgICAgc3RhcnRDb25uZWN0b3JOYW1lOiAnSW5jb21pbmcgcmVxdWVzdCcsXG4gICAgICBlbmRDb25uZWN0b3JOYW1lOiAnT3V0Z29pbmcgcmVxdWVzdCcsXG4gICAgfSxcbiAgICBNRVNTQUdFX19SRVNQT05TRToge1xuICAgICAgbmFtZTogJ1Jlc3BvbnNlIHBoYXNlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIGR1cmluZyB0aGUgY29ubmVjdGlvbiB0ZXJtaW5hdGlvbicsXG4gICAgICBzdGFydENvbm5lY3Rvck5hbWU6ICdJbmNvbWluZyByZXNwb25zZScsXG4gICAgICBlbmRDb25uZWN0b3JOYW1lOiAnT3V0Z29pbmcgcmVzcG9uc2UnLFxuICAgIH0sXG4gICAgTUVTU0FHRV9fTUVTU0FHRV9SRVFVRVNUOiB7XG4gICAgICBuYW1lOiAnUHVibGlzaCBwaGFzZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ1BvbGljaWVzIHdpbGwgYmUgYXBwbGllZCBvbiBtZXNzYWdlcyBzZW50IHRvIHRoZSBlbmRwb2ludCcsXG4gICAgICBzdGFydENvbm5lY3Rvck5hbWU6ICdJbmNvbWluZyBtZXNzYWdlIHJlcXVlc3QnLFxuICAgICAgZW5kQ29ubmVjdG9yTmFtZTogJ091dGdvaW5nIG1lc3NhZ2UgcmVxdWVzdCcsXG4gICAgfSxcbiAgICBNRVNTQUdFX19NRVNTQUdFX1JFU1BPTlNFOiB7XG4gICAgICBuYW1lOiAnU3Vic2NyaWJlIHBoYXNlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIG9uIG1lc3NhZ2VzIHJlY2VpdmVkIGJ5IHRoZSBlbnRyeXBvaW50JyxcbiAgICAgIHN0YXJ0Q29ubmVjdG9yTmFtZTogJ0luY29taW5nIG1lc3NhZ2UgcmVzcG9uc2UnLFxuICAgICAgZW5kQ29ubmVjdG9yTmFtZTogJ091dGdvaW5nIG1lc3NhZ2UgcmVzcG9uc2UnLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwb2xpY3lTdHVkaW9TZXJ2aWNlOiBHaW9Qb2xpY3lTdHVkaW9TZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMucG9saWN5U2NoZW1hRmV0Y2hlcikge1xuICAgICAgdGhpcy5wb2xpY3lTdHVkaW9TZXJ2aWNlLnNldFBvbGljeVNjaGVtYUZldGNoZXIodGhpcy5wb2xpY3lTY2hlbWFGZXRjaGVyKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5wb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcikge1xuICAgICAgdGhpcy5wb2xpY3lTdHVkaW9TZXJ2aWNlLnNldFBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyKHRoaXMucG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5wb2xpY2llcykge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZ2VuZXJpY1BvbGljaWVzID0gdG9HZW5lcmljUG9saWNpZXModGhpcy5wb2xpY2llcyk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmV4ZWN1dGlvblBoYXNlKSB7XG4gICAgICB0aGlzLnBvbGljeUdyb3VwVk0gPSB0aGlzLnBoYXNlc1tgJHt0aGlzLmFwaVR5cGV9X18ke3RoaXMuZXhlY3V0aW9uUGhhc2V9YF0gPz8gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5wb2xpY3lHcm91cCkge1xuICAgICAgdGhpcy5zdGVwcyA9IHRoaXMucG9saWN5R3JvdXA7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3RlcHNDaGFuZ2Uoc3RlcHM6IFN0ZXBbXSk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMgPSBzdGVwcztcbiAgICB0aGlzLnBvbGljeUdyb3VwQ2hhbmdlLmVtaXQoc3RlcHMpO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjQgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbkBpZiAoIWlzTG9hZGluZyAmJiBwb2xpY3lHcm91cFZNKSB7XG4gIDxnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlXG4gICAgY2xhc3M9XCJjb250ZW50X19waGFzZVwiXG4gICAgW25hbWVdPVwicG9saWN5R3JvdXBWTS5uYW1lXCJcbiAgICBbZGVzY3JpcHRpb25dPVwicG9saWN5R3JvdXBWTS5kZXNjcmlwdGlvblwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbc3RhcnRDb25uZWN0b3JdPVwic3RhcnRDb25uZWN0b3IocG9saWN5R3JvdXBWTS5zdGFydENvbm5lY3Rvck5hbWUpXCJcbiAgICBbZW5kQ29ubmVjdG9yXT1cImVuZENvbm5lY3Rvcihwb2xpY3lHcm91cFZNLmVuZENvbm5lY3Rvck5hbWUpXCJcbiAgICBbc3RlcHNdPVwic3RlcHNcIlxuICAgIFthcGlUeXBlXT1cImFwaVR5cGVcIlxuICAgIFtnZW5lcmljUG9saWNpZXNdPVwiZ2VuZXJpY1BvbGljaWVzXCJcbiAgICBbdHJpYWxVcmxdPVwidHJpYWxVcmxcIlxuICAgIFtwb2xpY3lFeGVjdXRpb25QaGFzZV09XCJleGVjdXRpb25QaGFzZVwiXG4gICAgKHN0ZXBzQ2hhbmdlKT1cIm9uU3RlcHNDaGFuZ2UoJGV2ZW50KVwiXG4gID48L2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2U+XG59IEBlbHNlIHtcbiAgPGdpby1sb2FkZXI+PC9naW8tbG9hZGVyPlxufVxuIl19
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1ncm91cC1zdHVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvcG9saWN5LWdyb3VwLXN0dWRpby9naW8tcG9saWN5LWdyb3VwLXN0dWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9wb2xpY3ktZ3JvdXAtc3R1ZGlvL2dpby1wb2xpY3ktZ3JvdXAtc3R1ZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFMUYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDNUgsT0FBTyxFQVNMLGlCQUFpQixHQUNsQixNQUFNLFdBQVcsQ0FBQzs7OztBQXFCbkIsTUFBTSxPQUFPLDZCQUE2QjtJQWlIeEMsWUFBNkIsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFoSHhFOztXQUVHO1FBSUksYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUUvQjs7V0FFRztRQUVJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFjeEI7OztXQUdHO1FBRUksd0JBQW1CLEdBQXdCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUU5RDs7O1dBR0c7UUFFSSwrQkFBMEIsR0FBK0IsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFD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IENvcHlyaWdodCAoQykgMjAyNCBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2lvRm9ybUpzb25TY2hlbWFNb2R1bGUsIEdpb0xvYWRlck1vZHVsZSB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhcic7XG5cbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFwaVR5cGUsXG4gIENvbm5lY3RvckluZm8sXG4gIEV4ZWN1dGlvblBoYXNlLFxuICBHZW5lcmljUG9saWN5LFxuICBQb2xpY3ksXG4gIFBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyLFxuICBQb2xpY3lTY2hlbWFGZXRjaGVyLFxuICBTdGVwLFxuICB0b0dlbmVyaWNQb2xpY2llcyxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb1NlcnZpY2UgfSBmcm9tICcuLi9wb2xpY3ktc3R1ZGlvL2dpby1wb2xpY3ktc3R1ZGlvLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBQb2xpY3lHcm91cE91dHB1dCA9IFN0ZXBbXTtcbmV4cG9ydCB0eXBlIFBvbGljeUdyb3VwSW5wdXQgPSBTdGVwW107XG5cbnR5cGUgUG9saWN5R3JvdXBWTSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzdGFydENvbm5lY3Rvck5hbWU6IHN0cmluZztcbiAgZW5kQ29ubmVjdG9yTmFtZTogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLXBvbGljeS1ncm91cC1zdHVkaW8nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlQ29tcG9uZW50LCBHaW9Gb3JtSnNvblNjaGVtYU1vZHVsZSwgR2lvTG9hZGVyTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wb2xpY3ktZ3JvdXAtc3R1ZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dpby1wb2xpY3ktZ3JvdXAtc3R1ZGlvLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeUdyb3VwU3R1ZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcG9saWNpZXMgdXNhYmxlIGluIHRoZSBzdHVkaW9cbiAgICovXG4gIEBJbnB1dCh7XG4gICAgdHJhbnNmb3JtOiAocG9saWNpZXM6IHVua25vd24pID0+IHBvbGljaWVzID8/IFtdLFxuICB9KVxuICBwdWJsaWMgcG9saWNpZXM6IFBvbGljeVtdID0gW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIFBvbGljeSBHcm91cCBTdHVkaW8gaXMgaW4gcmVhZC1vbmx5IG1vZGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkT25seSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIHRoZSBBUEkgdGFyZ2V0ZWQgYnkgdGhlIFBvbGljeSBHcm91cCBTdHVkaW9cbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBhcGlUeXBlITogQXBpVHlwZTtcblxuICAvKipcbiAgICogRXhlY3V0aW9uIHBoYXNlIHRhcmdldGVkIGJ5IHRoZSBQb2xpY3kgR3JvdXAgU3R1ZGlvXG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgZXhlY3V0aW9uUGhhc2UhOiBFeGVjdXRpb25QaGFzZTtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gUG9saWN5IEdyb3VwIFN0dWRpbyBuZWVkcyB0byBmZXRjaCB0aGUgcG9saWN5IHNjaGVtYVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRoZSBwb2xpY3kgc2NoZW1hXG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgcG9saWN5U2NoZW1hRmV0Y2hlcjogUG9saWN5U2NoZW1hRmV0Y2hlciA9ICgpID0+IEVNUFRZO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBQb2xpY3kgR3JvdXAgU3R1ZGlvIG5lZWRzIHRvIGZldGNoIHRoZSBwb2xpY3kgZG9jdW1lbnRhdGlvblxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRoZSBwb2xpY3kgZG9jdW1lbnRhdGlvblxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIHBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyOiBQb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlciA9ICgpID0+IEVNUFRZO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb2xpY3lHcm91cDogUG9saWN5R3JvdXBJbnB1dCA9IFtdO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgZXZlbnQgd2hlbiB0aGUgUG9saWN5IEdyb3VwIFN0dWRpbyBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHBvbGljeUdyb3VwQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UG9saWN5R3JvdXBPdXRwdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxQb2xpY3lHcm91cE91dHB1dD4oKTtcblxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIHN0YXJ0Q29ubmVjdG9yOiAobmFtZTogc3RyaW5nKSA9PiBDb25uZWN0b3JJbmZvW10gPSBuYW1lID0+IFtcbiAgICB7XG4gICAgICBuYW1lLFxuICAgICAgaWNvbjogJ2dpbzphcnJvdy1yaWdodCcsXG4gICAgICB0eXBlOiAnc3RhcnQnLFxuICAgICAgc3VwcG9ydGVkTW9kZXM6IFtdLFxuICAgIH0sXG4gIF07XG4gIHByb3RlY3RlZCBlbmRDb25uZWN0b3I6IChuYW1lOiBzdHJpbmcpID0+IENvbm5lY3RvckluZm9bXSA9IG5hbWUgPT4gW1xuICAgIHtcbiAgICAgIG5hbWUsXG4gICAgICBpY29uOiAnZ2lvOmFycm93LXJpZ2h0JyxcbiAgICAgIHR5cGU6ICdlbmQnLFxuICAgICAgc3VwcG9ydGVkTW9kZXM6IFtdLFxuICAgIH0sXG4gIF07XG4gIHByb3RlY3RlZCBwb2xpY3lHcm91cFZNPzogUG9saWN5R3JvdXBWTTtcbiAgcHJvdGVjdGVkIHN0ZXBzOiBTdGVwW10gPSBbXTtcbiAgcHJvdGVjdGVkIHRyaWFsVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBnZW5lcmljUG9saWNpZXM6IEdlbmVyaWNQb2xpY3lbXSA9IFtdO1xuXG4gIHByaXZhdGUgcGhhc2VzOiBSZWNvcmQ8YCR7QXBpVHlwZX1fXyR7RXhlY3V0aW9uUGhhc2V9YCwgUG9saWN5R3JvdXBWTSB8IG51bGw+ID0ge1xuICAgIFBST1hZX19SRVFVRVNUOiB7XG4gICAgICBuYW1lOiAnUmVxdWVzdCBwaGFzZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ1BvbGljaWVzIHdpbGwgYmUgYXBwbGllZCBkdXJpbmcgdGhlIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCcsXG4gICAgICBzdGFydENvbm5lY3Rvck5hbWU6ICdJbmNvbWluZyByZXF1ZXN0JyxcbiAgICAgIGVuZENvbm5lY3Rvck5hbWU6ICdPdXRnb2luZyByZXF1ZXN0JyxcbiAgICB9LFxuICAgIFBST1hZX19SRVNQT05TRToge1xuICAgICAgbmFtZTogJ1Jlc3BvbnNlIHBoYXNlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSByZXNwb25zZSBmcm9tIHRoZSBpbml0aWFsIGNvbm5lY3Rpb24uJyxcbiAgICAgIHN0YXJ0Q29ubmVjdG9yTmFtZTogJ0luY29taW5nIHJlc3BvbnNlJyxcbiAgICAgIGVuZENvbm5lY3Rvck5hbWU6ICdPdXRnb2luZyByZXNwb25zZScsXG4gICAgfSxcbiAgICBQUk9YWV9fTUVTU0FHRV9SRVFVRVNUOiBudWxsLCAvLyBuL2FcbiAgICBQUk9YWV9fTUVTU0FHRV9SRVNQT05TRTogbnVsbCwgLy8gbi9hXG4gICAgTUVTU0FHRV9fUkVRVUVTVDoge1xuICAgICAgbmFtZTogJ1JlcXVlc3QgcGhhc2UnLFxuICAgICAgZGVzY3JpcHRpb246ICdQb2xpY2llcyB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHRoZSBjb25uZWN0aW9uIGVzdGFibGlzaG1lbnQnLFxuICAgICAgc3RhcnRDb25uZWN0b3JOYW1lOiAnSW5jb21pbmcgcmVxdWVzdCcsXG4gICAgICBlbmRDb25uZWN0b3JOYW1lOiAnT3V0Z29pbmcgcmVxdWVzdCcsXG4gICAgfSxcbiAgICBNRVNTQUdFX19SRVNQT05TRToge1xuICAgICAgbmFtZTogJ1Jlc3BvbnNlIHBoYXNlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIGR1cmluZyB0aGUgY29ubmVjdGlvbiB0ZXJtaW5hdGlvbicsXG4gICAgICBzdGFydENvbm5lY3Rvck5hbWU6ICdJbmNvbWluZyByZXNwb25zZScsXG4gICAgICBlbmRDb25uZWN0b3JOYW1lOiAnT3V0Z29pbmcgcmVzcG9uc2UnLFxuICAgIH0sXG4gICAgTUVTU0FHRV9fTUVTU0FHRV9SRVFVRVNUOiB7XG4gICAgICBuYW1lOiAnUHVibGlzaCBwaGFzZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ1BvbGljaWVzIHdpbGwgYmUgYXBwbGllZCBvbiBtZXNzYWdlcyBzZW50IHRvIHRoZSBlbmRwb2ludCcsXG4gICAgICBzdGFydENvbm5lY3Rvck5hbWU6ICdJbmNvbWluZyBtZXNzYWdlIHJlcXVlc3QnLFxuICAgICAgZW5kQ29ubmVjdG9yTmFtZTogJ091dGdvaW5nIG1lc3NhZ2UgcmVxdWVzdCcsXG4gICAgfSxcbiAgICBNRVNTQUdFX19NRVNTQUdFX1JFU1BPTlNFOiB7XG4gICAgICBuYW1lOiAnU3Vic2NyaWJlIHBoYXNlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIG9uIG1lc3NhZ2VzIHJlY2VpdmVkIGJ5IHRoZSBlbnRyeXBvaW50JyxcbiAgICAgIHN0YXJ0Q29ubmVjdG9yTmFtZTogJ0luY29taW5nIG1lc3NhZ2UgcmVzcG9uc2UnLFxuICAgICAgZW5kQ29ubmVjdG9yTmFtZTogJ091dGdvaW5nIG1lc3NhZ2UgcmVzcG9uc2UnLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwb2xpY3lTdHVkaW9TZXJ2aWNlOiBHaW9Qb2xpY3lTdHVkaW9TZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMucG9saWN5U2NoZW1hRmV0Y2hlcikge1xuICAgICAgdGhpcy5wb2xpY3lTdHVkaW9TZXJ2aWNlLnNldFBvbGljeVNjaGVtYUZldGNoZXIodGhpcy5wb2xpY3lTY2hlbWFGZXRjaGVyKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5wb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcikge1xuICAgICAgdGhpcy5wb2xpY3lTdHVkaW9TZXJ2aWNlLnNldFBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyKHRoaXMucG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5wb2xpY2llcykge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZ2VuZXJpY1BvbGljaWVzID0gdG9HZW5lcmljUG9saWNpZXModGhpcy5wb2xpY2llcyk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmV4ZWN1dGlvblBoYXNlKSB7XG4gICAgICB0aGlzLnBvbGljeUdyb3VwVk0gPSB0aGlzLnBoYXNlc1tgJHt0aGlzLmFwaVR5cGV9X18ke3RoaXMuZXhlY3V0aW9uUGhhc2V9YF0gPz8gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5wb2xpY3lHcm91cCkge1xuICAgICAgdGhpcy5zdGVwcyA9IHRoaXMucG9saWN5R3JvdXA7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3RlcHNDaGFuZ2Uoc3RlcHM6IFN0ZXBbXSk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMgPSBzdGVwcztcbiAgICB0aGlzLnBvbGljeUdyb3VwQ2hhbmdlLmVtaXQoc3RlcHMpO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjQgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbkBpZiAoIWlzTG9hZGluZyAmJiBwb2xpY3lHcm91cFZNKSB7XG4gIDxnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlXG4gICAgY2xhc3M9XCJjb250ZW50X19waGFzZVwiXG4gICAgW25hbWVdPVwicG9saWN5R3JvdXBWTS5uYW1lXCJcbiAgICBbZGVzY3JpcHRpb25dPVwicG9saWN5R3JvdXBWTS5kZXNjcmlwdGlvblwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbc3RhcnRDb25uZWN0b3JdPVwic3RhcnRDb25uZWN0b3IocG9saWN5R3JvdXBWTS5zdGFydENvbm5lY3Rvck5hbWUpXCJcbiAgICBbZW5kQ29ubmVjdG9yXT1cImVuZENvbm5lY3Rvcihwb2xpY3lHcm91cFZNLmVuZENvbm5lY3Rvck5hbWUpXCJcbiAgICBbc3RlcHNdPVwic3RlcHNcIlxuICAgIFthcGlUeXBlXT1cImFwaVR5cGVcIlxuICAgIFtnZW5lcmljUG9saWNpZXNdPVwiZ2VuZXJpY1BvbGljaWVzXCJcbiAgICBbdHJpYWxVcmxdPVwidHJpYWxVcmxcIlxuICAgIFtwb2xpY3lFeGVjdXRpb25QaGFzZV09XCJleGVjdXRpb25QaGFzZVwiXG4gICAgKHN0ZXBzQ2hhbmdlKT1cIm9uU3RlcHNDaGFuZ2UoJGV2ZW50KVwiXG4gID48L2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2U+XG59IEBlbHNlIHtcbiAgPGdpby1sb2FkZXI+PC9naW8tbG9hZGVyPlxufVxuIl19
|
package/esm2022/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs
CHANGED
|
@@ -63,11 +63,13 @@ export class GioPolicyStudioDetailsPhaseHarness extends ComponentHarness {
|
|
|
63
63
|
const step = await stepDiv.childLocatorFor(GioPolicyStudioDetailsPhaseStepHarness)();
|
|
64
64
|
const conditionDiv = await stepDiv.childLocatorForOptional(DivHarness.with({ selector: '.content__step__policy__condition' }))();
|
|
65
65
|
const description = await step.getDescription();
|
|
66
|
+
const infoMessage = await step.getInfoMessage();
|
|
66
67
|
return {
|
|
67
68
|
type: 'step',
|
|
68
69
|
name: await step.getName(),
|
|
69
70
|
hasCondition: !!conditionDiv,
|
|
70
71
|
...(description ? { description } : {}),
|
|
72
|
+
...(infoMessage ? { infoMessage } : {}),
|
|
71
73
|
};
|
|
72
74
|
}));
|
|
73
75
|
}
|
|
@@ -125,4 +127,4 @@ export class GioPolicyStudioDetailsPhaseHarness extends ComponentHarness {
|
|
|
125
127
|
await step.clickOnDisableEnable();
|
|
126
128
|
}
|
|
127
129
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2UvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDM0gsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0csT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFTaEksTUFBTSxZQUFZLEdBQThCO0lBQzlDLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsT0FBTyxFQUFFLGVBQWU7SUFDeEIsU0FBUyxFQUFFLGlCQUFpQjtDQUM3QixDQUFDO0FBY0YsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLGdCQUFnQjtJQUF4RTs7UUFHVSxrQkFBYSxHQUFHLEdBQUcsRUFBRSxDQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FB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LDBCQUEwQixFQUFFLENBQUMsVUFBVSxDQUFDLG9DQUFvQyxDQUFDLEVBQUUsQ0FBQztRQUNsSCxNQUFNLENBQUMsTUFBTSxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkUsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBYTtRQUNuQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkMsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFhO1FBQzFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMsIENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUsIHBhcmFsbGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgRGl2SGFybmVzcywgU3Bhbkhhcm5lc3MgfSBmcm9tICdAZ3Jhdml0ZWUvdWktcGFydGljbGVzLWFuZ3VsYXIvdGVzdGluZyc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5cbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzIH0gZnJvbSAnLi4vZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvU3RlcEVkaXREaWFsb2dIYXJuZXNzIH0gZnJvbSAnLi4vc3RlcC1lZGl0LWRpYWxvZy9naW8tcHMtc3RlcC1lZGl0LWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb1BvbGljaWVzQ2F0YWxvZ0RpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9wb2xpY2llcy1jYXRhbG9nLWRpYWxvZy9naW8tcHMtcG9saWNpZXMtY2F0YWxvZy1kaWFsb2cuaGFybmVzcyc7XG5pbXBvcnQgeyBTdGVwRm9ybSB9IGZyb20gJy4uL3N0ZXAtZm9ybS9naW8tcHMtc3RlcC1mb3JtLmhhcm5lc3MnO1xuXG5leHBvcnQgdHlwZSBQaGFzZVR5cGUgPSAnUkVRVUVTVCcgfCAnUkVTUE9OU0UnIHwgJ1BVQkxJU0gnIHwgJ1NVQlNDUklCRSc7XG5cbmV4cG9ydCB0eXBlIEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3NGaWx0ZXJzID0gQmFzZUhhcm5lc3NGaWx0ZXJzICYge1xuICB0eXBlPzogUGhhc2VUeXBlO1xufTtcblxuY29uc3QgVFlQRV9UT19URVhUOiBSZWNvcmQ8UGhhc2VUeXBlLCBzdHJpbmc+ID0ge1xuICBSRVFVRVNUOiAnUmVxdWVzdCBwaGFzZScsXG4gIFJFU1BPTlNFOiAnUmVzcG9uc2UgcGhhc2UnLFxuICBQVUJMSVNIOiAnUHVibGlzaCBwaGFzZScsXG4gIFNVQlNDUklCRTogJ1N1YnNjcmliZSBwaGFzZScsXG59O1xuXG5leHBvcnQgdHlwZSBTdGVwQ2FyZCA9XG4gIHwge1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgdHlwZTogJ2Nvbm5lY3Rvcic7XG4gICAgfVxuICB8IHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaGFzQ29uZGl0aW9uOiBib29sZWFuO1xuICAgICAgdHlwZTogJ3N0ZXAnO1xuICAgIH07XG5cbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UnO1xuXG4gIHByaXZhdGUgZ2V0SGVhZGVyTmFtZSA9ICgpID0+XG4gICAgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoU3Bhbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmhlYWRlcl9fbmFtZScgfSkpKCkudGhlbihhc3luYyBzcGFuID0+IHNwYW4/LmdldFRleHQoKSA/PyBudWxsKTtcblxuICAvKipcbiAgICogR2V0IEhhcm5lc3Mgd2l0aCB0aGUgZ2l2ZW4gZmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgd2hpY2ggaW5wdXQgaW5zdGFuY2VzIGFyZSBjb25zaWRlcmVkIGEgbWF0Y2guXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKG9wdGlvbnM6IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3NGaWx0ZXJzID0ge30pOiBIYXJuZXNzUHJlZGljYXRlPEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcywgb3B0aW9ucykuYWRkT3B0aW9uKCd0eXBlJywgb3B0aW9ucy50eXBlLCBhc3luYyAoaGFybmVzcywgdHlwZSkgPT4ge1xuICAgICAgcmV0dXJuIEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhoYXJuZXNzLmdldEhlYWRlck5hbWUoKSwgVFlQRV9UT19URVhUW3R5cGVdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGVwcygpOiBQcm9taXNlPFN0ZXBDYXJkW10gfCAnRElTQUJMRUQnPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuZGlzYWJsZWRDb250ZW50JykoKSkge1xuICAgICAgcmV0dXJuICdESVNBQkxFRCc7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RlcHNEaXYgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcCcgfSkpKCk7XG5cbiAgICBpZiAoaXNFbXB0eShzdGVwc0RpdikpIHtcbiAgICAgIC8vIE5vIHN0ZXAgLSB0aGUgcGhhc2UgaXMgZGlzYWJsZWRcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgcGFyYWxsZWwoKCkgPT5cbiAgICAgIHN0ZXBzRGl2Lm1hcChhc3luYyBzdGVwRGl2ID0+IHtcbiAgICAgICAgY29uc3QgaWRDb25uZWN0b3IgPSAhIShhd2FpdCBzdGVwRGl2LmdldFRleHQoeyBjaGlsZFNlbGVjdG9yOiAnLmNvbnRlbnRfX3N0ZXBfX2Nvbm5lY3Rvcl9fYmFkZ2UnIH0pKTtcbiAgICAgICAgaWYgKGlkQ29ubmVjdG9yKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IChhd2FpdCBzdGVwRGl2LmdldFRleHQoKSkgPz8gJycsXG4gICAgICAgICAgICB0eXBlOiAnY29ubmVjdG9yJyxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0ZXAgPSBhd2FpdCBzdGVwRGl2LmNoaWxkTG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VTdGVwSGFybmVzcykoKTtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uRGl2ID0gYXdhaXQgc3RlcERpdi5jaGlsZExvY2F0b3JGb3JPcHRpb25hbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5jb250ZW50X19zdGVwX19wb2xpY3lfX2NvbmRpdGlvbicgfSkpKCk7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYXdhaXQgc3RlcC5nZXREZXNjcmlwdGlvbigpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogJ3N0ZXAnLFxuICAgICAgICAgIG5hbWU6IGF3YWl0IHN0ZXAuZ2V0TmFtZSgpLFxuICAgICAgICAgIGhhc0NvbmRpdGlvbjogISFjb25kaXRpb25EaXYsXG4gICAgICAgICAgLi4uKGRlc2NyaXB0aW9uID8geyBkZXNjcmlwdGlvbiB9IDoge30pLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzPiB7XG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcEhhcm5lc3MpKCk7XG4gICAgaWYgKCFzdGVwc1tpbmRleF0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU3RlcCAke2luZGV4fSBub3QgZm91bmRgKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0ZXBzW2luZGV4XTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGlja0FkZFN0ZXAoaW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFkZFN0ZXBCdG4gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcCcgfSkpKCkudGhlbihkaXZzID0+IGRpdnNbaW5kZXhdKTtcblxuICAgIGF3YWl0IGFkZFN0ZXBCdG5cbiAgICAgIC5jaGlsZExvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcF9fYWRkQnRuJyB9KSkoKVxuICAgICAgLnRoZW4oYnRuID0+IGJ0bi5jbGljaygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzdGVwIHRvIGEgcGhhc2VcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IHdoZXJlIHRvIGFkZCB0aGUgc3RlcC4gKEFkZCBidXR0b24gaW5kZXgpXG4gICAqIEBwYXJhbSBzdGVwQ29uZmlnIFN0ZXAgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWRkU3RlcChcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHN0ZXBDb25maWc6IHtcbiAgICAgIHBvbGljeU5hbWU6IHN0cmluZztcbiAgICB9ICYgU3RlcEZvcm0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY2xpY2tBZGRTdGVwKGluZGV4KTtcblxuICAgIGNvbnN0IGNhdGFsb2dEaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9Qb2xpY2llc0NhdGFsb2dEaWFsb2dIYXJuZXNzKSgpO1xuICAgIGF3YWl0IGNhdGFsb2dEaWFsb2cuc2VsZWN0UG9saWN5KHN0ZXBDb25maWcucG9saWN5TmFtZSk7XG5cbiAgICBhd2FpdCAoYXdhaXQgY2F0YWxvZ0RpYWxvZy5nZXRTdGVwRm9ybSgpKS5zZXRTdGVwRm9ybShzdGVwQ29uZmlnKTtcblxuICAgIGF3YWl0IGNhdGFsb2dEaWFsb2cuY2xpY2tBZGRQb2xpY3lCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFZGl0IGEgc3RlcCBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBpbmRleCBJbmRleCBvZiB0aGUgcG9saWN5IHN0ZXAgdG8gZWRpdFxuICAgKiBAcGFyYW0gc3RlcENvbmZpZyBTdGVwIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlZGl0U3RlcChpbmRleDogbnVtYmVyLCBzdGVwQ29uZmlnOiBTdGVwRm9ybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0ZXAgPSBhd2FpdCB0aGlzLmdldFN0ZXAoaW5kZXgpO1xuXG4gICAgYXdhaXQgc3RlcC5jbGlja09uRWRpdCgpO1xuXG4gICAgY29uc3Qgc3RlcEVkaXREaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0hhcm5lc3MpKCk7XG4gICAgYXdhaXQgKGF3YWl0IHN0ZXBFZGl0RGlhbG9nLmdldFN0ZXBGb3JtKCkpLnNldFN0ZXBGb3JtKHN0ZXBDb25maWcpO1xuXG4gICAgYXdhaXQgc3RlcEVkaXREaWFsb2cuc2F2ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhIHN0ZXBcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IG9mIHRoZSBwb2xpY3kgc3RlcCB0byBkZWxldGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGVwID0gYXdhaXQgdGhpcy5nZXRTdGVwKGluZGV4KTtcblxuICAgIGF3YWl0IHN0ZXAuY2xpY2tPbkRlbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgYSBzdGVwXG4gICAqIEBwYXJhbSBpbmRleCBJbmRleCBvZiB0aGUgcG9saWN5IHN0ZXAgdG8gZGlzYWJsZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRpc2FibGVFbmFibGVTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGVwID0gYXdhaXQgdGhpcy5nZXRTdGVwKGluZGV4KTtcbiAgICBhd2FpdCBzdGVwLmNsaWNrT25EaXNhYmxlRW5hYmxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2UvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDM0gsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0csT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFTaEksTUFBTSxZQUFZLEdBQThCO0lBQzlDLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsT0FBTyxFQUFFLGVBQWU7SUFDeEIsU0FBUyxFQUFFLGlCQUFpQjtDQUM3QixDQUFDO0FBY0YsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLGdCQUFnQjtJQUF4RTs7UUFHVSxrQkFBYSxHQUFHLEdBQUcsRUFBRSxDQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FB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RCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFekIsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxVQUFVLENBQUMsb0NBQW9DLENBQUMsRUFBRSxDQUFDO1FBQ2xILE1BQU0sQ0FBQyxNQUFNLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVuRSxNQUFNLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQ25DLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2QyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQWE7UUFDMUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycywgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSwgcGFyYWxsZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBEaXZIYXJuZXNzLCBTcGFuSGFybmVzcyB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhci90ZXN0aW5nJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWF0QnV0dG9uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi90ZXN0aW5nJztcblxuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcEhhcm5lc3MgfSBmcm9tICcuLi9mbG93LWRldGFpbHMtcGhhc2Utc3RlcC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9zdGVwLWVkaXQtZGlhbG9nL2dpby1wcy1zdGVwLWVkaXQtZGlhbG9nLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nSGFybmVzcyB9IGZyb20gJy4uL3BvbGljaWVzLWNhdGFsb2ctZGlhbG9nL2dpby1wcy1wb2xpY2llcy1jYXRhbG9nLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IFN0ZXBGb3JtIH0gZnJvbSAnLi4vc3RlcC1mb3JtL2dpby1wcy1zdGVwLWZvcm0uaGFybmVzcyc7XG5cbmV4cG9ydCB0eXBlIFBoYXNlVHlwZSA9ICdSRVFVRVNUJyB8ICdSRVNQT05TRScgfCAnUFVCTElTSCcgfCAnU1VCU0NSSUJFJztcblxuZXhwb3J0IHR5cGUgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzc0ZpbHRlcnMgPSBCYXNlSGFybmVzc0ZpbHRlcnMgJiB7XG4gIHR5cGU/OiBQaGFzZVR5cGU7XG59O1xuXG5jb25zdCBUWVBFX1RPX1RFWFQ6IFJlY29yZDxQaGFzZVR5cGUsIHN0cmluZz4gPSB7XG4gIFJFUVVFU1Q6ICdSZXF1ZXN0IHBoYXNlJyxcbiAgUkVTUE9OU0U6ICdSZXNwb25zZSBwaGFzZScsXG4gIFBVQkxJU0g6ICdQdWJsaXNoIHBoYXNlJyxcbiAgU1VCU0NSSUJFOiAnU3Vic2NyaWJlIHBoYXNlJyxcbn07XG5cbmV4cG9ydCB0eXBlIFN0ZXBDYXJkID1cbiAgfCB7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICB0eXBlOiAnY29ubmVjdG9yJztcbiAgICB9XG4gIHwge1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICBoYXNDb25kaXRpb246IGJvb2xlYW47XG4gICAgICB0eXBlOiAnc3RlcCc7XG4gICAgfTtcblxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZSc7XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJOYW1lID0gKCkgPT5cbiAgICB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTcGFuSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaGVhZGVyX19uYW1lJyB9KSkoKS50aGVuKGFzeW5jIHNwYW4gPT4gc3Bhbj8uZ2V0VGV4dCgpID8/IG51bGwpO1xuXG4gIC8qKlxuICAgKiBHZXQgSGFybmVzcyB3aXRoIHRoZSBnaXZlbiBmaWx0ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGZpbHRlcmluZyB3aGljaCBpbnB1dCBpbnN0YW5jZXMgYXJlIGNvbnNpZGVyZWQgYSBtYXRjaC5cbiAgICogQHJldHVybiBhIGBIYXJuZXNzUHJlZGljYXRlYCBjb25maWd1cmVkIHdpdGggdGhlIGdpdmVuIG9wdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgob3B0aW9uczogR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzc0ZpbHRlcnMgPSB7fSk6IEhhcm5lc3NQcmVkaWNhdGU8R2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzLCBvcHRpb25zKS5hZGRPcHRpb24oJ3R5cGUnLCBvcHRpb25zLnR5cGUsIGFzeW5jIChoYXJuZXNzLCB0eXBlKSA9PiB7XG4gICAgICByZXR1cm4gSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGhhcm5lc3MuZ2V0SGVhZGVyTmFtZSgpLCBUWVBFX1RPX1RFWFRbdHlwZV0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0ZXBzKCk6IFByb21pc2U8U3RlcENhcmRbXSB8ICdESVNBQkxFRCc+IHtcbiAgICBpZiAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5kaXNhYmxlZENvbnRlbnQnKSgpKSB7XG4gICAgICByZXR1cm4gJ0RJU0FCTEVEJztcbiAgICB9XG5cbiAgICBjb25zdCBzdGVwc0RpdiA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5jb250ZW50X19zdGVwJyB9KSkoKTtcblxuICAgIGlmIChpc0VtcHR5KHN0ZXBzRGl2KSkge1xuICAgICAgLy8gTm8gc3RlcCAtIHRoZSBwaGFzZSBpcyBkaXNhYmxlZFxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCBwYXJhbGxlbCgoKSA9PlxuICAgICAgc3RlcHNEaXYubWFwKGFzeW5jIHN0ZXBEaXYgPT4ge1xuICAgICAgICBjb25zdCBpZENvbm5lY3RvciA9ICEhKGF3YWl0IHN0ZXBEaXYuZ2V0VGV4dCh7IGNoaWxkU2VsZWN0b3I6ICcuY29udGVudF9fc3RlcF9fY29ubmVjdG9yX19iYWRnZScgfSkpO1xuICAgICAgICBpZiAoaWRDb25uZWN0b3IpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogKGF3YWl0IHN0ZXBEaXYuZ2V0VGV4dCgpKSA/PyAnJyxcbiAgICAgICAgICAgIHR5cGU6ICdjb25uZWN0b3InLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RlcCA9IGF3YWl0IHN0ZXBEaXYuY2hpbGRMb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzKSgpO1xuICAgICAgICBjb25zdCBjb25kaXRpb25EaXYgPSBhd2FpdCBzdGVwRGl2LmNoaWxkTG9jYXRvckZvck9wdGlvbmFsKERpdkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmNvbnRlbnRfX3N0ZXBfX3BvbGljeV9fY29uZGl0aW9uJyB9KSkoKTtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBhd2FpdCBzdGVwLmdldERlc2NyaXB0aW9uKCk7XG4gICAgICAgIGNvbnN0IGluZm9NZXNzYWdlID0gYXdhaXQgc3RlcC5nZXRJbmZvTWVzc2FnZSgpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogJ3N0ZXAnLFxuICAgICAgICAgIG5hbWU6IGF3YWl0IHN0ZXAuZ2V0TmFtZSgpLFxuICAgICAgICAgIGhhc0NvbmRpdGlvbjogISFjb25kaXRpb25EaXYsXG4gICAgICAgICAgLi4uKGRlc2NyaXB0aW9uID8geyBkZXNjcmlwdGlvbiB9IDoge30pLFxuICAgICAgICAgIC4uLihpbmZvTWVzc2FnZSA/IHsgaW5mb01lc3NhZ2UgfSA6IHt9KSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RlcChpbmRleDogbnVtYmVyKTogUHJvbWlzZTxHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VTdGVwSGFybmVzcz4ge1xuICAgIGNvbnN0IHN0ZXBzID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzKSgpO1xuICAgIGlmICghc3RlcHNbaW5kZXhdKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0ZXAgJHtpbmRleH0gbm90IGZvdW5kYCk7XG4gICAgfVxuICAgIHJldHVybiBzdGVwc1tpbmRleF07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2xpY2tBZGRTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhZGRTdGVwQnRuID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKERpdkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmNvbnRlbnRfX3N0ZXAnIH0pKSgpLnRoZW4oZGl2cyA9PiBkaXZzW2luZGV4XSk7XG5cbiAgICBhd2FpdCBhZGRTdGVwQnRuXG4gICAgICAuY2hpbGRMb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmNvbnRlbnRfX3N0ZXBfX2FkZEJ0bicgfSkpKClcbiAgICAgIC50aGVuKGJ0biA9PiBidG4uY2xpY2soKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgc3RlcCB0byBhIHBoYXNlXG4gICAqIEBwYXJhbSBpbmRleCBJbmRleCB3aGVyZSB0byBhZGQgdGhlIHN0ZXAuIChBZGQgYnV0dG9uIGluZGV4KVxuICAgKiBAcGFyYW0gc3RlcENvbmZpZyBTdGVwIHRvIGFkZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGFkZFN0ZXAoXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBzdGVwQ29uZmlnOiB7XG4gICAgICBwb2xpY3lOYW1lOiBzdHJpbmc7XG4gICAgfSAmIFN0ZXBGb3JtLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmNsaWNrQWRkU3RlcChpbmRleCk7XG5cbiAgICBjb25zdCBjYXRhbG9nRGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nSGFybmVzcykoKTtcbiAgICBhd2FpdCBjYXRhbG9nRGlhbG9nLnNlbGVjdFBvbGljeShzdGVwQ29uZmlnLnBvbGljeU5hbWUpO1xuXG4gICAgYXdhaXQgKGF3YWl0IGNhdGFsb2dEaWFsb2cuZ2V0U3RlcEZvcm0oKSkuc2V0U3RlcEZvcm0oc3RlcENvbmZpZyk7XG5cbiAgICBhd2FpdCBjYXRhbG9nRGlhbG9nLmNsaWNrQWRkUG9saWN5QnV0dG9uKCk7XG4gIH1cblxuICAvKipcbiAgICogRWRpdCBhIHN0ZXAgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgdGhlIHBvbGljeSBzdGVwIHRvIGVkaXRcbiAgICogQHBhcmFtIHN0ZXBDb25maWcgU3RlcCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZWRpdFN0ZXAoaW5kZXg6IG51bWJlciwgc3RlcENvbmZpZzogU3RlcEZvcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGVwID0gYXdhaXQgdGhpcy5nZXRTdGVwKGluZGV4KTtcblxuICAgIGF3YWl0IHN0ZXAuY2xpY2tPbkVkaXQoKTtcblxuICAgIGNvbnN0IHN0ZXBFZGl0RGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvU3RlcEVkaXREaWFsb2dIYXJuZXNzKSgpO1xuICAgIGF3YWl0IChhd2FpdCBzdGVwRWRpdERpYWxvZy5nZXRTdGVwRm9ybSgpKS5zZXRTdGVwRm9ybShzdGVwQ29uZmlnKTtcblxuICAgIGF3YWl0IHN0ZXBFZGl0RGlhbG9nLnNhdmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYSBzdGVwXG4gICAqIEBwYXJhbSBpbmRleCBJbmRleCBvZiB0aGUgcG9saWN5IHN0ZXAgdG8gZGVsZXRlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlU3RlcChpbmRleDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RlcCA9IGF3YWl0IHRoaXMuZ2V0U3RlcChpbmRleCk7XG5cbiAgICBhd2FpdCBzdGVwLmNsaWNrT25EZWxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlIGEgc3RlcFxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgdGhlIHBvbGljeSBzdGVwIHRvIGRpc2FibGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkaXNhYmxlRW5hYmxlU3RlcChpbmRleDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RlcCA9IGF3YWl0IHRoaXMuZ2V0U3RlcChpbmRleCk7XG4gICAgYXdhaXQgc3RlcC5jbGlja09uRGlzYWJsZUVuYWJsZSgpO1xuICB9XG59XG4iXX0=
|