@abp/ng.core 8.0.0-rc.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/esm2022/lib/abstracts/auth.guard.mjs +3 -3
  2. package/esm2022/lib/abstracts/auth.service.mjs +3 -3
  3. package/esm2022/lib/abstracts/ng-model.component.mjs +5 -5
  4. package/esm2022/lib/clients/http.client.mjs +3 -3
  5. package/esm2022/lib/components/dynamic-layout.component.mjs +38 -38
  6. package/esm2022/lib/components/replaceable-route-container.component.mjs +3 -3
  7. package/esm2022/lib/components/router-outlet.component.mjs +3 -3
  8. package/esm2022/lib/constants/default-layouts.mjs +6 -0
  9. package/esm2022/lib/constants/index.mjs +2 -1
  10. package/esm2022/lib/core.module.mjs +48 -48
  11. package/esm2022/lib/directives/autofocus.directive.mjs +5 -5
  12. package/esm2022/lib/directives/caps-lock.directive.mjs +3 -3
  13. package/esm2022/lib/directives/debounce.directive.mjs +5 -5
  14. package/esm2022/lib/directives/for.directive.mjs +5 -4
  15. package/esm2022/lib/directives/form-submit.directive.mjs +5 -5
  16. package/esm2022/lib/directives/init.directive.mjs +8 -5
  17. package/esm2022/lib/directives/permission.directive.mjs +5 -4
  18. package/esm2022/lib/directives/replaceable-template.directive.mjs +5 -4
  19. package/esm2022/lib/directives/show-password.directive.mjs +3 -3
  20. package/esm2022/lib/directives/stop-propagation.directive.mjs +5 -5
  21. package/esm2022/lib/enums/common.mjs +1 -1
  22. package/esm2022/lib/guards/permission.guard.mjs +3 -3
  23. package/esm2022/lib/handlers/routes.handler.mjs +3 -3
  24. package/esm2022/lib/interceptors/api.interceptor.mjs +3 -3
  25. package/esm2022/lib/localization.module.mjs +4 -4
  26. package/esm2022/lib/models/common.mjs +1 -1
  27. package/esm2022/lib/pipes/localization.pipe.mjs +4 -4
  28. package/esm2022/lib/pipes/safe-html.pipe.mjs +4 -4
  29. package/esm2022/lib/pipes/short-date-time.pipe.mjs +3 -3
  30. package/esm2022/lib/pipes/short-date.pipe.mjs +3 -3
  31. package/esm2022/lib/pipes/short-time.pipe.mjs +3 -3
  32. package/esm2022/lib/pipes/sort.pipe.mjs +4 -4
  33. package/esm2022/lib/pipes/to-injector.pipe.mjs +3 -3
  34. package/esm2022/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +3 -3
  35. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +3 -3
  36. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +3 -3
  37. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +3 -3
  38. package/esm2022/lib/services/config-state.service.mjs +3 -3
  39. package/esm2022/lib/services/content-projection.service.mjs +3 -3
  40. package/esm2022/lib/services/dom-insertion.service.mjs +3 -3
  41. package/esm2022/lib/services/environment.service.mjs +3 -3
  42. package/esm2022/lib/services/http-error-reporter.service.mjs +3 -3
  43. package/esm2022/lib/services/http-wait.service.mjs +3 -3
  44. package/esm2022/lib/services/internet-connection-service.mjs +3 -3
  45. package/esm2022/lib/services/lazy-load.service.mjs +3 -3
  46. package/esm2022/lib/services/list.service.mjs +3 -3
  47. package/esm2022/lib/services/local-storage.service.mjs +3 -3
  48. package/esm2022/lib/services/localization.service.mjs +3 -3
  49. package/esm2022/lib/services/multi-tenancy.service.mjs +3 -3
  50. package/esm2022/lib/services/permission.service.mjs +3 -3
  51. package/esm2022/lib/services/replaceable-components.service.mjs +3 -3
  52. package/esm2022/lib/services/resource-wait.service.mjs +3 -3
  53. package/esm2022/lib/services/rest.service.mjs +3 -3
  54. package/esm2022/lib/services/router-events.service.mjs +3 -3
  55. package/esm2022/lib/services/router-wait.service.mjs +3 -3
  56. package/esm2022/lib/services/routes.service.mjs +6 -6
  57. package/esm2022/lib/services/session-state.service.mjs +3 -3
  58. package/esm2022/lib/services/subscription.service.mjs +3 -3
  59. package/esm2022/lib/services/track-by.service.mjs +3 -3
  60. package/esm2022/lib/services/window.service.mjs +3 -3
  61. package/esm2022/lib/tokens/dynamic-layout.token.mjs +3 -0
  62. package/esm2022/lib/tokens/index.mjs +2 -1
  63. package/esm2022/testing/lib/core-testing.module.mjs +4 -4
  64. package/esm2022/testing/lib/services/mock-permission.service.mjs +3 -3
  65. package/esm2022/testing/lib/services/mock-rest.service.mjs +3 -3
  66. package/fesm2022/abp-ng.core-testing.mjs +10 -10
  67. package/fesm2022/abp-ng.core.mjs +405 -390
  68. package/fesm2022/abp-ng.core.mjs.map +1 -1
  69. package/lib/components/dynamic-layout.component.d.ts +11 -14
  70. package/lib/constants/default-layouts.d.ts +1 -0
  71. package/lib/constants/index.d.ts +1 -0
  72. package/lib/core.module.d.ts +24 -24
  73. package/lib/directives/autofocus.directive.d.ts +1 -1
  74. package/lib/directives/debounce.directive.d.ts +1 -1
  75. package/lib/directives/for.directive.d.ts +1 -1
  76. package/lib/directives/form-submit.directive.d.ts +1 -1
  77. package/lib/directives/init.directive.d.ts +1 -1
  78. package/lib/directives/permission.directive.d.ts +1 -1
  79. package/lib/directives/replaceable-template.directive.d.ts +1 -1
  80. package/lib/directives/stop-propagation.directive.d.ts +1 -1
  81. package/lib/enums/common.d.ts +5 -0
  82. package/lib/models/common.d.ts +1 -0
  83. package/lib/tokens/dynamic-layout.token.d.ts +2 -0
  84. package/lib/tokens/index.d.ts +1 -0
  85. package/package.json +2 -2
@@ -8,10 +8,10 @@ export class AuthGuard {
8
8
  console.error('You should add @abp/ng-oauth packages or create your own auth packages.');
9
9
  return false;
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AuthGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AuthGuard, decorators: [{
15
15
  type: Injectable,
16
16
  args: [{
17
17
  providedIn: 'root',
@@ -33,10 +33,10 @@ export class AuthService {
33
33
  console.log({ grantType, parameters, headers });
34
34
  return Promise.reject(new Error('not implemented'));
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, providedIn: 'root' }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AuthService, providedIn: 'root' }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AuthService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root',
@@ -27,7 +27,7 @@ export class AbstractNgModelComponent {
27
27
  }
28
28
  writeValue(value) {
29
29
  this._value = this.valueLimitFn(value, this._value) || value;
30
- setTimeout(() => this.cdRef.markForCheck(), 0);
30
+ this.cdRef.markForCheck();
31
31
  }
32
32
  registerOnChange(fn) {
33
33
  this.onChange = fn;
@@ -38,10 +38,10 @@ export class AbstractNgModelComponent {
38
38
  setDisabledState(isDisabled) {
39
39
  this.disabled = isDisabled;
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AbstractNgModelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: AbstractNgModelComponent, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AbstractNgModelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: AbstractNgModelComponent, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
45
45
  type: Component,
46
46
  args: [{ template: '' }]
47
47
  }], propDecorators: { disabled: [{
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
55
55
  }], value: [{
56
56
  type: Input
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbW9kZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2Fic3RyYWN0cy9uZy1tb2RlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc1RSxtREFBbUQ7QUFFbkQsTUFBTSxPQUFPLHdCQUF3QjtJQURyQztRQUdZLFVBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQVc1QyxZQUFPLEdBQXVDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBaUIsQ0FBQztRQUd6RSxpQkFBWSxHQUF5QyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztLQTBDckU7SUF4Q0MsSUFDSSxLQUFLLENBQUMsS0FBUTtRQUNoQixLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTdFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVE7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDO1FBQzdELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDOzhHQXpEVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw4S0FEZCxFQUFFOzsyRkFDWix3QkFBd0I7a0JBRHBDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQVF6QixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8vIE5vdCBhbiBhYnN0cmFjdCBjbGFzcyBvbiBwdXJwb3NlLiBEbyBub3QgY2hhbmdlIVxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQ8VCA9IGFueSwgVSA9IFQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHByb3RlY3RlZCBfdmFsdWUhOiBUO1xyXG4gIHByb3RlY3RlZCBjZFJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgb25DaGFuZ2U/OiAodmFsdWU6IFQpID0+IHZvaWQ7XHJcbiAgb25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHZhbHVlRm46ICh2YWx1ZTogVSwgcHJldmlvdXNWYWx1ZT86IFQpID0+IFQgPSB2YWx1ZSA9PiB2YWx1ZSBhcyBhbnkgYXMgVDtcclxuXHJcbiAgQElucHV0KClcclxuICB2YWx1ZUxpbWl0Rm46ICh2YWx1ZTogVCwgcHJldmlvdXNWYWx1ZT86IFQpID0+IGFueSA9IHZhbHVlID0+IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xyXG4gICAgdmFsdWUgPSB0aGlzLnZhbHVlRm4odmFsdWUgYXMgYW55IGFzIFUsIHRoaXMuX3ZhbHVlKTtcclxuXHJcbiAgICBpZiAodGhpcy52YWx1ZUxpbWl0Rm4odmFsdWUsIHRoaXMuX3ZhbHVlKSAhPT0gZmFsc2UgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm5vdGlmeVZhbHVlQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogVCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgfHwgdGhpcy5kZWZhdWx0VmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgZGVmYXVsdFZhbHVlKCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgbm90aWZ5VmFsdWVDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB0aGlzLnZhbHVlTGltaXRGbih2YWx1ZSwgdGhpcy5fdmFsdWUpIHx8IHZhbHVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpLCAwKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbW9kZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2Fic3RyYWN0cy9uZy1tb2RlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc1RSxtREFBbUQ7QUFFbkQsTUFBTSxPQUFPLHdCQUF3QjtJQURyQztRQUdZLFVBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQVc1QyxZQUFPLEdBQXVDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBaUIsQ0FBQztRQUd6RSxpQkFBWSxHQUF5QyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztLQTBDckU7SUF4Q0MsSUFDSSxLQUFLLENBQUMsS0FBUTtRQUNoQixLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTdFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVE7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDO1FBQzdELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7OEdBekRVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDhLQURkLEVBQUU7OzJGQUNaLHdCQUF3QjtrQkFEcEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBUXpCLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLy8gTm90IGFuIGFic3RyYWN0IGNsYXNzIG9uIHB1cnBvc2UuIERvIG5vdCBjaGFuZ2UhXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIEFic3RyYWN0TmdNb2RlbENvbXBvbmVudDxUID0gYW55LCBVID0gVD4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJvdGVjdGVkIF92YWx1ZSE6IFQ7XHJcbiAgcHJvdGVjdGVkIGNkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBvbkNoYW5nZT86ICh2YWx1ZTogVCkgPT4gdm9pZDtcclxuICBvblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICByZWFkb25seT86IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdmFsdWVGbjogKHZhbHVlOiBVLCBwcmV2aW91c1ZhbHVlPzogVCkgPT4gVCA9IHZhbHVlID0+IHZhbHVlIGFzIGFueSBhcyBUO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHZhbHVlTGltaXRGbjogKHZhbHVlOiBULCBwcmV2aW91c1ZhbHVlPzogVCkgPT4gYW55ID0gdmFsdWUgPT4gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XHJcbiAgICB2YWx1ZSA9IHRoaXMudmFsdWVGbih2YWx1ZSBhcyBhbnkgYXMgVSwgdGhpcy5fdmFsdWUpO1xyXG5cclxuICAgIGlmICh0aGlzLnZhbHVlTGltaXRGbih2YWx1ZSwgdGhpcy5fdmFsdWUpICE9PSBmYWxzZSB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMubm90aWZ5VmFsdWVDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBUIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZSB8fCB0aGlzLmRlZmF1bHRWYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0VmFsdWUoKTogVCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBub3RpZnlWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMudmFsdWVMaW1pdEZuKHZhbHVlLCB0aGlzLl92YWx1ZSkgfHwgdmFsdWU7XHJcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbn1cclxuIl19
@@ -16,10 +16,10 @@ export class ExternalHttpClient extends HttpClient {
16
16
  optionsOrRequest.context ??= new HttpContext();
17
17
  optionsOrRequest.context.set(IS_EXTERNAL_REQUEST, true);
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ExternalHttpClient, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
20
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ExternalHttpClient, providedIn: 'root' }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ExternalHttpClient, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ExternalHttpClient, providedIn: 'root' }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ExternalHttpClient, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ExternalHttpClient, decorators: [{
23
23
  type: Injectable,
24
24
  args: [{
25
25
  providedIn: 'root',
@@ -1,4 +1,4 @@
1
- import { Component, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';
1
+ import { Component, inject, isDevMode, Optional, SkipSelf } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { LocalizationService } from '../services/localization.service';
4
4
  import { ReplaceableComponentsService } from '../services/replaceable-components.service';
@@ -6,33 +6,25 @@ import { RouterEvents } from '../services/router-events.service';
6
6
  import { RoutesService } from '../services/routes.service';
7
7
  import { SubscriptionService } from '../services/subscription.service';
8
8
  import { findRoute, getRoutePath } from '../utils/route-utils';
9
+ import { DYNAMIC_LAYOUTS_TOKEN } from "../tokens/dynamic-layout.token";
9
10
  import * as i0 from "@angular/core";
10
- import * as i1 from "../services/localization.service";
11
- import * as i2 from "../services/replaceable-components.service";
12
- import * as i3 from "../services/subscription.service";
13
- import * as i4 from "../services/router-events.service";
14
- import * as i5 from "@angular/common";
11
+ import * as i1 from "@angular/common";
15
12
  export class DynamicLayoutComponent {
16
- constructor(injector, localizationService, replaceableComponents, subscription, routerEvents, dynamicLayoutComponent) {
17
- this.localizationService = localizationService;
18
- this.replaceableComponents = replaceableComponents;
19
- this.subscription = subscription;
20
- this.routerEvents = routerEvents;
21
- // TODO: Consider a shared enum (eThemeSharedComponents) for known layouts
22
- this.layouts = new Map([
23
- ['application', 'Theme.ApplicationLayoutComponent'],
24
- ['account', 'Theme.AccountLayoutComponent'],
25
- ['empty', 'Theme.EmptyLayoutComponent'],
26
- ]);
13
+ constructor(dynamicLayoutComponent) {
14
+ this.layouts = inject(DYNAMIC_LAYOUTS_TOKEN);
27
15
  this.isLayoutVisible = true;
16
+ this.router = inject(Router);
17
+ this.route = inject(ActivatedRoute);
18
+ this.routes = inject(RoutesService);
19
+ this.localizationService = inject(LocalizationService);
20
+ this.replaceableComponents = inject(ReplaceableComponentsService);
21
+ this.subscription = inject(SubscriptionService);
22
+ this.routerEvents = inject(RouterEvents);
28
23
  if (dynamicLayoutComponent) {
29
24
  if (isDevMode())
30
25
  console.warn('DynamicLayoutComponent must be used only in AppComponent.');
31
26
  return;
32
27
  }
33
- this.route = injector.get(ActivatedRoute);
34
- this.router = injector.get(Router);
35
- this.routes = injector.get(RoutesService);
36
28
  this.checkLayoutOnNavigationEnd();
37
29
  this.listenToLanguageChange();
38
30
  }
@@ -47,18 +39,7 @@ export class DynamicLayoutComponent {
47
39
  this.subscription.addOne(navigationEnd$, () => this.getLayout());
48
40
  }
49
41
  getLayout() {
50
- let expectedLayout = (this.route.snapshot.data || {}).layout;
51
- if (!expectedLayout) {
52
- let node = findRoute(this.routes, getRoutePath(this.router));
53
- node = { parent: node };
54
- while (node.parent) {
55
- node = node.parent;
56
- if (node.layout) {
57
- expectedLayout = node.layout;
58
- break;
59
- }
60
- }
61
- }
42
+ let expectedLayout = this.getExtractedLayout();
62
43
  if (!expectedLayout)
63
44
  expectedLayout = "empty" /* eLayoutType.empty */;
64
45
  if (this.layoutKey === expectedLayout)
@@ -72,6 +53,23 @@ export class DynamicLayoutComponent {
72
53
  this.showLayoutNotFoundError(expectedLayout);
73
54
  }
74
55
  }
56
+ getExtractedLayout() {
57
+ const routeData = (this.route.snapshot.data || {});
58
+ let expectedLayout = routeData['layout'];
59
+ if (expectedLayout) {
60
+ return expectedLayout;
61
+ }
62
+ let node = findRoute(this.routes, getRoutePath(this.router));
63
+ node = { parent: node };
64
+ while (node.parent) {
65
+ node = node.parent;
66
+ if (node.layout) {
67
+ expectedLayout = node.layout;
68
+ break;
69
+ }
70
+ }
71
+ return expectedLayout;
72
+ }
75
73
  showLayoutNotFoundError(layoutName) {
76
74
  let message = `Layout ${layoutName} not found.`;
77
75
  if (layoutName === 'account') {
@@ -88,19 +86,21 @@ export class DynamicLayoutComponent {
88
86
  getComponent(key) {
89
87
  return this.replaceableComponents.get(key);
90
88
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: i0.Injector }, { token: i1.LocalizationService }, { token: i2.ReplaceableComponentsService }, { token: i3.SubscriptionService }, { token: i4.RouterEvents }, { token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `, isInline: true, dependencies: [{ kind: "directive", type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: `
91
+ <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
93
92
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
95
94
  type: Component,
96
95
  args: [{
97
96
  selector: 'abp-dynamic-layout',
98
- template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
97
+ template: `
98
+ <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
99
99
  providers: [SubscriptionService],
100
100
  }]
101
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.LocalizationService }, { type: i2.ReplaceableComponentsService }, { type: i3.SubscriptionService }, { type: i4.RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
101
+ }], ctorParameters: () => [{ type: DynamicLayoutComponent, decorators: [{
102
102
  type: Optional
103
103
  }, {
104
104
  type: SkipSelf
105
105
  }] }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBVSxRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBUS9ELE1BQU0sT0FBTyxzQkFBc0I7SUFpQmpDLFlBQ0UsUUFBa0IsRUFDVixtQkFBd0MsRUFDeEMscUJBQW1ELEVBQ25ELFlBQWlDLEVBQ2pDLFlBQTBCLEVBQ1Ysc0JBQThDO1FBSjlELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUNuRCxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFsQnBDLDBFQUEwRTtRQUNqRSxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDekIsQ0FBQyxhQUFhLEVBQUUsa0NBQWtDLENBQUM7WUFDbkQs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ZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUN0RSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxHQUFXO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDOzhHQWxHVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiw2Q0FGdEIsQ0FBQyxtQkFBbUIsQ0FBQywwQkFEdEIsc0ZBQXNGOzsyRkFHckYsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxzRkFBc0Y7b0JBQ2hHLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNqQzs7MEJBd0JJLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBpc0Rldk1vZGUsIE9uSW5pdCwgT3B0aW9uYWwsIFNraXBTZWxmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJy4uL2VudW1zL2NvbW1vbic7XHJcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFJlcGxhY2VhYmxlQ29tcG9uZW50cyB9IGZyb20gJy4uL21vZGVscy9yZXBsYWNlYWJsZS1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlcGxhY2VhYmxlLWNvbXBvbmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlckV2ZW50cyB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yb3V0ZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdWJzY3JpcHRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbmRSb3V0ZSwgZ2V0Um91dGVQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcm91dGUtdXRpbHMnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4uL3V0aWxzL3RyZWUtdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtZHluYW1pYy1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlOiBgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheW91dFZpc2libGVcIiBbbmdDb21wb25lbnRPdXRsZXRdPVwibGF5b3V0XCI+PC9uZy1jb250YWluZXI+IGAsXHJcbiAgcHJvdmlkZXJzOiBbU3Vic2NyaXB0aW9uU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBsYXlvdXQ/OiBUeXBlPGFueT47XHJcbiAgbGF5b3V0S2V5PzogZUxheW91dFR5cGU7XHJcblxyXG4gIC8vIFRPRE86IENvbnNpZGVyIGEgc2hhcmVkIGVudW0gKGVUaGVtZVNoYXJlZENvbXBvbmVudHMpIGZvciBrbm93biBsYXlvdXRzXHJcbiAgcmVhZG9ubHkgbGF5b3V0cyA9IG5ldyBNYXAoW1xyXG4gICAgWydhcHBsaWNhdGlvbicsICdUaGVtZS5BcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCddLFxyXG4gICAgWydhY2NvdW50JywgJ1RoZW1lLkFjY291bnRMYXlvdXRDb21wb25lbnQnXSxcclxuICAgIFsnZW1wdHknLCAnVGhlbWUuRW1wdHlMYXlvdXRDb21wb25lbnQnXSxcclxuICBdKTtcclxuXHJcbiAgaXNMYXlvdXRWaXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSByb3V0ZXIhOiBSb3V0ZXI7XHJcbiAgcHJpdmF0ZSByb3V0ZSE6IEFjdGl2YXRlZFJvdXRlO1xyXG4gIHByaXZhdGUgcm91dGVzITogUm91dGVzU2VydmljZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGxvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlcGxhY2VhYmxlQ29tcG9uZW50czogUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXJFdmVudHM6IFJvdXRlckV2ZW50cyxcclxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGR5bmFtaWNMYXlvdXRDb21wb25lbnQ6IER5bmFtaWNMYXlvdXRDb21wb25lbnQsXHJcbiAgKSB7XHJcbiAgICBpZiAoZHluYW1pY0xheW91dENvbXBvbmVudCkge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIGNvbnNvbGUud2FybignRHluYW1pY0xheW91dENvbXBvbmVudCBtdXN0IGJlIHVzZWQgb25seSBpbiBBcHBDb21wb25lbnQuJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucm91dGUgPSBpbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgdGhpcy5yb3V0ZXIgPSBpbmplY3Rvci5nZXQoUm91dGVyKTtcclxuICAgIHRoaXMucm91dGVzID0gaW5qZWN0b3IuZ2V0KFJvdXRlc1NlcnZpY2UpO1xyXG5cclxuICAgIHRoaXMuY2hlY2tMYXlvdXRPbk5hdmlnYXRpb25FbmQoKTtcclxuICAgIHRoaXMubGlzdGVuVG9MYW5ndWFnZUNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmxheW91dCl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0TGF5b3V0KClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tMYXlvdXRPbk5hdmlnYXRpb25FbmQoKSB7XHJcbiAgICBjb25zdCBuYXZpZ2F0aW9uRW5kJCA9IHRoaXMucm91dGVyRXZlbnRzLmdldE5hdmlnYXRpb25FdmVudHMoJ0VuZCcpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkT25lKG5hdmlnYXRpb25FbmQkLCAoKSA9PiB0aGlzLmdldExheW91dCgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TGF5b3V0KCkge1xyXG4gICAgbGV0IGV4cGVjdGVkTGF5b3V0ID0gKHRoaXMucm91dGUuc25hcHNob3QuZGF0YSB8fCB7fSkubGF5b3V0O1xyXG5cclxuICAgIGlmICghZXhwZWN0ZWRMYXlvdXQpIHtcclxuICAgICAgbGV0IG5vZGUgPSBmaW5kUm91dGUodGhpcy5yb3V0ZXMsIGdldFJvdXRlUGF0aCh0aGlzLnJvdXRlcikpO1xyXG4gICAgICBub2RlID0geyBwYXJlbnQ6IG5vZGUgfSBhcyBUcmVlTm9kZTxBQlAuUm91dGU+O1xyXG5cclxuICAgICAgd2hpbGUgKG5vZGUucGFyZW50KSB7XHJcbiAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50O1xyXG5cclxuICAgICAgICBpZiAobm9kZS5sYXlvdXQpIHtcclxuICAgICAgICAgIGV4cGVjdGVkTGF5b3V0ID0gbm9kZS5sYXlvdXQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWV4cGVjdGVkTGF5b3V0KSBleHBlY3RlZExheW91dCA9IGVMYXlvdXRUeXBlLmVtcHR5O1xyXG5cclxuICAgIGlmICh0aGlzLmxheW91dEtleSA9PT0gZXhwZWN0ZWRMYXlvdXQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLmxheW91dHMuZ2V0KGV4cGVjdGVkTGF5b3V0KTtcclxuICAgIGlmIChrZXkpIHtcclxuICAgICAgdGhpcy5sYXlvdXQgPSB0aGlzLmdldENvbXBvbmVudChrZXkpPy5jb21wb25lbnQ7XHJcbiAgICAgIHRoaXMubGF5b3V0S2V5ID0gZXhwZWN0ZWRMYXlvdXQ7XHJcbiAgICB9XHJcbiAgICBpZighdGhpcy5sYXlvdXQpe1xyXG4gICAgICB0aGlzLnNob3dMYXlvdXROb3RGb3VuZEVycm9yKGV4cGVjdGVkTGF5b3V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dMYXlvdXROb3RGb3VuZEVycm9yKGxheW91dE5hbWU6IHN0cmluZykge1xyXG4gICAgbGV0IG1lc3NhZ2UgPSBgTGF5b3V0ICR7bGF5b3V0TmFtZX0gbm90IGZvdW5kLmA7XHJcbiAgICBpZihsYXlvdXROYW1lID09PSAnYWNjb3VudCcpe1xyXG4gICAgICBtZXNzYWdlID0gJ0FjY291bnQgbGF5b3V0IG5vdCBmb3VuZC4gUGxlYXNlIGNoZWNrIHlvdXIgY29uZmlndXJhdGlvbi4gSWYgeW91IGFyZSB1c2luZyBMZXB0b25YLCBwbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIGFkZGVkIFwiQWNjb3VudExheW91dE1vZHVsZS5mb3JSb290KClcIiB0byB5b3VyIGFwcC5tb2R1bGUgY29uZmlndXJhdGlvbi4nO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgbGlzdGVuVG9MYW5ndWFnZUNoYW5nZSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZE9uZSh0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UubGFuZ3VhZ2VDaGFuZ2UkLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNMYXlvdXRWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaXNMYXlvdXRWaXNpYmxlID0gdHJ1ZSksIDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbXBvbmVudChrZXk6IHN0cmluZyk6IFJlcGxhY2VhYmxlQ29tcG9uZW50cy5SZXBsYWNlYWJsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXBsYWNlYWJsZUNvbXBvbmVudHMuZ2V0KGtleSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFFVCxRQUFRLEVBQ1IsUUFBUSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFJdkQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7QUFRckUsTUFBTSxPQUFPLHNCQUFzQjtJQWVqQyxZQUMwQixzQkFBOEM7UUFiL0QsWUFBTyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ2hELG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRU4sV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEMsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1C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QUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7WUFDdEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsR0FBVztRQUM5QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0FqR1Usc0JBQXNCO2tHQUF0QixzQkFBc0IsNkNBRnRCLENBQUMsbUJBQW1CLENBQUMsMEJBRnRCO3dGQUM0RTs7MkZBRzNFLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7d0ZBQzRFO29CQUN0RixTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDakM7OzBCQWlCSSxRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgaW5qZWN0LFxyXG4gIGlzRGV2TW9kZSxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2tpcFNlbGYsXHJcbiAgVHlwZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7ZUxheW91dFR5cGV9IGZyb20gJy4uL2VudW1zL2NvbW1vbic7XHJcbmltcG9ydCB7QUJQfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQge1JlcGxhY2VhYmxlQ29tcG9uZW50c30gZnJvbSAnLi4vbW9kZWxzL3JlcGxhY2VhYmxlLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQge0xvY2FsaXphdGlvblNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9yZXBsYWNlYWJsZS1jb21wb25lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JvdXRlckV2ZW50c30gZnJvbSAnLi4vc2VydmljZXMvcm91dGVyLWV2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHtSb3V0ZXNTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9yb3V0ZXMuc2VydmljZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9uU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge2ZpbmRSb3V0ZSwgZ2V0Um91dGVQYXRofSBmcm9tICcuLi91dGlscy9yb3V0ZS11dGlscyc7XHJcbmltcG9ydCB7VHJlZU5vZGV9IGZyb20gJy4uL3V0aWxzL3RyZWUtdXRpbHMnO1xyXG5pbXBvcnQge0RZTkFNSUNfTEFZT1VUU19UT0tFTn0gZnJvbSBcIi4uL3Rva2Vucy9keW5hbWljLWxheW91dC50b2tlblwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtZHluYW1pYy1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMYXlvdXRWaXNpYmxlXCIgW25nQ29tcG9uZW50T3V0bGV0XT1cImxheW91dFwiPjwvbmctY29udGFpbmVyPiBgLFxyXG4gIHByb3ZpZGVyczogW1N1YnNjcmlwdGlvblNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbGF5b3V0PzogVHlwZTxhbnk+O1xyXG4gIGxheW91dEtleT86IGVMYXlvdXRUeXBlO1xyXG4gIHJlYWRvbmx5IGxheW91dHMgPSBpbmplY3QoRFlOQU1JQ19MQVlPVVRTX1RPS0VOKVxyXG4gIGlzTGF5b3V0VmlzaWJsZSA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXMgPSBpbmplY3QoUm91dGVzU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlID0gaW5qZWN0KExvY2FsaXphdGlvblNlcnZpY2UpXHJcbiAgcHJpdmF0ZSByZXBsYWNlYWJsZUNvbXBvbmVudHMgPSBpbmplY3QoUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSlcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IGluamVjdChTdWJzY3JpcHRpb25TZXJ2aWNlKVxyXG4gIHByaXZhdGUgcm91dGVyRXZlbnRzID0gaW5qZWN0KFJvdXRlckV2ZW50cylcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgZHluYW1pY0xheW91dENvbXBvbmVudDogRHluYW1pY0xheW91dENvbXBvbmVudCxcclxuICApIHtcclxuICAgIGlmIChkeW5hbWljTGF5b3V0Q29tcG9uZW50KSB7XHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkgY29uc29sZS53YXJuKCdEeW5hbWljTGF5b3V0Q29tcG9uZW50IG11c3QgYmUgdXNlZCBvbmx5IGluIEFwcENvbXBvbmVudC4nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGVja0xheW91dE9uTmF2aWdhdGlvbkVuZCgpO1xyXG4gICAgdGhpcy5saXN0ZW5Ub0xhbmd1YWdlQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxheW91dCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldExheW91dCgpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrTGF5b3V0T25OYXZpZ2F0aW9uRW5kKCkge1xyXG4gICAgY29uc3QgbmF2aWdhdGlvbkVuZCQgPSB0aGlzLnJvdXRlckV2ZW50cy5nZXROYXZpZ2F0aW9uRXZlbnRzKCdFbmQnKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZE9uZShuYXZpZ2F0aW9uRW5kJCwgKCkgPT4gdGhpcy5nZXRMYXlvdXQoKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXRMYXlvdXQoKSB7XHJcbiAgICBsZXQgZXhwZWN0ZWRMYXlvdXQgPSB0aGlzLmdldEV4dHJhY3RlZExheW91dCgpO1xyXG5cclxuXHJcbiAgICBpZiAoIWV4cGVjdGVkTGF5b3V0KSBleHBlY3RlZExheW91dCA9IGVMYXlvdXRUeXBlLmVtcHR5O1xyXG5cclxuICAgIGlmICh0aGlzLmxheW91dEtleSA9PT0gZXhwZWN0ZWRMYXlvdXQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLmxheW91dHMuZ2V0KGV4cGVjdGVkTGF5b3V0KTtcclxuICAgIGlmIChrZXkpIHtcclxuICAgICAgdGhpcy5sYXlvdXQgPSB0aGlzLmdldENvbXBvbmVudChrZXkpPy5jb21wb25lbnQ7XHJcbiAgICAgIHRoaXMubGF5b3V0S2V5ID0gZXhwZWN0ZWRMYXlvdXQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMubGF5b3V0KSB7XHJcbiAgICAgIHRoaXMuc2hvd0xheW91dE5vdEZvdW5kRXJyb3IoZXhwZWN0ZWRMYXlvdXQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFeHRyYWN0ZWRMYXlvdXQoKSB7XHJcbiAgICBjb25zdCByb3V0ZURhdGEgPSAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhIHx8IHt9KTtcclxuICAgIGxldCBleHBlY3RlZExheW91dCA9IHJvdXRlRGF0YVsnbGF5b3V0J10gYXMgZUxheW91dFR5cGU7XHJcblxyXG4gICAgaWYgKGV4cGVjdGVkTGF5b3V0KSB7XHJcbiAgICAgIHJldHVybiBleHBlY3RlZExheW91dDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbm9kZSA9IGZpbmRSb3V0ZSh0aGlzLnJvdXRlcywgZ2V0Um91dGVQYXRoKHRoaXMucm91dGVyKSk7XHJcbiAgICBub2RlID0ge3BhcmVudDogbm9kZX0gYXMgVHJlZU5vZGU8QUJQLlJvdXRlPjtcclxuXHJcbiAgICB3aGlsZSAobm9kZS5wYXJlbnQpIHtcclxuICAgICAgbm9kZSA9IG5vZGUucGFyZW50O1xyXG5cclxuICAgICAgaWYgKG5vZGUubGF5b3V0KSB7XHJcbiAgICAgICAgZXhwZWN0ZWRMYXlvdXQgPSBub2RlLmxheW91dDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGV4cGVjdGVkTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgc2hvd0xheW91dE5vdEZvdW5kRXJyb3IobGF5b3V0TmFtZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgbWVzc2FnZSA9IGBMYXlvdXQgJHtsYXlvdXROYW1lfSBub3QgZm91bmQuYDtcclxuICAgIGlmIChsYXlvdXROYW1lID09PSAnYWNjb3VudCcpIHtcclxuICAgICAgbWVzc2FnZSA9ICdBY2NvdW50IGxheW91dCBub3QgZm91bmQuIFBsZWFzZSBjaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24uIElmIHlvdSBhcmUgdXNpbmcgTGVwdG9uWCwgcGxlYXNlIG1ha2Ugc3VyZSB5b3UgaGF2ZSBhZGRlZCBcIkFjY291bnRMYXlvdXRNb2R1bGUuZm9yUm9vdCgpXCIgdG8geW91ciBhcHAubW9kdWxlIGNvbmZpZ3VyYXRpb24uJztcclxuICAgIH1cclxuICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGxpc3RlblRvTGFuZ3VhZ2VDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGRPbmUodGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmxhbmd1YWdlQ2hhbmdlJCwgKCkgPT4ge1xyXG4gICAgICB0aGlzLmlzTGF5b3V0VmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmlzTGF5b3V0VmlzaWJsZSA9IHRydWUpLCAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb21wb25lbnQoa2V5OiBzdHJpbmcpOiBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUmVwbGFjZWFibGVDb21wb25lbnQgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMucmVwbGFjZWFibGVDb21wb25lbnRzLmdldChrZXkpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -24,12 +24,12 @@ export class ReplaceableRouteContainerComponent {
24
24
  this.externalComponent = res.component;
25
25
  });
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ReplaceableComponentsService }, { token: i3.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ReplaceableComponentsService }, { token: i3.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
29
29
  <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
30
30
  `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{
35
35
  selector: 'abp-replaceable-route-container',
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/router";
4
4
  export class RouterOutletComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: RouterOutletComponent, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: RouterOutletComponent, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RouterOutletComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RouterOutletComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'abp-router-outlet',
@@ -0,0 +1,6 @@
1
+ export const DEFAULT_DYNAMIC_LAYOUTS = new Map([
2
+ ["application" /* eLayoutType.application */, "Theme.ApplicationLayoutComponent" /* eThemeSharedComponents.ApplicationLayoutComponent */],
3
+ ["account" /* eLayoutType.account */, "Theme.AccountLayoutComponent" /* eThemeSharedComponents.AccountLayoutComponent */],
4
+ ["empty" /* eLayoutType.empty */, "Theme.EmptyLayoutComponent" /* eThemeSharedComponents.EmptyLayoutComponent */],
5
+ ]);
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1sYXlvdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbnN0YW50cy9kZWZhdWx0LWxheW91dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxHQUFHLENBQWlCO0lBQzdELHlJQUE0RTtJQUM1RSx5SEFBb0U7SUFDcEUsaUhBQWdFO0NBQ2pFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZUxheW91dFR5cGUsIGVUaGVtZVNoYXJlZENvbXBvbmVudHN9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRFlOQU1JQ19MQVlPVVRTID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gIFtlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbiwgZVRoZW1lU2hhcmVkQ29tcG9uZW50cy5BcHBsaWNhdGlvbkxheW91dENvbXBvbmVudF0sXHJcbiAgW2VMYXlvdXRUeXBlLmFjY291bnQsIGVUaGVtZVNoYXJlZENvbXBvbmVudHMuQWNjb3VudExheW91dENvbXBvbmVudF0sXHJcbiAgW2VMYXlvdXRUeXBlLmVtcHR5LCBlVGhlbWVTaGFyZWRDb21wb25lbnRzLkVtcHR5TGF5b3V0Q29tcG9uZW50XSxcclxuXSk7XHJcbiJdfQ==
@@ -1,2 +1,3 @@
1
1
  export * from './different-locales';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpZmZlcmVudC1sb2NhbGVzJztcclxuIl19
2
+ export * from './default-layouts';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlmZmVyZW50LWxvY2FsZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtbGF5b3V0cyc7XHJcbiJdfQ==
@@ -38,8 +38,20 @@ import { QUEUE_MANAGER } from './tokens/queue.token';
38
38
  import { DefaultQueueManager } from './utils/queue';
39
39
  import { IncludeLocalizationResourcesProvider } from './providers/include-localization-resources.provider';
40
40
  import { SORT_COMPARE_FUNC, compareFuncFactory } from './tokens/compare-func.token';
41
+ import { DYNAMIC_LAYOUTS_TOKEN } from "./tokens/dynamic-layout.token";
42
+ import { DEFAULT_DYNAMIC_LAYOUTS } from "./constants";
41
43
  import * as i0 from "@angular/core";
42
44
  import * as i1 from "@angular/common/http";
45
+ const standaloneDirectives = [
46
+ AutofocusDirective,
47
+ InputEventDebounceDirective,
48
+ ForDirective,
49
+ FormSubmitDirective,
50
+ InitDirective,
51
+ PermissionDirective,
52
+ ReplaceableTemplateDirective,
53
+ StopPropagationDirective,
54
+ ];
43
55
  /**
44
56
  * BaseCoreModule is the module that holds
45
57
  * all imports, declarations, exports, and entryComponents
@@ -47,21 +59,13 @@ import * as i1 from "@angular/common/http";
47
59
  * This module will be imported and exported by all others.
48
60
  */
49
61
  export class BaseCoreModule {
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
51
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
52
- AutofocusDirective,
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: BaseCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
63
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: BaseCoreModule, declarations: [AbstractNgModelComponent,
53
64
  DynamicLayoutComponent,
54
- ForDirective,
55
- FormSubmitDirective,
56
- InitDirective,
57
- InputEventDebounceDirective,
58
- PermissionDirective,
59
65
  ReplaceableRouteContainerComponent,
60
- ReplaceableTemplateDirective,
61
66
  RouterOutletComponent,
62
67
  SortPipe,
63
68
  SafeHtmlPipe,
64
- StopPropagationDirective,
65
69
  ToInjectorPipe,
66
70
  ShortDateTimePipe,
67
71
  ShortTimePipe,
@@ -70,31 +74,37 @@ export class BaseCoreModule {
70
74
  FormsModule,
71
75
  ReactiveFormsModule,
72
76
  RouterModule,
73
- LocalizationModule], exports: [CommonModule,
77
+ LocalizationModule, AutofocusDirective,
78
+ InputEventDebounceDirective,
79
+ ForDirective,
80
+ FormSubmitDirective,
81
+ InitDirective,
82
+ PermissionDirective,
83
+ ReplaceableTemplateDirective,
84
+ StopPropagationDirective], exports: [CommonModule,
74
85
  HttpClientModule,
75
86
  FormsModule,
76
87
  ReactiveFormsModule,
77
88
  RouterModule,
78
89
  LocalizationModule,
79
90
  AbstractNgModelComponent,
80
- AutofocusDirective,
81
91
  DynamicLayoutComponent,
82
- ForDirective,
83
- FormSubmitDirective,
84
- InitDirective,
85
- InputEventDebounceDirective,
86
- PermissionDirective,
87
92
  ReplaceableRouteContainerComponent,
88
- ReplaceableTemplateDirective,
89
93
  RouterOutletComponent,
90
94
  SortPipe,
91
95
  SafeHtmlPipe,
92
- StopPropagationDirective,
93
96
  ToInjectorPipe,
94
97
  ShortDateTimePipe,
95
98
  ShortTimePipe,
96
- ShortDatePipe] }); }
97
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [CommonModule,
99
+ ShortDatePipe, AutofocusDirective,
100
+ InputEventDebounceDirective,
101
+ ForDirective,
102
+ FormSubmitDirective,
103
+ InitDirective,
104
+ PermissionDirective,
105
+ ReplaceableTemplateDirective,
106
+ StopPropagationDirective] }); }
107
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: BaseCoreModule, providers: [LocalizationPipe], imports: [CommonModule,
98
108
  HttpClientModule,
99
109
  FormsModule,
100
110
  ReactiveFormsModule,
@@ -106,7 +116,7 @@ export class BaseCoreModule {
106
116
  RouterModule,
107
117
  LocalizationModule] }); }
108
118
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: BaseCoreModule, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: BaseCoreModule, decorators: [{
110
120
  type: NgModule,
111
121
  args: [{
112
122
  exports: [
@@ -117,23 +127,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
117
127
  RouterModule,
118
128
  LocalizationModule,
119
129
  AbstractNgModelComponent,
120
- AutofocusDirective,
121
130
  DynamicLayoutComponent,
122
- ForDirective,
123
- FormSubmitDirective,
124
- InitDirective,
125
- InputEventDebounceDirective,
126
- PermissionDirective,
127
131
  ReplaceableRouteContainerComponent,
128
- ReplaceableTemplateDirective,
129
132
  RouterOutletComponent,
130
133
  SortPipe,
131
134
  SafeHtmlPipe,
132
- StopPropagationDirective,
133
135
  ToInjectorPipe,
134
136
  ShortDateTimePipe,
135
137
  ShortTimePipe,
136
138
  ShortDatePipe,
139
+ ...standaloneDirectives,
137
140
  ],
138
141
  imports: [
139
142
  CommonModule,
@@ -142,22 +145,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
142
145
  ReactiveFormsModule,
143
146
  RouterModule,
144
147
  LocalizationModule,
148
+ ...standaloneDirectives,
145
149
  ],
146
150
  declarations: [
147
151
  AbstractNgModelComponent,
148
- AutofocusDirective,
149
152
  DynamicLayoutComponent,
150
- ForDirective,
151
- FormSubmitDirective,
152
- InitDirective,
153
- InputEventDebounceDirective,
154
- PermissionDirective,
155
153
  ReplaceableRouteContainerComponent,
156
- ReplaceableTemplateDirective,
157
154
  RouterOutletComponent,
158
155
  SortPipe,
159
156
  SafeHtmlPipe,
160
- StopPropagationDirective,
161
157
  ToInjectorPipe,
162
158
  ShortDateTimePipe,
163
159
  ShortTimePipe,
@@ -171,16 +167,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
171
167
  * and it introduces imports useful at root level (e.g. NGXS)
172
168
  */
173
169
  export class RootCoreModule {
174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
175
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule, LocalizationModule, i1.HttpClientXsrfModule], exports: [BaseCoreModule, LocalizationModule] }); }
176
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule,
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RootCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
171
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule, LocalizationModule, i1.HttpClientXsrfModule], exports: [BaseCoreModule, LocalizationModule] }); }
172
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RootCoreModule, imports: [BaseCoreModule,
177
173
  LocalizationModule,
178
174
  HttpClientXsrfModule.withOptions({
179
175
  cookieName: 'XSRF-TOKEN',
180
176
  headerName: 'RequestVerificationToken',
181
177
  }), BaseCoreModule, LocalizationModule] }); }
182
178
  }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RootCoreModule, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: RootCoreModule, decorators: [{
184
180
  type: NgModule,
185
181
  args: [{
186
182
  exports: [BaseCoreModule, LocalizationModule],
@@ -246,7 +242,7 @@ export class CoreModule {
246
242
  },
247
243
  {
248
244
  provide: SORT_COMPARE_FUNC,
249
- useFactory: compareFuncFactory
245
+ useFactory: compareFuncFactory,
250
246
  },
251
247
  {
252
248
  provide: QUEUE_MANAGER,
@@ -257,6 +253,10 @@ export class CoreModule {
257
253
  useValue: options.othersGroup || 'AbpUi::OthersGroup',
258
254
  },
259
255
  IncludeLocalizationResourcesProvider,
256
+ {
257
+ provide: DYNAMIC_LAYOUTS_TOKEN,
258
+ useValue: options.dynamicLayouts || DEFAULT_DYNAMIC_LAYOUTS
259
+ }
260
260
  ],
261
261
  };
262
262
  }
@@ -273,15 +273,15 @@ export class CoreModule {
273
273
  ],
274
274
  };
275
275
  }
276
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
277
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] }); }
278
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CoreModule, imports: [BaseCoreModule, BaseCoreModule] }); }
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
277
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: CoreModule, imports: [BaseCoreModule], exports: [BaseCoreModule] }); }
278
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: CoreModule, imports: [BaseCoreModule, BaseCoreModule] }); }
279
279
  }
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CoreModule, decorators: [{
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: CoreModule, decorators: [{
281
281
  type: NgModule,
282
282
  args: [{
283
283
  exports: [BaseCoreModule],
284
284
  imports: [BaseCoreModule],
285
285
  }]
286
286
  }] });
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNGLE9B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VUFBVTsrR0FBVixVQUFVLFlBMUJWLGNBQWMsYUFBZCxjQUFjOytHQTBCZCxVQUFVLFlBRlgsY0FBYyxFQXhCYixjQUFjOzsyRkEwQmQsVUFBVTtrQkFKdEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlLCBIdHRwQ2xpZW50WHNyZk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFic3RyYWN0TmdNb2RlbENvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3RzL25nLW1vZGVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZXBsYWNlYWJsZS1yb3V0ZS1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm91dGVyT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b2ZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtU3VibWl0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEluaXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaW5pdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUmVwbGFjZWFibGVUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9yZXBsYWNlYWJsZS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXNIYW5kbGVyIH0gZnJvbSAnLi9oYW5kbGVycy9yb3V0ZXMuaGFuZGxlcic7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZSB9IGZyb20gJy4vbG9jYWxpemF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblBpcGUgfSBmcm9tICcuL3BpcGVzL2xvY2FsaXphdGlvbi5waXBlJztcclxuaW1wb3J0IHsgU29ydFBpcGUgfSBmcm9tICcuL3BpcGVzL3NvcnQucGlwZSc7XHJcbmltcG9ydCB7IFRvSW5qZWN0b3JQaXBlIH0gZnJvbSAnLi9waXBlcy90by1pbmplY3Rvci5waXBlJztcclxuaW1wb3J0IHsgQ29va2llTGFuZ3VhZ2VQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL2Nvb2tpZS1sYW5ndWFnZS5wcm92aWRlcic7XHJcbmltcG9ydCB7IExvY2FsZVByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvbG9jYWxlLnByb3ZpZGVyJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPVEhFUlNfR1JPVVAgfSBmcm9tICcuL3Rva2Vucyc7XHJcbmltcG9ydCB7IGxvY2FsaXphdGlvbkNvbnRyaWJ1dG9yLCBMT0NBTElaQVRJT05TIH0gZnJvbSAnLi90b2tlbnMvbG9jYWxpemF0aW9uLnRva2VuJztcclxuaW1wb3J0IHsgQ09SRV9PUFRJT05TLCBjb3JlT3B0aW9uc0ZhY3RvcnkgfSBmcm9tICcuL3Rva2Vucy9vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgVEVOQU5UX0tFWSB9IGZyb20gJy4vdG9rZW5zL3RlbmFudC1rZXkudG9rZW4nO1xyXG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi91dGlscy9jb21tb24tdXRpbHMnO1xyXG5pbXBvcnQgJy4vdXRpbHMvZGF0ZS1leHRlbnNpb25zJztcclxuaW1wb3J0IHsgZ2V0SW5pdGlhbERhdGEsIGxvY2FsZUluaXRpYWxpemVyIH0gZnJvbSAnLi91dGlscy9pbml0aWFsLXV0aWxzJztcclxuaW1wb3J0IHsgU2hvcnREYXRlVGltZVBpcGUgfSBmcm9tICcuL3BpcGVzL3Nob3J0LWRhdGUtdGltZS5waXBlJztcclxuaW1wb3J0IHsgU2hvcnRUaW1lUGlwZSB9IGZyb20gJy4vcGlwZXMvc2hvcnQtdGltZS5waXBlJztcclxuaW1wb3J0IHsgU2hvcnREYXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvc2hvcnQtZGF0ZS5waXBlJztcclxuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XHJcbmltcG9ydCB7IFFVRVVFX01BTkFHRVIgfSBmcm9tICcuL3Rva2Vucy9xdWV1ZS50b2tlbic7XHJcbmltcG9ydCB7IERlZmF1bHRRdWV1ZU1hbmFnZXIgfSBmcm9tICcuL3V0aWxzL3F1ZXVlJztcclxuaW1wb3J0IHsgSW5jbHVkZUxvY2FsaXphdGlvblJlc291cmNlc1Byb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvaW5jbHVkZS1sb2NhbGl6YXRpb24tcmVzb3VyY2VzLnByb3ZpZGVyJztcclxuaW1wb3J0IHsgU09SVF9DT01QQVJFX0ZVTkMsIGNvbXBhcmVGdW5jRmFjdG9yeSB9IGZyb20gJy4vdG9rZW5zL2NvbXBhcmUtZnVuYy50b2tlbic7XHJcblxyXG4vKipcclxuICogQmFzZUNvcmVNb2R1bGUgaXMgdGhlIG1vZHVsZSB0aGF0IGhvbGRzXHJcbiAqIGFsbCBpbXBvcnRzLCBkZWNsYXJhdGlvbnMsIGV4cG9ydHMsIGFuZCBlbnRyeUNvbXBvbmVudHNcclxuICogYnV0IG5vdCB0aGUgcHJvdmlkZXJzLlxyXG4gKiBUaGlzIG1vZHVsZSB3aWxsIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZCBieSBhbGwgb3RoZXJzLlxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gICAgQWJzdHJhY3ROZ01vZGVsQ29tcG9uZW50LFxyXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxyXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcclxuICAgIEZvckRpcmVjdGl2ZSxcclxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmUsXHJcbiAgICBJbml0RGlyZWN0aXZlLFxyXG4gICAgSW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlLFxyXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcclxuICAgIFJlcGxhY2VhYmxlUm91dGVDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBSZXBsYWNlYWJsZVRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxyXG4gICAgU29ydFBpcGUsXHJcbiAgICBTYWZlSHRtbFBpcGUsXHJcbiAgICBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXHJcbiAgICBUb0luamVjdG9yUGlwZSxcclxuICAgIFNob3J0RGF0ZVRpbWVQaXBlLFxyXG4gICAgU2hvcnRUaW1lUGlwZSxcclxuICAgIFNob3J0RGF0ZVBpcGUsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQsXHJcbiAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgRm9yRGlyZWN0aXZlLFxyXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcclxuICAgIEluaXREaXJlY3RpdmUsXHJcbiAgICBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUsXHJcbiAgICBQZXJtaXNzaW9uRGlyZWN0aXZlLFxyXG4gICAgUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFJlcGxhY2VhYmxlVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBSb3V0ZXJPdXRsZXRDb21wb25lbnQsXHJcbiAgICBTb3J0UGlwZSxcclxuICAgIFNhZmVIdG1sUGlwZSxcclxuICAgIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcclxuICAgIFRvSW5qZWN0b3JQaXBlLFxyXG4gICAgU2hvcnREYXRlVGltZVBpcGUsXHJcbiAgICBTaG9ydFRpbWVQaXBlLFxyXG4gICAgU2hvcnREYXRlUGlwZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0xvY2FsaXphdGlvblBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZUNvcmVNb2R1bGUge31cclxuXHJcbi8qKlxyXG4gKiBSb290Q29yZU1vZHVsZSBpcyB0aGUgbW9kdWxlIHRoYXQgd2lsbCBiZSB1c2VkIGF0IHJvb3QgbGV2ZWxcclxuICogYW5kIGl0IGludHJvZHVjZXMgaW1wb3J0cyB1c2VmdWwgYXQgcm9vdCBsZXZlbCAoZS5nLiBOR1hTKVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbQmFzZUNvcmVNb2R1bGUsIExvY2FsaXphdGlvbk1vZHVsZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQmFzZUNvcmVNb2R1bGUsXHJcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50WHNyZk1vZHVsZS53aXRoT3B0aW9ucyh7XHJcbiAgICAgIGNvb2tpZU5hbWU6ICdYU1JGLVRPS0VOJyxcclxuICAgICAgaGVhZGVyTmFtZTogJ1JlcXVlc3RWZXJpZmljYXRpb25Ub2tlbicsXHJcbiAgICB9KSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9vdENvcmVNb2R1bGUge31cclxuXHJcbi8qKlxyXG4gKiBDb3JlTW9kdWxlIGlzIHRoZSBtb2R1bGUgdGhhdCBpcyBwdWJsaWNseSBhdmFpbGFibGVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZXhwb3J0czogW0Jhc2VDb3JlTW9kdWxlXSxcclxuICBpbXBvcnRzOiBbQmFzZUNvcmVNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucyA9IHt9IGFzIEFCUC5Sb290KTogTW9kdWxlV2l0aFByb3ZpZGVyczxSb290Q29yZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFJvb3RDb3JlTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBMb2NhbGVQcm92aWRlcixcclxuICAgICAgICBDb29raWVMYW5ndWFnZVByb3ZpZGVyLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6ICdDT1JFX09QVElPTlMnLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBDT1JFX09QVElPTlMsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBjb3JlT3B0aW9uc0ZhY3RvcnksXHJcbiAgICAgICAgICBkZXBzOiBbJ0NPUkVfT1BUSU9OUyddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogZ2V0SW5pdGlhbERhdGEsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbGVJbml0aWFsaXplcixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0xvY2FsaXphdGlvblNlcnZpY2VdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW1JvdXRlc0hhbmRsZXJdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICB7IHByb3ZpZGU6IFRFTkFOVF9LRVksIHVzZVZhbHVlOiBvcHRpb25zLnRlbmFudEtleSB8fCAnX190ZW5hbnQnIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTE9DQUxJWkFUSU9OUyxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IGxvY2FsaXphdGlvbkNvbnRyaWJ1dG9yKG9wdGlvbnMubG9jYWxpemF0aW9ucyksXHJcbiAgICAgICAgICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBTT1JUX0NPTVBBUkVfRlVOQyxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNvbXBhcmVGdW5jRmFjdG9yeVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogUVVFVUVfTUFOQUdFUixcclxuICAgICAgICAgIHVzZUNsYXNzOiBEZWZhdWx0UXVldWVNYW5hZ2VyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogT1RIRVJTX0dST1VQLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMub3RoZXJzR3JvdXAgfHwgJ0FicFVpOjpPdGhlcnNHcm91cCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBJbmNsdWRlTG9jYWxpemF0aW9uUmVzb3VyY2VzUHJvdmlkZXIsXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZvckNoaWxkKG9wdGlvbnMgPSB7fSBhcyBBQlAuQ2hpbGQpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFJvb3RDb3JlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogUm9vdENvcmVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IExPQ0FMSVpBVElPTlMsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIHVzZVZhbHVlOiBsb2NhbGl6YXRpb25Db250cmlidXRvcihvcHRpb25zLmxvY2FsaXphdGlvbnMpLFxyXG4gICAgICAgICAgZGVwczogW0xvY2FsaXphdGlvblNlcnZpY2VdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNGLE9B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QUk7b0JBQ1gsUUFBUSxFQUFFLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7b0JBQ3hELElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUM1QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBakZVLFVBQVU7K0dBQVYsVUFBVSxZQTFCVixjQUFjLGFBQWQsY0FBYzsrR0EwQmQsVUFBVSxZQUZYLGNBQWMsRUF4QmIsY0FBYzs7MkZBMEJkLFVBQVU7a0JBSnRCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSHR0cENsaWVudFhzcmZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0cy9uZy1tb2RlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcGxhY2VhYmxlUm91dGVDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVwbGFjZWFibGUtcm91dGUtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlck91dGxldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yb3V0ZXItb3V0bGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RlYm91bmNlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRm9ybVN1Ym1pdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbml0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2luaXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJlcGxhY2VhYmxlVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcmVwbGFjZWFibGUtdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3N0b3AtcHJvcGFnYXRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUm91dGVzSGFuZGxlciB9IGZyb20gJy4vaGFuZGxlcnMvcm91dGVzLmhhbmRsZXInO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Nb2R1bGUgfSBmcm9tICcuL2xvY2FsaXphdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XHJcbmltcG9ydCB7IFNvcnRQaXBlIH0gZnJvbSAnLi9waXBlcy9zb3J0LnBpcGUnO1xyXG5pbXBvcnQgeyBUb0luamVjdG9yUGlwZSB9IGZyb20gJy4vcGlwZXMvdG8taW5qZWN0b3IucGlwZSc7XHJcbmltcG9ydCB7IENvb2tpZUxhbmd1YWdlUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9jb29raWUtbGFuZ3VhZ2UucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBMb2NhbGVQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL2xvY2FsZS5wcm92aWRlcic7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT1RIRVJTX0dST1VQIH0gZnJvbSAnLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBsb2NhbGl6YXRpb25Db250cmlidXRvciwgTE9DQUxJWkFUSU9OUyB9IGZyb20gJy4vdG9rZW5zL2xvY2FsaXphdGlvbi50b2tlbic7XHJcbmltcG9ydCB7IENPUkVfT1BUSU9OUywgY29yZU9wdGlvbnNGYWN0b3J5IH0gZnJvbSAnLi90b2tlbnMvb3B0aW9ucy50b2tlbic7XHJcbmltcG9ydCB7IFRFTkFOVF9LRVkgfSBmcm9tICcuL3Rva2Vucy90ZW5hbnQta2V5LnRva2VuJztcclxuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4vdXRpbHMvY29tbW9uLXV0aWxzJztcclxuaW1wb3J0ICcuL3V0aWxzL2RhdGUtZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IGdldEluaXRpYWxEYXRhLCBsb2NhbGVJbml0aWFsaXplciB9IGZyb20gJy4vdXRpbHMvaW5pdGlhbC11dGlscyc7XHJcbmltcG9ydCB7IFNob3J0RGF0ZVRpbWVQaXBlIH0gZnJvbSAnLi9waXBlcy9zaG9ydC1kYXRlLXRpbWUucGlwZSc7XHJcbmltcG9ydCB7IFNob3J0VGltZVBpcGUgfSBmcm9tICcuL3BpcGVzL3Nob3J0LXRpbWUucGlwZSc7XHJcbmltcG9ydCB7IFNob3J0RGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL3Nob3J0LWRhdGUucGlwZSc7XHJcbmltcG9ydCB7IFNhZmVIdG1sUGlwZSB9IGZyb20gJy4vcGlwZXMvc2FmZS1odG1sLnBpcGUnO1xyXG5pbXBvcnQgeyBRVUVVRV9NQU5BR0VSIH0gZnJvbSAnLi90b2tlbnMvcXVldWUudG9rZW4nO1xyXG5pbXBvcnQgeyBEZWZhdWx0UXVldWVNYW5hZ2VyIH0gZnJvbSAnLi91dGlscy9xdWV1ZSc7XHJcbmltcG9ydCB7IEluY2x1ZGVMb2NhbGl6YXRpb25SZXNvdXJjZXNQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL2luY2x1ZGUtbG9jYWxpemF0aW9uLXJlc291cmNlcy5wcm92aWRlcic7XHJcbmltcG9ydCB7IFNPUlRfQ09NUEFSRV9GVU5DLCBjb21wYXJlRnVuY0ZhY3RvcnkgfSBmcm9tICcuL3Rva2Vucy9jb21wYXJlLWZ1bmMudG9rZW4nO1xyXG5pbXBvcnQge0RZTkFNSUNfTEFZT1VUU19UT0tFTn0gZnJvbSBcIi4vdG9rZW5zL2R5bmFtaWMtbGF5b3V0LnRva2VuXCI7XHJcbmltcG9ydCB7REVGQVVMVF9EWU5BTUlDX0xBWU9VVFN9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xyXG5cclxuY29uc3Qgc3RhbmRhbG9uZURpcmVjdGl2ZXMgPSBbXHJcbiAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxyXG4gIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcclxuICBGb3JEaXJlY3RpdmUsXHJcbiAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcclxuICBJbml0RGlyZWN0aXZlLFxyXG4gIFBlcm1pc3Npb25EaXJlY3RpdmUsXHJcbiAgUmVwbGFjZWFibGVUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXHJcbl07XHJcbi8qKlxyXG4gKiBCYXNlQ29yZU1vZHVsZSBpcyB0aGUgbW9kdWxlIHRoYXQgaG9sZHNcclxuICogYWxsIGltcG9ydHMsIGRlY2xhcmF0aW9ucywgZXhwb3J0cywgYW5kIGVudHJ5Q29tcG9uZW50c1xyXG4gKiBidXQgbm90IHRoZSBwcm92aWRlcnMuXHJcbiAqIFRoaXMgbW9kdWxlIHdpbGwgYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkIGJ5IGFsbCBvdGhlcnMuXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXHJcbiAgICBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQsXHJcbiAgICBEeW5hbWljTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFJvdXRlck91dGxldENvbXBvbmVudCxcclxuICAgIFNvcnRQaXBlLFxyXG4gICAgU2FmZUh0bWxQaXBlLFxyXG4gICAgVG9JbmplY3RvclBpcGUsXHJcbiAgICBTaG9ydERhdGVUaW1lUGlwZSxcclxuICAgIFNob3J0VGltZVBpcGUsXHJcbiAgICBTaG9ydERhdGVQaXBlLFxyXG4gICAgLi4uc3RhbmRhbG9uZURpcmVjdGl2ZXMsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gICAgLi4uc3RhbmRhbG9uZURpcmVjdGl2ZXMsXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFic3RyYWN0TmdNb2RlbENvbXBvbmVudCxcclxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXHJcbiAgICBSZXBsYWNlYWJsZVJvdXRlQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxyXG4gICAgU29ydFBpcGUsXHJcbiAgICBTYWZlSHRtbFBpcGUsXHJcbiAgICBUb0luamVjdG9yUGlwZSxcclxuICAgIFNob3J0RGF0ZVRpbWVQaXBlLFxyXG4gICAgU2hvcnRUaW1lUGlwZSxcclxuICAgIFNob3J0RGF0ZVBpcGUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtMb2NhbGl6YXRpb25QaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VDb3JlTW9kdWxlIHt9XHJcblxyXG4vKipcclxuICogUm9vdENvcmVNb2R1bGUgaXMgdGhlIG1vZHVsZSB0aGF0IHdpbGwgYmUgdXNlZCBhdCByb290IGxldmVsXHJcbiAqIGFuZCBpdCBpbnRyb2R1Y2VzIGltcG9ydHMgdXNlZnVsIGF0IHJvb3QgbGV2ZWwgKGUuZy4gTkdYUylcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZXhwb3J0czogW0Jhc2VDb3JlTW9kdWxlLCBMb2NhbGl6YXRpb25Nb2R1bGVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEJhc2VDb3JlTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudFhzcmZNb2R1bGUud2l0aE9wdGlvbnMoe1xyXG4gICAgICBjb29raWVOYW1lOiAnWFNSRi1UT0tFTicsXHJcbiAgICAgIGhlYWRlck5hbWU6ICdSZXF1ZXN0VmVyaWZpY2F0aW9uVG9rZW4nLFxyXG4gICAgfSksXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvb3RDb3JlTW9kdWxlIHt9XHJcblxyXG4vKipcclxuICogQ29yZU1vZHVsZSBpcyB0aGUgbW9kdWxlIHRoYXQgaXMgcHVibGljbHkgYXZhaWxhYmxlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGV4cG9ydHM6IFtCYXNlQ29yZU1vZHVsZV0sXHJcbiAgaW1wb3J0czogW0Jhc2VDb3JlTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnMgPSB7fSBhcyBBQlAuUm9vdCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Um9vdENvcmVNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBSb290Q29yZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgTG9jYWxlUHJvdmlkZXIsXHJcbiAgICAgICAgQ29va2llTGFuZ3VhZ2VQcm92aWRlcixcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiAnQ09SRV9PUFRJT05TJyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQ09SRV9PUFRJT05TLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogY29yZU9wdGlvbnNGYWN0b3J5LFxyXG4gICAgICAgICAgZGVwczogWydDT1JFX09QVElPTlMnXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0luamVjdG9yXSxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGdldEluaXRpYWxEYXRhLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbG9jYWxlSW5pdGlhbGl6ZXIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIGRlcHM6IFtMb2NhbGl6YXRpb25TZXJ2aWNlXSxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IG5vb3AsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIGRlcHM6IFtSb3V0ZXNIYW5kbGVyXSxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IG5vb3AsXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgeyBwcm92aWRlOiBURU5BTlRfS0VZLCB1c2VWYWx1ZTogb3B0aW9ucy50ZW5hbnRLZXkgfHwgJ19fdGVuYW50JyB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IExPQ0FMSVpBVElPTlMsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIHVzZVZhbHVlOiBsb2NhbGl6YXRpb25Db250cmlidXRvcihvcHRpb25zLmxvY2FsaXphdGlvbnMpLFxyXG4gICAgICAgICAgZGVwczogW0xvY2FsaXphdGlvblNlcnZpY2VdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogU09SVF9DT01QQVJFX0ZVTkMsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBjb21wYXJlRnVuY0ZhY3RvcnksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBRVUVVRV9NQU5BR0VSLFxyXG4gICAgICAgICAgdXNlQ2xhc3M6IERlZmF1bHRRdWV1ZU1hbmFnZXIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBPVEhFUlNfR1JPVVAsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucy5vdGhlcnNHcm91cCB8fCAnQWJwVWk6Ok90aGVyc0dyb3VwJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIEluY2x1ZGVMb2NhbGl6YXRpb25SZXNvdXJjZXNQcm92aWRlcixcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBEWU5BTUlDX0xBWU9VVFNfVE9LRU4sXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucy5keW5hbWljTGF5b3V0cyB8fCBERUZBVUxUX0RZTkFNSUNfTEFZT1VUU1xyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZm9yQ2hpbGQob3B0aW9ucyA9IHt9IGFzIEFCUC5DaGlsZCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Um9vdENvcmVNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBSb290Q29yZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTE9DQUxJWkFUSU9OUyxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IGxvY2FsaXphdGlvbkNvbnRyaWJ1dG9yKG9wdGlvbnMubG9jYWxpemF0aW9ucyksXHJcbiAgICAgICAgICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==