@gravitee/ui-policy-studio-angular 13.1.6 → 13.2.0-renovate-angular-3fcf3cf

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.
Files changed (28) hide show
  1. package/esm2022/lib/components/filter-pipe/gio-flter-connectors-by-mode.pipe.mjs +3 -3
  2. package/esm2022/lib/components/flow-details/gio-ps-flow-details.component.mjs +18 -5
  3. package/esm2022/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.mjs +3 -3
  4. package/esm2022/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.mjs +3 -3
  5. package/esm2022/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs +3 -3
  6. package/esm2022/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.component.mjs +3 -3
  7. package/esm2022/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.component.mjs +5 -5
  8. package/esm2022/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.component.mjs +5 -5
  9. package/esm2022/lib/components/flows-menu/gio-ps-flows-menu.component.mjs +111 -14
  10. package/esm2022/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +3 -3
  11. package/esm2022/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.mjs +3 -3
  12. package/esm2022/lib/components/step-form/gio-ps-step-form.component.mjs +3 -3
  13. package/esm2022/lib/policy-group-studio/gio-policy-group-studio.component.mjs +3 -3
  14. package/esm2022/lib/policy-studio/gio-policy-studio.component.mjs +12 -6
  15. package/esm2022/lib/policy-studio/gio-policy-studio.service.mjs +3 -3
  16. package/esm2022/testing/lib/components/flow-details/gio-ps-flow-details.harness.mjs +9 -1
  17. package/esm2022/testing/lib/components/flows-menu/gio-ps-flows-menu.harness.mjs +7 -7
  18. package/esm2022/testing/lib/policy-studio/gio-policy-studio.harness.mjs +8 -1
  19. package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs +21 -6
  20. package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
  21. package/fesm2022/gravitee-ui-policy-studio-angular.mjs +175 -63
  22. package/fesm2022/gravitee-ui-policy-studio-angular.mjs.map +1 -1
  23. package/lib/components/flow-details/gio-ps-flow-details.component.d.ts +1 -0
  24. package/lib/components/flows-menu/gio-ps-flows-menu.component.d.ts +11 -3
  25. package/lib/policy-studio/gio-policy-studio.component.d.ts +1 -0
  26. package/package.json +1 -1
  27. package/testing/lib/components/flow-details/gio-ps-flow-details.harness.d.ts +2 -0
  28. package/testing/lib/policy-studio/gio-policy-studio.harness.d.ts +4 -0
@@ -108,10 +108,10 @@ export class GioPolicyStudioStepFormComponent {
108
108
  configuration,
109
109
  });
110
110
  }
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyStudioStepFormComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: GioPolicyStudioStepFormComponent, isStandalone: true, selector: "gio-ps-step-form", inputs: { readOnly: "readOnly", step: "step", executionPhase: "executionPhase", genericPolicy: "genericPolicy" }, outputs: { stepChange: "stepChange", isValid: "isValid" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"settings\">\n <div class=\"settings__header\">Settings</div>\n\n <div class=\"settings__content\">\n <ng-container *ngIf=\"stepForm && (policySchema$ | async) as policySchema; else loadingTmpl\" [formGroup]=\"stepForm\">\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea matInput formControlName=\"description\" cdkFocusInitial></textarea>\n <mat-hint>Describe how your policy works.</mat-hint>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Trigger condition</mat-label>\n <input matInput formControlName=\"condition\" />\n <mat-hint>The condition to execute this policy. Supports Expression Language.</mat-hint>\n </mat-form-field>\n\n @if (isMessage) {\n <mat-form-field>\n <mat-label>Message trigger condition</mat-label>\n <input matInput formControlName=\"messageCondition\" />\n <mat-hint>The condition to execute this policy on message. Supports Expression Language.</mat-hint>\n </mat-form-field>\n }\n\n <gio-form-json-schema\n *ngIf=\"policySchema\"\n [jsonSchema]=\"$any(policySchema)\"\n [context]=\"context\"\n (ready)=\"onJsonSchemaReady($event)\"\n formControlName=\"configuration\"\n ></gio-form-json-schema>\n </ng-container>\n </div>\n</div>\n\n<div class=\"documentation\">\n <div class=\"documentation__header\">Documentation</div>\n\n <div class=\"documentation__content\">\n <gio-banner-warning *ngIf=\"infoBanner\">\n Prerequisite message\n <span gioBannerBody>{{ infoBanner }}</span>\n </gio-banner-warning>\n <ng-container *ngIf=\"policyDocumentation$ | async as policyDocumentation; else loadingTmpl\">\n <gio-asciidoctor [content]=\"policyDocumentation\"></gio-asciidoctor>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTmpl>\n <gio-loader></gio-loader>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:row;border:1px solid #d3d5dc;border-radius:8px}.settings{display:flex;flex:0 0 50%;flex-direction:column}.settings__header{border-right:1px solid #d3d5dc}.settings__content{display:flex;flex:1 1 auto;flex-direction:column;padding:16px;border-right:1px solid #d3d5dc}.documentation{display:flex;overflow:auto;flex:0 0 50%;flex-direction:column}.documentation__content{overflow:auto;flex:1 1 auto;padding:16px}.settings__header,.documentation__header{padding:16px;border-bottom:1px solid #d3d5dc;font-size:14px;font-weight:500;line-height:20px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: GioFormJsonSchemaModule }, { kind: "component", type: i6.GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: ["jsonSchema", "context", "options"], outputs: ["ready"] }, { kind: "ngmodule", type: GioAsciidoctorModule }, { kind: "component", type: i7.GioAsciidoctorComponent, selector: "gio-asciidoctor", inputs: ["content", "src"] }, { kind: "ngmodule", type: GioLoaderModule }, { kind: "component", type: i6.GioLoaderComponent, selector: "gio-loader" }, { kind: "ngmodule", type: GioBannerModule }, { kind: "component", type: i6.GioBannerWarningComponent, selector: "gio-banner-warning" }, { kind: "directive", type: i6.GioBannerBodyDirective, selector: "[gioBannerBody]" }] }); }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyStudioStepFormComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: GioPolicyStudioStepFormComponent, isStandalone: true, selector: "gio-ps-step-form", inputs: { readOnly: "readOnly", step: "step", executionPhase: "executionPhase", genericPolicy: "genericPolicy" }, outputs: { stepChange: "stepChange", isValid: "isValid" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"settings\">\n <div class=\"settings__header\">Settings</div>\n\n <div class=\"settings__content\">\n <ng-container *ngIf=\"stepForm && (policySchema$ | async) as policySchema; else loadingTmpl\" [formGroup]=\"stepForm\">\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea matInput formControlName=\"description\" cdkFocusInitial></textarea>\n <mat-hint>Describe how your policy works.</mat-hint>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Trigger condition</mat-label>\n <input matInput formControlName=\"condition\" />\n <mat-hint>The condition to execute this policy. Supports Expression Language.</mat-hint>\n </mat-form-field>\n\n @if (isMessage) {\n <mat-form-field>\n <mat-label>Message trigger condition</mat-label>\n <input matInput formControlName=\"messageCondition\" />\n <mat-hint>The condition to execute this policy on message. Supports Expression Language.</mat-hint>\n </mat-form-field>\n }\n\n <gio-form-json-schema\n *ngIf=\"policySchema\"\n [jsonSchema]=\"$any(policySchema)\"\n [context]=\"context\"\n (ready)=\"onJsonSchemaReady($event)\"\n formControlName=\"configuration\"\n ></gio-form-json-schema>\n </ng-container>\n </div>\n</div>\n\n<div class=\"documentation\">\n <div class=\"documentation__header\">Documentation</div>\n\n <div class=\"documentation__content\">\n <gio-banner-warning *ngIf=\"infoBanner\">\n Prerequisite message\n <span gioBannerBody>{{ infoBanner }}</span>\n </gio-banner-warning>\n <ng-container *ngIf=\"policyDocumentation$ | async as policyDocumentation; else loadingTmpl\">\n <gio-asciidoctor [content]=\"policyDocumentation\"></gio-asciidoctor>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTmpl>\n <gio-loader></gio-loader>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:row;border:1px solid #d3d5dc;border-radius:8px}.settings{display:flex;flex:0 0 50%;flex-direction:column}.settings__header{border-right:1px solid #d3d5dc}.settings__content{display:flex;flex:1 1 auto;flex-direction:column;padding:16px;border-right:1px solid #d3d5dc}.documentation{display:flex;overflow:auto;flex:0 0 50%;flex-direction:column}.documentation__content{overflow:auto;flex:1 1 auto;padding:16px}.settings__header,.documentation__header{padding:16px;border-bottom:1px solid #d3d5dc;font-size:14px;font-weight:500;line-height:20px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: GioFormJsonSchemaModule }, { kind: "component", type: i6.GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: ["jsonSchema", "context", "options"], outputs: ["ready"] }, { kind: "ngmodule", type: GioAsciidoctorModule }, { kind: "component", type: i7.GioAsciidoctorComponent, selector: "gio-asciidoctor", inputs: ["content", "src"] }, { kind: "ngmodule", type: GioLoaderModule }, { kind: "component", type: i6.GioLoaderComponent, selector: "gio-loader" }, { kind: "ngmodule", type: GioBannerModule }, { kind: "component", type: i6.GioBannerWarningComponent, selector: "gio-banner-warning" }, { kind: "directive", type: i6.GioBannerBodyDirective, selector: "[gioBannerBody]" }] }); }
113
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyStudioStepFormComponent, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyStudioStepFormComponent, decorators: [{
115
115
  type: Component,
116
116
  args: [{ standalone: true, imports: [
117
117
  CommonModule,
@@ -133,10 +133,10 @@ export class GioPolicyGroupStudioComponent {
133
133
  this.steps = steps;
134
134
  this.policyGroupChange.emit(steps);
135
135
  }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyGroupStudioComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: GioPolicyGroupStudioComponent, isStandalone: true, selector: "gio-policy-group-studio", inputs: { policies: ["policies", "policies", (policies) => policies ?? []], readOnly: "readOnly", apiType: "apiType", executionPhase: "executionPhase", policySchemaFetcher: "policySchemaFetcher", policyDocumentationFetcher: "policyDocumentationFetcher", policyGroup: "policyGroup" }, outputs: { policyGroupChange: "policyGroupChange" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n@if (!isLoading && policyGroupVM) {\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n [name]=\"policyGroupVM.name\"\n [description]=\"policyGroupVM.description\"\n [readOnly]=\"readOnly\"\n [startConnector]=\"startConnector\"\n [endConnector]=\"endConnector\"\n [steps]=\"steps\"\n [apiType]=\"apiType\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n [policyExecutionPhase]=\"executionPhase\"\n (stepsChange)=\"onStepsChange($event)\"\n ></gio-ps-flow-details-phase>\n} @else {\n <gio-loader></gio-loader>\n}\n", styles: [""], dependencies: [{ kind: "component", type: GioPolicyStudioDetailsPhaseComponent, selector: "gio-ps-flow-details-phase", inputs: ["readOnly", "steps", "name", "description", "startConnector", "endConnector", "apiType", "genericPolicies", "policyExecutionPhase", "trialUrl"], outputs: ["stepsChange"] }, { kind: "ngmodule", type: GioFormJsonSchemaModule }, { kind: "ngmodule", type: GioLoaderModule }, { kind: "component", type: i2.GioLoaderComponent, selector: "gio-loader" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyGroupStudioComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: GioPolicyGroupStudioComponent, isStandalone: true, selector: "gio-policy-group-studio", inputs: { policies: ["policies", "policies", (policies) => policies ?? []], readOnly: "readOnly", apiType: "apiType", executionPhase: "executionPhase", policySchemaFetcher: "policySchemaFetcher", policyDocumentationFetcher: "policyDocumentationFetcher", policyGroup: "policyGroup" }, outputs: { policyGroupChange: "policyGroupChange" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n@if (!isLoading && policyGroupVM) {\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n [name]=\"policyGroupVM.name\"\n [description]=\"policyGroupVM.description\"\n [readOnly]=\"readOnly\"\n [startConnector]=\"startConnector\"\n [endConnector]=\"endConnector\"\n [steps]=\"steps\"\n [apiType]=\"apiType\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n [policyExecutionPhase]=\"executionPhase\"\n (stepsChange)=\"onStepsChange($event)\"\n ></gio-ps-flow-details-phase>\n} @else {\n <gio-loader></gio-loader>\n}\n", styles: [""], dependencies: [{ kind: "component", type: GioPolicyStudioDetailsPhaseComponent, selector: "gio-ps-flow-details-phase", inputs: ["readOnly", "steps", "name", "description", "startConnector", "endConnector", "apiType", "genericPolicies", "policyExecutionPhase", "trialUrl"], outputs: ["stepsChange"] }, { kind: "ngmodule", type: GioFormJsonSchemaModule }, { kind: "ngmodule", type: GioLoaderModule }, { kind: "component", type: i2.GioLoaderComponent, selector: "gio-loader" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
138
138
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyGroupStudioComponent, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyGroupStudioComponent, decorators: [{
140
140
  type: Component,
141
141
  args: [{ selector: 'gio-policy-group-studio', standalone: true, imports: [GioPolicyStudioDetailsPhaseComponent, GioFormJsonSchemaModule, GioLoaderModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n@if (!isLoading && policyGroupVM) {\n <gio-ps-flow-details-phase\n class=\"content__phase\"\n [name]=\"policyGroupVM.name\"\n [description]=\"policyGroupVM.description\"\n [readOnly]=\"readOnly\"\n [startConnector]=\"startConnector\"\n [endConnector]=\"endConnector\"\n [steps]=\"steps\"\n [apiType]=\"apiType\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n [policyExecutionPhase]=\"executionPhase\"\n (stepsChange)=\"onStepsChange($event)\"\n ></gio-ps-flow-details-phase>\n} @else {\n <gio-loader></gio-loader>\n}\n" }]
142
142
  }], ctorParameters: () => [{ type: i1.GioPolicyStudioService }], propDecorators: { policies: [{
@@ -126,8 +126,11 @@ export class GioPolicyStudioComponent {
126
126
  }
127
127
  }
128
128
  onFlowsGroupsChange(flowsGroups) {
129
- this.flowsGroups = flowsGroups;
129
+ this.flowsGroups = cloneDeep(flowsGroups);
130
130
  this.disableSaveButton = false;
131
+ if (this.selectedFlow) {
132
+ this.onSelectFlow(this.selectedFlow._id);
133
+ }
131
134
  }
132
135
  onSelectedFlowChange(flow) {
133
136
  this.flowsGroups = this.flowsGroups.map(flowGroup => ({
@@ -137,6 +140,9 @@ export class GioPolicyStudioComponent {
137
140
  this.selectedFlow = flow;
138
141
  this.disableSaveButton = false;
139
142
  }
143
+ onSelectFlow(flowId) {
144
+ this.selectedFlow = flatten(this.flowsGroups.map(flowGroup => flowGroup.flows)).find(f => f._id === flowId);
145
+ }
140
146
  onDeleteSelectedFlow(flow) {
141
147
  // Define next selected flow and remove flow from flowsGroups
142
148
  const allFlowsId = flatten(this.flowsGroups.map(flowGroup => flowGroup.flows)).map(f => f._id);
@@ -170,10 +176,10 @@ export class GioPolicyStudioComponent {
170
176
  initGenericPolicies() {
171
177
  this.genericPolicies = toGenericPolicies(this.policies ?? [], this.sharedPolicyGroupPolicies ?? []);
172
178
  }
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyStudioComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component }); }
174
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: GioPolicyStudioComponent, isStandalone: true, selector: "gio-policy-studio", inputs: { readOnly: "readOnly", apiType: "apiType", flowExecution: "flowExecution", entrypointsInfo: "entrypointsInfo", endpointsInfo: "endpointsInfo", commonFlows: "commonFlows", plans: "plans", policies: "policies", sharedPolicyGroupPolicies: "sharedPolicyGroupPolicies", trialUrl: "trialUrl", loading: "loading", policySchemaFetcher: "policySchemaFetcher", policyDocumentationFetcher: "policyDocumentationFetcher" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 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 <div class=\"header__apiInfo\" *ngIf=\"!loading; else loadingApiInfo\">\n <span class=\"gio-badge-primary\">\n {{ apiType | titlecase }}\n </span>\n <span\n class=\"gio-badge-neutral\"\n [matTooltip]=\"connectorsTooltip\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"gio-policy-studio__tooltip-line-break\"\n >\n <mat-icon *ngFor=\"let entrypoint of entrypointsInfo\" class=\"gio-left\" [svgIcon]=\"entrypoint.icon\"></mat-icon>\n <mat-icon *ngFor=\"let endpoint of endpointsInfo\" class=\"gio-left\" [svgIcon]=\"endpoint.icon\"></mat-icon>\n </span>\n </div>\n <ng-template #loadingApiInfo>\n <div class=\"header__apiInfo\">\n <span class=\"gio-badge-primary\">&nbsp;</span>\n <span class=\"gio-badge-neutral\">&nbsp;</span>\n </div>\n </ng-template>\n\n <div class=\"header__btn\">\n <button *ngIf=\"!saving\" mat-flat-button color=\"primary\" [disabled]=\"loading || disableSaveButton\" (click)=\"onSave()\">Save</button>\n <button *ngIf=\"saving\" mat-flat-button color=\"primary\" disabled>Saving...</button>\n </div>\n</div>\n\n<div class=\"wrapper\">\n <div class=\"wrapper__flowsMenu\">\n <gio-ps-flows-menu\n [readOnly]=\"readOnly\"\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flowExecution]=\"flowExecution\"\n [flowsGroups]=\"flowsGroups\"\n [entrypoints]=\"entrypointsInfo\"\n (flowsGroupsChange)=\"onFlowsGroupsChange($event)\"\n (flowExecutionChange)=\"onFlowExecutionChange($event)\"\n [(selectedFlow)]=\"selectedFlow\"\n ></gio-ps-flows-menu>\n </div>\n\n <div class=\"wrapper__flowDetails\">\n <gio-ps-flow-details\n [readOnly]=\"readOnly\"\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flow]=\"selectedFlow\"\n [entrypointsInfo]=\"entrypointsInfo\"\n [endpointsInfo]=\"endpointsInfo\"\n [policies]=\"policies\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n (flowChange)=\"onSelectedFlowChange($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flow-details>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;height:100%;flex-direction:column;padding:16px;background-color:#fff}::ng-deep .gio-policy-studio__tooltip-line-break{white-space:pre-line}.header{display:flex;align-items:center;padding-bottom:16px}.header__apiInfo{flex:1 1 auto}.wrapper{display:flex;min-height:0;flex:1 1 auto;flex-direction:row;gap:16px}.wrapper__flowsMenu{overflow:hidden;min-width:230px;max-width:400px;flex:1 1 33%;border:1px solid #d3d5dc;border-radius:8px}.wrapper__flowDetails{overflow:hidden;flex:1 1 66%;border:1px solid #d3d5dc;border-radius:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: GioIconsModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GioPolicyStudioFlowsMenuComponent, selector: "gio-ps-flows-menu", inputs: ["readOnly", "loading", "apiType", "flowExecution", "flowsGroups", "selectedFlow", "entrypoints"], outputs: ["selectedFlowChange", "flowsGroupsChange", "flowExecutionChange"] }, { kind: "component", type: GioPolicyStudioDetailsComponent, selector: "gio-ps-flow-details", inputs: ["readOnly", "loading", "apiType", "flow", "entrypointsInfo", "endpointsInfo", "policies", "genericPolicies", "trialUrl"], outputs: ["flowChange", "deleteFlow"] }] }); }
179
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyStudioComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component }); }
180
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: GioPolicyStudioComponent, isStandalone: true, selector: "gio-policy-studio", inputs: { readOnly: "readOnly", apiType: "apiType", flowExecution: "flowExecution", entrypointsInfo: "entrypointsInfo", endpointsInfo: "endpointsInfo", commonFlows: "commonFlows", plans: "plans", policies: "policies", sharedPolicyGroupPolicies: "sharedPolicyGroupPolicies", trialUrl: "trialUrl", loading: "loading", policySchemaFetcher: "policySchemaFetcher", policyDocumentationFetcher: "policyDocumentationFetcher" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 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 <div class=\"header__apiInfo\" *ngIf=\"!loading; else loadingApiInfo\">\n <span class=\"gio-badge-primary\">\n {{ apiType | titlecase }}\n </span>\n <span\n class=\"gio-badge-neutral\"\n [matTooltip]=\"connectorsTooltip\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"gio-policy-studio__tooltip-line-break\"\n >\n <mat-icon *ngFor=\"let entrypoint of entrypointsInfo\" class=\"gio-left\" [svgIcon]=\"entrypoint.icon\"></mat-icon>\n <mat-icon *ngFor=\"let endpoint of endpointsInfo\" class=\"gio-left\" [svgIcon]=\"endpoint.icon\"></mat-icon>\n </span>\n </div>\n <ng-template #loadingApiInfo>\n <div class=\"header__apiInfo\">\n <span class=\"gio-badge-primary\">&nbsp;</span>\n <span class=\"gio-badge-neutral\">&nbsp;</span>\n </div>\n </ng-template>\n\n <div class=\"header__btn\">\n <button *ngIf=\"!saving\" mat-flat-button color=\"primary\" [disabled]=\"loading || disableSaveButton\" (click)=\"onSave()\">Save</button>\n <button *ngIf=\"saving\" mat-flat-button color=\"primary\" disabled>Saving...</button>\n </div>\n</div>\n\n<div class=\"wrapper\">\n <div class=\"wrapper__flowsMenu\">\n <gio-ps-flows-menu\n [readOnly]=\"readOnly\"\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flowExecution]=\"flowExecution\"\n [flowsGroups]=\"flowsGroups\"\n [entrypoints]=\"entrypointsInfo\"\n [entrypointsInfo]=\"entrypointsInfo\"\n (flowsGroupsChange)=\"onFlowsGroupsChange($event)\"\n (flowExecutionChange)=\"onFlowExecutionChange($event)\"\n [selectedFlowId]=\"selectedFlow?._id\"\n (selectedFlowIdChange)=\"onSelectFlow($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flows-menu>\n </div>\n\n <div class=\"wrapper__flowDetails\">\n <gio-ps-flow-details\n [readOnly]=\"readOnly\"\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flow]=\"selectedFlow\"\n [entrypointsInfo]=\"entrypointsInfo\"\n [endpointsInfo]=\"endpointsInfo\"\n [policies]=\"policies\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n (flowChange)=\"onSelectedFlowChange($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flow-details>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;height:100%;flex-direction:column;padding:16px;background-color:#fff}::ng-deep .gio-policy-studio__tooltip-line-break{white-space:pre-line}.header{display:flex;align-items:center;padding-bottom:16px}.header__apiInfo{flex:1 1 auto}.wrapper{display:flex;min-height:0;flex:1 1 auto;flex-direction:row;gap:16px}.wrapper__flowsMenu{overflow:hidden;min-width:230px;max-width:400px;flex:1 1 33%;border:1px solid #d3d5dc;border-radius:8px}.wrapper__flowDetails{overflow:hidden;flex:1 1 66%;border:1px solid #d3d5dc;border-radius:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: GioIconsModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GioPolicyStudioFlowsMenuComponent, selector: "gio-ps-flows-menu", inputs: ["readOnly", "loading", "apiType", "flowExecution", "flowsGroups", "selectedFlowId", "entrypoints", "entrypointsInfo"], outputs: ["selectedFlowIdChange", "flowsGroupsChange", "flowExecutionChange", "deleteFlow"] }, { kind: "component", type: GioPolicyStudioDetailsComponent, selector: "gio-ps-flow-details", inputs: ["readOnly", "loading", "apiType", "flow", "entrypointsInfo", "endpointsInfo", "policies", "genericPolicies", "trialUrl"], outputs: ["flowChange", "deleteFlow"] }] }); }
175
181
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyStudioComponent, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyStudioComponent, decorators: [{
177
183
  type: Component,
178
184
  args: [{ standalone: true, imports: [
179
185
  CommonModule,
@@ -182,7 +188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
182
188
  GioIconsModule,
183
189
  GioPolicyStudioFlowsMenuComponent,
184
190
  GioPolicyStudioDetailsComponent,
185
- ], selector: 'gio-policy-studio', template: "<!--\n\n Copyright (C) 2015 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 <div class=\"header__apiInfo\" *ngIf=\"!loading; else loadingApiInfo\">\n <span class=\"gio-badge-primary\">\n {{ apiType | titlecase }}\n </span>\n <span\n class=\"gio-badge-neutral\"\n [matTooltip]=\"connectorsTooltip\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"gio-policy-studio__tooltip-line-break\"\n >\n <mat-icon *ngFor=\"let entrypoint of entrypointsInfo\" class=\"gio-left\" [svgIcon]=\"entrypoint.icon\"></mat-icon>\n <mat-icon *ngFor=\"let endpoint of endpointsInfo\" class=\"gio-left\" [svgIcon]=\"endpoint.icon\"></mat-icon>\n </span>\n </div>\n <ng-template #loadingApiInfo>\n <div class=\"header__apiInfo\">\n <span class=\"gio-badge-primary\">&nbsp;</span>\n <span class=\"gio-badge-neutral\">&nbsp;</span>\n </div>\n </ng-template>\n\n <div class=\"header__btn\">\n <button *ngIf=\"!saving\" mat-flat-button color=\"primary\" [disabled]=\"loading || disableSaveButton\" (click)=\"onSave()\">Save</button>\n <button *ngIf=\"saving\" mat-flat-button color=\"primary\" disabled>Saving...</button>\n </div>\n</div>\n\n<div class=\"wrapper\">\n <div class=\"wrapper__flowsMenu\">\n <gio-ps-flows-menu\n [readOnly]=\"readOnly\"\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flowExecution]=\"flowExecution\"\n [flowsGroups]=\"flowsGroups\"\n [entrypoints]=\"entrypointsInfo\"\n (flowsGroupsChange)=\"onFlowsGroupsChange($event)\"\n (flowExecutionChange)=\"onFlowExecutionChange($event)\"\n [(selectedFlow)]=\"selectedFlow\"\n ></gio-ps-flows-menu>\n </div>\n\n <div class=\"wrapper__flowDetails\">\n <gio-ps-flow-details\n [readOnly]=\"readOnly\"\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flow]=\"selectedFlow\"\n [entrypointsInfo]=\"entrypointsInfo\"\n [endpointsInfo]=\"endpointsInfo\"\n [policies]=\"policies\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n (flowChange)=\"onSelectedFlowChange($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flow-details>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;height:100%;flex-direction:column;padding:16px;background-color:#fff}::ng-deep .gio-policy-studio__tooltip-line-break{white-space:pre-line}.header{display:flex;align-items:center;padding-bottom:16px}.header__apiInfo{flex:1 1 auto}.wrapper{display:flex;min-height:0;flex:1 1 auto;flex-direction:row;gap:16px}.wrapper__flowsMenu{overflow:hidden;min-width:230px;max-width:400px;flex:1 1 33%;border:1px solid #d3d5dc;border-radius:8px}.wrapper__flowDetails{overflow:hidden;flex:1 1 66%;border:1px solid #d3d5dc;border-radius:8px}\n"] }]
191
+ ], selector: 'gio-policy-studio', template: "<!--\n\n Copyright (C) 2015 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 <div class=\"header__apiInfo\" *ngIf=\"!loading; else loadingApiInfo\">\n <span class=\"gio-badge-primary\">\n {{ apiType | titlecase }}\n </span>\n <span\n class=\"gio-badge-neutral\"\n [matTooltip]=\"connectorsTooltip\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"gio-policy-studio__tooltip-line-break\"\n >\n <mat-icon *ngFor=\"let entrypoint of entrypointsInfo\" class=\"gio-left\" [svgIcon]=\"entrypoint.icon\"></mat-icon>\n <mat-icon *ngFor=\"let endpoint of endpointsInfo\" class=\"gio-left\" [svgIcon]=\"endpoint.icon\"></mat-icon>\n </span>\n </div>\n <ng-template #loadingApiInfo>\n <div class=\"header__apiInfo\">\n <span class=\"gio-badge-primary\">&nbsp;</span>\n <span class=\"gio-badge-neutral\">&nbsp;</span>\n </div>\n </ng-template>\n\n <div class=\"header__btn\">\n <button *ngIf=\"!saving\" mat-flat-button color=\"primary\" [disabled]=\"loading || disableSaveButton\" (click)=\"onSave()\">Save</button>\n <button *ngIf=\"saving\" mat-flat-button color=\"primary\" disabled>Saving...</button>\n </div>\n</div>\n\n<div class=\"wrapper\">\n <div class=\"wrapper__flowsMenu\">\n <gio-ps-flows-menu\n [readOnly]=\"readOnly\"\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flowExecution]=\"flowExecution\"\n [flowsGroups]=\"flowsGroups\"\n [entrypoints]=\"entrypointsInfo\"\n [entrypointsInfo]=\"entrypointsInfo\"\n (flowsGroupsChange)=\"onFlowsGroupsChange($event)\"\n (flowExecutionChange)=\"onFlowExecutionChange($event)\"\n [selectedFlowId]=\"selectedFlow?._id\"\n (selectedFlowIdChange)=\"onSelectFlow($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flows-menu>\n </div>\n\n <div class=\"wrapper__flowDetails\">\n <gio-ps-flow-details\n [readOnly]=\"readOnly\"\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flow]=\"selectedFlow\"\n [entrypointsInfo]=\"entrypointsInfo\"\n [endpointsInfo]=\"endpointsInfo\"\n [policies]=\"policies\"\n [genericPolicies]=\"genericPolicies\"\n [trialUrl]=\"trialUrl\"\n (flowChange)=\"onSelectedFlowChange($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flow-details>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;height:100%;flex-direction:column;padding:16px;background-color:#fff}::ng-deep .gio-policy-studio__tooltip-line-break{white-space:pre-line}.header{display:flex;align-items:center;padding-bottom:16px}.header__apiInfo{flex:1 1 auto}.wrapper{display:flex;min-height:0;flex:1 1 auto;flex-direction:row;gap:16px}.wrapper__flowsMenu{overflow:hidden;min-width:230px;max-width:400px;flex:1 1 33%;border:1px solid #d3d5dc;border-radius:8px}.wrapper__flowDetails{overflow:hidden;flex:1 1 66%;border:1px solid #d3d5dc;border-radius:8px}\n"] }]
186
192
  }], ctorParameters: () => [{ type: i1.GioPolicyStudioService }], propDecorators: { readOnly: [{
187
193
  type: Input
188
194
  }], apiType: [{
@@ -262,4 +268,4 @@ const getPlansChangeOutput = (flowsGroups, initialFlowsGroups) => {
262
268
  }));
263
269
  return plansWithChangedFlowsOutput.length > 0 ? plansWithChangedFlowsOutput : null;
264
270
  };
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvcG9saWN5LXN0dWRpby9naW8tcG9saWN5LXN0dWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9wb2xpY3ktc3R1ZGlvL2dpby1wb2xpY3ktc3R1ZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUF3QixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDNUYsT0FBTyxFQUFFLEtBQUssRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFXTCxpQkFBaUIsR0FFbEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDekcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7Ozs7QUFtQjNHLE1BQU0sT0FBTyx3QkFBd0I7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QUMsRUFBRSxDQUFDO1lBQ3RHLHFGQUFxRjtZQUNyRiwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCw4REFBOEQ7SUFDOUQsTUFBTSwyQkFBMkIsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLDJCQUEyQixFQUFFLEdBQUcsMkJBQTJCLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQztRQUN4QyxnR0FBZ0c7UUFDaEcsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFRO1FBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBRUosT0FBTywyQkFBMkIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3JGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZGlmZmVyZW5jZUJ5LCBmbGF0dGVuLCBpc0VxdWFsLCBvbWl0LCB1bmlvbkJ5LCB1bmlxdWVJZCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFTVBUWSwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEdpb0ljb25zTW9kdWxlIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7XG4gIEFwaVR5cGUsXG4gIENvbm5lY3RvckluZm8sXG4gIEZsb3csXG4gIEZsb3dFeGVjdXRpb24sXG4gIFBsYW4sXG4gIFBvbGljeSxcbiAgUG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIsXG4gIFBvbGljeVNjaGVtYUZldGNoZXIsXG4gIFNhdmVPdXRwdXQsXG4gIFNoYXJlZFBvbGljeUdyb3VwUG9saWN5LFxuICB0b0dlbmVyaWNQb2xpY2llcyxcbiAgR2VuZXJpY1BvbGljeSxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dzTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvd3MtbWVudS9naW8tcHMtZmxvd3MtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzL2dpby1wcy1mbG93LWRldGFpbHMuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRmxvd0dyb3VwVk0sIEZsb3dWTSB9IGZyb20gJy4vZ2lvLXBvbGljeS1zdHVkaW8ubW9kZWwnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvU2VydmljZSB9IGZyb20gJy4vZ2lvLXBvbGljeS1zdHVkaW8uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEdpb0ljb25zTW9kdWxlLFxuICAgIEdpb1BvbGljeVN0dWRpb0Zsb3dzTWVudUNvbXBvbmVudCxcbiAgICBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzQ29tcG9uZW50LFxuICBdLFxuICBzZWxlY3RvcjogJ2dpby1wb2xpY3ktc3R1ZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wb2xpY3ktc3R1ZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogTWF5IGJlIHNldCB0byBgdHJ1ZWAgaWYgdGhlIEFQSSBpcyBub3QgbWFuYWdlYWJsZSBmcm9tIHRoZSBVSSAoZS5nLiBrdWJlcm5ldGVzIG9wZXJhdG9yIEFQSXMpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAvKipcbiAgICogQVBJIHR5cGUgKHJlcXVpcmVkKVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFwaVR5cGUhOiBBcGlUeXBlO1xuXG4gIC8qKlxuICAgKiBGbG93IGV4ZWN1dGlvbiBjb25maWcgKHJlcXVpcmVkKVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZsb3dFeGVjdXRpb24hOiBGbG93RXhlY3V0aW9uO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGVudHJ5cG9pbnRzIHRvIGRpc3BsYXlcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbnRyeXBvaW50c0luZm86IENvbm5lY3RvckluZm9bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGVuZHBvaW50cyB0byBkaXNwbGF5XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZW5kcG9pbnRzSW5mbzogQ29ubmVjdG9ySW5mb1tdID0gW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY29tbW9uIGZsb3dzIHRvIGFkZCB0byBjb21tb24gZmxvd3MgZ3JvdXBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb21tb25GbG93czogRmxvd1tdID0gW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcGxhbnMgd2l0aCB0aGVpciBmbG93c1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBsYW5zOiBQbGFuW10gPSBbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBwb2xpY2llcyB1c2FibGUgaW4gdGhlIHBvbGljeSBzdHVkaW9cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb2xpY2llczogUG9saWN5W10gPSBbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBTaGFyZWRQb2xpY3lHcm91cHMgdXNhYmxlIGluIHRoZSBzdHVkaW9cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaGFyZWRQb2xpY3lHcm91cFBvbGljaWVzOiBTaGFyZWRQb2xpY3lHcm91cFBvbGljeVtdID0gW107XG5cbiAgLyoqXG4gICAqIFdoZW4gYSBwb2xpY3kgaXMgbm90IGF2YWlsYWJsZSB3aXRoIHRoZSBjdXJyZW50IGxpY2Vuc2UsXG4gICAqIHRoaXMgVVJMIGlzIHVzZWQgdG8gcmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhlIHRyaWFsIHBhZ2UuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdHJpYWxVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvYWRpbmcgc3RhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIFBvbGljeSBTdHVkaW8gbmVlZHMgdG8gZmV0Y2ggdGhlIHBvbGljeSBzY2hlbWFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgcG9saWN5IHNjaGVtYVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBvbGljeVNjaGVtYUZldGNoZXI6IFBvbGljeVNjaGVtYUZldGNoZXIgPSAoKSA9PiBFTVBUWTtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gUG9saWN5IFN0dWRpbyBuZWVkcyB0byBmZXRjaCB0aGUgcG9saWN5IGRvY3VtZW50YXRpb25cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgcG9saWN5IGRvY3VtZW50YXRpb25cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcjogUG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIgPSAoKSA9PiBFTVBUWTtcblxuICAvKipcbiAgICogUmV0dXJuIHdoYXQgaXMgbmVlZGVkIHRvIHNhdmUuXG4gICAqKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxTYXZlT3V0cHV0PigpO1xuXG4gIHB1YmxpYyBjb25uZWN0b3JzVG9vbHRpcCA9ICcnO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZsb3c/OiBGbG93Vk0gPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdID0gW107XG5cbiAgcHVibGljIGRpc2FibGVTYXZlQnV0dG9uID0gdHJ1ZTtcblxuICBwdWJsaWMgc2F2aW5nID0gZmFsc2U7XG5cbiAgLy8gVXNlZCB0byBrZWVwIHRyYWNrIG9mIGluaXRpYWwgZmxvd3MgZ3JvdXBzIHRvIGtub3cgaWYgdGhlcmUgYXJlIGRlbGV0ZWQgZmxvd3NcbiAgcHJpdmF0ZSBpbml0aWFsRmxvd3NHcm91cHM6IEZsb3dHcm91cFZNW10gPSBbXTtcblxuICBwcml2YXRlIGhhc0Zsb3dFeGVjdXRpb25DaGFuZ2VkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSB1blNhdmluZ0J1dHRvblN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGVuYWJsZVNhdmluZ1RpbWVyID0gdHJ1ZTtcblxuICBwcm90ZWN0ZWQgZ2VuZXJpY1BvbGljaWVzOiBHZW5lcmljUG9saWN5W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBvbGljeVN0dWRpb1NlcnZpY2U6IEdpb1BvbGljeVN0dWRpb1NlcnZpY2UpIHt9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5lbnRyeXBvaW50c0luZm8gfHwgY2hhbmdlcy5lbmRwb2ludHNJbmZvKSB7XG4gICAgICB0aGlzLmNvbm5lY3RvcnNUb29sdGlwID0gYEVudHJ5cG9pbnRzOiAkeyh0aGlzLmVudHJ5cG9pbnRzSW5mbyA/PyBbXSkubWFwKGUgPT4gZS5uYW1lKS5qb2luKCcsICcpfVxcbkVuZHBvaW50czogJHsoXG4gICAgICAgIHRoaXMuZW5kcG9pbnRzSW5mbyA/PyBbXVxuICAgICAgKVxuICAgICAgICAubWFwKGUgPT4gZS5uYW1lKVxuICAgICAgICAuam9pbignLCAnKX1gO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmNvbW1vbkZsb3dzIHx8IGNoYW5nZXMucGxhbnMpIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSB0cnVlO1xuICAgICAgdGhpcy5mbG93c0dyb3VwcyA9IGdldEZsb3dzR3JvdXBzKHRoaXMuY29tbW9uRmxvd3MsIHRoaXMucGxhbnMpO1xuICAgICAgdGhpcy5pbml0aWFsRmxvd3NHcm91cHMgPSBjbG9uZURlZXAodGhpcy5mbG93c0dyb3Vwcyk7XG5cbiAgICAgIC8vIFNlbGVjdCBmaXJzdCBmbG93IGJ5IGRlZmF1bHQgb24gZmlyc3QgbG9hZFxuICAgICAgdGhpcy5zZWxlY3RlZEZsb3cgPSBmbGF0dGVuKHRoaXMuZmxvd3NHcm91cHMubWFwKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuZmxvd3MpKVswXTtcblxuICAgICAgLy8gUmVzZXQgc2F2aW5nIHN0YXRlIHdoZW4gZmxvd3NHcm91cHMgYXJlIHVwZGF0ZWRcbiAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLnVuU2F2aW5nQnV0dG9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnBvbGljeVNjaGVtYUZldGNoZXIpIHtcbiAgICAgIHRoaXMucG9saWN5U3R1ZGlvU2VydmljZS5zZXRQb2xpY3lTY2hlbWFGZXRjaGVyKHRoaXMucG9saWN5U2NoZW1hRmV0Y2hlcik7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMucG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIpIHtcbiAgICAgIHRoaXMucG9saWN5U3R1ZGlvU2VydmljZS5zZXRQb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcih0aGlzLnBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5wb2xpY2llcyB8fCBjaGFuZ2VzLnNoYXJlZFBvbGljeUdyb3VwUG9saWNpZXMpIHtcbiAgICAgIHRoaXMuaW5pdEdlbmVyaWNQb2xpY2llcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuU2F2aW5nQnV0dG9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG9uRmxvd0V4ZWN1dGlvbkNoYW5nZShmbG93RXhlY3V0aW9uOiBGbG93RXhlY3V0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5oYXNGbG93RXhlY3V0aW9uQ2hhbmdlZCA9ICFpc0VxdWFsKHRoaXMuZmxvd0V4ZWN1dGlvbiwgZmxvd0V4ZWN1dGlvbik7XG4gICAgaWYgKHRoaXMuaGFzRmxvd0V4ZWN1dGlvbkNoYW5nZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgICAgIHRoaXMuZmxvd0V4ZWN1dGlvbiA9IGZsb3dFeGVjdXRpb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRmxvd3NHcm91cHNDaGFuZ2UoZmxvd3NHcm91cHM6IEZsb3dHcm91cFZNW10pOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dzR3JvdXBzID0gZmxvd3NHcm91cHM7XG4gICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0ZWRGbG93Q2hhbmdlKGZsb3c6IEZsb3dWTSk6IHZvaWQge1xuICAgIHRoaXMuZmxvd3NHcm91cHMgPSB0aGlzLmZsb3dzR3JvdXBzLm1hcChmbG93R3JvdXAgPT4gKHtcbiAgICAgIC4uLmZsb3dHcm91cCxcbiAgICAgIGZsb3dzOiBmbG93R3JvdXAuZmxvd3MubWFwKGYgPT4gKGYuX2lkID09PSBmbG93Ll9pZCA/IGZsb3cgOiBmKSksXG4gICAgfSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRGbG93ID0gZmxvdztcbiAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGVTZWxlY3RlZEZsb3coZmxvdzogRmxvd1ZNKTogdm9pZCB7XG4gICAgLy8gRGVmaW5lIG5leHQgc2VsZWN0ZWQgZmxvdyBhbmQgcmVtb3ZlIGZsb3cgZnJvbSBmbG93c0dyb3Vwc1xuICAgIGNvbnN0IGFsbEZsb3dzSWQgPSBmbGF0dGVuKHRoaXMuZmxvd3NHcm91cHMubWFwKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuZmxvd3MpKS5tYXAoZiA9PiBmLl9pZCk7XG4gICAgY29uc3QgZmxvd1RvRGVsZXRlSW5kZXggPSBhbGxGbG93c0lkLmluZGV4T2YoZmxvdy5faWQpO1xuICAgIGNvbnN0IG5leHRTZWxlY3RlZEZsb3cgPSBhbGxGbG93c0lkW2Zsb3dUb0RlbGV0ZUluZGV4ICsgMV0gPz8gYWxsRmxvd3NJZFtmbG93VG9EZWxldGVJbmRleCAtIDFdO1xuICAgIHRoaXMuZmxvd3NHcm91cHMgPSB0aGlzLmZsb3dzR3JvdXBzLm1hcChmbG93R3JvdXAgPT4gKHtcbiAgICAgIC4uLmZsb3dHcm91cCxcbiAgICAgIGZsb3dzOiBmbG93R3JvdXAuZmxvd3MuZmlsdGVyKGYgPT4gZi5faWQgIT09IGZsb3cuX2lkKSxcbiAgICB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkRmxvdyA9IGZsYXR0ZW4odGhpcy5mbG93c0dyb3Vwcy5tYXAoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5mbG93cykpLmZpbmQoZiA9PiBmLl9pZCA9PT0gbmV4dFNlbGVjdGVkRmxvdyk7XG5cbiAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25TYXZlKCk6IHZvaWQge1xuICAgIC8vIEVtaXQgY29tbW9uIGZsb3dzIG9ubHkgaWYgdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuICAgIGNvbnN0IGNvbW1vbkZsb3dzID0gZ2V0Q29tbW9uRmxvd3NPdXRwdXQodGhpcy5mbG93c0dyb3VwcywgdGhpcy5pbml0aWFsRmxvd3NHcm91cHMpO1xuXG4gICAgLy8gRW1pdCBwbGFucyBvbmx5IGlmIHRoZXkgaGF2ZSBiZWVuIHVwZGF0ZWRcbiAgICBjb25zdCBwbGFuc1RvVXBkYXRlID0gZ2V0UGxhbnNDaGFuZ2VPdXRwdXQodGhpcy5mbG93c0dyb3VwcywgdGhpcy5pbml0aWFsRmxvd3NHcm91cHMpO1xuXG4gICAgdGhpcy5zYXZlLmVtaXQoe1xuICAgICAgLi4uKGNvbW1vbkZsb3dzID8geyBjb21tb25GbG93cyB9IDoge30pLFxuICAgICAgLi4uKHBsYW5zVG9VcGRhdGUgPyB7IHBsYW5zVG9VcGRhdGUgfSA6IHt9KSxcbiAgICAgIC4uLih0aGlzLmhhc0Zsb3dFeGVjdXRpb25DaGFuZ2VkID8geyBmbG93RXhlY3V0aW9uOiB0aGlzLmZsb3dFeGVjdXRpb24gfSA6IHt9KSxcbiAgICB9KTtcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XG5cbiAgICB0aGlzLnVuU2F2aW5nQnV0dG9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIGlmICh0aGlzLmVuYWJsZVNhdmluZ1RpbWVyKSB7XG4gICAgICB0aGlzLnVuU2F2aW5nQnV0dG9uU3Vic2NyaXB0aW9uID0gdGltZXIoNTAwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEdlbmVyaWNQb2xpY2llcygpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyaWNQb2xpY2llcyA9IHRvR2VuZXJpY1BvbGljaWVzKHRoaXMucG9saWNpZXMgPz8gW10sIHRoaXMuc2hhcmVkUG9saWN5R3JvdXBQb2xpY2llcyA/PyBbXSk7XG4gIH1cbn1cblxuY29uc3QgZ2V0Rmxvd3NHcm91cHMgPSAoY29tbW9uRmxvd3M6IEZsb3dbXSA9IFtdLCBwbGFuczogUGxhbltdID0gW10pOiBGbG93R3JvdXBWTVtdID0+IHtcbiAgY29uc3QgY29tbUZsb3dzR3JvdXA6IEZsb3dHcm91cFZNID0ge1xuICAgIF9pZDogJ2Zsb3dzR3JvdXBfY29tbW9uRmxvdycsXG4gICAgbmFtZTogJ0NvbW1vbiBmbG93cycsXG4gICAgZmxvd3M6IGNvbW1vbkZsb3dzLm1hcChmbG93ID0+ICh7IC4uLmZsb3csIF9pZDogdW5pcXVlSWQoJ2Zsb3dfJyksIF9oYXNDaGFuZ2VkOiBmYWxzZSB9KSksXG4gIH07XG5cbiAgcmV0dXJuIFtcbiAgICAuLi5wbGFucy5tYXAocGxhbiA9PiAoe1xuICAgICAgX2lkOiB1bmlxdWVJZCgnZmxvd3NHcm91cF8nKSxcbiAgICAgIF9pY29uOiAnZ2lvOnNoaWVsZCcsXG4gICAgICBfcGxhbklkOiBwbGFuLmlkLFxuICAgICAgbmFtZTogcGxhbi5uYW1lLFxuICAgICAgZmxvd3M6IHBsYW4uZmxvd3MubWFwKGZsb3cgPT4gKHsgLi4uZmxvdywgX2lkOiB1bmlxdWVJZCgnZmxvd18nKSwgX2hhc0NoYW5nZWQ6IGZhbHNlIH0pKSxcbiAgICB9KSksXG4gICAgY29tbUZsb3dzR3JvdXAsXG4gIF07XG59O1xuXG5jb25zdCBnZXRDb21tb25GbG93c091dHB1dCA9IChmbG93c0dyb3VwczogRmxvd0dyb3VwVk1bXSwgaW5pdGlhbEZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdKTogRmxvd1tdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGNvbW1vbkZsb3dzR3JvdXAgPSBmbG93c0dyb3Vwcy5maW5kKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuX2lkID09PSAnZmxvd3NHcm91cF9jb21tb25GbG93Jyk7XG4gIGNvbnN0IGluaXRpYWxDb21tb25GbG93c0dyb3VwID0gaW5pdGlhbEZsb3dzR3JvdXBzLmZpbmQoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5faWQgPT09ICdmbG93c0dyb3VwX2NvbW1vbkZsb3cnKTtcbiAgLy8gQ2hlY2sgaWYgY29tbW9uIGZsb3dzIGhhdmUgYmVlbiB1cGRhdGVkXG4gIGNvbnN0IGhhc0NoYW5nZWQgPSBjb21tb25GbG93c0dyb3VwPy5mbG93cy5zb21lKGZsb3cgPT4gZmxvdy5faGFzQ2hhbmdlZCk7XG5cbiAgLy8gQ2hlY2sgaWYgY29tbW9uIGZsb3dzIGhhdmUgYmVlbiBkZWxldGVkXG4gIGNvbnN0IGhhc0RlbGV0ZWRGbG93ID0gZGlmZmVyZW5jZUJ5KGluaXRpYWxDb21tb25GbG93c0dyb3VwPy5mbG93cyA/PyBbXSwgY29tbW9uRmxvd3NHcm91cD8uZmxvd3MgPz8gW10sICdfaWQnKS5sZW5ndGggPiAwO1xuXG4gIHJldHVybiBoYXNDaGFuZ2VkIHx8IGhhc0RlbGV0ZWRGbG93ID8gKGNvbW1vbkZsb3dzR3JvdXA/LmZsb3dzID8/IFtdKS5tYXAoZmxvdyA9PiBvbWl0KGZsb3csICdfaWQnLCAnX2hhc0NoYW5nZWQnKSkgOiBudWxsO1xufTtcblxuY29uc3QgZ2V0UGxhbnNDaGFuZ2VPdXRwdXQgPSAoZmxvd3NHcm91cHM6IEZsb3dHcm91cFZNW10sIGluaXRpYWxGbG93c0dyb3VwczogRmxvd0dyb3VwVk1bXSk6IFBsYW5bXSB8IG51bGwgPT4ge1xuICBjb25zdCBwbGFuc0dyb3VwcyA9IGZsb3dzR3JvdXBzLmZpbHRlcihmbG93R3JvdXAgPT4gZmxvd0dyb3VwLl9pZCAhPT0gJ2Zsb3dzR3JvdXBfY29tbW9uRmxvdycpO1xuICBjb25zdCBpbml0aWFsUGxhbnNHcm91cHMgPSBpbml0aWFsRmxvd3NHcm91cHMuZmlsdGVyKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuX2lkICE9PSAnZmxvd3NHcm91cF9jb21tb25GbG93Jyk7XG5cbiAgLy8gR2V0IHBsYW5zIHdpdGggY2hhbmdlZCBmbG93c1xuICBjb25zdCBwbGFuc0dyb3Vwc1dpdGhDaGFuZ2VkRmxvd3MgPSBwbGFuc0dyb3Vwcy5maWx0ZXIocGxhbiA9PiBwbGFuLmZsb3dzLnNvbWUoZmxvdyA9PiBmbG93Ll9oYXNDaGFuZ2VkKSk7XG5cbiAgLy8gR2V0IHBsYW5zIHdpdGggZGVsZXRlZCBmbG93c1xuICBjb25zdCBwbGFuc0dyb3Vwc1dpdGhEZWxldGVkRmxvd3M6IEZsb3dHcm91cFZNW10gPSBbXTtcblxuICAvLyBDaGVjayBpZiB0aGVyZSBhcmUgZGVsZXRlZCBmbG93cyBpbiBpbml0aWFsIGluaXRpYWxQbGFuc0dyb3Vwc1xuICBpbml0aWFsUGxhbnNHcm91cHMuZm9yRWFjaChwbGFuID0+IHtcbiAgICBjb25zdCBwbGFuR3JvdXBUb0NvbXBhcmUgPSBwbGFuc0dyb3Vwcy5maW5kKHAgPT4gcC5fcGxhbklkID09PSBwbGFuLl9wbGFuSWQpO1xuICAgIGlmIChwbGFuR3JvdXBUb0NvbXBhcmUgJiYgZGlmZmVyZW5jZUJ5KHBsYW4uZmxvd3MsIHBsYW5Hcm91cFRvQ29tcGFyZT8uZmxvd3MgPz8gW10sICdfaWQnKS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBJZiB0aGVyZSBhcmUgZGVsZXRlZCBmbG93cywgd2UgbmVlZCB0byByZXR1cm4gdGhlIGNvbXBsZXRlIHBsYW4gd2l0aCB0aGUgbmV3IGZsb3dzXG4gICAgICBwbGFuc0dyb3Vwc1dpdGhEZWxldGVkRmxvd3MucHVzaChwbGFuR3JvdXBUb0NvbXBhcmUpO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gTWVyZ2UgcGxhbnMgd2l0aCBjaGFuZ2VkIGZsb3dzIGFuZCBwbGFucyB3aXRoIGRlbGV0ZWQgZmxvd3NcbiAgY29uc3QgcGxhbnNXaXRoQ2hhbmdlZEZsb3dzT3V0cHV0ID0gdW5pb25CeShbLi4ucGxhbnNHcm91cHNXaXRoQ2hhbmdlZEZsb3dzLCAuLi5wbGFuc0dyb3Vwc1dpdGhEZWxldGVkRmxvd3NdLCAnX3BsYW5JZCcpLm1hcChwbGFuID0+ICh7XG4gICAgLi4ub21pdChwbGFuLCAnX2lkJywgJ19pY29uJywgJ19wbGFuSWQnKSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvbiAtLSBwbGFuSWQgaXMgYWx3YXlzIGRlZmluZWRcbiAgICBpZDogcGxhbi5fcGxhbklkISxcbiAgICBmbG93czogcGxhbi5mbG93cy5tYXAoZmxvdyA9PiBvbWl0KGZsb3csICdfaWQnLCAnX2hhc0NoYW5nZWQnKSksXG4gIH0pKTtcblxuICByZXR1cm4gcGxhbnNXaXRoQ2hhbmdlZEZsb3dzT3V0cHV0Lmxlbmd0aCA+IDAgPyBwbGFuc1dpdGhDaGFuZ2VkRmxvd3NPdXRwdXQgOiBudWxsO1xufTtcbiIsIjwhLS1cblxuICAgIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cbi0tPlxuXG48ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2FwaUluZm9cIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRpbmdBcGlJbmZvXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJnaW8tYmFkZ2UtcHJpbWFyeVwiPlxuICAgICAge3sgYXBpVHlwZSB8IHRpdGxlY2FzZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJnaW8tYmFkZ2UtbmV1dHJhbFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJjb25uZWN0b3JzVG9vbHRpcFwiXG4gICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgICBtYXRUb29sdGlwQ2xhc3M9XCJnaW8tcG9saWN5LXN0dWRpb19fdG9vbHRpcC1saW5lLWJyZWFrXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gKm5nRm9yPVwibGV0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHNJbmZvXCIgY2xhc3M9XCJnaW8tbGVmdFwiIFtzdmdJY29uXT1cImVudHJ5cG9pbnQuaWNvblwiPjwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb24gKm5nRm9yPVwibGV0IGVuZHBvaW50IG9mIGVuZHBvaW50c0luZm9cIiBjbGFzcz1cImdpby1sZWZ0XCIgW3N2Z0ljb25dPVwiZW5kcG9pbnQuaWNvblwiPjwvbWF0LWljb24+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNsb2FkaW5nQXBpSW5mbz5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyX19hcGlJbmZvXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdpby1iYWRnZS1wcmltYXJ5XCI+Jm5ic3A7PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJnaW8tYmFkZ2UtbmV1dHJhbFwiPiZuYnNwOzwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyX19idG5cIj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiIXNhdmluZ1wiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBkaXNhYmxlU2F2ZUJ1dHRvblwiIChjbGljayk9XCJvblNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwic2F2aW5nXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIGRpc2FibGVkPlNhdmluZy4uLjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9fZmxvd3NNZW51XCI+XG4gICAgPGdpby1wcy1mbG93cy1tZW51XG4gICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICBbYXBpVHlwZV09XCJhcGlUeXBlXCJcbiAgICAgIFtmbG93RXhlY3V0aW9uXT1cImZsb3dFeGVjdXRpb25cIlxuICAgICAgW2Zsb3dzR3JvdXBzXT1cImZsb3dzR3JvdXBzXCJcbiAgICAgIFtlbnRyeXBvaW50c109XCJlbnRyeXBvaW50c0luZm9cIlxuICAgICAgKGZsb3dzR3JvdXBzQ2hhbmdlKT1cIm9uRmxvd3NHcm91cHNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoZmxvd0V4ZWN1dGlvbkNoYW5nZSk9XCJvbkZsb3dFeGVjdXRpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbKHNlbGVjdGVkRmxvdyldPVwic2VsZWN0ZWRGbG93XCJcbiAgICA+PC9naW8tcHMtZmxvd3MtbWVudT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIndyYXBwZXJfX2Zsb3dEZXRhaWxzXCI+XG4gICAgPGdpby1wcy1mbG93LWRldGFpbHNcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIFthcGlUeXBlXT1cImFwaVR5cGVcIlxuICAgICAgW2Zsb3ddPVwic2VsZWN0ZWRGbG93XCJcbiAgICAgIFtlbnRyeXBvaW50c0luZm9dPVwiZW50cnlwb2ludHNJbmZvXCJcbiAgICAgIFtlbmRwb2ludHNJbmZvXT1cImVuZHBvaW50c0luZm9cIlxuICAgICAgW3BvbGljaWVzXT1cInBvbGljaWVzXCJcbiAgICAgIFtnZW5lcmljUG9saWNpZXNdPVwiZ2VuZXJpY1BvbGljaWVzXCJcbiAgICAgIFt0cmlhbFVybF09XCJ0cmlhbFVybFwiXG4gICAgICAoZmxvd0NoYW5nZSk9XCJvblNlbGVjdGVkRmxvd0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChkZWxldGVGbG93KT1cIm9uRGVsZXRlU2VsZWN0ZWRGbG93KCRldmVudClcIlxuICAgID48L2dpby1wcy1mbG93LWRldGFpbHM+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvcG9saWN5LXN0dWRpby9naW8tcG9saWN5LXN0dWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9wb2xpY3ktc3R1ZGlvL2dpby1wb2xpY3ktc3R1ZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUF3QixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDNUYsT0FBTyxFQUFFLEtBQUssRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFXTCxpQkFBaUIsR0FFbEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDekcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7Ozs7QUFtQjNHLE1BQU0sT0FBTyx3QkFBd0I7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RixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGRpZmZlcmVuY2VCeSwgZmxhdHRlbiwgaXNFcXVhbCwgb21pdCwgdW5pb25CeSwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRU1QVFksIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBHaW9JY29uc01vZHVsZSB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5pbXBvcnQge1xuICBBcGlUeXBlLFxuICBDb25uZWN0b3JJbmZvLFxuICBGbG93LFxuICBGbG93RXhlY3V0aW9uLFxuICBQbGFuLFxuICBQb2xpY3ksXG4gIFBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyLFxuICBQb2xpY3lTY2hlbWFGZXRjaGVyLFxuICBTYXZlT3V0cHV0LFxuICBTaGFyZWRQb2xpY3lHcm91cFBvbGljeSxcbiAgdG9HZW5lcmljUG9saWNpZXMsXG4gIEdlbmVyaWNQb2xpY3ksXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93c01lbnVDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3dzLW1lbnUvZ2lvLXBzLWZsb3dzLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy9naW8tcHMtZmxvdy1kZXRhaWxzLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEZsb3dHcm91cFZNLCBGbG93Vk0gfSBmcm9tICcuL2dpby1wb2xpY3ktc3R1ZGlvLm1vZGVsJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb1NlcnZpY2UgfSBmcm9tICcuL2dpby1wb2xpY3ktc3R1ZGlvLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBHaW9JY29uc01vZHVsZSxcbiAgICBHaW9Qb2xpY3lTdHVkaW9GbG93c01lbnVDb21wb25lbnQsXG4gICAgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0NvbXBvbmVudCxcbiAgXSxcbiAgc2VsZWN0b3I6ICdnaW8tcG9saWN5LXN0dWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9naW8tcG9saWN5LXN0dWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dpby1wb2xpY3ktc3R1ZGlvLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIE1heSBiZSBzZXQgdG8gYHRydWVgIGlmIHRoZSBBUEkgaXMgbm90IG1hbmFnZWFibGUgZnJvbSB0aGUgVUkgKGUuZy4ga3ViZXJuZXRlcyBvcGVyYXRvciBBUElzKVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFQSSB0eXBlIChyZXF1aXJlZClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcGlUeXBlITogQXBpVHlwZTtcblxuICAvKipcbiAgICogRmxvdyBleGVjdXRpb24gY29uZmlnIChyZXF1aXJlZClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmbG93RXhlY3V0aW9uITogRmxvd0V4ZWN1dGlvbjtcblxuICAvKipcbiAgICogTGlzdCBvZiBlbnRyeXBvaW50cyB0byBkaXNwbGF5XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZW50cnlwb2ludHNJbmZvOiBDb25uZWN0b3JJbmZvW10gPSBbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBlbmRwb2ludHMgdG8gZGlzcGxheVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVuZHBvaW50c0luZm86IENvbm5lY3RvckluZm9bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbW1vbiBmbG93cyB0byBhZGQgdG8gY29tbW9uIGZsb3dzIGdyb3VwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29tbW9uRmxvd3M6IEZsb3dbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHBsYW5zIHdpdGggdGhlaXIgZmxvd3NcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFuczogUGxhbltdID0gW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcG9saWNpZXMgdXNhYmxlIGluIHRoZSBwb2xpY3kgc3R1ZGlvXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9saWNpZXM6IFBvbGljeVtdID0gW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgU2hhcmVkUG9saWN5R3JvdXBzIHVzYWJsZSBpbiB0aGUgc3R1ZGlvXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hhcmVkUG9saWN5R3JvdXBQb2xpY2llczogU2hhcmVkUG9saWN5R3JvdXBQb2xpY3lbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBXaGVuIGEgcG9saWN5IGlzIG5vdCBhdmFpbGFibGUgd2l0aCB0aGUgY3VycmVudCBsaWNlbnNlLFxuICAgKiB0aGlzIFVSTCBpcyB1c2VkIHRvIHJlZGlyZWN0IHRoZSB1c2VyIHRvIHRoZSB0cmlhbCBwYWdlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRyaWFsVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMb2FkaW5nIHN0YXRlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBQb2xpY3kgU3R1ZGlvIG5lZWRzIHRvIGZldGNoIHRoZSBwb2xpY3kgc2NoZW1hXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGhlIHBvbGljeSBzY2hlbWFcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb2xpY3lTY2hlbWFGZXRjaGVyOiBQb2xpY3lTY2hlbWFGZXRjaGVyID0gKCkgPT4gRU1QVFk7XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIFBvbGljeSBTdHVkaW8gbmVlZHMgdG8gZmV0Y2ggdGhlIHBvbGljeSBkb2N1bWVudGF0aW9uXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGhlIHBvbGljeSBkb2N1bWVudGF0aW9uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXI6IFBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyID0gKCkgPT4gRU1QVFk7XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGF0IGlzIG5lZWRlZCB0byBzYXZlLlxuICAgKiovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2F2ZU91dHB1dD4oKTtcblxuICBwdWJsaWMgY29ubmVjdG9yc1Rvb2x0aXAgPSAnJztcblxuICBwdWJsaWMgc2VsZWN0ZWRGbG93PzogRmxvd1ZNID0gdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmbG93c0dyb3VwczogRmxvd0dyb3VwVk1bXSA9IFtdO1xuXG4gIHB1YmxpYyBkaXNhYmxlU2F2ZUJ1dHRvbiA9IHRydWU7XG5cbiAgcHVibGljIHNhdmluZyA9IGZhbHNlO1xuXG4gIC8vIFVzZWQgdG8ga2VlcCB0cmFjayBvZiBpbml0aWFsIGZsb3dzIGdyb3VwcyB0byBrbm93IGlmIHRoZXJlIGFyZSBkZWxldGVkIGZsb3dzXG4gIHByaXZhdGUgaW5pdGlhbEZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdID0gW107XG5cbiAgcHJpdmF0ZSBoYXNGbG93RXhlY3V0aW9uQ2hhbmdlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgdW5TYXZpbmdCdXR0b25TdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBlbmFibGVTYXZpbmdUaW1lciA9IHRydWU7XG5cbiAgcHJvdGVjdGVkIGdlbmVyaWNQb2xpY2llczogR2VuZXJpY1BvbGljeVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwb2xpY3lTdHVkaW9TZXJ2aWNlOiBHaW9Qb2xpY3lTdHVkaW9TZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZW50cnlwb2ludHNJbmZvIHx8IGNoYW5nZXMuZW5kcG9pbnRzSW5mbykge1xuICAgICAgdGhpcy5jb25uZWN0b3JzVG9vbHRpcCA9IGBFbnRyeXBvaW50czogJHsodGhpcy5lbnRyeXBvaW50c0luZm8gPz8gW10pLm1hcChlID0+IGUubmFtZSkuam9pbignLCAnKX1cXG5FbmRwb2ludHM6ICR7KFxuICAgICAgICB0aGlzLmVuZHBvaW50c0luZm8gPz8gW11cbiAgICAgIClcbiAgICAgICAgLm1hcChlID0+IGUubmFtZSlcbiAgICAgICAgLmpvaW4oJywgJyl9YDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5jb21tb25GbG93cyB8fCBjaGFuZ2VzLnBsYW5zKSB7XG4gICAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgICAgIHRoaXMuZmxvd3NHcm91cHMgPSBnZXRGbG93c0dyb3Vwcyh0aGlzLmNvbW1vbkZsb3dzLCB0aGlzLnBsYW5zKTtcbiAgICAgIHRoaXMuaW5pdGlhbEZsb3dzR3JvdXBzID0gY2xvbmVEZWVwKHRoaXMuZmxvd3NHcm91cHMpO1xuXG4gICAgICAvLyBTZWxlY3QgZmlyc3QgZmxvdyBieSBkZWZhdWx0IG9uIGZpcnN0IGxvYWRcbiAgICAgIHRoaXMuc2VsZWN0ZWRGbG93ID0gZmxhdHRlbih0aGlzLmZsb3dzR3JvdXBzLm1hcChmbG93R3JvdXAgPT4gZmxvd0dyb3VwLmZsb3dzKSlbMF07XG5cbiAgICAgIC8vIFJlc2V0IHNhdmluZyBzdGF0ZSB3aGVuIGZsb3dzR3JvdXBzIGFyZSB1cGRhdGVkXG4gICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgdGhpcy51blNhdmluZ0J1dHRvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5wb2xpY3lTY2hlbWFGZXRjaGVyKSB7XG4gICAgICB0aGlzLnBvbGljeVN0dWRpb1NlcnZpY2Uuc2V0UG9saWN5U2NoZW1hRmV0Y2hlcih0aGlzLnBvbGljeVNjaGVtYUZldGNoZXIpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyKSB7XG4gICAgICB0aGlzLnBvbGljeVN0dWRpb1NlcnZpY2Uuc2V0UG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIodGhpcy5wb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcik7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMucG9saWNpZXMgfHwgY2hhbmdlcy5zaGFyZWRQb2xpY3lHcm91cFBvbGljaWVzKSB7XG4gICAgICB0aGlzLmluaXRHZW5lcmljUG9saWNpZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51blNhdmluZ0J1dHRvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZsb3dFeGVjdXRpb25DaGFuZ2UoZmxvd0V4ZWN1dGlvbjogRmxvd0V4ZWN1dGlvbik6IHZvaWQge1xuICAgIHRoaXMuaGFzRmxvd0V4ZWN1dGlvbkNoYW5nZWQgPSAhaXNFcXVhbCh0aGlzLmZsb3dFeGVjdXRpb24sIGZsb3dFeGVjdXRpb24pO1xuICAgIGlmICh0aGlzLmhhc0Zsb3dFeGVjdXRpb25DaGFuZ2VkKSB7XG4gICAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gICAgICB0aGlzLmZsb3dFeGVjdXRpb24gPSBmbG93RXhlY3V0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkZsb3dzR3JvdXBzQ2hhbmdlKGZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdKTogdm9pZCB7XG4gICAgdGhpcy5mbG93c0dyb3VwcyA9IGNsb25lRGVlcChmbG93c0dyb3Vwcyk7XG4gICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvdykge1xuICAgICAgdGhpcy5vblNlbGVjdEZsb3codGhpcy5zZWxlY3RlZEZsb3cuX2lkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZEZsb3dDaGFuZ2UoZmxvdzogRmxvd1ZNKTogdm9pZCB7XG4gICAgdGhpcy5mbG93c0dyb3VwcyA9IHRoaXMuZmxvd3NHcm91cHMubWFwKGZsb3dHcm91cCA9PiAoe1xuICAgICAgLi4uZmxvd0dyb3VwLFxuICAgICAgZmxvd3M6IGZsb3dHcm91cC5mbG93cy5tYXAoZiA9PiAoZi5faWQgPT09IGZsb3cuX2lkID8gZmxvdyA6IGYpKSxcbiAgICB9KSk7XG4gICAgdGhpcy5zZWxlY3RlZEZsb3cgPSBmbG93O1xuICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEZsb3coZmxvd0lkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmxvdyA9IGZsYXR0ZW4odGhpcy5mbG93c0dyb3Vwcy5tYXAoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5mbG93cykpLmZpbmQoZiA9PiBmLl9pZCA9PT0gZmxvd0lkKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlbGV0ZVNlbGVjdGVkRmxvdyhmbG93OiBGbG93Vk0pOiB2b2lkIHtcbiAgICAvLyBEZWZpbmUgbmV4dCBzZWxlY3RlZCBmbG93IGFuZCByZW1vdmUgZmxvdyBmcm9tIGZsb3dzR3JvdXBzXG4gICAgY29uc3QgYWxsRmxvd3NJZCA9IGZsYXR0ZW4odGhpcy5mbG93c0dyb3Vwcy5tYXAoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5mbG93cykpLm1hcChmID0+IGYuX2lkKTtcbiAgICBjb25zdCBmbG93VG9EZWxldGVJbmRleCA9IGFsbEZsb3dzSWQuaW5kZXhPZihmbG93Ll9pZCk7XG4gICAgY29uc3QgbmV4dFNlbGVjdGVkRmxvdyA9IGFsbEZsb3dzSWRbZmxvd1RvRGVsZXRlSW5kZXggKyAxXSA/PyBhbGxGbG93c0lkW2Zsb3dUb0RlbGV0ZUluZGV4IC0gMV07XG4gICAgdGhpcy5mbG93c0dyb3VwcyA9IHRoaXMuZmxvd3NHcm91cHMubWFwKGZsb3dHcm91cCA9PiAoe1xuICAgICAgLi4uZmxvd0dyb3VwLFxuICAgICAgZmxvd3M6IGZsb3dHcm91cC5mbG93cy5maWx0ZXIoZiA9PiBmLl9pZCAhPT0gZmxvdy5faWQpLFxuICAgIH0pKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRGbG93ID0gZmxhdHRlbih0aGlzLmZsb3dzR3JvdXBzLm1hcChmbG93R3JvdXAgPT4gZmxvd0dyb3VwLmZsb3dzKSkuZmluZChmID0+IGYuX2lkID09PSBuZXh0U2VsZWN0ZWRGbG93KTtcblxuICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvblNhdmUoKTogdm9pZCB7XG4gICAgLy8gRW1pdCBjb21tb24gZmxvd3Mgb25seSBpZiB0aGV5IGhhdmUgYmVlbiB1cGRhdGVkXG4gICAgY29uc3QgY29tbW9uRmxvd3MgPSBnZXRDb21tb25GbG93c091dHB1dCh0aGlzLmZsb3dzR3JvdXBzLCB0aGlzLmluaXRpYWxGbG93c0dyb3Vwcyk7XG5cbiAgICAvLyBFbWl0IHBsYW5zIG9ubHkgaWYgdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuICAgIGNvbnN0IHBsYW5zVG9VcGRhdGUgPSBnZXRQbGFuc0NoYW5nZU91dHB1dCh0aGlzLmZsb3dzR3JvdXBzLCB0aGlzLmluaXRpYWxGbG93c0dyb3Vwcyk7XG5cbiAgICB0aGlzLnNhdmUuZW1pdCh7XG4gICAgICAuLi4oY29tbW9uRmxvd3MgPyB7IGNvbW1vbkZsb3dzIH0gOiB7fSksXG4gICAgICAuLi4ocGxhbnNUb1VwZGF0ZSA/IHsgcGxhbnNUb1VwZGF0ZSB9IDoge30pLFxuICAgICAgLi4uKHRoaXMuaGFzRmxvd0V4ZWN1dGlvbkNoYW5nZWQgPyB7IGZsb3dFeGVjdXRpb246IHRoaXMuZmxvd0V4ZWN1dGlvbiB9IDoge30pLFxuICAgIH0pO1xuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcblxuICAgIHRoaXMudW5TYXZpbmdCdXR0b25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgaWYgKHRoaXMuZW5hYmxlU2F2aW5nVGltZXIpIHtcbiAgICAgIHRoaXMudW5TYXZpbmdCdXR0b25TdWJzY3JpcHRpb24gPSB0aW1lcig1MDAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0R2VuZXJpY1BvbGljaWVzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2VuZXJpY1BvbGljaWVzID0gdG9HZW5lcmljUG9saWNpZXModGhpcy5wb2xpY2llcyA/PyBbXSwgdGhpcy5zaGFyZWRQb2xpY3lHcm91cFBvbGljaWVzID8/IFtdKTtcbiAgfVxufVxuXG5jb25zdCBnZXRGbG93c0dyb3VwcyA9IChjb21tb25GbG93czogRmxvd1tdID0gW10sIHBsYW5zOiBQbGFuW10gPSBbXSk6IEZsb3dHcm91cFZNW10gPT4ge1xuICBjb25zdCBjb21tRmxvd3NHcm91cDogRmxvd0dyb3VwVk0gPSB7XG4gICAgX2lkOiAnZmxvd3NHcm91cF9jb21tb25GbG93JyxcbiAgICBuYW1lOiAnQ29tbW9uIGZsb3dzJyxcbiAgICBmbG93czogY29tbW9uRmxvd3MubWFwKGZsb3cgPT4gKHsgLi4uZmxvdywgX2lkOiB1bmlxdWVJZCgnZmxvd18nKSwgX2hhc0NoYW5nZWQ6IGZhbHNlIH0pKSxcbiAgfTtcblxuICByZXR1cm4gW1xuICAgIC4uLnBsYW5zLm1hcChwbGFuID0+ICh7XG4gICAgICBfaWQ6IHVuaXF1ZUlkKCdmbG93c0dyb3VwXycpLFxuICAgICAgX2ljb246ICdnaW86c2hpZWxkJyxcbiAgICAgIF9wbGFuSWQ6IHBsYW4uaWQsXG4gICAgICBuYW1lOiBwbGFuLm5hbWUsXG4gICAgICBmbG93czogcGxhbi5mbG93cy5tYXAoZmxvdyA9PiAoeyAuLi5mbG93LCBfaWQ6IHVuaXF1ZUlkKCdmbG93XycpLCBfaGFzQ2hhbmdlZDogZmFsc2UgfSkpLFxuICAgIH0pKSxcbiAgICBjb21tRmxvd3NHcm91cCxcbiAgXTtcbn07XG5cbmNvbnN0IGdldENvbW1vbkZsb3dzT3V0cHV0ID0gKGZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdLCBpbml0aWFsRmxvd3NHcm91cHM6IEZsb3dHcm91cFZNW10pOiBGbG93W10gfCBudWxsID0+IHtcbiAgY29uc3QgY29tbW9uRmxvd3NHcm91cCA9IGZsb3dzR3JvdXBzLmZpbmQoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5faWQgPT09ICdmbG93c0dyb3VwX2NvbW1vbkZsb3cnKTtcbiAgY29uc3QgaW5pdGlhbENvbW1vbkZsb3dzR3JvdXAgPSBpbml0aWFsRmxvd3NHcm91cHMuZmluZChmbG93R3JvdXAgPT4gZmxvd0dyb3VwLl9pZCA9PT0gJ2Zsb3dzR3JvdXBfY29tbW9uRmxvdycpO1xuICAvLyBDaGVjayBpZiBjb21tb24gZmxvd3MgaGF2ZSBiZWVuIHVwZGF0ZWRcbiAgY29uc3QgaGFzQ2hhbmdlZCA9IGNvbW1vbkZsb3dzR3JvdXA/LmZsb3dzLnNvbWUoZmxvdyA9PiBmbG93Ll9oYXNDaGFuZ2VkKTtcblxuICAvLyBDaGVjayBpZiBjb21tb24gZmxvd3MgaGF2ZSBiZWVuIGRlbGV0ZWRcbiAgY29uc3QgaGFzRGVsZXRlZEZsb3cgPSBkaWZmZXJlbmNlQnkoaW5pdGlhbENvbW1vbkZsb3dzR3JvdXA/LmZsb3dzID8/IFtdLCBjb21tb25GbG93c0dyb3VwPy5mbG93cyA/PyBbXSwgJ19pZCcpLmxlbmd0aCA+IDA7XG5cbiAgcmV0dXJuIGhhc0NoYW5nZWQgfHwgaGFzRGVsZXRlZEZsb3cgPyAoY29tbW9uRmxvd3NHcm91cD8uZmxvd3MgPz8gW10pLm1hcChmbG93ID0+IG9taXQoZmxvdywgJ19pZCcsICdfaGFzQ2hhbmdlZCcpKSA6IG51bGw7XG59O1xuXG5jb25zdCBnZXRQbGFuc0NoYW5nZU91dHB1dCA9IChmbG93c0dyb3VwczogRmxvd0dyb3VwVk1bXSwgaW5pdGlhbEZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdKTogUGxhbltdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IHBsYW5zR3JvdXBzID0gZmxvd3NHcm91cHMuZmlsdGVyKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuX2lkICE9PSAnZmxvd3NHcm91cF9jb21tb25GbG93Jyk7XG4gIGNvbnN0IGluaXRpYWxQbGFuc0dyb3VwcyA9IGluaXRpYWxGbG93c0dyb3Vwcy5maWx0ZXIoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5faWQgIT09ICdmbG93c0dyb3VwX2NvbW1vbkZsb3cnKTtcblxuICAvLyBHZXQgcGxhbnMgd2l0aCBjaGFuZ2VkIGZsb3dzXG4gIGNvbnN0IHBsYW5zR3JvdXBzV2l0aENoYW5nZWRGbG93cyA9IHBsYW5zR3JvdXBzLmZpbHRlcihwbGFuID0+IHBsYW4uZmxvd3Muc29tZShmbG93ID0+IGZsb3cuX2hhc0NoYW5nZWQpKTtcblxuICAvLyBHZXQgcGxhbnMgd2l0aCBkZWxldGVkIGZsb3dzXG4gIGNvbnN0IHBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93czogRmxvd0dyb3VwVk1bXSA9IFtdO1xuXG4gIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBkZWxldGVkIGZsb3dzIGluIGluaXRpYWwgaW5pdGlhbFBsYW5zR3JvdXBzXG4gIGluaXRpYWxQbGFuc0dyb3Vwcy5mb3JFYWNoKHBsYW4gPT4ge1xuICAgIGNvbnN0IHBsYW5Hcm91cFRvQ29tcGFyZSA9IHBsYW5zR3JvdXBzLmZpbmQocCA9PiBwLl9wbGFuSWQgPT09IHBsYW4uX3BsYW5JZCk7XG4gICAgaWYgKHBsYW5Hcm91cFRvQ29tcGFyZSAmJiBkaWZmZXJlbmNlQnkocGxhbi5mbG93cywgcGxhbkdyb3VwVG9Db21wYXJlPy5mbG93cyA/PyBbXSwgJ19pZCcpLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIElmIHRoZXJlIGFyZSBkZWxldGVkIGZsb3dzLCB3ZSBuZWVkIHRvIHJldHVybiB0aGUgY29tcGxldGUgcGxhbiB3aXRoIHRoZSBuZXcgZmxvd3NcbiAgICAgIHBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93cy5wdXNoKHBsYW5Hcm91cFRvQ29tcGFyZSk7XG4gICAgfVxuICB9KTtcblxuICAvLyBNZXJnZSBwbGFucyB3aXRoIGNoYW5nZWQgZmxvd3MgYW5kIHBsYW5zIHdpdGggZGVsZXRlZCBmbG93c1xuICBjb25zdCBwbGFuc1dpdGhDaGFuZ2VkRmxvd3NPdXRwdXQgPSB1bmlvbkJ5KFsuLi5wbGFuc0dyb3Vwc1dpdGhDaGFuZ2VkRmxvd3MsIC4uLnBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93c10sICdfcGxhbklkJykubWFwKHBsYW4gPT4gKHtcbiAgICAuLi5vbWl0KHBsYW4sICdfaWQnLCAnX2ljb24nLCAnX3BsYW5JZCcpLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uIC0tIHBsYW5JZCBpcyBhbHdheXMgZGVmaW5lZFxuICAgIGlkOiBwbGFuLl9wbGFuSWQhLFxuICAgIGZsb3dzOiBwbGFuLmZsb3dzLm1hcChmbG93ID0+IG9taXQoZmxvdywgJ19pZCcsICdfaGFzQ2hhbmdlZCcpKSxcbiAgfSkpO1xuXG4gIHJldHVybiBwbGFuc1dpdGhDaGFuZ2VkRmxvd3NPdXRwdXQubGVuZ3RoID4gMCA/IHBsYW5zV2l0aENoYW5nZWRGbG93c091dHB1dCA6IG51bGw7XG59O1xuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG5cbjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlcl9fYXBpSW5mb1wiICpuZ0lmPVwiIWxvYWRpbmc7IGVsc2UgbG9hZGluZ0FwaUluZm9cIj5cbiAgICA8c3BhbiBjbGFzcz1cImdpby1iYWRnZS1wcmltYXJ5XCI+XG4gICAgICB7eyBhcGlUeXBlIHwgdGl0bGVjYXNlIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImdpby1iYWRnZS1uZXV0cmFsXCJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbm5lY3RvcnNUb29sdGlwXCJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgIG1hdFRvb2x0aXBDbGFzcz1cImdpby1wb2xpY3ktc3R1ZGlvX190b29sdGlwLWxpbmUtYnJlYWtcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiAqbmdGb3I9XCJsZXQgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50c0luZm9cIiBjbGFzcz1cImdpby1sZWZ0XCIgW3N2Z0ljb25dPVwiZW50cnlwb2ludC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiAqbmdGb3I9XCJsZXQgZW5kcG9pbnQgb2YgZW5kcG9pbnRzSW5mb1wiIGNsYXNzPVwiZ2lvLWxlZnRcIiBbc3ZnSWNvbl09XCJlbmRwb2ludC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2xvYWRpbmdBcGlJbmZvPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2FwaUluZm9cIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZ2lvLWJhZGdlLXByaW1hcnlcIj4mbmJzcDs8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImdpby1iYWRnZS1uZXV0cmFsXCI+Jm5ic3A7PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2J0blwiPlxuICAgIDxidXR0b24gKm5nSWY9XCIhc2F2aW5nXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVTYXZlQnV0dG9uXCIgKGNsaWNrKT1cIm9uU2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJzYXZpbmdcIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgZGlzYWJsZWQ+U2F2aW5nLi4uPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19mbG93c01lbnVcIj5cbiAgICA8Z2lvLXBzLWZsb3dzLW1lbnVcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIFthcGlUeXBlXT1cImFwaVR5cGVcIlxuICAgICAgW2Zsb3dFeGVjdXRpb25dPVwiZmxvd0V4ZWN1dGlvblwiXG4gICAgICBbZmxvd3NHcm91cHNdPVwiZmxvd3NHcm91cHNcIlxuICAgICAgW2VudHJ5cG9pbnRzXT1cImVudHJ5cG9pbnRzSW5mb1wiXG4gICAgICBbZW50cnlwb2ludHNJbmZvXT1cImVudHJ5cG9pbnRzSW5mb1wiXG4gICAgICAoZmxvd3NHcm91cHNDaGFuZ2UpPVwib25GbG93c0dyb3Vwc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChmbG93RXhlY3V0aW9uQ2hhbmdlKT1cIm9uRmxvd0V4ZWN1dGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZEZsb3dJZF09XCJzZWxlY3RlZEZsb3c/Ll9pZFwiXG4gICAgICAoc2VsZWN0ZWRGbG93SWRDaGFuZ2UpPVwib25TZWxlY3RGbG93KCRldmVudClcIlxuICAgICAgKGRlbGV0ZUZsb3cpPVwib25EZWxldGVTZWxlY3RlZEZsb3coJGV2ZW50KVwiXG4gICAgPjwvZ2lvLXBzLWZsb3dzLW1lbnU+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19mbG93RGV0YWlsc1wiPlxuICAgIDxnaW8tcHMtZmxvdy1kZXRhaWxzXG4gICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICBbYXBpVHlwZV09XCJhcGlUeXBlXCJcbiAgICAgIFtmbG93XT1cInNlbGVjdGVkRmxvd1wiXG4gICAgICBbZW50cnlwb2ludHNJbmZvXT1cImVudHJ5cG9pbnRzSW5mb1wiXG4gICAgICBbZW5kcG9pbnRzSW5mb109XCJlbmRwb2ludHNJbmZvXCJcbiAgICAgIFtwb2xpY2llc109XCJwb2xpY2llc1wiXG4gICAgICBbZ2VuZXJpY1BvbGljaWVzXT1cImdlbmVyaWNQb2xpY2llc1wiXG4gICAgICBbdHJpYWxVcmxdPVwidHJpYWxVcmxcIlxuICAgICAgKGZsb3dDaGFuZ2UpPVwib25TZWxlY3RlZEZsb3dDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoZGVsZXRlRmxvdyk9XCJvbkRlbGV0ZVNlbGVjdGVkRmxvdygkZXZlbnQpXCJcbiAgICA+PC9naW8tcHMtZmxvdy1kZXRhaWxzPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -62,10 +62,10 @@ export class GioPolicyStudioService {
62
62
  this.documentationsCache[policy.id] = new BehaviorSubject(documentation);
63
63
  }));
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyStudioService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
66
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyStudioService, providedIn: 'root' }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyStudioService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
66
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyStudioService, providedIn: 'root' }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GioPolicyStudioService, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GioPolicyStudioService, decorators: [{
69
69
  type: Injectable,
70
70
  args: [{
71
71
  providedIn: 'root',
@@ -22,6 +22,10 @@ export class GioPolicyStudioDetailsHarness extends ComponentHarness {
22
22
  const hostText = await (await this.host()).text();
23
23
  return hostText.includes('No flows yet');
24
24
  }
25
+ async isDisabledFlow() {
26
+ const headerLabel = await this.locatorFor('.header__label')();
27
+ return await headerLabel.text().then(text => text.includes('Disabled'));
28
+ }
25
29
  async getFlowInfos() {
26
30
  return await (await this.locatorFor(GioPolicyStudioDetailsInfoBarHarness)()).getInfos();
27
31
  }
@@ -44,5 +48,9 @@ export class GioPolicyStudioDetailsHarness extends ComponentHarness {
44
48
  const deleteFlowBtn = await this.locatorFor(MatButtonHarness.with({ selector: '.header__configBtn__delete' }))();
45
49
  await deleteFlowBtn.click();
46
50
  }
51
+ async clickEnableDisableFlowBtn() {
52
+ const enableDisableFlowBtn = await this.locatorFor(MatButtonHarness.with({ selector: '.header__configBtn__enableDisable' }))();
53
+ await enableDisableFlowBtn.click();
54
+ }
47
55
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMvZ2lvLXBzLWZsb3ctZGV0YWlscy5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFckgsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGdCQUFnQjthQUNuRCxpQkFBWSxHQUFHLHFCQUFxQixDQUFDO0lBRTVDLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEQsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsb0NBQW9DLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUYsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBZTtRQUNwQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3RyxNQUFNLGVBQWUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2RCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakgsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRCxPQUFPLGVBQWUsSUFBSSxpQkFBaUIsQ0FBQztJQUM5QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0csTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pILE1BQU0sYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0QnV0dG9uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi90ZXN0aW5nJztcblxuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0luZm9CYXJIYXJuZXNzIH0gZnJvbSAnLi4vZmxvdy1kZXRhaWxzLWluZm8tYmFyL2dpby1wcy1mbG93LWRldGFpbHMtaW5mby1iYXIuaGFybmVzcyc7XG5cbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdnaW8tcHMtZmxvdy1kZXRhaWxzJztcblxuICBwdWJsaWMgYXN5bmMgaXNEaXNwbGF5RW1wdHlGbG93KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhvc3RUZXh0ID0gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KCk7XG4gICAgcmV0dXJuIGhvc3RUZXh0LmluY2x1ZGVzKCdObyBmbG93cyB5ZXQnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRGbG93SW5mb3MoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCAoc3RyaW5nIHwgbnVsbClbXT4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSW5mb0Jhckhhcm5lc3MpKCkpLmdldEluZm9zKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbWF0Y2hUZXh0KG1hdGNoZXI6IFJlZ0V4cCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhvc3RUZXh0ID0gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KCk7XG4gICAgcmV0dXJuIG1hdGNoZXIudGVzdChob3N0VGV4dCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaXNSZWFkT25seSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBlZGl0Rmxvd0J0biA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5oZWFkZXJfX2NvbmZpZ0J0bl9fZWRpdCcgfSkpKCk7XG4gICAgY29uc3QgZWRpdEJ0bkRpc2FibGVkID0gYXdhaXQgZWRpdEZsb3dCdG4uaXNEaXNhYmxlZCgpO1xuICAgIGNvbnN0IGRlbGV0ZUZsb3dCdG4gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaGVhZGVyX19jb25maWdCdG5fX2RlbGV0ZScgfSkpKCk7XG4gICAgY29uc3QgZGVsZXRlQnRuRGlzYWJsZWQgPSBhd2FpdCBkZWxldGVGbG93QnRuLmlzRGlzYWJsZWQoKTtcbiAgICByZXR1cm4gZWRpdEJ0bkRpc2FibGVkICYmIGRlbGV0ZUJ0bkRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrRWRpdEZsb3dCdG4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZWRpdEZsb3dCdG4gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaGVhZGVyX19jb25maWdCdG5fX2VkaXQnIH0pKSgpO1xuICAgIGF3YWl0IGVkaXRGbG93QnRuLmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2xpY2tEZWxldGVGbG93QnRuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRlbGV0ZUZsb3dCdG4gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaGVhZGVyX19jb25maWdCdG5fX2RlbGV0ZScgfSkpKCk7XG4gICAgYXdhaXQgZGVsZXRlRmxvd0J0bi5jbGljaygpO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMvZ2lvLXBzLWZsb3ctZGV0YWlscy5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFckgsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGdCQUFnQjthQUNuRCxpQkFBWSxHQUFHLHFCQUFxQixDQUFDO0lBRTVDLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEQsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1FBQzlELE9BQU8sTUFBTSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsb0NBQW9DLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUYsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBZTtRQUNwQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3RyxNQUFNLGVBQWUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2RCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakgsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzRCxPQUFPLGVBQWUsSUFBSSxpQkFBaUIsQ0FBQztJQUM5QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0csTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pILE1BQU0sYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCO1FBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9ILE1BQU0sb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25IYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSW5mb0Jhckhhcm5lc3MgfSBmcm9tICcuLi9mbG93LWRldGFpbHMtaW5mby1iYXIvZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5oYXJuZXNzJztcblxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0RldGFpbHNIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LWRldGFpbHMnO1xuXG4gIHB1YmxpYyBhc3luYyBpc0Rpc3BsYXlFbXB0eUZsb3coKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaG9zdFRleHQgPSBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgICByZXR1cm4gaG9zdFRleHQuaW5jbHVkZXMoJ05vIGZsb3dzIHlldCcpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWRGbG93KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhlYWRlckxhYmVsID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCcuaGVhZGVyX19sYWJlbCcpKCk7XG4gICAgcmV0dXJuIGF3YWl0IGhlYWRlckxhYmVsLnRleHQoKS50aGVuKHRleHQgPT4gdGV4dC5pbmNsdWRlcygnRGlzYWJsZWQnKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Rmxvd0luZm9zKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgKHN0cmluZyB8IG51bGwpW10+PiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0luZm9CYXJIYXJuZXNzKSgpKS5nZXRJbmZvcygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG1hdGNoVGV4dChtYXRjaGVyOiBSZWdFeHApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBob3N0VGV4dCA9IGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpO1xuICAgIHJldHVybiBtYXRjaGVyLnRlc3QoaG9zdFRleHQpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGlzUmVhZE9ubHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZWRpdEZsb3dCdG4gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaGVhZGVyX19jb25maWdCdG5fX2VkaXQnIH0pKSgpO1xuICAgIGNvbnN0IGVkaXRCdG5EaXNhYmxlZCA9IGF3YWl0IGVkaXRGbG93QnRuLmlzRGlzYWJsZWQoKTtcbiAgICBjb25zdCBkZWxldGVGbG93QnRuID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmhlYWRlcl9fY29uZmlnQnRuX19kZWxldGUnIH0pKSgpO1xuICAgIGNvbnN0IGRlbGV0ZUJ0bkRpc2FibGVkID0gYXdhaXQgZGVsZXRlRmxvd0J0bi5pc0Rpc2FibGVkKCk7XG4gICAgcmV0dXJuIGVkaXRCdG5EaXNhYmxlZCAmJiBkZWxldGVCdG5EaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGlja0VkaXRGbG93QnRuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGVkaXRGbG93QnRuID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmhlYWRlcl9fY29uZmlnQnRuX19lZGl0JyB9KSkoKTtcbiAgICBhd2FpdCBlZGl0Rmxvd0J0bi5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrRGVsZXRlRmxvd0J0bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkZWxldGVGbG93QnRuID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmhlYWRlcl9fY29uZmlnQnRuX19kZWxldGUnIH0pKSgpO1xuICAgIGF3YWl0IGRlbGV0ZUZsb3dCdG4uY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGlja0VuYWJsZURpc2FibGVGbG93QnRuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGVuYWJsZURpc2FibGVGbG93QnRuID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmhlYWRlcl9fY29uZmlnQnRuX19lbmFibGVEaXNhYmxlJyB9KSkoKTtcbiAgICBhd2FpdCBlbmFibGVEaXNhYmxlRmxvd0J0bi5jbGljaygpO1xuICB9XG59XG4iXX0=
@@ -21,20 +21,20 @@ export class GioPolicyStudioFlowsMenuHarness extends ComponentHarness {
21
21
  constructor() {
22
22
  super(...arguments);
23
23
  this.locateFlowsGroups = this.locatorForAll(DivHarness.with({ selector: '.list__flowsGroup' }));
24
- this.locateFlowByText = (text) => this.locatorForOptional(DivHarness.with({ selector: '.list__flowsGroup__flow', text }));
24
+ this.locateFlowByText = (text) => this.locatorForOptional(DivHarness.with({ selector: '.list__flowsGroup__flows__flow', text }));
25
25
  this.locateGroupByText = (text) => this.locatorForOptional(DivHarness.with({ selector: '.list__flowsGroup', text }));
26
- this.locateSelectedFlow = this.locatorForOptional(DivHarness.with({ selector: '.list__flowsGroup__flow.selected' }));
26
+ this.locateSelectedFlow = this.locatorForOptional(DivHarness.with({ selector: '.list__flowsGroup__flows__flow.selected' }));
27
27
  }
28
28
  static { this.hostSelector = 'gio-ps-flows-menu'; }
29
29
  async getAllFlowsGroups() {
30
30
  const flowsGroups = await this.locateFlowsGroups();
31
31
  return parallel(() => flowsGroups.map(async (flowsGroup) => {
32
32
  const flowsGroupName = await flowsGroup.getText({ childSelector: '.list__flowsGroup__header__label' });
33
- const flowsDiv = await flowsGroup.childLocatorForAll(DivHarness.with({ selector: '.list__flowsGroup__flow' }))();
33
+ const flowsDiv = await flowsGroup.childLocatorForAll(DivHarness.with({ selector: '.list__flowsGroup__flows__flow' }))();
34
34
  const flowsInfos = parallel(() => flowsDiv.map(async (flowDiv) => {
35
35
  return {
36
- name: await flowDiv.getText({ childSelector: '.list__flowsGroup__flow__name' }),
37
- infos: await flowDiv.getText({ childSelector: '.list__flowsGroup__flow__infos' }),
36
+ name: await flowDiv.getText({ childSelector: '.list__flowsGroup__flows__flow__left__name' }),
37
+ infos: await flowDiv.getText({ childSelector: '.list__flowsGroup__flows__flow__left__infos' }),
38
38
  isSelected: await flowDiv.host().then(host => host.hasClass('selected')),
39
39
  hasCondition: !!(await flowDiv.childLocatorFor(MatIconHarness.with({ name: 'gio:if' }))),
40
40
  };
@@ -47,7 +47,7 @@ export class GioPolicyStudioFlowsMenuHarness extends ComponentHarness {
47
47
  }
48
48
  async getSelectedFlow() {
49
49
  const selectedFlow = await this.locateSelectedFlow();
50
- return selectedFlow ? { name: await selectedFlow.getText({ childSelector: '.list__flowsGroup__flow__name' }) } : null;
50
+ return selectedFlow ? { name: await selectedFlow.getText({ childSelector: '.list__flowsGroup__flows__flow__left__name' }) } : null;
51
51
  }
52
52
  /**
53
53
  * Select a flow by it's text content
@@ -77,4 +77,4 @@ export class GioPolicyStudioFlowsMenuHarness extends ComponentHarness {
77
77
  await (await this.locatorFor(MatButtonHarness.with({ selector: '.header__configBtn_edit' }))())?.click();
78
78
  }
79
79
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3dzLW1lbnUuaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvd3MtbWVudS9naW8tcHMtZmxvd3MtbWVudS5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFcEUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGdCQUFnQjtJQUFyRTs7UUFHVSxzQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0YscUJBQWdCLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUUsQ0FDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRW5GLHNCQUFpQixHQUFHLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhJLHVCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxD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SSxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTNILE9BQU8sTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLEtBQUssQ0FBQyx1QkFBdUI7UUFDbEMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzNHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzLCBwYXJhbGxlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRJY29uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24vdGVzdGluZyc7XG5pbXBvcnQgeyBEaXZIYXJuZXNzIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3Rlc3RpbmcnO1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRmxvd3NNZW51SGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdnaW8tcHMtZmxvd3MtbWVudSc7XG5cbiAgcHJpdmF0ZSBsb2NhdGVGbG93c0dyb3VwcyA9IHRoaXMubG9jYXRvckZvckFsbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5saXN0X19mbG93c0dyb3VwJyB9KSk7XG4gIHByaXZhdGUgbG9jYXRlRmxvd0J5VGV4dCA9ICh0ZXh0OiBzdHJpbmcgfCBSZWdFeHApID0+XG4gICAgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcubGlzdF9fZmxvd3NHcm91cF9fZmxvdycsIHRleHQgfSkpO1xuXG4gIHB1YmxpYyBsb2NhdGVHcm91cEJ5VGV4dCA9ICh0ZXh0OiBzdHJpbmcgfCBSZWdFeHApID0+IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKERpdkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmxpc3RfX2Zsb3dzR3JvdXAnLCB0ZXh0IH0pKTtcblxuICBwcml2YXRlIGxvY2F0ZVNlbGVjdGVkRmxvdyA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKERpdkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmxpc3RfX2Zsb3dzR3JvdXBfX2Zsb3cuc2VsZWN0ZWQnIH0pKTtcblxuICBwdWJsaWMgYXN5bmMgZ2V0QWxsRmxvd3NHcm91cHMoKTogUHJvbWlzZTxcbiAgICB7XG4gICAgICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgZmxvd3M6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgICAgaW5mb3M6IHN0cmluZyB8IG51bGw7XG4gICAgICAgIGhhc0NvbmRpdGlvbjogYm9vbGVhbjtcbiAgICAgIH1bXTtcbiAgICB9W11cbiAgPiB7XG4gICAgY29uc3QgZmxvd3NHcm91cHMgPSBhd2FpdCB0aGlzLmxvY2F0ZUZsb3dzR3JvdXBzKCk7XG5cbiAgICByZXR1cm4gcGFyYWxsZWwoKCkgPT5cbiAgICAgIGZsb3dzR3JvdXBzLm1hcChhc3luYyBmbG93c0dyb3VwID0+IHtcbiAgICAgICAgY29uc3QgZmxvd3NHcm91cE5hbWUgPSBhd2FpdCBmbG93c0dyb3VwLmdldFRleHQoeyBjaGlsZFNlbGVjdG9yOiAnLmxpc3RfX2Zsb3dzR3JvdXBfX2hlYWRlcl9fbGFiZWwnIH0pO1xuXG4gICAgICAgIGNvbnN0IGZsb3dzRGl2ID0gYXdhaXQgZmxvd3NHcm91cC5jaGlsZExvY2F0b3JGb3JBbGwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcubGlzdF9fZmxvd3NHcm91cF9fZmxvdycgfSkpKCk7XG5cbiAgICAgICAgY29uc3QgZmxvd3NJbmZvcyA9IHBhcmFsbGVsKCgpID0+XG4gICAgICAgICAgZmxvd3NEaXYubWFwKGFzeW5jIGZsb3dEaXYgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgbmFtZTogYXdhaXQgZmxvd0Rpdi5nZXRUZXh0KHsgY2hpbGRTZWxlY3RvcjogJy5saXN0X19mbG93c0dyb3VwX19mbG93X19uYW1lJyB9KSxcbiAgICAgICAgICAgICAgaW5mb3M6IGF3YWl0IGZsb3dEaXYuZ2V0VGV4dCh7IGNoaWxkU2VsZWN0b3I6ICcubGlzdF9fZmxvd3NHcm91cF9fZmxvd19faW5mb3MnIH0pLFxuICAgICAgICAgICAgICBpc1NlbGVjdGVkOiBhd2FpdCBmbG93RGl2Lmhvc3QoKS50aGVuKGhvc3QgPT4gaG9zdC5oYXNDbGFzcygnc2VsZWN0ZWQnKSksXG4gICAgICAgICAgICAgIGhhc0NvbmRpdGlvbjogISEoYXdhaXQgZmxvd0Rpdi5jaGlsZExvY2F0b3JGb3IoTWF0SWNvbkhhcm5lc3Mud2l0aCh7IG5hbWU6ICdnaW86aWYnIH0pKSksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogZmxvd3NHcm91cE5hbWUsXG4gICAgICAgICAgZmxvd3M6IGF3YWl0IGZsb3dzSW5mb3MsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkRmxvdygpOiBQcm9taXNlPHsgbmFtZTogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbD4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRmxvdyA9IGF3YWl0IHRoaXMubG9jYXRlU2VsZWN0ZWRGbG93KCk7XG5cbiAgICByZXR1cm4gc2VsZWN0ZWRGbG93ID8geyBuYW1lOiBhd2FpdCBzZWxlY3RlZEZsb3cuZ2V0VGV4dCh7IGNoaWxkU2VsZWN0b3I6ICcubGlzdF9fZmxvd3NHcm91cF9fZmxvd19fbmFtZScgfSkgfSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgZmxvdyBieSBpdCdzIHRleHQgY29udGVudFxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdEZsb3coZmxvd1RleHQ6IHN0cmluZyB8IFJlZ0V4cCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZsb3dzR3JvdXBzID0gYXdhaXQgdGhpcy5sb2NhdGVGbG93QnlUZXh0KGZsb3dUZXh0KSgpO1xuXG4gICAgaWYgKGZsb3dzR3JvdXBzKSB7XG4gICAgICBhd2FpdCBmbG93c0dyb3Vwcy5ob3N0KCkudGhlbihob3N0ID0+IGhvc3QuY2xpY2soKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGFkZEZsb3coZ3JvdXBOYW1lOiBzdHJpbmcgfCBSZWdFeHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmbG93c0dyb3VwcyA9IGF3YWl0IHRoaXMubG9jYXRlR3JvdXBCeVRleHQoZ3JvdXBOYW1lKSgpO1xuXG4gICAgaWYgKGZsb3dzR3JvdXBzKSB7XG4gICAgICBhd2FpdCAoYXdhaXQgZmxvd3NHcm91cHMuY2hpbGRMb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IGFuY2VzdG9yOiAnLmxpc3RfX2Zsb3dzR3JvdXBfX2hlYWRlcl9fYWRkQnRuJyB9KSkoKSkuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaXNSZWFkT25seSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmbG93c0dyb3VwcyA9IGF3YWl0IHRoaXMubG9jYXRlRmxvd3NHcm91cHMoKTtcbiAgICBjb25zdCBmbG93R3JvdXAgPSBmbG93c0dyb3Vwcy5wb3AoKTtcbiAgICBpZiAoIWZsb3dHcm91cCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBIGZsb3cgZ3JvdXAgaXMgcmVxdWlyZWQgdG8gdGVzdCB0aGF0IG1lbnUgaXMgcmVhZG9ubHknKTtcbiAgICB9XG4gICAgY29uc3QgYWRkQnRuID0gYXdhaXQgZmxvd0dyb3VwLmNoaWxkTG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogJy5saXN0X19mbG93c0dyb3VwX19oZWFkZXJfX2FkZEJ0bicgfSkpKCk7XG5cbiAgICByZXR1cm4gYXdhaXQgYWRkQnRuLmlzRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvcGVuRmxvd0V4ZWN1dGlvbkNvbmZpZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmhlYWRlcl9fY29uZmlnQnRuX2VkaXQnIH0pKSgpKT8uY2xpY2soKTtcbiAgfVxufVxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3dzLW1lbnUuaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvd3MtbWVudS9naW8tcHMtZmxvd3MtbWVudS5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFcEUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGdCQUFnQjtJQUFyRTs7UUFHVSxzQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0YscUJBQWdCLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUUsQ0FDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0NBQWdDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFGLHNCQUFpQixHQUFHLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhJLHVCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxD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SSxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTNILE9BQU8sTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLEtBQUssQ0FBQyx1QkFBdUI7UUFDbEMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzNHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzLCBwYXJhbGxlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRJY29uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24vdGVzdGluZyc7XG5pbXBvcnQgeyBEaXZIYXJuZXNzIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3Rlc3RpbmcnO1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRmxvd3NNZW51SGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdnaW8tcHMtZmxvd3MtbWVudSc7XG5cbiAgcHJpdmF0ZSBsb2NhdGVGbG93c0dyb3VwcyA9IHRoaXMubG9jYXRvckZvckFsbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5saXN0X19mbG93c0dyb3VwJyB9KSk7XG4gIHByaXZhdGUgbG9jYXRlRmxvd0J5VGV4dCA9ICh0ZXh0OiBzdHJpbmcgfCBSZWdFeHApID0+XG4gICAgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcubGlzdF9fZmxvd3NHcm91cF9fZmxvd3NfX2Zsb3cnLCB0ZXh0IH0pKTtcblxuICBwdWJsaWMgbG9jYXRlR3JvdXBCeVRleHQgPSAodGV4dDogc3RyaW5nIHwgUmVnRXhwKSA9PiB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5saXN0X19mbG93c0dyb3VwJywgdGV4dCB9KSk7XG5cbiAgcHJpdmF0ZSBsb2NhdGVTZWxlY3RlZEZsb3cgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5saXN0X19mbG93c0dyb3VwX19mbG93c19fZmxvdy5zZWxlY3RlZCcgfSkpO1xuXG4gIHB1YmxpYyBhc3luYyBnZXRBbGxGbG93c0dyb3VwcygpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgICBmbG93czoge1xuICAgICAgICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICBpbmZvczogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgaGFzQ29uZGl0aW9uOiBib29sZWFuO1xuICAgICAgfVtdO1xuICAgIH1bXVxuICA+IHtcbiAgICBjb25zdCBmbG93c0dyb3VwcyA9IGF3YWl0IHRoaXMubG9jYXRlRmxvd3NHcm91cHMoKTtcblxuICAgIHJldHVybiBwYXJhbGxlbCgoKSA9PlxuICAgICAgZmxvd3NHcm91cHMubWFwKGFzeW5jIGZsb3dzR3JvdXAgPT4ge1xuICAgICAgICBjb25zdCBmbG93c0dyb3VwTmFtZSA9IGF3YWl0IGZsb3dzR3JvdXAuZ2V0VGV4dCh7IGNoaWxkU2VsZWN0b3I6ICcubGlzdF9fZmxvd3NHcm91cF9faGVhZGVyX19sYWJlbCcgfSk7XG5cbiAgICAgICAgY29uc3QgZmxvd3NEaXYgPSBhd2FpdCBmbG93c0dyb3VwLmNoaWxkTG9jYXRvckZvckFsbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5saXN0X19mbG93c0dyb3VwX19mbG93c19fZmxvdycgfSkpKCk7XG5cbiAgICAgICAgY29uc3QgZmxvd3NJbmZvcyA9IHBhcmFsbGVsKCgpID0+XG4gICAgICAgICAgZmxvd3NEaXYubWFwKGFzeW5jIGZsb3dEaXYgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgbmFtZTogYXdhaXQgZmxvd0Rpdi5nZXRUZXh0KHsgY2hpbGRTZWxlY3RvcjogJy5saXN0X19mbG93c0dyb3VwX19mbG93c19fZmxvd19fbGVmdF9fbmFtZScgfSksXG4gICAgICAgICAgICAgIGluZm9zOiBhd2FpdCBmbG93RGl2LmdldFRleHQoeyBjaGlsZFNlbGVjdG9yOiAnLmxpc3RfX2Zsb3dzR3JvdXBfX2Zsb3dzX19mbG93X19sZWZ0X19pbmZvcycgfSksXG4gICAgICAgICAgICAgIGlzU2VsZWN0ZWQ6IGF3YWl0IGZsb3dEaXYuaG9zdCgpLnRoZW4oaG9zdCA9PiBob3N0Lmhhc0NsYXNzKCdzZWxlY3RlZCcpKSxcbiAgICAgICAgICAgICAgaGFzQ29uZGl0aW9uOiAhIShhd2FpdCBmbG93RGl2LmNoaWxkTG9jYXRvckZvcihNYXRJY29uSGFybmVzcy53aXRoKHsgbmFtZTogJ2dpbzppZicgfSkpKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiBmbG93c0dyb3VwTmFtZSxcbiAgICAgICAgICBmbG93czogYXdhaXQgZmxvd3NJbmZvcyxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0ZWRGbG93KCk6IFByb21pc2U8eyBuYW1lOiBzdHJpbmcgfCBudWxsIH0gfCBudWxsPiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRGbG93ID0gYXdhaXQgdGhpcy5sb2NhdGVTZWxlY3RlZEZsb3coKTtcblxuICAgIHJldHVybiBzZWxlY3RlZEZsb3cgPyB7IG5hbWU6IGF3YWl0IHNlbGVjdGVkRmxvdy5nZXRUZXh0KHsgY2hpbGRTZWxlY3RvcjogJy5saXN0X19mbG93c0dyb3VwX19mbG93c19fZmxvd19fbGVmdF9fbmFtZScgfSkgfSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgZmxvdyBieSBpdCdzIHRleHQgY29udGVudFxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdEZsb3coZmxvd1RleHQ6IHN0cmluZyB8IFJlZ0V4cCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZsb3dzR3JvdXBzID0gYXdhaXQgdGhpcy5sb2NhdGVGbG93QnlUZXh0KGZsb3dUZXh0KSgpO1xuXG4gICAgaWYgKGZsb3dzR3JvdXBzKSB7XG4gICAgICBhd2FpdCBmbG93c0dyb3Vwcy5ob3N0KCkudGhlbihob3N0ID0+IGhvc3QuY2xpY2soKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGFkZEZsb3coZ3JvdXBOYW1lOiBzdHJpbmcgfCBSZWdFeHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmbG93c0dyb3VwcyA9IGF3YWl0IHRoaXMubG9jYXRlR3JvdXBCeVRleHQoZ3JvdXBOYW1lKSgpO1xuXG4gICAgaWYgKGZsb3dzR3JvdXBzKSB7XG4gICAgICBhd2FpdCAoYXdhaXQgZmxvd3NHcm91cHMuY2hpbGRMb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IGFuY2VzdG9yOiAnLmxpc3RfX2Zsb3dzR3JvdXBfX2hlYWRlcl9fYWRkQnRuJyB9KSkoKSkuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaXNSZWFkT25seSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmbG93c0dyb3VwcyA9IGF3YWl0IHRoaXMubG9jYXRlRmxvd3NHcm91cHMoKTtcbiAgICBjb25zdCBmbG93R3JvdXAgPSBmbG93c0dyb3Vwcy5wb3AoKTtcbiAgICBpZiAoIWZsb3dHcm91cCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBIGZsb3cgZ3JvdXAgaXMgcmVxdWlyZWQgdG8gdGVzdCB0aGF0IG1lbnUgaXMgcmVhZG9ubHknKTtcbiAgICB9XG4gICAgY29uc3QgYWRkQnRuID0gYXdhaXQgZmxvd0dyb3VwLmNoaWxkTG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogJy5saXN0X19mbG93c0dyb3VwX19oZWFkZXJfX2FkZEJ0bicgfSkpKCk7XG5cbiAgICByZXR1cm4gYXdhaXQgYWRkQnRuLmlzRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvcGVuRmxvd0V4ZWN1dGlvbkNvbmZpZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmhlYWRlcl9fY29uZmlnQnRuX2VkaXQnIH0pKSgpKT8uY2xpY2soKTtcbiAgfVxufVxuIl19
@@ -73,6 +73,13 @@ export class GioPolicyStudioHarness extends ComponentHarness {
73
73
  (await this.menuHarness()).selectFlow(new RegExp(flowName, 'i'));
74
74
  await (await this.detailsHarness()).clickDeleteFlowBtn();
75
75
  }
76
+ /**
77
+ * Enable or disable a flow
78
+ */
79
+ async enableDisableFlow(flowName) {
80
+ (await this.menuHarness()).selectFlow(new RegExp(flowName, 'i'));
81
+ await (await this.detailsHarness()).clickEnableDisableFlowBtn();
82
+ }
76
83
  /**
77
84
  * Select a flow in the menu
78
85
  *
@@ -171,4 +178,4 @@ export class GioPolicyStudioHarness extends ComponentHarness {
171
178
  await flowExecutionDialog.save();
172
179
  }
173
180
  }
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL3BvbGljeS1zdHVkaW8vZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLDZGQUE2RixDQUFDO0FBQ3hKLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGlHQUFpRyxDQUFDO0FBQzlKLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ25KLE9BQU8sRUFBRSxrQ0FBa0MsRUFBYSxNQUFNLG9FQUFvRSxDQUFDO0FBRW5JLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBZ0I7SUFBNUQ7O1FBR1UsZ0JBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFL0QsbUJBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFaEUsaUJBQVksR0FBRyxDQUFDLFNBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENB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RSxDQUFDO1lBQy9CLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUMsVUFBVSxDQUFDLHlDQUF5QyxDQUFDLEVBQUUsQ0FBQztZQUUxSCxNQUFNLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDO2dCQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJO2dCQUN4QixZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVk7Z0JBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTztnQkFDOUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFNBQVM7YUFDeEMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsc0ZBQXNGLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLGFBQTRCO1FBQzlELE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFFM0QsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUFFLENBQUM7UUFDaEksTUFBTSxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRCxNQUFNLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0QnV0dG9uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi90ZXN0aW5nJztcbmltcG9ydCB7IE1hdFRhYkdyb3VwSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMvdGVzdGluZyc7XG5cbmltcG9ydCB7IENoYW5uZWxTZWxlY3RvciwgQ29uZGl0aW9uU2VsZWN0b3IsIEZsb3csIEZsb3dFeGVjdXRpb24sIEh0dHBTZWxlY3RvciB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93c01lbnVIYXJuZXNzIH0gZnJvbSAnLi4vY29tcG9uZW50cy9mbG93cy1tZW51L2dpby1wcy1mbG93cy1tZW51Lmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy9naW8tcHMtZmxvdy1kZXRhaWxzLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZm9ybS1kaWFsb2cvZmxvdy1wcm94eS1mb3JtLWRpYWxvZy9naW8tcHMtZmxvdy1wcm94eS1mb3JtLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dNZXNzYWdlRm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZm9ybS1kaWFsb2cvZmxvdy1tZXNzYWdlLWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LW1lc3NhZ2UtZm9ybS1kaWFsb2cuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93RXhlY3V0aW9uRm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LWV4ZWN1dGlvbi1mb3JtLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3MsIFBoYXNlVHlwZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuaGFybmVzcyc7XG5cbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9IYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wb2xpY3ktc3R1ZGlvJztcblxuICBwcml2YXRlIG1lbnVIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0Zsb3dzTWVudUhhcm5lc3MpO1xuXG4gIHByaXZhdGUgZGV0YWlsc0hhcm5lc3MgPSB0aGlzLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0hhcm5lc3MpO1xuXG4gIHByaXZhdGUgcGhhc2VIYXJuZXNzID0gKHBoYXNlVHlwZTogUGhhc2VUeXBlKSA9PiB0aGlzLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcy53aXRoKHsgdHlwZTogcGhhc2VUeXBlIH0pKSgpO1xuXG4gIHB1YmxpYyBhc3luYyBpc1JlYWRPbmx5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG1lbnUgPSBhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCk7XG4gICAgY29uc3QgcmVhZE9ubHlNZW51ID0gYXdhaXQgbWVudS5pc1JlYWRPbmx5KCk7XG5cbiAgICBhd2FpdCB0aGlzLnNlbGVjdEZsb3dJbk1lbnUoJy4rJyk7XG5cbiAgICBjb25zdCBkZXRhaWxzID0gYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpO1xuICAgIGNvbnN0IGVtcHR5RGV0YWlscyA9IGF3YWl0IGRldGFpbHMuaXNEaXNwbGF5RW1wdHlGbG93KCk7XG5cbiAgICBpZiAoIWVtcHR5RGV0YWlscykge1xuICAgICAgYXdhaXQgdGhpcy5zZWxlY3RGbG93SW5NZW51KCcuKycpO1xuICAgICAgY29uc3QgcmVhZE9ubHlEZXRhaWxzID0gYXdhaXQgZGV0YWlscy5pc1JlYWRPbmx5KCk7XG4gICAgICByZXR1cm4gcmVhZE9ubHlNZW51ICYmIHJlYWRPbmx5RGV0YWlscztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVhZE9ubHlNZW51O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGZsb3cgdG8gYSBwbGFuIG9yIHRvIFwiQ29tbW9uIGZsb3dzXCJcbiAgICpcbiAgICogQHBhcmFtIGdyb3VwTmFtZSBQbGFuIG5hbWUgd2hlcmUgdG8gYWRkIHRoZSBmbG93LiBZb3UgYWxzbyBjYW4gZGVmaW5lIFwiQ29tbW9uIGZsb3dzXCIgdG8gYWRkIGEgZmxvdyB0byB0aGlzIGdyb3VwLlxuICAgKiBAcGFyYW0gZmxvdyBGbG93IHRvIGFkZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGFkZEZsb3coZ3JvdXBOYW1lOiBzdHJpbmcsIGZsb3c6IEZsb3cpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5hZGRGbG93KG5ldyBSZWdFeHAoZ3JvdXBOYW1lLCAnaScpKTtcblxuICAgIGF3YWl0IHRoaXMuc2V0Rmxvd0Zvcm1EaWFsb2coZmxvdyk7XG4gIH1cblxuICAvKipcbiAgICogRWRpdCBhIGZsb3cgY29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAcGFyYW0gZmxvd05hbWUgRmxvdyBuYW1lIHRvIGVkaXRcbiAgICogQHBhcmFtIGZsb3dcbiAgICovXG4gIHB1YmxpYyBhc3luYyBlZGl0Rmxvd0NvbmZpZyhmbG93TmFtZTogc3RyaW5nLCBmbG93OiBQYXJ0aWFsPEZsb3c+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuc2VsZWN0RmxvdyhuZXcgUmVnRXhwKGZsb3dOYW1lLCAnaScpKTtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5jbGlja0VkaXRGbG93QnRuKCk7XG5cbiAgICBhd2FpdCB0aGlzLnNldEZsb3dGb3JtRGlhbG9nKGZsb3cpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhIGZsb3dcbiAgICpcbiAgICogQHBhcmFtIGZsb3dOYW1lIEZsb3cgbmFtZSB0byBkZWxldGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVGbG93KGZsb3dOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5zZWxlY3RGbG93KG5ldyBSZWdFeHAoZmxvd05hbWUsICdpJykpO1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLmRldGFpbHNIYXJuZXNzKCkpLmNsaWNrRGVsZXRlRmxvd0J0bigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIGZsb3cgaW4gdGhlIG1lbnVcbiAgICpcbiAgICogQHBhcmFtIGZsb3dOYW1lIEZsb3cgbmFtZSB0byBzZWxlY3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RGbG93SW5NZW51KGZsb3dOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5zZWxlY3RGbG93KG5ldyBSZWdFeHAoZmxvd05hbWUsICdpJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBmbG93cyBpbiB0aGUgbWVudVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZsb3dzTWVudSgpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgICBmbG93czoge1xuICAgICAgICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICBpbmZvczogc3RyaW5nIHwgbnVsbDtcbiAgICAgIH1bXTtcbiAgICB9W11cbiAgPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLmdldEFsbEZsb3dzR3JvdXBzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlbGVjdGVkIGZsb3cgaW5mb3NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZEZsb3dJbmZvcygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIChzdHJpbmcgfCBudWxsKVtdPj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5nZXRGbG93SW5mb3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc2VsZWN0ZWQgZmxvdyBwaGFzZSBoYXJuZXNzXG4gICAqIEBwYXJhbSBwaGFzZVR5cGUgUGhhc2UgdHlwZSB0byBnZXRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZEZsb3dQaGFzZShwaGFzZVR5cGU6IFBoYXNlVHlwZSk6IFByb21pc2U8R2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmIChwaGFzZVR5cGUgPT09ICdQVUJMSVNIJyB8fCBwaGFzZVR5cGUgPT09ICdTVUJTQ1JJQkUnKSB7XG4gICAgICBjb25zdCBtYXRUYWJzSGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRUYWJHcm91cEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmNvbnRlbnRfX3RhYnMnIH0pKSgpO1xuICAgICAgYXdhaXQgbWF0VGFic0hhcm5lc3Muc2VsZWN0VGFiKHsgbGFiZWw6ICdFdmVudCBtZXNzYWdlcycgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCB0aGlzLnBoYXNlSGFybmVzcyhwaGFzZVR5cGUpO1xuXG4gICAgcmV0dXJuIHN0ZXBzID8gc3RlcHMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IFNhdmUgYnV0dG9uIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2F2ZUJ1dHRvblN0YXRlKCk6IFByb21pc2U8J1ZJU0lCTEUnIHwgJ0RJU0FCTEVEJyB8ICdTQVZJTkcnPiB7XG4gICAgY29uc3Qgc2F2ZUJ1dHRvbiA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogJy5oZWFkZXJfX2J0bicgfSkpKCk7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCBzYXZlQnV0dG9uLmlzRGlzYWJsZWQoKTtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgc2F2ZUJ1dHRvbi5nZXRUZXh0KCk7XG5cbiAgICBpZiAodGV4dCA9PT0gJ1NhdmluZy4uLicpIHtcbiAgICAgIHJldHVybiAnU0FWSU5HJztcbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnRElTQUJMRUQnO1xuICAgIH1cblxuICAgIHJldHVybiAnVklTSUJMRSc7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgb24gdGhlIFwiU2F2ZVwiIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNhdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyB0ZXh0OiAvU2F2ZS8gfSkpKCkpLmNsaWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldEZsb3dGb3JtRGlhbG9nKGZsb3c6IFBhcnRpYWw8Rmxvdz4pIHtcbiAgICBjb25zdCBjaGFubmVsU2VsZWN0b3IgPSBmbG93LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0NIQU5ORUwnKSBhcyBDaGFubmVsU2VsZWN0b3IgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgaHR0cFNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdIVFRQJykgYXMgSHR0cFNlbGVjdG9yIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNvbmRpdGlvblNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDT05ESVRJT04nKSBhcyBDb25kaXRpb25TZWxlY3RvciB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghIWNoYW5uZWxTZWxlY3RvciAmJiAhIWh0dHBTZWxlY3Rvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaGFubmVsIGFuZCBIVFRQIHNlbGVjdG9ycyBhcmUgbm90IGJlIHVzZWQgdG9nZXRoZXIuJyk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5uZWxTZWxlY3Rvcikge1xuICAgICAgY29uc3QgZmxvd0Zvcm1OZXdEaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dIYXJuZXNzKSgpO1xuXG4gICAgICBjb25zdCB0b0NoYW5uZWxPcGVyYXRvciA9IHtcbiAgICAgICAgU1RBUlRTX1dJVEg6ICdTdGFydHMgd2l0aCcsXG4gICAgICAgIEVRVUFMUzogJ0VxdWFscycsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBmbG93Rm9ybU5ld0RpYWxvZy5zZXRGbG93Rm9ybVZhbHVlcyh7XG4gICAgICAgIG5hbWU6IGZsb3cubmFtZSxcbiAgICAgICAgY2hhbm5lbDogY2hhbm5lbFNlbGVjdG9yPy5jaGFubmVsLFxuICAgICAgICBjaGFubmVsT3BlcmF0b3I6IHRvQ2hhbm5lbE9wZXJhdG9yW2NoYW5uZWxTZWxlY3Rvci5jaGFubmVsT3BlcmF0b3JdLFxuICAgICAgICBlbnRyeXBvaW50czogY2hhbm5lbFNlbGVjdG9yPy5lbnRyeXBvaW50cyxcbiAgICAgICAgb3BlcmF0aW9uczogY2hhbm5lbFNlbGVjdG9yPy5vcGVyYXRpb25zLFxuICAgICAgICBjb25kaXRpb246IGNvbmRpdGlvblNlbGVjdG9yPy5jb25kaXRpb24sXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgZmxvd0Zvcm1OZXdEaWFsb2cuc2F2ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChodHRwU2VsZWN0b3IpIHtcbiAgICAgIGNvbnN0IGZsb3dGb3JtTmV3RGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0hhcm5lc3MpKCk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNldEZsb3dGb3JtVmFsdWVzKHtcbiAgICAgICAgbmFtZTogZmxvdy5uYW1lLFxuICAgICAgICBwYXRoOiBodHRwU2VsZWN0b3I/LnBhdGgsXG4gICAgICAgIHBhdGhPcGVyYXRvcjogaHR0cFNlbGVjdG9yPy5wYXRoT3BlcmF0b3IsXG4gICAgICAgIG1ldGhvZHM6IGh0dHBTZWxlY3Rvcj8ubWV0aG9kcyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb25TZWxlY3Rvcj8uY29uZGl0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNhdmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNlbGVjdG9yIGZvdW5kIGZvciB0aGlzIGZsb3cuIE5lZWRlZCB0byBzZWxlY3QgTWVzc2FnZSBvciBQcm94eSBmbG93IGZvcm0gZGlhbG9nLicpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldEZsb3dFeGVjdXRpb25Db25maWcoZmxvd0V4ZWN1dGlvbjogRmxvd0V4ZWN1dGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLm9wZW5GbG93RXhlY3V0aW9uQ29uZmlnKCk7XG5cbiAgICBjb25zdCBmbG93RXhlY3V0aW9uRGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd0V4ZWN1dGlvbkZvcm1EaWFsb2dIYXJuZXNzKSgpO1xuICAgIGF3YWl0IGZsb3dFeGVjdXRpb25EaWFsb2cuc2V0Rmxvd0Zvcm1WYWx1ZXMoZmxvd0V4ZWN1dGlvbik7XG4gICAgYXdhaXQgZmxvd0V4ZWN1dGlvbkRpYWxvZy5zYXZlKCk7XG4gIH1cbn1cbiJdfQ==
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL3BvbGljeS1zdHVkaW8vZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLDZGQUE2RixDQUFDO0FBQ3hKLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGlHQUFpRyxDQUFDO0FBQzlKLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ25KLE9BQU8sRUFBRSxrQ0FBa0MsRUFBYSxNQUFNLG9FQUFvRSxDQUFDO0FBRW5JLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBZ0I7SUFBNUQ7O1FBR1UsZ0JBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFL0QsbUJBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFaEUsaUJBQVksR0FBRyxDQUFDLFNBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENB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QUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNELE1BQU0sbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25IYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0VGFiR3JvdXBIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicy90ZXN0aW5nJztcblxuaW1wb3J0IHsgQ2hhbm5lbFNlbGVjdG9yLCBDb25kaXRpb25TZWxlY3RvciwgRmxvdywgRmxvd0V4ZWN1dGlvbiwgSHR0cFNlbGVjdG9yIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dzTWVudUhhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3dzLW1lbnUvZ2lvLXBzLWZsb3dzLW1lbnUuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSGFybmVzcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzL2dpby1wcy1mbG93LWRldGFpbHMuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93UHJveHlGb3JtRGlhbG9nSGFybmVzcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1mb3JtLWRpYWxvZy9mbG93LXByb3h5LWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LXByb3h5LWZvcm0tZGlhbG9nLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VGb3JtRGlhbG9nSGFybmVzcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1mb3JtLWRpYWxvZy9mbG93LW1lc3NhZ2UtZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctbWVzc2FnZS1mb3JtLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dFeGVjdXRpb25Gb3JtRGlhbG9nSGFybmVzcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1leGVjdXRpb24tZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcywgUGhhc2VUeXBlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2UvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzJztcblxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0hhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLXBvbGljeS1zdHVkaW8nO1xuXG4gIHByaXZhdGUgbWVudUhhcm5lc3MgPSB0aGlzLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd3NNZW51SGFybmVzcyk7XG5cbiAgcHJpdmF0ZSBkZXRhaWxzSGFybmVzcyA9IHRoaXMubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSGFybmVzcyk7XG5cbiAgcHJpdmF0ZSBwaGFzZUhhcm5lc3MgPSAocGhhc2VUeXBlOiBQaGFzZVR5cGUpID0+IHRoaXMubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzLndpdGgoeyB0eXBlOiBwaGFzZVR5cGUgfSkpKCk7XG5cbiAgcHVibGljIGFzeW5jIGlzUmVhZE9ubHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgbWVudSA9IGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKTtcbiAgICBjb25zdCByZWFkT25seU1lbnUgPSBhd2FpdCBtZW51LmlzUmVhZE9ubHkoKTtcblxuICAgIGF3YWl0IHRoaXMuc2VsZWN0Rmxvd0luTWVudSgnLisnKTtcblxuICAgIGNvbnN0IGRldGFpbHMgPSBhd2FpdCB0aGlzLmRldGFpbHNIYXJuZXNzKCk7XG4gICAgY29uc3QgZW1wdHlEZXRhaWxzID0gYXdhaXQgZGV0YWlscy5pc0Rpc3BsYXlFbXB0eUZsb3coKTtcblxuICAgIGlmICghZW1wdHlEZXRhaWxzKSB7XG4gICAgICBhd2FpdCB0aGlzLnNlbGVjdEZsb3dJbk1lbnUoJy4rJyk7XG4gICAgICBjb25zdCByZWFkT25seURldGFpbHMgPSBhd2FpdCBkZXRhaWxzLmlzUmVhZE9ubHkoKTtcbiAgICAgIHJldHVybiByZWFkT25seU1lbnUgJiYgcmVhZE9ubHlEZXRhaWxzO1xuICAgIH1cblxuICAgIHJldHVybiByZWFkT25seU1lbnU7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgZmxvdyB0byBhIHBsYW4gb3IgdG8gXCJDb21tb24gZmxvd3NcIlxuICAgKlxuICAgKiBAcGFyYW0gZ3JvdXBOYW1lIFBsYW4gbmFtZSB3aGVyZSB0byBhZGQgdGhlIGZsb3cuIFlvdSBhbHNvIGNhbiBkZWZpbmUgXCJDb21tb24gZmxvd3NcIiB0byBhZGQgYSBmbG93IHRvIHRoaXMgZ3JvdXAuXG4gICAqIEBwYXJhbSBmbG93IEZsb3cgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWRkRmxvdyhncm91cE5hbWU6IHN0cmluZywgZmxvdzogRmxvdyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLmFkZEZsb3cobmV3IFJlZ0V4cChncm91cE5hbWUsICdpJykpO1xuXG4gICAgYXdhaXQgdGhpcy5zZXRGbG93Rm9ybURpYWxvZyhmbG93KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFZGl0IGEgZmxvdyBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBmbG93TmFtZSBGbG93IG5hbWUgdG8gZWRpdFxuICAgKiBAcGFyYW0gZmxvd1xuICAgKi9cbiAgcHVibGljIGFzeW5jIGVkaXRGbG93Q29uZmlnKGZsb3dOYW1lOiBzdHJpbmcsIGZsb3c6IFBhcnRpYWw8Rmxvdz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5zZWxlY3RGbG93KG5ldyBSZWdFeHAoZmxvd05hbWUsICdpJykpO1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLmRldGFpbHNIYXJuZXNzKCkpLmNsaWNrRWRpdEZsb3dCdG4oKTtcblxuICAgIGF3YWl0IHRoaXMuc2V0Rmxvd0Zvcm1EaWFsb2coZmxvdyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGEgZmxvd1xuICAgKlxuICAgKiBAcGFyYW0gZmxvd05hbWUgRmxvdyBuYW1lIHRvIGRlbGV0ZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRlbGV0ZUZsb3coZmxvd05hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLnNlbGVjdEZsb3cobmV3IFJlZ0V4cChmbG93TmFtZSwgJ2knKSk7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuZGV0YWlsc0hhcm5lc3MoKSkuY2xpY2tEZWxldGVGbG93QnRuKCk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgYSBmbG93XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZW5hYmxlRGlzYWJsZUZsb3coZmxvd05hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLnNlbGVjdEZsb3cobmV3IFJlZ0V4cChmbG93TmFtZSwgJ2knKSk7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuZGV0YWlsc0hhcm5lc3MoKSkuY2xpY2tFbmFibGVEaXNhYmxlRmxvd0J0bigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIGZsb3cgaW4gdGhlIG1lbnVcbiAgICpcbiAgICogQHBhcmFtIGZsb3dOYW1lIEZsb3cgbmFtZSB0byBzZWxlY3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RGbG93SW5NZW51KGZsb3dOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5zZWxlY3RGbG93KG5ldyBSZWdFeHAoZmxvd05hbWUsICdpJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBmbG93cyBpbiB0aGUgbWVudVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZsb3dzTWVudSgpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgICBmbG93czoge1xuICAgICAgICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICBpbmZvczogc3RyaW5nIHwgbnVsbDtcbiAgICAgIH1bXTtcbiAgICB9W11cbiAgPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLmdldEFsbEZsb3dzR3JvdXBzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlbGVjdGVkIGZsb3cgaW5mb3NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZEZsb3dJbmZvcygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIChzdHJpbmcgfCBudWxsKVtdPj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5nZXRGbG93SW5mb3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc2VsZWN0ZWQgZmxvdyBwaGFzZSBoYXJuZXNzXG4gICAqIEBwYXJhbSBwaGFzZVR5cGUgUGhhc2UgdHlwZSB0byBnZXRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZEZsb3dQaGFzZShwaGFzZVR5cGU6IFBoYXNlVHlwZSk6IFByb21pc2U8R2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmIChwaGFzZVR5cGUgPT09ICdQVUJMSVNIJyB8fCBwaGFzZVR5cGUgPT09ICdTVUJTQ1JJQkUnKSB7XG4gICAgICBjb25zdCBtYXRUYWJzSGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRUYWJHcm91cEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmNvbnRlbnRfX3RhYnMnIH0pKSgpO1xuICAgICAgYXdhaXQgbWF0VGFic0hhcm5lc3Muc2VsZWN0VGFiKHsgbGFiZWw6ICdFdmVudCBtZXNzYWdlcycgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCB0aGlzLnBoYXNlSGFybmVzcyhwaGFzZVR5cGUpO1xuXG4gICAgcmV0dXJuIHN0ZXBzID8gc3RlcHMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IFNhdmUgYnV0dG9uIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2F2ZUJ1dHRvblN0YXRlKCk6IFByb21pc2U8J1ZJU0lCTEUnIHwgJ0RJU0FCTEVEJyB8ICdTQVZJTkcnPiB7XG4gICAgY29uc3Qgc2F2ZUJ1dHRvbiA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogJy5oZWFkZXJfX2J0bicgfSkpKCk7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCBzYXZlQnV0dG9uLmlzRGlzYWJsZWQoKTtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgc2F2ZUJ1dHRvbi5nZXRUZXh0KCk7XG5cbiAgICBpZiAodGV4dCA9PT0gJ1NhdmluZy4uLicpIHtcbiAgICAgIHJldHVybiAnU0FWSU5HJztcbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnRElTQUJMRUQnO1xuICAgIH1cblxuICAgIHJldHVybiAnVklTSUJMRSc7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgb24gdGhlIFwiU2F2ZVwiIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNhdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyB0ZXh0OiAvU2F2ZS8gfSkpKCkpLmNsaWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldEZsb3dGb3JtRGlhbG9nKGZsb3c6IFBhcnRpYWw8Rmxvdz4pIHtcbiAgICBjb25zdCBjaGFubmVsU2VsZWN0b3IgPSBmbG93LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0NIQU5ORUwnKSBhcyBDaGFubmVsU2VsZWN0b3IgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgaHR0cFNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdIVFRQJykgYXMgSHR0cFNlbGVjdG9yIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNvbmRpdGlvblNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDT05ESVRJT04nKSBhcyBDb25kaXRpb25TZWxlY3RvciB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghIWNoYW5uZWxTZWxlY3RvciAmJiAhIWh0dHBTZWxlY3Rvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaGFubmVsIGFuZCBIVFRQIHNlbGVjdG9ycyBhcmUgbm90IGJlIHVzZWQgdG9nZXRoZXIuJyk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5uZWxTZWxlY3Rvcikge1xuICAgICAgY29uc3QgZmxvd0Zvcm1OZXdEaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dIYXJuZXNzKSgpO1xuXG4gICAgICBjb25zdCB0b0NoYW5uZWxPcGVyYXRvciA9IHtcbiAgICAgICAgU1RBUlRTX1dJVEg6ICdTdGFydHMgd2l0aCcsXG4gICAgICAgIEVRVUFMUzogJ0VxdWFscycsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBmbG93Rm9ybU5ld0RpYWxvZy5zZXRGbG93Rm9ybVZhbHVlcyh7XG4gICAgICAgIG5hbWU6IGZsb3cubmFtZSxcbiAgICAgICAgY2hhbm5lbDogY2hhbm5lbFNlbGVjdG9yPy5jaGFubmVsLFxuICAgICAgICBjaGFubmVsT3BlcmF0b3I6IHRvQ2hhbm5lbE9wZXJhdG9yW2NoYW5uZWxTZWxlY3Rvci5jaGFubmVsT3BlcmF0b3JdLFxuICAgICAgICBlbnRyeXBvaW50czogY2hhbm5lbFNlbGVjdG9yPy5lbnRyeXBvaW50cyxcbiAgICAgICAgb3BlcmF0aW9uczogY2hhbm5lbFNlbGVjdG9yPy5vcGVyYXRpb25zLFxuICAgICAgICBjb25kaXRpb246IGNvbmRpdGlvblNlbGVjdG9yPy5jb25kaXRpb24sXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgZmxvd0Zvcm1OZXdEaWFsb2cuc2F2ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChodHRwU2VsZWN0b3IpIHtcbiAgICAgIGNvbnN0IGZsb3dGb3JtTmV3RGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0hhcm5lc3MpKCk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNldEZsb3dGb3JtVmFsdWVzKHtcbiAgICAgICAgbmFtZTogZmxvdy5uYW1lLFxuICAgICAgICBwYXRoOiBodHRwU2VsZWN0b3I/LnBhdGgsXG4gICAgICAgIHBhdGhPcGVyYXRvcjogaHR0cFNlbGVjdG9yPy5wYXRoT3BlcmF0b3IsXG4gICAgICAgIG1ldGhvZHM6IGh0dHBTZWxlY3Rvcj8ubWV0aG9kcyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb25TZWxlY3Rvcj8uY29uZGl0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNhdmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNlbGVjdG9yIGZvdW5kIGZvciB0aGlzIGZsb3cuIE5lZWRlZCB0byBzZWxlY3QgTWVzc2FnZSBvciBQcm94eSBmbG93IGZvcm0gZGlhbG9nLicpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldEZsb3dFeGVjdXRpb25Db25maWcoZmxvd0V4ZWN1dGlvbjogRmxvd0V4ZWN1dGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLm9wZW5GbG93RXhlY3V0aW9uQ29uZmlnKCk7XG5cbiAgICBjb25zdCBmbG93RXhlY3V0aW9uRGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd0V4ZWN1dGlvbkZvcm1EaWFsb2dIYXJuZXNzKSgpO1xuICAgIGF3YWl0IGZsb3dFeGVjdXRpb25EaWFsb2cuc2V0Rmxvd0Zvcm1WYWx1ZXMoZmxvd0V4ZWN1dGlvbik7XG4gICAgYXdhaXQgZmxvd0V4ZWN1dGlvbkRpYWxvZy5zYXZlKCk7XG4gIH1cbn1cbiJdfQ==