@resolveio/client-lib-core 1.3.4 → 1.3.6

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.
@@ -54,7 +54,7 @@ export class AuthGuard {
54
54
  if (user.roles.super_admin) {
55
55
  resolve(true);
56
56
  }
57
- else if (!user.roles.groups.filter(a => a.views.some(b => b === view && !this.isLinkPartialRoute(b))).length) {
57
+ else if (!this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b === view)).length) {
58
58
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
59
59
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
60
60
  this._router.navigateByUrl(link);
@@ -64,7 +64,7 @@ export class AuthGuard {
64
64
  }
65
65
  resolve(false);
66
66
  }
67
- else if (!user.roles.groups.filter(a => a.views.some(b => b.startsWith(view) && this.isLinkPartialRoute(b))).length) {
67
+ else if (this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b.startsWith(view))).length) {
68
68
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
69
69
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
70
70
  this._router.navigateByUrl(link);
@@ -78,7 +78,7 @@ export class AuthGuard {
78
78
  resolve(true);
79
79
  }
80
80
  }
81
- else if (!user.roles.groups.filter(a => a.views.some(b => b === view && !this.isLinkPartialRoute(b))).length) {
81
+ else if (!this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b === view)).length) {
82
82
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
83
83
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
84
84
  this._router.navigateByUrl(link);
@@ -88,7 +88,7 @@ export class AuthGuard {
88
88
  }
89
89
  resolve(false);
90
90
  }
91
- else if (!user.roles.groups.filter(a => a.views.some(b => b.startsWith(view) && this.isLinkPartialRoute(b))).length) {
91
+ else if (this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b.startsWith(view))).length) {
92
92
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
93
93
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
94
94
  this._router.navigateByUrl(link);
@@ -124,7 +124,7 @@ export class AuthGuard {
124
124
  if (user.roles.super_admin) {
125
125
  resolve(true);
126
126
  }
127
- else if (!user.roles.groups.filter(a => a.views.some(b => b === view && !this.isLinkPartialRoute(b))).length) {
127
+ else if (!this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b === view)).length) {
128
128
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
129
129
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
130
130
  this._router.navigateByUrl(link);
@@ -134,7 +134,7 @@ export class AuthGuard {
134
134
  }
135
135
  resolve(false);
136
136
  }
137
- else if (!user.roles.groups.filter(a => a.views.some(b => b.startsWith(view) && this.isLinkPartialRoute(b))).length) {
137
+ else if (this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b.startsWith(view))).length) {
138
138
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
139
139
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
140
140
  this._router.navigateByUrl(link);
@@ -148,7 +148,7 @@ export class AuthGuard {
148
148
  resolve(true);
149
149
  }
150
150
  }
151
- else if (!user.roles.groups.filter(a => a.views.some(b => b === view && !this.isLinkPartialRoute(b))).length) {
151
+ else if (!this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b === view)).length) {
152
152
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
153
153
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
154
154
  this._router.navigateByUrl(link);
@@ -158,7 +158,7 @@ export class AuthGuard {
158
158
  }
159
159
  resolve(false);
160
160
  }
161
- else if (!user.roles.groups.filter(a => a.views.some(b => b.startsWith(view) && this.isLinkPartialRoute(b))).length) {
161
+ else if (this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b.startsWith(view))).length) {
162
162
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
163
163
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
164
164
  this._router.navigateByUrl(link);
@@ -221,4 +221,4 @@ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
221
221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: AuthGuard, decorators: [{
222
222
  type: Injectable
223
223
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AuthService }, { type: i3.DialogService }, { type: i4.AccountManagerService }, { type: i5.CoreService }, { type: i6.OfflineManagerService }, { type: i7.AuthPermissionService }, { type: i8.AlertService }]; } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2F1dGgvYXV0aC1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLE1BQU0sRUFBK0MsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBRzlELE1BQU0sT0FBTyxTQUFTO0lBSXJCLFlBQW9CLE9BQWUsRUFDeEIsS0FBa0IsRUFDbEIsR0FBa0IsRUFDbEIsUUFBK0IsRUFDL0IsSUFBaUIsRUFDakIsUUFBK0IsRUFDL0IsSUFBMkIsRUFDM0IsTUFBb0I7UUFQWCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUF1QjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQXVCO1FBQy9CLFNBQUksR0FBSixJ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QUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTt3Q0FDM0gsSUFBVSxJQUFJLENBQUMsS0FBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7NENBQzNKLElBQUksSUFBSSxHQUFTLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRDQUMzUSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FB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SUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVk7UUFDOUIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRXRELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzVDLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRS9CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7b0JBQ3ZCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7aUJBQzVCO2FBQ0Q7U0FDRDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQzs7c0dBak9XLFNBQVM7MEdBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYWNjb3VudC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuQWN0aXZhdGUsIFJvdXRlciwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi93aWRnZXRzL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBPZmZsaW5lTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9vZmZsaW5lLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBkYXRlUmV2aXZlciB9IGZyb20gJy4uL3V0aWwvY29tbW9uLmhlbHBlcic7XG5pbXBvcnQgeyBDb3JlU2VydmljZSB9IGZyb20gJy4uL2NvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL2F1dGgtcGVybWlzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi93aWRnZXRzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuXG5cdHJlZGlyZWN0VXJsOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsIFxuXHRcdFx0XHRwcml2YXRlIF9hdXRoOiBBdXRoU2VydmljZSwgXG5cdFx0XHRcdHByaXZhdGUgX2RzOiBEaWFsb2dTZXJ2aWNlLFxuXHRcdFx0XHRwcml2YXRlIF9hY2NvdW50OiBBY2NvdW50TWFuYWdlclNlcnZpY2UsXG5cdFx0XHRcdHByaXZhdGUgX2FwcDogQ29yZVNlcnZpY2UsXG5cdFx0XHRcdHByaXZhdGUgX29mZmxpbmU6IE9mZmxpbmVNYW5hZ2VyU2VydmljZSxcblx0XHRcdFx0cHJpdmF0ZSBfYXBzOiBBdXRoUGVybWlzc2lvblNlcnZpY2UsXG5cdFx0XHRcdHByaXZhdGUgX2FsZXJ0OiBBbGVydFNlcnZpY2UpIFxuXHR7fVxuXHRcblx0Y2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPnxib29sZWFuIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHRoaXMuX2FjY291bnQuaXNJbml0Q29tcGxldGVkKCkudGhlbigoKSA9PiB7XG5cdFx0XHRcdGxldCB1c2VyID0gdGhpcy5fYWNjb3VudC5nZXRVc2VyKCk7XG5cblx0XHRcdFx0aWYgKCF1c2VyKSB7XG5cdFx0XHRcdFx0dXNlciA9IEpTT04ucGFyc2UodGhpcy5fb2ZmbGluZS5nZXRVc2VyKCksIGRhdGVSZXZpdmVyKTtcblx0XHRcdFx0XHRpZiAodXNlcikge1xuXHRcdFx0XHRcdFx0dGhpcy5fYWNjb3VudC5zZXRVc2VyKHVzZXIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICghdXNlcikge1xuXHRcdFx0XHRcdGlmIChuYXZpZ2F0b3Iub25MaW5lKSB7XG5cdFx0XHRcdFx0XHR0aGlzLl9hdXRoLmxvZ2luVXNlcigpLnRoZW4obmV3VXNlciA9PiB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuX2FjY291bnQuaXNMb2dpbkNvbXBsZXRlZCgpLnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHVzZXIgPSB0aGlzLl9hY2NvdW50LmdldFVzZXIoKTtcblxuXHRcdFx0XHRcdFx0XHRcdGlmICghdXNlci5hY3RpdmUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShmYWxzZSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0bGV0IHZpZXcgPSBzdGF0ZS51cmwucmVwbGFjZSgvXihcXC9bLWEtel0rXFwvW15cXC9dKylcXC8uKiQvLCAnJDEnKS5yZXBsYWNlKC9cXD8uKyQvLCAnJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRsZXQgbW9kdWxlVmlldyA9IHZpZXcucmVwbGFjZSgvXihcXC9bLWEtel0rXFwvKS4qJC8sICckMScpO1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoIXRoaXMuaXNMaW5rRmFrZVJvdXRlKHZpZXcpKSB7XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoKDxhbnk+dXNlci5yb2xlcykuc3VwZXJfYWRtaW4pIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsc2UgaWYgKCEoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYiA9PT0gdmlldyAmJiAhdGhpcy5pc0xpbmtQYXJ0aWFsUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsZXQgbGluayA9ICg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpWzBdLnZpZXdzLmZpbHRlcihhID0+IGEuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYSkgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGEpKVswXTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGxpbmspO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbHNlIGlmICghKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aCh2aWV3KSAmJiB0aGlzLmlzTGlua1BhcnRpYWxSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICgoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxldCBsaW5rID0gKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSlbMF0udmlld3MuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihhKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYSkpWzBdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwobGluayk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGVsc2UgaWYgKCEoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYiA9PT0gdmlldyAmJiAhdGhpcy5pc0xpbmtQYXJ0aWFsUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKCg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxldCBsaW5rID0gKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSlbMF0udmlld3MuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihhKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYSkpWzBdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGxpbmspO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGVsc2UgaWYgKCEoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKHZpZXcpICYmIHRoaXMuaXNMaW5rUGFydGlhbFJvdXRlKGIpKSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmICgoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsZXQgbGluayA9ICg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpWzBdLnZpZXdzLmZpbHRlcihhID0+IGEuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYSkgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGEpKVswXTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybChsaW5rKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShmYWxzZSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH0sICgpID0+IHtcblx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0aWYgKCF1c2VyLmFjdGl2ZSkge1xuXHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRsZXQgdmlldyA9IHN0YXRlLnVybC5yZXBsYWNlKC9eKFxcL1stYS16XStcXC9bXlxcL10rKVxcLy4qJC8sICckMScpLnJlcGxhY2UoL1xcPy4rJC8sICcnKTtcblx0XHRcdFx0XHRcdGxldCBtb2R1bGVWaWV3ID0gdmlldy5yZXBsYWNlKC9eKFxcL1stYS16XStcXC8pLiokLywgJyQxJyk7XG5cblx0XHRcdFx0XHRcdGlmICghdGhpcy5pc0xpbmtGYWtlUm91dGUodmlldykpIHtcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdGlmICgoPGFueT51c2VyLnJvbGVzKS5zdXBlcl9hZG1pbikge1xuXHRcdFx0XHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0ZWxzZSBpZiAoISg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiID09PSB2aWV3ICYmICF0aGlzLmlzTGlua1BhcnRpYWxSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdGlmICgoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBsaW5rID0gKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSlbMF0udmlld3MuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihhKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYSkpWzBdO1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwobGluayk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGVsc2UgaWYgKCEoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKHZpZXcpICYmIHRoaXMuaXNMaW5rUGFydGlhbFJvdXRlKGIpKSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKCg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0bGV0IGxpbmsgPSAoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKVswXS52aWV3cy5maWx0ZXIoYSA9PiBhLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGEpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShhKSlbMF07XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybChsaW5rKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShmYWxzZSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSBpZiAoISg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiID09PSB2aWV3ICYmICF0aGlzLmlzTGlua1BhcnRpYWxSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRpZiAoKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0bGV0IGxpbmsgPSAoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKVswXS52aWV3cy5maWx0ZXIoYSA9PiBhLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGEpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShhKSlbMF07XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwobGluayk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSBpZiAoISg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgodmlldykgJiYgdGhpcy5pc0xpbmtQYXJ0aWFsUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0aWYgKCg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdGxldCBsaW5rID0gKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSlbMF0udmlld3MuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihhKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYSkpWzBdO1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGxpbmspO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0sICgpID0+IHt9KTtcblx0XHR9KTtcblx0fVxuXG5cdGRvZXNMaW5rSGF2ZVBhcmFtZXRlcihsaW5rOiBzdHJpbmcpIHtcblx0XHRsZXQgcGVybWlzc2lvbnMgPSB0aGlzLl9hcHMuZ2V0QWxsTW9kdWxlUGVybWlzc2lvbnMoKTtcblxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgcGVybWlzc2lvbnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGxldCBwZXJtaXNzaW9uID0gcGVybWlzc2lvbnNbaV07XG5cdFx0XHRmb3IgKGxldCBqID0gMDsgaiA8IHBlcm1pc3Npb24udmlld3MubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0bGV0IHZpZXcgPSBwZXJtaXNzaW9uLnZpZXdzW2pdO1xuXG5cdFx0XHRcdGlmICh2aWV3LmxpbmsgPT09IGxpbmspIHtcblx0XHRcdFx0XHRyZXR1cm4gISF2aWV3Lmhhc19wYXJhbWV0ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRpc0xpbmtGYWtlUm91dGUobGluazogc3RyaW5nKSB7XG5cdFx0bGV0IHBlcm1pc3Npb25zID0gdGhpcy5fYXBzLmdldEFsbE1vZHVsZVBlcm1pc3Npb25zKCk7XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRsZXQgcGVybWlzc2lvbiA9IHBlcm1pc3Npb25zW2ldO1xuXHRcdFx0Zm9yIChsZXQgaiA9IDA7IGogPCBwZXJtaXNzaW9uLnZpZXdzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGxldCB2aWV3ID0gcGVybWlzc2lvbi52aWV3c1tqXTtcblxuXHRcdFx0XHRpZiAodmlldy5saW5rID09PSBsaW5rKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRpc0xpbmtQYXJ0aWFsUm91dGUobGluazogc3RyaW5nKSB7XG5cdFx0bGV0IHBlcm1pc3Npb25zID0gdGhpcy5fYXBzLmdldEFsbE1vZHVsZVBlcm1pc3Npb25zKCk7XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRsZXQgcGVybWlzc2lvbiA9IHBlcm1pc3Npb25zW2ldO1xuXHRcdFx0Zm9yIChsZXQgaiA9IDA7IGogPCBwZXJtaXNzaW9uLnZpZXdzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGxldCB2aWV3ID0gcGVybWlzc2lvbi52aWV3c1tqXTtcblxuXHRcdFx0XHRpZiAodmlldy5saW5rID09PSBsaW5rKSB7XG5cdFx0XHRcdFx0cmV0dXJuICEhdmlldy5wYXJ0aWFsX3JvdXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59Il19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2F1dGgvYXV0aC1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLE1BQU0sRUFBK0MsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBRzlELE1BQU0sT0FBTyxTQUFTO0lBSXJCLFlBQW9CLE9BQWUsRUFDeEIsS0FBa0IsRUFDbEIsR0FBa0IsRUFDbEIsUUFBK0IsRUFDL0IsSUFBaUIsRUFDakIsUUFBK0IsRUFDL0IsSUFBMkIsRUFDM0IsTUFBb0I7UUFQWCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUF1QjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQXVCO1FBQy9CLFNBQUksR0FBSixJ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Q0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTt3Q0FDOUgsSUFBVSxJQUFJLENBQUMsS0FBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7NENBQzNKLElBQUksSUFBSSxHQUFTLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRDQUMzUSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzt5Q0FDakM7NkNBQ0k7NENBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7eUNBQ3BDO3dDQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztxQ0FDZjt5Q0FDSTt3Q0FDSixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQ0FDcEM7aUNBQ0Q7NEJBQ0YsQ0FBQyxDQUFDLENBQUM7d0JBQ0osQ0FBQyxFQUFFLEdBQUcsRUFBRTs0QkFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQzs0QkFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNoQixDQUFDLENBQUMsQ0FBQztxQkFDSDt5QkFDSTt3QkFDSixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7aUJBQ0Q7cUJBQ0k7b0JBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUNwQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ2Y7eUJBQ0k7d0JBQ0osSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDckYsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFFekQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUU7NEJBQ2hDLElBQVUsSUFBSSxDQUFDLEtBQU0sQ0FBQyxXQUFXLEVBQUU7Z0NBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs2QkFDZDtpQ0FDSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7Z0NBQ3ZILElBQVUsSUFBSSxDQUFDLEtBQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO29DQUMzSixJQUFJLElBQUksR0FBUyxJQUFJLENBQUMsS0FBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQ0FDM1EsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7aUNBQ2pDO3FDQUNJO29DQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lDQUNwQztnQ0FFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7NkJBQ2Y7aUNBQ0ksSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQ0FDOUgsSUFBVSxJQUFJLENBQUMsS0FBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7b0NBQzNKLElBQUksSUFBSSxHQUFTLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29DQUMzUSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQ0FDakM7cUNBQ0k7b0NBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7aUNBQ3BDO2dDQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzs2QkFDZjtpQ0FDSTtnQ0FDSixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7NkJBQ2Q7eUJBQ0Q7NkJBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFOzRCQUN2SCxJQUFVLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQ0FDM0osSUFBSSxJQUFJLEdBQVMsSUFBSSxDQUFDLEtBQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0NBQzNRLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDOzZCQUNqQztpQ0FDSTtnQ0FDSixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQzs2QkFDcEM7NEJBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO3lCQUNmOzZCQUNJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7NEJBQzlILElBQVUsSUFBSSxDQUFDLEtBQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO2dDQUMzSixJQUFJLElBQUksR0FBUyxJQUFJLENBQUMsS0FBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQ0FDM1EsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7NkJBQ2pDO2lDQUNJO2dDQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDOzZCQUNwQzs0QkFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7eUJBQ2Y7NkJBQ0k7NEJBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7eUJBQ3BDO3FCQUNEO2lCQUNEO1lBQ0YsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWTtRQUNqQyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFFdEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFL0IsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtvQkFDdkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztpQkFDNUI7YUFDRDtTQUNEO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVk7UUFDM0IsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRXRELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzVDLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRS9CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7b0JBQ3ZCLE9BQU8sS0FBSyxDQUFDO2lCQUNiO2FBQ0Q7U0FDRDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVk7UUFDOUIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRXRELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzVDLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRS9CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7b0JBQ3ZCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7aUJBQzVCO2FBQ0Q7U0FDRDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQzs7c0dBak9XLFNBQVM7MEdBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYWNjb3VudC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuQWN0aXZhdGUsIFJvdXRlciwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi93aWRnZXRzL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBPZmZsaW5lTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9vZmZsaW5lLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBkYXRlUmV2aXZlciB9IGZyb20gJy4uL3V0aWwvY29tbW9uLmhlbHBlcic7XG5pbXBvcnQgeyBDb3JlU2VydmljZSB9IGZyb20gJy4uL2NvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL2F1dGgtcGVybWlzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi93aWRnZXRzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuXG5cdHJlZGlyZWN0VXJsOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsIFxuXHRcdFx0XHRwcml2YXRlIF9hdXRoOiBBdXRoU2VydmljZSwgXG5cdFx0XHRcdHByaXZhdGUgX2RzOiBEaWFsb2dTZXJ2aWNlLFxuXHRcdFx0XHRwcml2YXRlIF9hY2NvdW50OiBBY2NvdW50TWFuYWdlclNlcnZpY2UsXG5cdFx0XHRcdHByaXZhdGUgX2FwcDogQ29yZVNlcnZpY2UsXG5cdFx0XHRcdHByaXZhdGUgX29mZmxpbmU6IE9mZmxpbmVNYW5hZ2VyU2VydmljZSxcblx0XHRcdFx0cHJpdmF0ZSBfYXBzOiBBdXRoUGVybWlzc2lvblNlcnZpY2UsXG5cdFx0XHRcdHByaXZhdGUgX2FsZXJ0OiBBbGVydFNlcnZpY2UpIFxuXHR7fVxuXHRcblx0Y2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPnxib29sZWFuIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHRoaXMuX2FjY291bnQuaXNJbml0Q29tcGxldGVkKCkudGhlbigoKSA9PiB7XG5cdFx0XHRcdGxldCB1c2VyID0gdGhpcy5fYWNjb3VudC5nZXRVc2VyKCk7XG5cblx0XHRcdFx0aWYgKCF1c2VyKSB7XG5cdFx0XHRcdFx0dXNlciA9IEpTT04ucGFyc2UodGhpcy5fb2ZmbGluZS5nZXRVc2VyKCksIGRhdGVSZXZpdmVyKTtcblx0XHRcdFx0XHRpZiAodXNlcikge1xuXHRcdFx0XHRcdFx0dGhpcy5fYWNjb3VudC5zZXRVc2VyKHVzZXIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICghdXNlcikge1xuXHRcdFx0XHRcdGlmIChuYXZpZ2F0b3Iub25MaW5lKSB7XG5cdFx0XHRcdFx0XHR0aGlzLl9hdXRoLmxvZ2luVXNlcigpLnRoZW4obmV3VXNlciA9PiB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuX2FjY291bnQuaXNMb2dpbkNvbXBsZXRlZCgpLnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHVzZXIgPSB0aGlzLl9hY2NvdW50LmdldFVzZXIoKTtcblxuXHRcdFx0XHRcdFx0XHRcdGlmICghdXNlci5hY3RpdmUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShmYWxzZSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0bGV0IHZpZXcgPSBzdGF0ZS51cmwucmVwbGFjZSgvXihcXC9bLWEtel0rXFwvW15cXC9dKylcXC8uKiQvLCAnJDEnKS5yZXBsYWNlKC9cXD8uKyQvLCAnJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRsZXQgbW9kdWxlVmlldyA9IHZpZXcucmVwbGFjZSgvXihcXC9bLWEtel0rXFwvKS4qJC8sICckMScpO1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoIXRoaXMuaXNMaW5rRmFrZVJvdXRlKHZpZXcpKSB7XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoKDxhbnk+dXNlci5yb2xlcykuc3VwZXJfYWRtaW4pIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsc2UgaWYgKCF0aGlzLmlzTGlua1BhcnRpYWxSb3V0ZSh2aWV3KSAmJiAhKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIgPT09IHZpZXcpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsZXQgbGluayA9ICg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpWzBdLnZpZXdzLmZpbHRlcihhID0+IGEuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYSkgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGEpKVswXTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGxpbmspO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbHNlIGlmICh0aGlzLmlzTGlua1BhcnRpYWxSb3V0ZSh2aWV3KSAmJiAhKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aCh2aWV3KSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICgoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxldCBsaW5rID0gKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSlbMF0udmlld3MuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihhKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYSkpWzBdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwobGluayk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGVsc2UgaWYgKCF0aGlzLmlzTGlua1BhcnRpYWxSb3V0ZSh2aWV3KSAmJiAhKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIgPT09IHZpZXcpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKCg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxldCBsaW5rID0gKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSlbMF0udmlld3MuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihhKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYSkpWzBdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGxpbmspO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGVsc2UgaWYgKHRoaXMuaXNMaW5rUGFydGlhbFJvdXRlKHZpZXcpICYmICEoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKHZpZXcpKSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmICgoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsZXQgbGluayA9ICg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpWzBdLnZpZXdzLmZpbHRlcihhID0+IGEuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYSkgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGEpKVswXTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybChsaW5rKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShmYWxzZSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH0sICgpID0+IHtcblx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0aWYgKCF1c2VyLmFjdGl2ZSkge1xuXHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRsZXQgdmlldyA9IHN0YXRlLnVybC5yZXBsYWNlKC9eKFxcL1stYS16XStcXC9bXlxcL10rKVxcLy4qJC8sICckMScpLnJlcGxhY2UoL1xcPy4rJC8sICcnKTtcblx0XHRcdFx0XHRcdGxldCBtb2R1bGVWaWV3ID0gdmlldy5yZXBsYWNlKC9eKFxcL1stYS16XStcXC8pLiokLywgJyQxJyk7XG5cblx0XHRcdFx0XHRcdGlmICghdGhpcy5pc0xpbmtGYWtlUm91dGUodmlldykpIHtcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdGlmICgoPGFueT51c2VyLnJvbGVzKS5zdXBlcl9hZG1pbikge1xuXHRcdFx0XHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0ZWxzZSBpZiAoIXRoaXMuaXNMaW5rUGFydGlhbFJvdXRlKHZpZXcpICYmICEoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYiA9PT0gdmlldykpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdGlmICgoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBsaW5rID0gKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSlbMF0udmlld3MuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihhKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYSkpWzBdO1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwobGluayk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGVsc2UgaWYgKHRoaXMuaXNMaW5rUGFydGlhbFJvdXRlKHZpZXcpICYmICEoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKHZpZXcpKSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKCg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0bGV0IGxpbmsgPSAoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKVswXS52aWV3cy5maWx0ZXIoYSA9PiBhLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGEpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShhKSlbMF07XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybChsaW5rKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShmYWxzZSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSBpZiAoIXRoaXMuaXNMaW5rUGFydGlhbFJvdXRlKHZpZXcpICYmICEoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYiA9PT0gdmlldykpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRpZiAoKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0bGV0IGxpbmsgPSAoPGFueT51c2VyLnJvbGVzKS5ncm91cHMuZmlsdGVyKGEgPT4gYS52aWV3cy5zb21lKGIgPT4gYi5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihiKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYikpKVswXS52aWV3cy5maWx0ZXIoYSA9PiBhLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGEpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShhKSlbMF07XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwobGluayk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ob21lJyk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSBpZiAodGhpcy5pc0xpbmtQYXJ0aWFsUm91dGUodmlldykgJiYgISg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgodmlldykpKS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0aWYgKCg8YW55PnVzZXIucm9sZXMpLmdyb3Vwcy5maWx0ZXIoYSA9PiBhLnZpZXdzLnNvbWUoYiA9PiBiLnN0YXJ0c1dpdGgobW9kdWxlVmlldykgJiYgIXRoaXMuZG9lc0xpbmtIYXZlUGFyYW1ldGVyKGIpICYmICF0aGlzLmlzTGlua0Zha2VSb3V0ZShiKSkpLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdGxldCBsaW5rID0gKDxhbnk+dXNlci5yb2xlcykuZ3JvdXBzLmZpbHRlcihhID0+IGEudmlld3Muc29tZShiID0+IGIuc3RhcnRzV2l0aChtb2R1bGVWaWV3KSAmJiAhdGhpcy5kb2VzTGlua0hhdmVQYXJhbWV0ZXIoYikgJiYgIXRoaXMuaXNMaW5rRmFrZVJvdXRlKGIpKSlbMF0udmlld3MuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKG1vZHVsZVZpZXcpICYmICF0aGlzLmRvZXNMaW5rSGF2ZVBhcmFtZXRlcihhKSAmJiAhdGhpcy5pc0xpbmtGYWtlUm91dGUoYSkpWzBdO1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGxpbmspO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0sICgpID0+IHt9KTtcblx0XHR9KTtcblx0fVxuXG5cdGRvZXNMaW5rSGF2ZVBhcmFtZXRlcihsaW5rOiBzdHJpbmcpIHtcblx0XHRsZXQgcGVybWlzc2lvbnMgPSB0aGlzLl9hcHMuZ2V0QWxsTW9kdWxlUGVybWlzc2lvbnMoKTtcblxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgcGVybWlzc2lvbnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGxldCBwZXJtaXNzaW9uID0gcGVybWlzc2lvbnNbaV07XG5cdFx0XHRmb3IgKGxldCBqID0gMDsgaiA8IHBlcm1pc3Npb24udmlld3MubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0bGV0IHZpZXcgPSBwZXJtaXNzaW9uLnZpZXdzW2pdO1xuXG5cdFx0XHRcdGlmICh2aWV3LmxpbmsgPT09IGxpbmspIHtcblx0XHRcdFx0XHRyZXR1cm4gISF2aWV3Lmhhc19wYXJhbWV0ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRpc0xpbmtGYWtlUm91dGUobGluazogc3RyaW5nKSB7XG5cdFx0bGV0IHBlcm1pc3Npb25zID0gdGhpcy5fYXBzLmdldEFsbE1vZHVsZVBlcm1pc3Npb25zKCk7XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRsZXQgcGVybWlzc2lvbiA9IHBlcm1pc3Npb25zW2ldO1xuXHRcdFx0Zm9yIChsZXQgaiA9IDA7IGogPCBwZXJtaXNzaW9uLnZpZXdzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGxldCB2aWV3ID0gcGVybWlzc2lvbi52aWV3c1tqXTtcblxuXHRcdFx0XHRpZiAodmlldy5saW5rID09PSBsaW5rKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRpc0xpbmtQYXJ0aWFsUm91dGUobGluazogc3RyaW5nKSB7XG5cdFx0bGV0IHBlcm1pc3Npb25zID0gdGhpcy5fYXBzLmdldEFsbE1vZHVsZVBlcm1pc3Npb25zKCk7XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRsZXQgcGVybWlzc2lvbiA9IHBlcm1pc3Npb25zW2ldO1xuXHRcdFx0Zm9yIChsZXQgaiA9IDA7IGogPCBwZXJtaXNzaW9uLnZpZXdzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGxldCB2aWV3ID0gcGVybWlzc2lvbi52aWV3c1tqXTtcblxuXHRcdFx0XHRpZiAodmlldy5saW5rID09PSBsaW5rKSB7XG5cdFx0XHRcdFx0cmV0dXJuICEhdmlldy5wYXJ0aWFsX3JvdXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59Il19
@@ -60,8 +60,8 @@ export class NavbarModuleComponent extends BaseComponent {
60
60
  this.selectedTab = this.menuData.tabs[0];
61
61
  }
62
62
  else {
63
- this.selectedTab = null;
64
63
  this.currentRoute = this._services._router.url.replace(/\/[a-f0-9]{24}$/, '').replace(/\?.+$/, '');
64
+ this.selectedTab = null;
65
65
  for (let i = 0; i < this.menuData.tabs.length; i++) {
66
66
  let tab = this.menuData.tabs[i];
67
67
  if (tab.link === this.currentRoute) {
@@ -69,6 +69,16 @@ export class NavbarModuleComponent extends BaseComponent {
69
69
  break;
70
70
  }
71
71
  }
72
+ while (!this.selectedTab && this.currentRoute.includes('/')) {
73
+ this.currentRoute = this.currentRoute.replace(/(\/[^\/]+$)/, '');
74
+ for (let i = 0; i < this.menuData.tabs.length; i++) {
75
+ let tab = this.menuData.tabs[i];
76
+ if (tab.link === this.currentRoute) {
77
+ this.selectedTab = tab;
78
+ break;
79
+ }
80
+ }
81
+ }
72
82
  }
73
83
  }
74
84
  }
@@ -102,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
102
112
  }], sideNavWidth: [{
103
113
  type: Input
104
114
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLW1vZHVsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9uYXZiYXItbW9kdWxlL25hdmJhci1tb2R1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3dpZGdldHMvbmF2YmFyLW1vZHVsZS9uYXZiYXItbW9kdWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBUXZFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBbUJ2RCxZQUFvQixNQUF5QixFQUFVLFNBQTBCO1FBQ2hGLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURFLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFkakYsYUFBUSxHQUFnQjtZQUN2QixLQUFLLEVBQUUsRUFBRTtZQUNULE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsZ0JBQWdCLEVBQUUsYUFBYTtZQUMvQixJQUFJLEVBQUUsRUFBRTtTQUNSLENBQUM7UUFFRixnQkFBVyxHQUFtQixJQUFJLENBQUM7UUFDbkMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFFMUIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBSXBCLENBQUM7SUFFRCxRQUFRO1FBRVAsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFOUQs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Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkNhbmNlbCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOYXZiYXJNb2RlbCwgTmF2YmFyVGFiTW9kZWwgfSBmcm9tICcuL25hdmJhci1tb2R1bGUubW9kZWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFByb3ZpZGVyU2VydmljZSwgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Jlc29sdmVpby1jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuXHRwcm92aWRlcnM6IFtQcm92aWRlclNlcnZpY2VdLFxuXHRzZWxlY3RvcjogJ25hdmJhci1tb2R1bGUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLW1vZHVsZS5jb21wb25lbnQuaHRtbCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBOYXZiYXJNb2R1bGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kgeyBcblxuXHRASW5wdXQoKSBzaWRlTmF2SGVpZ2h0OiBudW1iZXI7XG5cdEBJbnB1dCgpIHNpZGVOYXZXaWR0aDogbnVtYmVyO1xuXG5cdG1lbnVEYXRhOiBOYXZiYXJNb2RlbCA9IHtcblx0XHR0aXRsZTogJycsXG5cdFx0bW9kdWxlOiBudWxsLFxuXHRcdGRlc2NyaXB0aW9uOiBudWxsLFxuXHRcdGRlc2NyaXB0aW9uX25hbWU6ICdEZXNjcmlwdGlvbicsXG5cdFx0dGFiczogW11cblx0fTtcblxuXHRzZWxlY3RlZFRhYjogTmF2YmFyVGFiTW9kZWwgPSBudWxsO1xuXHRjdXJyZW50Um91dGU6IFN0cmluZyA9ICcnO1xuXG5cdHJvdXRlckV2ZW50cyQ6IFN1YnNjcmlwdGlvbltdID0gW107XG5cdHRvdXJTdGFydGVkID0gZmFsc2U7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIF9zZXJ2aWNlczogUHJvdmlkZXJTZXJ2aWNlKSB7XG5cdFx0c3VwZXIoX3NlcnZpY2VzKTtcblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXG5cdFx0dGhpcy50b3VyU3RhcnRlZCA9IHRoaXMuX3NlcnZpY2VzLl9hcHAudG91clN0YXJ0ZWQuZ2V0VmFsdWUoKTtcblxuXHRcdHRoaXMucm91dGVyRXZlbnRzJC5wdXNoKHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIuZXZlbnRzXG5cdFx0XHQvLy5maWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuXHRcdFx0LnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcblx0XHRcdFx0aWYgKHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIudXJsLnJlcGxhY2UoL1xcL1thLWYwLTldezI0fSQvLCAnJykucmVwbGFjZSgvXFw/LiskLywgJycpICE9PSB0aGlzLmN1cnJlbnRSb3V0ZSB8fCAhdGhpcy5zZWxlY3RlZFRhYikge1xuXHRcdFx0XHRcdHRoaXMuc2VsZWN0VGFiRnJvbVJvdXRlcigpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdCk7XG5cblx0XHR0aGlzLnJvdXRlckV2ZW50cyQucHVzaCh0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLmV2ZW50c1xuXHRcdFx0Ly8uZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbClcblx0XHRcdC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLnVybC5yZXBsYWNlKC9cXC9bYS1mMC05XXsyNH0kLywgJycpLnJlcGxhY2UoL1xcPy4rJC8sICcnKSAhPT0gdGhpcy5jdXJyZW50Um91dGUgfHwgIXRoaXMuc2VsZWN0ZWRUYWIpIHtcblx0XHRcdFx0XHR0aGlzLnNlbGVjdFRhYkZyb21Sb3V0ZXIoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHQpO1xuXG5cdFx0dGhpcy5yb3V0ZXJFdmVudHMkLnB1c2godGhpcy5fc2VydmljZXMuX2FwcC5uYXZiYXJNb2R1bGVEYXRhLnN1YnNjcmliZShkYXRhID0+IHtcblx0XHRcdHRoaXMubWVudURhdGEgPSBkYXRhO1xuXHRcdFx0aWYgKHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIudXJsLnJlcGxhY2UoL1xcL1thLWYwLTldezI0fSQvLCAnJykucmVwbGFjZSgvXFw/LiskLywgJycpICE9PSB0aGlzLmN1cnJlbnRSb3V0ZSB8fCAhdGhpcy5zZWxlY3RlZFRhYikge1xuXHRcdFx0XHR0aGlzLnNlbGVjdFRhYkZyb21Sb3V0ZXIoKTtcblx0XHRcdH1cblx0XHR9KSk7XG5cblx0XHR0aGlzLnJvdXRlckV2ZW50cyQucHVzaCh0aGlzLl9zZXJ2aWNlcy5fYXBwLnRvdXJTdGFydGVkLnN1YnNjcmliZSh0b3VyU3RhcnRlZCA9PiB7XG5cdFx0XHR0aGlzLnRvdXJTdGFydGVkID0gdG91clN0YXJ0ZWQ7XG5cdFx0fSkpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0dGhpcy5yb3V0ZXJFdmVudHMkLmZvckVhY2goc3ViID0+IHtcblx0XHRcdHN1Yi51bnN1YnNjcmliZSgpO1xuXHRcdH0pO1xuXHR9XG5cblx0c2VsZWN0VGFiRnJvbVJvdXRlcigpIHtcblx0XHRpZiAodGhpcy5tZW51RGF0YSkge1xuXHRcdFx0aWYgKHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIudXJsID09PSAnLycpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFRhYiA9IHRoaXMubWVudURhdGEudGFic1swXTtcblx0XHRcdH1cblx0XHRcdGVsc2Uge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkVGFiID0gbnVsbDtcblx0XHRcdFx0dGhpcy5jdXJyZW50Um91dGUgPSB0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLnVybC5yZXBsYWNlKC9cXC9bYS1mMC05XXsyNH0kLywgJycpLnJlcGxhY2UoL1xcPy4rJC8sICcnKTtcblxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubWVudURhdGEudGFicy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdGxldCB0YWIgPSB0aGlzLm1lbnVEYXRhLnRhYnNbaV07XG5cblx0XHRcdFx0XHRpZiAodGFiLmxpbmsgPT09IHRoaXMuY3VycmVudFJvdXRlKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnNlbGVjdGVkVGFiID0gdGFiO1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0dGFiQ2xhc3ModGFiOiBOYXZiYXJUYWJNb2RlbCkge1xuXHRcdGlmICh0aGlzLnNlbGVjdGVkVGFiKSB7XG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZFRhYi5sYWJlbCA9PT0gdGFiLmxhYmVsKSB7XG5cdFx0XHRcdHJldHVybiAnYWN0aXZlJztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gJyc7XG5cdH1cblxuXHRuYXZpZ2F0ZVRvKHRhYjogTmF2YmFyVGFiTW9kZWwpIHtcblx0XHRpZiAodGhpcy5zZWxlY3RlZFRhYiAhPT0gdGFiKSB7XG5cdFx0XHR0aGlzLnNlbGVjdGVkVGFiID0gdGFiO1xuXG5cdFx0XHRpZiAodGFiLnBhcmFtcyA9PT0gbnVsbCkge1xuXHRcdFx0XHR0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGFiLmxpbmspO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0YWIubGluayArICcvJyArIHRhYi5wYXJhbXMpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiPHN0eWxlPlxuICAgIC5uYXZiYXJNb2R1bGUgbGkge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC5uYXZiYXJNb2R1bGUgbGkuYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZDE5YjNkO1xuICAgIH1cbiAgICAubmF2YmFyTW9kdWxlIG5hdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgLm5hdmJhck1vZHVsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDk1dmg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBociB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB3aGl0ZSAxcHggc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyTW9kdWxlIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBcbjwvc3R5bGU+IFxuXG48ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6IC0xNXB4OyBtYXJnaW4tcmlnaHQ6IC0xNXB4O1wiPlxuICAgIDxuYXYgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC14bCBuYXZiYXItZGFyayBiZy1kYXJrIGZsZXgteGwtY29sdW1uIG5hdmJhck1vZHVsZVwiIFtzdHlsZS5oZWlnaHRdPVwic2lkZU5hdkhlaWdodCA/IHNpZGVOYXZIZWlnaHQgKyAncHgnIDogJydcIiBbc3R5bGUud2lkdGhdPVwic2lkZU5hdldpZHRoID8gc2lkZU5hdldpZHRoIDogJydcIj5cbiAgICAgICAgPGRpdiBocmVmPVwiI1wiIHN0eWxlPVwiY29sb3I6IHdoaXRlOyBmb250LXNpemU6IDE2cHg7XCI+XG4gICAgICAgICAgICB7eyBtZW51RGF0YS50aXRsZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyXCIgdHlwZT1cImJ1dHRvblwiIGFyaWEtY29udHJvbHM9XCIjbmF2YmFyTW9kdWxlTmF2XCIgZGF0YS10YXJnZXQ9XCIjbmF2YmFyTW9kdWxlTmF2XCIgZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXZiYXItdG9nZ2xlci1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZVwiIGlkPVwibmF2YmFyTW9kdWxlTmF2XCIgc3R5bGU9XCJhbGlnbi1pdGVtczpiYXNlbGluZTsgd2lkdGg6IDEwMCU7IG92ZXJmbG93LXk6IGF1dG87IG92ZXJmbG93LXg6IGhpZGRlbjtcIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdmJhci1uYXZcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyBmbG9hdDogbGVmdDsgd2lkdGg6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGFiIG9mIChtZW51RGF0YS50YWJzIHwgZmlsdGVyTm90RXF1YWwgOiAncGFyYW1zJyA6ICcwJyk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRhYi5wYXJhbXMgIT09IG51bGwgJiYgbWVudURhdGEudGFic1tpIC0gMV0gJiYgbWVudURhdGEudGFic1tpIC0gMV0ucGFyYW1zID09PSBudWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGhyZWY9XCIjXCIgc3R5bGU9XCJjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTZweDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3RlZCB7eyBtZW51RGF0YS5tb2R1bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGhyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImNvbG9yOndoaXRlOyBtYXJnaW4tbGVmdDogNXB4OyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgZm9udC1zaXplOiAxNHB4XCI+e3ttZW51RGF0YS5kZXNjcmlwdGlvbl9uYW1lfX06PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiY29sb3I6d2hpdGU7IG1hcmdpbi1sZWZ0OiA4cHg7ICBmb250LXNpemU6IDEycHhcIj57e21lbnVEYXRhLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cIlsnbmF2LWl0ZW0nLCB0YWJDbGFzcyh0YWIpXVwiZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiIGRhdGEtdGFyZ2V0PVwiI25hdmJhck1vZHVsZU5hdlwiIFt0b3VyQW5jaG9yXT1cInRhYi50b3VyQW5jaG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCIgW2NsYXNzLmRpc2FibGVkXT1cInRvdXJTdGFydGVkID8gdHJ1ZSA6IG51bGxcIiBbcm91dGVyTGlua109XCJbdGFiLnBhcmFtcyA/IHRhYi5saW5rICsgJy8nICsgdGFiLnBhcmFtcyA6IHRhYi5saW5rXVwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj57eyB0YWIubGFiZWwgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25hdj5cbjwvZGl2PlxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLW1vZHVsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9uYXZiYXItbW9kdWxlL25hdmJhci1tb2R1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3dpZGdldHMvbmF2YmFyLW1vZHVsZS9uYXZiYXItbW9kdWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBUXZFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBbUJ2RCxZQUFvQixNQUF5QixFQUFVLFNBQTBCO1FBQ2hGLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURFLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFkakYsYUFBUSxHQUFnQjtZQUN2QixLQUFLLEVBQUUsRUFBRTtZQUNULE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsZ0JBQWdCLEVBQUUsYUFBYTtZQUMvQixJQUFJLEVBQUUsRUFBRTtTQUNSLENBQUM7UUFFRixnQkFBVyxHQUFtQixJQUFJLENBQUM7UUFDbkMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFFMUIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBSXBCLENBQUM7SUFFRCxRQUFRO1FBRVAsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFOUQs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V0FBVyxLQUFLLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztZQUV2QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9DO2lCQUNJO2dCQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbEU7U0FDRDtJQUNGLENBQUM7O2tIQXRIVyxxQkFBcUI7c0dBQXJCLHFCQUFxQixrSEFMdEIsQ0FBQyxlQUFlLENBQUMsaURDUjdCLHd1RkFnRUE7MkZEbkRhLHFCQUFxQjtrQkFOakMsU0FBUztnQ0FDRSxDQUFDLGVBQWUsQ0FBQyxZQUNsQixlQUFlO3NJQU1oQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25DYW5jZWwgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmF2YmFyTW9kZWwsIE5hdmJhclRhYk1vZGVsIH0gZnJvbSAnLi9uYXZiYXItbW9kdWxlLm1vZGVsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQcm92aWRlclNlcnZpY2UsIEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9yZXNvbHZlaW8tY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcblx0cHJvdmlkZXJzOiBbUHJvdmlkZXJTZXJ2aWNlXSxcblx0c2VsZWN0b3I6ICduYXZiYXItbW9kdWxlJyxcblx0dGVtcGxhdGVVcmw6ICcuL25hdmJhci1tb2R1bGUuY29tcG9uZW50Lmh0bWwnXG59KVxuXG5leHBvcnQgY2xhc3MgTmF2YmFyTW9kdWxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHsgXG5cblx0QElucHV0KCkgc2lkZU5hdkhlaWdodDogbnVtYmVyO1xuXHRASW5wdXQoKSBzaWRlTmF2V2lkdGg6IG51bWJlcjtcblxuXHRtZW51RGF0YTogTmF2YmFyTW9kZWwgPSB7XG5cdFx0dGl0bGU6ICcnLFxuXHRcdG1vZHVsZTogbnVsbCxcblx0XHRkZXNjcmlwdGlvbjogbnVsbCxcblx0XHRkZXNjcmlwdGlvbl9uYW1lOiAnRGVzY3JpcHRpb24nLFxuXHRcdHRhYnM6IFtdXG5cdH07XG5cblx0c2VsZWN0ZWRUYWI6IE5hdmJhclRhYk1vZGVsID0gbnVsbDtcblx0Y3VycmVudFJvdXRlOiBTdHJpbmcgPSAnJztcblxuXHRyb3V0ZXJFdmVudHMkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXHR0b3VyU3RhcnRlZCA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBfc2VydmljZXM6IFByb3ZpZGVyU2VydmljZSkge1xuXHRcdHN1cGVyKF9zZXJ2aWNlcyk7XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblxuXHRcdHRoaXMudG91clN0YXJ0ZWQgPSB0aGlzLl9zZXJ2aWNlcy5fYXBwLnRvdXJTdGFydGVkLmdldFZhbHVlKCk7XG5cblx0XHR0aGlzLnJvdXRlckV2ZW50cyQucHVzaCh0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLmV2ZW50c1xuXHRcdFx0Ly8uZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZClcblx0XHRcdC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLnVybC5yZXBsYWNlKC9cXC9bYS1mMC05XXsyNH0kLywgJycpLnJlcGxhY2UoL1xcPy4rJC8sICcnKSAhPT0gdGhpcy5jdXJyZW50Um91dGUgfHwgIXRoaXMuc2VsZWN0ZWRUYWIpIHtcblx0XHRcdFx0XHR0aGlzLnNlbGVjdFRhYkZyb21Sb3V0ZXIoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHQpO1xuXG5cdFx0dGhpcy5yb3V0ZXJFdmVudHMkLnB1c2godGhpcy5fc2VydmljZXMuX3JvdXRlci5ldmVudHNcblx0XHRcdC8vLmZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpXG5cdFx0XHQuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkNhbmNlbCkgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy5fc2VydmljZXMuX3JvdXRlci51cmwucmVwbGFjZSgvXFwvW2EtZjAtOV17MjR9JC8sICcnKS5yZXBsYWNlKC9cXD8uKyQvLCAnJykgIT09IHRoaXMuY3VycmVudFJvdXRlIHx8ICF0aGlzLnNlbGVjdGVkVGFiKSB7XG5cdFx0XHRcdFx0dGhpcy5zZWxlY3RUYWJGcm9tUm91dGVyKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdHRoaXMucm91dGVyRXZlbnRzJC5wdXNoKHRoaXMuX3NlcnZpY2VzLl9hcHAubmF2YmFyTW9kdWxlRGF0YS5zdWJzY3JpYmUoZGF0YSA9PiB7XG5cdFx0XHR0aGlzLm1lbnVEYXRhID0gZGF0YTtcblx0XHRcdGlmICh0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLnVybC5yZXBsYWNlKC9cXC9bYS1mMC05XXsyNH0kLywgJycpLnJlcGxhY2UoL1xcPy4rJC8sICcnKSAhPT0gdGhpcy5jdXJyZW50Um91dGUgfHwgIXRoaXMuc2VsZWN0ZWRUYWIpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RUYWJGcm9tUm91dGVyKCk7XG5cdFx0XHR9XG5cdFx0fSkpO1xuXG5cdFx0dGhpcy5yb3V0ZXJFdmVudHMkLnB1c2godGhpcy5fc2VydmljZXMuX2FwcC50b3VyU3RhcnRlZC5zdWJzY3JpYmUodG91clN0YXJ0ZWQgPT4ge1xuXHRcdFx0dGhpcy50b3VyU3RhcnRlZCA9IHRvdXJTdGFydGVkO1xuXHRcdH0pKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMucm91dGVyRXZlbnRzJC5mb3JFYWNoKHN1YiA9PiB7XG5cdFx0XHRzdWIudW5zdWJzY3JpYmUoKTtcblx0XHR9KTtcblx0fVxuXG5cdHNlbGVjdFRhYkZyb21Sb3V0ZXIoKSB7XG5cdFx0aWYgKHRoaXMubWVudURhdGEpIHtcblx0XHRcdGlmICh0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLnVybCA9PT0gJy8nKSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRUYWIgPSB0aGlzLm1lbnVEYXRhLnRhYnNbMF07XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5jdXJyZW50Um91dGUgPSB0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLnVybC5yZXBsYWNlKC9cXC9bYS1mMC05XXsyNH0kLywgJycpLnJlcGxhY2UoL1xcPy4rJC8sICcnKTtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFRhYiA9IG51bGw7XG5cblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1lbnVEYXRhLnRhYnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRsZXQgdGFiID0gdGhpcy5tZW51RGF0YS50YWJzW2ldO1xuXG5cdFx0XHRcdFx0aWYgKHRhYi5saW5rID09PSB0aGlzLmN1cnJlbnRSb3V0ZSkge1xuXHRcdFx0XHRcdFx0dGhpcy5zZWxlY3RlZFRhYiA9IHRhYjtcblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHdoaWxlICghdGhpcy5zZWxlY3RlZFRhYiAmJiB0aGlzLmN1cnJlbnRSb3V0ZS5pbmNsdWRlcygnLycpKSB7XG5cdFx0XHRcdFx0dGhpcy5jdXJyZW50Um91dGUgPSB0aGlzLmN1cnJlbnRSb3V0ZS5yZXBsYWNlKC8oXFwvW15cXC9dKyQpLywgJycpO1xuXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1lbnVEYXRhLnRhYnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdGxldCB0YWIgPSB0aGlzLm1lbnVEYXRhLnRhYnNbaV07XG5cdFxuXHRcdFx0XHRcdFx0aWYgKHRhYi5saW5rID09PSB0aGlzLmN1cnJlbnRSb3V0ZSkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnNlbGVjdGVkVGFiID0gdGFiO1xuXHRcdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHR0YWJDbGFzcyh0YWI6IE5hdmJhclRhYk1vZGVsKSB7XG5cdFx0aWYgKHRoaXMuc2VsZWN0ZWRUYWIpIHtcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkVGFiLmxhYmVsID09PSB0YWIubGFiZWwpIHtcblx0XHRcdFx0cmV0dXJuICdhY3RpdmUnO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdG5hdmlnYXRlVG8odGFiOiBOYXZiYXJUYWJNb2RlbCkge1xuXHRcdGlmICh0aGlzLnNlbGVjdGVkVGFiICE9PSB0YWIpIHtcblx0XHRcdHRoaXMuc2VsZWN0ZWRUYWIgPSB0YWI7XG5cblx0XHRcdGlmICh0YWIucGFyYW1zID09PSBudWxsKSB7XG5cdFx0XHRcdHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0YWIubGluayk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5fc2VydmljZXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRhYi5saW5rICsgJy8nICsgdGFiLnBhcmFtcyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCI8c3R5bGU+XG4gICAgLm5hdmJhck1vZHVsZSBsaSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLm5hdmJhck1vZHVsZSBsaS5hY3RpdmUge1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNkMTliM2Q7XG4gICAgfVxuICAgIC5uYXZiYXJNb2R1bGUgbmF2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAubmF2YmFyTW9kdWxlIHtcbiAgICAgICAgICAgIGhlaWdodDogOTV2aDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHdoaXRlIDFweCBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgaHIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXJNb2R1bGUgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIFxuPC9zdHlsZT4gXG5cbjxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTE1cHg7IG1hcmdpbi1yaWdodDogLTE1cHg7XCI+XG4gICAgPG5hdiBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLXhsIG5hdmJhci1kYXJrIGJnLWRhcmsgZmxleC14bC1jb2x1bW4gbmF2YmFyTW9kdWxlXCIgW3N0eWxlLmhlaWdodF09XCJzaWRlTmF2SGVpZ2h0ID8gc2lkZU5hdkhlaWdodCArICdweCcgOiAnJ1wiIFtzdHlsZS53aWR0aF09XCJzaWRlTmF2V2lkdGggPyBzaWRlTmF2V2lkdGggOiAnJ1wiPlxuICAgICAgICA8ZGl2IGhyZWY9XCIjXCIgc3R5bGU9XCJjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMTZweDtcIj5cbiAgICAgICAgICAgIHt7IG1lbnVEYXRhLnRpdGxlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXJcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1jb250cm9scz1cIiNuYXZiYXJNb2R1bGVOYXZcIiBkYXRhLXRhcmdldD1cIiNuYXZiYXJNb2R1bGVOYXZcIiBkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgYXJpYS1sYWJlbD1cIlRvZ2dsZSBuYXZpZ2F0aW9uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2YmFyLWNvbGxhcHNlIGNvbGxhcHNlXCIgaWQ9XCJuYXZiYXJNb2R1bGVOYXZcIiBzdHlsZT1cImFsaWduLWl0ZW1zOmJhc2VsaW5lOyB3aWR0aDogMTAwJTsgb3ZlcmZsb3cteTogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuO1wiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2YmFyLW5hdlwiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0YWIgb2YgKG1lbnVEYXRhLnRhYnMgfCBmaWx0ZXJOb3RFcXVhbCA6ICdwYXJhbXMnIDogJzAnKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGFiLnBhcmFtcyAhPT0gbnVsbCAmJiBtZW51RGF0YS50YWJzW2kgLSAxXSAmJiBtZW51RGF0YS50YWJzW2kgLSAxXS5wYXJhbXMgPT09IG51bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxocj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaHJlZj1cIiNcIiBzdHlsZT1cImNvbG9yOiB3aGl0ZTsgZm9udC1zaXplOiAxNnB4O1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdGVkIHt7IG1lbnVEYXRhLm1vZHVsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiY29sb3I6d2hpdGU7IG1hcmdpbi1sZWZ0OiA1cHg7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBmb250LXNpemU6IDE0cHhcIj57e21lbnVEYXRhLmRlc2NyaXB0aW9uX25hbWV9fTo8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJjb2xvcjp3aGl0ZTsgbWFyZ2luLWxlZnQ6IDhweDsgIGZvbnQtc2l6ZTogMTJweFwiPnt7bWVudURhdGEuZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiWyduYXYtaXRlbScsIHRhYkNsYXNzKHRhYildXCJkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCIgZGF0YS10YXJnZXQ9XCIjbmF2YmFyTW9kdWxlTmF2XCIgW3RvdXJBbmNob3JdPVwidGFiLnRvdXJBbmNob3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbY2xhc3MuZGlzYWJsZWRdPVwidG91clN0YXJ0ZWQgPyB0cnVlIDogbnVsbFwiIFtyb3V0ZXJMaW5rXT1cIlt0YWIucGFyYW1zID8gdGFiLmxpbmsgKyAnLycgKyB0YWIucGFyYW1zIDogdGFiLmxpbmtdXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPnt7IHRhYi5sYWJlbCB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuPC9kaXY+XG4iXX0=
@@ -4838,8 +4838,8 @@ class NavbarModuleComponent extends BaseComponent {
4838
4838
  this.selectedTab = this.menuData.tabs[0];
4839
4839
  }
4840
4840
  else {
4841
- this.selectedTab = null;
4842
4841
  this.currentRoute = this._services._router.url.replace(/\/[a-f0-9]{24}$/, '').replace(/\?.+$/, '');
4842
+ this.selectedTab = null;
4843
4843
  for (let i = 0; i < this.menuData.tabs.length; i++) {
4844
4844
  let tab = this.menuData.tabs[i];
4845
4845
  if (tab.link === this.currentRoute) {
@@ -4847,6 +4847,16 @@ class NavbarModuleComponent extends BaseComponent {
4847
4847
  break;
4848
4848
  }
4849
4849
  }
4850
+ while (!this.selectedTab && this.currentRoute.includes('/')) {
4851
+ this.currentRoute = this.currentRoute.replace(/(\/[^\/]+$)/, '');
4852
+ for (let i = 0; i < this.menuData.tabs.length; i++) {
4853
+ let tab = this.menuData.tabs[i];
4854
+ if (tab.link === this.currentRoute) {
4855
+ this.selectedTab = tab;
4856
+ break;
4857
+ }
4858
+ }
4859
+ }
4850
4860
  }
4851
4861
  }
4852
4862
  }
@@ -5519,7 +5529,7 @@ class AuthGuard {
5519
5529
  if (user.roles.super_admin) {
5520
5530
  resolve(true);
5521
5531
  }
5522
- else if (!user.roles.groups.filter(a => a.views.some(b => b === view && !this.isLinkPartialRoute(b))).length) {
5532
+ else if (!this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b === view)).length) {
5523
5533
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
5524
5534
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5525
5535
  this._router.navigateByUrl(link);
@@ -5529,7 +5539,7 @@ class AuthGuard {
5529
5539
  }
5530
5540
  resolve(false);
5531
5541
  }
5532
- else if (!user.roles.groups.filter(a => a.views.some(b => b.startsWith(view) && this.isLinkPartialRoute(b))).length) {
5542
+ else if (this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b.startsWith(view))).length) {
5533
5543
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
5534
5544
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5535
5545
  this._router.navigateByUrl(link);
@@ -5543,7 +5553,7 @@ class AuthGuard {
5543
5553
  resolve(true);
5544
5554
  }
5545
5555
  }
5546
- else if (!user.roles.groups.filter(a => a.views.some(b => b === view && !this.isLinkPartialRoute(b))).length) {
5556
+ else if (!this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b === view)).length) {
5547
5557
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
5548
5558
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5549
5559
  this._router.navigateByUrl(link);
@@ -5553,7 +5563,7 @@ class AuthGuard {
5553
5563
  }
5554
5564
  resolve(false);
5555
5565
  }
5556
- else if (!user.roles.groups.filter(a => a.views.some(b => b.startsWith(view) && this.isLinkPartialRoute(b))).length) {
5566
+ else if (this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b.startsWith(view))).length) {
5557
5567
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
5558
5568
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5559
5569
  this._router.navigateByUrl(link);
@@ -5589,7 +5599,7 @@ class AuthGuard {
5589
5599
  if (user.roles.super_admin) {
5590
5600
  resolve(true);
5591
5601
  }
5592
- else if (!user.roles.groups.filter(a => a.views.some(b => b === view && !this.isLinkPartialRoute(b))).length) {
5602
+ else if (!this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b === view)).length) {
5593
5603
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
5594
5604
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5595
5605
  this._router.navigateByUrl(link);
@@ -5599,7 +5609,7 @@ class AuthGuard {
5599
5609
  }
5600
5610
  resolve(false);
5601
5611
  }
5602
- else if (!user.roles.groups.filter(a => a.views.some(b => b.startsWith(view) && this.isLinkPartialRoute(b))).length) {
5612
+ else if (this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b.startsWith(view))).length) {
5603
5613
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
5604
5614
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5605
5615
  this._router.navigateByUrl(link);
@@ -5613,7 +5623,7 @@ class AuthGuard {
5613
5623
  resolve(true);
5614
5624
  }
5615
5625
  }
5616
- else if (!user.roles.groups.filter(a => a.views.some(b => b === view && !this.isLinkPartialRoute(b))).length) {
5626
+ else if (!this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b === view)).length) {
5617
5627
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
5618
5628
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5619
5629
  this._router.navigateByUrl(link);
@@ -5623,7 +5633,7 @@ class AuthGuard {
5623
5633
  }
5624
5634
  resolve(false);
5625
5635
  }
5626
- else if (!user.roles.groups.filter(a => a.views.some(b => b.startsWith(view) && this.isLinkPartialRoute(b))).length) {
5636
+ else if (this.isLinkPartialRoute(view) && !user.roles.groups.filter(a => a.views.some(b => b.startsWith(view))).length) {
5627
5637
  if (user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b))).length) {
5628
5638
  let link = user.roles.groups.filter(a => a.views.some(b => b.startsWith(moduleView) && !this.doesLinkHaveParameter(b) && !this.isLinkFakeRoute(b)))[0].views.filter(a => a.startsWith(moduleView) && !this.doesLinkHaveParameter(a) && !this.isLinkFakeRoute(a))[0];
5629
5639
  this._router.navigateByUrl(link);