@veloceapps/sdk 5.0.8 → 5.0.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 (38) hide show
  1. package/bundles/veloce-sdk-cms.umd.js +97 -45
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -1
  3. package/bundles/veloce-sdk.umd.js +457 -195
  4. package/bundles/veloce-sdk.umd.js.map +1 -1
  5. package/cms/cms.actions.d.ts +4 -2
  6. package/cms/services/launcher.service.d.ts +3 -3
  7. package/cms/types/common.types.d.ts +5 -0
  8. package/cms/types/compilation.types.d.ts +6 -0
  9. package/cms/types/index.d.ts +2 -0
  10. package/cms/types/metrics.types.d.ts +5 -0
  11. package/cms/utils/elements-resolver.d.ts +4 -1
  12. package/cms/vendor-map.d.ts +1 -0
  13. package/esm2015/cms/cms.actions.js +6 -1
  14. package/esm2015/cms/components/preview/preview.component.js +7 -4
  15. package/esm2015/cms/services/launcher.service.js +10 -10
  16. package/esm2015/cms/types/common.types.js +1 -1
  17. package/esm2015/cms/types/compilation.types.js +2 -0
  18. package/esm2015/cms/types/index.js +3 -1
  19. package/esm2015/cms/types/metrics.types.js +2 -0
  20. package/esm2015/cms/utils/element.utils.js +6 -1
  21. package/esm2015/cms/utils/elements-resolver.js +55 -24
  22. package/esm2015/src/components/header/header.component.js +12 -19
  23. package/esm2015/src/components/header/header.module.js +6 -2
  24. package/esm2015/src/components/header/metrics/index.js +2 -0
  25. package/esm2015/src/components/header/metrics/metrics.component.js +216 -0
  26. package/esm2015/src/components/header/metrics/metrics.definitions.js +9 -0
  27. package/esm2015/src/components/header/metrics/metrics.module.js +64 -0
  28. package/fesm2015/veloce-sdk-cms.js +80 -35
  29. package/fesm2015/veloce-sdk-cms.js.map +1 -1
  30. package/fesm2015/veloce-sdk.js +341 -85
  31. package/fesm2015/veloce-sdk.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/components/header/header.component.d.ts +0 -8
  34. package/src/components/header/header.module.d.ts +2 -1
  35. package/src/components/header/metrics/index.d.ts +1 -0
  36. package/src/components/header/metrics/metrics.component.d.ts +49 -0
  37. package/src/components/header/metrics/metrics.definitions.d.ts +4 -0
  38. package/src/components/header/metrics/metrics.module.d.ts +17 -0
@@ -1,4 +1,4 @@
1
- import { IntegrationAction } from './types';
1
+ import { IntegrationAction, Metric } from './types';
2
2
  export declare enum FlowAction {
3
3
  FLOW_CONFIGURE_PRODUCT = "FLOW_CONFIGURE_PRODUCT",
4
4
  FLOW_NAVIGATE_BACK = "FLOW_NAVIGATE_BACK",
@@ -8,7 +8,8 @@ export declare enum FlowAction {
8
8
  FLOW_CLOSE_DOC_GEN = "FLOW_CLOSE_DOC_GEN",
9
9
  FLOW_SWITCH_OBJECT = "FLOW_SWITCH_OBJECT",
10
10
  REMOTE_APPLY = "REMOTE_APPLY",
11
- REMOTE_CANCEL = "REMOTE_CANCEL"
11
+ REMOTE_CANCEL = "REMOTE_CANCEL",
12
+ SET_DEFAULT_METRICS = "SET_DEFAULT_METRICS"
12
13
  }
13
14
  export declare const ConfigureProductAction: ({ lineItemId, productId, }: {
14
15
  lineItemId?: string | undefined;
@@ -24,3 +25,4 @@ export declare const RemoteCancelAction: () => IntegrationAction;
24
25
  export declare const SwitchObjectAction: (payload: {
25
26
  id: string;
26
27
  }) => IntegrationAction;
28
+ export declare const SetDefaultMetrics: (metrics: Metric[]) => IntegrationAction;
@@ -1,7 +1,7 @@
1
- import { Compiler, ModuleWithComponentFactories, NgModule } from '@angular/core';
1
+ import { Compiler } from '@angular/core';
2
2
  import { UIDefinitionMetadata } from '@veloce/sdk/core';
3
3
  import { Observable } from 'rxjs';
4
- import { ElementMetadata } from '../types';
4
+ import { CompilationResult, ElementMetadata } from '../types';
5
5
  import { DynamicModuleService } from './dynamic-module.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class LauncherService {
@@ -10,7 +10,7 @@ export declare class LauncherService {
10
10
  private module?;
11
11
  private moduleInstance?;
12
12
  constructor(compiler: Compiler, dynamicModuleService: DynamicModuleService);
13
- compileModule(elements: ElementMetadata[], uiDefs: UIDefinitionMetadata): Observable<ModuleWithComponentFactories<NgModule>>;
13
+ compileModule(uiDef: UIDefinitionMetadata, elements: ElementMetadata[]): Observable<CompilationResult>;
14
14
  destroy(): void;
15
15
  private getModule;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<LauncherService, never>;
@@ -2,6 +2,7 @@ import { Dictionary } from 'lodash';
2
2
  import { Entity } from '../engine/models/entity';
3
3
  import { Plugin } from '../engine/models/plugin';
4
4
  export declare type ELEMENT_TYPE = 'CUSTOM' | 'CONTAINER' | 'SERVICE' | 'REFERENCE';
5
+ export declare type ElementStyleDeclaration = Partial<CSSStyleDeclaration>;
5
6
  export interface ElementConfig {
6
7
  component: typeof Entity;
7
8
  plugins?: typeof Plugin[];
@@ -92,6 +93,10 @@ export interface ElementDefaultMetadata {
92
93
  */
93
94
  reference?: string;
94
95
  children?: string[];
96
+ /**
97
+ * Contains styles configurable from UI builder
98
+ */
99
+ configuredStyles?: ElementStyleDeclaration;
95
100
  }
96
101
  export interface ElementMetadata extends Omit<ElementDefaultMetadata, 'children'> {
97
102
  path?: string;
@@ -0,0 +1,6 @@
1
+ import { ModuleWithComponentFactories, NgModule } from '@angular/core';
2
+ import { ElementMetadata } from './common.types';
3
+ export interface CompilationResult {
4
+ elements: ElementMetadata[];
5
+ module: ModuleWithComponentFactories<NgModule>;
6
+ }
@@ -1,5 +1,7 @@
1
1
  export * from './common.types';
2
+ export * from './compilation.types';
2
3
  export * from './configuration.types';
3
4
  export * from './elements.types';
4
5
  export * from './integration.types';
6
+ export * from './metrics.types';
5
7
  export * from './path.types';
@@ -0,0 +1,5 @@
1
+ export interface Metric {
2
+ key: string;
3
+ name: string;
4
+ visible: boolean;
5
+ }
@@ -7,14 +7,17 @@ export declare class ElementsResolver {
7
7
  private renderableElements;
8
8
  private sharedElements;
9
9
  constructor(uiDef: UIDefinitionMetadata, elements: ElementMetadata[]);
10
+ getNgComponents(): Type<any>[];
10
11
  private transpile;
11
12
  private transpileScripts;
12
13
  private flattenElements;
13
14
  private isSharedElement;
15
+ private getRenderableElements;
14
16
  private getSharedElement;
15
17
  private resolveElementTemplate;
16
18
  private resolveElementStyles;
17
19
  private processElementMetadata;
20
+ private getSharedChildren;
18
21
  private resolveElement;
19
- getNgComponents(): Type<any>[];
22
+ private convertInlineStylesToCSS;
20
23
  }
@@ -58,6 +58,7 @@ export declare const vendorMap: {
58
58
  SwitchObjectAction: (payload: {
59
59
  id: string;
60
60
  }) => import("@veloce/sdk/cms").IntegrationAction<any>;
61
+ SetDefaultMetrics: (metrics: import("@veloce/sdk/cms").Metric[]) => import("@veloce/sdk/cms").IntegrationAction<any>;
61
62
  DEFAULT_PLUGINS_TOKEN: angularCore.InjectionToken<typeof import("./engine/models/plugin").Plugin[]>;
62
63
  UI_DEFINITION_METADATA: angularCore.InjectionToken<import("@veloce/sdk/core").UIDefinitionMetadata>;
63
64
  ELEMENT_METADATA: angularCore.InjectionToken<import("@veloce/sdk/cms").ElementMetadata>;
@@ -9,6 +9,7 @@ export var FlowAction;
9
9
  FlowAction["FLOW_SWITCH_OBJECT"] = "FLOW_SWITCH_OBJECT";
10
10
  FlowAction["REMOTE_APPLY"] = "REMOTE_APPLY";
11
11
  FlowAction["REMOTE_CANCEL"] = "REMOTE_CANCEL";
12
+ FlowAction["SET_DEFAULT_METRICS"] = "SET_DEFAULT_METRICS";
12
13
  })(FlowAction || (FlowAction = {}));
13
14
  export const ConfigureProductAction = ({ lineItemId, productId, }) => ({
14
15
  type: FlowAction.FLOW_CONFIGURE_PRODUCT,
@@ -39,4 +40,8 @@ export const SwitchObjectAction = (payload) => ({
39
40
  type: FlowAction.FLOW_SWITCH_OBJECT,
40
41
  payload,
41
42
  });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksVUFVWDtBQVZELFdBQVksVUFBVTtJQUNwQiwrREFBaUQsQ0FBQTtJQUNqRCx1REFBeUMsQ0FBQTtJQUN6QyxtRUFBcUQsQ0FBQTtJQUNyRCxtRkFBcUUsQ0FBQTtJQUNyRSxxREFBdUMsQ0FBQTtJQUN2Qyx1REFBeUMsQ0FBQTtJQUN6Qyx1REFBeUMsQ0FBQTtJQUN6QywyQ0FBNkIsQ0FBQTtJQUM3Qiw2Q0FBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBVlcsVUFBVSxLQUFWLFVBQVUsUUFVckI7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEVBQ3JDLFVBQVUsRUFDVixTQUFTLEdBSVYsRUFBcUIsRUFBRSxDQUFDLENBQUM7SUFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxzQkFBc0I7SUFDdkMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtDQUNuQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUMxRCxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtDQUNwQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUMvRCxJQUFJLEVBQUUsVUFBVSxDQUFDLHdCQUF3QjtDQUMxQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN2RSxJQUFJLEVBQUUsVUFBVSxDQUFDLGdDQUFnQztDQUNsRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN4RCxJQUFJLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjtDQUNuQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN6RCxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtDQUNwQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN6RCxJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVk7Q0FDOUIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBc0IsRUFBRSxDQUFDLENBQUM7SUFDMUQsSUFBSSxFQUFFLFVBQVUsQ0FBQyxhQUFhO0NBQy9CLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBdUIsRUFBcUIsRUFBRSxDQUFDLENBQUM7SUFDakYsSUFBSSxFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7SUFDbkMsT0FBTztDQUNSLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVncmF0aW9uQWN0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBlbnVtIEZsb3dBY3Rpb24ge1xuICBGTE9XX0NPTkZJR1VSRV9QUk9EVUNUID0gJ0ZMT1dfQ09ORklHVVJFX1BST0RVQ1QnLFxuICBGTE9XX05BVklHQVRFX0JBQ0sgPSAnRkxPV19OQVZJR0FURV9CQUNLJyxcbiAgRkxPV19OQVZJR0FURV9UT19DQVRBTE9HID0gJ0ZMT1dfTkFWSUdBVEVfVE9fQ0FUQUxPRycsXG4gIEZMT1dfQVBQTFlfUFJPRFVDVF9DT05GSUdVUkFUSU9OID0gJ0ZMT1dfQVBQTFlfUFJPRFVDVF9DT05GSUdVUkFUSU9OJyxcbiAgRkxPV19PUEVOX0RPQ19HRU4gPSAnRkxPV19PUEVOX0RPQ19HRU4nLFxuICBGTE9XX0NMT1NFX0RPQ19HRU4gPSAnRkxPV19DTE9TRV9ET0NfR0VOJyxcbiAgRkxPV19TV0lUQ0hfT0JKRUNUID0gJ0ZMT1dfU1dJVENIX09CSkVDVCcsXG4gIFJFTU9URV9BUFBMWSA9ICdSRU1PVEVfQVBQTFknLFxuICBSRU1PVEVfQ0FOQ0VMID0gJ1JFTU9URV9DQU5DRUwnLFxufVxuXG5leHBvcnQgY29uc3QgQ29uZmlndXJlUHJvZHVjdEFjdGlvbiA9ICh7XG4gIGxpbmVJdGVtSWQsXG4gIHByb2R1Y3RJZCxcbn06IHtcbiAgbGluZUl0ZW1JZD86IHN0cmluZztcbiAgcHJvZHVjdElkPzogc3RyaW5nO1xufSk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uRkxPV19DT05GSUdVUkVfUFJPRFVDVCxcbiAgcGF5bG9hZDogeyBsaW5lSXRlbUlkLCBwcm9kdWN0SWQgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTmF2aWdhdGVCYWNrQWN0aW9uID0gKCk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uRkxPV19OQVZJR0FURV9CQUNLLFxufSk7XG5cbmV4cG9ydCBjb25zdCBOYXZpZ2F0ZVRvQ2F0YWxvZ0FjdGlvbiA9ICgpOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLkZMT1dfTkFWSUdBVEVfVE9fQ0FUQUxPRyxcbn0pO1xuXG5leHBvcnQgY29uc3QgQXBwbHlQcm9kdWN0Q29uZmlndXJhdGlvbkFjdGlvbiA9ICgpOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLkZMT1dfQVBQTFlfUFJPRFVDVF9DT05GSUdVUkFUSU9OLFxufSk7XG5cbmV4cG9ydCBjb25zdCBPcGVuRG9jR2VuQWN0aW9uID0gKCk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uRkxPV19PUEVOX0RPQ19HRU4sXG59KTtcblxuZXhwb3J0IGNvbnN0IENsb3NlRG9jR2VuQWN0aW9uID0gKCk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uRkxPV19DTE9TRV9ET0NfR0VOLFxufSk7XG5cbmV4cG9ydCBjb25zdCBSZW1vdGVBcHBseUFjdGlvbiA9ICgpOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLlJFTU9URV9BUFBMWSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUmVtb3RlQ2FuY2VsQWN0aW9uID0gKCk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uUkVNT1RFX0NBTkNFTCxcbn0pO1xuXG5leHBvcnQgY29uc3QgU3dpdGNoT2JqZWN0QWN0aW9uID0gKHBheWxvYWQ6IHsgaWQ6IHN0cmluZyB9KTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5GTE9XX1NXSVRDSF9PQkpFQ1QsXG4gIHBheWxvYWQsXG59KTtcbiJdfQ==
43
+ export const SetDefaultMetrics = (metrics) => ({
44
+ type: FlowAction.SET_DEFAULT_METRICS,
45
+ payload: { metrics },
46
+ });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksVUFXWDtBQVhELFdBQVksVUFBVTtJQUNwQiwrREFBaUQsQ0FBQTtJQUNqRCx1REFBeUMsQ0FBQTtJQUN6QyxtRUFBcUQsQ0FBQTtJQUNyRCxtRkFBcUUsQ0FBQTtJQUNyRSxxREFBdUMsQ0FBQTtJQUN2Qyx1REFBeUMsQ0FBQTtJQUN6Qyx1REFBeUMsQ0FBQTtJQUN6QywyQ0FBNkIsQ0FBQTtJQUM3Qiw2Q0FBK0IsQ0FBQTtJQUMvQix5REFBMkMsQ0FBQTtBQUM3QyxDQUFDLEVBWFcsVUFBVSxLQUFWLFVBQVUsUUFXckI7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEVBQ3JDLFVBQVUsRUFDVixTQUFTLEdBSVYsRUFBcUIsRUFBRSxDQUFDLENBQUM7SUFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxzQkFBc0I7SUFDdkMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtDQUNuQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUMxRCxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtDQUNwQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUMvRCxJQUFJLEVBQUUsVUFBVSxDQUFDLHdCQUF3QjtDQUMxQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN2RSxJQUFJLEVBQUUsVUFBVSxDQUFDLGdDQUFnQztDQUNsRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN4RCxJQUFJLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjtDQUNuQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN6RCxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtDQUNwQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFzQixFQUFFLENBQUMsQ0FBQztJQUN6RCxJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVk7Q0FDOUIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBc0IsRUFBRSxDQUFDLENBQUM7SUFDMUQsSUFBSSxFQUFFLFVBQVUsQ0FBQyxhQUFhO0NBQy9CLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBdUIsRUFBcUIsRUFBRSxDQUFDLENBQUM7SUFDakYsSUFBSSxFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7SUFDbkMsT0FBTztDQUNSLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBaUIsRUFBcUIsRUFBRSxDQUFDLENBQUM7SUFDMUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxtQkFBbUI7SUFDcEMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFO0NBQ3JCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVncmF0aW9uQWN0aW9uLCBNZXRyaWMgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGVudW0gRmxvd0FjdGlvbiB7XG4gIEZMT1dfQ09ORklHVVJFX1BST0RVQ1QgPSAnRkxPV19DT05GSUdVUkVfUFJPRFVDVCcsXG4gIEZMT1dfTkFWSUdBVEVfQkFDSyA9ICdGTE9XX05BVklHQVRFX0JBQ0snLFxuICBGTE9XX05BVklHQVRFX1RPX0NBVEFMT0cgPSAnRkxPV19OQVZJR0FURV9UT19DQVRBTE9HJyxcbiAgRkxPV19BUFBMWV9QUk9EVUNUX0NPTkZJR1VSQVRJT04gPSAnRkxPV19BUFBMWV9QUk9EVUNUX0NPTkZJR1VSQVRJT04nLFxuICBGTE9XX09QRU5fRE9DX0dFTiA9ICdGTE9XX09QRU5fRE9DX0dFTicsXG4gIEZMT1dfQ0xPU0VfRE9DX0dFTiA9ICdGTE9XX0NMT1NFX0RPQ19HRU4nLFxuICBGTE9XX1NXSVRDSF9PQkpFQ1QgPSAnRkxPV19TV0lUQ0hfT0JKRUNUJyxcbiAgUkVNT1RFX0FQUExZID0gJ1JFTU9URV9BUFBMWScsXG4gIFJFTU9URV9DQU5DRUwgPSAnUkVNT1RFX0NBTkNFTCcsXG4gIFNFVF9ERUZBVUxUX01FVFJJQ1MgPSAnU0VUX0RFRkFVTFRfTUVUUklDUycsXG59XG5cbmV4cG9ydCBjb25zdCBDb25maWd1cmVQcm9kdWN0QWN0aW9uID0gKHtcbiAgbGluZUl0ZW1JZCxcbiAgcHJvZHVjdElkLFxufToge1xuICBsaW5lSXRlbUlkPzogc3RyaW5nO1xuICBwcm9kdWN0SWQ/OiBzdHJpbmc7XG59KTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5GTE9XX0NPTkZJR1VSRV9QUk9EVUNULFxuICBwYXlsb2FkOiB7IGxpbmVJdGVtSWQsIHByb2R1Y3RJZCB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBOYXZpZ2F0ZUJhY2tBY3Rpb24gPSAoKTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5GTE9XX05BVklHQVRFX0JBQ0ssXG59KTtcblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRlVG9DYXRhbG9nQWN0aW9uID0gKCk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uRkxPV19OQVZJR0FURV9UT19DQVRBTE9HLFxufSk7XG5cbmV4cG9ydCBjb25zdCBBcHBseVByb2R1Y3RDb25maWd1cmF0aW9uQWN0aW9uID0gKCk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uRkxPV19BUFBMWV9QUk9EVUNUX0NPTkZJR1VSQVRJT04sXG59KTtcblxuZXhwb3J0IGNvbnN0IE9wZW5Eb2NHZW5BY3Rpb24gPSAoKTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5GTE9XX09QRU5fRE9DX0dFTixcbn0pO1xuXG5leHBvcnQgY29uc3QgQ2xvc2VEb2NHZW5BY3Rpb24gPSAoKTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5GTE9XX0NMT1NFX0RPQ19HRU4sXG59KTtcblxuZXhwb3J0IGNvbnN0IFJlbW90ZUFwcGx5QWN0aW9uID0gKCk6IEludGVncmF0aW9uQWN0aW9uID0+ICh7XG4gIHR5cGU6IEZsb3dBY3Rpb24uUkVNT1RFX0FQUExZLFxufSk7XG5cbmV4cG9ydCBjb25zdCBSZW1vdGVDYW5jZWxBY3Rpb24gPSAoKTogSW50ZWdyYXRpb25BY3Rpb24gPT4gKHtcbiAgdHlwZTogRmxvd0FjdGlvbi5SRU1PVEVfQ0FOQ0VMLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTd2l0Y2hPYmplY3RBY3Rpb24gPSAocGF5bG9hZDogeyBpZDogc3RyaW5nIH0pOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLkZMT1dfU1dJVENIX09CSkVDVCxcbiAgcGF5bG9hZCxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2V0RGVmYXVsdE1ldHJpY3MgPSAobWV0cmljczogTWV0cmljW10pOiBJbnRlZ3JhdGlvbkFjdGlvbiA9PiAoe1xuICB0eXBlOiBGbG93QWN0aW9uLlNFVF9ERUZBVUxUX01FVFJJQ1MsXG4gIHBheWxvYWQ6IHsgbWV0cmljcyB9LFxufSk7XG4iXX0=
@@ -67,10 +67,13 @@ export class PreviewComponent {
67
67
  return;
68
68
  }
69
69
  const _a = this.uiDefinition, { children } = _a, uiDefinitionMeta = __rest(_a, ["children"]);
70
- this.elements = this.elementToMetadataSafe(children);
71
- const compilation$ = this.launcherService.compileModule(this.elements, uiDefinitionMeta);
70
+ const elements = this.elementToMetadataSafe(children);
71
+ const compilation$ = this.launcherService.compileModule(uiDefinitionMeta, elements);
72
72
  forkJoin([compilation$, this.initializeConfiguration$()])
73
- .pipe(tap(() => this.state$.next({ loading: false, failure: false })), catchError(error => {
73
+ .pipe(tap(([result]) => {
74
+ this.elements = result.elements;
75
+ this.state$.next({ loading: false, failure: false });
76
+ }), catchError(error => {
74
77
  var _a, _b;
75
78
  console.error(error);
76
79
  if (!((_b = (_a = this.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.suppressToastMessages)) {
@@ -102,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
102
105
  }], clearState: [{
103
106
  type: Input
104
107
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQWdCOUQsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixZQUNVLGVBQWdDLEVBQ2hDLG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5QixjQUEyQyxFQUMzQyxnQkFBa0M7UUFKbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBWm5DLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFckIsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxP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RGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLCBDb25maWd1cmF0aW9uU2VydmljZSwgVUlEZWZpbml0aW9uLCBVSUVsZW1lbnQgfSBmcm9tICdAdmVsb2NlL3Nkay9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEludGVncmF0aW9uU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJT1Byb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lvLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF1bmNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF1bmNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IGVsZW1lbnRUb01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdXRpbHMvZWxlbWVudC51dGlscyc7XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGZhaWx1cmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWNtcy1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtJT1Byb3ZpZGVyU2VydmljZSwgVGVtcGxhdGVzU2VydmljZV0sXG4gIC8vIHVzZSBzaGFkb3cgRE9NIHRvIHByZXZlbnQgVUkgZnJvbSBiZWluZyBhZmZlY3RlZCBieSBnbG9iYWwgc3R5bGVzXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcbn0pXG5leHBvcnQgY2xhc3MgUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbW9kZWxJZD86IHN0cmluZztcbiAgQElucHV0KCkgdWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uO1xuICBASW5wdXQoKSBjbGVhclN0YXRlID0gZmFsc2U7XG5cbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gIHB1YmxpYyBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxhdW5jaGVyU2VydmljZTogTGF1bmNoZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGludGVncmF0aW9uU3RhdGU6IEludGVncmF0aW9uU3RhdGUsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5jbGVhclN0YXRlKSB7XG4gICAgICB0aGlzLmludGVncmF0aW9uU3RhdGUuY2xlYXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0UHJldmlldygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5yZXNldCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29uZmlndXJhdGlvbiQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBpc0FscmVhZHlJbml0aWFsaXplZCA9IHRoaXMucnVudGltZVNlcnZpY2UuaXNJbml0aWFsaXplZDtcbiAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uIHx8IHRoaXMudWlEZWZpbml0aW9uLnR5cGUgIT09ICdDT05GSUdVUkFUSU9OJyB8fCBpc0FscmVhZHlJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubW9kZWxJZCkge1xuICAgICAgY29uc29sZS53YXJuKGBObyBtb2RlbElkIGlzIGdpdmVuIGZvciB1aURlZmluaXRpb24gd2l0aCAnJHt0aGlzLnVpRGVmaW5pdGlvbi50eXBlfScgdHlwZWApO1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG5cbiAgICAvLyBJZiBzdGlsbCBub3QgaW5pdGlhbGl6ZWQgLSBpbml0IGNvbmZpZ3VyYXRpb24gaW4gVGVzdCBtb2RlXG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2VcbiAgICAgIC5pbml0VGVzdE1vZGUodGhpcy5tb2RlbElkLCB0aGlzLnVpRGVmaW5pdGlvbilcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmNvbmZpZ3VyZSgpKSk7XG4gIH1cblxuICBwcml2YXRlIGVsZW1lbnRUb01ldGFkYXRhU2FmZShlbGVtZW50czogVUlFbGVtZW50W10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBlbGVtZW50cy5tYXAoZWxlbWVudCA9PiBlbGVtZW50VG9NZXRhZGF0YShlbGVtZW50KSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcblxuICAgICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbj8ucHJvcGVydGllcz8uc3VwcHJlc3NUb2FzdE1lc3NhZ2VzKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IFN0cmluZyhlKSB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQcmV2aWV3KCkge1xuICAgIGlmICghdGhpcy51aURlZmluaXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNoaWxkcmVuLCAuLi51aURlZmluaXRpb25NZXRhIH0gPSB0aGlzLnVpRGVmaW5pdGlvbjtcbiAgICB0aGlzLmVsZW1lbnRzID0gdGhpcy5lbGVtZW50VG9NZXRhZGF0YVNhZmUoY2hpbGRyZW4pO1xuXG4gICAgY29uc3QgY29tcGlsYXRpb24kID0gdGhpcy5sYXVuY2hlclNlcnZpY2UuY29tcGlsZU1vZHVsZSh0aGlzLmVsZW1lbnRzLCB1aURlZmluaXRpb25NZXRhKTtcblxuICAgIGZvcmtKb2luKFtjb21waWxhdGlvbiQsIHRoaXMuaW5pdGlhbGl6ZUNvbmZpZ3VyYXRpb24kKCldKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzPy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogdHJ1ZSB9KTtcblxuICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXIgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzXCIgW21ldGFdPVwiZWxcIj48L3ZsLWNtcy1lbGVtZW50LXJlbmRlcmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQWdCOUQsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixZQUNVLGVBQWdDLEVBQ2hDLG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5QixjQUEyQyxFQUMzQyxnQkFBa0M7UUFKbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBWm5DLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFckIsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxP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cEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLCBDb25maWd1cmF0aW9uU2VydmljZSwgVUlEZWZpbml0aW9uLCBVSUVsZW1lbnQgfSBmcm9tICdAdmVsb2NlL3Nkay9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEludGVncmF0aW9uU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJT1Byb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lvLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF1bmNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF1bmNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IGVsZW1lbnRUb01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdXRpbHMvZWxlbWVudC51dGlscyc7XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGZhaWx1cmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWNtcy1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtJT1Byb3ZpZGVyU2VydmljZSwgVGVtcGxhdGVzU2VydmljZV0sXG4gIC8vIHVzZSBzaGFkb3cgRE9NIHRvIHByZXZlbnQgVUkgZnJvbSBiZWluZyBhZmZlY3RlZCBieSBnbG9iYWwgc3R5bGVzXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcbn0pXG5leHBvcnQgY2xhc3MgUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbW9kZWxJZD86IHN0cmluZztcbiAgQElucHV0KCkgdWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uO1xuICBASW5wdXQoKSBjbGVhclN0YXRlID0gZmFsc2U7XG5cbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gIHB1YmxpYyBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxhdW5jaGVyU2VydmljZTogTGF1bmNoZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGludGVncmF0aW9uU3RhdGU6IEludGVncmF0aW9uU3RhdGUsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5jbGVhclN0YXRlKSB7XG4gICAgICB0aGlzLmludGVncmF0aW9uU3RhdGUuY2xlYXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0UHJldmlldygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5yZXNldCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29uZmlndXJhdGlvbiQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBpc0FscmVhZHlJbml0aWFsaXplZCA9IHRoaXMucnVudGltZVNlcnZpY2UuaXNJbml0aWFsaXplZDtcbiAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uIHx8IHRoaXMudWlEZWZpbml0aW9uLnR5cGUgIT09ICdDT05GSUdVUkFUSU9OJyB8fCBpc0FscmVhZHlJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubW9kZWxJZCkge1xuICAgICAgY29uc29sZS53YXJuKGBObyBtb2RlbElkIGlzIGdpdmVuIGZvciB1aURlZmluaXRpb24gd2l0aCAnJHt0aGlzLnVpRGVmaW5pdGlvbi50eXBlfScgdHlwZWApO1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG5cbiAgICAvLyBJZiBzdGlsbCBub3QgaW5pdGlhbGl6ZWQgLSBpbml0IGNvbmZpZ3VyYXRpb24gaW4gVGVzdCBtb2RlXG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2VcbiAgICAgIC5pbml0VGVzdE1vZGUodGhpcy5tb2RlbElkLCB0aGlzLnVpRGVmaW5pdGlvbilcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmNvbmZpZ3VyZSgpKSk7XG4gIH1cblxuICBwcml2YXRlIGVsZW1lbnRUb01ldGFkYXRhU2FmZShlbGVtZW50czogVUlFbGVtZW50W10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBlbGVtZW50cy5tYXAoZWxlbWVudCA9PiBlbGVtZW50VG9NZXRhZGF0YShlbGVtZW50KSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcblxuICAgICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbj8ucHJvcGVydGllcz8uc3VwcHJlc3NUb2FzdE1lc3NhZ2VzKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IFN0cmluZyhlKSB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQcmV2aWV3KCkge1xuICAgIGlmICghdGhpcy51aURlZmluaXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNoaWxkcmVuLCAuLi51aURlZmluaXRpb25NZXRhIH0gPSB0aGlzLnVpRGVmaW5pdGlvbjtcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZWxlbWVudFRvTWV0YWRhdGFTYWZlKGNoaWxkcmVuKTtcblxuICAgIGNvbnN0IGNvbXBpbGF0aW9uJCA9IHRoaXMubGF1bmNoZXJTZXJ2aWNlLmNvbXBpbGVNb2R1bGUodWlEZWZpbml0aW9uTWV0YSwgZWxlbWVudHMpO1xuXG4gICAgZm9ya0pvaW4oW2NvbXBpbGF0aW9uJCwgdGhpcy5pbml0aWFsaXplQ29uZmlndXJhdGlvbiQoKV0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChbcmVzdWx0XSkgPT4ge1xuICAgICAgICAgIHRoaXMuZWxlbWVudHMgPSByZXN1bHQuZWxlbWVudHM7XG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiBmYWxzZSB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbj8ucHJvcGVydGllcz8uc3VwcHJlc3NUb2FzdE1lc3NhZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IHRydWUgfSk7XG5cbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlJCB8IGFzeW5jIGFzIHN0YXRlXCI+XG4gIDx2bC1sb2FkZXIgKm5nSWY9XCJzdGF0ZS5sb2FkaW5nOyBlbHNlIGNvbnRlbnRcIiBbbGFiZWxdPVwiJ0xvYWRpbmcgVUknXCI+PC92bC1sb2FkZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3RhdGUuZmFpbHVyZVwiPlxuICAgICAgPHZsLWNtcy1lbGVtZW50LXJlbmRlcmVyICpuZ0Zvcj1cImxldCBlbCBvZiBlbGVtZW50c1wiIFttZXRhXT1cImVsXCI+PC92bC1jbXMtZWxlbWVudC1yZW5kZXJlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -3,12 +3,12 @@ import { DragDropModule } from '@angular/cdk/drag-drop';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { Injectable, NgModule } from '@angular/core';
5
5
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
- import { from, tap } from 'rxjs';
6
+ import { from, map, tap } from 'rxjs';
7
7
  import { ElementChildrenComponent } from '../components/element-children/element-children.component';
8
8
  import { ElementRendererComponent } from '../components/element-renderer/element-renderer.component';
9
9
  import { CustomTemplateDirective } from '../directives/custom-template.directive';
10
10
  import { FederatedModule } from '../modules/federated/federated.module';
11
- import { ElementsResolver } from '../utils/elements-resolver';
11
+ import { ElementsResolver } from '../utils';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "./dynamic-module.service";
14
14
  export class LauncherService {
@@ -16,12 +16,14 @@ export class LauncherService {
16
16
  this.compiler = compiler;
17
17
  this.dynamicModuleService = dynamicModuleService;
18
18
  }
19
- compileModule(elements, uiDefs) {
20
- this.module = this.getModule(elements, uiDefs);
19
+ compileModule(uiDef, elements) {
20
+ const elementsResolver = new ElementsResolver(uiDef, elements);
21
+ this.dynamicModuleService.elementsTree = elementsResolver.elements;
22
+ this.module = this.getModule(elementsResolver.getNgComponents());
21
23
  return from(this.compiler.compileModuleAndAllComponentsAsync(this.module)).pipe(tap(m => {
22
24
  this.dynamicModuleService.componentFactories = m.componentFactories;
23
25
  this.moduleInstance = m;
24
- }));
26
+ }), map(m => ({ module: m, elements: elementsResolver.elements })));
25
27
  }
26
28
  destroy() {
27
29
  if (this.moduleInstance) {
@@ -33,16 +35,14 @@ export class LauncherService {
33
35
  this.module = undefined;
34
36
  }
35
37
  }
36
- getModule(elements, uiDef) {
38
+ getModule(components) {
37
39
  const staticComponents = [ElementChildrenComponent, ElementRendererComponent, CustomTemplateDirective];
38
- const elementsResolver = new ElementsResolver(uiDef, elements);
39
- this.dynamicModuleService.elementsTree = elementsResolver.elements;
40
40
  let DynamicModule = class DynamicModule {
41
41
  };
42
42
  DynamicModule = __decorate([
43
43
  NgModule({
44
44
  imports: [CommonModule, FormsModule, ReactiveFormsModule, FederatedModule, DragDropModule],
45
- declarations: [...staticComponents, ...elementsResolver.getNgComponents()],
45
+ declarations: [...staticComponents, ...components],
46
46
  jit: true,
47
47
  })
48
48
  ], DynamicModule);
@@ -54,4 +54,4 @@ LauncherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherService, decorators: [{
55
55
  type: Injectable
56
56
  }], ctorParameters: function () { return [{ type: i0.Compiler }, { type: i1.DynamicModuleService }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9zZXJ2aWNlcy9sYXVuY2hlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBWSxVQUFVLEVBQWdDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLElBQUksRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDckcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDckcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFJOUQsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFBb0IsUUFBa0IsRUFBVSxvQkFBMEM7UUFBdEUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFBRyxDQUFDO0lBRXZGLGFBQWEsQ0FDbEIsUUFBMkIsRUFDM0IsTUFBNEI7UUFFNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0UsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztZQUNwRSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVPLFNBQVMsQ0FBQyxRQUEyQixFQUFFLEtBQTJCO1FBQ3hFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3ZHLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7UUFPbkUsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtTQUFHLENBQUE7UUFBaEIsYUFBYTtZQUxsQixRQUFRLENBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDO2dCQUMxRixZQUFZLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzFFLEdBQUcsRUFBRSxJQUFJO2FBQ1YsQ0FBQztXQUNJLGFBQWEsQ0FBRztRQUV0QixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOzs2R0E1Q1UsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBpbGVyLCBJbmplY3RhYmxlLCBNb2R1bGVXaXRoQ29tcG9uZW50RmFjdG9yaWVzLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVSURlZmluaXRpb25NZXRhZGF0YSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbGVtZW50Q2hpbGRyZW5Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VsZW1lbnQtY2hpbGRyZW4vZWxlbWVudC1jaGlsZHJlbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWxlbWVudFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbGVtZW50LXJlbmRlcmVyL2VsZW1lbnQtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jdXN0b20tdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZlZGVyYXRlZE1vZHVsZSB9IGZyb20gJy4uL21vZHVsZXMvZmVkZXJhdGVkL2ZlZGVyYXRlZC5tb2R1bGUnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudHNSZXNvbHZlciB9IGZyb20gJy4uL3V0aWxzL2VsZW1lbnRzLXJlc29sdmVyJztcbmltcG9ydCB7IER5bmFtaWNNb2R1bGVTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLW1vZHVsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExhdW5jaGVyU2VydmljZSB7XG4gIHByaXZhdGUgbW9kdWxlPzogVHlwZTxOZ01vZHVsZT47XG4gIHByaXZhdGUgbW9kdWxlSW5zdGFuY2U/OiBNb2R1bGVXaXRoQ29tcG9uZW50RmFjdG9yaWVzPE5nTW9kdWxlPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlciwgcHJpdmF0ZSBkeW5hbWljTW9kdWxlU2VydmljZTogRHluYW1pY01vZHVsZVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGNvbXBpbGVNb2R1bGUoXG4gICAgZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdLFxuICAgIHVpRGVmczogVUlEZWZpbml0aW9uTWV0YWRhdGEsXG4gICk6IE9ic2VydmFibGU8TW9kdWxlV2l0aENvbXBvbmVudEZhY3RvcmllczxOZ01vZHVsZT4+IHtcbiAgICB0aGlzLm1vZHVsZSA9IHRoaXMuZ2V0TW9kdWxlKGVsZW1lbnRzLCB1aURlZnMpO1xuICAgIHJldHVybiBmcm9tKHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNBc3luYyh0aGlzLm1vZHVsZSkpLnBpcGUoXG4gICAgICB0YXAobSA9PiB7XG4gICAgICAgIHRoaXMuZHluYW1pY01vZHVsZVNlcnZpY2UuY29tcG9uZW50RmFjdG9yaWVzID0gbS5jb21wb25lbnRGYWN0b3JpZXM7XG4gICAgICAgIHRoaXMubW9kdWxlSW5zdGFuY2UgPSBtO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIGlmICh0aGlzLm1vZHVsZUluc3RhbmNlKSB7XG4gICAgICB0aGlzLmR5bmFtaWNNb2R1bGVTZXJ2aWNlLmNsZWFyKCk7XG4gICAgICB0aGlzLm1vZHVsZUluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1vZHVsZSkge1xuICAgICAgdGhpcy5jb21waWxlci5jbGVhckNhY2hlRm9yKHRoaXMubW9kdWxlKTtcbiAgICAgIHRoaXMubW9kdWxlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kdWxlKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSwgdWlEZWY6IFVJRGVmaW5pdGlvbk1ldGFkYXRhKTogVHlwZTxOZ01vZHVsZT4ge1xuICAgIGNvbnN0IHN0YXRpY0NvbXBvbmVudHMgPSBbRWxlbWVudENoaWxkcmVuQ29tcG9uZW50LCBFbGVtZW50UmVuZGVyZXJDb21wb25lbnQsIEN1c3RvbVRlbXBsYXRlRGlyZWN0aXZlXTtcbiAgICBjb25zdCBlbGVtZW50c1Jlc29sdmVyID0gbmV3IEVsZW1lbnRzUmVzb2x2ZXIodWlEZWYsIGVsZW1lbnRzKTtcbiAgICB0aGlzLmR5bmFtaWNNb2R1bGVTZXJ2aWNlLmVsZW1lbnRzVHJlZSA9IGVsZW1lbnRzUmVzb2x2ZXIuZWxlbWVudHM7XG5cbiAgICBATmdNb2R1bGUoe1xuICAgICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZlZGVyYXRlZE1vZHVsZSwgRHJhZ0Ryb3BNb2R1bGVdLFxuICAgICAgZGVjbGFyYXRpb25zOiBbLi4uc3RhdGljQ29tcG9uZW50cywgLi4uZWxlbWVudHNSZXNvbHZlci5nZXROZ0NvbXBvbmVudHMoKV0sXG4gICAgICBqaXQ6IHRydWUsXG4gICAgfSlcbiAgICBjbGFzcyBEeW5hbWljTW9kdWxlIHt9XG5cbiAgICByZXR1cm4gRHluYW1pY01vZHVsZTtcbiAgfVxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9zZXJ2aWNlcy9sYXVuY2hlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBWSxVQUFVLEVBQWdDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUk1QyxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUFvQixRQUFrQixFQUFVLG9CQUEwQztRQUF0RSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtJQUFHLENBQUM7SUFFdkYsYUFBYSxDQUFDLEtBQTJCLEVBQUUsUUFBMkI7UUFDM0UsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztRQUNuRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUVqRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0UsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztZQUNwRSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVPLFNBQVMsQ0FBQyxVQUF1QjtRQUN2QyxNQUFNLGdCQUFnQixHQUFHLENBQUMsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQU92RyxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFhO1NBQUcsQ0FBQTtRQUFoQixhQUFhO1lBTGxCLFFBQVEsQ0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUM7Z0JBQzFGLFlBQVksRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsR0FBRyxVQUFVLENBQUM7Z0JBQ2xELEdBQUcsRUFBRSxJQUFJO2FBQ1YsQ0FBQztXQUNJLGFBQWEsQ0FBRztRQUV0QixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOzs2R0E1Q1UsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBpbGVyLCBJbmplY3RhYmxlLCBNb2R1bGVXaXRoQ29tcG9uZW50RmFjdG9yaWVzLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVSURlZmluaXRpb25NZXRhZGF0YSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSwgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVsZW1lbnRDaGlsZHJlbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZWxlbWVudC1jaGlsZHJlbi9lbGVtZW50LWNoaWxkcmVuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50UmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VsZW1lbnQtcmVuZGVyZXIvZWxlbWVudC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2N1c3RvbS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmVkZXJhdGVkTW9kdWxlIH0gZnJvbSAnLi4vbW9kdWxlcy9mZWRlcmF0ZWQvZmVkZXJhdGVkLm1vZHVsZSc7XG5pbXBvcnQgeyBDb21waWxhdGlvblJlc3VsdCwgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudHNSZXNvbHZlciB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNNb2R1bGVTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLW1vZHVsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExhdW5jaGVyU2VydmljZSB7XG4gIHByaXZhdGUgbW9kdWxlPzogVHlwZTxOZ01vZHVsZT47XG4gIHByaXZhdGUgbW9kdWxlSW5zdGFuY2U/OiBNb2R1bGVXaXRoQ29tcG9uZW50RmFjdG9yaWVzPE5nTW9kdWxlPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlciwgcHJpdmF0ZSBkeW5hbWljTW9kdWxlU2VydmljZTogRHluYW1pY01vZHVsZVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGNvbXBpbGVNb2R1bGUodWlEZWY6IFVJRGVmaW5pdGlvbk1ldGFkYXRhLCBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPENvbXBpbGF0aW9uUmVzdWx0PiB7XG4gICAgY29uc3QgZWxlbWVudHNSZXNvbHZlciA9IG5ldyBFbGVtZW50c1Jlc29sdmVyKHVpRGVmLCBlbGVtZW50cyk7XG5cbiAgICB0aGlzLmR5bmFtaWNNb2R1bGVTZXJ2aWNlLmVsZW1lbnRzVHJlZSA9IGVsZW1lbnRzUmVzb2x2ZXIuZWxlbWVudHM7XG4gICAgdGhpcy5tb2R1bGUgPSB0aGlzLmdldE1vZHVsZShlbGVtZW50c1Jlc29sdmVyLmdldE5nQ29tcG9uZW50cygpKTtcblxuICAgIHJldHVybiBmcm9tKHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNBc3luYyh0aGlzLm1vZHVsZSkpLnBpcGUoXG4gICAgICB0YXAobSA9PiB7XG4gICAgICAgIHRoaXMuZHluYW1pY01vZHVsZVNlcnZpY2UuY29tcG9uZW50RmFjdG9yaWVzID0gbS5jb21wb25lbnRGYWN0b3JpZXM7XG4gICAgICAgIHRoaXMubW9kdWxlSW5zdGFuY2UgPSBtO1xuICAgICAgfSksXG4gICAgICBtYXAobSA9PiAoeyBtb2R1bGU6IG0sIGVsZW1lbnRzOiBlbGVtZW50c1Jlc29sdmVyLmVsZW1lbnRzIH0pKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubW9kdWxlSW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuZHluYW1pY01vZHVsZVNlcnZpY2UuY2xlYXIoKTtcbiAgICAgIHRoaXMubW9kdWxlSW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubW9kdWxlKSB7XG4gICAgICB0aGlzLmNvbXBpbGVyLmNsZWFyQ2FjaGVGb3IodGhpcy5tb2R1bGUpO1xuICAgICAgdGhpcy5tb2R1bGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2R1bGUoY29tcG9uZW50czogVHlwZTxhbnk+W10pOiBUeXBlPE5nTW9kdWxlPiB7XG4gICAgY29uc3Qgc3RhdGljQ29tcG9uZW50cyA9IFtFbGVtZW50Q2hpbGRyZW5Db21wb25lbnQsIEVsZW1lbnRSZW5kZXJlckNvbXBvbmVudCwgQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmVdO1xuXG4gICAgQE5nTW9kdWxlKHtcbiAgICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGZWRlcmF0ZWRNb2R1bGUsIERyYWdEcm9wTW9kdWxlXSxcbiAgICAgIGRlY2xhcmF0aW9uczogWy4uLnN0YXRpY0NvbXBvbmVudHMsIC4uLmNvbXBvbmVudHNdLFxuICAgICAgaml0OiB0cnVlLFxuICAgIH0pXG4gICAgY2xhc3MgRHluYW1pY01vZHVsZSB7fVxuXG4gICAgcmV0dXJuIER5bmFtaWNNb2R1bGU7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5cbmV4cG9ydCB0eXBlIEVMRU1FTlRfVFlQRSA9ICdDVVNUT00nIHwgJ0NPTlRBSU5FUicgfCAnU0VSVklDRScgfCAnUkVGRVJFTkNFJztcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50Q29uZmlnIHtcbiAgY29tcG9uZW50OiB0eXBlb2YgRW50aXR5O1xuICBwbHVnaW5zPzogdHlwZW9mIFBsdWdpbltdO1xuICBkZWZhdWx0VGVtcGxhdGU/OiBzdHJpbmc7XG4gIHN1cHByZXNzVGVtcGxhdGU/OiBib29sZWFuO1xuICBzdXBwcmVzc1N0eWxlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudE1vZGVsIHtcbiAgLyoqXG4gICAqIERlZmluZXMgYSBwYXRoIGZvciBhbiBlbGVtZW50IG1vZGVsLlxuICAgKiBJdCdzIGNvbWJpbmVkIHdpdGggYSBwYXRoIHRvIGEgdGFyZ2V0IGVsZW1lbnQgYW5kIGFuIG91dHB1dCBwcm9wZXJ0eSBuYW1lLlxuICAgKlxuICAgKiBJZiB0YXJnZXQgdmFsdWUgaXMgYW4gQXJyYXksIHRoZW4gdGhlIGVsZW1lbnQgd2lsbCBiZSByZXBlYXRlZCBgbmAgdGltZXMgYW5kIGVhY2ggaW5zdGFuY2Ugd2lsbCBnZXQgaXQncyBvd24gdmFsdWUuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKiAtIGAvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqIC0gYC4uLy4uL1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICogLSBgQFNlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgVUlEZWZpbml0aW9uVHlwZSA9IENPTkZJR1VSQVRJT05gLlxuICAgKi9cbiAgbGluZUl0ZW0/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudERlZmF1bHRNZXRhZGF0YSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogRUxFTUVOVF9UWVBFO1xuICAvKipcbiAgICogTWFrZSBjb21wb25lbnQgc2hhcmVkXG4gICAqXG4gICAqIFVzZWQgb25seSB3aGVuIGB0eXBlICE9PSBSRUZFUkVOQ0VgXG4gICAqL1xuICBpc1NoYXJlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbGVtZW50IG1vZHVsZSBuYW1lLiBNb2R1bGUgaXMgdXNlZCBmb3IgcXVpY2sgYWNjZXNzIGZyb20gb3RoZXIgZWxlbWVudHMuXG4gICAqXG4gICAqIEZvciBleGFtcGxlIHdlIGhhdmUgYSBgRGF0YVNlcnZpY2VgIGVsZW1lbnQsIGFuZCB3ZSBzYXkgaXQncyBkZWNsYXJlZCBpbiBgU2VydmljZXNgIG1vZHVsZS4gVGhlbiBpdCBjYW4gYmUgYWNjZXNzZWQgaW4gb3RoZXIgZWxlbWVudHMgYG1vZGVsYCwgYGlucHV0c2Agb3IgYG91dHB1dHNgIHByb3BlcnRpZXMgdGhpcyB3YXk6IGBAU2VydmljZXMvRGF0YVNlcnZpY2VgXG4gICAqXG4gICAqL1xuICBtb2R1bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGlucHV0cyBvZiB0aGUgZWxlbWVudC4gQW4gb2JqZWN0IHdoZXJlIGBrZXlgIGlzIHRoZSBuYW1lIG9mIHRoZSBpbnB1dCBhbmQgYHZhbHVlYCBpcyB0YXJnZXQgcGF0aFxuICAgKlxuICAgKiBJZiBgdmFsdWUgPT0gbnVsbGAsIHRoZW4gdGhlIGVsZW1lbnQgYWN0cyBsaWtlIGEgdGFyZ2V0IC0gd2UgZXhwZWN0IG90aGVyIGVsZW1lbnQgdG8gY29ubmVjdCB0byBpdC5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqXG4gICAqIDEuIGBwcm9kdWN0czogJy9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlJ2BcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBwcm9kdWN0c2AgaW5wdXQgd2hpY2ggd2lsbCBnZXQgdGhlIGRhdGEgZnJvbSBgcHJvZHVjdHNgIG91dHB1dCBpbiBkYXRhc2VydmljZSBlbGVtZW50XG4gICAqXG4gICAqIDIuIGBwcm9kdWN0c0xpc3Q6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHMnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzTGlzdGAgaW5wdXQgd2hpY2ggd2lsbCBnZXQgdGhlIGRhdGEgZnJvbSBgcHJvZHVjdHNgIG91dHB1dCBpbiBkYXRhc2VydmljZSBlbGVtZW50XG4gICAqXG4gICAqIDMuIGBwcm9kdWN0c0xpc3Q6ICdAU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzJ2BcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBwcm9kdWN0c0xpc3RgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudCB3aGljaCBpcyBkZWNsYXJlZCBpbiBgU2VydmljZXNgIG1vZHVsZVxuICAgKlxuICAgKiA0LiBgb25Qcm9kdWN0U2VsZWN0OiBudWxsYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYG9uUHJvZHVjdFNlbGVjdGAgaW5wdXQsIGFuZCB0aGUgc2NyaXB0IGNvdWxkIGhhdmUgYSBsb2dpYyB3aGljaCB3aWxsIGxpc3RlbiBvbiB0aGUgZXZlbnRzXG4gICAqXG4gICAqIFJlbGF0aXZlIHBhdGhzIGFsbG93ZWQ6XG4gICAqXG4gICAqIC0gYC4uYFxuICAgKiAtIGAuLi86cHJvZHVjdHNgXG4gICAqIC0gYC4uLy4uL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICpcbiAgICovXG4gIGlucHV0cz86IERpY3Rpb25hcnk8c3RyaW5nIHwgbnVsbD47XG4gIC8qKlxuICAgKiBEZWZpbmVzIG91dHB1dHMgb2YgdGhlIGVsZW1lbnQuIEFuIG9iamVjdCB3aGVyZSBga2V5YCBpcyB0aGUgbmFtZSBvZiB0aGUgb3V0cHV0IGFuZCBgdmFsdWVgIGlzIHRhcmdldCBwYXRoXG4gICAqXG4gICAqIElmIGB2YWx1ZSA9PSBudWxsYCwgdGhlbiB0aGUgZWxlbWVudCBhY3RzIGxpa2UgYSB0YXJnZXQgLSB3ZSBleHBlY3Qgb3RoZXIgZWxlbWVudCB0byBjb25uZWN0IHRvIGl0LlxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICpcbiAgICogMS4gYG9uUHJvZHVjdFNlbGVjdDogJy9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpoYW5kbGVQcm9kdWN0U2VsZWN0J2BcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBvblByb2R1Y3RTZWxlY3RgIG91dHB1dCwgd2hpY2ggd2lsbCBlbWl0IGV2ZW50cyB0byB0aGUgYGRhdGFzZXJ2aWNlYCBlbGVtZW50IGBoYW5kbGVQcm9kdWN0U2VsZWN0YCBpbnB1dFxuICAgKlxuICAgKiAyLiBgb25Qcm9kdWN0U2VsZWN0OiAnQFNlcnZpY2VzL0RhdGFTZXJ2aWNlLzpoYW5kbGVQcm9kdWN0U2VsZWN0J2BcbiAgICogU2FtZSBvdXRwdXQgYnV0IGFjY2Vzc2luZyBkYXRhc2VydmljZSBieSB0aGUgU2VydmljZSBtb2R1bGVcbiAgICovXG4gIG91dHB1dHM/OiBEaWN0aW9uYXJ5PHN0cmluZyB8IG51bGw+O1xuICBtb2RlbD86IEVsZW1lbnRNb2RlbDtcbiAgLyoqXG4gICAqIERlZmluZXMgYSBzaGFyZWQgY29tcG9uZW50IG5hbWUgdG8gdXNlIGFzIGEgcmVmZXJlbmNlXG4gICAqXG4gICAqIFVzZWQgb25seSB3aGVuIGB0eXBlID09PSBSRUZFUkVOQ0VgXG4gICAqL1xuICByZWZlcmVuY2U/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudE1ldGFkYXRhIGV4dGVuZHMgT21pdDxFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCAnY2hpbGRyZW4nPiB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXTtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHN0eWxlcz86IHN0cmluZztcbiAgc2NyaXB0Pzogc3RyaW5nO1xuICBtZXRhZGF0YT86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5cbmV4cG9ydCB0eXBlIEVMRU1FTlRfVFlQRSA9ICdDVVNUT00nIHwgJ0NPTlRBSU5FUicgfCAnU0VSVklDRScgfCAnUkVGRVJFTkNFJztcblxuZXhwb3J0IHR5cGUgRWxlbWVudFN0eWxlRGVjbGFyYXRpb24gPSBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRDb25maWcge1xuICBjb21wb25lbnQ6IHR5cGVvZiBFbnRpdHk7XG4gIHBsdWdpbnM/OiB0eXBlb2YgUGx1Z2luW107XG4gIGRlZmF1bHRUZW1wbGF0ZT86IHN0cmluZztcbiAgc3VwcHJlc3NUZW1wbGF0ZT86IGJvb2xlYW47XG4gIHN1cHByZXNzU3R5bGVzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TW9kZWwge1xuICAvKipcbiAgICogRGVmaW5lcyBhIHBhdGggZm9yIGFuIGVsZW1lbnQgbW9kZWwuXG4gICAqIEl0J3MgY29tYmluZWQgd2l0aCBhIHBhdGggdG8gYSB0YXJnZXQgZWxlbWVudCBhbmQgYW4gb3V0cHV0IHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIElmIHRhcmdldCB2YWx1ZSBpcyBhbiBBcnJheSwgdGhlbiB0aGUgZWxlbWVudCB3aWxsIGJlIHJlcGVhdGVkIGBuYCB0aW1lcyBhbmQgZWFjaCBpbnN0YW5jZSB3aWxsIGdldCBpdCdzIG93biB2YWx1ZS5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqIC0gYC9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKiAtIGBAU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgb25seSB3aGVuIGBVSURlZmluaXRpb25UeXBlID0gQ09ORklHVVJBVElPTmAuXG4gICAqL1xuICBsaW5lSXRlbT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50RGVmYXVsdE1ldGFkYXRhIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBFTEVNRU5UX1RZUEU7XG4gIC8qKlxuICAgKiBNYWtlIGNvbXBvbmVudCBzaGFyZWRcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgIT09IFJFRkVSRU5DRWBcbiAgICovXG4gIGlzU2hhcmVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVsZW1lbnQgbW9kdWxlIG5hbWUuIE1vZHVsZSBpcyB1c2VkIGZvciBxdWljayBhY2Nlc3MgZnJvbSBvdGhlciBlbGVtZW50cy5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUgd2UgaGF2ZSBhIGBEYXRhU2VydmljZWAgZWxlbWVudCwgYW5kIHdlIHNheSBpdCdzIGRlY2xhcmVkIGluIGBTZXJ2aWNlc2AgbW9kdWxlLiBUaGVuIGl0IGNhbiBiZSBhY2Nlc3NlZCBpbiBvdGhlciBlbGVtZW50cyBgbW9kZWxgLCBgaW5wdXRzYCBvciBgb3V0cHV0c2AgcHJvcGVydGllcyB0aGlzIHdheTogYEBTZXJ2aWNlcy9EYXRhU2VydmljZWBcbiAgICpcbiAgICovXG4gIG1vZHVsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgaW5wdXRzIG9mIHRoZSBlbGVtZW50LiBBbiBvYmplY3Qgd2hlcmUgYGtleWAgaXMgdGhlIG5hbWUgb2YgdGhlIGlucHV0IGFuZCBgdmFsdWVgIGlzIHRhcmdldCBwYXRoXG4gICAqXG4gICAqIElmIGB2YWx1ZSA9PSBudWxsYCwgdGhlbiB0aGUgZWxlbWVudCBhY3RzIGxpa2UgYSB0YXJnZXQgLSB3ZSBleHBlY3Qgb3RoZXIgZWxlbWVudCB0byBjb25uZWN0IHRvIGl0LlxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICpcbiAgICogMS4gYHByb2R1Y3RzOiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzYCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnRcbiAgICpcbiAgICogMi4gYHByb2R1Y3RzTGlzdDogJy9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0cydgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNMaXN0YCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnRcbiAgICpcbiAgICogMy4gYHByb2R1Y3RzTGlzdDogJ0BTZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHMnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzTGlzdGAgaW5wdXQgd2hpY2ggd2lsbCBnZXQgdGhlIGRhdGEgZnJvbSBgcHJvZHVjdHNgIG91dHB1dCBpbiBkYXRhc2VydmljZSBlbGVtZW50IHdoaWNoIGlzIGRlY2xhcmVkIGluIGBTZXJ2aWNlc2AgbW9kdWxlXG4gICAqXG4gICAqIDQuIGBvblByb2R1Y3RTZWxlY3Q6IG51bGxgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgb25Qcm9kdWN0U2VsZWN0YCBpbnB1dCwgYW5kIHRoZSBzY3JpcHQgY291bGQgaGF2ZSBhIGxvZ2ljIHdoaWNoIHdpbGwgbGlzdGVuIG9uIHRoZSBldmVudHNcbiAgICpcbiAgICogUmVsYXRpdmUgcGF0aHMgYWxsb3dlZDpcbiAgICpcbiAgICogLSBgLi5gXG4gICAqIC0gYC4uLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKlxuICAgKi9cbiAgaW5wdXRzPzogRGljdGlvbmFyeTxzdHJpbmcgfCBudWxsPjtcbiAgLyoqXG4gICAqIERlZmluZXMgb3V0cHV0cyBvZiB0aGUgZWxlbWVudC4gQW4gb2JqZWN0IHdoZXJlIGBrZXlgIGlzIHRoZSBuYW1lIG9mIHRoZSBvdXRwdXQgYW5kIGB2YWx1ZWAgaXMgdGFyZ2V0IHBhdGhcbiAgICpcbiAgICogSWYgYHZhbHVlID09IG51bGxgLCB0aGVuIHRoZSBlbGVtZW50IGFjdHMgbGlrZSBhIHRhcmdldCAtIHdlIGV4cGVjdCBvdGhlciBlbGVtZW50IHRvIGNvbm5lY3QgdG8gaXQuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKlxuICAgKiAxLiBgb25Qcm9kdWN0U2VsZWN0OiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOmhhbmRsZVByb2R1Y3RTZWxlY3QnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYG9uUHJvZHVjdFNlbGVjdGAgb3V0cHV0LCB3aGljaCB3aWxsIGVtaXQgZXZlbnRzIHRvIHRoZSBgZGF0YXNlcnZpY2VgIGVsZW1lbnQgYGhhbmRsZVByb2R1Y3RTZWxlY3RgIGlucHV0XG4gICAqXG4gICAqIDIuIGBvblByb2R1Y3RTZWxlY3Q6ICdAU2VydmljZXMvRGF0YVNlcnZpY2UvOmhhbmRsZVByb2R1Y3RTZWxlY3QnYFxuICAgKiBTYW1lIG91dHB1dCBidXQgYWNjZXNzaW5nIGRhdGFzZXJ2aWNlIGJ5IHRoZSBTZXJ2aWNlIG1vZHVsZVxuICAgKi9cbiAgb3V0cHV0cz86IERpY3Rpb25hcnk8c3RyaW5nIHwgbnVsbD47XG4gIG1vZGVsPzogRWxlbWVudE1vZGVsO1xuICAvKipcbiAgICogRGVmaW5lcyBhIHNoYXJlZCBjb21wb25lbnQgbmFtZSB0byB1c2UgYXMgYSByZWZlcmVuY2VcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgPT09IFJFRkVSRU5DRWBcbiAgICovXG4gIHJlZmVyZW5jZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIENvbnRhaW5zIHN0eWxlcyBjb25maWd1cmFibGUgZnJvbSBVSSBidWlsZGVyXG4gICAqL1xuICBjb25maWd1cmVkU3R5bGVzPzogRWxlbWVudFN0eWxlRGVjbGFyYXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudE1ldGFkYXRhIGV4dGVuZHMgT21pdDxFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCAnY2hpbGRyZW4nPiB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXTtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHN0eWxlcz86IHN0cmluZztcbiAgc2NyaXB0Pzogc3RyaW5nO1xuICBtZXRhZGF0YT86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsYXRpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvY29tcGlsYXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhDb21wb25lbnRGYWN0b3JpZXMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuL2NvbW1vbi50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGlsYXRpb25SZXN1bHQge1xuICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW107XG4gIG1vZHVsZTogTW9kdWxlV2l0aENvbXBvbmVudEZhY3RvcmllczxOZ01vZHVsZT47XG59XG4iXX0=
@@ -1,6 +1,8 @@
1
1
  export * from './common.types';
2
+ export * from './compilation.types';
2
3
  export * from './configuration.types';
3
4
  export * from './elements.types';
4
5
  export * from './integration.types';
6
+ export * from './metrics.types';
5
7
  export * from './path.types';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnRzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXRoLnR5cGVzJztcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBpbGF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnRzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRyaWNzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0aC50eXBlcyc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy90eXBlcy9tZXRyaWNzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE1ldHJpYyB7XG4gIGtleTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG4iXX0=
@@ -35,6 +35,7 @@ export const metadataToElement = (metadata, recursive = true) => {
35
35
  inputs: metadata.inputs,
36
36
  outputs: metadata.outputs,
37
37
  children: metadata.children.map(({ name }) => name),
38
+ configuredStyles: metadata.configuredStyles,
38
39
  };
39
40
  const normalizedElMetadata = normalizeElementMetadata(elMetadata);
40
41
  if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {
@@ -99,6 +100,10 @@ export const normalizeElementMetadata = (elementMetadata) => {
99
100
  if (!metadata.isShared) {
100
101
  delete metadata.isShared;
101
102
  }
103
+ // configuredStyles
104
+ if (!metadata.configuredStyles) {
105
+ delete metadata.configuredStyles;
106
+ }
102
107
  return metadata;
103
108
  };
104
109
  export const extractElementMetadata = (script) => {
@@ -153,4 +158,4 @@ export function flattenElements(elements) {
153
158
  export function isSharedElement(el) {
154
159
  return Boolean(el.isShared) && el.type !== 'REFERENCE';
155
160
  }
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBQ2xELE1BQU0sd0JBQXdCLEdBQUcsMERBQTBELENBQUM7QUFFNUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBRXJDLFlBQVksT0FBZSxFQUFFLGdCQUFpQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQWEsRUFBRSxVQUFtQixFQUFtQixFQUFFOztJQUN2RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxD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VUFBVSxLQUFLO1FBQ3BFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBZSxFQUFXLEVBQUU7O0lBQ3hELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFBLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakYsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDNUIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxRQUEyQjtJQUN6RCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxlQUFlLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEVBQW1CO0lBQ2pELE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVUlFbGVtZW50IH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQgeyBJT1BsdWdpbiB9IGZyb20gJy4uL3BsdWdpbnMvaW8ucGx1Z2luJztcbmltcG9ydCB7IEVsZW1lbnRDb25maWcsIEVsZW1lbnREZWZhdWx0TWV0YWRhdGEsIEVsZW1lbnRNZXRhZGF0YSwgRWxlbWVudE1vZGVsLCBFTEVNRU5UX1RZUEUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IEVYUE9SVEVEX0NMQVNTX1JFR0VYID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvO1xuY29uc3QgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYID0gL0BFbGVtZW50RGVmaW5pdGlvblxcKChbXFxzXFxTXSspXFwpKFxcbnxcXHJcXG58LikqZXhwb3J0IGNsYXNzL2c7XG5cbmV4cG9ydCBjbGFzcyBVaUJ1aWxkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGFmZmVjdGVkTWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YTtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgdGhpcy5hZmZlY3RlZE1ldGFkYXRhID0gYWZmZWN0ZWRNZXRhZGF0YTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZWxlbWVudFRvTWV0YWRhdGEgPSAoZWw6IFVJRWxlbWVudCwgcGFyZW50UGF0aD86IHN0cmluZyk6IEVsZW1lbnRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IHNjcmlwdCA9IGVsLnNjcmlwdCAmJiB3aW5kb3cuYXRvYihlbC5zY3JpcHQpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IGVsLnRlbXBsYXRlICYmIHdpbmRvdy5hdG9iKGVsLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gZWwuc3R5bGVzICYmIHdpbmRvdy5hdG9iKGVsLnN0eWxlcyk7XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgaWYgKCFleHBvcnRlZENsYXNzTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNjcmlwdCBkb2Vzbid0IGhhdmUgZXhwb3J0ZWQgY2xhc3NcIik7XG4gIH1cblxuICBjb25zdCBlbGVtZW50TWV0YWRhdGEgPSBleHRyYWN0RWxlbWVudE1ldGFkYXRhKHNjcmlwdCB8fCAnJyk7XG4gIGNvbnN0IHBhdGggPSAocGFyZW50UGF0aCA/IHBhcmVudFBhdGggKyAnLycgOiAnJykgKyBlbGVtZW50TWV0YWRhdGEubmFtZTtcblxuICByZXR1cm4ge1xuICAgIC4uLmVsZW1lbnRNZXRhZGF0YSxcbiAgICBwYXRoLFxuICAgIHNjcmlwdDogc2NyaXB0Py5yZXBsYWNlKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWCwgJ2V4cG9ydCBjbGFzcycpLFxuICAgIHRlbXBsYXRlLFxuICAgIHN0eWxlcyxcbiAgICBjaGlsZHJlbjogZWwuY2hpbGRyZW4ubWFwKGNoaWxkID0+IGVsZW1lbnRUb01ldGFkYXRhKGNoaWxkLCBwYXRoKSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgbWV0YWRhdGFUb0VsZW1lbnQgPSAobWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YSwgcmVjdXJzaXZlOiBib29sZWFuID0gdHJ1ZSk6IFVJRWxlbWVudCA9PiB7XG4gIGNvbnN0IGVsTWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgbmFtZTogbWV0YWRhdGEubmFtZSxcbiAgICBpc1NoYXJlZDogbWV0YWRhdGEuaXNTaGFyZWQsXG4gICAgdHlwZTogbWV0YWRhdGEudHlwZSxcbiAgICBtb2RlbDogbWV0YWRhdGEubW9kZWwsXG4gICAgbW9kdWxlOiBtZXRhZGF0YS5tb2R1bGUsXG4gICAgcmVmZXJlbmNlOiBtZXRhZGF0YS5yZWZlcmVuY2UsXG4gICAgaW5wdXRzOiBtZXRhZGF0YS5pbnB1dHMsXG4gICAgb3V0cHV0czogbWV0YWRhdGEub3V0cHV0cyxcbiAgICBjaGlsZHJlbjogbWV0YWRhdGEuY2hpbGRyZW4ubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksXG4gIH07XG4gIGNvbnN0IG5vcm1hbGl6ZWRFbE1ldGFkYXRhID0gbm9ybWFsaXplRWxlbWVudE1ldGFkYXRhKGVsTWV0YWRhdGEpO1xuXG4gIGlmICghbWV0YWRhdGEuc2NyaXB0IHx8ICFFWFBPUlRFRF9DTEFTU19SRUdFWC50ZXN0KG1ldGFkYXRhLnNjcmlwdCkpIHtcbiAgICB0aHJvdyBuZXcgVWlCdWlsZEVycm9yKGAnJHttZXRhZGF0YS5uYW1lfScgY29tcG9uZW50IHNjcmlwdCBpcyBtaXNzaW5nIGFuIGV4cG9ydGVkIGNsYXNzYCwgbWV0YWRhdGEpO1xuICB9XG5cbiAgY29uc3Qgc2NyaXB0ID1cbiAgICBtZXRhZGF0YS5zY3JpcHQgJiZcbiAgICB3aW5kb3cuYnRvYShcbiAgICAgIG1ldGFkYXRhLnNjcmlwdC5yZXBsYWNlKFxuICAgICAgICBFWFBPUlRFRF9DTEFTU19SRUdFWCxcbiAgICAgICAgYEBFbGVtZW50RGVmaW5pdGlvbigke3N0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YShub3JtYWxpemVkRWxNZXRhZGF0YSl9KVxcbmV4cG9ydCBjbGFzcyBTY3JpcHRgLFxuICAgICAgKSxcbiAgICApO1xuICBjb25zdCB0ZW1wbGF0ZSA9IG1ldGFkYXRhLnRlbXBsYXRlICYmIHdpbmRvdy5idG9hKG1ldGFkYXRhLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gbWV0YWRhdGEuc3R5bGVzICYmIHdpbmRvdy5idG9hKG1ldGFkYXRhLnN0eWxlcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBzY3JpcHQsXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiByZWN1cnNpdmUgPyBtZXRhZGF0YS5jaGlsZHJlbi5tYXAobWV0YSA9PiBtZXRhZGF0YVRvRWxlbWVudChtZXRhKSkgOiBbXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEgPSAoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0geyAuLi5lbGVtZW50TWV0YWRhdGEgfTtcblxuICAvLyBtb2RlbFxuICBjb25zdCB7IGxpbmVJdGVtLCBwYXRoIH0gPSBtZXRhZGF0YS5tb2RlbCA/PyB7fTtcbiAgY29uc3QgbW9kZWw6IEVsZW1lbnRNb2RlbCB8IHVuZGVmaW5lZCA9IGxpbmVJdGVtID8geyBsaW5lSXRlbSB9IDogcGF0aCA/IHsgcGF0aCB9IDogdW5kZWZpbmVkO1xuICBpZiAobW9kZWwpIHtcbiAgICBtZXRhZGF0YS5tb2RlbCA9IG1vZGVsO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2RlbDtcbiAgfVxuXG4gIC8vIG1vZHVsZVxuICBpZiAoIW1ldGFkYXRhLm1vZHVsZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2R1bGU7XG4gIH1cblxuICAvLyByZWZlcmVuY2VcbiAgaWYgKCFtZXRhZGF0YS5yZWZlcmVuY2UpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEucmVmZXJlbmNlO1xuICB9XG5cbiAgLy8gaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLmlucHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAoaW5wdXRzICYmIE9iamVjdC5rZXlzKGlucHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLmlucHV0cyA9IGlucHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaW5wdXRzO1xuICB9XG5cbiAgLy8gb3V0cHV0c1xuICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEub3V0cHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAob3V0cHV0cyAmJiBPYmplY3Qua2V5cyhvdXRwdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEub3V0cHV0cyA9IG91dHB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm91dHB1dHM7XG4gIH1cblxuICAvLyBjaGlsZHJlblxuICBpZiAoIW1ldGFkYXRhLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY2hpbGRyZW47XG4gIH1cblxuICAvLyBpc1NoYXJlZFxuICBpZiAoIW1ldGFkYXRhLmlzU2hhcmVkKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlzU2hhcmVkO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEgPSAoc2NyaXB0OiBzdHJpbmcpOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIHJldHVybiBuZXcgRnVuY3Rpb24oYHJldHVybiAke21ldGFkYXRhU3RyaW5nfWApKCk7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0ZW5kRWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nLCBleHRlbmQ6IFBhcnRpYWw8RWxlbWVudERlZmF1bHRNZXRhZGF0YT4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBtZXRhZGF0YVN0cmluZyA9IChNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICAvLyBuZWVkIHRvIHJlc2V0IHJlZ2V4IGxhc3QgaW5kZXggdG8gcHJldmVudCBudWxsIHJlc3VsdCBmb3IgbmV4dCBleGVjdXRpb25cbiAgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmxhc3RJbmRleCA9IDA7XG5cbiAgaWYgKCFtZXRhZGF0YVN0cmluZykge1xuICAgIHJldHVybiBzY3JpcHQ7XG4gIH1cblxuICBjb25zdCB1cGRhdGVkID0geyAuLi5uZXcgRnVuY3Rpb24oYHJldHVybiAke21ldGFkYXRhU3RyaW5nfWApKCksIC4uLmV4dGVuZCB9O1xuICByZXR1cm4gc2NyaXB0LnJlcGxhY2UobWV0YWRhdGFTdHJpbmcsIHN0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YSh1cGRhdGVkKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RWxlbWVudENvbmZpZyA9ICh0eXBlOiBFTEVNRU5UX1RZUEUpOiBFbGVtZW50Q29uZmlnID0+IHtcbiAgcmV0dXJuIENPTkZJR1t0eXBlXTtcbn07XG5cbmV4cG9ydCBjb25zdCBkb2VzRWxlbWVudFN1cHBvcnRJTyA9ICh0eXBlOiBFTEVNRU5UX1RZUEUpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIGdldEVsZW1lbnRDb25maWcodHlwZSkucGx1Z2lucz8uaW5jbHVkZXMoSU9QbHVnaW4pID8/IGZhbHNlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YShlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEpIHtcbiAgY29uc3QgY2xlYW5lZCA9IEpTT04uc3RyaW5naWZ5KGVsZW1lbnRNZXRhZGF0YSwgbnVsbCwgMik7XG5cbiAgcmV0dXJuIGNsZWFuZWQucmVwbGFjZSgvXltcXHQgXSpcIlteOlxcblxccl0rKD88IVxcXFwpXCI6L2dtLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICByZXR1cm4gbWF0Y2gucmVwbGFjZSgvXCIvZywgJycpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRTY3JpcHQgPSAoc2NyaXB0Pzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghc2NyaXB0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBtZXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQpO1xuICBpZiAoIW1ldGEubmFtZSB8fCAhbWV0YS50eXBlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbkVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4uZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2hhcmVkRWxlbWVudChlbDogRWxlbWVudE1ldGFkYXRhKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbn1cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBQ2xELE1BQU0sd0JBQXdCLEdBQUcsMERBQTBELENBQUM7QUFFNUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBRXJDLFlBQVksT0FBZSxFQUFFLGdCQUFpQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQWEsRUFBRSxVQUFtQixFQUFtQixFQUFFOztJQUN2RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxD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LElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVJRWxlbWVudCB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgZmxhdHRlbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgSU9QbHVnaW4gfSBmcm9tICcuLi9wbHVnaW5zL2lvLnBsdWdpbic7XG5pbXBvcnQgeyBFbGVtZW50Q29uZmlnLCBFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRNb2RlbCwgRUxFTUVOVF9UWVBFIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBFWFBPUlRFRF9DTEFTU19SRUdFWCA9IC9leHBvcnQgY2xhc3MgKFxcUyspLztcbmNvbnN0IE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWCA9IC9ARWxlbWVudERlZmluaXRpb25cXCgoW1xcc1xcU10rKVxcKShcXG58XFxyXFxufC4pKmV4cG9ydCBjbGFzcy9nO1xuXG5leHBvcnQgY2xhc3MgVWlCdWlsZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBlbC5zY3JpcHQgJiYgd2luZG93LmF0b2IoZWwuc2NyaXB0KTtcbiAgY29uc3QgdGVtcGxhdGUgPSBlbC50ZW1wbGF0ZSAmJiB3aW5kb3cuYXRvYihlbC50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGVsLnN0eWxlcyAmJiB3aW5kb3cuYXRvYihlbC5zdHlsZXMpO1xuXG4gIGNvbnN0IGV4cG9ydGVkQ2xhc3NOYW1lID0gc2NyaXB0ICYmIChFWFBPUlRFRF9DTEFTU19SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTY3JpcHQgZG9lc24ndCBoYXZlIGV4cG9ydGVkIGNsYXNzXCIpO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudE1ldGFkYXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQgfHwgJycpO1xuICBjb25zdCBwYXRoID0gKHBhcmVudFBhdGggPyBwYXJlbnRQYXRoICsgJy8nIDogJycpICsgZWxlbWVudE1ldGFkYXRhLm5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5lbGVtZW50TWV0YWRhdGEsXG4gICAgcGF0aCxcbiAgICBzY3JpcHQ6IHNjcmlwdD8ucmVwbGFjZShNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgsICdleHBvcnQgY2xhc3MnKSxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IGVsLmNoaWxkcmVuLm1hcChjaGlsZCA9PiBlbGVtZW50VG9NZXRhZGF0YShjaGlsZCwgcGF0aCkpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhVG9FbGVtZW50ID0gKG1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEsIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IHRydWUpOiBVSUVsZW1lbnQgPT4ge1xuICBjb25zdCBlbE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0ge1xuICAgIG5hbWU6IG1ldGFkYXRhLm5hbWUsXG4gICAgaXNTaGFyZWQ6IG1ldGFkYXRhLmlzU2hhcmVkLFxuICAgIHR5cGU6IG1ldGFkYXRhLnR5cGUsXG4gICAgbW9kZWw6IG1ldGFkYXRhLm1vZGVsLFxuICAgIG1vZHVsZTogbWV0YWRhdGEubW9kdWxlLFxuICAgIHJlZmVyZW5jZTogbWV0YWRhdGEucmVmZXJlbmNlLFxuICAgIGlucHV0czogbWV0YWRhdGEuaW5wdXRzLFxuICAgIG91dHB1dHM6IG1ldGFkYXRhLm91dHB1dHMsXG4gICAgY2hpbGRyZW46IG1ldGFkYXRhLmNoaWxkcmVuLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpLFxuICAgIGNvbmZpZ3VyZWRTdHlsZXM6IG1ldGFkYXRhLmNvbmZpZ3VyZWRTdHlsZXMsXG4gIH07XG4gIGNvbnN0IG5vcm1hbGl6ZWRFbE1ldGFkYXRhID0gbm9ybWFsaXplRWxlbWVudE1ldGFkYXRhKGVsTWV0YWRhdGEpO1xuXG4gIGlmICghbWV0YWRhdGEuc2NyaXB0IHx8ICFFWFBPUlRFRF9DTEFTU19SRUdFWC50ZXN0KG1ldGFkYXRhLnNjcmlwdCkpIHtcbiAgICB0aHJvdyBuZXcgVWlCdWlsZEVycm9yKGAnJHttZXRhZGF0YS5uYW1lfScgY29tcG9uZW50IHNjcmlwdCBpcyBtaXNzaW5nIGFuIGV4cG9ydGVkIGNsYXNzYCwgbWV0YWRhdGEpO1xuICB9XG5cbiAgY29uc3Qgc2NyaXB0ID1cbiAgICBtZXRhZGF0YS5zY3JpcHQgJiZcbiAgICB3aW5kb3cuYnRvYShcbiAgICAgIG1ldGFkYXRhLnNjcmlwdC5yZXBsYWNlKFxuICAgICAgICBFWFBPUlRFRF9DTEFTU19SRUdFWCxcbiAgICAgICAgYEBFbGVtZW50RGVmaW5pdGlvbigke3N0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YShub3JtYWxpemVkRWxNZXRhZGF0YSl9KVxcbmV4cG9ydCBjbGFzcyBTY3JpcHRgLFxuICAgICAgKSxcbiAgICApO1xuICBjb25zdCB0ZW1wbGF0ZSA9IG1ldGFkYXRhLnRlbXBsYXRlICYmIHdpbmRvdy5idG9hKG1ldGFkYXRhLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gbWV0YWRhdGEuc3R5bGVzICYmIHdpbmRvdy5idG9hKG1ldGFkYXRhLnN0eWxlcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBzY3JpcHQsXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiByZWN1cnNpdmUgPyBtZXRhZGF0YS5jaGlsZHJlbi5tYXAobWV0YSA9PiBtZXRhZGF0YVRvRWxlbWVudChtZXRhKSkgOiBbXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEgPSAoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0geyAuLi5lbGVtZW50TWV0YWRhdGEgfTtcblxuICAvLyBtb2RlbFxuICBjb25zdCB7IGxpbmVJdGVtLCBwYXRoIH0gPSBtZXRhZGF0YS5tb2RlbCA/PyB7fTtcbiAgY29uc3QgbW9kZWw6IEVsZW1lbnRNb2RlbCB8IHVuZGVmaW5lZCA9IGxpbmVJdGVtID8geyBsaW5lSXRlbSB9IDogcGF0aCA/IHsgcGF0aCB9IDogdW5kZWZpbmVkO1xuICBpZiAobW9kZWwpIHtcbiAgICBtZXRhZGF0YS5tb2RlbCA9IG1vZGVsO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2RlbDtcbiAgfVxuXG4gIC8vIG1vZHVsZVxuICBpZiAoIW1ldGFkYXRhLm1vZHVsZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2R1bGU7XG4gIH1cblxuICAvLyByZWZlcmVuY2VcbiAgaWYgKCFtZXRhZGF0YS5yZWZlcmVuY2UpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEucmVmZXJlbmNlO1xuICB9XG5cbiAgLy8gaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLmlucHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAoaW5wdXRzICYmIE9iamVjdC5rZXlzKGlucHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLmlucHV0cyA9IGlucHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaW5wdXRzO1xuICB9XG5cbiAgLy8gb3V0cHV0c1xuICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEub3V0cHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAob3V0cHV0cyAmJiBPYmplY3Qua2V5cyhvdXRwdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEub3V0cHV0cyA9IG91dHB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm91dHB1dHM7XG4gIH1cblxuICAvLyBjaGlsZHJlblxuICBpZiAoIW1ldGFkYXRhLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY2hpbGRyZW47XG4gIH1cblxuICAvLyBpc1NoYXJlZFxuICBpZiAoIW1ldGFkYXRhLmlzU2hhcmVkKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlzU2hhcmVkO1xuICB9XG5cbiAgLy8gY29uZmlndXJlZFN0eWxlc1xuICBpZiAoIW1ldGFkYXRhLmNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcztcbiAgfVxuXG4gIHJldHVybiBtZXRhZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0RWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICByZXR1cm4gbmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dGVuZEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZywgZXh0ZW5kOiBQYXJ0aWFsPEVsZW1lbnREZWZhdWx0TWV0YWRhdGE+KTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIGlmICghbWV0YWRhdGFTdHJpbmcpIHtcbiAgICByZXR1cm4gc2NyaXB0O1xuICB9XG5cbiAgY29uc3QgdXBkYXRlZCA9IHsgLi4ubmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpLCAuLi5leHRlbmQgfTtcbiAgcmV0dXJuIHNjcmlwdC5yZXBsYWNlKG1ldGFkYXRhU3RyaW5nLCBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEodXBkYXRlZCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsZW1lbnRDb25maWcgPSAodHlwZTogRUxFTUVOVF9UWVBFKTogRWxlbWVudENvbmZpZyA9PiB7XG4gIHJldHVybiBDT05GSUdbdHlwZV07XG59O1xuXG5leHBvcnQgY29uc3QgZG9lc0VsZW1lbnRTdXBwb3J0SU8gPSAodHlwZTogRUxFTUVOVF9UWVBFKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBnZXRFbGVtZW50Q29uZmlnKHR5cGUpLnBsdWdpbnM/LmluY2x1ZGVzKElPUGx1Z2luKSA/PyBmYWxzZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKSB7XG4gIGNvbnN0IGNsZWFuZWQgPSBKU09OLnN0cmluZ2lmeShlbGVtZW50TWV0YWRhdGEsIG51bGwsIDIpO1xuXG4gIHJldHVybiBjbGVhbmVkLnJlcGxhY2UoL15bXFx0IF0qXCJbXjpcXG5cXHJdKyg/PCFcXFxcKVwiOi9nbSwgZnVuY3Rpb24gKG1hdGNoKSB7XG4gICAgcmV0dXJuIG1hdGNoLnJlcGxhY2UoL1wiL2csICcnKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkU2NyaXB0ID0gKHNjcmlwdD86IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBpZiAoIXNjcmlwdCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGV4cG9ydGVkQ2xhc3NOYW1lID0gc2NyaXB0ICYmIChFWFBPUlRFRF9DTEFTU19SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuICBpZiAoIWV4cG9ydGVkQ2xhc3NOYW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWV0YSA9IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEoc2NyaXB0KTtcbiAgaWYgKCFtZXRhLm5hbWUgfHwgIW1ldGEudHlwZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gIHJldHVybiBmbGF0dGVuKGVsZW1lbnRzLm1hcChlbCA9PiBbZWwsIC4uLmZsYXR0ZW5FbGVtZW50cyhlbC5jaGlsZHJlbildKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihlbC5pc1NoYXJlZCkgJiYgZWwudHlwZSAhPT0gJ1JFRkVSRU5DRSc7XG59XG4iXX0=