@o3r/components 10.3.0-prerelease.1 → 10.3.0-prerelease.10

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 (32) hide show
  1. package/builders/component-extractor/helpers/component/component-class.extractor.d.ts +1 -1
  2. package/builders/component-extractor/helpers/component/component-class.extractor.d.ts.map +1 -1
  3. package/builders/component-extractor/helpers/component/component-class.extractor.js +1 -1
  4. package/devkit/inspector/otter-inspector.helpers.d.ts.map +1 -1
  5. package/devkit/inspector/otter-inspector.service.d.ts.map +1 -1
  6. package/esm2022/devkit/components-devtools.message.service.mjs +3 -3
  7. package/esm2022/devkit/components-devtools.module.mjs +4 -4
  8. package/esm2022/devkit/inspector/otter-inspector.helpers.mjs +3 -2
  9. package/esm2022/devkit/inspector/otter-inspector.service.mjs +2 -3
  10. package/esm2022/rules-engine/placeholder.action-handler.mjs +3 -3
  11. package/esm2022/rules-engine/placeholder.rules-engine.effect.mjs +3 -3
  12. package/esm2022/rules-engine/placeholder.rules-engine.module.mjs +4 -4
  13. package/esm2022/stores/placeholder-request/placeholder-request.module.mjs +4 -4
  14. package/esm2022/stores/placeholder-template/placeholder-template.module.mjs +4 -4
  15. package/esm2022/tools/component-replacement/c11n.directive.mjs +3 -3
  16. package/esm2022/tools/component-replacement/c11n.mock.module.mjs +10 -10
  17. package/esm2022/tools/component-replacement/c11n.module.mjs +4 -4
  18. package/esm2022/tools/component-replacement/c11n.service.mjs +3 -3
  19. package/esm2022/tools/pipes/capitalize/capitalize.module.mjs +4 -4
  20. package/esm2022/tools/pipes/capitalize/capitalize.pipe.mjs +6 -6
  21. package/esm2022/tools/pipes/duration/duration.module.mjs +4 -4
  22. package/esm2022/tools/pipes/duration/duration.pipe.mjs +6 -6
  23. package/esm2022/tools/pipes/keep-white-space/keep-white-space.module.mjs +4 -4
  24. package/esm2022/tools/pipes/keep-white-space/keep-white-space.pipe.mjs +6 -6
  25. package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.module.mjs +4 -4
  26. package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.pipe.mjs +6 -6
  27. package/esm2022/tools/placeholder/placeholder.component.mjs +3 -3
  28. package/esm2022/tools/placeholder/placeholder.module.mjs +4 -4
  29. package/fesm2022/o3r-components-rules-engine.mjs +10 -10
  30. package/fesm2022/o3r-components.mjs +85 -85
  31. package/fesm2022/o3r-components.mjs.map +1 -1
  32. package/package.json +11 -11
@@ -29,7 +29,7 @@ export interface ComponentInformation {
29
29
  */
30
30
  export declare class ComponentClassExtractor {
31
31
  source: ts.SourceFile;
32
- private logger;
32
+ private readonly logger;
33
33
  filePath: string;
34
34
  /** List of interfaces that a configurable component can implement */
35
35
  readonly CONFIGURABLE_INTERFACES: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"component-class.extractor.d.ts","sourceRoot":"","sources":["../../../../../builders/component-extractor/helpers/component/component-class.extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAK1D,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAUf,MAAM,EAAE,EAAE,CAAC,UAAU;IAAE,OAAO,CAAC,MAAM;IAA4B,QAAQ,EAAE,MAAM;IARpG,qEAAqE;IACrE,SAAgB,uBAAuB,EAAE,MAAM,EAAE,CAA2C;IAE5F;;;;OAIG;gBACgB,MAAM,EAAE,EAAE,CAAC,UAAU,EAAU,MAAM,EAAE,OAAO,CAAC,SAAS,EAAS,QAAQ,EAAE,MAAM;IAGpG;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB;IAc7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAwD/B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACI,OAAO;CAkBf"}
1
+ {"version":3,"file":"component-class.extractor.d.ts","sourceRoot":"","sources":["../../../../../builders/component-extractor/helpers/component/component-class.extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAK1D,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAUf,MAAM,EAAE,EAAE,CAAC,UAAU;IAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA4B,QAAQ,EAAE,MAAM;IAR7G,qEAAqE;IACrE,SAAgB,uBAAuB,EAAE,MAAM,EAAE,CAA4E;IAE7H;;;;OAIG;gBACgB,MAAM,EAAE,EAAE,CAAC,UAAU,EAAmB,MAAM,EAAE,OAAO,CAAC,SAAS,EAAS,QAAQ,EAAE,MAAM;IAG7G;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB;IAc7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAwD/B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACI,OAAO;CAkBf"}
@@ -21,7 +21,7 @@ class ComponentClassExtractor {
21
21
  this.logger = logger;
22
22
  this.filePath = filePath;
23
23
  /** List of interfaces that a configurable component can implement */
24
- this.CONFIGURABLE_INTERFACES = ['DynamicConfigurable', 'Configurable'];
24
+ this.CONFIGURABLE_INTERFACES = ['DynamicConfigurable', 'DynamicConfigurableWithSignal', 'Configurable'];
25
25
  }
26
26
  /**
27
27
  * Indicates if the given decorator is a component decorator.
@@ -1 +1 @@
1
- {"version":3,"file":"otter-inspector.helpers.d.ts","sourceRoot":"","sources":["../../../src/devkit/inspector/otter-inspector.helpers.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAAU,OAAO,GAAG,SAAS,GAAG,IAAI,oBAE3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,GAAG,QAExC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAwB7H;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,SAAU,OAAO,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAsD,CAAC;AAEzI;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAwBjI;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAU,OAAO,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAA0D,CAAC;AAE/I;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,2BAA4B,GAAG,QAAQ,OAAO,KAAG,sBAUtF,CAAC"}
1
+ {"version":3,"file":"otter-inspector.helpers.d.ts","sourceRoot":"","sources":["../../../src/devkit/inspector/otter-inspector.helpers.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAAU,OAAO,GAAG,SAAS,GAAG,IAAI,oBAE3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,GAAG,QAExC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAwB7H;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,SAAU,OAAO,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAsD,CAAC;AAEzI;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAwBjI;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAU,OAAO,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAA0D,CAAC;AAE/I;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,2BAA4B,GAAG,QAAQ,OAAO,KAAG,sBAWtF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"otter-inspector.service.d.ts","sourceRoot":"","sources":["../../../src/devkit/inspector/otter-inspector.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EAA2D,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQ5H;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAoC;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+B;IACnE,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAsE;IAErH;;OAEG;IACI,+BAA+B,EAAE,UAAU,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAsD;;IAM5I,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACI,gBAAgB;IAoCvB;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,OAAO;IAQlC,cAAc;CAMtB"}
1
+ {"version":3,"file":"otter-inspector.service.d.ts","sourceRoot":"","sources":["../../../src/devkit/inspector/otter-inspector.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EAA2D,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQ5H;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAoC;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+B;IACnE,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAsE;IAErH;;OAEG;IACI,+BAA+B,EAAE,UAAU,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAsD;;IAM5I,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACI,gBAAgB;IAoCvB;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,OAAO;IAQlC,cAAc;CAMtB"}
@@ -94,10 +94,10 @@ export class ComponentsDevtoolsMessageService {
94
94
  ngOnDestroy() {
95
95
  this.subscriptions.unsubscribe();
96
96
  }
97
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsMessageService, providedIn: 'root' }); }
97
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ComponentsDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ComponentsDevtoolsMessageService, providedIn: 'root' }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsMessageService, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ComponentsDevtoolsMessageService, decorators: [{
101
101
  type: Injectable,
102
102
  args: [{
103
103
  providedIn: 'root'
@@ -17,14 +17,14 @@ export class ComponentsDevtoolsModule {
17
17
  ]
18
18
  };
19
19
  }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsModule, imports: [StoreModule] }); }
22
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsModule, providers: [
20
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ComponentsDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: ComponentsDevtoolsModule, imports: [StoreModule] }); }
22
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ComponentsDevtoolsModule, providers: [
23
23
  { provide: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, useValue: OTTER_COMPONENTS_DEVTOOLS_DEFAULT_OPTIONS },
24
24
  ComponentsDevtoolsMessageService
25
25
  ], imports: [StoreModule] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ComponentsDevtoolsModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ComponentsDevtoolsModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -104,10 +104,11 @@ export const getOtterLikeComponentInfo = (componentClassInstance, host) => {
104
104
  const translations = getTranslations(host);
105
105
  const analytics = getAnalyticEvents(host);
106
106
  return {
107
- componentName: componentClassInstance.constructor.name,
107
+ // Cannot use anymore `constructor.name` else all components are named `_a`
108
+ componentName: componentClassInstance.constructor.ɵcmp?.debugInfo?.className || componentClassInstance.constructor.name,
108
109
  configId,
109
110
  translations,
110
111
  analytics
111
112
  };
112
113
  };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3IuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFlekQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQWdDLEVBQW1CLEVBQUU7SUFDL0UsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQWEsRUFBRSxFQUFFO0lBQzNDLE9BQU8sUUFBUSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsUUFBUSxDQUFDO0FBQzVELENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQW9CLEVBQUUsR0FBOEI7SUFDckYsTUFBTSxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxNQUFNLGVBQWUsR0FBMEMsZ0JBQWdCLENBQUM7SUFDaEYsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzlCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBNkMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUs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Z0IsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkksSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFvQixFQUF3QyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFFL0k7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLHNCQUEyQixFQUFFLElBQWEsRUFBMEIsRUFBRTtJQUM5RyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTztRQUNMLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsSUFBSTtRQUN0RCxRQUFRO1FBQ1IsWUFBWTtRQUNaLFNBQVM7S0FDVixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWV9IGZyb20gJ0BvM3IvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB7XG4gIC8qKiBDb250YWluZXIgaW5mb3JtYXRpb24gKi9cbiAgY29udGFpbmVyPzogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbztcbiAgLyoqIENvbmZpZ3VyYXRpb24gSUQgKi9cbiAgY29uZmlnSWQ/OiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgbmFtZSAqL1xuICBjb21wb25lbnROYW1lOiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgdHJhbnNsYXRpb24gKi9cbiAgdHJhbnNsYXRpb25zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xuICAvKiogQ29tcG9uZW50IGFuYWx5dGljcyAqL1xuICBhbmFseXRpY3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG59XG5cbi8qKlxuICogT3R0ZXIgaW5zcGVjdG9yIGNzcyBjbGFzc1xuICovXG5leHBvcnQgY29uc3QgSU5TUEVDVE9SX0NMQVNTID0gJ290dGVyLWRldnRvb2xzLWluc3BlY3Rvcic7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgbm9kZSBpcyBhbiBPdHRlciBjb250YWluZXJcbiAqIEBwYXJhbSBub2RlIEVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIG5vZGUgaXMgYW4gT3R0ZXIgY29udGFpbmVyXG4gKi9cbmV4cG9ydCBjb25zdCBpc0NvbnRhaW5lciA9IChub2RlOiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IG5vZGUgaXMgRWxlbWVudCA9PiB7XG4gIHJldHVybiAhIW5vZGU/LnRhZ05hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnY29udCcpO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgdGhlIGNvbmZpZyBpZCBvZiBhIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHBhcmFtIGluc3RhbmNlIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHJldHVybnMgdGhlIGNvbmZpZyBpZCBvZiB0aGUgY29tcG9uZW50IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb25maWdJZCA9IChpbnN0YW5jZTogYW55KSA9PiB7XG4gIHJldHVybiBpbnN0YW5jZVtvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWVdPy5jb25maWdJZDtcbn07XG5cbi8qKlxuICogUmVjdXJzaXZlIG1ldGhvZCB0byBkZXRlcm1pbiB0aGUgdHJhbnNsYXRpb25zIG9mIGEgbm9kZVxuICogQHBhcmFtIG5vZGUgSFRNTEVsZW1lbnQgdG8gY2hlY2tcbiAqIEBwYXJhbSByZWMgcmVjdXJzaXZlIG1ldGhvZFxuICogQHJldHVybnMgdGhlIHRyYXNuc2xhdGlvbnMgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNsYXRpb25zUmVjKG5vZGU6IEVsZW1lbnQgfCBudWxsLCByZWM6IHR5cGVvZiBnZXRUcmFuc2xhdGlvbnNSZWMpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQge1xuICBjb25zdCBhbmd1bGFyRGV2VG9vbHMgPSAod2luZG93IGFzIGFueSkubmc7XG4gIGNvbnN0IG8zckluZm9Qcm9wZXJ0eTogdHlwZW9mIG90dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZSA9ICdfX290dGVyLWluZm9fXyc7XG4gIGlmICghbm9kZSB8fCAhYW5ndWxhckRldlRvb2xzKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGNvbXBvbmVudCA9IGFuZ3VsYXJEZXZUb29scy5nZXRDb21wb25lbnQobm9kZSk7XG4gIGNvbnN0IHN1YlRyYW5zbGF0aW9uczogKFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiB8IHVuZGVmaW5lZClbXSA9IEFycmF5LmZyb20obm9kZS5jaGlsZHJlbikubWFwKChjaGlsZCkgPT4gcmVjKGNoaWxkLCByZWMpKTtcbiAgY29uc3QgdHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgc3ViVHJhbnNsYXRpb25zLmZvckVhY2goKHMpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhzIHx8IHt9KS5mb3JFYWNoKChbaywgdl0pID0+IHtcbiAgICAgIGlmICh2Lmxlbmd0aCkge1xuICAgICAgICB0cmFuc2xhdGlvbnNba10gPSB2O1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGNvbXBvbmVudCkge1xuICAgIGNvbnN0IGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IGNvbXBvbmVudC5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIGNvbnN0IGNvbXBvbmVudFRyYW5zbGF0aW9ucyA9IE9iamVjdC52YWx1ZXM8c3RyaW5nPihjb21wb25lbnRbbzNySW5mb1Byb3BlcnR5XT8udHJhbnNsYXRpb25zIHx8IHt9KS5maWx0ZXIoKHQpID0+IHR5cGVvZiB0ID09PSAnc3RyaW5nJyk7XG4gICAgaWYgKGNvbXBvbmVudFRyYW5zbGF0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRyYW5zbGF0aW9uc1tjb21wb25lbnROYW1lXSA9IGNvbXBvbmVudFRyYW5zbGF0aW9ucztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykubGVuZ3RoID8gdHJhbnNsYXRpb25zIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIERldGVybWluZSB0aGUgdHJhbnNsYXRpb25zIG9mIGEgbm9kZVxuICogQHBhcmFtIG5vZGUgSFRNTEVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRoZSB0cmFuc2xhdGlvbnMgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNsYXRpb25zID0gKG5vZGU6IEVsZW1lbnQgfCBudWxsKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkID0+IGdldFRyYW5zbGF0aW9uc1JlYyhub2RlLCBnZXRUcmFuc2xhdGlvbnMpO1xuXG4vKipcbiAqIFJlY3Vyc2l2ZSBtZXRob2QgdG8gZGV0ZXJtaW5lIHRoZSBhbmFseXRpY3Mgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBFbGVtZW50IHRvIGNoZWNrXG4gKiBAcGFyYW0gcmVjIHJlY3Vyc2l2ZSBtZXRob2RcbiAqIEByZXR1cm5zIHRoZSBhbmFseXRpY3MgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW5hbHl0aWNFdmVudHNSZWMobm9kZTogRWxlbWVudCB8IG51bGwsIHJlYzogdHlwZW9mIGdldEFuYWx5dGljRXZlbnRzUmVjKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYW5ndWxhckRldlRvb2xzID0gKHdpbmRvdyBhcyBhbnkpLm5nO1xuICBjb25zdCBvM3JJbmZvUHJvcGVydHk6IHR5cGVvZiBvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWUgPSAnX19vdHRlci1pbmZvX18nO1xuICBpZiAoIW5vZGUgfHwgIWFuZ3VsYXJEZXZUb29scykge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBjb21wb25lbnQgPSBhbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpO1xuICBjb25zdCBzdWJFdmVudHMgPSBBcnJheS5mcm9tKG5vZGUuY2hpbGRyZW4pLm1hcCgoY2hpbGQpID0+IHJlYyhjaGlsZCwgcmVjKSk7XG4gIGNvbnN0IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG4gIHN1YkV2ZW50cy5mb3JFYWNoKChzKSA9PiB7XG4gICAgT2JqZWN0LmVudHJpZXMocyB8fCB7fSkuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICBpZiAodi5sZW5ndGgpIHtcbiAgICAgICAgZXZlbnRzW2tdID0gdjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50W28zckluZm9Qcm9wZXJ0eV0pIHtcbiAgICBjb25zdCBjb21wb25lbnROYW1lOiBzdHJpbmcgPSBjb21wb25lbnQuY29uc3RydWN0b3IubmFtZTtcbiAgICBjb25zdCBjb21wb25lbnRFdmVudHM6IHN0cmluZ1tdID0gT2JqZWN0LnZhbHVlczxhbnk+KGNvbXBvbmVudC5hbmFseXRpY3NFdmVudHMgfHwge30pLm1hcCgoZXZlbnRDb25zdHJ1Y3RvcikgPT4gZXZlbnRDb25zdHJ1Y3Rvci5uYW1lKTtcbiAgICBpZiAoY29tcG9uZW50RXZlbnRzLmxlbmd0aCkge1xuICAgICAgZXZlbnRzW2NvbXBvbmVudE5hbWVdID0gY29tcG9uZW50RXZlbnRzO1xuICAgIH1cbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXMoZXZlbnRzKS5sZW5ndGggPyBldmVudHMgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSBhbmFseXRpY3Mgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBFbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB0aGUgYW5hbHl0aWNzIGFzc29jaWF0ZWQgdG8gdGhlaXIgY29tcG9uZW50IG5hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFuYWx5dGljRXZlbnRzID0gKG5vZGU6IEVsZW1lbnQgfCBudWxsKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkID0+IGdldEFuYWx5dGljRXZlbnRzUmVjKG5vZGUsIGdldEFuYWx5dGljRXZlbnRzKTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgYWxsIGluZm8gZnJvbSBhbiBPdHRlciBjb21wb25lbnRcbiAqIEBwYXJhbSBjb21wb25lbnRDbGFzc0luc3RhbmNlIGNvbXBvbmVudCBpbnN0YW5jZVxuICogQHBhcmFtIGhvc3QgSFRNTCBlbGVtZW50IGhvc3RpbmcgdGhlIGNvbXBvbmVudFxuICogQHJldHVybnMgYWxsIGluZm8gZnJvbSBhbiBPdHRlciBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8gPSAoY29tcG9uZW50Q2xhc3NJbnN0YW5jZTogYW55LCBob3N0OiBFbGVtZW50KTogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbyA9PiB7XG4gIGNvbnN0IGNvbmZpZ0lkID0gZ2V0Q29uZmlnSWQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSk7XG4gIGNvbnN0IHRyYW5zbGF0aW9ucyA9IGdldFRyYW5zbGF0aW9ucyhob3N0KTtcbiAgY29uc3QgYW5hbHl0aWNzID0gZ2V0QW5hbHl0aWNFdmVudHMoaG9zdCk7XG4gIHJldHVybiB7XG4gICAgY29tcG9uZW50TmFtZTogY29tcG9uZW50Q2xhc3NJbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgIGNvbmZpZ0lkLFxuICAgIHRyYW5zbGF0aW9ucyxcbiAgICBhbmFseXRpY3NcbiAgfTtcbn07XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3IuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFlekQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQWdDLEVBQW1CLEVBQUU7SUFDL0UsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQWEsRUFBRSxFQUFFO0lBQzNDLE9BQU8sUUFBUSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsUUFBUSxDQUFDO0FBQzVELENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQW9CLEVBQUUsR0FBOEI7SUFDckYsTUFBTSxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxNQUFNLGVBQWUsR0FBMEMsZ0JBQWdCLENBQUM7SUFDaEYsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzlCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBNkMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUs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Z0IsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkksSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFvQixFQUF3QyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFFL0k7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLHNCQUEyQixFQUFFLElBQWEsRUFBMEIsRUFBRTtJQUM5RyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTztRQUNMLDJFQUEyRTtRQUMzRSxhQUFhLEVBQUUsc0JBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxJQUFJLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJO1FBQ3ZILFFBQVE7UUFDUixZQUFZO1FBQ1osU0FBUztLQUNWLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge290dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZX0gZnJvbSAnQG8zci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBPdHRlckxpa2VDb21wb25lbnRJbmZvIHtcbiAgLyoqIENvbnRhaW5lciBpbmZvcm1hdGlvbiAqL1xuICBjb250YWluZXI/OiBPdHRlckxpa2VDb21wb25lbnRJbmZvO1xuICAvKiogQ29uZmlndXJhdGlvbiBJRCAqL1xuICBjb25maWdJZD86IHN0cmluZztcbiAgLyoqIENvbXBvbmVudCBuYW1lICovXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZztcbiAgLyoqIENvbXBvbmVudCB0cmFuc2xhdGlvbiAqL1xuICB0cmFuc2xhdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gIC8qKiBDb21wb25lbnQgYW5hbHl0aWNzICovXG4gIGFuYWx5dGljcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbn1cblxuLyoqXG4gKiBPdHRlciBpbnNwZWN0b3IgY3NzIGNsYXNzXG4gKi9cbmV4cG9ydCBjb25zdCBJTlNQRUNUT1JfQ0xBU1MgPSAnb3R0ZXItZGV2dG9vbHMtaW5zcGVjdG9yJztcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSBub2RlIGlzIGFuIE90dGVyIGNvbnRhaW5lclxuICogQHBhcmFtIG5vZGUgRWxlbWVudCB0byBjaGVja1xuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgbm9kZSBpcyBhbiBPdHRlciBjb250YWluZXJcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ29udGFpbmVyID0gKG5vZGU6IEVsZW1lbnQgfCB1bmRlZmluZWQgfCBudWxsKTogbm9kZSBpcyBFbGVtZW50ID0+IHtcbiAgcmV0dXJuICEhbm9kZT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdjb250Jyk7XG59O1xuXG4vKipcbiAqIERldGVybWluZSB0aGUgY29uZmlnIGlkIG9mIGEgY29tcG9uZW50IGluc3RhbmNlXG4gKiBAcGFyYW0gaW5zdGFuY2UgY29tcG9uZW50IGluc3RhbmNlXG4gKiBAcmV0dXJucyB0aGUgY29uZmlnIGlkIG9mIHRoZSBjb21wb25lbnQgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGdldENvbmZpZ0lkID0gKGluc3RhbmNlOiBhbnkpID0+IHtcbiAgcmV0dXJuIGluc3RhbmNlW290dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZV0/LmNvbmZpZ0lkO1xufTtcblxuLyoqXG4gKiBSZWN1cnNpdmUgbWV0aG9kIHRvIGRldGVybWluIHRoZSB0cmFuc2xhdGlvbnMgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBIVE1MRWxlbWVudCB0byBjaGVja1xuICogQHBhcmFtIHJlYyByZWN1cnNpdmUgbWV0aG9kXG4gKiBAcmV0dXJucyB0aGUgdHJhc25zbGF0aW9ucyBhc3NvY2lhdGVkIHRvIHRoZWlyIGNvbXBvbmVudCBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc2xhdGlvbnNSZWMobm9kZTogRWxlbWVudCB8IG51bGwsIHJlYzogdHlwZW9mIGdldFRyYW5zbGF0aW9uc1JlYyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGFuZ3VsYXJEZXZUb29scyA9ICh3aW5kb3cgYXMgYW55KS5uZztcbiAgY29uc3QgbzNySW5mb1Byb3BlcnR5OiB0eXBlb2Ygb3R0ZXJDb21wb25lbnRJbmZvUHJvcGVydHlOYW1lID0gJ19fb3R0ZXItaW5mb19fJztcbiAgaWYgKCFub2RlIHx8ICFhbmd1bGFyRGV2VG9vbHMpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgY29tcG9uZW50ID0gYW5ndWxhckRldlRvb2xzLmdldENvbXBvbmVudChub2RlKTtcbiAgY29uc3Qgc3ViVHJhbnNsYXRpb25zOiAoUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkKVtdID0gQXJyYXkuZnJvbShub2RlLmNoaWxkcmVuKS5tYXAoKGNoaWxkKSA9PiByZWMoY2hpbGQsIHJlYykpO1xuICBjb25zdCB0cmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9O1xuICBzdWJUcmFuc2xhdGlvbnMuZm9yRWFjaCgocykgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKHMgfHwge30pLmZvckVhY2goKFtrLCB2XSkgPT4ge1xuICAgICAgaWYgKHYubGVuZ3RoKSB7XG4gICAgICAgIHRyYW5zbGF0aW9uc1trXSA9IHY7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpZiAoY29tcG9uZW50KSB7XG4gICAgY29uc3QgY29tcG9uZW50TmFtZTogc3RyaW5nID0gY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgY29uc3QgY29tcG9uZW50VHJhbnNsYXRpb25zID0gT2JqZWN0LnZhbHVlczxzdHJpbmc+KGNvbXBvbmVudFtvM3JJbmZvUHJvcGVydHldPy50cmFuc2xhdGlvbnMgfHwge30pLmZpbHRlcigodCkgPT4gdHlwZW9mIHQgPT09ICdzdHJpbmcnKTtcbiAgICBpZiAoY29tcG9uZW50VHJhbnNsYXRpb25zLmxlbmd0aCkge1xuICAgICAgdHJhbnNsYXRpb25zW2NvbXBvbmVudE5hbWVdID0gY29tcG9uZW50VHJhbnNsYXRpb25zO1xuICAgIH1cbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXModHJhbnNsYXRpb25zKS5sZW5ndGggPyB0cmFuc2xhdGlvbnMgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSB0cmFuc2xhdGlvbnMgb2YgYSBub2RlXG4gKiBAcGFyYW0gbm9kZSBIVE1MRWxlbWVudCB0byBjaGVja1xuICogQHJldHVybnMgdGhlIHRyYW5zbGF0aW9ucyBhc3NvY2lhdGVkIHRvIHRoZWlyIGNvbXBvbmVudCBuYW1lXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUcmFuc2xhdGlvbnMgPSAobm9kZTogRWxlbWVudCB8IG51bGwpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQgPT4gZ2V0VHJhbnNsYXRpb25zUmVjKG5vZGUsIGdldFRyYW5zbGF0aW9ucyk7XG5cbi8qKlxuICogUmVjdXJzaXZlIG1ldGhvZCB0byBkZXRlcm1pbmUgdGhlIGFuYWx5dGljcyBvZiBhIG5vZGVcbiAqIEBwYXJhbSBub2RlIEVsZW1lbnQgdG8gY2hlY2tcbiAqIEBwYXJhbSByZWMgcmVjdXJzaXZlIG1ldGhvZFxuICogQHJldHVybnMgdGhlIGFuYWx5dGljcyBhc3NvY2lhdGVkIHRvIHRoZWlyIGNvbXBvbmVudCBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbmFseXRpY0V2ZW50c1JlYyhub2RlOiBFbGVtZW50IHwgbnVsbCwgcmVjOiB0eXBlb2YgZ2V0QW5hbHl0aWNFdmVudHNSZWMpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQge1xuICBjb25zdCBhbmd1bGFyRGV2VG9vbHMgPSAod2luZG93IGFzIGFueSkubmc7XG4gIGNvbnN0IG8zckluZm9Qcm9wZXJ0eTogdHlwZW9mIG90dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZSA9ICdfX290dGVyLWluZm9fXyc7XG4gIGlmICghbm9kZSB8fCAhYW5ndWxhckRldlRvb2xzKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGNvbXBvbmVudCA9IGFuZ3VsYXJEZXZUb29scy5nZXRDb21wb25lbnQobm9kZSk7XG4gIGNvbnN0IHN1YkV2ZW50cyA9IEFycmF5LmZyb20obm9kZS5jaGlsZHJlbikubWFwKChjaGlsZCkgPT4gcmVjKGNoaWxkLCByZWMpKTtcbiAgY29uc3QgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgc3ViRXZlbnRzLmZvckVhY2goKHMpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhzIHx8IHt9KS5mb3JFYWNoKChbaywgdl0pID0+IHtcbiAgICAgIGlmICh2Lmxlbmd0aCkge1xuICAgICAgICBldmVudHNba10gPSB2O1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnRbbzNySW5mb1Byb3BlcnR5XSkge1xuICAgIGNvbnN0IGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IGNvbXBvbmVudC5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIGNvbnN0IGNvbXBvbmVudEV2ZW50czogc3RyaW5nW10gPSBPYmplY3QudmFsdWVzPGFueT4oY29tcG9uZW50LmFuYWx5dGljc0V2ZW50cyB8fCB7fSkubWFwKChldmVudENvbnN0cnVjdG9yKSA9PiBldmVudENvbnN0cnVjdG9yLm5hbWUpO1xuICAgIGlmIChjb21wb25lbnRFdmVudHMubGVuZ3RoKSB7XG4gICAgICBldmVudHNbY29tcG9uZW50TmFtZV0gPSBjb21wb25lbnRFdmVudHM7XG4gICAgfVxuICB9XG4gIHJldHVybiBPYmplY3Qua2V5cyhldmVudHMpLmxlbmd0aCA/IGV2ZW50cyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgdGhlIGFuYWx5dGljcyBvZiBhIG5vZGVcbiAqIEBwYXJhbSBub2RlIEVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRoZSBhbmFseXRpY3MgYXNzb2NpYXRlZCB0byB0aGVpciBjb21wb25lbnQgbmFtZVxuICovXG5leHBvcnQgY29uc3QgZ2V0QW5hbHl0aWNFdmVudHMgPSAobm9kZTogRWxlbWVudCB8IG51bGwpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQgPT4gZ2V0QW5hbHl0aWNFdmVudHNSZWMobm9kZSwgZ2V0QW5hbHl0aWNFdmVudHMpO1xuXG4vKipcbiAqIERldGVybWluZSBhbGwgaW5mbyBmcm9tIGFuIE90dGVyIGNvbXBvbmVudFxuICogQHBhcmFtIGNvbXBvbmVudENsYXNzSW5zdGFuY2UgY29tcG9uZW50IGluc3RhbmNlXG4gKiBAcGFyYW0gaG9zdCBIVE1MIGVsZW1lbnQgaG9zdGluZyB0aGUgY29tcG9uZW50XG4gKiBAcmV0dXJucyBhbGwgaW5mbyBmcm9tIGFuIE90dGVyIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgZ2V0T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyA9IChjb21wb25lbnRDbGFzc0luc3RhbmNlOiBhbnksIGhvc3Q6IEVsZW1lbnQpOiBPdHRlckxpa2VDb21wb25lbnRJbmZvID0+IHtcbiAgY29uc3QgY29uZmlnSWQgPSBnZXRDb25maWdJZChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgY29uc3QgdHJhbnNsYXRpb25zID0gZ2V0VHJhbnNsYXRpb25zKGhvc3QpO1xuICBjb25zdCBhbmFseXRpY3MgPSBnZXRBbmFseXRpY0V2ZW50cyhob3N0KTtcbiAgcmV0dXJuIHtcbiAgICAvLyBDYW5ub3QgdXNlIGFueW1vcmUgYGNvbnN0cnVjdG9yLm5hbWVgIGVsc2UgYWxsIGNvbXBvbmVudHMgYXJlIG5hbWVkIGBfYWBcbiAgICBjb21wb25lbnROYW1lOiBjb21wb25lbnRDbGFzc0luc3RhbmNlLmNvbnN0cnVjdG9yLsm1Y21wPy5kZWJ1Z0luZm8/LmNsYXNzTmFtZSB8fCBjb21wb25lbnRDbGFzc0luc3RhbmNlLmNvbnN0cnVjdG9yLm5hbWUsXG4gICAgY29uZmlnSWQsXG4gICAgdHJhbnNsYXRpb25zLFxuICAgIGFuYWx5dGljc1xuICB9O1xufTtcbiJdfQ==
@@ -91,8 +91,7 @@ export class OtterInspectorService {
91
91
  this.inspectorDiv.style.height = `${rect.height}px`;
92
92
  this.inspectorDiv.style.top = `${rect.top}px`;
93
93
  this.inspectorDiv.style.left = `${rect.left}px`;
94
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
95
- this.inspectorDiv.firstChild.textContent = `<${this.selectedComponent.component.constructor.name}>`;
94
+ this.inspectorDiv.firstChild.textContent = `<${this.selectedComponent.componentName}>`;
96
95
  }
97
96
  }
98
97
  unHighlight() {
@@ -164,4 +163,4 @@ export class OtterInspectorService {
164
163
  window.removeEventListener('mouseout', this.cancelEventCallback, true);
165
164
  }
166
165
  }
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUEwQixNQUFNLDJCQUEyQixDQUFDO0FBUTVIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVppQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELHlCQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELGlCQUFZLEdBQTBCLElBQUksQ0FBQztRQUNsQyxtQ0FBOEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsU0FBUyxDQUFDLENBQUM7UUFFckg7O1dBRUc7UUFDSSxvQ0FBK0IsR0FBbUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRzFJLElBQUksQ0FBQyxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQW9CLENBQUM7SUFDOUQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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QVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBa0I7UUFDdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmcgfSBmcm9tICcuL25nJztcbmltcG9ydCB7IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8sIElOU1BFQ1RPUl9DTEFTUywgaXNDb250YWluZXIsIE90dGVyTGlrZUNvbXBvbmVudEluZm8gfSBmcm9tICcuL290dGVyLWluc3BlY3Rvci5oZWxwZXJzJztcblxuXG5pbnRlcmZhY2UgQ29tcG9uZW50SW5mbyBleHRlbmRzIE90dGVyTGlrZUNvbXBvbmVudEluZm8ge1xuICBjb21wb25lbnQ6IGFueTtcbiAgaG9zdDogRWxlbWVudDtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSB0aGUgY3VzdG9tIGluc3BlY3RvciBmb3IgdGhlIE90dGVyIERldnRvb2xzIENocm9tZSBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBPdHRlckluc3BlY3RvclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJEZXZUb29sczogTmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrID0gdGhpcy5lbGVtZW50TW91c2VPdmVyLmJpbmQodGhpcyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudENsaWNrQ2FsbGJhY2sgPSB0aGlzLmVsZW1lbnRDbGljay5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbmNlbEV2ZW50Q2FsbGJhY2sgPSB0aGlzLmNhbmNlbEV2ZW50LmJpbmQodGhpcyk7XG4gIHByaXZhdGUgc2VsZWN0ZWRDb21wb25lbnQ6IENvbXBvbmVudEluZm8gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaW5zcGVjdG9yRGl2OiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IG90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU3RyZWFtIG9mIGNvbXBvbmVudCBpbmZvIHRvIGJlIHNlbnQgdG8gdGhlIGV4dGVuc2lvbiBhcHAuXG4gICAqL1xuICBwdWJsaWMgb3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50JDogT2JzZXJ2YWJsZTxPdHRlckxpa2VDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkPiA9IHRoaXMub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYW5ndWxhckRldlRvb2xzID0gKHdpbmRvdyBhcyBhbnkpLm5nIGFzIE5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydEluc3BlY3RpbmcoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHRoaXMuZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmVsZW1lbnRDbGlja0NhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCB0aGlzLmNhbmNlbEV2ZW50Q2FsbGJhY2ssIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbGVtZW50Q2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQ29tcG9uZW50IHx8ICF0aGlzLmFuZ3VsYXJEZXZUb29scykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3RlZENvbXBvbmVudC5ob3N0LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgcGFyZW50ID0gcGFyZW50RWxlbWVudCAmJiAodGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KHBhcmVudEVsZW1lbnQpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChwYXJlbnRFbGVtZW50KSk7XG4gICAgY29uc3QgcGFyZW50SG9zdCA9IHBhcmVudCAmJiB0aGlzLmFuZ3VsYXJEZXZUb29scy5nZXRIb3N0RWxlbWVudChwYXJlbnQpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGlzQ29udGFpbmVyKHBhcmVudEhvc3QpXG4gICAgICA/IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8ocGFyZW50LCBwYXJlbnRIb3N0KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgeyBjb21wb25lbnQsIGhvc3QsIC4uLmluZm9Ub0JlU2VudH0gPSB0aGlzLnNlbGVjdGVkQ29tcG9uZW50O1xuXG4gICAgdGhpcy5vdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQubmV4dCh7XG4gICAgICAuLi5pbmZvVG9CZVNlbnQsXG4gICAgICBjb250YWluZXJcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPdHRlckxpa2VDb21wb25lbnQoaW5mbzogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbykge1xuICAgIGNvbnN0IGhhc0NvbmZpZ0lkID0gISFpbmZvLmNvbmZpZ0lkO1xuICAgIGNvbnN0IGhhc1RyYW5zbGF0aW9ucyA9ICEhaW5mby50cmFuc2xhdGlvbnM/Lmxlbmd0aDtcbiAgICBjb25zdCBoYXNBbmFseXRpY3MgPSAhIU9iamVjdC5rZXlzKGluZm8uYW5hbHl0aWNzIHx8IHt9KS5sZW5ndGg7XG4gICAgcmV0dXJuIGhhc0NvbmZpZ0lkIHx8IGhhc1RyYW5zbGF0aW9ucyB8fCBoYXNBbmFseXRpY3M7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDb21wb25lbnRJbmZvKG5vZGU6IEVsZW1lbnQpOiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuYW5ndWxhckRldlRvb2xzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wb25lbnRDbGFzc0luc3RhbmNlID0gdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChub2RlKTtcbiAgICBsZXQgbzNyTGlrZUNvbXBvbmVudEluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm87XG4gICAgbGV0IGlzTzNyTGlrZTogYm9vbGVhbjtcbiAgICBpZiAoIWNvbXBvbmVudENsYXNzSW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZG8ge1xuICAgICAgbzNyTGlrZUNvbXBvbmVudEluZm8gPSBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKGNvbXBvbmVudENsYXNzSW5zdGFuY2UsIHRoaXMuYW5ndWxhckRldlRvb2xzLmdldEhvc3RFbGVtZW50KGNvbXBvbmVudENsYXNzSW5zdGFuY2UpKTtcbiAgICAgIGlzTzNyTGlrZSA9IHRoaXMuaXNPdHRlckxpa2VDb21wb25lbnQobzNyTGlrZUNvbXBvbmVudEluZm8pO1xuICAgICAgaWYgKCFpc08zckxpa2UpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3NJbnN0YW5jZSA9IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghaXNPM3JMaWtlICYmIGNvbXBvbmVudENsYXNzSW5zdGFuY2UpO1xuICAgIGlmIChpc08zckxpa2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50Q2xhc3NJbnN0YW5jZSxcbiAgICAgICAgaG9zdDogdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSksXG4gICAgICAgIC4uLm8zckxpa2VDb21wb25lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudE1vdXNlT3ZlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFdmVudChlKTtcblxuICAgIGNvbnN0IGVsID0gZS50YXJnZXQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChlbCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDb21wb25lbnQgPSB0aGlzLmZpbmRDb21wb25lbnRJbmZvKGVsKTtcbiAgICAgIGlmIChzZWxlY3RlZENvbXBvbmVudD8uaG9zdCAhPT0gdGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCkge1xuICAgICAgICB0aGlzLnVuSGlnaGxpZ2h0KCk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0KHNlbGVjdGVkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodChzZWxlY3RlZENvbXBvbmVudDogQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSBzZWxlY3RlZENvbXBvbmVudDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLndpZHRoID0gYCR7cmVjdC53aWR0aH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSBgJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSBgJHtyZWN0LnRvcH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gYCR7cmVjdC5sZWZ0fXB4YDtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LmZpcnN0Q2hpbGQhLnRleHRDb250ZW50ID0gYDwke3RoaXMuc2VsZWN0ZWRDb21wb25lbnQuY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWV9PmA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1bkhpZ2hsaWdodCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgdGhpcy5pbnNwZWN0b3JEaXYuc3R5bGUud2lkdGggPSAnMCc7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSAnMCc7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSAnMCc7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ29tcG9uZW50ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5jZWxFdmVudChlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIHRoZSBpbnNwZWN0b3IgZGl2IGFuZCBhZGQgaXQgdG8gdGhlIERPTS5cbiAgICovXG4gIHB1YmxpYyBwcmVwYXJlSW5zcGVjdG9yKCkge1xuICAgIGlmICh0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpbnNwZWN0b3JDc3MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgIGluc3BlY3RvckNzcy50ZXh0Q29udGVudCA9IGBcbiAgICAgIC4ke0lOU1BFQ1RPUl9DTEFTU30ge1xuICAgICAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwNCwgMTgyLCAyNTUsIDAuMzUpO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC4ke0lOU1BFQ1RPUl9DTEFTU30gPiBzcGFuIHtcbiAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMDQsIDE4MiwgMjU1LCAwLjkpOztcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1gO1xuXG4gICAgY29uc3QgaW5zcGVjdG9yRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgY29uc3QgaW5zcGVjdG9yU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBpbnNwZWN0b3JEaXYuYXBwZW5kQ2hpbGQoaW5zcGVjdG9yU3Bhbik7XG4gICAgaW5zcGVjdG9yRGl2LmNsYXNzTGlzdC5hZGQoSU5TUEVDVE9SX0NMQVNTKTtcblxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaW5zcGVjdG9yQ3NzKTtcbiAgICB0aGlzLmluc3BlY3RvckRpdiA9IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5zcGVjdG9yRGl2KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGluc3BlY3Rvci5cbiAgICogQHBhcmFtIGlzUnVubmluZyB0cnVlIGlmIHRoZSBpbnNwZWN0b3IgaXMgcnVubmluZ1xuICAgKi9cbiAgcHVibGljIHRvZ2dsZUluc3BlY3Rvcihpc1J1bm5pbmc6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNSdW5uaW5nKSB7XG4gICAgICB0aGlzLnN0YXJ0SW5zcGVjdGluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3BJbnNwZWN0aW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0b3BJbnNwZWN0aW5nKCkge1xuICAgIHRoaXMudW5IaWdobGlnaHQoKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgdGhpcy5lbGVtZW50TW91c2VPdmVyQ2FsbGJhY2ssIHRydWUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuZWxlbWVudENsaWNrQ2FsbGJhY2ssIHRydWUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIHRoaXMuY2FuY2VsRXZlbnRDYWxsYmFjaywgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3R0ZXItaW5zcGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGV2a2l0L2luc3BlY3Rvci9vdHRlci1pbnNwZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUEwQixNQUFNLDJCQUEyQixDQUFDO0FBUTVIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztRQVppQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELHlCQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELGlCQUFZLEdBQTBCLElBQUksQ0FBQztRQUNsQyxtQ0FBOEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsU0FBUyxDQUFDLENBQUM7UUFFckg7O1dBRUc7UUFDSSxvQ0FBK0IsR0FBbUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRzFJLElBQUksQ0FBQyxlQUFlLEdBQUksTUFBYyxDQUFDLEVBQW9CLENBQUM7SUFDOUQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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Q0FBQyxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBa0I7UUFDdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmcgfSBmcm9tICcuL25nJztcbmltcG9ydCB7IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8sIElOU1BFQ1RPUl9DTEFTUywgaXNDb250YWluZXIsIE90dGVyTGlrZUNvbXBvbmVudEluZm8gfSBmcm9tICcuL290dGVyLWluc3BlY3Rvci5oZWxwZXJzJztcblxuXG5pbnRlcmZhY2UgQ29tcG9uZW50SW5mbyBleHRlbmRzIE90dGVyTGlrZUNvbXBvbmVudEluZm8ge1xuICBjb21wb25lbnQ6IGFueTtcbiAgaG9zdDogRWxlbWVudDtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSB0aGUgY3VzdG9tIGluc3BlY3RvciBmb3IgdGhlIE90dGVyIERldnRvb2xzIENocm9tZSBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBPdHRlckluc3BlY3RvclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJEZXZUb29sczogTmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrID0gdGhpcy5lbGVtZW50TW91c2VPdmVyLmJpbmQodGhpcyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudENsaWNrQ2FsbGJhY2sgPSB0aGlzLmVsZW1lbnRDbGljay5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbmNlbEV2ZW50Q2FsbGJhY2sgPSB0aGlzLmNhbmNlbEV2ZW50LmJpbmQodGhpcyk7XG4gIHByaXZhdGUgc2VsZWN0ZWRDb21wb25lbnQ6IENvbXBvbmVudEluZm8gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaW5zcGVjdG9yRGl2OiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IG90dGVyTGlrZUNvbXBvbmVudEluZm9Ub0JlU2VudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3R0ZXJMaWtlQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU3RyZWFtIG9mIGNvbXBvbmVudCBpbmZvIHRvIGJlIHNlbnQgdG8gdGhlIGV4dGVuc2lvbiBhcHAuXG4gICAqL1xuICBwdWJsaWMgb3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50JDogT2JzZXJ2YWJsZTxPdHRlckxpa2VDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkPiA9IHRoaXMub3R0ZXJMaWtlQ29tcG9uZW50SW5mb1RvQmVTZW50LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYW5ndWxhckRldlRvb2xzID0gKHdpbmRvdyBhcyBhbnkpLm5nIGFzIE5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydEluc3BlY3RpbmcoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHRoaXMuZWxlbWVudE1vdXNlT3ZlckNhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmVsZW1lbnRDbGlja0NhbGxiYWNrLCB0cnVlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCB0aGlzLmNhbmNlbEV2ZW50Q2FsbGJhY2ssIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbGVtZW50Q2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQ29tcG9uZW50IHx8ICF0aGlzLmFuZ3VsYXJEZXZUb29scykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3RlZENvbXBvbmVudC5ob3N0LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgcGFyZW50ID0gcGFyZW50RWxlbWVudCAmJiAodGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KHBhcmVudEVsZW1lbnQpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChwYXJlbnRFbGVtZW50KSk7XG4gICAgY29uc3QgcGFyZW50SG9zdCA9IHBhcmVudCAmJiB0aGlzLmFuZ3VsYXJEZXZUb29scy5nZXRIb3N0RWxlbWVudChwYXJlbnQpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGlzQ29udGFpbmVyKHBhcmVudEhvc3QpXG4gICAgICA/IGdldE90dGVyTGlrZUNvbXBvbmVudEluZm8ocGFyZW50LCBwYXJlbnRIb3N0KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgeyBjb21wb25lbnQsIGhvc3QsIC4uLmluZm9Ub0JlU2VudH0gPSB0aGlzLnNlbGVjdGVkQ29tcG9uZW50O1xuXG4gICAgdGhpcy5vdHRlckxpa2VDb21wb25lbnRJbmZvVG9CZVNlbnQubmV4dCh7XG4gICAgICAuLi5pbmZvVG9CZVNlbnQsXG4gICAgICBjb250YWluZXJcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPdHRlckxpa2VDb21wb25lbnQoaW5mbzogT3R0ZXJMaWtlQ29tcG9uZW50SW5mbykge1xuICAgIGNvbnN0IGhhc0NvbmZpZ0lkID0gISFpbmZvLmNvbmZpZ0lkO1xuICAgIGNvbnN0IGhhc1RyYW5zbGF0aW9ucyA9ICEhaW5mby50cmFuc2xhdGlvbnM/Lmxlbmd0aDtcbiAgICBjb25zdCBoYXNBbmFseXRpY3MgPSAhIU9iamVjdC5rZXlzKGluZm8uYW5hbHl0aWNzIHx8IHt9KS5sZW5ndGg7XG4gICAgcmV0dXJuIGhhc0NvbmZpZ0lkIHx8IGhhc1RyYW5zbGF0aW9ucyB8fCBoYXNBbmFseXRpY3M7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDb21wb25lbnRJbmZvKG5vZGU6IEVsZW1lbnQpOiBDb21wb25lbnRJbmZvIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuYW5ndWxhckRldlRvb2xzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wb25lbnRDbGFzc0luc3RhbmNlID0gdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0Q29tcG9uZW50KG5vZGUpIHx8IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChub2RlKTtcbiAgICBsZXQgbzNyTGlrZUNvbXBvbmVudEluZm86IE90dGVyTGlrZUNvbXBvbmVudEluZm87XG4gICAgbGV0IGlzTzNyTGlrZTogYm9vbGVhbjtcbiAgICBpZiAoIWNvbXBvbmVudENsYXNzSW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZG8ge1xuICAgICAgbzNyTGlrZUNvbXBvbmVudEluZm8gPSBnZXRPdHRlckxpa2VDb21wb25lbnRJbmZvKGNvbXBvbmVudENsYXNzSW5zdGFuY2UsIHRoaXMuYW5ndWxhckRldlRvb2xzLmdldEhvc3RFbGVtZW50KGNvbXBvbmVudENsYXNzSW5zdGFuY2UpKTtcbiAgICAgIGlzTzNyTGlrZSA9IHRoaXMuaXNPdHRlckxpa2VDb21wb25lbnQobzNyTGlrZUNvbXBvbmVudEluZm8pO1xuICAgICAgaWYgKCFpc08zckxpa2UpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3NJbnN0YW5jZSA9IHRoaXMuYW5ndWxhckRldlRvb2xzLmdldE93bmluZ0NvbXBvbmVudChjb21wb25lbnRDbGFzc0luc3RhbmNlKTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghaXNPM3JMaWtlICYmIGNvbXBvbmVudENsYXNzSW5zdGFuY2UpO1xuICAgIGlmIChpc08zckxpa2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50Q2xhc3NJbnN0YW5jZSxcbiAgICAgICAgaG9zdDogdGhpcy5hbmd1bGFyRGV2VG9vbHMuZ2V0SG9zdEVsZW1lbnQoY29tcG9uZW50Q2xhc3NJbnN0YW5jZSksXG4gICAgICAgIC4uLm8zckxpa2VDb21wb25lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudE1vdXNlT3ZlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFdmVudChlKTtcblxuICAgIGNvbnN0IGVsID0gZS50YXJnZXQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChlbCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDb21wb25lbnQgPSB0aGlzLmZpbmRDb21wb25lbnRJbmZvKGVsKTtcbiAgICAgIGlmIChzZWxlY3RlZENvbXBvbmVudD8uaG9zdCAhPT0gdGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCkge1xuICAgICAgICB0aGlzLnVuSGlnaGxpZ2h0KCk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0KHNlbGVjdGVkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodChzZWxlY3RlZENvbXBvbmVudDogQ29tcG9uZW50SW5mbyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSBzZWxlY3RlZENvbXBvbmVudDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvbXBvbmVudD8uaG9zdCAmJiB0aGlzLmluc3BlY3RvckRpdikge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuc2VsZWN0ZWRDb21wb25lbnQuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLndpZHRoID0gYCR7cmVjdC53aWR0aH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5oZWlnaHQgPSBgJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS50b3AgPSBgJHtyZWN0LnRvcH1weGA7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS5sZWZ0ID0gYCR7cmVjdC5sZWZ0fXB4YDtcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LmZpcnN0Q2hpbGQhLnRleHRDb250ZW50ID0gYDwke3RoaXMuc2VsZWN0ZWRDb21wb25lbnQuY29tcG9uZW50TmFtZX0+YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVuSGlnaGxpZ2h0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29tcG9uZW50Py5ob3N0ICYmIHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICB0aGlzLmluc3BlY3RvckRpdi5zdHlsZS53aWR0aCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmhlaWdodCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLnRvcCA9ICcwJztcbiAgICAgIHRoaXMuaW5zcGVjdG9yRGl2LnN0eWxlLmxlZnQgPSAnMCc7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb21wb25lbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEV2ZW50KGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgdGhlIGluc3BlY3RvciBkaXYgYW5kIGFkZCBpdCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIHByZXBhcmVJbnNwZWN0b3IoKSB7XG4gICAgaWYgKHRoaXMuaW5zcGVjdG9yRGl2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGluc3BlY3RvckNzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgaW5zcGVjdG9yQ3NzLnRleHRDb250ZW50ID0gYFxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSB7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTA0LCAxODIsIDI1NSwgMC4zNSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLiR7SU5TUEVDVE9SX0NMQVNTfSA+IHNwYW4ge1xuICAgICAgICBib3R0b206IC0yNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwNCwgMTgyLCAyNTUsIDAuOSk7O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfWA7XG5cbiAgICBjb25zdCBpbnNwZWN0b3JEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb25zdCBpbnNwZWN0b3JTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGluc3BlY3RvckRpdi5hcHBlbmRDaGlsZChpbnNwZWN0b3JTcGFuKTtcbiAgICBpbnNwZWN0b3JEaXYuY2xhc3NMaXN0LmFkZChJTlNQRUNUT1JfQ0xBU1MpO1xuXG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpbnNwZWN0b3JDc3MpO1xuICAgIHRoaXMuaW5zcGVjdG9yRGl2ID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnNwZWN0b3JEaXYpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgaW5zcGVjdG9yLlxuICAgKiBAcGFyYW0gaXNSdW5uaW5nIHRydWUgaWYgdGhlIGluc3BlY3RvciBpcyBydW5uaW5nXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlSW5zcGVjdG9yKGlzUnVubmluZzogYm9vbGVhbikge1xuICAgIGlmIChpc1J1bm5pbmcpIHtcbiAgICAgIHRoaXMuc3RhcnRJbnNwZWN0aW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcEluc3BlY3RpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RvcEluc3BlY3RpbmcoKSB7XG4gICAgdGhpcy51bkhpZ2hsaWdodCgpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCB0aGlzLmVsZW1lbnRNb3VzZU92ZXJDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5lbGVtZW50Q2xpY2tDYWxsYmFjaywgdHJ1ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgdGhpcy5jYW5jZWxFdmVudENhbGxiYWNrLCB0cnVlKTtcbiAgfVxufVxuIl19
@@ -143,10 +143,10 @@ export class PlaceholderRulesEngineActionHandler {
143
143
  ngOnDestroy() {
144
144
  this.subscription.unsubscribe();
145
145
  }
146
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRulesEngineActionHandler, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: i3.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
147
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRulesEngineActionHandler }); }
146
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRulesEngineActionHandler, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: i3.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
147
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRulesEngineActionHandler }); }
148
148
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRulesEngineActionHandler, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRulesEngineActionHandler, decorators: [{
150
150
  type: Injectable
151
151
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.LoggerService }, { type: i3.LocalizationService, decorators: [{
152
152
  type: Optional
@@ -118,10 +118,10 @@ export class PlaceholderTemplateResponseEffect {
118
118
  unknownTypeFound
119
119
  }))) : of({ renderedTemplate: template, unknownTypeFound });
120
120
  }
121
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderTemplateResponseEffect, deps: [{ token: i1.Actions }, { token: i2.Store }, { token: i3.RulesEngineRunnerService, optional: true }, { token: i4.DynamicContentService, optional: true }, { token: i5.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
122
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderTemplateResponseEffect }); }
121
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderTemplateResponseEffect, deps: [{ token: i1.Actions }, { token: i2.Store }, { token: i3.RulesEngineRunnerService, optional: true }, { token: i4.DynamicContentService, optional: true }, { token: i5.LocalizationService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
122
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderTemplateResponseEffect }); }
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderTemplateResponseEffect, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderTemplateResponseEffect, decorators: [{
125
125
  type: Injectable
126
126
  }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }, { type: i3.RulesEngineRunnerService, decorators: [{
127
127
  type: Optional
@@ -6,16 +6,16 @@ import { PlaceholderTemplateResponseEffect } from './placeholder.rules-engine.ef
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngrx/effects";
8
8
  export class PlaceholderRulesEngineActionModule {
9
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRulesEngineActionModule, imports: [i1.EffectsFeatureModule, PlaceholderRequestStoreModule,
9
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRulesEngineActionModule, imports: [i1.EffectsFeatureModule, PlaceholderRequestStoreModule,
11
11
  PlaceholderTemplateStoreModule] }); }
12
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRulesEngineActionModule, providers: [
12
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRulesEngineActionModule, providers: [
13
13
  PlaceholderRulesEngineActionHandler
14
14
  ], imports: [EffectsModule.forFeature([PlaceholderTemplateResponseEffect]),
15
15
  PlaceholderRequestStoreModule,
16
16
  PlaceholderTemplateStoreModule] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRulesEngineActionModule, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRulesEngineActionModule, decorators: [{
19
19
  type: NgModule,
20
20
  args: [{
21
21
  imports: [
@@ -19,13 +19,13 @@ export class PlaceholderRequestStoreModule {
19
19
  ]
20
20
  };
21
21
  }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRequestStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRequestStoreModule, imports: [i1.StoreFeatureModule] }); }
24
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRequestStoreModule, providers: [
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRequestStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRequestStoreModule, imports: [i1.StoreFeatureModule] }); }
24
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRequestStoreModule, providers: [
25
25
  { provide: PLACEHOLDER_REQUEST_REDUCER_TOKEN, useFactory: getDefaultplaceholderRequestReducer }
26
26
  ], imports: [StoreModule.forFeature(PLACEHOLDER_REQUEST_STORE_NAME, PLACEHOLDER_REQUEST_REDUCER_TOKEN)] }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderRequestStoreModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderRequestStoreModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  imports: [
@@ -19,13 +19,13 @@ export class PlaceholderTemplateStoreModule {
19
19
  ]
20
20
  };
21
21
  }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderTemplateStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderTemplateStoreModule, imports: [i1.StoreFeatureModule] }); }
24
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderTemplateStoreModule, providers: [
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderTemplateStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderTemplateStoreModule, imports: [i1.StoreFeatureModule] }); }
24
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderTemplateStoreModule, providers: [
25
25
  { provide: PLACEHOLDER_TEMPLATE_REDUCER_TOKEN, useFactory: getDefaultPlaceholderTemplateReducer }
26
26
  ], imports: [StoreModule.forFeature(PLACEHOLDER_TEMPLATE_STORE_NAME, PLACEHOLDER_TEMPLATE_REDUCER_TOKEN)] }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PlaceholderTemplateStoreModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PlaceholderTemplateStoreModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  imports: [
@@ -113,8 +113,8 @@ export class C11nDirective {
113
113
  this.componentRef.destroy();
114
114
  }
115
115
  }
116
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.KeyValueDiffers }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
117
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: C11nDirective, selector: "[c11n]", inputs: { component: "component", config: "config", formControl: "formControl", inputs: "inputs", outputs: "outputs" }, providers: [
116
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.KeyValueDiffers }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
117
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: C11nDirective, selector: "[c11n]", inputs: { component: "component", config: "config", formControl: "formControl", inputs: "inputs", outputs: "outputs" }, providers: [
118
118
  {
119
119
  provide: NG_VALUE_ACCESSOR,
120
120
  useExisting: forwardRef((() => C11nDirective)),
@@ -127,7 +127,7 @@ export class C11nDirective {
127
127
  }
128
128
  ], usesOnChanges: true, ngImport: i0 }); }
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nDirective, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nDirective, decorators: [{
131
131
  type: Directive,
132
132
  args: [{
133
133
  selector: '[c11n]',
@@ -4,10 +4,10 @@ import { C11nService } from './c11n.service';
4
4
  import * as i0 from "@angular/core";
5
5
  /** C11n directive mock */
6
6
  export class MockC11nDirective {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MockC11nDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: MockC11nDirective, selector: "[c11n]", inputs: { config: "config", component: "component", inputs: "inputs", outputs: "outputs" }, ngImport: i0 }); }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: MockC11nDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: MockC11nDirective, selector: "[c11n]", inputs: { config: "config", component: "component", inputs: "inputs", outputs: "outputs" }, ngImport: i0 }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MockC11nDirective, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: MockC11nDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[c11n]',
@@ -21,21 +21,21 @@ export class C11nMockService {
21
21
  getPresenter(_defaultPres, _presKey) {
22
22
  return (source) => source.pipe(mapTo(null));
23
23
  }
24
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nMockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nMockService }); }
24
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nMockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nMockService }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nMockService, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nMockService, decorators: [{
28
28
  type: Injectable
29
29
  }] });
30
30
  /**
31
31
  * The purpose of this module is to be imported in the unit tests of the components which are using c11n directive
32
32
  */
33
33
  export class C11nMockModule {
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
35
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: C11nMockModule, declarations: [MockC11nDirective], exports: [MockC11nDirective] }); }
36
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nMockModule, providers: [{ provide: C11nService, useClass: C11nMockService }] }); }
34
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
35
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: C11nMockModule, declarations: [MockC11nDirective], exports: [MockC11nDirective] }); }
36
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nMockModule, providers: [{ provide: C11nService, useClass: C11nMockService }] }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nMockModule, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nMockModule, decorators: [{
39
39
  type: NgModule,
40
40
  args: [{
41
41
  declarations: [MockC11nDirective],
@@ -32,11 +32,11 @@ export class C11nModule {
32
32
  }]
33
33
  };
34
34
  }
35
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: C11nModule, declarations: [C11nDirective], exports: [C11nDirective] }); }
37
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nModule }); }
35
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: C11nModule, declarations: [C11nDirective], exports: [C11nDirective] }); }
37
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nModule }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nModule, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nModule, decorators: [{
40
40
  type: NgModule,
41
41
  args: [{
42
42
  declarations: [C11nDirective],
@@ -25,10 +25,10 @@ export class C11nService {
25
25
  return typeof presenterConfig === 'string' && presenterConfig !== '' ? (this.presentersMap.get(presenterConfig) || defaultPres) : defaultPres;
26
26
  }));
27
27
  }
28
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nService, deps: [{ token: C11N_PRESENTERS_MAP_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nService }); }
28
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nService, deps: [{ token: C11N_PRESENTERS_MAP_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nService }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: C11nService, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: C11nService, decorators: [{
32
32
  type: Injectable
33
33
  }], ctorParameters: () => [{ type: Map, decorators: [{
34
34
  type: Inject,
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  * @deprecated please use O3rCapitalizePipe, will be removed in v12.
6
6
  */
7
7
  export class CapitalizePipeModule {
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: CapitalizePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: CapitalizePipeModule, declarations: [CapitalizePipe], exports: [CapitalizePipe] }); }
10
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: CapitalizePipeModule }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CapitalizePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: CapitalizePipeModule, declarations: [CapitalizePipe], exports: [CapitalizePipe] }); }
10
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CapitalizePipeModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: CapitalizePipeModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CapitalizePipeModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [CapitalizePipe],
@@ -6,10 +6,10 @@ export class O3rCapitalizePipe {
6
6
  const firstLetter = val && val.charAt(0);
7
7
  return firstLetter ? firstLetter.toUpperCase() + val.slice(1) : value;
8
8
  }
9
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: O3rCapitalizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: O3rCapitalizePipe, isStandalone: true, name: "o3rCapitalize" }); }
9
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: O3rCapitalizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: O3rCapitalizePipe, isStandalone: true, name: "o3rCapitalize" }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: O3rCapitalizePipe, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: O3rCapitalizePipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{ name: 'o3rCapitalize', standalone: true }]
15
15
  }] });
@@ -17,10 +17,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
17
17
  * @deprecated please use O3rCapitalizePipe, will be removed in v12.
18
18
  */
19
19
  export class CapitalizePipe extends O3rCapitalizePipe {
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: CapitalizePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
21
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: CapitalizePipe, name: "capitalize" }); }
20
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CapitalizePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
21
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: CapitalizePipe, name: "capitalize" }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: CapitalizePipe, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CapitalizePipe, decorators: [{
24
24
  type: Pipe,
25
25
  args: [{ name: 'capitalize' }]
26
26
  }] });
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  * @deprecated please use O3rDurationPipe, will be removed in v12.
6
6
  */
7
7
  export class DurationPipeModule {
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DurationPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: DurationPipeModule, declarations: [DurationPipe], exports: [DurationPipe] }); }
10
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DurationPipeModule }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DurationPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: DurationPipeModule, declarations: [DurationPipe], exports: [DurationPipe] }); }
10
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DurationPipeModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DurationPipeModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DurationPipeModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [DurationPipe],
@@ -55,10 +55,10 @@ export class O3rDurationPipe {
55
55
  return result.replace(matchedPatternToReplace, padded);
56
56
  }, pattern);
57
57
  }
58
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: O3rDurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
59
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: O3rDurationPipe, isStandalone: true, name: "o3rDuration" }); }
58
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: O3rDurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
59
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: O3rDurationPipe, isStandalone: true, name: "o3rDuration" }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: O3rDurationPipe, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: O3rDurationPipe, decorators: [{
62
62
  type: Pipe,
63
63
  args: [{ name: 'o3rDuration', standalone: true }]
64
64
  }] });
@@ -67,10 +67,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
67
67
  * @deprecated please use O3rDurationPipe, will be removed in v12.
68
68
  */
69
69
  export class DurationPipe extends O3rDurationPipe {
70
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DurationPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
71
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: DurationPipe, name: "duration" }); }
70
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DurationPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
71
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: DurationPipe, name: "duration" }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DurationPipe, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DurationPipe, decorators: [{
74
74
  type: Pipe,
75
75
  args: [{ name: 'duration' }]
76
76
  }] });
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  * @deprecated please use O3rKeepWhiteSpacePipe, will be removed in v12.
6
6
  */
7
7
  export class KeepWhiteSpacePipeModule {
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: KeepWhiteSpacePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: KeepWhiteSpacePipeModule, declarations: [KeepWhiteSpacePipe], exports: [KeepWhiteSpacePipe] }); }
10
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: KeepWhiteSpacePipeModule }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: KeepWhiteSpacePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: KeepWhiteSpacePipeModule, declarations: [KeepWhiteSpacePipe], exports: [KeepWhiteSpacePipe] }); }
10
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: KeepWhiteSpacePipeModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: KeepWhiteSpacePipeModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: KeepWhiteSpacePipeModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [KeepWhiteSpacePipe],
@@ -4,10 +4,10 @@ export class O3rKeepWhiteSpacePipe {
4
4
  transform(value) {
5
5
  return value.replace(/\s/g, '&nbsp;');
6
6
  }
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: O3rKeepWhiteSpacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: O3rKeepWhiteSpacePipe, name: "o3rKeepWhiteSpace" }); }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: O3rKeepWhiteSpacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: O3rKeepWhiteSpacePipe, name: "o3rKeepWhiteSpace" }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: O3rKeepWhiteSpacePipe, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: O3rKeepWhiteSpacePipe, decorators: [{
11
11
  type: Pipe,
12
12
  args: [{
13
13
  name: 'o3rKeepWhiteSpace'
@@ -17,10 +17,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
17
17
  * @deprecated please use O3rKeepWhiteSpacePipe, will be removed in v12.
18
18
  */
19
19
  export class KeepWhiteSpacePipe extends O3rKeepWhiteSpacePipe {
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: KeepWhiteSpacePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
21
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: KeepWhiteSpacePipe, name: "keepWhiteSpace" }); }
20
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: KeepWhiteSpacePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
21
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: KeepWhiteSpacePipe, name: "keepWhiteSpace" }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: KeepWhiteSpacePipe, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: KeepWhiteSpacePipe, decorators: [{
24
24
  type: Pipe,
25
25
  args: [{
26
26
  name: 'keepWhiteSpace'