@smartbit4all/ng-client 4.0.91 → 4.0.93

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.
@@ -174,11 +174,11 @@ export class UiActionToolbarComponent {
174
174
  return delay ? delay : 2000;
175
175
  }
176
176
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: i1.UiActionService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n <button\r\n pButton\r\n pRipple\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n [smartTooltip]=\"uiActionModel?.descriptor?.tooltip!\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }} {{ getbtnClass(uiActionModel) }}\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().PRE\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().POST\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n } @else {\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n [smartTooltip]=\"uiActionModel?.descriptor?.tooltip!\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n type=\"button\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().PRE\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().POST\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n }\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i5.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "directive", type: i6.SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }] }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n <button\r\n pButton\r\n pRipple\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n [smartTooltip]=\"uiActionModel?.descriptor?.tooltip!\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }} {{ getbtnClass(uiActionModel) }}\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n type=\"button\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().PRE\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().POST\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n } @else {\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n [smartTooltip]=\"uiActionModel?.descriptor?.tooltip!\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n type=\"button\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().PRE\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().POST\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n }\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i5.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "directive", type: i6.SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }] }); }
178
178
  }
179
179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
180
180
  type: Component,
181
- args: [{ selector: 'smart-ui-action-toolbar', template: "<div class=\"uiActionButtonsContainer\">\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n <button\r\n pButton\r\n pRipple\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n [smartTooltip]=\"uiActionModel?.descriptor?.tooltip!\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }} {{ getbtnClass(uiActionModel) }}\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().PRE\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().POST\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n } @else {\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n [smartTooltip]=\"uiActionModel?.descriptor?.tooltip!\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n type=\"button\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().PRE\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().POST\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n }\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}\n"] }]
181
+ args: [{ selector: 'smart-ui-action-toolbar', template: "<div class=\"uiActionButtonsContainer\">\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n <button\r\n pButton\r\n pRipple\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n [smartTooltip]=\"uiActionModel?.descriptor?.tooltip!\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }} {{ getbtnClass(uiActionModel) }}\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n type=\"button\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().PRE\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().POST\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n } @else {\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n [smartTooltip]=\"uiActionModel?.descriptor?.tooltip!\"\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n type=\"button\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().PRE\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().POST\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n }\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}\n"] }]
182
182
  }], ctorParameters: () => [{ type: i1.UiActionService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i7.ComponentLibrary, decorators: [{
183
183
  type: Inject,
184
184
  args: [COMPONENT_LIBRARY]
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
189
189
  }], id: [{
190
190
  type: Input
191
191
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsTUFBTSxFQUVOLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBc0MsTUFBTSxRQUFRLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7OztBQU9sRixNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQyxZQUNVLE9BQXdCLEVBQ3hCLE1BQWdCLEVBQ2pCLGNBQWlDLEVBQ04sT0FBeUI7UUFIbkQsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNqQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDTixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQW5CckQsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpELHFCQUFnQixHQUFHLGdCQUFnQixDQUFDLENBQUMsa0NB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dG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbmplY3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEljb25Qb3NpdGlvbiwgVWlBY3Rpb25Ub29sdGlwVG9vbHRpcFBvc2l0aW9uRW51bSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uVHlwZSB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvbkJ1dHRvblR5cGUnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uZGVzY3JpcHRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc21hcnQtdWktYWN0aW9uLXRvb2xiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTsgLy8gRXhwb3NlIHRoZSBlbnVtIHRvIHRoZSB0ZW1wbGF0ZVxyXG5cclxuICBwcmVzc2VkQnV0dG9uQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgdWlBY3Rpb25Nb2RlbHM/OiBVaUFjdGlvbk1vZGVsW107XHJcbiAgQElucHV0KCkgdWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZT86IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U7XHJcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucz86IFVpQWN0aW9uTW9kZWxbXTtcclxuXHJcbiAgcHJpdmF0ZSBtYW5hZ2VyITogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICBwcml2YXRlIGxhbmd1YWdlQ2hhbmdlZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFVpQWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgaW5qZWN0OiBJbmplY3RvcixcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge1xyXG4gICAgLy8gSW5qZWN0cyB0aGUgYmFzaWMgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSBwcm92aWRlZCBieSB0aGUgQXBwTW9kdWxlXHJcbiAgICB0aGlzLm1hbmFnZXIgPSBpbmplY3QuZ2V0KFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBPdmVycmlkZXMgdGhlIGJhc2ljIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2Ugd2l0aCBhIGN1c3RvbSBvbmUgaWYgdGhlcmUgaXMgb25lXHJcbiAgICBpZiAodGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubWFuYWdlciA9IHRoaXMudWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICAgICAgdGhpcy5zdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRVcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3VpQWN0aW9uTW9kZWxzJ10pIHtcclxuICAgICAgbGV0IHVpQWN0aW9uTW9kZWxzID0gY2hhbmdlc1sndWlBY3Rpb25Nb2RlbHMnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIGlmICh1aUFjdGlvbk1vZGVscykge1xyXG4gICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMgPSB1aUFjdGlvbk1vZGVscztcclxuICAgICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5tYW5hZ2VyLmxhbmd1YWdlQ2hhbmdlZFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy51aUFjdGlvbk1vZGVscykge1xyXG4gICAgICBsZXQgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gW107XHJcbiAgICAgIGZvciAoY29uc3QgdWlBY3Rpb25Nb2RlbCBvZiB0aGlzLnVpQWN0aW9uTW9kZWxzKSB7XHJcbiAgICAgICAgY29uc3QgdWlBY3Rpb24gPSB1aUFjdGlvbk1vZGVsLnVpQWN0aW9uO1xyXG5cclxuICAgICAgICAvLyB1c2luZyBlcXVhbGl0eSBpcyBhIG11c3QgaGVyZSwgdW5kZWZpbmVkIGFuZCBudWxsIHNob3VsZCBiZSBlcXVhbFxyXG4gICAgICAgIGlmICh0aGlzLmlkID09IHVpQWN0aW9uLnRvb2xiYXIpIHtcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMubWFuYWdlci5nZXRBY3Rpb25EZXNjcmlwdG9yKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24pO1xyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zLnB1c2godWlBY3Rpb25Nb2RlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBhbnksIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wcmVzc2VkQnV0dG9uQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5zZXJ2aWNlLnVpQWN0aW9uTW9kZWwgPSB1aUFjdGlvbk1vZGVsO1xyXG4gICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICBub2RlSWQ6IHVpQWN0aW9uTW9kZWwubm9kZUlkLFxyXG4gICAgICAgIHdpZGdldElkOiB1aUFjdGlvbk1vZGVsLndpZGdldElkLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmV4ZWN1dGUodWlBY3Rpb25Nb2RlbC51aUFjdGlvbiwgb3B0aW9ucyk7XHJcblxyXG4gICAgICB0aGlzLnByZXNzZWRCdXR0b25BY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BY3Rpb25Eb3VibGVDbGlja2VkKGV2ZW50OiBhbnksIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgLy8gV2UgZG8gbm90IGhhbmRsZSBkb3VibGUgY2xpY2tzXHJcbiAgfVxyXG4gIGdldGJ0bkNsYXNzKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgaWYgKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3IpIHtcclxuICAgICAgcmV0dXJuICdwLWJ1dHRvbi0nICsgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgZ2V0VHlwZSh1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogYW55IHtcclxuICAgIGlmICghdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBBY3Rpb24gYnV0dG9uIHR5cGUgdW5zZXQ6ICR7dWlBY3Rpb25Nb2RlbD8udWlBY3Rpb24/LmNvZGV9YCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcpIHtcclxuICAgICAgLy8gcmV0dXJuICcnO1xyXG5cclxuICAgICAgLy8gJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAvKiAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxyXG4gICovXHJcbiAgICAgIHN3aXRjaCAodWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VEOlxyXG4gICAgICAgICAgcmV0dXJuIHsgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XHJcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLCAncC1idXR0b24tcm91bmRlZCc6IHRydWUgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiB7ICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSwgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLCAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSB9O1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSkge1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1idXR0b24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmxhdC1idXR0b24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1yYWlzZWQtYnV0dG9uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXN0cm9rZWQtYnV0dG9uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWljb24tYnV0dG9uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1taW5pLWZhYic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZhYic7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGBVbmhhbmRsZWQgYWN0aW9uIGJ1dHRvbiB0eXBlIGNhc2U6ICR7dWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlfWApO1xyXG4gICAgICAgICAgcmV0dXJuIGBtYXQtYnV0dG9uYDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWNvblBvc2l0aW9uKCk6IHR5cGVvZiBJY29uUG9zaXRpb24ge1xyXG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGlzT25seUljb24odWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTiB8fFxyXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQiB8fFxyXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5GQUJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRUb29sdGlwUG9zKHBvcz86IFVpQWN0aW9uVG9vbHRpcFRvb2x0aXBQb3NpdGlvbkVudW0pOiBUb29sdGlwUG9zaXRpb24ge1xyXG4gICAgaWYgKHBvcykge1xyXG4gICAgICByZXR1cm4gcG9zLnRvTG93ZXJDYXNlKCkgYXMgVG9vbHRpcFBvc2l0aW9uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdiZWZvcmUnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcERlbGF5KGRlbGF5PzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBkZWxheSA/IGRlbGF5IDogMTAwMDtcclxuICB9XHJcblxyXG4gIGdldFRvb2x0aXBIaWRlRGVsYXkoZGVsYXk/OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGRlbGF5ID8gZGVsYXkgOiAyMDAwO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidWlBY3Rpb25CdXR0b25zQ29udGFpbmVyXCI+XHJcbiAgQGlmKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gIDxidXR0b25cclxuICAgIHBCdXR0b25cclxuICAgIHBSaXBwbGVcclxuICAgICpuZ0Zvcj1cImxldCB1aUFjdGlvbk1vZGVsIG9mIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9uc1wiXHJcbiAgICBbc21hcnRUb29sdGlwXT1cInVpQWN0aW9uTW9kZWw/LmRlc2NyaXB0b3I/LnRvb2x0aXAhXCJcclxuICAgIFtuZ0NsYXNzXT1cImdldFR5cGUodWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgY2xhc3M9XCJ7eyB1aUFjdGlvbk1vZGVsLmNzc0NsYXNzIH19IHt7IGdldGJ0bkNsYXNzKHVpQWN0aW9uTW9kZWwpIH19XCJcclxuICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiISF1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkXCJcclxuICAgIChkYmxjbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgPlxyXG4gICAgPGRpdiAqbmdJZj1cImlzT25seUljb24odWlBY3Rpb25Nb2RlbCk7IHRoZW4gaWNvbk9ubHk7IGVsc2UgdGV4dFwiPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNpY29uT25seT5cclxuICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAqbmdJZj1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblwiXHJcbiAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXHJcbiAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxyXG4gICAgICA+PC9zbWFydC1pY29uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dD5cclxuICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uICYmXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Qb3NpdGlvbiA9PT0gaWNvblBvc2l0aW9uKCkuUFJFXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcclxuICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICAgIHt7IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udGl0bGUgfX1cclxuICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uICYmXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Qb3NpdGlvbiA9PT0gaWNvblBvc2l0aW9uKCkuUE9TVFxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXHJcbiAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxyXG4gICAgICA+PC9zbWFydC1pY29uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2J1dHRvbj5cclxuICB9IEBlbHNlIHtcclxuICA8YnV0dG9uXHJcbiAgICAqbmdGb3I9XCJsZXQgdWlBY3Rpb25Nb2RlbCBvZiB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnNcIlxyXG4gICAgbWF0LWJ1dHRvblxyXG4gICAgW3NtYXJ0VG9vbHRpcF09XCJ1aUFjdGlvbk1vZGVsPy5kZXNjcmlwdG9yPy50b29sdGlwIVwiXHJcbiAgICBbbmdDbGFzc109XCJnZXRUeXBlKHVpQWN0aW9uTW9kZWwpXCJcclxuICAgIGNsYXNzPVwie3sgdWlBY3Rpb25Nb2RlbC5jc3NDbGFzcyB9fVwiXHJcbiAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgW2Rpc2FibGVkXT1cIiEhdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5kaXNhYmxlZFwiXHJcbiAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgPlxyXG4gICAgPGRpdiAqbmdJZj1cImlzT25seUljb24odWlBY3Rpb25Nb2RlbCk7IHRoZW4gaWNvbk9ubHk7IGVsc2UgdGV4dFwiPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNpY29uT25seT5cclxuICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAqbmdJZj1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblwiXHJcbiAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXHJcbiAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxyXG4gICAgICA+PC9zbWFydC1pY29uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dD5cclxuICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uICYmXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Qb3NpdGlvbiA9PT0gaWNvblBvc2l0aW9uKCkuUFJFXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcclxuICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICAgIHt7IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udGl0bGUgfX1cclxuICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uICYmXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Qb3NpdGlvbiA9PT0gaWNvblBvc2l0aW9uKCkuUE9TVFxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXHJcbiAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxyXG4gICAgICA+PC9zbWFydC1pY29uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2J1dHRvbj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsTUFBTSxFQUVOLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBc0MsTUFBTSxRQUFRLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7OztBQU9sRixNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQyxZQUNVLE9BQXdCLEVBQ3hCLE1BQWdCLEVBQ2pCLGNBQWlDLEVBQ04sT0FBeUI7UUFIbkQsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNqQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDTixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQW5CckQsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpELHFCQUFnQixHQUFHLGdCQUFnQixDQUFDLENBQUMsa0NB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dG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbmplY3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEljb25Qb3NpdGlvbiwgVWlBY3Rpb25Ub29sdGlwVG9vbHRpcFBvc2l0aW9uRW51bSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uVHlwZSB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvbkJ1dHRvblR5cGUnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uZGVzY3JpcHRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc21hcnQtdWktYWN0aW9uLXRvb2xiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTsgLy8gRXhwb3NlIHRoZSBlbnVtIHRvIHRoZSB0ZW1wbGF0ZVxyXG5cclxuICBwcmVzc2VkQnV0dG9uQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgdWlBY3Rpb25Nb2RlbHM/OiBVaUFjdGlvbk1vZGVsW107XHJcbiAgQElucHV0KCkgdWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZT86IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U7XHJcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucz86IFVpQWN0aW9uTW9kZWxbXTtcclxuXHJcbiAgcHJpdmF0ZSBtYW5hZ2VyITogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICBwcml2YXRlIGxhbmd1YWdlQ2hhbmdlZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFVpQWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgaW5qZWN0OiBJbmplY3RvcixcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge1xyXG4gICAgLy8gSW5qZWN0cyB0aGUgYmFzaWMgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSBwcm92aWRlZCBieSB0aGUgQXBwTW9kdWxlXHJcbiAgICB0aGlzLm1hbmFnZXIgPSBpbmplY3QuZ2V0KFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBPdmVycmlkZXMgdGhlIGJhc2ljIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2Ugd2l0aCBhIGN1c3RvbSBvbmUgaWYgdGhlcmUgaXMgb25lXHJcbiAgICBpZiAodGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubWFuYWdlciA9IHRoaXMudWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICAgICAgdGhpcy5zdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRVcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3VpQWN0aW9uTW9kZWxzJ10pIHtcclxuICAgICAgbGV0IHVpQWN0aW9uTW9kZWxzID0gY2hhbmdlc1sndWlBY3Rpb25Nb2RlbHMnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIGlmICh1aUFjdGlvbk1vZGVscykge1xyXG4gICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMgPSB1aUFjdGlvbk1vZGVscztcclxuICAgICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5tYW5hZ2VyLmxhbmd1YWdlQ2hhbmdlZFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy51aUFjdGlvbk1vZGVscykge1xyXG4gICAgICBsZXQgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gW107XHJcbiAgICAgIGZvciAoY29uc3QgdWlBY3Rpb25Nb2RlbCBvZiB0aGlzLnVpQWN0aW9uTW9kZWxzKSB7XHJcbiAgICAgICAgY29uc3QgdWlBY3Rpb24gPSB1aUFjdGlvbk1vZGVsLnVpQWN0aW9uO1xyXG5cclxuICAgICAgICAvLyB1c2luZyBlcXVhbGl0eSBpcyBhIG11c3QgaGVyZSwgdW5kZWZpbmVkIGFuZCBudWxsIHNob3VsZCBiZSBlcXVhbFxyXG4gICAgICAgIGlmICh0aGlzLmlkID09IHVpQWN0aW9uLnRvb2xiYXIpIHtcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMubWFuYWdlci5nZXRBY3Rpb25EZXNjcmlwdG9yKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24pO1xyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zLnB1c2godWlBY3Rpb25Nb2RlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBhbnksIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wcmVzc2VkQnV0dG9uQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5zZXJ2aWNlLnVpQWN0aW9uTW9kZWwgPSB1aUFjdGlvbk1vZGVsO1xyXG4gICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICBub2RlSWQ6IHVpQWN0aW9uTW9kZWwubm9kZUlkLFxyXG4gICAgICAgIHdpZGdldElkOiB1aUFjdGlvbk1vZGVsLndpZGdldElkLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmV4ZWN1dGUodWlBY3Rpb25Nb2RlbC51aUFjdGlvbiwgb3B0aW9ucyk7XHJcblxyXG4gICAgICB0aGlzLnByZXNzZWRCdXR0b25BY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BY3Rpb25Eb3VibGVDbGlja2VkKGV2ZW50OiBhbnksIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgLy8gV2UgZG8gbm90IGhhbmRsZSBkb3VibGUgY2xpY2tzXHJcbiAgfVxyXG4gIGdldGJ0bkNsYXNzKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgaWYgKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3IpIHtcclxuICAgICAgcmV0dXJuICdwLWJ1dHRvbi0nICsgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgZ2V0VHlwZSh1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogYW55IHtcclxuICAgIGlmICghdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBBY3Rpb24gYnV0dG9uIHR5cGUgdW5zZXQ6ICR7dWlBY3Rpb25Nb2RlbD8udWlBY3Rpb24/LmNvZGV9YCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcpIHtcclxuICAgICAgLy8gcmV0dXJuICcnO1xyXG5cclxuICAgICAgLy8gJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAvKiAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxyXG4gICovXHJcbiAgICAgIHN3aXRjaCAodWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VEOlxyXG4gICAgICAgICAgcmV0dXJuIHsgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XHJcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLCAncC1idXR0b24tcm91bmRlZCc6IHRydWUgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiB7ICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSwgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLCAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSB9O1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSkge1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1idXR0b24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmxhdC1idXR0b24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1yYWlzZWQtYnV0dG9uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXN0cm9rZWQtYnV0dG9uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWljb24tYnV0dG9uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1taW5pLWZhYic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZhYic7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGBVbmhhbmRsZWQgYWN0aW9uIGJ1dHRvbiB0eXBlIGNhc2U6ICR7dWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlfWApO1xyXG4gICAgICAgICAgcmV0dXJuIGBtYXQtYnV0dG9uYDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWNvblBvc2l0aW9uKCk6IHR5cGVvZiBJY29uUG9zaXRpb24ge1xyXG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGlzT25seUljb24odWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTiB8fFxyXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQiB8fFxyXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5GQUJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRUb29sdGlwUG9zKHBvcz86IFVpQWN0aW9uVG9vbHRpcFRvb2x0aXBQb3NpdGlvbkVudW0pOiBUb29sdGlwUG9zaXRpb24ge1xyXG4gICAgaWYgKHBvcykge1xyXG4gICAgICByZXR1cm4gcG9zLnRvTG93ZXJDYXNlKCkgYXMgVG9vbHRpcFBvc2l0aW9uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdiZWZvcmUnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcERlbGF5KGRlbGF5PzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBkZWxheSA/IGRlbGF5IDogMTAwMDtcclxuICB9XHJcblxyXG4gIGdldFRvb2x0aXBIaWRlRGVsYXkoZGVsYXk/OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGRlbGF5ID8gZGVsYXkgOiAyMDAwO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidWlBY3Rpb25CdXR0b25zQ29udGFpbmVyXCI+XHJcbiAgQGlmKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gIDxidXR0b25cclxuICAgIHBCdXR0b25cclxuICAgIHBSaXBwbGVcclxuICAgICpuZ0Zvcj1cImxldCB1aUFjdGlvbk1vZGVsIG9mIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9uc1wiXHJcbiAgICBbc21hcnRUb29sdGlwXT1cInVpQWN0aW9uTW9kZWw/LmRlc2NyaXB0b3I/LnRvb2x0aXAhXCJcclxuICAgIFtuZ0NsYXNzXT1cImdldFR5cGUodWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgY2xhc3M9XCJ7eyB1aUFjdGlvbk1vZGVsLmNzc0NsYXNzIH19IHt7IGdldGJ0bkNsYXNzKHVpQWN0aW9uTW9kZWwpIH19XCJcclxuICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiISF1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkXCJcclxuICAgIChkYmxjbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICA+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbih1aUFjdGlvbk1vZGVsKTsgdGhlbiBpY29uT25seTsgZWxzZSB0ZXh0XCI+PC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI2ljb25Pbmx5PlxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uXCJcclxuICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcclxuICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0PlxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb24gJiZcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5QUkVcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtpY29uXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciEuaWNvbiFcIlxyXG4gICAgICAgIFtjb2xvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Db2xvciA/PyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yXCJcclxuICAgICAgPjwvc21hcnQtaWNvbj5cclxuICAgICAge3sgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50aXRsZSB9fVxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb24gJiZcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5QT1NUXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcclxuICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvYnV0dG9uPlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxidXR0b25cclxuICAgICpuZ0Zvcj1cImxldCB1aUFjdGlvbk1vZGVsIG9mIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9uc1wiXHJcbiAgICBtYXQtYnV0dG9uXHJcbiAgICBbc21hcnRUb29sdGlwXT1cInVpQWN0aW9uTW9kZWw/LmRlc2NyaXB0b3I/LnRvb2x0aXAhXCJcclxuICAgIFtuZ0NsYXNzXT1cImdldFR5cGUodWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgY2xhc3M9XCJ7eyB1aUFjdGlvbk1vZGVsLmNzc0NsYXNzIH19XCJcclxuICAgIFtjb2xvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yXCJcclxuICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiISF1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkXCJcclxuICAgIChkYmxjbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICA+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbih1aUFjdGlvbk1vZGVsKTsgdGhlbiBpY29uT25seTsgZWxzZSB0ZXh0XCI+PC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI2ljb25Pbmx5PlxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uXCJcclxuICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcclxuICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0PlxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb24gJiZcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5QUkVcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtpY29uXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciEuaWNvbiFcIlxyXG4gICAgICAgIFtjb2xvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb25Db2xvciA/PyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yXCJcclxuICAgICAgPjwvc21hcnQtaWNvbj5cclxuICAgICAge3sgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50aXRsZSB9fVxyXG4gICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb24gJiZcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5QT1NUXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcclxuICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXHJcbiAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -64,7 +64,7 @@ export class SmartViewContextDialogService {
64
64
  }
65
65
  dialogRef?.close();
66
66
  if (dialogRef instanceof DynamicDialogRef) {
67
- this.dialogService.dialogComponentRefMap.delete(dialogRef);
67
+ dialogRef?.destroy();
68
68
  }
69
69
  }
70
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartViewContextDialogService, deps: [{ token: i1.MatDialog }, { token: i2.Router }, { token: i3.DialogService }, { token: i0.Injector }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
79
79
  type: Inject,
80
80
  args: [COMPONENT_LIBRARY]
81
81
  }] }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUk3RCxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBSzVCLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFDWSxNQUFpQixFQUNqQixNQUFjLEVBQ2QsYUFBNEIsRUFDNUIsTUFBZ0IsRUFDUSxPQUF5QjtRQUpqRCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ1EsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFON0QscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFPakMsQ0FBQztJQUVKLFlBQVksQ0FDVixXQUE0QixFQUM1QixTQUE2QjtRQUU3QixJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUVsRSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2pELElBQUksRUFBRSxVQUFVO2dCQUNoQixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQzthQUNqRCxDQUFDLENBQUM7WUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FDYixXQUE0QixFQUM1QixTQUE2QjtRQUU3QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVyRSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELHFCQUFxQixDQUNuQixTQUE2QixFQUM3QixRQUFnQjtRQUVoQixJQUFJLFdBQVcsR0FBb0I7WUFDakMsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFFBQVE7YUFDaEI7WUFDRCxlQUFlLEVBQUUsU0FBUztTQUMzQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FDZixTQUFvRCxFQUNwRCxVQUEyQjtRQUUzQixJQUFJLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2dCQUN6QjtvQkFDRSxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87aUJBQzVCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNuQixJQUFJLFNBQVMsWUFBWSxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDOytHQTdFVSw2QkFBNkIsc0hBTzlCLGlCQUFpQjttSEFQaEIsNkJBQTZCLGNBRjVCLE1BQU07OzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU21hcnREaWFsb2dEYXRhIH0gZnJvbSAnLi4vc21hcnQtZGlhbG9nL3NtYXJ0ZGlhbG9nLm1vZGVsJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xyXG5pbXBvcnQgeyBESUFMT0dfRElTQUJMRV9DTE9TRSB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRWaWV3Q29udGV4dERpYWxvZ1NlcnZpY2Uge1xyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbmplY3Q6IEluamVjdG9yLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgcHVibGljIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnlcclxuICApIHt9XHJcblxyXG4gIGNyZWF0ZURpYWxvZyhcclxuICAgIHNtYXJ0RGlhbG9nOiBTbWFydERpYWxvZ0RhdGEsXHJcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PlxyXG4gICk6IE1hdERpYWxvZ1JlZjxhbnksIGFueT4gfCBEeW5hbWljRGlhbG9nUmVmIHtcclxuICAgIGxldCBkaWFsb2dEYXRhID0gc21hcnREaWFsb2c7XHJcbiAgICBpZiAodGhpcy5jb21wTGliID09PSB0aGlzLmNvbXBvbmVudExpYnJhcnkuTUFURVJJQUwpIHtcclxuICAgICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IGRhdGE6IGRpYWxvZ0RhdGEgfSk7XHJcblxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xvc2VEaWFsb2coZGlhbG9nUmVmLCBkaWFsb2dEYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkaWFsb2dSZWY7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCB7XHJcbiAgICAgICAgZGF0YTogZGlhbG9nRGF0YSxcclxuICAgICAgICBjbG9zYWJsZTogIXRoaXMuaW5qZWN0LmdldChESUFMT0dfRElTQUJMRV9DTE9TRSksXHJcbiAgICAgIH0pO1xyXG4gICAgICBkaWFsb2dSZWYub25DbG9zZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbG9zZURpYWxvZyhkaWFsb2dSZWYsIGRpYWxvZ0RhdGEpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZURpYWxvZ1JlZihcclxuICAgIHNtYXJ0RGlhbG9nOiBTbWFydERpYWxvZ0RhdGEsXHJcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PlxyXG4gICk6IE1hdERpYWxvZ1JlZjxhbnksIGFueT4gfCBEeW5hbWljRGlhbG9nUmVmIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IGRhdGE6IHNtYXJ0RGlhbG9nIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICB9XHJcblxyXG4gIG9wZW5Db21wb25lbnRBc0RpYWxvZyhcclxuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+LFxyXG4gICAgdmlld05hbWU6IHN0cmluZ1xyXG4gICk6IE1hdERpYWxvZ1JlZjxhbnksIGFueT4gfCBEeW5hbWljRGlhbG9nUmVmIHtcclxuICAgIGxldCBzbWFydERpYWxvZzogU21hcnREaWFsb2dEYXRhID0ge1xyXG4gICAgICBzaXplOiB7fSxcclxuICAgICAgY29udGVudDoge1xyXG4gICAgICAgIHRpdGxlOiB2aWV3TmFtZSxcclxuICAgICAgfSxcclxuICAgICAgY3VzdG9tQ29tcG9uZW50OiBjb21wb25lbnQsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZURpYWxvZyhzbWFydERpYWxvZywgY29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNsb3NlRGlhbG9nKFxyXG4gICAgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+IHwgRHluYW1pY0RpYWxvZ1JlZixcclxuICAgIGRpYWxvZ0RhdGE6IFNtYXJ0RGlhbG9nRGF0YVxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKGRpYWxvZ0RhdGE/Lm91dGxldHMpIHtcclxuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG91dGxldHM6IGRpYWxvZ0RhdGEub3V0bGV0cyxcclxuICAgICAgICB9LFxyXG4gICAgICBdKTtcclxuICAgIH1cclxuICAgIGRpYWxvZ1JlZj8uY2xvc2UoKTtcclxuICAgIGlmIChkaWFsb2dSZWYgaW5zdGFuY2VvZiBEeW5hbWljRGlhbG9nUmVmKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5kaWFsb2dDb21wb25lbnRSZWZNYXAuZGVsZXRlKGRpYWxvZ1JlZik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUk3RCxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBSzVCLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFDWSxNQUFpQixFQUNqQixNQUFjLEVBQ2QsYUFBNEIsRUFDNUIsTUFBZ0IsRUFDUSxPQUF5QjtRQUpqRCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ1EsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFON0QscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFPakMsQ0FBQztJQUVKLFlBQVksQ0FDVixXQUE0QixFQUM1QixTQUE2QjtRQUU3QixJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUVsRSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2pELElBQUksRUFBRSxVQUFVO2dCQUNoQixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQzthQUNqRCxDQUFDLENBQUM7WUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FDYixXQUE0QixFQUM1QixTQUE2QjtRQUU3QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVyRSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELHFCQUFxQixDQUNuQixTQUE2QixFQUM3QixRQUFnQjtRQUVoQixJQUFJLFdBQVcsR0FBb0I7WUFDakMsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFFBQVE7YUFDaEI7WUFDRCxlQUFlLEVBQUUsU0FBUztTQUMzQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FDZixTQUFvRCxFQUNwRCxVQUEyQjtRQUUzQixJQUFJLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2dCQUN6QjtvQkFDRSxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87aUJBQzVCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNuQixJQUFJLFNBQVMsWUFBWSxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzsrR0E3RVUsNkJBQTZCLHNIQU85QixpQkFBaUI7bUhBUGhCLDZCQUE2QixjQUY1QixNQUFNOzs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNtYXJ0RGlhbG9nRGF0YSB9IGZyb20gJy4uL3NtYXJ0LWRpYWxvZy9zbWFydGRpYWxvZy5tb2RlbCc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgRElBTE9HX0RJU0FCTEVfQ0xPU0UgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Vmlld0NvbnRleHREaWFsb2dTZXJ2aWNlIHtcclxuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTtcclxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0OiBJbmplY3RvcixcclxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIHB1YmxpYyBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5XHJcbiAgKSB7fVxyXG5cclxuICBjcmVhdGVEaWFsb2coXHJcbiAgICBzbWFydERpYWxvZzogU21hcnREaWFsb2dEYXRhLFxyXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT5cclxuICApOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+IHwgRHluYW1pY0RpYWxvZ1JlZiB7XHJcbiAgICBsZXQgZGlhbG9nRGF0YSA9IHNtYXJ0RGlhbG9nO1xyXG4gICAgaWYgKHRoaXMuY29tcExpYiA9PT0gdGhpcy5jb21wb25lbnRMaWJyYXJ5Lk1BVEVSSUFMKSB7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudCwgeyBkYXRhOiBkaWFsb2dEYXRhIH0pO1xyXG5cclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmNsb3NlRGlhbG9nKGRpYWxvZ1JlZiwgZGlhbG9nRGF0YSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gZGlhbG9nUmVmO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKGNvbXBvbmVudCwge1xyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0RhdGEsXHJcbiAgICAgICAgY2xvc2FibGU6ICF0aGlzLmluamVjdC5nZXQoRElBTE9HX0RJU0FCTEVfQ0xPU0UpLFxyXG4gICAgICB9KTtcclxuICAgICAgZGlhbG9nUmVmLm9uQ2xvc2UucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xvc2VEaWFsb2coZGlhbG9nUmVmLCBkaWFsb2dEYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkaWFsb2dSZWY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEaWFsb2dSZWYoXHJcbiAgICBzbWFydERpYWxvZzogU21hcnREaWFsb2dEYXRhLFxyXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT5cclxuICApOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+IHwgRHluYW1pY0RpYWxvZ1JlZiB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudCwgeyBkYXRhOiBzbWFydERpYWxvZyB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBkaWFsb2dSZWY7XHJcbiAgfVxyXG5cclxuICBvcGVuQ29tcG9uZW50QXNEaWFsb2coXHJcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PixcclxuICAgIHZpZXdOYW1lOiBzdHJpbmdcclxuICApOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+IHwgRHluYW1pY0RpYWxvZ1JlZiB7XHJcbiAgICBsZXQgc21hcnREaWFsb2c6IFNtYXJ0RGlhbG9nRGF0YSA9IHtcclxuICAgICAgc2l6ZToge30sXHJcbiAgICAgIGNvbnRlbnQ6IHtcclxuICAgICAgICB0aXRsZTogdmlld05hbWUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGN1c3RvbUNvbXBvbmVudDogY29tcG9uZW50LFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEaWFsb2coc21hcnREaWFsb2csIGNvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjbG9zZURpYWxvZyhcclxuICAgIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPGFueSwgYW55PiB8IER5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICBkaWFsb2dEYXRhOiBTbWFydERpYWxvZ0RhdGFcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChkaWFsb2dEYXRhPy5vdXRsZXRzKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvdXRsZXRzOiBkaWFsb2dEYXRhLm91dGxldHMsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSk7XHJcbiAgICB9XHJcbiAgICBkaWFsb2dSZWY/LmNsb3NlKCk7XHJcbiAgICBpZiAoZGlhbG9nUmVmIGluc3RhbmNlb2YgRHluYW1pY0RpYWxvZ1JlZikge1xyXG4gICAgICBkaWFsb2dSZWY/LmRlc3Ryb3koKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -58,6 +58,7 @@ import { ImageModule } from 'primeng/image';
58
58
  import { UiActionDialogButtonComponent } from './smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component';
59
59
  import { MultiSelectModule } from 'primeng/multiselect';
60
60
  import { InputSwitchModule } from 'primeng/inputswitch';
61
+ import { ChipsModule } from 'primeng/chips';
61
62
  import * as i0 from "@angular/core";
62
63
  import * as i1 from "ngx-quill";
63
64
  export class SmartViewContextModule {
@@ -115,7 +116,8 @@ export class SmartViewContextModule {
115
116
  CommonModule,
116
117
  ToastModule,
117
118
  DynamicDialogModule,
118
- FileUploadModule], exports: [UiActionToolbarComponent,
119
+ FileUploadModule,
120
+ ChipsModule], exports: [UiActionToolbarComponent,
119
121
  UiActionInputDialogComponent,
120
122
  SmartformComponent,
121
123
  SmartformwidgetComponent,
@@ -184,7 +186,8 @@ export class SmartViewContextModule {
184
186
  CommonModule,
185
187
  ToastModule,
186
188
  DynamicDialogModule,
187
- FileUploadModule] }); }
189
+ FileUploadModule,
190
+ ChipsModule] }); }
188
191
  }
189
192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartViewContextModule, decorators: [{
190
193
  type: NgModule,
@@ -250,6 +253,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
250
253
  ToastModule,
251
254
  DynamicDialogModule,
252
255
  FileUploadModule,
256
+ ChipsModule,
253
257
  ],
254
258
  exports: [
255
259
  UiActionToolbarComponent,
@@ -286,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
286
290
  ],
287
291
  }]
288
292
  }] });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUNqSSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQztBQUN2SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrRkFBK0YsQ0FBQztBQUNsSixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUNMLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQix3QkFBd0IsR0FDekIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUZBQXFGLENBQUM7QUFDbkksT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDN0gsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkZBQTZGLENBQUM7QUFDOUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsaUJBQWlCLEdBQ2xCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBaUMsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFGQUFxRixDQUFDO0FBQ2pJLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlGQUFpRixDQUFDO0FBQzFILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBQzdILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxRkFBcUYsQ0FBQztBQUNwSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBcUd4RCxNQUFNLE9BQU8sc0JBQXNCOytHQUF0QixzQkFBc0I7Z0hBQXRCLHNCQUFzQixpQkFqRy9CLHNCQUFzQjtZQUN0QixvQ0FBb0M7WUFDcEMsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsOEJBQThCO1lBQzlCLGlDQUFpQztZQUNqQyw4QkFBOEI7WUFDOUIsa0JBQWtCO1lBQ2xCLDZCQUE2QjtZQUM3Qix3QkFBd0I7WUFDeEIsMEJBQTBCO1lBQzFCLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QixhQUFhLGFBR2IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsZUFBZTtZQUNmLFlBQVk7WUFDWixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGlCQUFpQjtZQUVqQixhQUFhO1lBQ2IsY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixxQkFBcUIsa0JBR3JCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsV0FBVztZQUNYLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZ0JBQWdCLGFBR2hCLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsa0JBQWtCO1lBQ2xCLHdCQUF3QjtZQUN4Qiw2QkFBNkI7WUFDN0IsMEJBQTBCO1lBQzFCLGFBQWE7Z0hBNEJKLHNCQUFzQixhQXpCdEI7WUFDVCx1QkFBdUI7WUFDdkIsY0FBYyxFQUFFO1lBQ2hCLGFBQWE7WUFDYjtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNqRCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUU7WUFDM0UsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFO1lBQzNFLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSwrQkFBK0IsRUFBRTtZQUVqRixnQkFBZ0I7WUFDaEIsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDL0MsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFO1lBQ2hFLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7WUFDckQ7Z0JBQ0UsT0FBTyxFQUFFLCtCQUErQjtnQkFDeEMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sRUFBRTthQUNqRDtZQUNELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7U0FDcEUsWUE1RUMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsZUFBZTtZQUNmLFlBQVk7WUFDWixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGlCQUFpQjtZQUVqQixhQUFhO1lBQ2IsY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLFdBQVcsQ0FBQyxPQUFPLEVBQUU7WUFDckIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixnQkFBZ0I7OzRGQXFDUCxzQkFBc0I7a0JBbkdsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixzQkFBc0I7d0JBQ3RCLG9DQUFvQzt3QkFDcEMsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5QixpQ0FBaUM7d0JBQ2pDLDhCQUE4Qjt3QkFDOUIsa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUVqQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsV0FBVyxDQUFDLE9BQU8sRUFBRTt3QkFDckIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDVCx1QkFBdUI7d0JBQ3ZCLGNBQWMsRUFBRTt3QkFDaEIsYUFBYTt3QkFDYjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsMkJBQTJCOzRCQUNyQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO3dCQUNqRCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUU7d0JBQzNFLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRTt3QkFDM0UsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLCtCQUErQixFQUFFO3dCQUVqRixnQkFBZ0I7d0JBQ2hCLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO3dCQUMvQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUU7d0JBQ2hFLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7d0JBQ3JEOzRCQUNFLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUU7eUJBQ2pEO3dCQUNELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7cUJBQ3BFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7XHJcbiAgRGF0ZUFkYXB0ZXIsXHJcbiAgTUFUX0RBVEVfRk9STUFUUyxcclxuICBNQVRfREFURV9MT0NBTEUsXHJcbiAgTWF0Q29tbW9uTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTWVzc2FnZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1kaWFsb2cvbWVzc2FnZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRElBTE9HX0RJU0FCTEVfQ0xPU0UsIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC12aWV3LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRJbnRlcmNlcHRvciB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgU21hcnRWaWV3UmVkaXJlY3QgfSBmcm9tICcuL3NtYXJ0LXZpZXctcmVkaXJlY3Qvc21hcnQtdmlldy1yZWRpcmVjdCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkNvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEljb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1pY29uL3Byb2plY3RzJztcclxuaW1wb3J0IHtcclxuICBIaWdobGlnaHRQaXBlLFxyXG4gIFNtYXJ0V2lkZ2V0U2V0dGluZ3MsXHJcbiAgU21hcnRmaWxldXBsb2FkZXJDb21wb25lbnQsXHJcbiAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gIFNtYXJ0Zm9ybXdpZGdldENvbXBvbmVudCxcclxufSBmcm9tICcuLi9zbWFydC1mb3JtL3Byb2plY3RzJztcclxuaW1wb3J0IHsgSW52YWxpZEZpZWxkc1NuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnZhbGlkLWZpZWxkcy1zbmFjay1iYXIvaW52YWxpZC1maWVsZHMtc25hY2stYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Db25maXJtRGlhbG9nU2VydmljZSB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nU2VydmljZSB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQge1xyXG4gIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsXHJcbiAgTUFUX01PTUVOVF9EQVRFX0ZPUk1BVFMsXHJcbiAgTWF0TW9tZW50RGF0ZU1vZHVsZSxcclxuICBNb21lbnREYXRlQWRhcHRlcixcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE5neE1hc2tEaXJlY3RpdmUsIE5neE1hc2tQaXBlLCBwcm92aWRlTmd4TWFzayB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgUXVpbGxNb2R1bGUgfSBmcm9tICduZ3gtcXVpbGwnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBZb3VUdWJlUGxheWVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIveW91dHViZS1wbGF5ZXInO1xyXG5pbXBvcnQgeyBUcmFja0NhcHNEaXJlY3RpdmUgfSBmcm9tICcuLi9zbWFydC1mb3JtL3dpZGdldHMvc21hcnRmb3Jtd2lkZ2V0L3RyYWNrQ2Fwcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMYXJnZUZpbGVTbmFja0JhckNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vc21hcnRmaWxldXBsb2FkZXIvbGFyZ2UtZmlsZS1zbmFjay1iYXIvbGFyZ2UtZmlsZS1zbmFjay1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29ydGFibGVXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1mb3JtL3dpZGdldHMvc21hcnRmb3Jtd2lkZ2V0L3NvcnRhYmxlLXdpZGdldC9zb3J0YWJsZS13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRNb250aFBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vd2lkZ2V0cy9jb21wb25lbnRzL3NtYXJ0LW1vbnRoLXBpY2tlci9zbWFydC1tb250aC1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGb3JtU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vc2VydmljZXMvc21hcnRmb3JtLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQnV0dG9uLCBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSBhcyBQcmltZVNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBJbnB1dE51bWJlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRudW1iZXInO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcclxuaW1wb3J0IHsgRmxvYXRMYWJlbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZmxvYXRsYWJlbCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2ZpbGV1cGxvYWQnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBJbWFnZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW1hZ2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRpYWxvZ0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWRpYWxvZy1idXR0b24vdWktYWN0aW9uLWRpYWxvZy1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JztcclxuaW1wb3J0IHsgSW5wdXRTd2l0Y2hNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0c3dpdGNoJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNZXNzYWdlRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU21hcnRWaWV3Q29udGV4dEVycm9yRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU21hcnRWaWV3UmVkaXJlY3QsXHJcbiAgICBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25Db25maXJtRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgSW52YWxpZEZpZWxkc1NuYWNrQmFyQ29tcG9uZW50LFxyXG4gICAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25EaWFsb2dCdXR0b25Db21wb25lbnQsXHJcbiAgICBTbWFydGZvcm13aWRnZXRDb21wb25lbnQsXHJcbiAgICBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudCxcclxuICAgIFRyYWNrQ2Fwc0RpcmVjdGl2ZSxcclxuICAgIExhcmdlRmlsZVNuYWNrQmFyQ29tcG9uZW50LFxyXG4gICAgU29ydGFibGVXaWRnZXRDb21wb25lbnQsXHJcbiAgICBTbWFydE1vbnRoUGlja2VyQ29tcG9uZW50LFxyXG4gICAgSGlnaGxpZ2h0UGlwZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBNYXRDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgICBTbWFydEljb25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG4gICAgUHJpbWVTaGFyZWRNb2R1bGUsXHJcblxyXG4gICAgQnJvd3Nlck1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRNb21lbnREYXRlTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIC8vTmd4TWFza01vZHVsZS5mb3JSb290KCksXHJcbiAgICBRdWlsbE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFlvdVR1YmVQbGF5ZXJNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgIE11bHRpU2VsZWN0TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBJbnB1dFN3aXRjaE1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICAgIEltYWdlTW9kdWxlLFxyXG4gICAgRmxvYXRMYWJlbE1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgRHluYW1pY0RpYWxvZ01vZHVsZSxcclxuICAgIEZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gICAgU21hcnRmb3Jtd2lkZ2V0Q29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25EaWFsb2dCdXR0b25Db21wb25lbnQsXHJcbiAgICBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudCxcclxuICAgIEhpZ2hsaWdodFBpcGUsXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTbWFydFZpZXdDb250ZXh0U2VydmljZSxcclxuICAgIHByb3ZpZGVOZ3hNYXNrKCksXHJcbiAgICBEaWFsb2dTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgdXNlQ2xhc3M6IFNtYXJ0Vmlld0NvbnRleHRJbnRlcmNlcHRvcixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBESUFMT0dfRElTQUJMRV9DTE9TRSwgdXNlVmFsdWU6IHRydWUgfSxcclxuICAgIHsgcHJvdmlkZTogJ2NvbmZpcm1EaWFsb2dTZXJ2aWNlJywgdXNlQ2xhc3M6IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSxcclxuICAgIHsgcHJvdmlkZTogJ3RleHRGaWVsZERpYWxvZ1NlcnZpY2UnLCB1c2VDbGFzczogVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UgfSxcclxuICAgIHsgcHJvdmlkZTogJ2ZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlJywgdXNlQ2xhc3M6IFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UgfSxcclxuXHJcbiAgICBTbWFydEZvcm1TZXJ2aWNlLFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAnaHUtSFUnIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNQVRfTU9NRU5UX0RBVEVfRk9STUFUUyB9LFxyXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsXHJcbiAgICAgIHVzZVZhbHVlOiB7IHVzZVV0YzogU21hcnRXaWRnZXRTZXR0aW5ncy51c2VVdGMgfSxcclxuICAgIH0sXHJcbiAgICB7IHByb3ZpZGU6IENPTVBPTkVOVF9MSUJSQVJZLCB1c2VWYWx1ZTogQ29tcG9uZW50TGlicmFyeS5NQVRFUklBTCB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydFZpZXdDb250ZXh0TW9kdWxlIHt9XHJcbiJdfQ==
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUNqSSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQztBQUN2SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrRkFBK0YsQ0FBQztBQUNsSixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUNMLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQix3QkFBd0IsR0FDekIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUZBQXFGLENBQUM7QUFDbkksT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDN0gsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkZBQTZGLENBQUM7QUFDOUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsaUJBQWlCLEdBQ2xCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBaUMsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFGQUFxRixDQUFDO0FBQ2pJLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlGQUFpRixDQUFDO0FBQzFILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBQzdILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxRkFBcUYsQ0FBQztBQUNwSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFzRzVDLE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQWxHL0Isc0JBQXNCO1lBQ3RCLG9DQUFvQztZQUNwQyxpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLDRCQUE0QjtZQUM1Qiw4QkFBOEI7WUFDOUIsaUNBQWlDO1lBQ2pDLDhCQUE4QjtZQUM5QixrQkFBa0I7WUFDbEIsNkJBQTZCO1lBQzdCLHdCQUF3QjtZQUN4QiwwQkFBMEI7WUFDMUIsa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQix1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLGFBQWEsYUFHYixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixlQUFlO1lBQ2YsWUFBWTtZQUNaLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osaUJBQWlCO1lBRWpCLGFBQWE7WUFDYixjQUFjO1lBQ2QsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLHFCQUFxQixrQkFHckIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsV0FBVyxhQUdYLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsa0JBQWtCO1lBQ2xCLHdCQUF3QjtZQUN4Qiw2QkFBNkI7WUFDN0IsMEJBQTBCO1lBQzFCLGFBQWE7Z0hBNEJKLHNCQUFzQixhQXpCdEI7WUFDVCx1QkFBdUI7WUFDdkIsY0FBYyxFQUFFO1lBQ2hCLGFBQWE7WUFDYjtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNqRCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUU7WUFDM0UsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFO1lBQzNFLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSwrQkFBK0IsRUFBRTtZQUVqRixnQkFBZ0I7WUFDaEIsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDL0MsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFO1lBQ2hFLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7WUFDckQ7Z0JBQ0UsT0FBTyxFQUFFLCtCQUErQjtnQkFDeEMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sRUFBRTthQUNqRDtZQUNELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7U0FDcEUsWUE3RUMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsZUFBZTtZQUNmLFlBQVk7WUFDWixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGlCQUFpQjtZQUVqQixhQUFhO1lBQ2IsY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLFdBQVcsQ0FBQyxPQUFPLEVBQUU7WUFDckIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsV0FBVzs7NEZBcUNGLHNCQUFzQjtrQkFwR2xDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsb0NBQW9DO3dCQUNwQyxpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLGlDQUFpQzt3QkFDakMsOEJBQThCO3dCQUM5QixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0Isd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixpQkFBaUI7d0JBRWpCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQixXQUFXLENBQUMsT0FBTyxFQUFFO3dCQUNyQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1QsdUJBQXVCO3dCQUN2QixjQUFjLEVBQUU7d0JBQ2hCLGFBQWE7d0JBQ2I7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLDJCQUEyQjs0QkFDckMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTt3QkFDakQsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFO3dCQUMzRSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUU7d0JBQzNFLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSwrQkFBK0IsRUFBRTt3QkFFakYsZ0JBQWdCO3dCQUNoQixFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTt3QkFDL0MsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFO3dCQUNoRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO3dCQUNyRDs0QkFDRSxPQUFPLEVBQUUsK0JBQStCOzRCQUN4QyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxFQUFFO3lCQUNqRDt3QkFDRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO3FCQUNwRTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQge1xyXG4gIERhdGVBZGFwdGVyLFxyXG4gIE1BVF9EQVRFX0ZPUk1BVFMsXHJcbiAgTUFUX0RBVEVfTE9DQUxFLFxyXG4gIE1hdENvbW1vbk1vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UtZGlhbG9nL21lc3NhZ2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERJQUxPR19ESVNBQkxFX0NMT1NFLCBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cvc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0SW50ZXJjZXB0b3IgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld1JlZGlyZWN0IH0gZnJvbSAnLi9zbWFydC12aWV3LXJlZGlyZWN0L3NtYXJ0LXZpZXctcmVkaXJlY3QnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24taW5wdXQtZGlhbG9nL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlBY3Rpb25Db25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRJY29uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtaWNvbi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7XHJcbiAgSGlnaGxpZ2h0UGlwZSxcclxuICBTbWFydFdpZGdldFNldHRpbmdzLFxyXG4gIFNtYXJ0ZmlsZXVwbG9hZGVyQ29tcG9uZW50LFxyXG4gIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICBTbWFydGZvcm13aWRnZXRDb21wb25lbnQsXHJcbn0gZnJvbSAnLi4vc21hcnQtZm9ybS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IEludmFsaWRGaWVsZHNTbmFja0JhckNvbXBvbmVudCB9IGZyb20gJy4vaW52YWxpZC1maWVsZHMtc25hY2stYmFyL2ludmFsaWQtZmllbGRzLXNuYWNrLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24taW5wdXQtZGlhbG9nL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHtcclxuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxyXG4gIE1BVF9NT01FTlRfREFURV9GT1JNQVRTLFxyXG4gIE1hdE1vbWVudERhdGVNb2R1bGUsXHJcbiAgTW9tZW50RGF0ZUFkYXB0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBOZ3hNYXNrRGlyZWN0aXZlLCBOZ3hNYXNrUGlwZSwgcHJvdmlkZU5neE1hc2sgfSBmcm9tICduZ3gtbWFzayc7XHJcbmltcG9ydCB7IFF1aWxsTW9kdWxlIH0gZnJvbSAnbmd4LXF1aWxsJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWW91VHViZVBsYXllck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3lvdXR1YmUtcGxheWVyJztcclxuaW1wb3J0IHsgVHJhY2tDYXBzRGlyZWN0aXZlIH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL3NtYXJ0Zm9ybXdpZGdldC90cmFja0NhcHMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGFyZ2VGaWxlU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1mb3JtL3NtYXJ0ZmlsZXVwbG9hZGVyL2xhcmdlLWZpbGUtc25hY2stYmFyL2xhcmdlLWZpbGUtc25hY2stYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvcnRhYmxlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL3NtYXJ0Zm9ybXdpZGdldC9zb3J0YWJsZS13aWRnZXQvc29ydGFibGUtd2lkZ2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0TW9udGhQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1mb3JtL3dpZGdldHMvY29tcG9uZW50cy9zbWFydC1tb250aC1waWNrZXIvc21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1mb3JtL3NlcnZpY2VzL3NtYXJ0Zm9ybS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiwgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgYXMgUHJpbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcclxuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgSW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0YXJlYU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0YXJlYSc7XHJcbmltcG9ydCB7IEZsb2F0TGFiZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL2Zsb2F0bGFiZWwnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuL3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgSW1hZ2VNb2R1bGUgfSBmcm9tICdwcmltZW5nL2ltYWdlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25EaWFsb2dCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1kaWFsb2ctYnV0dG9uL3VpLWFjdGlvbi1kaWFsb2ctYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XHJcbmltcG9ydCB7IElucHV0U3dpdGNoTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHN3aXRjaCc7XHJcbmltcG9ydCB7IENoaXBzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGlwcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTWVzc2FnZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNtYXJ0Vmlld1JlZGlyZWN0LFxyXG4gICAgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25JbnB1dERpYWxvZ0NvbXBvbmVudCxcclxuICAgIFVpQWN0aW9uQ29uZmlybURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ0NvbXBvbmVudCxcclxuICAgIEludmFsaWRGaWVsZHNTbmFja0JhckNvbXBvbmVudCxcclxuICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgIFVpQWN0aW9uRGlhbG9nQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgU21hcnRmb3Jtd2lkZ2V0Q29tcG9uZW50LFxyXG4gICAgU21hcnRmaWxldXBsb2FkZXJDb21wb25lbnQsXHJcbiAgICBUcmFja0NhcHNEaXJlY3RpdmUsXHJcbiAgICBMYXJnZUZpbGVTbmFja0JhckNvbXBvbmVudCxcclxuICAgIFNvcnRhYmxlV2lkZ2V0Q29tcG9uZW50LFxyXG4gICAgU21hcnRNb250aFBpY2tlckNvbXBvbmVudCxcclxuICAgIEhpZ2hsaWdodFBpcGUsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gICAgU21hcnRJY29uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICAgIFByaW1lU2hhcmVkTW9kdWxlLFxyXG5cclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBNYXRDaGlwc01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgTWF0TW9tZW50RGF0ZU1vZHVsZSxcclxuICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICAvL05neE1hc2tNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgUXVpbGxNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBZb3VUdWJlUGxheWVyTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBNdWx0aVNlbGVjdE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSW5wdXRTd2l0Y2hNb2R1bGUsXHJcbiAgICBJbnB1dE51bWJlck1vZHVsZSxcclxuICAgIElucHV0VGV4dGFyZWFNb2R1bGUsXHJcbiAgICBJbWFnZU1vZHVsZSxcclxuICAgIEZsb2F0TGFiZWxNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUb2FzdE1vZHVsZSxcclxuICAgIER5bmFtaWNEaWFsb2dNb2R1bGUsXHJcbiAgICBGaWxlVXBsb2FkTW9kdWxlLFxyXG4gICAgQ2hpcHNNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gICAgU21hcnRmb3Jtd2lkZ2V0Q29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25EaWFsb2dCdXR0b25Db21wb25lbnQsXHJcbiAgICBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudCxcclxuICAgIEhpZ2hsaWdodFBpcGUsXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTbWFydFZpZXdDb250ZXh0U2VydmljZSxcclxuICAgIHByb3ZpZGVOZ3hNYXNrKCksXHJcbiAgICBEaWFsb2dTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgdXNlQ2xhc3M6IFNtYXJ0Vmlld0NvbnRleHRJbnRlcmNlcHRvcixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBESUFMT0dfRElTQUJMRV9DTE9TRSwgdXNlVmFsdWU6IHRydWUgfSxcclxuICAgIHsgcHJvdmlkZTogJ2NvbmZpcm1EaWFsb2dTZXJ2aWNlJywgdXNlQ2xhc3M6IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSxcclxuICAgIHsgcHJvdmlkZTogJ3RleHRGaWVsZERpYWxvZ1NlcnZpY2UnLCB1c2VDbGFzczogVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UgfSxcclxuICAgIHsgcHJvdmlkZTogJ2ZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlJywgdXNlQ2xhc3M6IFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UgfSxcclxuXHJcbiAgICBTbWFydEZvcm1TZXJ2aWNlLFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAnaHUtSFUnIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNQVRfTU9NRU5UX0RBVEVfRk9STUFUUyB9LFxyXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsXHJcbiAgICAgIHVzZVZhbHVlOiB7IHVzZVV0YzogU21hcnRXaWRnZXRTZXR0aW5ncy51c2VVdGMgfSxcclxuICAgIH0sXHJcbiAgICB7IHByb3ZpZGU6IENPTVBPTkVOVF9MSUJSQVJZLCB1c2VWYWx1ZTogQ29tcG9uZW50TGlicmFyeS5NQVRFUklBTCB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydFZpZXdDb250ZXh0TW9kdWxlIHt9XHJcbiJdfQ==