@gravitee/ui-policy-studio-angular 7.11.0-renovate-angular-ade6562 → 7.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/filter-pipe/gio-flter-connectors-by-mode.pipe.mjs +4 -4
- package/esm2020/lib/components/flow-details/gio-ps-flow-details.component.mjs +17 -5
- package/esm2020/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.mjs +4 -4
- package/esm2020/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.mjs +56 -14
- package/esm2020/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.component.mjs +28 -11
- package/esm2020/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.component.mjs +4 -4
- package/esm2020/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.component.mjs +4 -4
- package/esm2020/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.component.mjs +4 -4
- package/esm2020/lib/components/flows-menu/gio-ps-flows-menu.component.mjs +4 -4
- package/esm2020/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +61 -0
- package/esm2020/lib/components/policy-form/gio-ps-policy-form.component.mjs +30 -0
- package/esm2020/lib/components/policy-form-dialog/gio-ps-policy-form-dialog.component.mjs +43 -0
- package/esm2020/lib/gio-policy-studio.component.mjs +8 -5
- package/esm2020/lib/gio-policy-studio.module.mjs +15 -6
- package/esm2020/lib/models/ConnectorsInfo.fixture.mjs +152 -0
- package/esm2020/lib/models/flow/Flow.fixture.mjs +66 -0
- package/esm2020/lib/models/flow/FlowExecution.fixture.mjs +43 -0
- package/esm2020/lib/models/flow/Step.fixture.mjs +70 -0
- package/esm2020/lib/models/flow/index-testing.mjs +19 -0
- package/esm2020/lib/models/index-testing.mjs +20 -0
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/models/plan/Plan.fixture.mjs +31 -0
- package/esm2020/lib/models/plan/index-testing.mjs +17 -0
- package/esm2020/lib/models/policy/Policy.fixture.mjs +133 -0
- package/esm2020/lib/models/policy/Policy.mjs +2 -0
- package/esm2020/lib/models/policy/index-testing.mjs +17 -0
- package/esm2020/lib/models/policy/index.mjs +17 -0
- package/esm2020/testing/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.harness.mjs +6 -1
- package/esm2020/testing/lib/models/index-testing.mjs +2 -1
- package/esm2020/testing/lib/models/index.mjs +2 -1
- package/esm2020/testing/lib/models/policy/Policy.fixture.mjs +133 -0
- package/esm2020/testing/lib/models/policy/Policy.mjs +2 -0
- package/esm2020/testing/lib/models/policy/index-testing.mjs +17 -0
- package/esm2020/testing/lib/models/policy/index.mjs +17 -0
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs +149 -1
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs +752 -48
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs +154 -1
- package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2020/gravitee-ui-policy-studio-angular.mjs +808 -48
- package/fesm2020/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/lib/components/flow-details/gio-ps-flow-details.component.d.ts +4 -2
- package/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.d.ts +11 -3
- package/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.component.d.ts +3 -0
- package/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.d.ts +21 -0
- package/lib/components/policy-form/gio-ps-policy-form.component.d.ts +8 -0
- package/lib/components/policy-form-dialog/gio-ps-policy-form-dialog.component.d.ts +17 -0
- package/lib/gio-policy-studio.component.d.ts +3 -2
- package/lib/gio-policy-studio.module.d.ts +16 -13
- package/lib/models/ConnectorsInfo.fixture.d.ts +10 -0
- package/lib/models/flow/Flow.fixture.d.ts +3 -0
- package/lib/models/flow/FlowExecution.fixture.d.ts +3 -0
- package/lib/models/flow/Step.fixture.d.ts +4 -0
- package/lib/models/flow/index-testing.d.ts +3 -0
- package/lib/models/index-testing.d.ts +4 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/plan/Plan.fixture.d.ts +2 -0
- package/lib/models/plan/index-testing.d.ts +1 -0
- package/lib/models/policy/Policy.d.ts +11 -0
- package/lib/models/policy/Policy.fixture.d.ts +4 -0
- package/lib/models/policy/index-testing.d.ts +1 -0
- package/lib/models/policy/index.d.ts +1 -0
- package/package.json +1 -1
- package/testing/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.harness.d.ts +1 -0
- package/testing/lib/models/index-testing.d.ts +1 -0
- package/testing/lib/models/index.d.ts +1 -0
- package/testing/lib/models/policy/Policy.d.ts +11 -0
- package/testing/lib/models/policy/Policy.fixture.d.ts +4 -0
- package/testing/lib/models/policy/index-testing.d.ts +1 -0
- package/testing/lib/models/policy/index.d.ts +1 -0
|
@@ -29,12 +29,12 @@ export class GioFilterConnectorsByModePipe {
|
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
GioFilterConnectorsByModePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
33
|
-
GioFilterConnectorsByModePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
32
|
+
GioFilterConnectorsByModePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFilterConnectorsByModePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
33
|
+
GioFilterConnectorsByModePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFilterConnectorsByModePipe, name: "gioFilterConnectorsByMode" });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFilterConnectorsByModePipe, decorators: [{
|
|
35
35
|
type: Pipe,
|
|
36
36
|
args: [{
|
|
37
37
|
name: 'gioFilterConnectorsByMode',
|
|
38
38
|
}]
|
|
39
39
|
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZsdGVyLWNvbm5lY3RvcnMtYnktbW9kZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXItcGlwZS9naW8tZmx0ZXItY29ubmVjdG9ycy1ieS1tb2RlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQU9oQyxNQUFNLE9BQU8sNkJBQTZCO0lBQ2pDLFNBQVMsQ0FBQyxLQUFzQixFQUFFLElBQW1CO1FBQzFELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFtQixFQUFFLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzJIQVpVLDZCQUE2Qjt5SEFBN0IsNkJBQTZCOzRGQUE3Qiw2QkFBNkI7a0JBSHpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLDJCQUEyQjtpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIzIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQ29ubmVjdG9ySW5mbywgQ29ubmVjdG9yTW9kZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2dpb0ZpbHRlckNvbm5lY3RvcnNCeU1vZGUnLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKGl0ZW1zOiBDb25uZWN0b3JJbmZvW10sIG1vZGU6IENvbm5lY3Rvck1vZGUpOiBDb25uZWN0b3JJbmZvW10ge1xuICAgIGlmICghaXRlbXMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKCFtb2RlKSB7XG4gICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbHRlcihpdGVtcywgKGl0ZW06IENvbm5lY3RvckluZm8pID0+IHtcbiAgICAgIHJldHVybiBpdGVtLnN1cHBvcnRlZE1vZGVzLmluY2x1ZGVzKG1vZGUpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -33,6 +33,7 @@ export class GioPolicyStudioDetailsComponent {
|
|
|
33
33
|
this.flow = undefined;
|
|
34
34
|
this.entrypointsInfo = [];
|
|
35
35
|
this.endpointsInfo = [];
|
|
36
|
+
this.policies = [];
|
|
36
37
|
this.flowChange = new EventEmitter();
|
|
37
38
|
this.deleteFlow = new EventEmitter();
|
|
38
39
|
}
|
|
@@ -69,12 +70,21 @@ export class GioPolicyStudioDetailsComponent {
|
|
|
69
70
|
onDeleteFlow() {
|
|
70
71
|
this.deleteFlow.emit(this.flow);
|
|
71
72
|
}
|
|
73
|
+
onStepsChange(flowPhase, steps) {
|
|
74
|
+
if (!this.flow) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
this.flowChange.emit({
|
|
78
|
+
...this.flow,
|
|
79
|
+
[flowPhase]: steps,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
72
82
|
}
|
|
73
|
-
GioPolicyStudioDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
74
|
-
GioPolicyStudioDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
83
|
+
GioPolicyStudioDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioDetailsComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
GioPolicyStudioDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioPolicyStudioDetailsComponent, selector: "gio-ps-flow-details", inputs: { apiType: "apiType", flow: "flow", entrypointsInfo: "entrypointsInfo", endpointsInfo: "endpointsInfo", policies: "policies" }, outputs: { flowChange: "flowChange", deleteFlow: "deleteFlow" }, 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<ng-container *ngIf=\"flow; else emptyFlows\">\n <div class=\"header\">\n <div class=\"header__label\">Flow details</div>\n <div class=\"header__configBtn\">\n <button class=\"header__configBtn__edit\" mat-stroked-button mat-icon-button (click)=\"onEditFlow()\">\n <mat-icon svgIcon=\"gio:edit-pencil\"></mat-icon>\n </button>\n <button class=\"header__configBtn__delete\" mat-stroked-button mat-icon-button (click)=\"onDeleteFlow()\">\n <mat-icon svgIcon=\"gio:trash\"></mat-icon>\n </button>\n </div>\n </div>\n <gio-ps-flow-details-info-bar class=\"infoBar\" [flow]=\"flow\" [entrypointsInfo]=\"entrypointsInfo\"></gio-ps-flow-details-info-bar>\n\n <div class=\"content\">\n <gio-banner-warning>\uD83D\uDEA7 Work in progress \uD83D\uDEA7</gio-banner-warning>\n\n <mat-tab-group *ngIf=\"apiType === 'MESSAGE'\" class=\"content__tabs\">\n <mat-tab label=\"Initial connection\">\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Request phase\"\n description=\"Policies will be applied during the connection establishment\"\n [startConnector]=\"entrypointsInfo\"\n [endConnector]=\"endpointsInfo\"\n [steps]=\"flow.request\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"REQUEST\"\n (stepsChange)=\"onStepsChange('request', $event)\"\n ></gio-ps-flow-details-phase>\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Response phase\"\n description=\"Policies will be applied during the connection termination\"\n [startConnector]=\"endpointsInfo\"\n [endConnector]=\"entrypointsInfo\"\n [steps]=\"flow.response\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"RESPONSE\"\n (stepsChange)=\"onStepsChange('response', $event)\"\n ></gio-ps-flow-details-phase>\n </mat-tab>\n <mat-tab label=\"Event messages\">\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Publish phase\"\n description=\"Policies will be applied on messages sent to the endpoint\"\n [startConnector]=\"entrypointsInfo | gioFilterConnectorsByMode : 'PUBLISH'\"\n [endConnector]=\"endpointsInfo | gioFilterConnectorsByMode : 'PUBLISH'\"\n [steps]=\"flow.publish\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"MESSAGE_RESPONSE\"\n (stepsChange)=\"onStepsChange('publish', $event)\"\n ></gio-ps-flow-details-phase>\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Subscribe phase\"\n description=\"Policies will be applied on messages received by the entrypoint\"\n [startConnector]=\"endpointsInfo | gioFilterConnectorsByMode : 'SUBSCRIBE'\"\n [endConnector]=\"entrypointsInfo | gioFilterConnectorsByMode : 'SUBSCRIBE'\"\n [steps]=\"flow.subscribe\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"MESSAGE_REQUEST\"\n (stepsChange)=\"onStepsChange('subscribe', $event)\"\n ></gio-ps-flow-details-phase>\n </mat-tab>\n </mat-tab-group>\n\n <div *ngIf=\"apiType === 'PROXY'\">\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Request phase\"\n description=\"Policies will be applied during the connection establishment\"\n [startConnector]=\"entrypointsInfo | gioFilterConnectorsByMode : 'REQUEST_RESPONSE'\"\n [endConnector]=\"endpointsInfo | gioFilterConnectorsByMode : 'REQUEST_RESPONSE'\"\n [steps]=\"flow.request\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"REQUEST\"\n (stepsChange)=\"onStepsChange('request', $event)\"\n ></gio-ps-flow-details-phase>\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Response phase\"\n description=\"Policies will be applied during the connection termination\"\n [startConnector]=\"endpointsInfo | gioFilterConnectorsByMode : 'REQUEST_RESPONSE'\"\n [endConnector]=\"entrypointsInfo | gioFilterConnectorsByMode : 'REQUEST_RESPONSE'\"\n [steps]=\"flow.response\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"RESPONSE\"\n (stepsChange)=\"onStepsChange('response', $event)\"\n ></gio-ps-flow-details-phase>\n </div>\n </div>\n</ng-container>\n\n<ng-template #emptyFlows>\n <div class=\"emptyFlows\">\n <h2>No flows yet</h2>\n <p class=\"mat-body-1\">Flows allow you to customize the behavior of your API event phases through configurable policies</p>\n </div>\n</ng-template>\n", styles: [":host{display:flex;height:100%;flex-direction:column}.emptyFlows{display:flex;width:500px;height:100%;flex-direction:column;justify-content:center;margin:auto;text-align:center}.header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #d3d5dc}.header__label{font:600 16px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;display:flex;flex:1 1 auto;align-items:center;margin-bottom:0;gap:8px}.header__configBtn{display:flex;align-items:center;margin-left:8px;gap:8px}.infoBar{border-bottom:1px solid #d3d5dc}.content{overflow:auto;flex:1 1 auto;background-color:#f7f8fd}.content__tabs{min-height:100%;min-height:calc(100% - 64px)}.content__phase{margin:16px 16px 0}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.GioPolicyStudioDetailsInfoBarComponent, selector: "gio-ps-flow-details-info-bar", inputs: ["flow", "entrypointsInfo"] }, { type: i5.GioBannerWarningComponent, selector: "gio-banner-warning" }, { type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { type: i7.GioPolicyStudioDetailsPhaseComponent, selector: "gio-ps-flow-details-phase", inputs: ["steps", "name", "description", "startConnector", "endConnector", "apiType", "policies", "policyExecutionPhase"], outputs: ["stepsChange"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "gioFilterConnectorsByMode": i9.GioFilterConnectorsByModePipe } });
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioDetailsComponent, decorators: [{
|
|
76
86
|
type: Component,
|
|
77
|
-
args: [{ selector: 'gio-ps-flow-details', 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<ng-container *ngIf=\"flow; else emptyFlows\">\n <div class=\"header\">\n <div class=\"header__label\">Flow details</div>\n <div class=\"header__configBtn\">\n <button class=\"header__configBtn__edit\" mat-stroked-button mat-icon-button (click)=\"onEditFlow()\">\n <mat-icon svgIcon=\"gio:edit-pencil\"></mat-icon>\n </button>\n <button class=\"header__configBtn__delete\" mat-stroked-button mat-icon-button (click)=\"onDeleteFlow()\">\n <mat-icon svgIcon=\"gio:trash\"></mat-icon>\n </button>\n </div>\n </div>\n <gio-ps-flow-details-info-bar class=\"infoBar\" [flow]=\"flow\" [entrypointsInfo]=\"entrypointsInfo\"></gio-ps-flow-details-info-bar>\n\n <div class=\"content\">\n <gio-banner-warning>\uD83D\uDEA7 Work in progress \uD83D\uDEA7</gio-banner-warning>\n\n <mat-tab-group *ngIf=\"apiType === 'MESSAGE'\" class=\"content__tabs\">\n <mat-tab label=\"Initial connection\">\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Request phase\"\n description=\"Policies will be applied during the connection establishment\"\n [startConnector]=\"entrypointsInfo\"\n [endConnector]=\"endpointsInfo\"\n [steps]=\"flow.
|
|
87
|
+
args: [{ selector: 'gio-ps-flow-details', 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<ng-container *ngIf=\"flow; else emptyFlows\">\n <div class=\"header\">\n <div class=\"header__label\">Flow details</div>\n <div class=\"header__configBtn\">\n <button class=\"header__configBtn__edit\" mat-stroked-button mat-icon-button (click)=\"onEditFlow()\">\n <mat-icon svgIcon=\"gio:edit-pencil\"></mat-icon>\n </button>\n <button class=\"header__configBtn__delete\" mat-stroked-button mat-icon-button (click)=\"onDeleteFlow()\">\n <mat-icon svgIcon=\"gio:trash\"></mat-icon>\n </button>\n </div>\n </div>\n <gio-ps-flow-details-info-bar class=\"infoBar\" [flow]=\"flow\" [entrypointsInfo]=\"entrypointsInfo\"></gio-ps-flow-details-info-bar>\n\n <div class=\"content\">\n <gio-banner-warning>\uD83D\uDEA7 Work in progress \uD83D\uDEA7</gio-banner-warning>\n\n <mat-tab-group *ngIf=\"apiType === 'MESSAGE'\" class=\"content__tabs\">\n <mat-tab label=\"Initial connection\">\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Request phase\"\n description=\"Policies will be applied during the connection establishment\"\n [startConnector]=\"entrypointsInfo\"\n [endConnector]=\"endpointsInfo\"\n [steps]=\"flow.request\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"REQUEST\"\n (stepsChange)=\"onStepsChange('request', $event)\"\n ></gio-ps-flow-details-phase>\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Response phase\"\n description=\"Policies will be applied during the connection termination\"\n [startConnector]=\"endpointsInfo\"\n [endConnector]=\"entrypointsInfo\"\n [steps]=\"flow.response\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"RESPONSE\"\n (stepsChange)=\"onStepsChange('response', $event)\"\n ></gio-ps-flow-details-phase>\n </mat-tab>\n <mat-tab label=\"Event messages\">\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Publish phase\"\n description=\"Policies will be applied on messages sent to the endpoint\"\n [startConnector]=\"entrypointsInfo | gioFilterConnectorsByMode : 'PUBLISH'\"\n [endConnector]=\"endpointsInfo | gioFilterConnectorsByMode : 'PUBLISH'\"\n [steps]=\"flow.publish\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"MESSAGE_RESPONSE\"\n (stepsChange)=\"onStepsChange('publish', $event)\"\n ></gio-ps-flow-details-phase>\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Subscribe phase\"\n description=\"Policies will be applied on messages received by the entrypoint\"\n [startConnector]=\"endpointsInfo | gioFilterConnectorsByMode : 'SUBSCRIBE'\"\n [endConnector]=\"entrypointsInfo | gioFilterConnectorsByMode : 'SUBSCRIBE'\"\n [steps]=\"flow.subscribe\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"MESSAGE_REQUEST\"\n (stepsChange)=\"onStepsChange('subscribe', $event)\"\n ></gio-ps-flow-details-phase>\n </mat-tab>\n </mat-tab-group>\n\n <div *ngIf=\"apiType === 'PROXY'\">\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Request phase\"\n description=\"Policies will be applied during the connection establishment\"\n [startConnector]=\"entrypointsInfo | gioFilterConnectorsByMode : 'REQUEST_RESPONSE'\"\n [endConnector]=\"endpointsInfo | gioFilterConnectorsByMode : 'REQUEST_RESPONSE'\"\n [steps]=\"flow.request\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"REQUEST\"\n (stepsChange)=\"onStepsChange('request', $event)\"\n ></gio-ps-flow-details-phase>\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n name=\"Response phase\"\n description=\"Policies will be applied during the connection termination\"\n [startConnector]=\"endpointsInfo | gioFilterConnectorsByMode : 'REQUEST_RESPONSE'\"\n [endConnector]=\"entrypointsInfo | gioFilterConnectorsByMode : 'REQUEST_RESPONSE'\"\n [steps]=\"flow.response\"\n [apiType]=\"apiType\"\n [policies]=\"policies\"\n policyExecutionPhase=\"RESPONSE\"\n (stepsChange)=\"onStepsChange('response', $event)\"\n ></gio-ps-flow-details-phase>\n </div>\n </div>\n</ng-container>\n\n<ng-template #emptyFlows>\n <div class=\"emptyFlows\">\n <h2>No flows yet</h2>\n <p class=\"mat-body-1\">Flows allow you to customize the behavior of your API event phases through configurable policies</p>\n </div>\n</ng-template>\n", styles: [":host{display:flex;height:100%;flex-direction:column}.emptyFlows{display:flex;width:500px;height:100%;flex-direction:column;justify-content:center;margin:auto;text-align:center}.header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #d3d5dc}.header__label{font:600 16px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;display:flex;flex:1 1 auto;align-items:center;margin-bottom:0;gap:8px}.header__configBtn{display:flex;align-items:center;margin-left:8px;gap:8px}.infoBar{border-bottom:1px solid #d3d5dc}.content{overflow:auto;flex:1 1 auto;background-color:#f7f8fd}.content__tabs{min-height:100%;min-height:calc(100% - 64px)}.content__phase{margin:16px 16px 0}\n"] }]
|
|
78
88
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { apiType: [{
|
|
79
89
|
type: Input
|
|
80
90
|
}], flow: [{
|
|
@@ -83,9 +93,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
83
93
|
type: Input
|
|
84
94
|
}], endpointsInfo: [{
|
|
85
95
|
type: Input
|
|
96
|
+
}], policies: [{
|
|
97
|
+
type: Input
|
|
86
98
|
}], flowChange: [{
|
|
87
99
|
type: Output
|
|
88
100
|
}], deleteFlow: [{
|
|
89
101
|
type: Output
|
|
90
102
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy9naW8tcHMtZmxvdy1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzL2dpby1wcy1mbG93LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQ0wsNkNBQTZDLEdBRTlDLE1BQU0sd0ZBQXdGLENBQUM7QUFFaEcsT0FBTyxFQUNMLDJDQUEyQyxHQUU1QyxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7Ozs7OztBQVE1RixNQUFNLE9BQU8sK0JBQStCO0lBbUIxQyxZQUE2QixTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBZDFDLFNBQUksR0FBWSxTQUFTLENBQUM7UUFHMUIsb0JBQWUsR0FBb0IsRUFBRSxDQUFDO1FBR3RDLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQUdwQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd4QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVLLENBQUM7SUFFOUMsVUFBVTtRQUNmLE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVM7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO2lCQUNYLElBQUksQ0FJSCw2Q0FBNkMsRUFBRTtnQkFDL0MsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFO2lCQUN4QztnQkFDRCxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsRUFBRSxFQUFFLDRCQUE0QjthQUNqQyxDQUFDO2lCQUNELFdBQVcsRUFBRTtZQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7aUJBQ1gsSUFBSSxDQUNILDJDQUEyQyxFQUMzQztnQkFDRSxJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNoQjtnQkFDRCxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsRUFBRSxFQUFFLDBCQUEwQjthQUMvQixDQUNGO2lCQUNBLFdBQVcsRUFBRSxDQUFDO1FBRXZCLFlBQVk7YUFDVCxJQUFJLENBQ0gsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzRIQWxFVSwrQkFBK0I7Z0hBQS9CLCtCQUErQiw4T0NwQzVDLHM3SUFvR0E7MkZEaEVhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSxxQkFBcUI7Z0dBTXhCLE9BQU87c0JBRGIsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsVUFBVTtzQkFEaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRmxvd1ZNIH0gZnJvbSAnLi4vLi4vZ2lvLXBvbGljeS1zdHVkaW8ubW9kZWwnO1xuaW1wb3J0IHtcbiAgR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VGb3JtRGlhbG9nQ29tcG9uZW50LFxuICBHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dEYXRhLFxufSBmcm9tICcuLi9mbG93LWZvcm0tZGlhbG9nL2Zsb3ctbWVzc2FnZS1mb3JtLWRpYWxvZy9naW8tcHMtZmxvdy1tZXNzYWdlLWZvcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcGlUeXBlLCBDb25uZWN0b3JJbmZvIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIEdpb1BvbGljeVN0dWRpb0Zsb3dQcm94eUZvcm1EaWFsb2dDb21wb25lbnQsXG4gIEdpb1BvbGljeVN0dWRpb0Zsb3dQcm94eUZvcm1EaWFsb2dEYXRhLFxufSBmcm9tICcuLi9mbG93LWZvcm0tZGlhbG9nL2Zsb3ctcHJveHktZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctcHJveHktZm9ybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dGb3JtRGlhbG9nUmVzdWx0IH0gZnJvbSAnLi4vZmxvdy1mb3JtLWRpYWxvZy9naW8tcHMtZmxvdy1mb3JtLWRpYWxvZy1yZXN1bHQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnaW8tcHMtZmxvdy1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wcy1mbG93LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tcHMtZmxvdy1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0RldGFpbHNDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXBpVHlwZSE6IEFwaVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZsb3c/OiBGbG93Vk0gPSB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGVudHJ5cG9pbnRzSW5mbzogQ29ubmVjdG9ySW5mb1tdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZHBvaW50c0luZm86IENvbm5lY3RvckluZm9bXSA9IFtdO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmxvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rmxvd1ZNPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGVsZXRlRmxvdyA9IG5ldyBFdmVudEVtaXR0ZXI8Rmxvd1ZNPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgcHVibGljIG9uRWRpdEZsb3coKTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nUmVzdWx0ID1cbiAgICAgIHRoaXMuYXBpVHlwZSA9PT0gJ01FU1NBR0UnXG4gICAgICAgID8gdGhpcy5tYXREaWFsb2dcbiAgICAgICAgICAgIC5vcGVuPFxuICAgICAgICAgICAgICBHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICAgIEdpb1BvbGljeVN0dWRpb0Zsb3dNZXNzYWdlRm9ybURpYWxvZ0RhdGEsXG4gICAgICAgICAgICAgIEdpb1BvbGljeVN0dWRpb0Zsb3dGb3JtRGlhbG9nUmVzdWx0XG4gICAgICAgICAgICA+KEdpb1BvbGljeVN0dWRpb0Zsb3dNZXNzYWdlRm9ybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZmxvdzogdGhpcy5mbG93LFxuICAgICAgICAgICAgICAgIGVudHJ5cG9pbnRzOiB0aGlzLmVudHJ5cG9pbnRzSW5mbyA/PyBbXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcm9sZTogJ2FsZXJ0ZGlhbG9nJyxcbiAgICAgICAgICAgICAgaWQ6ICdnaW9Qc0Zsb3dNZXNzYWdlRm9ybURpYWxvZycsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgOiB0aGlzLm1hdERpYWxvZ1xuICAgICAgICAgICAgLm9wZW48R2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0NvbXBvbmVudCwgR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0RhdGEsIEdpb1BvbGljeVN0dWRpb0Zsb3dGb3JtRGlhbG9nUmVzdWx0PihcbiAgICAgICAgICAgICAgR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgIGZsb3c6IHRoaXMuZmxvdyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJvbGU6ICdhbGVydGRpYWxvZycsXG4gICAgICAgICAgICAgICAgaWQ6ICdnaW9Qc0Zsb3dQcm94eUZvcm1EaWFsb2cnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKCk7XG5cbiAgICBkaWFsb2dSZXN1bHRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoY3JlYXRlZE9yRWRpdGVkID0+IHtcbiAgICAgICAgICBpZiAoIWNyZWF0ZWRPckVkaXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZmxvd0NoYW5nZS5lbWl0KGNyZWF0ZWRPckVkaXRlZCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG9uRGVsZXRlRmxvdygpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZUZsb3cuZW1pdCh0aGlzLmZsb3cpO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJmbG93OyBlbHNlIGVtcHR5Rmxvd3NcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2xhYmVsXCI+RmxvdyBkZXRhaWxzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlcl9fY29uZmlnQnRuXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaGVhZGVyX19jb25maWdCdG5fX2VkaXRcIiBtYXQtc3Ryb2tlZC1idXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkVkaXRGbG93KClcIj5cbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJnaW86ZWRpdC1wZW5jaWxcIj48L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaGVhZGVyX19jb25maWdCdG5fX2RlbGV0ZVwiIG1hdC1zdHJva2VkLWJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uRGVsZXRlRmxvdygpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOnRyYXNoXCI+PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGdpby1wcy1mbG93LWRldGFpbHMtaW5mby1iYXIgY2xhc3M9XCJpbmZvQmFyXCIgW2Zsb3ddPVwiZmxvd1wiIFtlbnRyeXBvaW50c0luZm9dPVwiZW50cnlwb2ludHNJbmZvXCI+PC9naW8tcHMtZmxvdy1kZXRhaWxzLWluZm8tYmFyPlxuXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGdpby1iYW5uZXItd2FybmluZz7wn5qnIFdvcmsgaW4gcHJvZ3Jlc3Mg8J+apzwvZ2lvLWJhbm5lci13YXJuaW5nPlxuXG4gICAgPG1hdC10YWItZ3JvdXAgKm5nSWY9XCJhcGlUeXBlID09PSAnTUVTU0FHRSdcIiBjbGFzcz1cImNvbnRlbnRfX3RhYnNcIj5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiSW5pdGlhbCBjb25uZWN0aW9uXCI+XG4gICAgICAgIDxnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlXG4gICAgICAgICAgY2xhc3M9XCJjb250ZW50X19waGFzZVwiXG4gICAgICAgICAgbmFtZT1cIlJlcXVlc3QgcGhhc2VcIlxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIGR1cmluZyB0aGUgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50XCJcbiAgICAgICAgICBbc3RhcnRDb25uZWN0b3JdPVwiZW50cnlwb2ludHNJbmZvXCJcbiAgICAgICAgICBbZW5kQ29ubmVjdG9yXT1cImVuZHBvaW50c0luZm9cIlxuICAgICAgICAgIFtzdGVwc109XCJmbG93LnJlc3BvbnNlXCJcbiAgICAgICAgPjwvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZT5cbiAgICAgICAgPGdpby1wcy1mbG93LWRldGFpbHMtcGhhc2VcbiAgICAgICAgICBjbGFzcz1cImNvbnRlbnRfX3BoYXNlXCJcbiAgICAgICAgICBuYW1lPVwiUmVzcG9uc2UgcGhhc2VcIlxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIGR1cmluZyB0aGUgY29ubmVjdGlvbiB0ZXJtaW5hdGlvblwiXG4gICAgICAgICAgW3N0YXJ0Q29ubmVjdG9yXT1cImVuZHBvaW50c0luZm9cIlxuICAgICAgICAgIFtlbmRDb25uZWN0b3JdPVwiZW50cnlwb2ludHNJbmZvXCJcbiAgICAgICAgICBbc3RlcHNdPVwiZmxvdy5yZXNwb25zZVwiXG4gICAgICAgID48L2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2U+XG4gICAgICA8L21hdC10YWI+XG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIkV2ZW50IG1lc3NhZ2VzXCI+XG4gICAgICAgIDxnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlXG4gICAgICAgICAgY2xhc3M9XCJjb250ZW50X19waGFzZVwiXG4gICAgICAgICAgbmFtZT1cIlB1Ymxpc2ggcGhhc2VcIlxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIG9uIG1lc3NhZ2VzIHNlbnQgdG8gdGhlIGVuZHBvaW50XCJcbiAgICAgICAgICBbc3RhcnRDb25uZWN0b3JdPVwiZW50cnlwb2ludHNJbmZvIHwgZ2lvRmlsdGVyQ29ubmVjdG9yc0J5TW9kZSA6ICdQVUJMSVNIJ1wiXG4gICAgICAgICAgW2VuZENvbm5lY3Rvcl09XCJlbmRwb2ludHNJbmZvIHwgZ2lvRmlsdGVyQ29ubmVjdG9yc0J5TW9kZSA6ICdQVUJMSVNIJ1wiXG4gICAgICAgICAgW3N0ZXBzXT1cImZsb3cucmVzcG9uc2VcIlxuICAgICAgICA+PC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlPlxuICAgICAgICA8Z2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZVxuICAgICAgICAgIGNsYXNzPVwiY29udGVudF9fcGhhc2VcIlxuICAgICAgICAgIG5hbWU9XCJTdWJzY3JpYmUgcGhhc2VcIlxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIG9uIG1lc3NhZ2VzIHJlY2VpdmVkIGJ5IHRoZSBlbnRyeXBvaW50XCJcbiAgICAgICAgICBbc3RhcnRDb25uZWN0b3JdPVwiZW5kcG9pbnRzSW5mbyB8IGdpb0ZpbHRlckNvbm5lY3RvcnNCeU1vZGUgOiAnU1VCU0NSSUJFJ1wiXG4gICAgICAgICAgW2VuZENvbm5lY3Rvcl09XCJlbnRyeXBvaW50c0luZm8gfCBnaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlIDogJ1NVQlNDUklCRSdcIlxuICAgICAgICAgIFtzdGVwc109XCJmbG93LnJlc3BvbnNlXCJcbiAgICAgICAgPjwvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZT5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICA8L21hdC10YWItZ3JvdXA+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYXBpVHlwZSA9PT0gJ1BST1hZJ1wiPlxuICAgICAgPGdpby1wcy1mbG93LWRldGFpbHMtcGhhc2VcbiAgICAgICAgY2xhc3M9XCJjb250ZW50X19waGFzZVwiXG4gICAgICAgIG5hbWU9XCJSZXF1ZXN0IHBoYXNlXCJcbiAgICAgICAgZGVzY3JpcHRpb249XCJQb2xpY2llcyB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHRoZSBjb25uZWN0aW9uIGVzdGFibGlzaG1lbnRcIlxuICAgICAgICBbc3RhcnRDb25uZWN0b3JdPVwiZW50cnlwb2ludHNJbmZvIHwgZ2lvRmlsdGVyQ29ubmVjdG9yc0J5TW9kZSA6ICdSRVFVRVNUX1JFU1BPTlNFJ1wiXG4gICAgICAgIFtlbmRDb25uZWN0b3JdPVwiZW5kcG9pbnRzSW5mbyB8IGdpb0ZpbHRlckNvbm5lY3RvcnNCeU1vZGUgOiAnUkVRVUVTVF9SRVNQT05TRSdcIlxuICAgICAgICBbc3RlcHNdPVwiZmxvdy5yZXF1ZXN0XCJcbiAgICAgID48L2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2U+XG4gICAgICA8Z2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZVxuICAgICAgICBjbGFzcz1cImNvbnRlbnRfX3BoYXNlXCJcbiAgICAgICAgbmFtZT1cIlJlc3BvbnNlIHBoYXNlXCJcbiAgICAgICAgZGVzY3JpcHRpb249XCJQb2xpY2llcyB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHRoZSBjb25uZWN0aW9uIHRlcm1pbmF0aW9uXCJcbiAgICAgICAgW3N0YXJ0Q29ubmVjdG9yXT1cImVuZHBvaW50c0luZm8gfCBnaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlIDogJ1JFUVVFU1RfUkVTUE9OU0UnXCJcbiAgICAgICAgW2VuZENvbm5lY3Rvcl09XCJlbnRyeXBvaW50c0luZm8gfCBnaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlIDogJ1JFUVVFU1RfUkVTUE9OU0UnXCJcbiAgICAgICAgW3N0ZXBzXT1cImZsb3cucmVzcG9uc2VcIlxuICAgICAgPjwvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eUZsb3dzPlxuICA8ZGl2IGNsYXNzPVwiZW1wdHlGbG93c1wiPlxuICAgIDxoMj5ObyBmbG93cyB5ZXQ8L2gyPlxuICAgIDxwIGNsYXNzPVwibWF0LWJvZHktMVwiPkZsb3dzIGFsbG93IHlvdSB0byBjdXN0b21pemUgdGhlIGJlaGF2aW9yIG9mIHlvdXIgQVBJIGV2ZW50IHBoYXNlcyB0aHJvdWdoIGNvbmZpZ3VyYWJsZSBwb2xpY2llczwvcD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy9naW8tcHMtZmxvdy1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzL2dpby1wcy1mbG93LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQ0wsNkNBQTZDLEdBRTlDLE1BQU0sd0ZBQXdGLENBQUM7QUFFaEcsT0FBTyxFQUNMLDJDQUEyQyxHQUU1QyxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7Ozs7OztBQVE1RixNQUFNLE9BQU8sK0JBQStCO0lBc0IxQyxZQUE2QixTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBakIxQyxTQUFJLEdBQVksU0FBUyxDQUFDO1FBRzFCLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUd0QyxrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFHcEMsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUd4QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd4QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVLLENBQUM7SUFFOUMsVUFBVTtRQUNmLE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVM7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO2lCQUNYLElBQUksQ0FJSCw2Q0FBNkMsRUFBRTtnQkFDL0MsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFO2lCQUN4QztnQkFDRCxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsRUFBRSxFQUFFLDRCQUE0QjthQUNqQyxDQUFDO2lCQUNELFdBQVcsRUFBRTtZQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7aUJBQ1gsSUFBSSxDQUNILDJDQUEyQyxFQUMzQztnQkFDRSxJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNoQjtnQkFDRCxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsRUFBRSxFQUFFLDBCQUEwQjthQUMvQixDQUNGO2lCQUNBLFdBQVcsRUFBRSxDQUFDO1FBRXZCLFlBQVk7YUFDVCxJQUFJLENBQ0gsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxhQUFhLENBQUMsU0FBMkQsRUFBRSxLQUFhO1FBQzdGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsR0FBRyxJQUFJLENBQUMsSUFBSTtZQUNaLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDOzs2SEFoRlUsK0JBQStCO2lIQUEvQiwrQkFBK0Isb1FDcEM1QyxnOUtBNEhBOzRGRHhGYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UscUJBQXFCO2dHQU14QixPQUFPO3NCQURiLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGbG93Vk0gfSBmcm9tICcuLi8uLi9naW8tcG9saWN5LXN0dWRpby5tb2RlbCc7XG5pbXBvcnQge1xuICBHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dDb21wb25lbnQsXG4gIEdpb1BvbGljeVN0dWRpb0Zsb3dNZXNzYWdlRm9ybURpYWxvZ0RhdGEsXG59IGZyb20gJy4uL2Zsb3ctZm9ybS1kaWFsb2cvZmxvdy1tZXNzYWdlLWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LW1lc3NhZ2UtZm9ybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEFwaVR5cGUsIENvbm5lY3RvckluZm8sIFBvbGljeSwgU3RlcCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBHaW9Qb2xpY3lTdHVkaW9GbG93UHJveHlGb3JtRGlhbG9nQ29tcG9uZW50LFxuICBHaW9Qb2xpY3lTdHVkaW9GbG93UHJveHlGb3JtRGlhbG9nRGF0YSxcbn0gZnJvbSAnLi4vZmxvdy1mb3JtLWRpYWxvZy9mbG93LXByb3h5LWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LXByb3h5LWZvcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93Rm9ybURpYWxvZ1Jlc3VsdCB9IGZyb20gJy4uL2Zsb3ctZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctZm9ybS1kaWFsb2ctcmVzdWx0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLXBzLWZsb3ctZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9naW8tcHMtZmxvdy1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLXBzLWZsb3ctZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGFwaVR5cGUhOiBBcGlUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmbG93PzogRmxvd1ZNID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbnRyeXBvaW50c0luZm86IENvbm5lY3RvckluZm9bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmRwb2ludHNJbmZvOiBDb25uZWN0b3JJbmZvW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcG9saWNpZXM6IFBvbGljeVtdID0gW107XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmbG93Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGbG93Vk0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxldGVGbG93ID0gbmV3IEV2ZW50RW1pdHRlcjxGbG93Vk0+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZykge31cblxuICBwdWJsaWMgb25FZGl0RmxvdygpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dSZXN1bHQgPVxuICAgICAgdGhpcy5hcGlUeXBlID09PSAnTUVTU0FHRSdcbiAgICAgICAgPyB0aGlzLm1hdERpYWxvZ1xuICAgICAgICAgICAgLm9wZW48XG4gICAgICAgICAgICAgIEdpb1BvbGljeVN0dWRpb0Zsb3dNZXNzYWdlRm9ybURpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgICAgICAgR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VGb3JtRGlhbG9nRGF0YSxcbiAgICAgICAgICAgICAgR2lvUG9saWN5U3R1ZGlvRmxvd0Zvcm1EaWFsb2dSZXN1bHRcbiAgICAgICAgICAgID4oR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VGb3JtRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBmbG93OiB0aGlzLmZsb3csXG4gICAgICAgICAgICAgICAgZW50cnlwb2ludHM6IHRoaXMuZW50cnlwb2ludHNJbmZvID8/IFtdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByb2xlOiAnYWxlcnRkaWFsb2cnLFxuICAgICAgICAgICAgICBpZDogJ2dpb1BzRmxvd01lc3NhZ2VGb3JtRGlhbG9nJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICA6IHRoaXMubWF0RGlhbG9nXG4gICAgICAgICAgICAub3BlbjxHaW9Qb2xpY3lTdHVkaW9GbG93UHJveHlGb3JtRGlhbG9nQ29tcG9uZW50LCBHaW9Qb2xpY3lTdHVkaW9GbG93UHJveHlGb3JtRGlhbG9nRGF0YSwgR2lvUG9saWN5U3R1ZGlvRmxvd0Zvcm1EaWFsb2dSZXN1bHQ+KFxuICAgICAgICAgICAgICBHaW9Qb2xpY3lTdHVkaW9GbG93UHJveHlGb3JtRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgZmxvdzogdGhpcy5mbG93LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcm9sZTogJ2FsZXJ0ZGlhbG9nJyxcbiAgICAgICAgICAgICAgICBpZDogJ2dpb1BzRmxvd1Byb3h5Rm9ybURpYWxvZycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKTtcblxuICAgIGRpYWxvZ1Jlc3VsdFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChjcmVhdGVkT3JFZGl0ZWQgPT4ge1xuICAgICAgICAgIGlmICghY3JlYXRlZE9yRWRpdGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5mbG93Q2hhbmdlLmVtaXQoY3JlYXRlZE9yRWRpdGVkKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGVGbG93KCk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlRmxvdy5lbWl0KHRoaXMuZmxvdyk7XG4gIH1cblxuICBwdWJsaWMgb25TdGVwc0NoYW5nZShmbG93UGhhc2U6ICdyZXF1ZXN0JyB8ICdyZXNwb25zZScgfCAncHVibGlzaCcgfCAnc3Vic2NyaWJlJywgc3RlcHM6IFN0ZXBbXSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mbG93KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5mbG93Q2hhbmdlLmVtaXQoe1xuICAgICAgLi4udGhpcy5mbG93LFxuICAgICAgW2Zsb3dQaGFzZV06IHN0ZXBzLFxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJmbG93OyBlbHNlIGVtcHR5Rmxvd3NcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2xhYmVsXCI+RmxvdyBkZXRhaWxzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlcl9fY29uZmlnQnRuXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaGVhZGVyX19jb25maWdCdG5fX2VkaXRcIiBtYXQtc3Ryb2tlZC1idXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkVkaXRGbG93KClcIj5cbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJnaW86ZWRpdC1wZW5jaWxcIj48L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaGVhZGVyX19jb25maWdCdG5fX2RlbGV0ZVwiIG1hdC1zdHJva2VkLWJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uRGVsZXRlRmxvdygpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOnRyYXNoXCI+PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGdpby1wcy1mbG93LWRldGFpbHMtaW5mby1iYXIgY2xhc3M9XCJpbmZvQmFyXCIgW2Zsb3ddPVwiZmxvd1wiIFtlbnRyeXBvaW50c0luZm9dPVwiZW50cnlwb2ludHNJbmZvXCI+PC9naW8tcHMtZmxvdy1kZXRhaWxzLWluZm8tYmFyPlxuXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGdpby1iYW5uZXItd2FybmluZz7wn5qnIFdvcmsgaW4gcHJvZ3Jlc3Mg8J+apzwvZ2lvLWJhbm5lci13YXJuaW5nPlxuXG4gICAgPG1hdC10YWItZ3JvdXAgKm5nSWY9XCJhcGlUeXBlID09PSAnTUVTU0FHRSdcIiBjbGFzcz1cImNvbnRlbnRfX3RhYnNcIj5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiSW5pdGlhbCBjb25uZWN0aW9uXCI+XG4gICAgICAgIDxnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlXG4gICAgICAgICAgY2xhc3M9XCJjb250ZW50X19waGFzZVwiXG4gICAgICAgICAgbmFtZT1cIlJlcXVlc3QgcGhhc2VcIlxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIGR1cmluZyB0aGUgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50XCJcbiAgICAgICAgICBbc3RhcnRDb25uZWN0b3JdPVwiZW50cnlwb2ludHNJbmZvXCJcbiAgICAgICAgICBbZW5kQ29ubmVjdG9yXT1cImVuZHBvaW50c0luZm9cIlxuICAgICAgICAgIFtzdGVwc109XCJmbG93LnJlcXVlc3RcIlxuICAgICAgICAgIFthcGlUeXBlXT1cImFwaVR5cGVcIlxuICAgICAgICAgIFtwb2xpY2llc109XCJwb2xpY2llc1wiXG4gICAgICAgICAgcG9saWN5RXhlY3V0aW9uUGhhc2U9XCJSRVFVRVNUXCJcbiAgICAgICAgICAoc3RlcHNDaGFuZ2UpPVwib25TdGVwc0NoYW5nZSgncmVxdWVzdCcsICRldmVudClcIlxuICAgICAgICA+PC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlPlxuICAgICAgICA8Z2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZVxuICAgICAgICAgIGNsYXNzPVwiY29udGVudF9fcGhhc2VcIlxuICAgICAgICAgIG5hbWU9XCJSZXNwb25zZSBwaGFzZVwiXG4gICAgICAgICAgZGVzY3JpcHRpb249XCJQb2xpY2llcyB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHRoZSBjb25uZWN0aW9uIHRlcm1pbmF0aW9uXCJcbiAgICAgICAgICBbc3RhcnRDb25uZWN0b3JdPVwiZW5kcG9pbnRzSW5mb1wiXG4gICAgICAgICAgW2VuZENvbm5lY3Rvcl09XCJlbnRyeXBvaW50c0luZm9cIlxuICAgICAgICAgIFtzdGVwc109XCJmbG93LnJlc3BvbnNlXCJcbiAgICAgICAgICBbYXBpVHlwZV09XCJhcGlUeXBlXCJcbiAgICAgICAgICBbcG9saWNpZXNdPVwicG9saWNpZXNcIlxuICAgICAgICAgIHBvbGljeUV4ZWN1dGlvblBoYXNlPVwiUkVTUE9OU0VcIlxuICAgICAgICAgIChzdGVwc0NoYW5nZSk9XCJvblN0ZXBzQ2hhbmdlKCdyZXNwb25zZScsICRldmVudClcIlxuICAgICAgICA+PC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlPlxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJFdmVudCBtZXNzYWdlc1wiPlxuICAgICAgICA8Z2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZVxuICAgICAgICAgIGNsYXNzPVwiY29udGVudF9fcGhhc2VcIlxuICAgICAgICAgIG5hbWU9XCJQdWJsaXNoIHBoYXNlXCJcbiAgICAgICAgICBkZXNjcmlwdGlvbj1cIlBvbGljaWVzIHdpbGwgYmUgYXBwbGllZCBvbiBtZXNzYWdlcyBzZW50IHRvIHRoZSBlbmRwb2ludFwiXG4gICAgICAgICAgW3N0YXJ0Q29ubmVjdG9yXT1cImVudHJ5cG9pbnRzSW5mbyB8IGdpb0ZpbHRlckNvbm5lY3RvcnNCeU1vZGUgOiAnUFVCTElTSCdcIlxuICAgICAgICAgIFtlbmRDb25uZWN0b3JdPVwiZW5kcG9pbnRzSW5mbyB8IGdpb0ZpbHRlckNvbm5lY3RvcnNCeU1vZGUgOiAnUFVCTElTSCdcIlxuICAgICAgICAgIFtzdGVwc109XCJmbG93LnB1Ymxpc2hcIlxuICAgICAgICAgIFthcGlUeXBlXT1cImFwaVR5cGVcIlxuICAgICAgICAgIFtwb2xpY2llc109XCJwb2xpY2llc1wiXG4gICAgICAgICAgcG9saWN5RXhlY3V0aW9uUGhhc2U9XCJNRVNTQUdFX1JFU1BPTlNFXCJcbiAgICAgICAgICAoc3RlcHNDaGFuZ2UpPVwib25TdGVwc0NoYW5nZSgncHVibGlzaCcsICRldmVudClcIlxuICAgICAgICA+PC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlPlxuICAgICAgICA8Z2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZVxuICAgICAgICAgIGNsYXNzPVwiY29udGVudF9fcGhhc2VcIlxuICAgICAgICAgIG5hbWU9XCJTdWJzY3JpYmUgcGhhc2VcIlxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUG9saWNpZXMgd2lsbCBiZSBhcHBsaWVkIG9uIG1lc3NhZ2VzIHJlY2VpdmVkIGJ5IHRoZSBlbnRyeXBvaW50XCJcbiAgICAgICAgICBbc3RhcnRDb25uZWN0b3JdPVwiZW5kcG9pbnRzSW5mbyB8IGdpb0ZpbHRlckNvbm5lY3RvcnNCeU1vZGUgOiAnU1VCU0NSSUJFJ1wiXG4gICAgICAgICAgW2VuZENvbm5lY3Rvcl09XCJlbnRyeXBvaW50c0luZm8gfCBnaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlIDogJ1NVQlNDUklCRSdcIlxuICAgICAgICAgIFtzdGVwc109XCJmbG93LnN1YnNjcmliZVwiXG4gICAgICAgICAgW2FwaVR5cGVdPVwiYXBpVHlwZVwiXG4gICAgICAgICAgW3BvbGljaWVzXT1cInBvbGljaWVzXCJcbiAgICAgICAgICBwb2xpY3lFeGVjdXRpb25QaGFzZT1cIk1FU1NBR0VfUkVRVUVTVFwiXG4gICAgICAgICAgKHN0ZXBzQ2hhbmdlKT1cIm9uU3RlcHNDaGFuZ2UoJ3N1YnNjcmliZScsICRldmVudClcIlxuICAgICAgICA+PC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlPlxuICAgICAgPC9tYXQtdGFiPlxuICAgIDwvbWF0LXRhYi1ncm91cD5cblxuICAgIDxkaXYgKm5nSWY9XCJhcGlUeXBlID09PSAnUFJPWFknXCI+XG4gICAgICA8Z2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZVxuICAgICAgICBjbGFzcz1cImNvbnRlbnRfX3BoYXNlXCJcbiAgICAgICAgbmFtZT1cIlJlcXVlc3QgcGhhc2VcIlxuICAgICAgICBkZXNjcmlwdGlvbj1cIlBvbGljaWVzIHdpbGwgYmUgYXBwbGllZCBkdXJpbmcgdGhlIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudFwiXG4gICAgICAgIFtzdGFydENvbm5lY3Rvcl09XCJlbnRyeXBvaW50c0luZm8gfCBnaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlIDogJ1JFUVVFU1RfUkVTUE9OU0UnXCJcbiAgICAgICAgW2VuZENvbm5lY3Rvcl09XCJlbmRwb2ludHNJbmZvIHwgZ2lvRmlsdGVyQ29ubmVjdG9yc0J5TW9kZSA6ICdSRVFVRVNUX1JFU1BPTlNFJ1wiXG4gICAgICAgIFtzdGVwc109XCJmbG93LnJlcXVlc3RcIlxuICAgICAgICBbYXBpVHlwZV09XCJhcGlUeXBlXCJcbiAgICAgICAgW3BvbGljaWVzXT1cInBvbGljaWVzXCJcbiAgICAgICAgcG9saWN5RXhlY3V0aW9uUGhhc2U9XCJSRVFVRVNUXCJcbiAgICAgICAgKHN0ZXBzQ2hhbmdlKT1cIm9uU3RlcHNDaGFuZ2UoJ3JlcXVlc3QnLCAkZXZlbnQpXCJcbiAgICAgID48L2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2U+XG4gICAgICA8Z2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZVxuICAgICAgICBjbGFzcz1cImNvbnRlbnRfX3BoYXNlXCJcbiAgICAgICAgbmFtZT1cIlJlc3BvbnNlIHBoYXNlXCJcbiAgICAgICAgZGVzY3JpcHRpb249XCJQb2xpY2llcyB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHRoZSBjb25uZWN0aW9uIHRlcm1pbmF0aW9uXCJcbiAgICAgICAgW3N0YXJ0Q29ubmVjdG9yXT1cImVuZHBvaW50c0luZm8gfCBnaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlIDogJ1JFUVVFU1RfUkVTUE9OU0UnXCJcbiAgICAgICAgW2VuZENvbm5lY3Rvcl09XCJlbnRyeXBvaW50c0luZm8gfCBnaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlIDogJ1JFUVVFU1RfUkVTUE9OU0UnXCJcbiAgICAgICAgW3N0ZXBzXT1cImZsb3cucmVzcG9uc2VcIlxuICAgICAgICBbYXBpVHlwZV09XCJhcGlUeXBlXCJcbiAgICAgICAgW3BvbGljaWVzXT1cInBvbGljaWVzXCJcbiAgICAgICAgcG9saWN5RXhlY3V0aW9uUGhhc2U9XCJSRVNQT05TRVwiXG4gICAgICAgIChzdGVwc0NoYW5nZSk9XCJvblN0ZXBzQ2hhbmdlKCdyZXNwb25zZScsICRldmVudClcIlxuICAgICAgPjwvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eUZsb3dzPlxuICA8ZGl2IGNsYXNzPVwiZW1wdHlGbG93c1wiPlxuICAgIDxoMj5ObyBmbG93cyB5ZXQ8L2gyPlxuICAgIDxwIGNsYXNzPVwibWF0LWJvZHktMVwiPkZsb3dzIGFsbG93IHlvdSB0byBjdXN0b21pemUgdGhlIGJlaGF2aW9yIG9mIHlvdXIgQVBJIGV2ZW50IHBoYXNlcyB0aHJvdWdoIGNvbmZpZ3VyYWJsZSBwb2xpY2llczwvcD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
package/esm2020/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.mjs
CHANGED
|
@@ -78,9 +78,9 @@ export class GioPolicyStudioDetailsInfoBarComponent {
|
|
|
78
78
|
return httpSelector?.methods?.length ? httpSelector?.methods : ['ALL'];
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
GioPolicyStudioDetailsInfoBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
82
|
-
GioPolicyStudioDetailsInfoBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
81
|
+
GioPolicyStudioDetailsInfoBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioDetailsInfoBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
GioPolicyStudioDetailsInfoBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioPolicyStudioDetailsInfoBarComponent, selector: "gio-ps-flow-details-info-bar", inputs: { flow: "flow", entrypointsInfo: "entrypointsInfo" }, 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<div *ngIf=\"flow?.name\" class=\"info\">\n <span class=\"info__label\">Name</span>\n <span class=\"info__value strong\">{{ flow?.name }}</span>\n</div>\n\n<div *ngIf=\"entrypointsInfo\" class=\"info\">\n <span class=\"info__label\">Entrypoints</span>\n <span *ngFor=\"let entrypoint of entrypointsInfo\" class=\"info__value gio-badge-neutral\">\n <mat-icon [svgIcon]=\"entrypoint.icon\"></mat-icon>\n {{ entrypoint.name }}</span\n >\n</div>\n\n<!-- MESSAGE API type -->\n\n<div *ngIf=\"operations\" class=\"info\">\n <span class=\"info__label\">Operations</span>\n <span *ngFor=\"let operation of operations\" class=\"info__value gio-badge-neutral\"> {{ operation }}</span>\n</div>\n\n<div *ngIf=\"channel\" class=\"info\">\n <span class=\"info__label\">Channel</span>\n <span class=\"info__value strong\">{{ channel }}</span>\n</div>\n\n<div *ngIf=\"channelOperator\" class=\"info\">\n <span class=\"info__label\">Channel Operator</span>\n <span class=\"info__value gio-badge-neutral\">{{ channelOperator }}</span>\n</div>\n\n<!-- PROXY API type -->\n\n<div *ngIf=\"path\" class=\"info\">\n <span class=\"info__label\">Path</span>\n <span class=\"info__value strong\">{{ path }}</span>\n</div>\n\n<div *ngIf=\"pathOperator\" class=\"info\">\n <span class=\"info__label\">Path Operator</span>\n <span class=\"info__value gio-badge-neutral\">{{ pathOperator }}</span>\n</div>\n\n<div *ngIf=\"methods\" class=\"info\">\n <span class=\"info__label\">HTTP methods</span>\n <span *ngFor=\"let method of methods\" class=\"info__value gio-badge-neutral\"> {{ method }}</span>\n</div>\n\n<!-- Condition -->\n\n<div *ngIf=\"condition\" class=\"info\">\n <span class=\"info__label\">Condition</span>\n <span class=\"info__value gio-badge-neutral\">{{ condition }}</span>\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;padding:16px;gap:12px}.info__label{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;color:#606274}.info__value.strong{padding-left:8px;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioDetailsInfoBarComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{ selector: 'gio-ps-flow-details-info-bar', 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<div *ngIf=\"flow?.name\" class=\"info\">\n <span class=\"info__label\">Name</span>\n <span class=\"info__value strong\">{{ flow?.name }}</span>\n</div>\n\n<div *ngIf=\"entrypointsInfo\" class=\"info\">\n <span class=\"info__label\">Entrypoints</span>\n <span *ngFor=\"let entrypoint of entrypointsInfo\" class=\"info__value gio-badge-neutral\">\n <mat-icon [svgIcon]=\"entrypoint.icon\"></mat-icon>\n {{ entrypoint.name }}</span\n >\n</div>\n\n<!-- MESSAGE API type -->\n\n<div *ngIf=\"operations\" class=\"info\">\n <span class=\"info__label\">Operations</span>\n <span *ngFor=\"let operation of operations\" class=\"info__value gio-badge-neutral\"> {{ operation }}</span>\n</div>\n\n<div *ngIf=\"channel\" class=\"info\">\n <span class=\"info__label\">Channel</span>\n <span class=\"info__value strong\">{{ channel }}</span>\n</div>\n\n<div *ngIf=\"channelOperator\" class=\"info\">\n <span class=\"info__label\">Channel Operator</span>\n <span class=\"info__value gio-badge-neutral\">{{ channelOperator }}</span>\n</div>\n\n<!-- PROXY API type -->\n\n<div *ngIf=\"path\" class=\"info\">\n <span class=\"info__label\">Path</span>\n <span class=\"info__value strong\">{{ path }}</span>\n</div>\n\n<div *ngIf=\"pathOperator\" class=\"info\">\n <span class=\"info__label\">Path Operator</span>\n <span class=\"info__value gio-badge-neutral\">{{ pathOperator }}</span>\n</div>\n\n<div *ngIf=\"methods\" class=\"info\">\n <span class=\"info__label\">HTTP methods</span>\n <span *ngFor=\"let method of methods\" class=\"info__value gio-badge-neutral\"> {{ method }}</span>\n</div>\n\n<!-- Condition -->\n\n<div *ngIf=\"condition\" class=\"info\">\n <span class=\"info__label\">Condition</span>\n <span class=\"info__value gio-badge-neutral\">{{ condition }}</span>\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;padding:16px;gap:12px}.info__label{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;color:#606274}.info__value.strong{padding-left:8px;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"] }]
|
|
86
86
|
}], propDecorators: { flow: [{
|
|
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
88
88
|
}], entrypointsInfo: [{
|
|
89
89
|
type: Input
|
|
90
90
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy1pbmZvLWJhci9naW8tcHMtZmxvdy1kZXRhaWxzLWluZm8tYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLWluZm8tYmFyL2dpby1wcy1mbG93LWRldGFpbHMtaW5mby1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVVqRCxNQUFNLE9BQU8sc0NBQXNDO0lBTG5EO1FBT1MsU0FBSSxHQUFZLFNBQVMsQ0FBQztRQUcxQixvQkFBZSxHQUFvQixFQUFFLENBQUM7S0FpRTlDO0lBL0RDLElBQVcsU0FBUztRQUNsQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFzQixDQUFDO1FBQ3ZHLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8saUJBQWlCLEVBQUUsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxtQkFBbUI7SUFFbkIsSUFBVyxVQUFVO1FBQ25CLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFvQixDQUFDO1FBQ2pHLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxNQUFNLGdCQUFnQixHQUE4QjtZQUNsRCxPQUFPLEVBQUUsS0FBSztZQUNkLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7UUFDRixPQUFPLGVBQWUsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFvQixDQUFDO1FBQ2pHLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBb0IsQ0FBQztRQUNqRyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxlQUFlLEVBQUUsZUFBZSxDQUFDO0lBQzFDLENBQUM7SUFFRCxpQkFBaUI7SUFFakIsSUFBVyxJQUFJO1FBQ2IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQWlCLENBQUM7UUFDeEYsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sWUFBWSxFQUFFLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFpQixDQUFDO1FBQ3hGLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLFlBQVksRUFBRSxZQUFZLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBaUIsQ0FBQztRQUN4RixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDOzttSUFyRVUsc0NBQXNDO3VIQUF0QyxzQ0FBc0Msa0lDekJuRCxxNkVBc0VBOzJGRDdDYSxzQ0FBc0M7a0JBTGxELFNBQVM7K0JBQ0UsOEJBQThCOzhCQU1qQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZsb3dWTSB9IGZyb20gJy4uLy4uL2dpby1wb2xpY3ktc3R1ZGlvLm1vZGVsJztcbmltcG9ydCB7IENoYW5uZWxTZWxlY3RvciwgQ29uZGl0aW9uU2VsZWN0b3IsIENvbm5lY3RvckluZm8sIEh0dHBTZWxlY3RvciwgT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9naW8tcHMtZmxvdy1kZXRhaWxzLWluZm8tYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSW5mb0JhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmbG93PzogRmxvd1ZNID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbnRyeXBvaW50c0luZm86IENvbm5lY3RvckluZm9bXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgY29uZGl0aW9uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29uZGl0aW9uU2VsZWN0b3IgPSB0aGlzLmZsb3c/LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0NPTkRJVElPTicpIGFzIENvbmRpdGlvblNlbGVjdG9yO1xuICAgIGlmICghY29uZGl0aW9uU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBjb25kaXRpb25TZWxlY3Rvcj8uY29uZGl0aW9uO1xuICB9XG5cbiAgLy8gTUVTU0FHRSBBUEkgdHlwZVxuXG4gIHB1YmxpYyBnZXQgb3BlcmF0aW9ucygpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY2hhbm5lbFNlbGVjdG9yID0gdGhpcy5mbG93Py5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDSEFOTkVMJykgYXMgQ2hhbm5lbFNlbGVjdG9yO1xuICAgIGlmICghY2hhbm5lbFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBvcGVyYXRpb25Ub0JhZGdlOiBSZWNvcmQ8T3BlcmF0aW9uLCBzdHJpbmc+ID0ge1xuICAgICAgUFVCTElTSDogJ1BVQicsXG4gICAgICBTVUJTQ1JJQkU6ICdTVUInLFxuICAgIH07XG4gICAgcmV0dXJuIGNoYW5uZWxTZWxlY3Rvcj8ub3BlcmF0aW9ucz8ubWFwKG8gPT4gb3BlcmF0aW9uVG9CYWRnZVtvXSkuc29ydCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFubmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY2hhbm5lbFNlbGVjdG9yID0gdGhpcy5mbG93Py5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDSEFOTkVMJykgYXMgQ2hhbm5lbFNlbGVjdG9yO1xuICAgIGlmICghY2hhbm5lbFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gY2hhbm5lbFNlbGVjdG9yPy5jaGFubmVsO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFubmVsT3BlcmF0b3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjaGFubmVsU2VsZWN0b3IgPSB0aGlzLmZsb3c/LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0NIQU5ORUwnKSBhcyBDaGFubmVsU2VsZWN0b3I7XG4gICAgaWYgKCFjaGFubmVsU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBjaGFubmVsU2VsZWN0b3I/LmNoYW5uZWxPcGVyYXRvcjtcbiAgfVxuXG4gIC8vIFBST1hZIEFQSSB0eXBlXG5cbiAgcHVibGljIGdldCBwYXRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaHR0cFNlbGVjdG9yID0gdGhpcy5mbG93Py5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdIVFRQJykgYXMgSHR0cFNlbGVjdG9yO1xuICAgIGlmICghaHR0cFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gaHR0cFNlbGVjdG9yPy5wYXRoO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXRoT3BlcmF0b3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBodHRwU2VsZWN0b3IgPSB0aGlzLmZsb3c/LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0hUVFAnKSBhcyBIdHRwU2VsZWN0b3I7XG4gICAgaWYgKCFodHRwU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBodHRwU2VsZWN0b3I/LnBhdGhPcGVyYXRvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWV0aG9kcygpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaHR0cFNlbGVjdG9yID0gdGhpcy5mbG93Py5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdIVFRQJykgYXMgSHR0cFNlbGVjdG9yO1xuICAgIGlmICghaHR0cFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gaHR0cFNlbGVjdG9yPy5tZXRob2RzPy5sZW5ndGggPyBodHRwU2VsZWN0b3I/Lm1ldGhvZHMgOiBbJ0FMTCddO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbjxkaXYgKm5nSWY9XCJmbG93Py5uYW1lXCIgY2xhc3M9XCJpbmZvXCI+XG4gIDxzcGFuIGNsYXNzPVwiaW5mb19fbGFiZWxcIj5OYW1lPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX3ZhbHVlIHN0cm9uZ1wiPnt7IGZsb3c/Lm5hbWUgfX08L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImVudHJ5cG9pbnRzSW5mb1wiIGNsYXNzPVwiaW5mb1wiPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX2xhYmVsXCI+RW50cnlwb2ludHM8L3NwYW4+XG4gIDxzcGFuICpuZ0Zvcj1cImxldCBlbnRyeXBvaW50IG9mIGVudHJ5cG9pbnRzSW5mb1wiIGNsYXNzPVwiaW5mb19fdmFsdWUgZ2lvLWJhZGdlLW5ldXRyYWxcIj5cbiAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiZW50cnlwb2ludC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICB7eyBlbnRyeXBvaW50Lm5hbWUgfX08L3NwYW5cbiAgPlxuPC9kaXY+XG5cbjwhLS0gTUVTU0FHRSBBUEkgdHlwZSAtLT5cblxuPGRpdiAqbmdJZj1cIm9wZXJhdGlvbnNcIiBjbGFzcz1cImluZm9cIj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX19sYWJlbFwiPk9wZXJhdGlvbnM8L3NwYW4+XG4gIDxzcGFuICpuZ0Zvcj1cImxldCBvcGVyYXRpb24gb2Ygb3BlcmF0aW9uc1wiIGNsYXNzPVwiaW5mb19fdmFsdWUgZ2lvLWJhZGdlLW5ldXRyYWxcIj4ge3sgb3BlcmF0aW9uIH19PC9zcGFuPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJjaGFubmVsXCIgY2xhc3M9XCJpbmZvXCI+XG4gIDxzcGFuIGNsYXNzPVwiaW5mb19fbGFiZWxcIj5DaGFubmVsPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX3ZhbHVlIHN0cm9uZ1wiPnt7IGNoYW5uZWwgfX08L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImNoYW5uZWxPcGVyYXRvclwiIGNsYXNzPVwiaW5mb1wiPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX2xhYmVsXCI+Q2hhbm5lbCBPcGVyYXRvcjwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX192YWx1ZSBnaW8tYmFkZ2UtbmV1dHJhbFwiPnt7IGNoYW5uZWxPcGVyYXRvciB9fTwvc3Bhbj5cbjwvZGl2PlxuXG48IS0tIFBST1hZIEFQSSB0eXBlIC0tPlxuXG48ZGl2ICpuZ0lmPVwicGF0aFwiIGNsYXNzPVwiaW5mb1wiPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX2xhYmVsXCI+UGF0aDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX192YWx1ZSBzdHJvbmdcIj57eyBwYXRoIH19PC9zcGFuPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJwYXRoT3BlcmF0b3JcIiBjbGFzcz1cImluZm9cIj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX19sYWJlbFwiPlBhdGggT3BlcmF0b3I8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiaW5mb19fdmFsdWUgZ2lvLWJhZGdlLW5ldXRyYWxcIj57eyBwYXRoT3BlcmF0b3IgfX08L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cIm1ldGhvZHNcIiBjbGFzcz1cImluZm9cIj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX19sYWJlbFwiPkhUVFAgbWV0aG9kczwvc3Bhbj5cbiAgPHNwYW4gKm5nRm9yPVwibGV0IG1ldGhvZCBvZiBtZXRob2RzXCIgY2xhc3M9XCJpbmZvX192YWx1ZSBnaW8tYmFkZ2UtbmV1dHJhbFwiPiB7eyBtZXRob2QgfX08L3NwYW4+XG48L2Rpdj5cblxuPCEtLSBDb25kaXRpb24gLS0+XG5cbjxkaXYgKm5nSWY9XCJjb25kaXRpb25cIiBjbGFzcz1cImluZm9cIj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX19sYWJlbFwiPkNvbmRpdGlvbjwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX192YWx1ZSBnaW8tYmFkZ2UtbmV1dHJhbFwiPnt7IGNvbmRpdGlvbiB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy1pbmZvLWJhci9naW8tcHMtZmxvdy1kZXRhaWxzLWluZm8tYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLWluZm8tYmFyL2dpby1wcy1mbG93LWRldGFpbHMtaW5mby1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVVqRCxNQUFNLE9BQU8sc0NBQXNDO0lBTG5EO1FBT1MsU0FBSSxHQUFZLFNBQVMsQ0FBQztRQUcxQixvQkFBZSxHQUFvQixFQUFFLENBQUM7S0FpRTlDO0lBL0RDLElBQVcsU0FBUztRQUNsQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFzQixDQUFDO1FBQ3ZHLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8saUJBQWlCLEVBQUUsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxtQkFBbUI7SUFFbkIsSUFBVyxVQUFVO1FBQ25CLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFvQixDQUFDO1FBQ2pHLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxNQUFNLGdCQUFnQixHQUE4QjtZQUNsRCxPQUFPLEVBQUUsS0FBSztZQUNkLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7UUFDRixPQUFPLGVBQWUsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFvQixDQUFDO1FBQ2pHLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBb0IsQ0FBQztRQUNqRyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxlQUFlLEVBQUUsZUFBZSxDQUFDO0lBQzFDLENBQUM7SUFFRCxpQkFBaUI7SUFFakIsSUFBVyxJQUFJO1FBQ2IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQWlCLENBQUM7UUFDeEYsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sWUFBWSxFQUFFLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFpQixDQUFDO1FBQ3hGLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLFlBQVksRUFBRSxZQUFZLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBaUIsQ0FBQztRQUN4RixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDOztvSUFyRVUsc0NBQXNDO3dIQUF0QyxzQ0FBc0Msa0lDekJuRCxxNkVBc0VBOzRGRDdDYSxzQ0FBc0M7a0JBTGxELFNBQVM7K0JBQ0UsOEJBQThCOzhCQU1qQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZsb3dWTSB9IGZyb20gJy4uLy4uL2dpby1wb2xpY3ktc3R1ZGlvLm1vZGVsJztcbmltcG9ydCB7IENoYW5uZWxTZWxlY3RvciwgQ29uZGl0aW9uU2VsZWN0b3IsIENvbm5lY3RvckluZm8sIEh0dHBTZWxlY3RvciwgT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9naW8tcHMtZmxvdy1kZXRhaWxzLWluZm8tYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSW5mb0JhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmbG93PzogRmxvd1ZNID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbnRyeXBvaW50c0luZm86IENvbm5lY3RvckluZm9bXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgY29uZGl0aW9uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29uZGl0aW9uU2VsZWN0b3IgPSB0aGlzLmZsb3c/LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0NPTkRJVElPTicpIGFzIENvbmRpdGlvblNlbGVjdG9yO1xuICAgIGlmICghY29uZGl0aW9uU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBjb25kaXRpb25TZWxlY3Rvcj8uY29uZGl0aW9uO1xuICB9XG5cbiAgLy8gTUVTU0FHRSBBUEkgdHlwZVxuXG4gIHB1YmxpYyBnZXQgb3BlcmF0aW9ucygpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY2hhbm5lbFNlbGVjdG9yID0gdGhpcy5mbG93Py5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDSEFOTkVMJykgYXMgQ2hhbm5lbFNlbGVjdG9yO1xuICAgIGlmICghY2hhbm5lbFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBvcGVyYXRpb25Ub0JhZGdlOiBSZWNvcmQ8T3BlcmF0aW9uLCBzdHJpbmc+ID0ge1xuICAgICAgUFVCTElTSDogJ1BVQicsXG4gICAgICBTVUJTQ1JJQkU6ICdTVUInLFxuICAgIH07XG4gICAgcmV0dXJuIGNoYW5uZWxTZWxlY3Rvcj8ub3BlcmF0aW9ucz8ubWFwKG8gPT4gb3BlcmF0aW9uVG9CYWRnZVtvXSkuc29ydCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFubmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY2hhbm5lbFNlbGVjdG9yID0gdGhpcy5mbG93Py5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDSEFOTkVMJykgYXMgQ2hhbm5lbFNlbGVjdG9yO1xuICAgIGlmICghY2hhbm5lbFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gY2hhbm5lbFNlbGVjdG9yPy5jaGFubmVsO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFubmVsT3BlcmF0b3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjaGFubmVsU2VsZWN0b3IgPSB0aGlzLmZsb3c/LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0NIQU5ORUwnKSBhcyBDaGFubmVsU2VsZWN0b3I7XG4gICAgaWYgKCFjaGFubmVsU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBjaGFubmVsU2VsZWN0b3I/LmNoYW5uZWxPcGVyYXRvcjtcbiAgfVxuXG4gIC8vIFBST1hZIEFQSSB0eXBlXG5cbiAgcHVibGljIGdldCBwYXRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaHR0cFNlbGVjdG9yID0gdGhpcy5mbG93Py5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdIVFRQJykgYXMgSHR0cFNlbGVjdG9yO1xuICAgIGlmICghaHR0cFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gaHR0cFNlbGVjdG9yPy5wYXRoO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXRoT3BlcmF0b3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBodHRwU2VsZWN0b3IgPSB0aGlzLmZsb3c/LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0hUVFAnKSBhcyBIdHRwU2VsZWN0b3I7XG4gICAgaWYgKCFodHRwU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBodHRwU2VsZWN0b3I/LnBhdGhPcGVyYXRvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWV0aG9kcygpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaHR0cFNlbGVjdG9yID0gdGhpcy5mbG93Py5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdIVFRQJykgYXMgSHR0cFNlbGVjdG9yO1xuICAgIGlmICghaHR0cFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gaHR0cFNlbGVjdG9yPy5tZXRob2RzPy5sZW5ndGggPyBodHRwU2VsZWN0b3I/Lm1ldGhvZHMgOiBbJ0FMTCddO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbjxkaXYgKm5nSWY9XCJmbG93Py5uYW1lXCIgY2xhc3M9XCJpbmZvXCI+XG4gIDxzcGFuIGNsYXNzPVwiaW5mb19fbGFiZWxcIj5OYW1lPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX3ZhbHVlIHN0cm9uZ1wiPnt7IGZsb3c/Lm5hbWUgfX08L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImVudHJ5cG9pbnRzSW5mb1wiIGNsYXNzPVwiaW5mb1wiPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX2xhYmVsXCI+RW50cnlwb2ludHM8L3NwYW4+XG4gIDxzcGFuICpuZ0Zvcj1cImxldCBlbnRyeXBvaW50IG9mIGVudHJ5cG9pbnRzSW5mb1wiIGNsYXNzPVwiaW5mb19fdmFsdWUgZ2lvLWJhZGdlLW5ldXRyYWxcIj5cbiAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiZW50cnlwb2ludC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICB7eyBlbnRyeXBvaW50Lm5hbWUgfX08L3NwYW5cbiAgPlxuPC9kaXY+XG5cbjwhLS0gTUVTU0FHRSBBUEkgdHlwZSAtLT5cblxuPGRpdiAqbmdJZj1cIm9wZXJhdGlvbnNcIiBjbGFzcz1cImluZm9cIj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX19sYWJlbFwiPk9wZXJhdGlvbnM8L3NwYW4+XG4gIDxzcGFuICpuZ0Zvcj1cImxldCBvcGVyYXRpb24gb2Ygb3BlcmF0aW9uc1wiIGNsYXNzPVwiaW5mb19fdmFsdWUgZ2lvLWJhZGdlLW5ldXRyYWxcIj4ge3sgb3BlcmF0aW9uIH19PC9zcGFuPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJjaGFubmVsXCIgY2xhc3M9XCJpbmZvXCI+XG4gIDxzcGFuIGNsYXNzPVwiaW5mb19fbGFiZWxcIj5DaGFubmVsPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX3ZhbHVlIHN0cm9uZ1wiPnt7IGNoYW5uZWwgfX08L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImNoYW5uZWxPcGVyYXRvclwiIGNsYXNzPVwiaW5mb1wiPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX2xhYmVsXCI+Q2hhbm5lbCBPcGVyYXRvcjwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX192YWx1ZSBnaW8tYmFkZ2UtbmV1dHJhbFwiPnt7IGNoYW5uZWxPcGVyYXRvciB9fTwvc3Bhbj5cbjwvZGl2PlxuXG48IS0tIFBST1hZIEFQSSB0eXBlIC0tPlxuXG48ZGl2ICpuZ0lmPVwicGF0aFwiIGNsYXNzPVwiaW5mb1wiPlxuICA8c3BhbiBjbGFzcz1cImluZm9fX2xhYmVsXCI+UGF0aDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX192YWx1ZSBzdHJvbmdcIj57eyBwYXRoIH19PC9zcGFuPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJwYXRoT3BlcmF0b3JcIiBjbGFzcz1cImluZm9cIj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX19sYWJlbFwiPlBhdGggT3BlcmF0b3I8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiaW5mb19fdmFsdWUgZ2lvLWJhZGdlLW5ldXRyYWxcIj57eyBwYXRoT3BlcmF0b3IgfX08L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cIm1ldGhvZHNcIiBjbGFzcz1cImluZm9cIj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX19sYWJlbFwiPkhUVFAgbWV0aG9kczwvc3Bhbj5cbiAgPHNwYW4gKm5nRm9yPVwibGV0IG1ldGhvZCBvZiBtZXRob2RzXCIgY2xhc3M9XCJpbmZvX192YWx1ZSBnaW8tYmFkZ2UtbmV1dHJhbFwiPiB7eyBtZXRob2QgfX08L3NwYW4+XG48L2Rpdj5cblxuPCEtLSBDb25kaXRpb24gLS0+XG5cbjxkaXYgKm5nSWY9XCJjb25kaXRpb25cIiBjbGFzcz1cImluZm9cIj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX19sYWJlbFwiPkNvbmRpdGlvbjwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJpbmZvX192YWx1ZSBnaW8tYmFkZ2UtbmV1dHJhbFwiPnt7IGNvbmRpdGlvbiB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
|
|
@@ -13,20 +13,25 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { Component, Input } from '@angular/core';
|
|
16
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
17
|
import { isEmpty } from 'lodash';
|
|
18
|
+
import { GioPolicyStudioPoliciesCatalogDialogComponent, } from '../policies-catalog-dialog/gio-ps-policies-catalog-dialog.component';
|
|
18
19
|
import * as i0 from "@angular/core";
|
|
19
|
-
import * as i1 from "@angular/material/
|
|
20
|
-
import * as i2 from "@angular/material/
|
|
21
|
-
import * as i3 from "
|
|
22
|
-
import * as i4 from "
|
|
23
|
-
import * as i5 from "@angular
|
|
24
|
-
import * as i6 from "@angular/
|
|
20
|
+
import * as i1 from "@angular/material/dialog";
|
|
21
|
+
import * as i2 from "@angular/material/icon";
|
|
22
|
+
import * as i3 from "@angular/material/button";
|
|
23
|
+
import * as i4 from "../flow-details-phase-policy/gio-ps-flow-details-phase-policy.component";
|
|
24
|
+
import * as i5 from "@gravitee/ui-particles-angular";
|
|
25
|
+
import * as i6 from "@angular/common";
|
|
26
|
+
import * as i7 from "@angular/material/tooltip";
|
|
25
27
|
export class GioPolicyStudioDetailsPhaseComponent {
|
|
26
|
-
constructor() {
|
|
28
|
+
constructor(matDialog) {
|
|
29
|
+
this.matDialog = matDialog;
|
|
27
30
|
this.steps = undefined;
|
|
28
31
|
this.startConnector = [];
|
|
29
32
|
this.endConnector = [];
|
|
33
|
+
this.policies = [];
|
|
34
|
+
this.stepsChange = new EventEmitter();
|
|
30
35
|
this.stepsVM = [];
|
|
31
36
|
this.isDisabled = false;
|
|
32
37
|
}
|
|
@@ -56,13 +61,42 @@ export class GioPolicyStudioDetailsPhaseComponent {
|
|
|
56
61
|
this.isDisabled = this.stepsVM.filter(step => step.type === 'connectors' && !isEmpty(step.connectors)).length < 2;
|
|
57
62
|
}
|
|
58
63
|
}
|
|
64
|
+
onAddPolicy(index) {
|
|
65
|
+
this.matDialog
|
|
66
|
+
.open(GioPolicyStudioPoliciesCatalogDialogComponent, {
|
|
67
|
+
data: {
|
|
68
|
+
policies: this.policies,
|
|
69
|
+
executionPhase: this.policyExecutionPhase,
|
|
70
|
+
apiType: this.apiType,
|
|
71
|
+
},
|
|
72
|
+
role: 'alertdialog',
|
|
73
|
+
id: 'gioPolicyStudioPoliciesCatalogDialog',
|
|
74
|
+
width: '1000px',
|
|
75
|
+
})
|
|
76
|
+
.afterClosed()
|
|
77
|
+
.subscribe(result => {
|
|
78
|
+
if (!this.steps || !result) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
//Emit change wit new step
|
|
82
|
+
this.stepsChange.emit([
|
|
83
|
+
...this.steps.slice(0, index),
|
|
84
|
+
{
|
|
85
|
+
name: 'Step name',
|
|
86
|
+
enabled: true,
|
|
87
|
+
policy: result.id,
|
|
88
|
+
},
|
|
89
|
+
...this.steps.slice(index),
|
|
90
|
+
]);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
59
93
|
}
|
|
60
|
-
GioPolicyStudioDetailsPhaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
61
|
-
GioPolicyStudioDetailsPhaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
94
|
+
GioPolicyStudioDetailsPhaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioDetailsPhaseComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
+
GioPolicyStudioDetailsPhaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioPolicyStudioDetailsPhaseComponent, selector: "gio-ps-flow-details-phase", inputs: { steps: "steps", name: "name", description: "description", startConnector: "startConnector", endConnector: "endConnector", apiType: "apiType", policies: "policies", policyExecutionPhase: "policyExecutionPhase" }, outputs: { stepsChange: "stepsChange" }, 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=\"header\">\n <span class=\"header__name\">\n {{ name }}\n </span>\n <span class=\"header__description\">\n {{ description }}\n </span>\n\n <span *ngIf=\"isDisabled\" class=\"header__infoIcon\" matTooltip=\"Policies might not be evaluated\" matTooltipPosition=\"before\">\n <mat-icon svgIcon=\"gio:info\"></mat-icon>\n </span>\n</div>\n\n<div *ngIf=\"!isDisabled; else disabledPhaseContent\" class=\"wrapper\">\n <div class=\"content\">\n <div *ngFor=\"let stepVM of stepsVM; first as isFirst; index as index\" class=\"content__step\">\n <!-- Connector -->\n <ng-container *ngIf=\"stepVM.type === 'connectors'\">\n <span class=\"gio-badge-white content__step__connectorBadge\">\n <ng-container *ngFor=\"let connector of stepVM.connectors\">\n <mat-icon *ngIf=\"connector.icon\" [svgIcon]=\"connector.icon\" class=\"content__step__connectorBadge__icon\"></mat-icon>\n {{ connector.name }}\n </ng-container>\n </span>\n\n <!-- Add policy button before last connector -->\n <ng-container *ngIf=\"isFirst\">\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n <button mat-icon-button (click)=\"onAddPolicy(index)\"><mat-icon svgIcon=\"gio:plus\"></mat-icon></button>\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n </ng-container>\n </ng-container>\n <!-- Policy -->\n <ng-container *ngIf=\"stepVM.type === 'policy'\">\n <gio-ps-flow-details-phase-policy class=\"content__step__policy\" [step]=\"stepVM.step\"></gio-ps-flow-details-phase-policy>\n\n <!-- Add policy button -->\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n <button mat-icon-button (click)=\"onAddPolicy(index)\"><mat-icon svgIcon=\"gio:plus\"></mat-icon></button>\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #disabledPhaseContent>\n <div class=\"disabledContent\">\n <gio-banner-warning>\n Policies might not be evaluated\n <span gioBannerBody> Your API entrypoints don't apply on this phase. To enable them, add an entrypoint supporting this phase. </span>\n </gio-banner-warning>\n </div>\n</ng-template>\n", styles: [":host{display:flex;overflow:hidden;min-height:199px;flex-direction:column;padding-top:16px;border:1px solid #d3d5dc;border-radius:8px;background-color:#fff}.header{display:flex;padding:0 16px;gap:8px}.header__name{flex:1 1 auto;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.header__description{flex:1 1 auto;font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;color:#606274}.wrapper{display:flex;flex:1 1 auto;padding:0 16px;overflow-y:auto}.content{display:flex;align-items:center}.content__step{display:flex;width:max-content;align-items:center}.content__step__connectorBadge{border:1px solid #876fec;border-radius:16px}.content__step__connectorBadge__icon{margin-right:4px}.content__step__rightArrow{width:16px;height:16px;margin:0 8px;color:#b4b5bb}.disabledContent{display:flex;flex-direction:column;padding:16px}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.GioPolicyStudioDetailsPhasePolicyComponent, selector: "gio-ps-flow-details-phase-policy", inputs: ["step"] }, { type: i5.GioBannerWarningComponent, selector: "gio-banner-warning" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.GioBannerBodyDirective, selector: "[gioBannerBody]" }] });
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioDetailsPhaseComponent, decorators: [{
|
|
63
97
|
type: Component,
|
|
64
|
-
args: [{ selector: 'gio-ps-flow-details-phase', 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=\"header\">\n <span class=\"header__name\">\n {{ name }}\n </span>\n <span class=\"header__description\">\n {{ description }}\n </span>\n\n <span *ngIf=\"isDisabled\" class=\"header__infoIcon\" matTooltip=\"Policies might not be evaluated\" matTooltipPosition=\"before\">\n <mat-icon svgIcon=\"gio:info\"></mat-icon>\n </span>\n</div>\n\n<div *ngIf=\"!isDisabled; else disabledPhaseContent\" class=\"wrapper\">\n <div class=\"content\">\n <div *ngFor=\"let stepVM of stepsVM; first as isFirst\" class=\"content__step\">\n <!-- Connector -->\n <ng-container *ngIf=\"stepVM.type === 'connectors'\">\n <span class=\"gio-badge-white content__step__connectorBadge\">\n <ng-container *ngFor=\"let connector of stepVM.connectors\">\n <mat-icon *ngIf=\"connector.icon\" [svgIcon]=\"connector.icon\" class=\"content__step__connectorBadge__icon\"></mat-icon>\n {{ connector.name }}\n </ng-container>\n </span>\n\n <!-- Add policy button before last connector -->\n <ng-container *ngIf=\"isFirst\">\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n <button mat-icon-button><mat-icon svgIcon=\"gio:plus\"></mat-icon></button>\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n </ng-container>\n </ng-container>\n <!-- Policy -->\n <ng-container *ngIf=\"stepVM.type === 'policy'\">\n <gio-ps-flow-details-phase-policy class=\"content__step__policy\" [step]=\"stepVM.step\"></gio-ps-flow-details-phase-policy>\n\n <!-- Add policy button -->\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n <button mat-icon-button><mat-icon svgIcon=\"gio:plus\"></mat-icon></button>\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #disabledPhaseContent>\n <div class=\"disabledContent\">\n <gio-banner-warning>\n Policies might not be evaluated\n <span gioBannerBody> Your API entrypoints don't apply on this phase. To enable them, add an entrypoint supporting this phase. </span>\n </gio-banner-warning>\n </div>\n</ng-template>\n", styles: [":host{display:flex;overflow:hidden;min-height:199px;flex-direction:column;padding-top:16px;border:1px solid #d3d5dc;border-radius:8px;background-color:#fff}.header{display:flex;padding:0 16px;gap:8px}.header__name{flex:1 1 auto;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.header__description{flex:1 1 auto;font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;color:#606274}.wrapper{display:flex;flex:1 1 auto;padding:0 16px;overflow-y:auto}.content{display:flex;align-items:center}.content__step{display:flex;width:max-content;align-items:center}.content__step__connectorBadge{border:1px solid #876fec;border-radius:16px}.content__step__connectorBadge__icon{margin-right:4px}.content__step__rightArrow{width:16px;height:16px;margin:0 8px;color:#b4b5bb}.disabledContent{display:flex;flex-direction:column;padding:16px}\n"] }]
|
|
65
|
-
}], propDecorators: { steps: [{
|
|
98
|
+
args: [{ selector: 'gio-ps-flow-details-phase', 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=\"header\">\n <span class=\"header__name\">\n {{ name }}\n </span>\n <span class=\"header__description\">\n {{ description }}\n </span>\n\n <span *ngIf=\"isDisabled\" class=\"header__infoIcon\" matTooltip=\"Policies might not be evaluated\" matTooltipPosition=\"before\">\n <mat-icon svgIcon=\"gio:info\"></mat-icon>\n </span>\n</div>\n\n<div *ngIf=\"!isDisabled; else disabledPhaseContent\" class=\"wrapper\">\n <div class=\"content\">\n <div *ngFor=\"let stepVM of stepsVM; first as isFirst; index as index\" class=\"content__step\">\n <!-- Connector -->\n <ng-container *ngIf=\"stepVM.type === 'connectors'\">\n <span class=\"gio-badge-white content__step__connectorBadge\">\n <ng-container *ngFor=\"let connector of stepVM.connectors\">\n <mat-icon *ngIf=\"connector.icon\" [svgIcon]=\"connector.icon\" class=\"content__step__connectorBadge__icon\"></mat-icon>\n {{ connector.name }}\n </ng-container>\n </span>\n\n <!-- Add policy button before last connector -->\n <ng-container *ngIf=\"isFirst\">\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n <button mat-icon-button (click)=\"onAddPolicy(index)\"><mat-icon svgIcon=\"gio:plus\"></mat-icon></button>\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n </ng-container>\n </ng-container>\n <!-- Policy -->\n <ng-container *ngIf=\"stepVM.type === 'policy'\">\n <gio-ps-flow-details-phase-policy class=\"content__step__policy\" [step]=\"stepVM.step\"></gio-ps-flow-details-phase-policy>\n\n <!-- Add policy button -->\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n <button mat-icon-button (click)=\"onAddPolicy(index)\"><mat-icon svgIcon=\"gio:plus\"></mat-icon></button>\n <mat-icon class=\"content__step__rightArrow\" svgIcon=\"gio:arrow-right\"></mat-icon>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #disabledPhaseContent>\n <div class=\"disabledContent\">\n <gio-banner-warning>\n Policies might not be evaluated\n <span gioBannerBody> Your API entrypoints don't apply on this phase. To enable them, add an entrypoint supporting this phase. </span>\n </gio-banner-warning>\n </div>\n</ng-template>\n", styles: [":host{display:flex;overflow:hidden;min-height:199px;flex-direction:column;padding-top:16px;border:1px solid #d3d5dc;border-radius:8px;background-color:#fff}.header{display:flex;padding:0 16px;gap:8px}.header__name{flex:1 1 auto;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.header__description{flex:1 1 auto;font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;color:#606274}.wrapper{display:flex;flex:1 1 auto;padding:0 16px;overflow-y:auto}.content{display:flex;align-items:center}.content__step{display:flex;width:max-content;align-items:center}.content__step__connectorBadge{border:1px solid #876fec;border-radius:16px}.content__step__connectorBadge__icon{margin-right:4px}.content__step__rightArrow{width:16px;height:16px;margin:0 8px;color:#b4b5bb}.disabledContent{display:flex;flex-direction:column;padding:16px}\n"] }]
|
|
99
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { steps: [{
|
|
66
100
|
type: Input
|
|
67
101
|
}], name: [{
|
|
68
102
|
type: Input
|
|
@@ -72,5 +106,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
72
106
|
type: Input
|
|
73
107
|
}], endConnector: [{
|
|
74
108
|
type: Input
|
|
109
|
+
}], apiType: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], policies: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], policyExecutionPhase: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], stepsChange: [{
|
|
116
|
+
type: Output
|
|
75
117
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy1waGFzZS9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7QUFzQmpDLE1BQU0sT0FBTyxvQ0FBb0M7SUFMakQ7UUFPUyxVQUFLLEdBQVksU0FBUyxDQUFDO1FBUzNCLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUdyQyxpQkFBWSxHQUFvQixFQUFFLENBQUM7UUFFbkMsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBK0IzQjtJQTdCUSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxjQUFjLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUNuRSxJQUFJLENBQUMsT0FBTyxHQUFHO2dCQUNiO29CQUNFLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNoRCxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7d0JBQ3BCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtxQkFDckIsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2pDLElBQUksRUFBRSxRQUFpQjtvQkFDdkIsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO2dCQUVIO29CQUNFLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUM5QyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7d0JBQ3BCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtxQkFDckIsQ0FBQyxDQUFDO2lCQUNKO2FBQ0YsQ0FBQztZQUVGLHdEQUF3RDtZQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuSDtJQUNILENBQUM7O2lJQWhEVSxvQ0FBb0M7cUhBQXBDLG9DQUFvQyw0TkN0Q2pELHM4RkF1RUE7MkZEakNhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSwyQkFBMkI7OEJBTTlCLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQ29ubmVjdG9ySW5mbywgU3RlcCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbnR5cGUgU3RlcFZNID1cbiAgfCB7XG4gICAgICB0eXBlOiAnY29ubmVjdG9ycyc7XG4gICAgICBjb25uZWN0b3JzOiB7XG4gICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGljb24/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdwb2xpY3knO1xuICAgICAgc3RlcDogU3RlcDtcbiAgICB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGVwcz86IFN0ZXBbXSA9IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZSE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVzY3JpcHRpb24hOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0Q29ubmVjdG9yOiBDb25uZWN0b3JJbmZvW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW5kQ29ubmVjdG9yOiBDb25uZWN0b3JJbmZvW10gPSBbXTtcblxuICBwdWJsaWMgc3RlcHNWTTogU3RlcFZNW10gPSBbXTtcblxuICBwdWJsaWMgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc3RlcHMgfHwgY2hhbmdlcy5zdGFydENvbm5lY3RvciB8fCBjaGFuZ2VzLmVuZENvbm5lY3Rvcikge1xuICAgICAgdGhpcy5zdGVwc1ZNID0gW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2Nvbm5lY3RvcnMnLFxuICAgICAgICAgIGNvbm5lY3RvcnM6IHRoaXMuc3RhcnRDb25uZWN0b3IubWFwKGNvbm5lY3RvciA9PiAoe1xuICAgICAgICAgICAgbmFtZTogY29ubmVjdG9yLm5hbWUsXG4gICAgICAgICAgICBpY29uOiBjb25uZWN0b3IuaWNvbixcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG5cbiAgICAgICAgLi4uKHRoaXMuc3RlcHMgPz8gW10pLm1hcChzdGVwID0+ICh7XG4gICAgICAgICAgdHlwZTogJ3BvbGljeScgYXMgY29uc3QsXG4gICAgICAgICAgc3RlcDogc3RlcCxcbiAgICAgICAgfSkpLFxuXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnY29ubmVjdG9ycycsXG4gICAgICAgICAgY29ubmVjdG9yczogdGhpcy5lbmRDb25uZWN0b3IubWFwKGNvbm5lY3RvciA9PiAoe1xuICAgICAgICAgICAgbmFtZTogY29ubmVjdG9yLm5hbWUsXG4gICAgICAgICAgICBpY29uOiBjb25uZWN0b3IuaWNvbixcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICAvLyBEaXNhYmxlIHBoYXNlIGlmIHRoZXJlIGFyZSBub3Qgc3RhcnQgJiBlbmQgY29ubmVjdG9yc1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdGhpcy5zdGVwc1ZNLmZpbHRlcihzdGVwID0+IHN0ZXAudHlwZSA9PT0gJ2Nvbm5lY3RvcnMnICYmICFpc0VtcHR5KHN0ZXAuY29ubmVjdG9ycykpLmxlbmd0aCA8IDI7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cblxuPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICA8c3BhbiBjbGFzcz1cImhlYWRlcl9fbmFtZVwiPlxuICAgIHt7IG5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImhlYWRlcl9fZGVzY3JpcHRpb25cIj5cbiAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICA8L3NwYW4+XG5cbiAgPHNwYW4gKm5nSWY9XCJpc0Rpc2FibGVkXCIgY2xhc3M9XCJoZWFkZXJfX2luZm9JY29uXCIgbWF0VG9vbHRpcD1cIlBvbGljaWVzIG1pZ2h0IG5vdCBiZSBldmFsdWF0ZWRcIiBtYXRUb29sdGlwUG9zaXRpb249XCJiZWZvcmVcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzppbmZvXCI+PC9tYXQtaWNvbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCIhaXNEaXNhYmxlZDsgZWxzZSBkaXNhYmxlZFBoYXNlQ29udGVudFwiIGNsYXNzPVwid3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHN0ZXBWTSBvZiBzdGVwc1ZNOyBmaXJzdCBhcyBpc0ZpcnN0XCIgY2xhc3M9XCJjb250ZW50X19zdGVwXCI+XG4gICAgICA8IS0tIENvbm5lY3RvciAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwVk0udHlwZSA9PT0gJ2Nvbm5lY3RvcnMnXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ2lvLWJhZGdlLXdoaXRlIGNvbnRlbnRfX3N0ZXBfX2Nvbm5lY3RvckJhZGdlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29ubmVjdG9yIG9mIHN0ZXBWTS5jb25uZWN0b3JzXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJjb25uZWN0b3IuaWNvblwiIFtzdmdJY29uXT1cImNvbm5lY3Rvci5pY29uXCIgY2xhc3M9XCJjb250ZW50X19zdGVwX19jb25uZWN0b3JCYWRnZV9faWNvblwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICB7eyBjb25uZWN0b3IubmFtZSB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBBZGQgcG9saWN5IGJ1dHRvbiBiZWZvcmUgbGFzdCBjb25uZWN0b3IgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0XCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29udGVudF9fc3RlcF9fcmlnaHRBcnJvd1wiIHN2Z0ljb249XCJnaW86YXJyb3ctcmlnaHRcIj48L21hdC1pY29uPlxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uPjxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOnBsdXNcIj48L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbnRlbnRfX3N0ZXBfX3JpZ2h0QXJyb3dcIiBzdmdJY29uPVwiZ2lvOmFycm93LXJpZ2h0XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gUG9saWN5IC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXBWTS50eXBlID09PSAncG9saWN5J1wiPlxuICAgICAgICA8Z2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1wb2xpY3kgY2xhc3M9XCJjb250ZW50X19zdGVwX19wb2xpY3lcIiBbc3RlcF09XCJzdGVwVk0uc3RlcFwiPjwvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1wb2xpY3k+XG5cbiAgICAgICAgPCEtLSBBZGQgcG9saWN5IGJ1dHRvbiAtLT5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29udGVudF9fc3RlcF9fcmlnaHRBcnJvd1wiIHN2Z0ljb249XCJnaW86YXJyb3ctcmlnaHRcIj48L21hdC1pY29uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbj48bWF0LWljb24gc3ZnSWNvbj1cImdpbzpwbHVzXCI+PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29udGVudF9fc3RlcF9fcmlnaHRBcnJvd1wiIHN2Z0ljb249XCJnaW86YXJyb3ctcmlnaHRcIj48L21hdC1pY29uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGlzYWJsZWRQaGFzZUNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJkaXNhYmxlZENvbnRlbnRcIj5cbiAgICA8Z2lvLWJhbm5lci13YXJuaW5nPlxuICAgICAgUG9saWNpZXMgbWlnaHQgbm90IGJlIGV2YWx1YXRlZFxuICAgICAgPHNwYW4gZ2lvQmFubmVyQm9keT4gWW91ciBBUEkgZW50cnlwb2ludHMgZG9uJ3QgYXBwbHkgb24gdGhpcyBwaGFzZS4gVG8gZW5hYmxlIHRoZW0sIGFkZCBhbiBlbnRyeXBvaW50IHN1cHBvcnRpbmcgdGhpcyBwaGFzZS4gPC9zcGFuPlxuICAgIDwvZ2lvLWJhbm5lci13YXJuaW5nPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy1waGFzZS9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSWpDLE9BQU8sRUFDTCw2Q0FBNkMsR0FHOUMsTUFBTSxxRUFBcUUsQ0FBQzs7Ozs7Ozs7O0FBb0I3RSxNQUFNLE9BQU8sb0NBQW9DO0lBZ0MvQyxZQUE2QixTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBOUIxQyxVQUFLLEdBQVksU0FBUyxDQUFDO1FBUzNCLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUdyQyxpQkFBWSxHQUFvQixFQUFFLENBQUM7UUFNbkMsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQU14QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekMsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBRTBCLENBQUM7SUFFOUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsY0FBYyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDbkUsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDYjtvQkFDRSxJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDaEQsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO3dCQUNwQixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7cUJBQ3JCLENBQUMsQ0FBQztpQkFDSjtnQkFFRCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNqQyxJQUFJLEVBQUUsUUFBaUI7b0JBQ3ZCLElBQUksRUFBRSxJQUFJO2lCQUNYLENBQUMsQ0FBQztnQkFFSDtvQkFDRSxJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDOUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO3dCQUNwQixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7cUJBQ3JCLENBQUMsQ0FBQztpQkFDSjthQUNGLENBQUM7WUFFRix3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDbkg7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFNBQVM7YUFDWCxJQUFJLENBSUgsNkNBQTZDLEVBQUU7WUFDL0MsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsY0FBYyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7Z0JBQ3pDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QjtZQUNELElBQUksRUFBRSxhQUFhO1lBQ25CLEVBQUUsRUFBRSxzQ0FBc0M7WUFDMUMsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQzthQUNELFdBQVcsRUFBRTthQUNiLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDMUIsT0FBTzthQUNSO1lBRUQsMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNwQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQzdCO29CQUNFLElBQUksRUFBRSxXQUFXO29CQUNqQixPQUFPLEVBQUUsSUFBSTtvQkFDYixNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUU7aUJBQ2xCO2dCQUNELEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2FBQzNCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7a0lBakdVLG9DQUFvQztzSEFBcEMsb0NBQW9DLDZWQzVDakQsb2hHQXVFQTs0RkQzQmEsb0NBQW9DO2tCQUxoRCxTQUFTOytCQUNFLDJCQUEyQjtnR0FNOUIsS0FBSztzQkFEWCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLG9CQUFvQjtzQkFEMUIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgQXBpVHlwZSwgQ29ubmVjdG9ySW5mbywgRXhlY3V0aW9uUGhhc2UsIFBvbGljeSwgU3RlcCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBHaW9Qb2xpY3lTdHVkaW9Qb2xpY2llc0NhdGFsb2dEaWFsb2dDb21wb25lbnQsXG4gIEdpb1BvbGljeVN0dWRpb1BvbGljaWVzQ2F0YWxvZ0RpYWxvZ0RhdGEsXG4gIEdpb1BvbGljeVN0dWRpb1BvbGljaWVzQ2F0YWxvZ0RpYWxvZ1Jlc3VsdCxcbn0gZnJvbSAnLi4vcG9saWNpZXMtY2F0YWxvZy1kaWFsb2cvZ2lvLXBzLXBvbGljaWVzLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudCc7XG5cbnR5cGUgU3RlcFZNID1cbiAgfCB7XG4gICAgICB0eXBlOiAnY29ubmVjdG9ycyc7XG4gICAgICBjb25uZWN0b3JzOiB7XG4gICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGljb24/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdwb2xpY3knO1xuICAgICAgc3RlcDogU3RlcDtcbiAgICB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGVwcz86IFN0ZXBbXSA9IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZSE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVzY3JpcHRpb24hOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0Q29ubmVjdG9yOiBDb25uZWN0b3JJbmZvW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW5kQ29ubmVjdG9yOiBDb25uZWN0b3JJbmZvW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBpVHlwZSE6IEFwaVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBvbGljaWVzOiBQb2xpY3lbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb2xpY3lFeGVjdXRpb25QaGFzZSE6IEV4ZWN1dGlvblBoYXNlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc3RlcHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFN0ZXBbXT4oKTtcblxuICBwdWJsaWMgc3RlcHNWTTogU3RlcFZNW10gPSBbXTtcblxuICBwdWJsaWMgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zdGVwcyB8fCBjaGFuZ2VzLnN0YXJ0Q29ubmVjdG9yIHx8IGNoYW5nZXMuZW5kQ29ubmVjdG9yKSB7XG4gICAgICB0aGlzLnN0ZXBzVk0gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnY29ubmVjdG9ycycsXG4gICAgICAgICAgY29ubmVjdG9yczogdGhpcy5zdGFydENvbm5lY3Rvci5tYXAoY29ubmVjdG9yID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBjb25uZWN0b3IubmFtZSxcbiAgICAgICAgICAgIGljb246IGNvbm5lY3Rvci5pY29uLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcblxuICAgICAgICAuLi4odGhpcy5zdGVwcyA/PyBbXSkubWFwKHN0ZXAgPT4gKHtcbiAgICAgICAgICB0eXBlOiAncG9saWN5JyBhcyBjb25zdCxcbiAgICAgICAgICBzdGVwOiBzdGVwLFxuICAgICAgICB9KSksXG5cbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdjb25uZWN0b3JzJyxcbiAgICAgICAgICBjb25uZWN0b3JzOiB0aGlzLmVuZENvbm5lY3Rvci5tYXAoY29ubmVjdG9yID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBjb25uZWN0b3IubmFtZSxcbiAgICAgICAgICAgIGljb246IGNvbm5lY3Rvci5pY29uLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICAgIC8vIERpc2FibGUgcGhhc2UgaWYgdGhlcmUgYXJlIG5vdCBzdGFydCAmIGVuZCBjb25uZWN0b3JzXG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0aGlzLnN0ZXBzVk0uZmlsdGVyKHN0ZXAgPT4gc3RlcC50eXBlID09PSAnY29ubmVjdG9ycycgJiYgIWlzRW1wdHkoc3RlcC5jb25uZWN0b3JzKSkubGVuZ3RoIDwgMjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25BZGRQb2xpY3koaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubWF0RGlhbG9nXG4gICAgICAub3BlbjxcbiAgICAgICAgR2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBHaW9Qb2xpY3lTdHVkaW9Qb2xpY2llc0NhdGFsb2dEaWFsb2dEYXRhLFxuICAgICAgICBHaW9Qb2xpY3lTdHVkaW9Qb2xpY2llc0NhdGFsb2dEaWFsb2dSZXN1bHRcbiAgICAgID4oR2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBwb2xpY2llczogdGhpcy5wb2xpY2llcyxcbiAgICAgICAgICBleGVjdXRpb25QaGFzZTogdGhpcy5wb2xpY3lFeGVjdXRpb25QaGFzZSxcbiAgICAgICAgICBhcGlUeXBlOiB0aGlzLmFwaVR5cGUsXG4gICAgICAgIH0sXG4gICAgICAgIHJvbGU6ICdhbGVydGRpYWxvZycsXG4gICAgICAgIGlkOiAnZ2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nJyxcbiAgICAgICAgd2lkdGg6ICcxMDAwcHgnLFxuICAgICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zdGVwcyB8fCAhcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9FbWl0IGNoYW5nZSB3aXQgbmV3IHN0ZXBcbiAgICAgICAgdGhpcy5zdGVwc0NoYW5nZS5lbWl0KFtcbiAgICAgICAgICAuLi50aGlzLnN0ZXBzLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnU3RlcCBuYW1lJyxcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBwb2xpY3k6IHJlc3VsdC5pZCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLnRoaXMuc3RlcHMuc2xpY2UoaW5kZXgpLFxuICAgICAgICBdKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cblxuPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICA8c3BhbiBjbGFzcz1cImhlYWRlcl9fbmFtZVwiPlxuICAgIHt7IG5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImhlYWRlcl9fZGVzY3JpcHRpb25cIj5cbiAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICA8L3NwYW4+XG5cbiAgPHNwYW4gKm5nSWY9XCJpc0Rpc2FibGVkXCIgY2xhc3M9XCJoZWFkZXJfX2luZm9JY29uXCIgbWF0VG9vbHRpcD1cIlBvbGljaWVzIG1pZ2h0IG5vdCBiZSBldmFsdWF0ZWRcIiBtYXRUb29sdGlwUG9zaXRpb249XCJiZWZvcmVcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzppbmZvXCI+PC9tYXQtaWNvbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCIhaXNEaXNhYmxlZDsgZWxzZSBkaXNhYmxlZFBoYXNlQ29udGVudFwiIGNsYXNzPVwid3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHN0ZXBWTSBvZiBzdGVwc1ZNOyBmaXJzdCBhcyBpc0ZpcnN0OyBpbmRleCBhcyBpbmRleFwiIGNsYXNzPVwiY29udGVudF9fc3RlcFwiPlxuICAgICAgPCEtLSBDb25uZWN0b3IgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcFZNLnR5cGUgPT09ICdjb25uZWN0b3JzJ1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdpby1iYWRnZS13aGl0ZSBjb250ZW50X19zdGVwX19jb25uZWN0b3JCYWRnZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbm5lY3RvciBvZiBzdGVwVk0uY29ubmVjdG9yc1wiPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY29ubmVjdG9yLmljb25cIiBbc3ZnSWNvbl09XCJjb25uZWN0b3IuaWNvblwiIGNsYXNzPVwiY29udGVudF9fc3RlcF9fY29ubmVjdG9yQmFkZ2VfX2ljb25cIj48L21hdC1pY29uPlxuICAgICAgICAgICAge3sgY29ubmVjdG9yLm5hbWUgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDwhLS0gQWRkIHBvbGljeSBidXR0b24gYmVmb3JlIGxhc3QgY29ubmVjdG9yIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaXJzdFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbnRlbnRfX3N0ZXBfX3JpZ2h0QXJyb3dcIiBzdmdJY29uPVwiZ2lvOmFycm93LXJpZ2h0XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25BZGRQb2xpY3koaW5kZXgpXCI+PG1hdC1pY29uIHN2Z0ljb249XCJnaW86cGx1c1wiPjwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29udGVudF9fc3RlcF9fcmlnaHRBcnJvd1wiIHN2Z0ljb249XCJnaW86YXJyb3ctcmlnaHRcIj48L21hdC1pY29uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLSBQb2xpY3kgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcFZNLnR5cGUgPT09ICdwb2xpY3knXCI+XG4gICAgICAgIDxnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXBvbGljeSBjbGFzcz1cImNvbnRlbnRfX3N0ZXBfX3BvbGljeVwiIFtzdGVwXT1cInN0ZXBWTS5zdGVwXCI+PC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXBvbGljeT5cblxuICAgICAgICA8IS0tIEFkZCBwb2xpY3kgYnV0dG9uIC0tPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb250ZW50X19zdGVwX19yaWdodEFycm93XCIgc3ZnSWNvbj1cImdpbzphcnJvdy1yaWdodFwiPjwvbWF0LWljb24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkFkZFBvbGljeShpbmRleClcIj48bWF0LWljb24gc3ZnSWNvbj1cImdpbzpwbHVzXCI+PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29udGVudF9fc3RlcF9fcmlnaHRBcnJvd1wiIHN2Z0ljb249XCJnaW86YXJyb3ctcmlnaHRcIj48L21hdC1pY29uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGlzYWJsZWRQaGFzZUNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJkaXNhYmxlZENvbnRlbnRcIj5cbiAgICA8Z2lvLWJhbm5lci13YXJuaW5nPlxuICAgICAgUG9saWNpZXMgbWlnaHQgbm90IGJlIGV2YWx1YXRlZFxuICAgICAgPHNwYW4gZ2lvQmFubmVyQm9keT4gWW91ciBBUEkgZW50cnlwb2ludHMgZG9uJ3QgYXBwbHkgb24gdGhpcyBwaGFzZS4gVG8gZW5hYmxlIHRoZW0sIGFkZCBhbiBlbnRyeXBvaW50IHN1cHBvcnRpbmcgdGhpcyBwaGFzZS4gPC9zcGFuPlxuICAgIDwvZ2lvLWJhbm5lci13YXJuaW5nPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|