@eo-sdk/client 8.16.19 → 8.16.20

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.
@@ -6,10 +6,10 @@ export class AboutStateComponent {
6
6
  this.http = http;
7
7
  this.userService = userService;
8
8
  this.config = config;
9
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.19", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
9
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.20", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
10
10
  this.ctrl = {
11
11
  productName: 'yuuvis® RAD client',
12
- clientVersion: '8.16.19'
12
+ clientVersion: '8.16.20'
13
13
  };
14
14
  this.licenses = {
15
15
  'MIT': {
@@ -82,4 +82,4 @@ AboutStateComponent.ctorParameters = () => [
82
82
  { type: UserService },
83
83
  { type: Config }
84
84
  ];
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBT2pELE1BQU0sT0FBTyxtQkFBbUI7SUFxRDlCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBVSxNQUFjO1FBQTFFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoRDlGLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsbUJBQW1CLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFJaDlELFNBQUksR0FBRztZQUNMLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxtQ0FBTyxJQUFJLEtBQUUsSUFBSSxHQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVzthQUNiLEtBQUs7YUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbTBEQUEyQzs7YUFFNUM7OztZQVBPLFVBQVU7WUFDVixXQUFXO1lBQUUsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hYm91dC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRTdGF0ZUNvbXBvbmVudCB7XG5cbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGhlYWRlckxvZ286IHN0cmluZztcbiAgbGljZW5zZVNob3c6IGJvb2xlYW47XG4gIF9fbGlicmFyaWVzX18gPSBbe1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXJcIixcInZlcnNpb25cIjpcIjIyLjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWxcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydFwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY2RrXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21tb25cIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2NvbXBpbGVyXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9mb3Jtc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9yb3V0ZXJcIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBlby1zZGsvY29yZVwiLFwidmVyc2lvblwiOlwiOC4xNi4xOVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjExLjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjEzLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB0eXBlcy9sb2Rhc2hcIixcInZlcnNpb25cIjpcIjQuMTQuODhcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJjb3JlLWpzXCIsXCJ2ZXJzaW9uXCI6XCIyLjUuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwia2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGxcIixcInZlcnNpb25cIjpcIjEuMS4wXCIsXCJsaWNlbnNlXCI6XCJDQzAtMS4wXCJ9LHtcIm5hbWVcIjpcImtleWNvZGUtanNcIixcInZlcnNpb25cIjpcIjAuMC40XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9iaWxlLWRyYWctZHJvcFwiLFwidmVyc2lvblwiOlwiMi4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJtb21lbnRcIixcInZlcnNpb25cIjpcIjIuMjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm5neC10b2FzdHJcIixcInZlcnNpb25cIjpcIjEzLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1laWNvbnNcIixcInZlcnNpb25cIjpcIjEuMC4wLWJldGEuNlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1lbmdcIixcInZlcnNpb25cIjpcIjcuMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicmVmbGVjdC1tZXRhZGF0YVwiLFwidmVyc2lvblwiOlwiMC4xLjEwXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInJ4anNcIixcInZlcnNpb25cIjpcIjYuNi4zXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInRzbGliXCIsXCJ2ZXJzaW9uXCI6XCIyLjEuMFwiLFwibGljZW5zZVwiOlwiMEJTRFwifSx7XCJuYW1lXCI6XCJ6b25lLmpzXCIsXCJ2ZXJzaW9uXCI6XCIwLjEwLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifV07XG4gIHVzZXJMYW5nOiBzdHJpbmc7XG4gIGRvY3U6IHsgbGluazogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH07XG5cbiAgY3RybCA9IHtcbiAgICBwcm9kdWN0TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNsaWVudFZlcnNpb246ICc4LjE2LjE5J1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRhdGlvbigpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIGNvbnN0IGRvY3UgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmRvY3UnKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgdGhpcy51c2VyTGFuZy5zdWJzdHJpbmcoMCwgMikpO1xuICAgIHRoaXMuZG9jdSA9IHsuLi5kb2N1LCBsaW5rfTtcbiAgfVxuXG4gIGdldFVzZXJMYW5nKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHRoaXMudXNlckxhbmcgPSBkYXRhLnVzZXJTZXR0aW5ncy5jbGllbnRsb2NhbGUpO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBT2pELE1BQU0sT0FBTyxtQkFBbUI7SUFxRDlCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBVSxNQUFjO1FBQTFFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoRDlGLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsbUJBQW1CLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFJaDlELFNBQUksR0FBRztZQUNMLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxtQ0FBTyxJQUFJLEtBQUUsSUFBSSxHQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVzthQUNiLEtBQUs7YUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbTBEQUEyQzs7YUFFNUM7OztZQVBPLFVBQVU7WUFDVixXQUFXO1lBQUUsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hYm91dC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRTdGF0ZUNvbXBvbmVudCB7XG5cbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGhlYWRlckxvZ286IHN0cmluZztcbiAgbGljZW5zZVNob3c6IGJvb2xlYW47XG4gIF9fbGlicmFyaWVzX18gPSBbe1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXJcIixcInZlcnNpb25cIjpcIjIyLjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWxcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydFwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY2RrXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21tb25cIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2NvbXBpbGVyXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9mb3Jtc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9yb3V0ZXJcIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBlby1zZGsvY29yZVwiLFwidmVyc2lvblwiOlwiOC4xNi4yMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjExLjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjEzLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB0eXBlcy9sb2Rhc2hcIixcInZlcnNpb25cIjpcIjQuMTQuODhcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJjb3JlLWpzXCIsXCJ2ZXJzaW9uXCI6XCIyLjUuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwia2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGxcIixcInZlcnNpb25cIjpcIjEuMS4wXCIsXCJsaWNlbnNlXCI6XCJDQzAtMS4wXCJ9LHtcIm5hbWVcIjpcImtleWNvZGUtanNcIixcInZlcnNpb25cIjpcIjAuMC40XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9iaWxlLWRyYWctZHJvcFwiLFwidmVyc2lvblwiOlwiMi4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJtb21lbnRcIixcInZlcnNpb25cIjpcIjIuMjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm5neC10b2FzdHJcIixcInZlcnNpb25cIjpcIjEzLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1laWNvbnNcIixcInZlcnNpb25cIjpcIjEuMC4wLWJldGEuNlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1lbmdcIixcInZlcnNpb25cIjpcIjcuMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicmVmbGVjdC1tZXRhZGF0YVwiLFwidmVyc2lvblwiOlwiMC4xLjEwXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInJ4anNcIixcInZlcnNpb25cIjpcIjYuNi4zXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInRzbGliXCIsXCJ2ZXJzaW9uXCI6XCIyLjEuMFwiLFwibGljZW5zZVwiOlwiMEJTRFwifSx7XCJuYW1lXCI6XCJ6b25lLmpzXCIsXCJ2ZXJzaW9uXCI6XCIwLjEwLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifV07XG4gIHVzZXJMYW5nOiBzdHJpbmc7XG4gIGRvY3U6IHsgbGluazogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH07XG5cbiAgY3RybCA9IHtcbiAgICBwcm9kdWN0TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNsaWVudFZlcnNpb246ICc4LjE2LjIwJ1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRhdGlvbigpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIGNvbnN0IGRvY3UgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmRvY3UnKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgdGhpcy51c2VyTGFuZy5zdWJzdHJpbmcoMCwgMikpO1xuICAgIHRoaXMuZG9jdSA9IHsuLi5kb2N1LCBsaW5rfTtcbiAgfVxuXG4gIGdldFVzZXJMYW5nKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHRoaXMudXNlckxhbmcgPSBkYXRhLnVzZXJTZXR0aW5ncy5jbGllbnRsb2NhbGUpO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiJdfQ==
@@ -17,7 +17,7 @@ export class OpenContextActionComponent extends DmsObjectTarget {
17
17
  this.description = this.translate.instant('eo.shortcuts.action.open.context.description');
18
18
  }
19
19
  isExecutable(item) {
20
- const isExecutable = !this.isFolder(item) || (this.isFolder(item) && this.isNotInObjectState());
20
+ const isExecutable = (!this.isFolder(item) && this.isNotAlreadyOpened(item.id)) || (this.isFolder(item) && this.isNotInObjectState());
21
21
  return of(isExecutable);
22
22
  }
23
23
  getParams(selection) {
@@ -38,6 +38,10 @@ export class OpenContextActionComponent extends DmsObjectTarget {
38
38
  const disabledStates = ['/object'];
39
39
  return !disabledStates.some(s => this.router.url.includes(s));
40
40
  }
41
+ isNotAlreadyOpened(id) {
42
+ const disabledStates = ['/object/' + id];
43
+ return !disabledStates.some(s => this.router.url.includes(s));
44
+ }
41
45
  }
42
46
  OpenContextActionComponent.decorators = [
43
47
  { type: Component, args: [{
@@ -49,4 +53,4 @@ OpenContextActionComponent.ctorParameters = () => [
49
53
  { type: TranslateService },
50
54
  { type: Router }
51
55
  ];
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1jb250ZXh0LWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9vcGVuLWNvbnRleHQtYWN0aW9uL29wZW4tY29udGV4dC1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFpQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFeEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFPdkMsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQWU7SUFRN0QsWUFBb0IsU0FBMkIsRUFBVSxNQUFjO1FBQ3JFLEtBQUssRUFBRSxDQUFDO1FBRFUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTHZFLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixZQUFPLEdBQUcsb0NBQW9DLENBQUM7UUFDL0MsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUNqQixVQUFLLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUluQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBZTtRQUMxQixNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDaEcsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFzQjtRQUM5QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFzQjtRQUM1QixNQUFNLEVBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxlQUFlLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsT0FBTyxXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7O1lBM0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxRQUFRLEVBQUUsRUFBRTthQUNiOzs7WUFQTyxnQkFBZ0I7WUFDaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtvZiBhcyBvYnNlcnZhYmxlT2YsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TGlua0FjdGlvbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7RG1zT2JqZWN0VGFyZ2V0fSBmcm9tICcuLi8uLi9hY3Rpb24tdGFyZ2V0JztcbmltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2VsZWN0aW9uUmFuZ2V9IGZyb20gJy4uLy4uL3NlbGVjdGlvbi1yYW5nZS5lbnVtJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEbXNPYmplY3R9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW9wZW4tY29udGV4dC1hY3Rpb24nLFxuICB0ZW1wbGF0ZTogYGBcbn0pXG5leHBvcnQgY2xhc3MgT3BlbkNvbnRleHRBY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBEbXNPYmplY3RUYXJnZXQgaW1wbGVtZW50cyBMaW5rQWN0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcHJpb3JpdHkgPSAzLjU7XG4gIGljb25TcmMgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jb250ZXh0LnN2Zyc7XG4gIGdyb3VwID0gJ2NvbW1vbic7XG4gIHJhbmdlID0gU2VsZWN0aW9uUmFuZ2UuU0lOR0xFX1NFTEVDVDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24ub3Blbi5jb250ZXh0Jyk7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24ub3Blbi5jb250ZXh0LmRlc2NyaXB0aW9uJyk7XG4gIH1cblxuICBpc0V4ZWN1dGFibGUoaXRlbTogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgaXNFeGVjdXRhYmxlID0gIXRoaXMuaXNGb2xkZXIoaXRlbSkgfHwgKHRoaXMuaXNGb2xkZXIoaXRlbSkgJiYgdGhpcy5pc05vdEluT2JqZWN0U3RhdGUoKSk7XG4gICAgcmV0dXJuIG9mKGlzRXhlY3V0YWJsZSk7XG4gIH1cblxuICBnZXRQYXJhbXMoc2VsZWN0aW9uOiBEbXNPYmplY3RbXSk6IHsgdHlwZTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGl0ZW0gPSBzZWxlY3Rpb25bMF07XG4gICAgcmV0dXJuIHt0eXBlOiBpdGVtLnR5cGVOYW1lfTtcbiAgfVxuXG4gIGdldExpbmsoc2VsZWN0aW9uOiBEbXNPYmplY3RbXSk6IHN0cmluZyB7XG4gICAgY29uc3Qge2lkLCBpc0NvbnRleHRGb2xkZXIsIGNvbnRleHRGb2xkZXJ9ID0gc2VsZWN0aW9uWzBdO1xuICAgIGlmIChpc0NvbnRleHRGb2xkZXIgfHwgIWNvbnRleHRGb2xkZXIpIHtcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaG9ydGN1dHMuYXNpZGUuYWN0aW9uLm9wZW4nKTtcbiAgICB9XG4gICAgcmV0dXJuIGAvb2JqZWN0LyR7aWR9YDtcbiAgfVxuXG4gIGlzRm9sZGVyKGl0ZW06IERtc09iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpdGVtLmlzRm9sZGVyO1xuICB9XG5cbiAgaXNOb3RJbk9iamVjdFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRpc2FibGVkU3RhdGVzID0gWycvb2JqZWN0J107XG4gICAgcmV0dXJuICFkaXNhYmxlZFN0YXRlcy5zb21lKHMgPT4gdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKHMpKTtcbiAgfVxufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1jb250ZXh0LWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9vcGVuLWNvbnRleHQtYWN0aW9uL29wZW4tY29udGV4dC1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFpQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFeEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFPdkMsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQWU7SUFRN0QsWUFBb0IsU0FBMkIsRUFBVSxNQUFjO1FBQ3JFLEtBQUssRUFBRSxDQUFDO1FBRFUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTHZFLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixZQUFPLEdBQUcsb0NBQW9DLENBQUM7UUFDL0MsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUNqQixVQUFLLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUluQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBZTtRQUMxQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDdEksT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFzQjtRQUM5QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFzQjtRQUM1QixNQUFNLEVBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxlQUFlLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsT0FBTyxXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVU7UUFDM0IsTUFBTSxjQUFjLEdBQUcsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOzs7WUFoREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFFBQVEsRUFBRSxFQUFFO2FBQ2I7OztZQVBPLGdCQUFnQjtZQUNoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge29mIGFzIG9ic2VydmFibGVPZiwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtMaW5rQWN0aW9ufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtEbXNPYmplY3RUYXJnZXR9IGZyb20gJy4uLy4uL2FjdGlvbi10YXJnZXQnO1xuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTZWxlY3Rpb25SYW5nZX0gZnJvbSAnLi4vLi4vc2VsZWN0aW9uLXJhbmdlLmVudW0nO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0Rtc09iamVjdH0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tb3Blbi1jb250ZXh0LWFjdGlvbicsXG4gIHRlbXBsYXRlOiBgYFxufSlcbmV4cG9ydCBjbGFzcyBPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudCBleHRlbmRzIERtc09iamVjdFRhcmdldCBpbXBsZW1lbnRzIExpbmtBY3Rpb24ge1xuICBsYWJlbDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwcmlvcml0eSA9IDMuNTtcbiAgaWNvblNyYyA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2NvbnRleHQuc3ZnJztcbiAgZ3JvdXAgPSAnY29tbW9uJztcbiAgcmFuZ2UgPSBTZWxlY3Rpb25SYW5nZS5TSU5HTEVfU0VMRUNUO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmFjdGlvbi5vcGVuLmNvbnRleHQnKTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmFjdGlvbi5vcGVuLmNvbnRleHQuZGVzY3JpcHRpb24nKTtcbiAgfVxuXG4gIGlzRXhlY3V0YWJsZShpdGVtOiBEbXNPYmplY3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBpc0V4ZWN1dGFibGUgPSAoIXRoaXMuaXNGb2xkZXIoaXRlbSkgJiYgdGhpcy5pc05vdEFscmVhZHlPcGVuZWQoaXRlbS5pZCkpIHx8ICh0aGlzLmlzRm9sZGVyKGl0ZW0pICYmIHRoaXMuaXNOb3RJbk9iamVjdFN0YXRlKCkpO1xuICAgIHJldHVybiBvZihpc0V4ZWN1dGFibGUpO1xuICB9XG5cbiAgZ2V0UGFyYW1zKHNlbGVjdGlvbjogRG1zT2JqZWN0W10pOiB7IHR5cGU6IHN0cmluZyB9IHtcbiAgICBjb25zdCBpdGVtID0gc2VsZWN0aW9uWzBdO1xuICAgIHJldHVybiB7dHlwZTogaXRlbS50eXBlTmFtZX07XG4gIH1cblxuICBnZXRMaW5rKHNlbGVjdGlvbjogRG1zT2JqZWN0W10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHtpZCwgaXNDb250ZXh0Rm9sZGVyLCBjb250ZXh0Rm9sZGVyfSA9IHNlbGVjdGlvblswXTtcbiAgICBpZiAoaXNDb250ZXh0Rm9sZGVyIHx8ICFjb250ZXh0Rm9sZGVyKSB7XG4gICAgICB0aGlzLmxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmFzaWRlLmFjdGlvbi5vcGVuJyk7XG4gICAgfVxuICAgIHJldHVybiBgL29iamVjdC8ke2lkfWA7XG4gIH1cblxuICBpc0ZvbGRlcihpdGVtOiBEbXNPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbS5pc0ZvbGRlcjtcbiAgfVxuXG4gIGlzTm90SW5PYmplY3RTdGF0ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBkaXNhYmxlZFN0YXRlcyA9IFsnL29iamVjdCddO1xuICAgIHJldHVybiAhZGlzYWJsZWRTdGF0ZXMuc29tZShzID0+IHRoaXMucm91dGVyLnVybC5pbmNsdWRlcyhzKSk7XG4gIH1cblxuICBpc05vdEFscmVhZHlPcGVuZWQoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRpc2FibGVkU3RhdGVzID0gWycvb2JqZWN0LycgKyBpZF07XG4gICAgcmV0dXJuICFkaXNhYmxlZFN0YXRlcy5zb21lKHMgPT4gdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKHMpKTtcbiAgfVxufVxuIl19
@@ -62,7 +62,7 @@ export class StringComponent {
62
62
  return false;
63
63
  }
64
64
  autocompleteFn(evt) {
65
- const uri = `/autocomplete/element?prefix=${evt.query}&qname=${this.qname}`;
65
+ const uri = `/autocomplete/element?prefix=${encodeURIComponent(evt.query)}&qname=${this.qname}`;
66
66
  const base = this.backend.getSearchBase();
67
67
  this.backend
68
68
  .getJson(uri, base)
@@ -226,4 +226,4 @@ StringComponent.propDecorators = {
226
226
  minLength: [{ type: Input }],
227
227
  maxLength: [{ type: Input }]
228
228
  };
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvc3RyaW5nL3N0cmluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFJTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBb0J2RixNQUFNLE9BQU8sZUFBZTtJQWdDMUIsWUFBb0IsT0FBdUIsRUFBVSxVQUE4QjtRQUEvRCxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBR25GLG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtRQUM3QixDQUFDLENBQUM7SUFIRixDQUFDO0lBOUJELElBQ0ksWUFBWSxDQUFDLE9BQWdCO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQTRCRCxZQUFZLENBQUMsS0FBSztRQUNoQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElB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QUFLO29CQUNMLEtBQUs7bUJBRUwsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRm9ybUNvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBWYWxpZGF0b3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2UsIEVudmlyb25tZW50U2VydmljZSwgVXRpbHMsIEZvcm1hdGVkTWFpbFRvfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXN0cmluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHJpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHJpbmcuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdHJpbmdDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdHJpbmdDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG5cbiAgcHJpdmF0ZSBfYXV0b2NvbXBsZXRlOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBzZXQgYXV0b2NvbXBsZXRlKGF1dG9Db206IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hdXRvY29tcGxldGUgPSBhdXRvQ29tO1xuICB9XG5cbiAgZ2V0IGF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlO1xuICB9XG5cbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG11bHRpbGluZTogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGF1dG9mb2N1czogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjbGFzc2lmaWNhdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBzaXR1YXRpb246IHN0cmluZztcbiAgQElucHV0KCkgcmVnZXg6IHN0cmluZztcbiAgQElucHV0KCkgcW5hbWU6IHN0cmluZztcbiAgLy8gY291bGQgYmUgc21hbGwsIG1lZGl1bSwgbGFyZ2VcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xuICBASW5wdXQoKSBtaW5MZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXI7XG5cbiAgYXV0b2NvbXBsZXRlUmVzOiBhbnlbXTtcbiAgZm9ybWF0ZWRWYWx1ZTogRm9ybWF0ZWRNYWlsVG87XG4gIC8vIG1vZGVsIHZhbHVlXG4gIHZhbHVlO1xuICB2YWxpZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLCBwcml2YXRlIGVudlNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSkge1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9O1xuXG4gIG9uS2V5VXBFbnRlcihldmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRyaW0oKTtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IFtdO1xuICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlLCBpbnB1dF07XG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybWF0ZWRWYWx1ZSA9IFV0aWxzLmZvcm1hdE1haWxUbyh2YWx1ZSwgdGhpcy5jbGFzc2lmaWNhdGlvbiA9PT0gJ2VtYWlsJyk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlIHx8IG51bGw7XG4gICAgdGhpcy5fdmFsaWRhdGUoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2dCkge1xuICAgIHRoaXMuZm9ybWF0ZWRWYWx1ZSA9IFV0aWxzLmZvcm1hdE1haWxUbyhldnQsIHRoaXMuY2xhc3NpZmljYXRpb24gPT09ICdlbWFpbCcpO1xuICAgIHRoaXMudmFsdWUgPSBldnQubGVuZ3RoID8gZXZ0IDogbnVsbDtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy50cmltVmFsdWUoKSkge1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyaW1zIHRoZSBjdXJyZW50IHZhbHVlIGFuZCByZXR1cm5zIHdldGhlciBvciBub3QgaXQgaGFzIGJlZW4gdHJpbW1lZFxuICAgKi9cbiAgcHJpdmF0ZSB0cmltVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aEJlZm9yZSA9IHRoaXMudmFsdWUuam9pbignJykubGVuZ3RoO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5tYXAodiA9PiB2LnRyaW0oKSk7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmpvaW4oJycpLmxlbmd0aCAhPT0gbGVuZ3RoQmVmb3JlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGhpcy52YWx1ZS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRyaW0oKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoICE9PSBsZW5ndGhCZWZvcmU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKGV2dCkge1xuICAgIGNvbnN0IHVyaSA9IGAvYXV0b2NvbXBsZXRlL2VsZW1lbnQ/cHJlZml4PSR7ZXZ0LnF1ZXJ5fSZxbmFtZT0ke3RoaXMucW5hbWV9YDtcbiAgICBjb25zdCBiYXNlID0gdGhpcy5iYWNrZW5kLmdldFNlYXJjaEJhc2UoKTtcbiAgICB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKHVyaSwgYmFzZSlcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgbGV0IHIgPSBbXTtcbiAgICAgICAgcmVzLmZvckVhY2goaSA9PiByLnB1c2goaS52YWx1ZSkpO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHI7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVDbGFzc2lmaWNhdGlvbihzdHJpbmcpOiBib29sZWFuIHtcblxuICAgIGlmICh0aGlzLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcGF0dGVybjtcbiAgICAgIGlmICh0aGlzLmNsYXNzaWZpY2F0aW9uID09PSAnZW1haWwnKSB7XG4gICAgICAgIHBhdHRlcm4gPSAvXig/OiguKz8pXFxzKjwoXFx3KykoW1xcLSsuXVtcXHddKykqQChcXHdbXFwtXFx3XSpcXC4pezEsNX0oW0EtWmEtel17Miw2fSk+fFtcIiddezF9KC4rPylbXCInXXsxfVxccyo8KFxcdyspKFtcXC0rLl1bXFx3XSspKkAoXFx3W1xcLVxcd10qXFwuKXsxLDV9KFtBLVphLXpdezIsNn0pPnwoXFx3KykoW1xcLSsuXVtcXHddKykqQChcXHdbXFwtXFx3XSpcXC4pezEsNX0oW0EtWmEtel17Miw2fSkpJC87XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY2xhc3NpZmljYXRpb24gPT09ICd1cmwnKSB7XG4gICAgICAgIHBhdHRlcm4gPSAvKGh0dHB8ZnRwfGh0dHBzKTpcXC9cXC9bXFx3LV0rKFxcLltcXHctXSspKyhbXFx3LixAP149JSZhbXA7OlxcL34rIy1dKltcXHdAP149JSZhbXA7XFwvfisjLV0pPy87XG4gICAgICB9XG4gICAgICByZXR1cm4gcGF0dGVybiA/IHBhdHRlcm4udGVzdChzdHJpbmcpIDogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF92YWxpZGF0ZSgpIHtcbiAgICBsZXQgZXJyO1xuICAgIC8vIHZhbGlkYXRlIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMucmVnZXgpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgISF0aGlzLnZhbHVlLmZpbmQodiA9PiAhUmVnRXhwKHRoaXMucmVnZXgpLnRlc3QodikpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydyZWdleCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIVJlZ0V4cCh0aGlzLnJlZ2V4KS50ZXN0KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydyZWdleCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHZhbGlkYXRlIGNsYXNzaWZpY2F0aW9uIHNldHRpbmdzXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5jbGFzc2lmaWNhdGlvbikge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgZm9yIChsZXQgdiBvZiB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlQ2xhc3NpZmljYXRpb24odikpIHtcbiAgICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgICAgZXJyWydjbGFzc2lmaWNhdGlvbicgKyB0aGlzLmNsYXNzaWZpY2F0aW9uXSA9IHtcbiAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlQ2xhc3NpZmljYXRpb24odGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ2NsYXNzaWZpY2F0aW9uJyArIHRoaXMuY2xhc3NpZmljYXRpb25dID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB2YWxpZGF0ZSBsZW5ndGggaGVyZSB3aGVuIG11bHRpc2VsZWN0XG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiAhIXRoaXMudmFsdWUuZmluZCh2ID0+IHYubGVuZ3RoIDwgdGhpcy5taW5MZW5ndGgpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtaW5sZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmICEhdGhpcy52YWx1ZS5maW5kKHYgPT4gdi5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ21heGxlbmd0aCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmIHRoaXMudmFsdWUubGVuZ3RoIDwgdGhpcy5taW5MZW5ndGgpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ21pbmxlbmd0aCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtYXhsZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB2YWxpZGF0ZSBpbnZhbGlkIGlmIG9ubHkgd2hpdGVzcGFjZXNcbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlICE9PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICBmb3IgKGxldCB2IG9mIHRoaXMudmFsdWUpIHtcbiAgICAgICAgICBpZiAodi5sZW5ndGggJiYgIXYudHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgICBlcnJbJ29ubHlXaGl0ZXNwYWNlcyddID0ge1xuICAgICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCAmJiAhdGhpcy52YWx1ZS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydvbmx5V2hpdGVzcGFjZXMnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnZhbGlkID0gIWVycjtcbiAgICByZXR1cm4gZXJyIHx8IG51bGw7XG4gIH1cblxuICAvLyByZXR1cm5zIG51bGwgd2hlbiB2YWxpZCBlbHNlIHRoZSB2YWxpZGF0aW9uIG9iamVjdFxuICBwdWJsaWMgdmFsaWRhdGUoYzogRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGUoKTtcbiAgfVxufVxuIl19
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvc3RyaW5nL3N0cmluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFJTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBb0J2RixNQUFNLE9BQU8sZUFBZTtJQWdDMUIsWUFBb0IsT0FBdUIsRUFBVSxVQUE4QjtRQUEvRCxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBR25GLG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtRQUM3QixDQUFDLENBQUM7SUFIRixDQUFDO0lBOUJELElBQ0ksWUFBWSxDQUFDLE9BQWdCO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQTRCRCxZQUFZLENBQUMsS0FBSztRQUNoQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElB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QkFDTCxLQUFLO29CQUNMLEtBQUs7b0JBQ0wsS0FBSzttQkFFTCxLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3JtQ29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIFZhbGlkYXRvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIE5HX1ZBTElEQVRPUlNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlLCBVdGlscywgRm9ybWF0ZWRNYWlsVG99IGZyb20gJ0Blby1zZGsvY29yZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc3RyaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0cmluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0cmluZy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN0cmluZ0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN0cmluZ0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdHJpbmdDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcblxuICBwcml2YXRlIF9hdXRvY29tcGxldGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHNldCBhdXRvY29tcGxldGUoYXV0b0NvbTogYm9vbGVhbikge1xuICAgIHRoaXMuX2F1dG9jb21wbGV0ZSA9IGF1dG9Db207XG4gIH1cblxuICBnZXQgYXV0b2NvbXBsZXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGU7XG4gIH1cblxuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgbXVsdGlsaW5lOiBib29sZWFuO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGNsYXNzaWZpY2F0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpdHVhdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSByZWdleDogc3RyaW5nO1xuICBASW5wdXQoKSBxbmFtZTogc3RyaW5nO1xuICAvLyBjb3VsZCBiZSBzbWFsbCwgbWVkaXVtLCBsYXJnZVxuICBASW5wdXQoKSBzaXplOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcblxuICBhdXRvY29tcGxldGVSZXM6IGFueVtdO1xuICBmb3JtYXRlZFZhbHVlOiBGb3JtYXRlZE1haWxUbztcbiAgLy8gbW9kZWwgdmFsdWVcbiAgdmFsdWU7XG4gIHZhbGlkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgZW52U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlKSB7XG4gIH1cblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH07XG5cbiAgb25LZXlVcEVudGVyKGV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQudmFsdWUudHJpbSgpO1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogW107XG4gICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIGlucHV0XTtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtYXRlZFZhbHVlID0gVXRpbHMuZm9ybWF0TWFpbFRvKHZhbHVlLCB0aGlzLmNsYXNzaWZpY2F0aW9uID09PSAnZW1haWwnKTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgbnVsbDtcbiAgICB0aGlzLl92YWxpZGF0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UoZXZ0KSB7XG4gICAgdGhpcy5mb3JtYXRlZFZhbHVlID0gVXRpbHMuZm9ybWF0TWFpbFRvKGV2dCwgdGhpcy5jbGFzc2lmaWNhdGlvbiA9PT0gJ2VtYWlsJyk7XG4gICAgdGhpcy52YWx1ZSA9IGV2dC5sZW5ndGggPyBldnQgOiBudWxsO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLnRyaW1WYWx1ZSgpKSB7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpbXMgdGhlIGN1cnJlbnQgdmFsdWUgYW5kIHJldHVybnMgd2V0aGVyIG9yIG5vdCBpdCBoYXMgYmVlbiB0cmltbWVkXG4gICAqL1xuICBwcml2YXRlIHRyaW1WYWx1ZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGhpcy52YWx1ZS5qb2luKCcnKS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLm1hcCh2ID0+IHYudHJpbSgpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuam9pbignJykubGVuZ3RoICE9PSBsZW5ndGhCZWZvcmU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBsZW5ndGhCZWZvcmUgPSB0aGlzLnZhbHVlLmxlbmd0aDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUudHJpbSgpO1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggIT09IGxlbmd0aEJlZm9yZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4oZXZ0KSB7XG4gICAgY29uc3QgdXJpID0gYC9hdXRvY29tcGxldGUvZWxlbWVudD9wcmVmaXg9JHtlbmNvZGVVUklDb21wb25lbnQoZXZ0LnF1ZXJ5KX0mcW5hbWU9JHt0aGlzLnFuYW1lfWA7XG4gICAgY29uc3QgYmFzZSA9IHRoaXMuYmFja2VuZC5nZXRTZWFyY2hCYXNlKCk7XG4gICAgdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0SnNvbih1cmksIGJhc2UpXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIGxldCByID0gW107XG4gICAgICAgIHJlcy5mb3JFYWNoKGkgPT4gci5wdXNoKGkudmFsdWUpKTtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSByO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQ2xhc3NpZmljYXRpb24oc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHBhdHRlcm47XG4gICAgICBpZiAodGhpcy5jbGFzc2lmaWNhdGlvbiA9PT0gJ2VtYWlsJykge1xuICAgICAgICBwYXR0ZXJuID0gL14oPzooLis/KVxccyo8KFxcdyspKFtcXC0rLl1bXFx3XSspKkAoXFx3W1xcLVxcd10qXFwuKXsxLDV9KFtBLVphLXpdezIsNn0pPnxbXCInXXsxfSguKz8pW1wiJ117MX1cXHMqPChcXHcrKShbXFwtKy5dW1xcd10rKSpAKFxcd1tcXC1cXHddKlxcLil7MSw1fShbQS1aYS16XXsyLDZ9KT58KFxcdyspKFtcXC0rLl1bXFx3XSspKkAoXFx3W1xcLVxcd10qXFwuKXsxLDV9KFtBLVphLXpdezIsNn0pKSQvO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNsYXNzaWZpY2F0aW9uID09PSAndXJsJykge1xuICAgICAgICBwYXR0ZXJuID0gLyhodHRwfGZ0cHxodHRwcyk6XFwvXFwvW1xcdy1dKyhcXC5bXFx3LV0rKSsoW1xcdy4sQD9ePSUmYW1wOzpcXC9+KyMtXSpbXFx3QD9ePSUmYW1wO1xcL34rIy1dKT8vO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhdHRlcm4gPyBwYXR0ZXJuLnRlc3Qoc3RyaW5nKSA6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdmFsaWRhdGUoKSB7XG4gICAgbGV0IGVycjtcbiAgICAvLyB2YWxpZGF0ZSByZWd1bGFyIGV4cHJlc3Npb25cbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnJlZ2V4KSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmICEhdGhpcy52YWx1ZS5maW5kKHYgPT4gIVJlZ0V4cCh0aGlzLnJlZ2V4KS50ZXN0KHYpKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsncmVnZXgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFSZWdFeHAodGhpcy5yZWdleCkudGVzdCh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsncmVnZXgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB2YWxpZGF0ZSBjbGFzc2lmaWNhdGlvbiBzZXR0aW5nc1xuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuY2xhc3NpZmljYXRpb24pIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGZvciAobGV0IHYgb2YgdGhpcy52YWx1ZSkge1xuICAgICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUNsYXNzaWZpY2F0aW9uKHYpKSB7XG4gICAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICAgIGVyclsnY2xhc3NpZmljYXRpb24nICsgdGhpcy5jbGFzc2lmaWNhdGlvbl0gPSB7XG4gICAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUNsYXNzaWZpY2F0aW9uKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydjbGFzc2lmaWNhdGlvbicgKyB0aGlzLmNsYXNzaWZpY2F0aW9uXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdmFsaWRhdGUgbGVuZ3RoIGhlcmUgd2hlbiBtdWx0aXNlbGVjdFxuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgISF0aGlzLnZhbHVlLmZpbmQodiA9PiB2Lmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWlubGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiAhIXRoaXMudmFsdWUuZmluZCh2ID0+IHYubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtYXhsZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtaW5sZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWF4bGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdmFsaWRhdGUgaW52YWxpZCBpZiBvbmx5IHdoaXRlc3BhY2VzXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgZm9yIChsZXQgdiBvZiB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKHYubGVuZ3RoICYmICF2LnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgICAgZXJyWydvbmx5V2hpdGVzcGFjZXMnXSA9IHtcbiAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggJiYgIXRoaXMudmFsdWUudHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnb25seVdoaXRlc3BhY2VzJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy52YWxpZCA9ICFlcnI7XG4gICAgcmV0dXJuIGVyciB8fCBudWxsO1xuICB9XG5cbiAgLy8gcmV0dXJucyBudWxsIHdoZW4gdmFsaWQgZWxzZSB0aGUgdmFsaWRhdGlvbiBvYmplY3RcbiAgcHVibGljIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -138,7 +138,6 @@ export class MediaComponent extends UnsubscribeOnDestroy {
138
138
  }
139
139
  toogleViewer() {
140
140
  this.open = !this.disabled && !!this.previewUri;
141
- this.undockDisabled = this.undockDisabled ? true : this.previewUri === '';
142
141
  if (this.undockDisabled) {
143
142
  this.isUndocked = false;
144
143
  }
@@ -352,7 +351,7 @@ MediaComponent.PDF_VIEWER = 'assets/_default/api/pdf/web/viewer.html?file=&path=
352
351
  MediaComponent.decorators = [
353
352
  { type: Component, args: [{
354
353
  selector: 'eo-media',
355
- template: "<div [hidden]=\"!open\">\n\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\" [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null, isLarge)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a, isLarge)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\"\n (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\" [hidden]=\"hasError\">\n <iframe [hidden]=\"isNotSupported || isLarge || isUndocked || isMedia\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <iframe [hidden]=\"isNotSupported || isLarge || isUndocked || !isMedia\" #iframeMedia height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"slide\" *ngIf=\"isNotSupported || isLarge || isUndocked\">\n <!--<img *ngIf=\"!isMedia\" [src]=\"slideUri\" alt=\"preview\">-->\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n <div class=\"large-content\" *ngIf=\"isLarge && !isUndocked\" (click)=\"loadDocument(latestUri, true)\" translate>eo.object.preview.proceed</div>\n <div class=\"large-content not-supported\" *ngIf=\"isNotSupported\" translate>eo.object.preview.not.supported</div>\n </div>\n </div>\n</div>\n\n<div [hidden]=\"!hasError && open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n\n<eo-icon *ngIf=\"!undockDisabled\" class=\"button undock\" [iconSrc]=\"'assets/_default/svg/ic_undock.svg'\" (click)=\"undock()\"></eo-icon>",
354
+ template: "<div [hidden]=\"!open\">\n\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\" [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null, isLarge)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a, isLarge)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\"\n (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\" [hidden]=\"hasError\">\n <iframe [hidden]=\"isNotSupported || isLarge || isUndocked || isMedia\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <iframe [hidden]=\"isNotSupported || isLarge || isUndocked || !isMedia\" #iframeMedia height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"slide\" *ngIf=\"isNotSupported || isLarge || isUndocked\">\n <!--<img *ngIf=\"!isMedia\" [src]=\"slideUri\" alt=\"preview\">-->\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n <div class=\"large-content\" *ngIf=\"isLarge && !isUndocked\" (click)=\"loadDocument(latestUri, true)\" translate>eo.object.preview.proceed</div>\n <div class=\"large-content not-supported\" *ngIf=\"isNotSupported\" translate>eo.object.preview.not.supported</div>\n </div>\n </div>\n</div>\n\n<div [hidden]=\"!hasError && open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n\n<eo-icon *ngIf=\"!undockDisabled\" [hidden]=\"previewUri === ''\" class=\"button undock\" [iconSrc]=\"'assets/_default/svg/ic_undock.svg'\" (click)=\"undock()\"></eo-icon>\n",
356
355
  providers: [ContentPreviewService],
357
356
  styles: [":host .empty-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}:host .empty-container .nofile{height:128px;opacity:.06;width:128px}:host .button.undock{background-color:rgba(var(--color-primary-rgb),.6);bottom:var(--app-pane-padding);opacity:.2;position:absolute;right:var(--app-pane-padding)}:host .button.undock:hover{opacity:.5}:host .preview-container{bottom:0;left:0;position:absolute;right:0;top:0}:host .preview-container .slide{align-items:center;display:flex;flex:1;flex-direction:column;height:100%;justify-content:center;min-height:0;min-width:0}:host .preview-container .slide .large-content{background-color:rgba(var(--color-primary-rgb),.5);color:var(--color-white);cursor:pointer;display:flex;flex:1;flex-direction:row;justify-content:center;min-height:0;min-width:0;padding:var(--app-pane-padding);position:absolute;top:0;width:100%}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{height:128px;opacity:.2;width:128px}:host .attachments{align-items:flex-end;background-color:rgba(var(--color-primary-rgb),.6);border-radius:2px;bottom:calc(var(--app-pane-padding)*3);color:var(--color-white);display:flex;flex-flow:row;max-width:calc(100% - 16px);position:absolute;right:calc(var(--app-pane-padding)/2);z-index:5}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding)/2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;flex-flow:wrap;max-height:150px;min-height:0;min-width:0;overflow:auto;padding:calc(var(--app-pane-padding)/2)}:host .attachments .attachments-list .attachment{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background-color:rgba(var(--color-white-rgb),.1);border:1px solid rgba(var(--color-white-rgb),0);border-radius:4px;cursor:pointer;display:inline-block;margin:calc(var(--app-pane-padding)/8);max-width:none;overflow:hidden;padding:calc(var(--app-pane-padding)/4);text-overflow:ellipsis;transition:all var(--app-default-transition-duration) ease-in-out;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);flex:1 1 100%;order:100}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{align-items:center;background-color:rgba(var(--color-primary-rgb),.9);bottom:calc(var(--app-pane-padding)/2)}"]
358
357
  },] }
@@ -382,4 +381,4 @@ MediaComponent.propDecorators = {
382
381
  previewFile: [{ type: Input }],
383
382
  dmsObject: [{ type: Input }]
384
383
  };
385
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvbWVkaWEvbWVkaWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFDTCxNQUFNLEVBRU4sYUFBYSxFQUNiLGdCQUFnQixFQUdoQixVQUFVLEVBQ1YsY0FBYyxFQUNmLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBZSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDekUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUF5Qi9FLE1BQU0sT0FBTyxjQUFlLFNBQVEsb0JBQW9CO0lBNkl0RCxZQUFtQixTQUEyQixFQUNwQyxHQUFlLEVBQ2YsUUFBbUIsRUFDbkIsTUFBcUIsRUFDckIsT0FBZSxFQUNmLE1BQWMsRUFDZCxjQUE4QixFQUM5QixPQUF1QjtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQVJTLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFdBQU0sR0FB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TyxDQUFDOztZQVQ1UCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLCtwRUFBcUM7Z0JBRXJDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDOzthQUNuQzs7O1lBbENDLGdCQUFnQjtZQUdoQixVQUFVO1lBUjBDLFNBQVM7WUFJN0QsYUFBYTtZQUp3RSxNQUFNO1lBRTNGLE1BQU07WUFIQSxjQUFjO1lBVXBCLGNBQWM7Ozs2QkE4RWIsS0FBSzs2QkFNTCxLQUFLO3lCQUdMLEtBQUs7bUJBQ0wsV0FBVyxTQUFDLFlBQVk7eUJBRXhCLFNBQVMsU0FBQyxZQUFZO3FCQUN0QixTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzswQkFDbEMsU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7NkJBRXZDLEtBQUssU0FBQyxhQUFhOzRCQU1uQixLQUFLLFNBQUMsWUFBWTt1QkFLbEIsS0FBSzt5QkFVTCxLQUFLOzBCQVVMLEtBQUs7d0JBY0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGx1Z2luc1NlcnZpY2V9IGZyb20gJy4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvYXBpL3BsdWdpbnMuc2VydmljZSc7XG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgT25EZXN0cm95LCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlnLFxuICBPYmplY3RUeXBlLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBEbXNPYmplY3QsXG4gIERtc09iamVjdEF0dGFjaG1lbnQsXG4gIERtc1NlcnZpY2UsXG4gIEJhY2tlbmRTZXJ2aWNlXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbiwgZnJvbUV2ZW50fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsLCB0YWtlV2hpbGUsIGNhdGNoRXJyb3J9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsZVNpemVQaXBlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9maWxlc2l6ZS5waXBlJztcbmltcG9ydCB7Q29udGVudFByZXZpZXdTZXJ2aWNlfSBmcm9tICcuL2NvbnRlbnQtcHJldmlldy5zZXJ2aWNlJztcbmltcG9ydCB7VW5zdWJzY3JpYmVPbkRlc3Ryb3l9IGZyb20gJy4uL3V0aWwvdW5zdWJzY3JpYmUvdW5zdWJzY3JpYmUuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBWaWV3ZXJDb25maWcge1xuICBtaW1lVHlwZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBmaWxlRXh0ZW5zaW9uPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIHZpZXdlcjogc3RyaW5nO1xuICBlcnJvcj86IGJvb2xlYW47XG4gIHR5cGU/OiAnY29tcGFyZScgfCAnZXh0ZW5kJyB8ICdlcnJvcicgfCAnZGVmYXVsdCc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByZXZpZXdGaWxlIHtcbiAgdXJpOiBzdHJpbmc7XG4gIHVyaVBkZjogc3RyaW5nO1xuICBtaW1ldHlwZTogc3RyaW5nO1xuICBtaW1lZ3JvdXA6IHN0cmluZztcbiAgc2l6ZTogbnVtYmVyO1xuICBwYXRoPzogc3RyaW5nO1xuICBtZWRpYVR5cGVOYW1lPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1tZWRpYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lZGlhLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NvbnRlbnRQcmV2aWV3U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTWVkaWFDb21wb25lbnQgZXh0ZW5kcyBVbnN1YnNjcmliZU9uRGVzdHJveSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgc3RhdGljIFZJREVPX1ZJRVdFUiA9ICdhc3NldHMvX2RlZmF1bHQvYXBpL3ZpZGVvLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfSc7XG4gIHN0YXRpYyBQREZfVklFV0VSID0gJ2Fzc2V0cy9fZGVmYXVsdC9hcGkvcGRmL3dlYi92aWV3ZXIuaHRtbD9maWxlPSZwYXRoPSR7cGF0aH0mcGF0aFBkZj0ke3BhdGhQZGZ9Jm1pbWVUeXBlPSR7bWltZVR5cGV9JmZpbGVFeHRlbnNpb249JHtmaWxlRXh0ZW5zaW9ufSZsYW5nPSR7bGFuZ30mdGhlbWU9JHt0aGVtZX0mY3NzPSUyM3Rvb2xiYXJWaWV3ZXJSaWdodCUyMCUyM3ByaW50JTdCZGlzcGxheSUzQWJsb2NrIWltcG9ydGFudCUzQiU3RCc7XG5cbiAgcHJpdmF0ZSBTSVpFX0xJTUlUID0gMTAyNCAqIDEwMjQgKiAxMDsgLy8gMTBNQlxuICBwcml2YXRlIHBkZmpzOiBhbnk7XG4gIGxhdGVzdFVyaTogc3RyaW5nO1xuICBzbGlkZVVyaTogc3RyaW5nO1xuICB2aWV3ZXI6IGFueTtcbiAgZG1zT2JqZWN0VGl0bGU6IHN0cmluZztcbiAgcHJpdmF0ZSBfcHJldmlld1VyaTogc3RyaW5nO1xuICBwcml2YXRlIF9kbXNPYmplY3Q6IERtc09iamVjdDtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgZmlsZVNpemVQaXBlOiBGaWxlU2l6ZVBpcGU7XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyO1xuICBhdHRhY2htZW50czogRG1zT2JqZWN0QXR0YWNobWVudFtdID0gW107XG4gIGlzTWVkaWEgPSBmYWxzZTtcbiAgaXNPY3RldFN0cmVhbSA9IGZhbHNlO1xuICBpc05vdFN1cHBvcnRlZCA9IGZhbHNlO1xuICBpc0xhcmdlID0gZmFsc2U7XG4gIGhhc0Vycm9yID0gZmFsc2U7XG4gIGF0dGFjaG1lbnRzTG9hZGluZzogU3Vic2NyaXB0aW9uO1xuICBhdHRhY2htZW50c1Nob3duOiBib29sZWFuO1xuICBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gIG1lZGlhVHlwZTogT2JqZWN0VHlwZTtcbiAgY3VzdG9tQ29uZmlnOiBhbnlbXSA9IFtdO1xuXG4gIGRlZmF1bHRWaWV3ZXJzID0gW1xuICAgIHtcbiAgICAgIFwibWltZVR5cGVcIjogW1wiYXBwbGljYXRpb24vanNvblwiLCBcInRleHQvanNvblwiLCBcInRleHQvcGxhaW5cIiwgXCJ0ZXh0L3htbFwiLCBcInRleHQvamF2YVwiLCBcInRleHQvamF2YXNjcmlwdFwiLCBcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiwgXCJ0ZXh0L2h0bWxcIiwgXCJ0ZXh0L21hcmtkb3duXCIsIFwidGV4dC94LXdlYi1tYXJrZG93blwiLCBcInRleHQveC1tYXJrZG93blwiXSxcbiAgICAgIFwidmlld2VyXCI6IFwiYXNzZXRzL19kZWZhdWx0L2FwaS9tb25hY28vP3BhdGg9JHtwYXRofSZtaW1lVHlwZT0ke21pbWVUeXBlfSZmaWxlRXh0ZW5zaW9uPSR7ZmlsZUV4dGVuc2lvbn0mbGFuZz0ke2xhbmd9JnRoZW1lPSR7dGhlbWV9XCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwibWltZVR5cGVcIjogW1wiYXVkaW8vbXAzXCIsIFwiYXVkaW8vd2VibVwiLCBcImF1ZGlvL29nZ1wiLCBcImF1ZGlvL21wZWdcIiwgXCJ2aWRlby9tcDRcIiwgXCJ2aWRlby93ZWJtXCIsIFwidmlkZW8vb2dnXCIsIFwiYXBwbGljYXRpb24vb2dnXCJdLFxuICAgICAgXCJ2aWV3ZXJcIjogXCJhc3NldHMvX2RlZmF1bHQvYXBpL3ZpZGVvLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm1pbWVUeXBlXCI6IFtcImltYWdlL2pwZWdcIiwgXCJpbWFnZS9wbmdcIiwgXCJpbWFnZS9hcG5nXCIsIFwiaW1hZ2UvZ2lmXCIsIFwiaW1hZ2Uvc3ZnK3htbFwiLCBcImltYWdlL3dlYnBcIl0sXG4gICAgICBcInZpZXdlclwiOiBcImFzc2V0cy9fZGVmYXVsdC9hcGkvaW1nLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfVwiXG4gICAgfSxcbiAgICB7XCJ2aWV3ZXJcIjogXCIoKSA9PiBwYXJhbWV0ZXJzLmRlZmF1bHRWaWV3ZXIgKyAnIydcIn0sXG4gICAge1wiZXJyb3JcIjogdHJ1ZSwgXCJ0eXBlXCI6IFwiZXJyb3JcIiwgXCJ2aWV3ZXJcIjogXCJhc3NldHMvX2RlZmF1bHQvYXBpL2Vycm9yLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfVwifVxuICBdO1xuXG4gIGlzVW5kb2NrZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdW5kb2NrRGlzYWJsZWQgPSBmYWxzZTtcblxuICBnZXQgdW5kb2NrV2luKCk6IFdpbmRvdyB7XG4gICAgcmV0dXJuIENvbnRlbnRQcmV2aWV3U2VydmljZS5nZXRVbmRvY2tXaW4oKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGVuYWJsZUNsb3NlQnRuID0gZmFsc2U7XG4gIC8vIGJ5IGRlZmF1bHQsIHRoZSB2aWV3ZXIgaWdub3JlcyB0aGUgdmVyc2lvbiBvZiB0aGUgZG1zIG9iamVjdC4gVGhpcyB3aWxsIGFsd2F5cyBzaG93IHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgLy8gV2UgbmVlZCB0aGlzIHRvIGJlIGFibGUgdG8gcmVmcmVzaCB0aGUgdmlld2VyIGJlY2F1c2Ugb3RoZXJ3aXNlIHBkZmpzIHdvcmtlciB3aWxsIGZhaWwuXG4gIEBJbnB1dCgpIHVzZVZlcnNpb24gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vcGVuJykgb3BlbjtcblxuICBAVmlld0NoaWxkKCdjb2Rlc3lzdGVtJykgY29kZXN5c3RlbTtcbiAgQFZpZXdDaGlsZCgnaWZyYW1lJywge3N0YXRpYzogdHJ1ZX0pIGlmcmFtZTtcbiAgQFZpZXdDaGlsZCgnaWZyYW1lTWVkaWEnLCB7c3RhdGljOiB0cnVlfSkgaWZyYW1lTWVkaWE7XG5cbiAgQElucHV0KCdhdHRhY2htZW50cycpXG4gIHNldCBzZXRBdHRhY2htZW50cyhhdHRhY2htZW50cykge1xuICAgIHRoaXMuYXR0YWNobWVudHMgPSBhdHRhY2htZW50cztcbiAgICB0aGlzLmF0dGFjaG1lbnRzU2hvd24gPSBmYWxzZTtcbiAgfVxuXG4gIEBJbnB1dCgnc2VhcmNoVGVybScpXG4gIHNldCBzZXRTZWFyY2hUZXJtKHNlYXJjaFRlcm0pIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtIHx8ICcnO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkKGRpc2FibGVkKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSAhIWRpc2FibGVkO1xuICAgIHRoaXMudG9vZ2xlVmlld2VyKCk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHByZXZpZXdVcmkodXJpOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wcmV2aWV3VXJpID0gdXJpO1xuICAgIHRoaXMudG9vZ2xlVmlld2VyKCk7XG4gIH1cblxuICBnZXQgcHJldmlld1VyaSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcHJldmlld1VyaTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBwcmV2aWV3RmlsZShmaWxlOiBQcmV2aWV3RmlsZSkge1xuICAgIGlmIChmaWxlKSB7XG4gICAgICB0aGlzLnZpZXdlciA9IHRoaXMuZ2V0Vmlld2VyKGZpbGUpO1xuICAgICAgdGhpcy5pc01lZGlhID0gdGhpcy52aWV3ZXIudmlld2VyICE9PSBNZWRpYUNvbXBvbmVudC5QREZfVklFV0VSO1xuICAgICAgdGhpcy5pc09jdGV0U3RyZWFtID0gISFmaWxlLm1pbWVncm91cD8ubWF0Y2goL29jdGV0LXN0cmVhbS8pO1xuICAgICAgdGhpcy5pc0xhcmdlID0gZmlsZS5zaXplICYmIGZpbGUuc2l6ZSA+IHRoaXMuU0laRV9MSU1JVDtcbiAgICAgIHRoaXMubWVkaWFUeXBlID0gZmlsZS5tZWRpYVR5cGVOYW1lICYmIHRoaXMuc3lzdGVtLmdldE9iamVjdFR5cGUoZmlsZS5tZWRpYVR5cGVOYW1lKTtcbiAgICAgIHRoaXMucHJldmlld1VyaSA9IHRoaXMuaXNNZWRpYSA/IHRoaXMudmlld2VyLnByZXZpZXdVcmkgOiBmaWxlLnVyaVBkZjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmV2aWV3VXJpID0gJyc7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRtc09iamVjdChpdGVtOiBEbXNPYmplY3QpIHtcbiAgICB0aGlzLl9kbXNPYmplY3QgPSBpdGVtO1xuICAgIHRoaXMuZG1zT2JqZWN0VGl0bGUgPSBpdGVtLnRpdGxlIHx8ICcuLi4nO1xuXG4gICAgdGhpcy5zZXRBdHRhY2htZW50cyA9IFtdO1xuICAgIGlmICh0aGlzLmF0dGFjaG1lbnRzTG9hZGluZykge1xuICAgICAgLy8gY2FuY2VsIGFueSBwZW5kaW5nIHJlcXVlc3RzXG4gICAgICB0aGlzLmF0dGFjaG1lbnRzTG9hZGluZy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAoaXRlbS5jb250ZW50ICYmIGl0ZW0uY29udGVudC5jb250ZW50cyAmJiBpdGVtLmNvbnRlbnQuY29udGVudHMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBmaWxlID0gaXRlbS5jb250ZW50LmNvbnRlbnRzWzBdIHx8IHt9O1xuXG4gICAgICB0aGlzLnByZXZpZXdGaWxlID0ge1xuICAgICAgICB1cmk6IHRoaXMuZG1zLmdldFByZXZpZXcoaXRlbS5jb250ZW50LmlkLCBpdGVtLmNvbnRlbnQudHlwZSwgdGhpcy51c2VWZXJzaW9uID8gaXRlbS52ZXJzaW9uIDogbnVsbCksXG4gICAgICAgIHVyaVBkZjogdGhpcy5kbXMuZ2V0UHJldmlldyhpdGVtLmNvbnRlbnQuaWQsIGl0ZW0uY29udGVudC50eXBlLCB0aGlzLnVzZVZlcnNpb24gPyBpdGVtLnZlcnNpb24gOiBudWxsLCAnUERGJyksXG4gICAgICAgIG1pbWV0eXBlOiBmaWxlLm1pbWV0eXBlLFxuICAgICAgICBtaW1lZ3JvdXA6IGZpbGUubWltZWdyb3VwLFxuICAgICAgICBzaXplOiBmaWxlLnNpemUsXG4gICAgICAgIHBhdGg6IGZpbGUucGF0aCxcbiAgICAgICAgbWVkaWFUeXBlTmFtZTogaXRlbS50eXBlTmFtZVxuICAgICAgfTtcblxuICAgICAgaWYgKCEhZmlsZS5taW1lZ3JvdXA/Lm1hdGNoKC9ebWFpbHxvY3RldC1zdHJlYW0vKSkge1xuICAgICAgICB0aGlzLnNsaWRlVXJpID0gdGhpcy5kbXMuZ2V0U2xpZGUoaXRlbS5jb250ZW50LmlkLCBpdGVtLmNvbnRlbnQudHlwZSwgdGhpcy51c2VWZXJzaW9uID8gaXRlbS52ZXJzaW9uIDogbnVsbCwgMjU2KTtcbiAgICAgICAgdGhpcy5hdHRhY2htZW50c0xvYWRpbmcgPSB0aGlzLmRtcy5nZXRBdHRhY2htZW50cyhpdGVtKS5zdWJzY3JpYmUoYSA9PiB0aGlzLnNldEF0dGFjaG1lbnRzID0gYSk7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmV2aWV3VXJpID0gJyc7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRtczogRG1zU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBzeXN0ZW06IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICBwcml2YXRlIHBsdWdpbnNTZXJ2aWNlOiBQbHVnaW5zU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmZpbGVTaXplUGlwZSA9IG5ldyBGaWxlU2l6ZVBpcGUodHJhbnNsYXRlKTtcbiAgICB0aGlzLlNJWkVfTElNSVQgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ3ByZXZpZXcuZmlsZVNpemVMaW1pdCcpIHx8IHRoaXMuU0laRV9MSU1JVDtcbiAgICB0aGlzLmN1c3RvbUNvbmZpZyA9ICh0aGlzLmNvbmZpZy5nZXRSYXcoJ3ByZXZpZXcudmlld2VycycpIHx8IFtdKS5jb25jYXQodGhpcy5kZWZhdWx0Vmlld2Vycyk7XG5cbiAgICB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwaS5jb250ZW50LmNhdGNoRXJyb3IoKS5zdWJzY3JpYmUoKGV2dDogYW55KSA9PiB7XG4gICAgICBjb25zdCB7ZXJyLCB3aW4sIHBhcmFtZXRlcnN9ID0gZXZ0LmRhdGE7XG4gICAgICBjb25zdCB1cmkgPSB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwcGx5RnVuY3Rpb24odGhpcy5jdXN0b21Db25maWc/LmZpbmQoKHYpID0+IHYuZXJyb3IpPy52aWV3ZXIsICdhcGksIGVyciwgd2luLCBwYXJhbWV0ZXJzJywgW1xuICAgICAgICB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwaSxcbiAgICAgICAgZXJyLFxuICAgICAgICB3aW4sXG4gICAgICAgIHBhcmFtZXRlcnNcbiAgICAgIF0pO1xuXG4gICAgICB1cmkgJiYgdGhpcy5sb2FkRG9jdW1lbnQodGhpcy5yZXNvbHZlVXJpKHVyaSwgcGFyYW1ldGVycyksIHRydWUpO1xuICAgIH0pO1xuXG4gICAgaWYgKENvbnRlbnRQcmV2aWV3U2VydmljZS51bmRvY2tXaW5BY3RpdmUoKSkge1xuICAgICAgdGhpcy51bmRvY2soZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEF0dGFjaG1lbnQoYXR0YWNobWVudD8sIGZvcmNlPykge1xuICAgIGNvbnN0IHByZXZpZXdVcmkgPSBhdHRhY2htZW50ICYmIHRoaXMuaXNNZWRpYSA/IHRoaXMuZ2V0Vmlld2VyKHt1cmlQZGY6IGF0dGFjaG1lbnQ/LnByZXZpZXdVcml9IGFzIFByZXZpZXdGaWxlKS5wcmV2aWV3VXJpIDogYXR0YWNobWVudD8ucHJldmlld1VyaTtcbiAgICB0aGlzLmxvYWREb2N1bWVudChwcmV2aWV3VXJpIHx8IHRoaXMucHJldmlld1VyaSwgZm9yY2UpO1xuICB9XG5cbiAgcHVibGljIHRvb2dsZVZpZXdlcigpIHtcbiAgICB0aGlzLm9wZW4gPSAhdGhpcy5kaXNhYmxlZCAmJiAhIXRoaXMucHJldmlld1VyaTtcbiAgICB0aGlzLnVuZG9ja0Rpc2FibGVkID0gdGhpcy51bmRvY2tEaXNhYmxlZCA/IHRydWUgOiB0aGlzLnByZXZpZXdVcmkgPT09ICcnO1xuICAgIGlmICh0aGlzLnVuZG9ja0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzVW5kb2NrZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3BlbiB8fCB0aGlzLmlzVW5kb2NrZWQpIHtcbiAgICAgIHRoaXMubG9hZERvY3VtZW50KHRoaXMucHJldmlld1VyaSwgdGhpcy5pc1VuZG9ja2VkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmxvYWREb2N1bWVudCh0aGlzLnByZXZpZXdVcmksIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUGRmVmlld2VyKHVyaTogc3RyaW5nKSB7XG4gICAgdGhpcy5wZGZqcy5jb250ZW50V2luZG93LlBERlZpZXdlckFwcGxpY2F0aW9uLm9wZW4odXJpKS50aGVuKCgpID0+ICh0aGlzLmhhc0Vycm9yID0gZmFsc2UpKS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICB0aGlzLmhhc0Vycm9yID0gIXRoaXMuaXNPY3RldFN0cmVhbTtcbiAgICAgIHRoaXMuaXNOb3RTdXBwb3J0ZWQgPSB0aGlzLmlzT2N0ZXRTdHJlYW07XG4gICAgfSk7XG4gICAgLy8gdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIGdldFZpZXdlcihmaWxlOiBQcmV2aWV3RmlsZSk6IGFueSB7XG4gICAgY29uc3QgaXNWaWRlbyA9ICEhZmlsZS5taW1lZ3JvdXA/Lm1hdGNoKC9eYXVkaW98XnZpZGVvLyk7XG4gICAgY29uc3QgZGVmYXVsdFZpZXdlciA9IGlzVmlkZW8gPyBNZWRpYUNvbXBvbmVudC5WSURFT19WSUVXRVIgOiBNZWRpYUNvbXBvbmVudC5QREZfVklFV0VSO1xuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlLnBhdGg/LmluY2x1ZGVzKCcuJykgPyBmaWxlLnBhdGguc3BsaXQoJy4nKS5wb3AoKSA6ICcnO1xuICAgIGNvbnN0IG1pbWVUeXBlID0gZmlsZS5taW1ldHlwZTtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmN1c3RvbUNvbmZpZy5maW5kKChjOiBWaWV3ZXJDb25maWcpID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoTVQgPSAhYy5taW1lVHlwZSB8fCAodHlwZW9mIGMubWltZVR5cGUgPT09ICdzdHJpbmcnID8gW2MubWltZVR5cGVdIDogYy5taW1lVHlwZSkuaW5jbHVkZXMobWltZVR5cGU/LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgY29uc3QgbWF0Y2hGRSA9ICFjLmZpbGVFeHRlbnNpb24gfHwgKHR5cGVvZiBjLmZpbGVFeHRlbnNpb24gPT09ICdzdHJpbmcnID8gW2MuZmlsZUV4dGVuc2lvbl0gOiBjLmZpbGVFeHRlbnNpb24pLmluY2x1ZGVzKChmaWxlRXh0ZW5zaW9uKS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIHJldHVybiBtYXRjaE1UICYmIG1hdGNoRkUgJiYgKCFjLnR5cGUgfHwgYy50eXBlID09PSAnZGVmYXVsdCcpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcGFyYW1ldGVycyA9IHtcbiAgICAgIGZpbGUsXG4gICAgICBwYXRoOiBsb2NhdGlvbi5vcmlnaW4gKyBmaWxlLnVyaSxcbiAgICAgIHBhdGhQZGY6IGxvY2F0aW9uLm9yaWdpbiArIGZpbGUudXJpUGRmLFxuICAgICAgdmlld2VyOiBjb25maWc/LnZpZXdlciB8fCBkZWZhdWx0Vmlld2VyLFxuICAgICAgbG9hZDogY29uZmlnPy5sb2FkLFxuICAgICAgZmlsZUV4dGVuc2lvbixcbiAgICAgIG1pbWVUeXBlLFxuICAgICAgdGhlbWU6ICcnLFxuICAgICAgZGVmYXVsdFZpZXdlcixcbiAgICAgIHByZXZpZXdVcmk6ICcnXG4gICAgfTtcbiAgICBwYXJhbWV0ZXJzLnZpZXdlciA9IHRoaXMucGx1Z2luc1NlcnZpY2UuYXBwbHlGdW5jdGlvbihwYXJhbWV0ZXJzLnZpZXdlciwgJ2NvbXBvbmVudCwgZG1zT2JqZWN0LCBwYXJhbWV0ZXJzJywgW3RoaXMsIHRoaXMuX2Rtc09iamVjdCwgcGFyYW1ldGVyc10pIHx8IGRlZmF1bHRWaWV3ZXI7XG5cbiAgICBjb25zdCBleHRlbmQgPSB0aGlzLmN1c3RvbUNvbmZpZy5maW5kKChjKSA9PiBjLnR5cGUgPT09ICdleHRlbmQnKTtcbiAgICBpZiAoZXh0ZW5kKSBwYXJhbWV0ZXJzLnZpZXdlciA9IHRoaXMucGx1Z2luc1NlcnZpY2UuYXBwbHlGdW5jdGlvbihleHRlbmQudmlld2VyLCAnY29tcG9uZW50LCBkbXNPYmplY3QsIHBhcmFtZXRlcnMnLCBbdGhpcywgdGhpcy5fZG1zT2JqZWN0LCBwYXJhbWV0ZXJzXSk7XG5cbiAgICBwYXJhbWV0ZXJzLnByZXZpZXdVcmkgPSB0aGlzLnJlc29sdmVVcmkocGFyYW1ldGVycy52aWV3ZXIsIHBhcmFtZXRlcnMpO1xuICAgIHJldHVybiBwYXJhbWV0ZXJzO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlVXJpKHZpZXdlcjogc3RyaW5nLCBwYXJhbWV0ZXJzOiBhbnkpIHtcbiAgICByZXR1cm4gKHZpZXdlciA/IGRvY3VtZW50LmJhc2VVUkkgOiAnJykgKyB2aWV3ZXJcbiAgICAgIC5yZXBsYWNlKCcke29yaWdpbmFsUGF0aH0nLCBwYXJhbWV0ZXJzLnBhdGgpXG4gICAgICAucmVwbGFjZSgnJHtwYXRofScsIGVuY29kZVVSSUNvbXBvbmVudChwYXJhbWV0ZXJzLnBhdGgpKVxuICAgICAgLnJlcGxhY2UoJyR7cGF0aFBkZn0nLCBlbmNvZGVVUklDb21wb25lbnQocGFyYW1ldGVycy5wYXRoUGRmKSlcbiAgICAgIC5yZXBsYWNlKCcke2ZpbGVFeHRlbnNpb259JywgZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlcnMuZmlsZUV4dGVuc2lvbikpXG4gICAgICAucmVwbGFjZSgnJHttaW1lVHlwZX0nLCBlbmNvZGVVUklDb21wb25lbnQocGFyYW1ldGVycy5taW1lVHlwZSkpXG4gICAgICAucmVwbGFjZSgnJHt0aGVtZX0nLCBlbmNvZGVVUklDb21wb25lbnQocGFyYW1ldGVycy50aGVtZSkpXG4gICAgICAucmVwbGFjZSgnJHtsYW5nfScsIENvbnRlbnRQcmV2aWV3U2VydmljZS5tYXBMYW5nKHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKSk7XG4gIH1cblxuICB1bmRvY2sob3BlbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy51bmRvY2tEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzVW5kb2NrZWQgPSAhdGhpcy5pc1VuZG9ja2VkO1xuICAgIGlmICghdGhpcy5pc1VuZG9ja2VkKSB7XG4gICAgICBDb250ZW50UHJldmlld1NlcnZpY2UuY2xvc2VXaW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKF8gPT4ge1xuICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy51bmRvY2tXaW4gJiYgIUNvbnRlbnRQcmV2aWV3U2VydmljZS51bmRvY2tXaW5BY3RpdmUoKSkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuaXNVbmRvY2tlZCAmJiB0aGlzLnVuZG9jaygpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgICBmcm9tRXZlbnQod2luZG93LCAnYmVmb3JldW5sb2FkJylcbiAgICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy5pc1VuZG9ja2VkKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKGUgPT4gQ29udGVudFByZXZpZXdTZXJ2aWNlLmNsb3NlV2luKCkpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChvcGVuKSB7XG4gICAgICB0aGlzLmxvYWREb2N1bWVudCh0aGlzLnByZXZpZXdVcmksIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5XaW5kb3coc3JjOiBzdHJpbmcsIGNsZWFuID0gZmFsc2UpIHtcbiAgICBDb250ZW50UHJldmlld1NlcnZpY2UudW5kb2NrV2luKHNyYyk7XG4gICAgaWYgKGNsZWFuKSB7XG4gICAgICB3aGlsZSAodGhpcy51bmRvY2tXaW4uZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKSB7XG4gICAgICAgIHRoaXMudW5kb2NrV2luLmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy51bmRvY2tXaW4uZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFzcmMgJiYgIXRoaXMudW5kb2NrV2luLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNuby1maWxlJykpIHtcbiAgICAgIHRoaXMudW5kb2NrV2luLmRvY3VtZW50LndyaXRlKFxuICAgICAgICBgPGRpdiBpZD1cIm5vLWZpbGVcIiBzdHlsZT1cIm9wYWNpdHk6IDAuMDY7IGRpc3BsYXk6IGZsZXg7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1wiPlxuICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTI4XCIgaGVpZ2h0PVwiMTI4XCIgdmlld0JveD1cIjAgMCA0OCA0OFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMjkgNEgxNC42Yy0uOCAwLTEuNS4yLTIgLjZsMjcuMiAyNy4ydi0xN0wyOSA0em0tLjcgMTEuNlY3LjhsNy44IDcuOGgtNy44ek00My40IDQwLjhsLTIuNSAyLjUtMy41LTMuNWMtLjQuMS0uOC4yLTEuMi4ySDE0LjZjLTJcbiAgICAgICAgICAwLTMuNi0xLjYtMy42LTMuNlYxMy41TDUuOSA4LjRsMi41LTIuNUwxMSA4LjRsMjguNyAyOC43IDMuMSAzLjEuNi42elwiLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPGRpdj5gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGxvYWREb2N1bWVudCh1cmk6IHN0cmluZywgZm9yY2U/OiBib29sZWFuKSB7XG4gICAgaWYgKGZvcmNlKSB7XG4gICAgICB0aGlzLmlzTGFyZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFmb3JjZSAmJiAodGhpcy5kaXNhYmxlZCB8fCAhdXJpIHx8ICh1cmkgPT09IHRoaXMubGF0ZXN0VXJpICYmICF0aGlzLmhhc0Vycm9yKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5sYXRlc3RVcmkgPSB1cmkgfHwgJyc7XG4gICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuaXNOb3RTdXBwb3J0ZWQgPSBmYWxzZTtcblxuXG5cbiAgICBpZiAodGhpcy5pc1VuZG9ja2VkKSB7XG4gICAgICB0aGlzLm9wZW5XaW5kb3codGhpcy5sYXRlc3RVcmkpO1xuICAgICAgY29uc3Qgb25sb2FkID0gKCkgPT4gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKHRoaXMudmlld2VyPy5sb2FkLCAnaWZyYW1lLCBjb21wb25lbnQnLCBbdGhpcy51bmRvY2tXaW4sIHRoaXNdKTtcbiAgICAgIHRoaXMuaWZyYW1lSW5pdCh0aGlzLnVuZG9ja1dpbiwgdGhpcy52aWV3ZXI/LmxvYWQgJiYgb25sb2FkKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0xhcmdlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNNZWRpYSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5pZnJhbWVNZWRpYS5uYXRpdmVFbGVtZW50LCAnc3JjJywgdGhpcy5sYXRlc3RVcmkpO1xuICAgICAgY29uc3Qgb25sb2FkID0gKCkgPT4gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKHRoaXMudmlld2VyPy5sb2FkLCAnaWZyYW1lLCBjb21wb25lbnQnLCBbdGhpcy5pZnJhbWVNZWRpYS5uYXRpdmVFbGVtZW50LCB0aGlzXSk7XG4gICAgICB0aGlzLmlmcmFtZUluaXQodGhpcy5pZnJhbWVNZWRpYS5uYXRpdmVFbGVtZW50LCB0aGlzLnZpZXdlcj8ubG9hZCAmJiBvbmxvYWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMucGRmanMpIHtcbiAgICAgICAgdGhpcy5wZGZqcyA9IHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMucGRmanMsICdzcmMnLCBNZWRpYUNvbXBvbmVudC5QREZfVklFV0VSLnJlcGxhY2UoL1xcPy4qLywgJz9maWxlPSYnKSk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMucGRmanMsICdsb2FkJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbk9wdGlvbnMuc2V0KCdzaWRlYmFyVmlld09uTG9hZCcsIDApO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbk9wdGlvbnMuc2V0KCd2aWV3T25Mb2FkJywgZmFsc2UpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbk9wdGlvbnMuc2V0KCdsb2NhbGUnLCBDb250ZW50UHJldmlld1NlcnZpY2UubWFwTGFuZyh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5kb2N1bWVudC53ZWJMMTBuLnNldExhbmd1YWdlKENvbnRlbnRQcmV2aWV3U2VydmljZS5tYXBMYW5nKHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKSk7XG4gICAgICAgICAgdGhpcy5wZGZqcy5jb250ZW50V2luZG93LlBERlZpZXdlckFwcGxpY2F0aW9uLl9pbml0aWFsaXplTDEwbigpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbk9wdGlvbnMuc2V0KCd2aWV3ZXJDc3NUaGVtZScsIDEpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbi5fZm9yY2VDc3NUaGVtZSgpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbi5hcHBDb25maWcudmlld2VyQ29udGFpbmVyXG4gICAgICAgICAgICAuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2VudGVyJywgZSA9PiB3aW5kb3cuZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRHJhZ0V2ZW50KCdkcmFnZW50ZXInLCBlKSkpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbi5hcHBDb25maWcudmlld2VyQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCkpO1xuXG4gICAgICAgICAgdGhpcy5vcGVuUGRmVmlld2VyKHRoaXMubGF0ZXN0VXJpKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucGRmanMuY29udGVudFdpbmRvdyAmJiB0aGlzLnBkZmpzLmNvbnRlbnRXaW5kb3cuUERGVmlld2VyQXBwbGljYXRpb24pIHtcbiAgICAgICAgdGhpcy5wZGZqcy5jb250ZW50V2luZG93LlBERlZpZXdlckFwcGxpY2F0aW9uLnBkZlNpZGViYXIuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5vcGVuUGRmVmlld2VyKHRoaXMubGF0ZXN0VXJpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBDdXN0b20gc2VhcmNoIGluc2lkZSBQREYuSlMgYmFzZWQgb24gc2VhcmNoIHRlcm1cbiAgICogQHBhcmFtIHRlcm0gc2VhcmNoIHRlcm1cbiAgICogQHBhcmFtIHdpbiBpZnJhbWUgd2luZG93XG4gICAqL1xuICBwcml2YXRlIHNlYXJjaFBERih0ZXJtID0gJycsIHdpbjogYW55KSB7XG4gICAgLy8gcmVtb3ZlIGFsbCBzcGVjaWFsIGNoYXJhY3RlcnNcbiAgICB0ZXJtID0gKHRlcm0gfHwgJycpLnJlcGxhY2UoL1tcXFwifFxcKl0vZywgJycpLnRyaW0oKTtcbiAgICBpZiAodGVybSAmJiB3aW4/LlBERlZpZXdlckFwcGxpY2F0aW9uPy5hcHBDb25maWc/LmZpbmRCYXIpIHtcbiAgICAgIHdpbi5QREZWaWV3ZXJBcHBsaWNhdGlvbi5maW5kQ29udHJvbGxlci5leGVjdXRlQ29tbWFuZCgnZmluZCcsIHtcbiAgICAgICAgY2FzZVNlbnNpdGl2ZTogZmFsc2UsXG4gICAgICAgIGZpbmRQcmV2aW91czogdW5kZWZpbmVkLFxuICAgICAgICBoaWdobGlnaHRBbGw6IHRydWUsXG4gICAgICAgIHBocmFzZVNlYXJjaDogdHJ1ZSxcbiAgICAgICAgcXVlcnk6IHRlcm1cbiAgICAgIH0pO1xuICAgICAgd2luLlBERlZpZXdlckFwcGxpY2F0aW9uLmFwcENvbmZpZy5maW5kQmFyLmZpbmRGaWVsZC52YWx1ZSA9IHRlcm07XG4gICAgICB3aW4uUERGVmlld2VyQXBwbGljYXRpb24uYXBwQ29uZmlnLmZpbmRCYXIuaGlnaGxpZ2h0QWxsQ2hlY2tib3guY2hlY2tlZCA9IHRydWU7XG4gICAgICB3aW4uUERGVmlld2VyQXBwbGljYXRpb24uYXBwQ29uZmlnLmZpbmRCYXIuY2FzZVNlbnNpdGl2ZUNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByZXZlbnREcm9wRXZlbnQod2luOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pZnJhbWU/LnNyYz8uc3RhcnRzV2l0aCh3aW5kb3cubG9jYXRpb24ub3JpZ2luKSkge1xuICAgICAgd2luPy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIChlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICAgIC8vIGRpc3BhY2ggZHJhZyAmIGRyb3AgZXZlbnRzIHRvIG1haW4gd2luZG93XG4gICAgICB3aW4/LmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCAoZSkgPT4ge1xuICAgICAgICB3aW5kb3cuZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRHJhZ0V2ZW50KCdkcmFnZW50ZXInLCBlKSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LmRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IERyYWdFdmVudCgnZHJhZ2xlYXZlJywgZSkpLCAxMCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZnJhbWVJbml0KGlmcmFtZSA9IHRoaXMuaWZyYW1lLCBvbmxvYWQ/OiBGdW5jdGlvbikge1xuICAgIGlmIChpZnJhbWUpIHtcbiAgICAgIGlmcmFtZS5faW5pdCB8fCBmcm9tRXZlbnQoaWZyYW1lLCAnbG9hZCcpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB3aW4gPSB0aGlzLnNldEFwaShpZnJhbWUpO1xuICAgICAgICAgIG9ubG9hZCAmJiBvbmxvYWQoKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hQREYodGhpcy5zZWFyY2hUZXJtLCB3aW4pO1xuICAgICAgICAgICAgdGhpcy5wcmV2ZW50RHJvcEV2ZW50KHdpbik7XG4gICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfSk7XG4gICAgICBpZnJhbWUuX2luaXQgPSAhIXRoaXMuc2V0QXBpKGlmcmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRBcGkoaWZyYW1lOiBhbnkpIHtcbiAgICAvLyBzZXQgYXBpIHRvIGlmcmFtZSB3aW5kb3dcbiAgICBjb25zdCB3aW4gPSBpZnJhbWU/LmNvbnRlbnRXaW5kb3cgfHwgaWZyYW1lO1xuICAgIHdpblsnYXBpJ10gPSB3aW5kb3dbJ2FwaSddO1xuICAgIHJldHVybiB3aW47XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvLyByZXR1cm4gQ29udGVudFByZXZpZXdTZXJ2aWNlLnVuZG9ja1dpbkFjdGl2ZSgpICYmIHRoaXMub3BlbldpbmRvdygnJywgdHJ1ZSk7XG4gIH1cblxufVxuIl19
384
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvbWVkaWEvbWVkaWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFDTCxNQUFNLEVBRU4sYUFBYSxFQUNiLGdCQUFnQixFQUdoQixVQUFVLEVBQ1YsY0FBYyxFQUNmLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBZSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDekUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUF5Qi9FLE1BQU0sT0FBTyxjQUFlLFNBQVEsb0JBQW9CO0lBNkl0RCxZQUFtQixTQUEyQixFQUNwQyxHQUFlLEVBQ2YsUUFBbUIsRUFDbkIsTUFBcUIsRUFDckIsT0FBZSxFQUNmLE1BQWMsRUFDZCxjQUE4QixFQUM5QixPQUF1QjtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQVJTLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUEvSXpCLGVBQVUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU87UUFRdEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUcxQixnQkFBVyxHQUEwQixFQUFFLENBQUM7UUFDeEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLakIsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFFekIsbUJBQWMsR0FBRztZQUNmO2dCQUNFLFVBQVUsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixDQUFDO2dCQUN6TSxRQUFRLEVBQUUsMEhBQTBIO2FBQ3JJO1lBQ0Q7Z0JBQ0UsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDO2dCQUM3SCxRQUFRLEVBQUUseUhBQXlIO2FBQ3BJO1lBQ0Q7Z0JBQ0UsVUFBVSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUM7Z0JBQ2pHLFFBQVEsRUFBRSx1SEFBdUg7YUFDbEk7WUFDRCxFQUFDLFFBQVEsRUFBRSxzQ0FBc0MsRUFBQztZQUNsRCxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUseUhBQXlILEVBQUM7U0FDdEssQ0FBQztRQUlPLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBTXZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLDBHQUEwRztRQUMxRywwRkFBMEY7UUFDakYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQThGMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqRixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTlGLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTs7WUFDbEUsTUFBTSxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsYUFBQyxJQUFJLENBQUMsWUFBWSwwQ0FBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLDJDQUFHLE1BQU0sRUFBRSwyQkFBMkIsRUFBRTtnQkFDMUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHO2dCQUN2QixHQUFHO2dCQUNILEdBQUc7Z0JBQ0gsVUFBVTthQUNYLENBQUMsQ0FBQztZQUVILEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxxQkFBcUIsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQXhIRCxJQUFJLFNBQVM7UUFDWCxPQUFPLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFZRCxJQUNJLGNBQWMsQ0FBQyxXQUFXO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ0ksYUFBYSxDQUFDLFVBQVU7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUNJLFFBQVEsQ0FBQyxRQUFRO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsR0FBVztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFDSSxXQUFXLENBQUMsSUFBaUI7O1FBQy9CLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLFVBQVUsQ0FBQztZQUNoRSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsUUFBQyxJQUFJLENBQUMsU0FBUywwQ0FBRSxLQUFLLENBQUMsY0FBYyxFQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN4RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDdkU7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELElBQ0ksU0FBUyxDQUFDLElBQWU7O1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7UUFFMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsOEJBQThCO1lBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN2QztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDekUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRTVDLElBQUksQ0FBQyxXQUFXLEdBQUc7Z0JBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25HLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3RyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDN0IsQ0FBQztZQUVGLElBQUksQ0FBQyxRQUFDLElBQUksQ0FBQyxTQUFTLDBDQUFFLEtBQUssQ0FBQyxvQkFBb0IsRUFBQyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDbEgsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDakc7U0FFRjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBZ0NELGdCQUFnQixDQUFDLFVBQVcsRUFBRSxLQUFNO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxFQUFFLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxVQUFVLEVBQWdCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxVQUFVLENBQUM7UUFDcEosSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDekI7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLGFBQWEsQ0FBQyxHQUFXO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDeEcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsaUJBQWlCO0lBQ25CLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBaUI7O1FBQ3pCLE1BQU0sT0FBTyxHQUFHLENBQUMsUUFBQyxJQUFJLENBQUMsU0FBUywwQ0FBRSxLQUFLLENBQUMsZUFBZSxFQUFDLENBQUM7UUFDekQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1FBQ3hGLE1BQU0sYUFBYSxHQUFHLE9BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsUUFBUSxDQUFDLEdBQUcsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBZSxFQUFFLEVBQUU7WUFDeEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFdBQVcsR0FBRyxDQUFDO1lBQzlILE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN4SixPQUFPLE9BQU8sSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sVUFBVSxHQUFHO1lBQ2pCLElBQUk7WUFDSixJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRztZQUNoQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTTtZQUN0QyxNQUFNLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxLQUFJLGFBQWE7WUFDdkMsSUFBSSxFQUFFLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxJQUFJO1lBQ2xCLGFBQWE7WUFDYixRQUFRO1lBQ1IsS0FBSyxFQUFFLEVBQUU7WUFDVCxhQUFhO1lBQ2IsVUFBVSxFQUFFLEVBQUU7U0FDZixDQUFDO1FBQ0YsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLGtDQUFrQyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUM7UUFFbkssTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDbEUsSUFBSSxNQUFNO1lBQUUsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGtDQUFrQyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUUxSixVQUFVLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN2RSxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQWMsRUFBRSxVQUFlO1FBQ2hELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU07YUFDN0MsT0FBTyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDM0MsT0FBTyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdkQsT0FBTyxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDN0QsT0FBTyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN6RSxPQUFPLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMvRCxPQUFPLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6RCxPQUFPLENBQUMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSTtRQUNoQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7b0JBQ2hDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBRSxFQUFFO3dCQUM5RCxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7cUJBQzFEO2dCQUNILENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDVCxTQUFTLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQztxQkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQ3RDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDbkMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNuRjtTQUNGO2FBQU0sSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQzNCOzs7OztjQUtNLENBQ1AsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFXLEVBQUUsS0FBZTs7UUFDdkMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTtZQUNuRixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBSTVCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsV0FBQyxPQUFBLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxPQUFDLElBQUksQ0FBQyxNQUFNLDBDQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQSxFQUFBLENBQUM7WUFDdkgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsSUFBSSxLQUFJLE1BQU0sQ0FBQyxDQUFDO1lBQzdELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxXQUFDLE9BQUEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLE9BQUMsSUFBSSxDQUFDLE1BQU0sMENBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQSxFQUFBLENBQUM7WUFDdkksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxPQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLElBQUksS0FBSSxNQUFNLENBQUMsQ0FBQztTQUM5RTthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtvQkFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUM5RSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQzlILElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQ2pILElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNoRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzlFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsZUFBZTt5QkFDcEUsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztvQkFFM0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRTtnQkFDcEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNwQztTQUNGO0lBRUgsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxTQUFTLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRSxHQUFROztRQUNuQyxnQ0FBZ0M7UUFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxJQUFJLGlCQUFJLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxvQkFBb0IsMENBQUUsU0FBUywwQ0FBRSxPQUFPLENBQUEsRUFBRTtZQUN6RCxHQUFHLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzdELGFBQWEsRUFBRSxLQUFLO2dCQUNwQixZQUFZLEVBQUUsU0FBUztnQkFDdkIsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFlBQVksRUFBRSxJQUFJO2dCQUNsQixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsQ0FBQztZQUNILEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xFLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDL0UsR0FBRyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUNsRjtJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFROztRQUMvQixnQkFBSSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxHQUFHLDBDQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRztZQUN4RCxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLDBDQUFFLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQ3BFLDRDQUE0QztZQUM1QyxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLDBDQUFFLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNqRCxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JGLENBQUMsRUFBRTtTQUNKO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFpQjtRQUNoRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7aUJBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ3pDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEMsTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNuQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLHdCQUF3QjtvQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzdCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxDQUFDO1lBQ0wsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsTUFBVztRQUN4QiwyQkFBMkI7UUFDM0IsTUFBTSxHQUFHLEdBQUcsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsYUFBYSxLQUFJLE1BQU0sQ0FBQztRQUM1QyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELGVBQWU7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULCtFQUErRTtJQUNqRixDQUFDOztBQTlZTSwyQkFBWSxHQUFHLHlIQUF5SCxDQUFDO0FBQ3pJLHlCQUFVLEdBQUcsc09BQXNPLENBQUM7O1lBVDVQLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsZ3NFQUFxQztnQkFFckMsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7O2FBQ25DOzs7WUFsQ0MsZ0JBQWdCO1lBR2hCLFVBQVU7WUFSMEMsU0FBUztZQUk3RCxhQUFhO1lBSndFLE1BQU07WUFFM0YsTUFBTTtZQUhBLGNBQWM7WUFVcEIsY0FBYzs7OzZCQThFYixLQUFLOzZCQU1MLEtBQUs7eUJBR0wsS0FBSzttQkFDTCxXQUFXLFNBQUMsWUFBWTt5QkFFeEIsU0FBUyxTQUFDLFlBQVk7cUJBQ3RCLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDOzBCQUNsQyxTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzs2QkFFdkMsS0FBSyxTQUFDLGFBQWE7NEJBTW5CLEtBQUssU0FBQyxZQUFZO3VCQUtsQixLQUFLO3lCQVVMLEtBQUs7MEJBVUwsS0FBSzt3QkFjTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQbHVnaW5zU2VydmljZX0gZnJvbSAnLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvcGx1Z2lucy5zZXJ2aWNlJztcbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBPbkRlc3Ryb3ksIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWcsXG4gIE9iamVjdFR5cGUsXG4gIFN5c3RlbVNlcnZpY2UsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG4gIERtc09iamVjdCxcbiAgRG1zT2JqZWN0QXR0YWNobWVudCxcbiAgRG1zU2VydmljZSxcbiAgQmFja2VuZFNlcnZpY2Vcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9uLCBmcm9tRXZlbnR9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWwsIHRha2VXaGlsZSwgY2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGaWxlU2l6ZVBpcGV9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BpcGVzL2ZpbGVzaXplLnBpcGUnO1xuaW1wb3J0IHtDb250ZW50UHJldmlld1NlcnZpY2V9IGZyb20gJy4vY29udGVudC1wcmV2aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHtVbnN1YnNjcmliZU9uRGVzdHJveX0gZnJvbSAnLi4vdXRpbC91bnN1YnNjcmliZS91bnN1YnNjcmliZS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdlckNvbmZpZyB7XG4gIG1pbWVUeXBlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGZpbGVFeHRlbnNpb24/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgdmlld2VyOiBzdHJpbmc7XG4gIGVycm9yPzogYm9vbGVhbjtcbiAgdHlwZT86ICdjb21wYXJlJyB8ICdleHRlbmQnIHwgJ2Vycm9yJyB8ICdkZWZhdWx0Jztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJldmlld0ZpbGUge1xuICB1cmk6IHN0cmluZztcbiAgdXJpUGRmOiBzdHJpbmc7XG4gIG1pbWV0eXBlOiBzdHJpbmc7XG4gIG1pbWVncm91cDogc3RyaW5nO1xuICBzaXplOiBudW1iZXI7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIG1lZGlhVHlwZU5hbWU/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW1lZGlhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lZGlhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVkaWEuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbQ29udGVudFByZXZpZXdTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZWRpYUNvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBzdGF0aWMgVklERU9fVklFV0VSID0gJ2Fzc2V0cy9fZGVmYXVsdC9hcGkvdmlkZW8vP3BhdGg9JHtwYXRofSZtaW1lVHlwZT0ke21pbWVUeXBlfSZmaWxlRXh0ZW5zaW9uPSR7ZmlsZUV4dGVuc2lvbn0mbGFuZz0ke2xhbmd9JnRoZW1lPSR7dGhlbWV9JztcbiAgc3RhdGljIFBERl9WSUVXRVIgPSAnYXNzZXRzL19kZWZhdWx0L2FwaS9wZGYvd2ViL3ZpZXdlci5odG1sP2ZpbGU9JnBhdGg9JHtwYXRofSZwYXRoUGRmPSR7cGF0aFBkZn0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfSZjc3M9JTIzdG9vbGJhclZpZXdlclJpZ2h0JTIwJTIzcHJpbnQlN0JkaXNwbGF5JTNBYmxvY2shaW1wb3J0YW50JTNCJTdEJztcblxuICBwcml2YXRlIFNJWkVfTElNSVQgPSAxMDI0ICogMTAyNCAqIDEwOyAvLyAxME1CXG4gIHByaXZhdGUgcGRmanM6IGFueTtcbiAgbGF0ZXN0VXJpOiBzdHJpbmc7XG4gIHNsaWRlVXJpOiBzdHJpbmc7XG4gIHZpZXdlcjogYW55O1xuICBkbXNPYmplY3RUaXRsZTogc3RyaW5nO1xuICBwcml2YXRlIF9wcmV2aWV3VXJpOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Rtc09iamVjdDogRG1zT2JqZWN0O1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuICBmaWxlU2l6ZVBpcGU6IEZpbGVTaXplUGlwZTtcbiAgY3VycmVudEluZGV4OiBudW1iZXI7XG4gIGF0dGFjaG1lbnRzOiBEbXNPYmplY3RBdHRhY2htZW50W10gPSBbXTtcbiAgaXNNZWRpYSA9IGZhbHNlO1xuICBpc09jdGV0U3RyZWFtID0gZmFsc2U7XG4gIGlzTm90U3VwcG9ydGVkID0gZmFsc2U7XG4gIGlzTGFyZ2UgPSBmYWxzZTtcbiAgaGFzRXJyb3IgPSBmYWxzZTtcbiAgYXR0YWNobWVudHNMb2FkaW5nOiBTdWJzY3JpcHRpb247XG4gIGF0dGFjaG1lbnRzU2hvd246IGJvb2xlYW47XG4gIHNlYXJjaFRlcm06IHN0cmluZztcbiAgbWVkaWFUeXBlOiBPYmplY3RUeXBlO1xuICBjdXN0b21Db25maWc6IGFueVtdID0gW107XG5cbiAgZGVmYXVsdFZpZXdlcnMgPSBbXG4gICAge1xuICAgICAgXCJtaW1lVHlwZVwiOiBbXCJhcHBsaWNhdGlvbi9qc29uXCIsIFwidGV4dC9qc29uXCIsIFwidGV4dC9wbGFpblwiLCBcInRleHQveG1sXCIsIFwidGV4dC9qYXZhXCIsIFwidGV4dC9qYXZhc2NyaXB0XCIsIFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiLCBcInRleHQvaHRtbFwiLCBcInRleHQvbWFya2Rvd25cIiwgXCJ0ZXh0L3gtd2ViLW1hcmtkb3duXCIsIFwidGV4dC94LW1hcmtkb3duXCJdLFxuICAgICAgXCJ2aWV3ZXJcIjogXCJhc3NldHMvX2RlZmF1bHQvYXBpL21vbmFjby8/cGF0aD0ke3BhdGh9Jm1pbWVUeXBlPSR7bWltZVR5cGV9JmZpbGVFeHRlbnNpb249JHtmaWxlRXh0ZW5zaW9ufSZsYW5nPSR7bGFuZ30mdGhlbWU9JHt0aGVtZX1cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJtaW1lVHlwZVwiOiBbXCJhdWRpby9tcDNcIiwgXCJhdWRpby93ZWJtXCIsIFwiYXVkaW8vb2dnXCIsIFwiYXVkaW8vbXBlZ1wiLCBcInZpZGVvL21wNFwiLCBcInZpZGVvL3dlYm1cIiwgXCJ2aWRlby9vZ2dcIiwgXCJhcHBsaWNhdGlvbi9vZ2dcIl0sXG4gICAgICBcInZpZXdlclwiOiBcImFzc2V0cy9fZGVmYXVsdC9hcGkvdmlkZW8vP3BhdGg9JHtwYXRofSZtaW1lVHlwZT0ke21pbWVUeXBlfSZmaWxlRXh0ZW5zaW9uPSR7ZmlsZUV4dGVuc2lvbn0mbGFuZz0ke2xhbmd9JnRoZW1lPSR7dGhlbWV9XCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwibWltZVR5cGVcIjogW1wiaW1hZ2UvanBlZ1wiLCBcImltYWdlL3BuZ1wiLCBcImltYWdlL2FwbmdcIiwgXCJpbWFnZS9naWZcIiwgXCJpbWFnZS9zdmcreG1sXCIsIFwiaW1hZ2Uvd2VicFwiXSxcbiAgICAgIFwidmlld2VyXCI6IFwiYXNzZXRzL19kZWZhdWx0L2FwaS9pbWcvP3BhdGg9JHtwYXRofSZtaW1lVHlwZT0ke21pbWVUeXBlfSZmaWxlRXh0ZW5zaW9uPSR7ZmlsZUV4dGVuc2lvbn0mbGFuZz0ke2xhbmd9JnRoZW1lPSR7dGhlbWV9XCJcbiAgICB9LFxuICAgIHtcInZpZXdlclwiOiBcIigpID0+IHBhcmFtZXRlcnMuZGVmYXVsdFZpZXdlciArICcjJ1wifSxcbiAgICB7XCJlcnJvclwiOiB0cnVlLCBcInR5cGVcIjogXCJlcnJvclwiLCBcInZpZXdlclwiOiBcImFzc2V0cy9fZGVmYXVsdC9hcGkvZXJyb3IvP3BhdGg9JHtwYXRofSZtaW1lVHlwZT0ke21pbWVUeXBlfSZmaWxlRXh0ZW5zaW9uPSR7ZmlsZUV4dGVuc2lvbn0mbGFuZz0ke2xhbmd9JnRoZW1lPSR7dGhlbWV9XCJ9XG4gIF07XG5cbiAgaXNVbmRvY2tlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSB1bmRvY2tEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIGdldCB1bmRvY2tXaW4oKTogV2luZG93IHtcbiAgICByZXR1cm4gQ29udGVudFByZXZpZXdTZXJ2aWNlLmdldFVuZG9ja1dpbigpO1xuICB9XG5cbiAgQElucHV0KCkgZW5hYmxlQ2xvc2VCdG4gPSBmYWxzZTtcbiAgLy8gYnkgZGVmYXVsdCwgdGhlIHZpZXdlciBpZ25vcmVzIHRoZSB2ZXJzaW9uIG9mIHRoZSBkbXMgb2JqZWN0LiBUaGlzIHdpbGwgYWx3YXlzIHNob3cgdGhlIGxhdGVzdCB2ZXJzaW9uLlxuICAvLyBXZSBuZWVkIHRoaXMgdG8gYmUgYWJsZSB0byByZWZyZXNoIHRoZSB2aWV3ZXIgYmVjYXVzZSBvdGhlcndpc2UgcGRmanMgd29ya2VyIHdpbGwgZmFpbC5cbiAgQElucHV0KCkgdXNlVmVyc2lvbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9wZW4nKSBvcGVuO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvZGVzeXN0ZW0nKSBjb2Rlc3lzdGVtO1xuICBAVmlld0NoaWxkKCdpZnJhbWUnLCB7c3RhdGljOiB0cnVlfSkgaWZyYW1lO1xuICBAVmlld0NoaWxkKCdpZnJhbWVNZWRpYScsIHtzdGF0aWM6IHRydWV9KSBpZnJhbWVNZWRpYTtcblxuICBASW5wdXQoJ2F0dGFjaG1lbnRzJylcbiAgc2V0IHNldEF0dGFjaG1lbnRzKGF0dGFjaG1lbnRzKSB7XG4gICAgdGhpcy5hdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzO1xuICAgIHRoaXMuYXR0YWNobWVudHNTaG93biA9IGZhbHNlO1xuICB9XG5cbiAgQElucHV0KCdzZWFyY2hUZXJtJylcbiAgc2V0IHNldFNlYXJjaFRlcm0oc2VhcmNoVGVybSkge1xuICAgIHRoaXMuc2VhcmNoVGVybSA9IHNlYXJjaFRlcm0gfHwgJyc7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9ICEhZGlzYWJsZWQ7XG4gICAgdGhpcy50b29nbGVWaWV3ZXIoKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcHJldmlld1VyaSh1cmk6IHN0cmluZykge1xuICAgIHRoaXMuX3ByZXZpZXdVcmkgPSB1cmk7XG4gICAgdGhpcy50b29nbGVWaWV3ZXIoKTtcbiAgfVxuXG4gIGdldCBwcmV2aWV3VXJpKCkge1xuICAgIHJldHVybiB0aGlzLl9wcmV2aWV3VXJpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHByZXZpZXdGaWxlKGZpbGU6IFByZXZpZXdGaWxlKSB7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIHRoaXMudmlld2VyID0gdGhpcy5nZXRWaWV3ZXIoZmlsZSk7XG4gICAgICB0aGlzLmlzTWVkaWEgPSB0aGlzLnZpZXdlci52aWV3ZXIgIT09IE1lZGlhQ29tcG9uZW50LlBERl9WSUVXRVI7XG4gICAgICB0aGlzLmlzT2N0ZXRTdHJlYW0gPSAhIWZpbGUubWltZWdyb3VwPy5tYXRjaCgvb2N0ZXQtc3RyZWFtLyk7XG4gICAgICB0aGlzLmlzTGFyZ2UgPSBmaWxlLnNpemUgJiYgZmlsZS5zaXplID4gdGhpcy5TSVpFX0xJTUlUO1xuICAgICAgdGhpcy5tZWRpYVR5cGUgPSBmaWxlLm1lZGlhVHlwZU5hbWUgJiYgdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZShmaWxlLm1lZGlhVHlwZU5hbWUpO1xuICAgICAgdGhpcy5wcmV2aWV3VXJpID0gdGhpcy5pc01lZGlhID8gdGhpcy52aWV3ZXIucHJldmlld1VyaSA6IGZpbGUudXJpUGRmO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByZXZpZXdVcmkgPSAnJztcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZG1zT2JqZWN0KGl0ZW06IERtc09iamVjdCkge1xuICAgIHRoaXMuX2Rtc09iamVjdCA9IGl0ZW07XG4gICAgdGhpcy5kbXNPYmplY3RUaXRsZSA9IGl0ZW0udGl0bGUgfHwgJy4uLic7XG5cbiAgICB0aGlzLnNldEF0dGFjaG1lbnRzID0gW107XG4gICAgaWYgKHRoaXMuYXR0YWNobWVudHNMb2FkaW5nKSB7XG4gICAgICAvLyBjYW5jZWwgYW55IHBlbmRpbmcgcmVxdWVzdHNcbiAgICAgIHRoaXMuYXR0YWNobWVudHNMb2FkaW5nLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmIChpdGVtLmNvbnRlbnQgJiYgaXRlbS5jb250ZW50LmNvbnRlbnRzICYmIGl0ZW0uY29udGVudC5jb250ZW50cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBpdGVtLmNvbnRlbnQuY29udGVudHNbMF0gfHwge307XG5cbiAgICAgIHRoaXMucHJldmlld0ZpbGUgPSB7XG4gICAgICAgIHVyaTogdGhpcy5kbXMuZ2V0UHJldmlldyhpdGVtLmNvbnRlbnQuaWQsIGl0ZW0uY29udGVudC50eXBlLCB0aGlzLnVzZVZlcnNpb24gPyBpdGVtLnZlcnNpb24gOiBudWxsKSxcbiAgICAgICAgdXJpUGRmOiB0aGlzLmRtcy5nZXRQcmV2aWV3KGl0ZW0uY29udGVudC5pZCwgaXRlbS5jb250ZW50LnR5cGUsIHRoaXMudXNlVmVyc2lvbiA/IGl0ZW0udmVyc2lvbiA6IG51bGwsICdQREYnKSxcbiAgICAgICAgbWltZXR5cGU6IGZpbGUubWltZXR5cGUsXG4gICAgICAgIG1pbWVncm91cDogZmlsZS5taW1lZ3JvdXAsXG4gICAgICAgIHNpemU6IGZpbGUuc2l6ZSxcbiAgICAgICAgcGF0aDogZmlsZS5wYXRoLFxuICAgICAgICBtZWRpYVR5cGVOYW1lOiBpdGVtLnR5cGVOYW1lXG4gICAgICB9O1xuXG4gICAgICBpZiAoISFmaWxlLm1pbWVncm91cD8ubWF0Y2goL15tYWlsfG9jdGV0LXN0cmVhbS8pKSB7XG4gICAgICAgIHRoaXMuc2xpZGVVcmkgPSB0aGlzLmRtcy5nZXRTbGlkZShpdGVtLmNvbnRlbnQuaWQsIGl0ZW0uY29udGVudC50eXBlLCB0aGlzLnVzZVZlcnNpb24gPyBpdGVtLnZlcnNpb24gOiBudWxsLCAyNTYpO1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnRzTG9hZGluZyA9IHRoaXMuZG1zLmdldEF0dGFjaG1lbnRzKGl0ZW0pLnN1YnNjcmliZShhID0+IHRoaXMuc2V0QXR0YWNobWVudHMgPSBhKTtcbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByZXZpZXdVcmkgPSAnJztcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG1zOiBEbXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnLFxuICAgIHByaXZhdGUgcGx1Z2luc1NlcnZpY2U6IFBsdWdpbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZmlsZVNpemVQaXBlID0gbmV3IEZpbGVTaXplUGlwZSh0cmFuc2xhdGUpO1xuICAgIHRoaXMuU0laRV9MSU1JVCA9IHRoaXMuY29uZmlnLmdldFJhdygncHJldmlldy5maWxlU2l6ZUxpbWl0JykgfHwgdGhpcy5TSVpFX0xJTUlUO1xuICAgIHRoaXMuY3VzdG9tQ29uZmlnID0gKHRoaXMuY29uZmlnLmdldFJhdygncHJldmlldy52aWV3ZXJzJykgfHwgW10pLmNvbmNhdCh0aGlzLmRlZmF1bHRWaWV3ZXJzKTtcblxuICAgIHRoaXMucGx1Z2luc1NlcnZpY2UuYXBpLmNvbnRlbnQuY2F0Y2hFcnJvcigpLnN1YnNjcmliZSgoZXZ0OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHtlcnIsIHdpbiwgcGFyYW1ldGVyc30gPSBldnQuZGF0YTtcbiAgICAgIGNvbnN0IHVyaSA9IHRoaXMucGx1Z2luc1NlcnZpY2UuYXBwbHlGdW5jdGlvbih0aGlzLmN1c3RvbUNvbmZpZz8uZmluZCgodikgPT4gdi5lcnJvcik/LnZpZXdlciwgJ2FwaSwgZXJyLCB3aW4sIHBhcmFtZXRlcnMnLCBbXG4gICAgICAgIHRoaXMucGx1Z2luc1NlcnZpY2UuYXBpLFxuICAgICAgICBlcnIsXG4gICAgICAgIHdpbixcbiAgICAgICAgcGFyYW1ldGVyc1xuICAgICAgXSk7XG5cbiAgICAgIHVyaSAmJiB0aGlzLmxvYWREb2N1bWVudCh0aGlzLnJlc29sdmVVcmkodXJpLCBwYXJhbWV0ZXJzKSwgdHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpZiAoQ29udGVudFByZXZpZXdTZXJ2aWNlLnVuZG9ja1dpbkFjdGl2ZSgpKSB7XG4gICAgICB0aGlzLnVuZG9jayhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0QXR0YWNobWVudChhdHRhY2htZW50PywgZm9yY2U/KSB7XG4gICAgY29uc3QgcHJldmlld1VyaSA9IGF0dGFjaG1lbnQgJiYgdGhpcy5pc01lZGlhID8gdGhpcy5nZXRWaWV3ZXIoe3VyaVBkZjogYXR0YWNobWVudD8ucHJldmlld1VyaX0gYXMgUHJldmlld0ZpbGUpLnByZXZpZXdVcmkgOiBhdHRhY2htZW50Py5wcmV2aWV3VXJpO1xuICAgIHRoaXMubG9hZERvY3VtZW50KHByZXZpZXdVcmkgfHwgdGhpcy5wcmV2aWV3VXJpLCBmb3JjZSk7XG4gIH1cblxuICBwdWJsaWMgdG9vZ2xlVmlld2VyKCkge1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLmRpc2FibGVkICYmICEhdGhpcy5wcmV2aWV3VXJpO1xuICAgIGlmICh0aGlzLnVuZG9ja0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzVW5kb2NrZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3BlbiB8fCB0aGlzLmlzVW5kb2NrZWQpIHtcbiAgICAgIHRoaXMubG9hZERvY3VtZW50KHRoaXMucHJldmlld1VyaSwgdGhpcy5pc1VuZG9ja2VkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmxvYWREb2N1bWVudCh0aGlzLnByZXZpZXdVcmksIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUGRmVmlld2VyKHVyaTogc3RyaW5nKSB7XG4gICAgdGhpcy5wZGZqcy5jb250ZW50V2luZG93LlBERlZpZXdlckFwcGxpY2F0aW9uLm9wZW4odXJpKS50aGVuKCgpID0+ICh0aGlzLmhhc0Vycm9yID0gZmFsc2UpKS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICB0aGlzLmhhc0Vycm9yID0gIXRoaXMuaXNPY3RldFN0cmVhbTtcbiAgICAgIHRoaXMuaXNOb3RTdXBwb3J0ZWQgPSB0aGlzLmlzT2N0ZXRTdHJlYW07XG4gICAgfSk7XG4gICAgLy8gdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIGdldFZpZXdlcihmaWxlOiBQcmV2aWV3RmlsZSk6IGFueSB7XG4gICAgY29uc3QgaXNWaWRlbyA9ICEhZmlsZS5taW1lZ3JvdXA/Lm1hdGNoKC9eYXVkaW98XnZpZGVvLyk7XG4gICAgY29uc3QgZGVmYXVsdFZpZXdlciA9IGlzVmlkZW8gPyBNZWRpYUNvbXBvbmVudC5WSURFT19WSUVXRVIgOiBNZWRpYUNvbXBvbmVudC5QREZfVklFV0VSO1xuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlLnBhdGg/LmluY2x1ZGVzKCcuJykgPyBmaWxlLnBhdGguc3BsaXQoJy4nKS5wb3AoKSA6ICcnO1xuICAgIGNvbnN0IG1pbWVUeXBlID0gZmlsZS5taW1ldHlwZTtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmN1c3RvbUNvbmZpZy5maW5kKChjOiBWaWV3ZXJDb25maWcpID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoTVQgPSAhYy5taW1lVHlwZSB8fCAodHlwZW9mIGMubWltZVR5cGUgPT09ICdzdHJpbmcnID8gW2MubWltZVR5cGVdIDogYy5taW1lVHlwZSkuaW5jbHVkZXMobWltZVR5cGU/LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgY29uc3QgbWF0Y2hGRSA9ICFjLmZpbGVFeHRlbnNpb24gfHwgKHR5cGVvZiBjLmZpbGVFeHRlbnNpb24gPT09ICdzdHJpbmcnID8gW2MuZmlsZUV4dGVuc2lvbl0gOiBjLmZpbGVFeHRlbnNpb24pLmluY2x1ZGVzKChmaWxlRXh0ZW5zaW9uKS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIHJldHVybiBtYXRjaE1UICYmIG1hdGNoRkUgJiYgKCFjLnR5cGUgfHwgYy50eXBlID09PSAnZGVmYXVsdCcpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcGFyYW1ldGVycyA9IHtcbiAgICAgIGZpbGUsXG4gICAgICBwYXRoOiBsb2NhdGlvbi5vcmlnaW4gKyBmaWxlLnVyaSxcbiAgICAgIHBhdGhQZGY6IGxvY2F0aW9uLm9yaWdpbiArIGZpbGUudXJpUGRmLFxuICAgICAgdmlld2VyOiBjb25maWc/LnZpZXdlciB8fCBkZWZhdWx0Vmlld2VyLFxuICAgICAgbG9hZDogY29uZmlnPy5sb2FkLFxuICAgICAgZmlsZUV4dGVuc2lvbixcbiAgICAgIG1pbWVUeXBlLFxuICAgICAgdGhlbWU6ICcnLFxuICAgICAgZGVmYXVsdFZpZXdlcixcbiAgICAgIHByZXZpZXdVcmk6ICcnXG4gICAgfTtcbiAgICBwYXJhbWV0ZXJzLnZpZXdlciA9IHRoaXMucGx1Z2luc1NlcnZpY2UuYXBwbHlGdW5jdGlvbihwYXJhbWV0ZXJzLnZpZXdlciwgJ2NvbXBvbmVudCwgZG1zT2JqZWN0LCBwYXJhbWV0ZXJzJywgW3RoaXMsIHRoaXMuX2Rtc09iamVjdCwgcGFyYW1ldGVyc10pIHx8IGRlZmF1bHRWaWV3ZXI7XG5cbiAgICBjb25zdCBleHRlbmQgPSB0aGlzLmN1c3RvbUNvbmZpZy5maW5kKChjKSA9PiBjLnR5cGUgPT09ICdleHRlbmQnKTtcbiAgICBpZiAoZXh0ZW5kKSBwYXJhbWV0ZXJzLnZpZXdlciA9IHRoaXMucGx1Z2luc1NlcnZpY2UuYXBwbHlGdW5jdGlvbihleHRlbmQudmlld2VyLCAnY29tcG9uZW50LCBkbXNPYmplY3QsIHBhcmFtZXRlcnMnLCBbdGhpcywgdGhpcy5fZG1zT2JqZWN0LCBwYXJhbWV0ZXJzXSk7XG5cbiAgICBwYXJhbWV0ZXJzLnByZXZpZXdVcmkgPSB0aGlzLnJlc29sdmVVcmkocGFyYW1ldGVycy52aWV3ZXIsIHBhcmFtZXRlcnMpO1xuICAgIHJldHVybiBwYXJhbWV0ZXJzO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlVXJpKHZpZXdlcjogc3RyaW5nLCBwYXJhbWV0ZXJzOiBhbnkpIHtcbiAgICByZXR1cm4gKHZpZXdlciA/IGRvY3VtZW50LmJhc2VVUkkgOiAnJykgKyB2aWV3ZXJcbiAgICAgIC5yZXBsYWNlKCcke29yaWdpbmFsUGF0aH0nLCBwYXJhbWV0ZXJzLnBhdGgpXG4gICAgICAucmVwbGFjZSgnJHtwYXRofScsIGVuY29kZVVSSUNvbXBvbmVudChwYXJhbWV0ZXJzLnBhdGgpKVxuICAgICAgLnJlcGxhY2UoJyR7cGF0aFBkZn0nLCBlbmNvZGVVUklDb21wb25lbnQocGFyYW1ldGVycy5wYXRoUGRmKSlcbiAgICAgIC5yZXBsYWNlKCcke2ZpbGVFeHRlbnNpb259JywgZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlcnMuZmlsZUV4dGVuc2lvbikpXG4gICAgICAucmVwbGFjZSgnJHttaW1lVHlwZX0nLCBlbmNvZGVVUklDb21wb25lbnQocGFyYW1ldGVycy5taW1lVHlwZSkpXG4gICAgICAucmVwbGFjZSgnJHt0aGVtZX0nLCBlbmNvZGVVUklDb21wb25lbnQocGFyYW1ldGVycy50aGVtZSkpXG4gICAgICAucmVwbGFjZSgnJHtsYW5nfScsIENvbnRlbnRQcmV2aWV3U2VydmljZS5tYXBMYW5nKHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKSk7XG4gIH1cblxuICB1bmRvY2sob3BlbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy51bmRvY2tEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzVW5kb2NrZWQgPSAhdGhpcy5pc1VuZG9ja2VkO1xuICAgIGlmICghdGhpcy5pc1VuZG9ja2VkKSB7XG4gICAgICBDb250ZW50UHJldmlld1NlcnZpY2UuY2xvc2VXaW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKF8gPT4ge1xuICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy51bmRvY2tXaW4gJiYgIUNvbnRlbnRQcmV2aWV3U2VydmljZS51bmRvY2tXaW5BY3RpdmUoKSkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuaXNVbmRvY2tlZCAmJiB0aGlzLnVuZG9jaygpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgICBmcm9tRXZlbnQod2luZG93LCAnYmVmb3JldW5sb2FkJylcbiAgICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy5pc1VuZG9ja2VkKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKGUgPT4gQ29udGVudFByZXZpZXdTZXJ2aWNlLmNsb3NlV2luKCkpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChvcGVuKSB7XG4gICAgICB0aGlzLmxvYWREb2N1bWVudCh0aGlzLnByZXZpZXdVcmksIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5XaW5kb3coc3JjOiBzdHJpbmcsIGNsZWFuID0gZmFsc2UpIHtcbiAgICBDb250ZW50UHJldmlld1NlcnZpY2UudW5kb2NrV2luKHNyYyk7XG4gICAgaWYgKGNsZWFuKSB7XG4gICAgICB3aGlsZSAodGhpcy51bmRvY2tXaW4uZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKSB7XG4gICAgICAgIHRoaXMudW5kb2NrV2luLmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy51bmRvY2tXaW4uZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFzcmMgJiYgIXRoaXMudW5kb2NrV2luLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNuby1maWxlJykpIHtcbiAgICAgIHRoaXMudW5kb2NrV2luLmRvY3VtZW50LndyaXRlKFxuICAgICAgICBgPGRpdiBpZD1cIm5vLWZpbGVcIiBzdHlsZT1cIm9wYWNpdHk6IDAuMDY7IGRpc3BsYXk6IGZsZXg7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1wiPlxuICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTI4XCIgaGVpZ2h0PVwiMTI4XCIgdmlld0JveD1cIjAgMCA0OCA0OFwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMjkgNEgxNC42Yy0uOCAwLTEuNS4yLTIgLjZsMjcuMiAyNy4ydi0xN0wyOSA0em0tLjcgMTEuNlY3LjhsNy44IDcuOGgtNy44ek00My40IDQwLjhsLTIuNSAyLjUtMy41LTMuNWMtLjQuMS0uOC4yLTEuMi4ySDE0LjZjLTJcbiAgICAgICAgICAwLTMuNi0xLjYtMy42LTMuNlYxMy41TDUuOSA4LjRsMi41LTIuNUwxMSA4LjRsMjguNyAyOC43IDMuMSAzLjEuNi42elwiLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPGRpdj5gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGxvYWREb2N1bWVudCh1cmk6IHN0cmluZywgZm9yY2U/OiBib29sZWFuKSB7XG4gICAgaWYgKGZvcmNlKSB7XG4gICAgICB0aGlzLmlzTGFyZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFmb3JjZSAmJiAodGhpcy5kaXNhYmxlZCB8fCAhdXJpIHx8ICh1cmkgPT09IHRoaXMubGF0ZXN0VXJpICYmICF0aGlzLmhhc0Vycm9yKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5sYXRlc3RVcmkgPSB1cmkgfHwgJyc7XG4gICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuaXNOb3RTdXBwb3J0ZWQgPSBmYWxzZTtcblxuXG5cbiAgICBpZiAodGhpcy5pc1VuZG9ja2VkKSB7XG4gICAgICB0aGlzLm9wZW5XaW5kb3codGhpcy5sYXRlc3RVcmkpO1xuICAgICAgY29uc3Qgb25sb2FkID0gKCkgPT4gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKHRoaXMudmlld2VyPy5sb2FkLCAnaWZyYW1lLCBjb21wb25lbnQnLCBbdGhpcy51bmRvY2tXaW4sIHRoaXNdKTtcbiAgICAgIHRoaXMuaWZyYW1lSW5pdCh0aGlzLnVuZG9ja1dpbiwgdGhpcy52aWV3ZXI/LmxvYWQgJiYgb25sb2FkKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0xhcmdlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNNZWRpYSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5pZnJhbWVNZWRpYS5uYXRpdmVFbGVtZW50LCAnc3JjJywgdGhpcy5sYXRlc3RVcmkpO1xuICAgICAgY29uc3Qgb25sb2FkID0gKCkgPT4gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKHRoaXMudmlld2VyPy5sb2FkLCAnaWZyYW1lLCBjb21wb25lbnQnLCBbdGhpcy5pZnJhbWVNZWRpYS5uYXRpdmVFbGVtZW50LCB0aGlzXSk7XG4gICAgICB0aGlzLmlmcmFtZUluaXQodGhpcy5pZnJhbWVNZWRpYS5uYXRpdmVFbGVtZW50LCB0aGlzLnZpZXdlcj8ubG9hZCAmJiBvbmxvYWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMucGRmanMpIHtcbiAgICAgICAgdGhpcy5wZGZqcyA9IHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMucGRmanMsICdzcmMnLCBNZWRpYUNvbXBvbmVudC5QREZfVklFV0VSLnJlcGxhY2UoL1xcPy4qLywgJz9maWxlPSYnKSk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMucGRmanMsICdsb2FkJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbk9wdGlvbnMuc2V0KCdzaWRlYmFyVmlld09uTG9hZCcsIDApO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbk9wdGlvbnMuc2V0KCd2aWV3T25Mb2FkJywgZmFsc2UpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbk9wdGlvbnMuc2V0KCdsb2NhbGUnLCBDb250ZW50UHJldmlld1NlcnZpY2UubWFwTGFuZyh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5kb2N1bWVudC53ZWJMMTBuLnNldExhbmd1YWdlKENvbnRlbnRQcmV2aWV3U2VydmljZS5tYXBMYW5nKHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKSk7XG4gICAgICAgICAgdGhpcy5wZGZqcy5jb250ZW50V2luZG93LlBERlZpZXdlckFwcGxpY2F0aW9uLl9pbml0aWFsaXplTDEwbigpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbk9wdGlvbnMuc2V0KCd2aWV3ZXJDc3NUaGVtZScsIDEpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbi5fZm9yY2VDc3NUaGVtZSgpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbi5hcHBDb25maWcudmlld2VyQ29udGFpbmVyXG4gICAgICAgICAgICAuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2VudGVyJywgZSA9PiB3aW5kb3cuZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRHJhZ0V2ZW50KCdkcmFnZW50ZXInLCBlKSkpO1xuICAgICAgICAgIHRoaXMucGRmanMuY29udGVudFdpbmRvdy5QREZWaWV3ZXJBcHBsaWNhdGlvbi5hcHBDb25maWcudmlld2VyQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCkpO1xuXG4gICAgICAgICAgdGhpcy5vcGVuUGRmVmlld2VyKHRoaXMubGF0ZXN0VXJpKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucGRmanMuY29udGVudFdpbmRvdyAmJiB0aGlzLnBkZmpzLmNvbnRlbnRXaW5kb3cuUERGVmlld2VyQXBwbGljYXRpb24pIHtcbiAgICAgICAgdGhpcy5wZGZqcy5jb250ZW50V2luZG93LlBERlZpZXdlckFwcGxpY2F0aW9uLnBkZlNpZGViYXIuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5vcGVuUGRmVmlld2VyKHRoaXMubGF0ZXN0VXJpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBDdXN0b20gc2VhcmNoIGluc2lkZSBQREYuSlMgYmFzZWQgb24gc2VhcmNoIHRlcm1cbiAgICogQHBhcmFtIHRlcm0gc2VhcmNoIHRlcm1cbiAgICogQHBhcmFtIHdpbiBpZnJhbWUgd2luZG93XG4gICAqL1xuICBwcml2YXRlIHNlYXJjaFBERih0ZXJtID0gJycsIHdpbjogYW55KSB7XG4gICAgLy8gcmVtb3ZlIGFsbCBzcGVjaWFsIGNoYXJhY3RlcnNcbiAgICB0ZXJtID0gKHRlcm0gfHwgJycpLnJlcGxhY2UoL1tcXFwifFxcKl0vZywgJycpLnRyaW0oKTtcbiAgICBpZiAodGVybSAmJiB3aW4/LlBERlZpZXdlckFwcGxpY2F0aW9uPy5hcHBDb25maWc/LmZpbmRCYXIpIHtcbiAgICAgIHdpbi5QREZWaWV3ZXJBcHBsaWNhdGlvbi5maW5kQ29udHJvbGxlci5leGVjdXRlQ29tbWFuZCgnZmluZCcsIHtcbiAgICAgICAgY2FzZVNlbnNpdGl2ZTogZmFsc2UsXG4gICAgICAgIGZpbmRQcmV2aW91czogdW5kZWZpbmVkLFxuICAgICAgICBoaWdobGlnaHRBbGw6IHRydWUsXG4gICAgICAgIHBocmFzZVNlYXJjaDogdHJ1ZSxcbiAgICAgICAgcXVlcnk6IHRlcm1cbiAgICAgIH0pO1xuICAgICAgd2luLlBERlZpZXdlckFwcGxpY2F0aW9uLmFwcENvbmZpZy5maW5kQmFyLmZpbmRGaWVsZC52YWx1ZSA9IHRlcm07XG4gICAgICB3aW4uUERGVmlld2VyQXBwbGljYXRpb24uYXBwQ29uZmlnLmZpbmRCYXIuaGlnaGxpZ2h0QWxsQ2hlY2tib3guY2hlY2tlZCA9IHRydWU7XG4gICAgICB3aW4uUERGVmlld2VyQXBwbGljYXRpb24uYXBwQ29uZmlnLmZpbmRCYXIuY2FzZVNlbnNpdGl2ZUNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByZXZlbnREcm9wRXZlbnQod2luOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pZnJhbWU/LnNyYz8uc3RhcnRzV2l0aCh3aW5kb3cubG9jYXRpb24ub3JpZ2luKSkge1xuICAgICAgd2luPy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIChlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICAgIC8vIGRpc3BhY2ggZHJhZyAmIGRyb3AgZXZlbnRzIHRvIG1haW4gd2luZG93XG4gICAgICB3aW4/LmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCAoZSkgPT4ge1xuICAgICAgICB3aW5kb3cuZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRHJhZ0V2ZW50KCdkcmFnZW50ZXInLCBlKSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LmRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IERyYWdFdmVudCgnZHJhZ2xlYXZlJywgZSkpLCAxMCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZnJhbWVJbml0KGlmcmFtZSA9IHRoaXMuaWZyYW1lLCBvbmxvYWQ/OiBGdW5jdGlvbikge1xuICAgIGlmIChpZnJhbWUpIHtcbiAgICAgIGlmcmFtZS5faW5pdCB8fCBmcm9tRXZlbnQoaWZyYW1lLCAnbG9hZCcpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB3aW4gPSB0aGlzLnNldEFwaShpZnJhbWUpO1xuICAgICAgICAgIG9ubG9hZCAmJiBvbmxvYWQoKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hQREYodGhpcy5zZWFyY2hUZXJtLCB3aW4pO1xuICAgICAgICAgICAgdGhpcy5wcmV2ZW50RHJvcEV2ZW50KHdpbik7XG4gICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfSk7XG4gICAgICBpZnJhbWUuX2luaXQgPSAhIXRoaXMuc2V0QXBpKGlmcmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRBcGkoaWZyYW1lOiBhbnkpIHtcbiAgICAvLyBzZXQgYXBpIHRvIGlmcmFtZSB3aW5kb3dcbiAgICBjb25zdCB3aW4gPSBpZnJhbWU/LmNvbnRlbnRXaW5kb3cgfHwgaWZyYW1lO1xuICAgIHdpblsnYXBpJ10gPSB3aW5kb3dbJ2FwaSddO1xuICAgIHJldHVybiB3aW47XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvLyByZXR1cm4gQ29udGVudFByZXZpZXdTZXJ2aWNlLnVuZG9ja1dpbkFjdGl2ZSgpICYmIHRoaXMub3BlbldpbmRvdygnJywgdHJ1ZSk7XG4gIH1cblxufVxuIl19