@dcl/asset-packs 1.12.2 → 1.12.3-20240301140405.commit-8aef784

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.
@@ -0,0 +1,14 @@
1
+ import { IEngine } from '@dcl/sdk/ecs';
2
+ export declare function getExplorerComponents(engine: IEngine): {
3
+ Animator: import("@dcl/sdk/ecs").AnimatorComponentDefinitionExtended;
4
+ Transform: import("@dcl/sdk/ecs").TransformComponentExtended;
5
+ AudioSource: import("@dcl/sdk/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/sdk/ecs").PBAudioSource>;
6
+ AvatarAttach: import("@dcl/sdk/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/sdk/ecs").PBAvatarAttach>;
7
+ VisibilityComponent: import("@dcl/sdk/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/sdk/ecs").PBVisibilityComponent>;
8
+ GltfContainer: import("@dcl/sdk/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/sdk/ecs").PBGltfContainer>;
9
+ UiTransform: import("@dcl/sdk/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/sdk/ecs").PBUiTransform>;
10
+ UiText: import("@dcl/sdk/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/sdk/ecs").PBUiText>;
11
+ UiBackground: import("@dcl/sdk/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/sdk/ecs").PBUiBackground>;
12
+ VideoPlayer: import("@dcl/sdk/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/sdk/ecs").PBVideoPlayer>;
13
+ Material: import("@dcl/sdk/ecs").MaterialComponentDefinitionExtended;
14
+ };
@@ -0,0 +1,17 @@
1
+ import { Animator as defineAnimator, Transform as defineTransform, AudioSource as defineAudioSource, AvatarAttach as defineAvatarAttach, VisibilityComponent as defineVisibilityComponent, GltfContainer as defineGltfContainer, UiTransform as defineUiTransform, UiText as defineUiText, UiBackground as defineUiBackground, VideoPlayer as defineVideoPlayer, Material as defineMaterial } from '@dcl/ecs/dist/components';
2
+ export function getExplorerComponents(engine) {
3
+ return {
4
+ Animator: defineAnimator(engine),
5
+ Transform: defineTransform(engine),
6
+ AudioSource: defineAudioSource(engine),
7
+ AvatarAttach: defineAvatarAttach(engine),
8
+ VisibilityComponent: defineVisibilityComponent(engine),
9
+ GltfContainer: defineGltfContainer(engine),
10
+ UiTransform: defineUiTransform(engine),
11
+ UiText: defineUiText(engine),
12
+ UiBackground: defineUiBackground(engine),
13
+ VideoPlayer: defineVideoPlayer(engine),
14
+ Material: defineMaterial(engine)
15
+ };
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLElBQUksY0FBYyxFQUMxQixTQUFTLElBQUksZUFBZSxFQUM1QixXQUFXLElBQUksaUJBQWlCLEVBQ2hDLFlBQVksSUFBSSxrQkFBa0IsRUFDbEMsbUJBQW1CLElBQUkseUJBQXlCLEVBQ2hELGFBQWEsSUFBSSxtQkFBbUIsRUFDcEMsV0FBVyxJQUFJLGlCQUFpQixFQUNoQyxNQUFNLElBQUksWUFBWSxFQUN0QixZQUFZLElBQUksa0JBQWtCLEVBQ2xDLFdBQVcsSUFBSSxpQkFBaUIsRUFDaEMsUUFBUSxJQUFJLGNBQWMsRUFDM0IsTUFBTSwwQkFBMEIsQ0FBQTtBQUdqQyxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBZTtJQUNuRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDaEMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFDbEMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUN0QyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1FBQ3hDLG1CQUFtQixFQUFFLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztRQUN0RCxhQUFhLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQzFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDdEMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDNUIsWUFBWSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUN4QyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ3RDLFFBQVEsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDO0tBQ2pDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0b3IgYXMgZGVmaW5lQW5pbWF0b3IsXG4gIFRyYW5zZm9ybSBhcyBkZWZpbmVUcmFuc2Zvcm0sXG4gIEF1ZGlvU291cmNlIGFzIGRlZmluZUF1ZGlvU291cmNlLFxuICBBdmF0YXJBdHRhY2ggYXMgZGVmaW5lQXZhdGFyQXR0YWNoLFxuICBWaXNpYmlsaXR5Q29tcG9uZW50IGFzIGRlZmluZVZpc2liaWxpdHlDb21wb25lbnQsXG4gIEdsdGZDb250YWluZXIgYXMgZGVmaW5lR2x0ZkNvbnRhaW5lcixcbiAgVWlUcmFuc2Zvcm0gYXMgZGVmaW5lVWlUcmFuc2Zvcm0sXG4gIFVpVGV4dCBhcyBkZWZpbmVVaVRleHQsXG4gIFVpQmFja2dyb3VuZCBhcyBkZWZpbmVVaUJhY2tncm91bmQsXG4gIFZpZGVvUGxheWVyIGFzIGRlZmluZVZpZGVvUGxheWVyLFxuICBNYXRlcmlhbCBhcyBkZWZpbmVNYXRlcmlhbFxufSBmcm9tICdAZGNsL2Vjcy9kaXN0L2NvbXBvbmVudHMnXG5pbXBvcnQgeyBJRW5naW5lIH0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXhwbG9yZXJDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICByZXR1cm4ge1xuICAgIEFuaW1hdG9yOiBkZWZpbmVBbmltYXRvcihlbmdpbmUpLFxuICAgIFRyYW5zZm9ybTogZGVmaW5lVHJhbnNmb3JtKGVuZ2luZSksXG4gICAgQXVkaW9Tb3VyY2U6IGRlZmluZUF1ZGlvU291cmNlKGVuZ2luZSksXG4gICAgQXZhdGFyQXR0YWNoOiBkZWZpbmVBdmF0YXJBdHRhY2goZW5naW5lKSxcbiAgICBWaXNpYmlsaXR5Q29tcG9uZW50OiBkZWZpbmVWaXNpYmlsaXR5Q29tcG9uZW50KGVuZ2luZSksXG4gICAgR2x0ZkNvbnRhaW5lcjogZGVmaW5lR2x0ZkNvbnRhaW5lcihlbmdpbmUpLFxuICAgIFVpVHJhbnNmb3JtOiBkZWZpbmVVaVRyYW5zZm9ybShlbmdpbmUpLFxuICAgIFVpVGV4dDogZGVmaW5lVWlUZXh0KGVuZ2luZSksXG4gICAgVWlCYWNrZ3JvdW5kOiBkZWZpbmVVaUJhY2tncm91bmQoZW5naW5lKSxcbiAgICBWaWRlb1BsYXllcjogZGVmaW5lVmlkZW9QbGF5ZXIoZW5naW5lKSxcbiAgICBNYXRlcmlhbDogZGVmaW5lTWF0ZXJpYWwoZW5naW5lKVxuICB9XG59XG4iXX0=
@@ -204,7 +204,7 @@ export type EngineComponents = {
204
204
  UiBackground: LastWriteWinElementSetComponentDefinition<PBUiBackground>;
205
205
  };
206
206
  export type AssetPackComponents = ReturnType<typeof getComponents>;
207
- export declare function initComponents(engine: IEngine, components?: Partial<Record<keyof EngineComponents, any>>): void;
207
+ export declare function initComponents(engine: IEngine): void;
208
208
  export declare function initVideoPlayerComponentMaterial(entity: Entity, { Material }: Pick<EngineComponents, 'Material'>, material?: PBMaterial | null): null | undefined;
209
209
  export declare function getConditionTypesByComponentName(componentName: ComponentName): TriggerConditionType[];
210
210
  export type Components = ReturnType<typeof createComponents>;
@@ -1,6 +1,7 @@
1
1
  import { Schemas } from '@dcl/sdk/ecs';
2
2
  import { addActionType } from './action-types';
3
3
  import { ComponentName, TweenType, InterpolationType, ActionType, TriggerType, TriggerConditionType, TriggerConditionOperation, AlignMode, Font, Colliders, } from './enums';
4
+ import { getExplorerComponents } from './components';
4
5
  export * from './enums';
5
6
  export * from './action-types';
6
7
  export * from './events';
@@ -174,7 +175,7 @@ export function createComponents(engine) {
174
175
  States,
175
176
  };
176
177
  }
177
- export function initComponents(engine, components) {
178
+ export function initComponents(engine) {
178
179
  const actionTypes = Object.values(ActionType);
179
180
  for (const type of actionTypes) {
180
181
  const actionType = type;
@@ -183,12 +184,8 @@ export function initComponents(engine, components) {
183
184
  const Counter = engine.getComponent(ComponentName.COUNTER);
184
185
  const counter = Counter.getOrCreateMutable(engine.RootEntity);
185
186
  counter.value = counter.value || 0;
186
- if (components && components.VideoPlayer && components.Material) {
187
- initVideoPlayerComponents(engine, {
188
- VideoPlayer: components.VideoPlayer,
189
- Material: components.Material,
190
- });
191
- }
187
+ const { VideoPlayer, Material } = getExplorerComponents(engine);
188
+ initVideoPlayerComponents(engine, { VideoPlayer, Material });
192
189
  }
193
190
  function getVideoTexture({ material }) {
194
191
  if (material?.$case === 'pbr' &&
@@ -241,4 +238,4 @@ export function getConditionTypesByComponentName(componentName) {
241
238
  }
242
239
  }
243
240
  }
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQU9MLE9BQU8sRUFZUixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUMsT0FBTyxFQUNMLGFBQWEsRUFDYixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLFNBQVMsQ0FBQTtBQUVoQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsTUFBTSxDQUFBO0FBQ3BCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsT0FBTyxDQUFBO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3ZDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0tBQ3hDLENBQUM7SUFDRixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM1QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5RCxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3BDLElBQUksRUFB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LENBQUMsaUJBQWlCO2FBQ3ZDLENBQUE7UUFDSCxDQUFDO1FBQ0QsS0FBSyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQixPQUFPO2dCQUNMLG9CQUFvQixDQUFDLG1CQUFtQjtnQkFDeEMsb0JBQW9CLENBQUMsNEJBQTRCO2dCQUNqRCxvQkFBb0IsQ0FBQyx5QkFBeUI7YUFDL0MsQ0FBQTtRQUNILENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1IsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHksXG4gIElFbmdpbmUsXG4gIElTY2hlbWEsXG4gIE1hdGVyaWFsQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBQQk1hdGVyaWFsLFxuICBQQlZpZGVvUGxheWVyLFxuICBTY2hlbWFzLFxuICBWaWRlb1RleHR1cmUsXG4gIEFuaW1hdG9yQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBUcmFuc2Zvcm1Db21wb25lbnRFeHRlbmRlZCxcbiAgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb24sXG4gIFBCQXVkaW9Tb3VyY2UsXG4gIFBCQXZhdGFyQXR0YWNoLFxuICBQQlZpc2liaWxpdHlDb21wb25lbnQsXG4gIFBCR2x0ZkNvbnRhaW5lcixcbiAgUEJVaVRyYW5zZm9ybSxcbiAgUEJVaVRleHQsXG4gIFBCVWlCYWNrZ3JvdW5kXG59IGZyb20gJ0BkY2wvc2RrL2VjcydcbmltcG9ydCB7IGFkZEFjdGlvblR5cGUgfSBmcm9tICcuL2FjdGlvbi10eXBlcydcbmltcG9ydCB7XG4gIENvbXBvbmVudE5hbWUsXG4gIFR3ZWVuVHlwZSxcbiAgSW50ZXJwb2xhdGlvblR5cGUsXG4gIEFjdGlvblR5cGUsXG4gIFRyaWdnZXJUeXBlLFxuICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgQWxpZ25Nb2RlLFxuICBGb250LFxuICBDb2xsaWRlcnMsXG59IGZyb20gJy4vZW51bXMnXG5cbmV4cG9ydCAqIGZyb20gJy4vZW51bXMnXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi10eXBlcydcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzJ1xuZXhwb3J0ICogZnJvbSAnLi9pZCdcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGVzJ1xuZXhwb3J0ICogZnJvbSAnLi9jbG9uZSdcbmV4cG9ydCAqIGZyb20gJy4vbHd3J1xuXG5leHBvcnQgY29uc3QgQWN0aW9uU2NoZW1hcyA9IHtcbiAgW0FjdGlvblR5cGUuUExBWV9BTklNQVRJT05dOiBTY2hlbWFzLk1hcCh7XG4gICAgYW5pbWF0aW9uOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0FOSU1BVElPTl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1NUQVRFXTogU2NoZW1hcy5NYXAoeyBzdGF0ZTogU2NoZW1hcy5TdHJpbmcgfSksXG4gIFtBY3Rpb25UeXBlLlNUQVJUX1RXRUVOXTogU2NoZW1hcy5NYXAoe1xuICAgIHR5cGU6IFNjaGVtYXMuRW51bVN0cmluZzxUd2VlblR5cGU+KFR3ZWVuVHlwZSwgVHdlZW5UeXBlLk1PVkVfSVRFTSksXG4gICAgZW5kOiBTY2hlbWFzLlZlY3RvcjMsXG4gICAgaW50ZXJwb2xhdGlvblR5cGU6IFNjaGVtYXMuRW51bVN0cmluZyhcbiAgICAgIEludGVycG9sYXRpb25UeXBlLFxuICAgICAgSW50ZXJwb2xhdGlvblR5cGUuTElORUFSLFxuICAgICksXG4gICAgZHVyYXRpb246IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuQm9vbGVhbixcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9DT1VOVEVSXTogU2NoZW1hcy5NYXAoeyBjb3VudGVyOiBTY2hlbWFzLkludCB9KSxcbiAgW0FjdGlvblR5cGUuSU5DUkVNRU5UX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLkRFQ1JFQVNFX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfU09VTkRdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9TT1VORF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1ZJU0lCSUxJVFldOiBTY2hlbWFzLk1hcCh7XG4gICAgdmlzaWJsZTogU2NoZW1hcy5Cb29sZWFuLFxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgY29sbGlkZXIgaW5zdGVhZCAqL1xuICAgIHBoeXNpY3NDb2xsaWRlcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIGNvbGxpZGVyOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgU2NoZW1hcy5FbnVtTnVtYmVyKENvbGxpZGVycywgQ29sbGlkZXJzLkNMX1BPSU5URVIpLFxuICAgICksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5BVFRBQ0hfVE9fUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIGFuY2hvclBvaW50SWQ6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuREVUQUNIX0ZST01fUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFZX1ZJREVPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICB2b2x1bWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgZGNsQ2FzdDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9WSURFT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfQVVESU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe1xuICAgIHVybDogU2NoZW1hcy5TdHJpbmcsXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9BVURJT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlRFTEVQT1JUX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkludCxcbiAgICB5OiBTY2hlbWFzLkludCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gICAgY2FtZXJhVGFyZ2V0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuVmVjdG9yMyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0RFRkFVTFRfRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgZW1vdGU6IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9DVVNUT01fRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5PUEVOX0xJTktdOiBTY2hlbWFzLk1hcCh7XG4gICAgdXJsOiBTY2hlbWFzLlN0cmluZyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNIT1dfVEVYVF06IFNjaGVtYXMuTWFwKHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBoaWRlQWZ0ZXJTZWNvbmRzOiBTY2hlbWFzLkZsb2F0LFxuICAgIGZvbnQ6IFNjaGVtYXMuRW51bU51bWJlcihGb250LCBGb250LkZfU0FOU19TRVJJRiksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dEFsaWduOiBTY2hlbWFzLkVudW1OdW1iZXIoQWxpZ25Nb2RlLCBBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuSElERV9URVhUXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICB0aW1lb3V0OiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RBUlRfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICBpbnRlcnZhbDogU2NoZW1hcy5GbG9hdCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xPTkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5SRU1PVkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TSE9XX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgYWxpZ246IFNjaGVtYXMuRW51bU51bWJlcihBbGlnbk1vZGUsIEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUiksXG4gICAgaGVpZ2h0OiBTY2hlbWFzLkZsb2F0LFxuICAgIHdpZHRoOiBTY2hlbWFzLkZsb2F0LFxuICAgIGhpZGVBZnRlclNlY29uZHM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ISURFX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIGltYWdlRW50aXR5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblBheWxvYWQ8VCBleHRlbmRzIEFjdGlvblR5cGUgPSBhbnk+ID1cbiAgVCBleHRlbmRzIGtleW9mIHR5cGVvZiBBY3Rpb25TY2hlbWFzXG4gICAgPyAodHlwZW9mIEFjdGlvblNjaGVtYXMpW1RdIGV4dGVuZHMgSVNjaGVtYVxuICAgICAgPyBSZXR1cm5UeXBlPCh0eXBlb2YgQWN0aW9uU2NoZW1hcylbVF1bJ2Rlc2VyaWFsaXplJ10+XG4gICAgICA6IHt9XG4gICAgOiB7fVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tcG9uZW50PFQ+KGNvbXBvbmVudE5hbWU6IHN0cmluZywgZW5naW5lOiBJRW5naW5lKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGVuZ2luZS5nZXRDb21wb25lbnQoXG4gICAgICBjb21wb25lbnROYW1lLFxuICAgICkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248VD5cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYEVycm9yIHVzaW5nIGdldENvbXBvbmVudCB3aXRoIGNvbXBvbmVudE5hbWU9XCIke2NvbXBvbmVudE5hbWV9XCJgLFxuICAgIClcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICByZXR1cm4ge1xuICAgIEFjdGlvbnM6IGdldENvbXBvbmVudDxBY3Rpb25zPihDb21wb25lbnROYW1lLkFDVElPTlMsIGVuZ2luZSksXG4gICAgU3RhdGVzOiBnZXRDb21wb25lbnQ8U3RhdGVzPihDb21wb25lbnROYW1lLlNUQVRFUywgZW5naW5lKSxcbiAgICBDb3VudGVyOiBnZXRDb21wb25lbnQ8Q291bnRlcj4oQ29tcG9uZW50TmFtZS5DT1VOVEVSLCBlbmdpbmUpLFxuICAgIFRyaWdnZXJzOiBnZXRDb21wb25lbnQ8VHJpZ2dlcnM+KENvbXBvbmVudE5hbWUuVFJJR0dFUlMsIGVuZ2luZSksXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IEFjdGlvblR5cGVzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkFDVElPTl9UWVBFUywge1xuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICB0eXBlOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAganNvblNjaGVtYTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICB9KSxcbiAgICApLFxuICB9KVxuXG4gIGNvbnN0IEFjdGlvbnMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQUNUSU9OUywge1xuICAgIGlkOiBTY2hlbWFzLkludCxcbiAgICB2YWx1ZTogU2NoZW1hcy5BcnJheShcbiAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgbmFtZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgIHR5cGU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBqc29uUGF5bG9hZDogU2NoZW1hcy5TdHJpbmcsXG4gICAgICB9KSxcbiAgICApLFxuICB9KVxuXG4gIGNvbnN0IENvdW50ZXIgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQ09VTlRFUiwge1xuICAgIGlkOiBTY2hlbWFzLk51bWJlcixcbiAgICB2YWx1ZTogU2NoZW1hcy5JbnQsXG4gIH0pXG5cbiAgY29uc3QgVHJpZ2dlcnMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuVFJJR0dFUlMsIHtcbiAgICB2YWx1ZTogU2NoZW1hcy5BcnJheShcbiAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgdHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJUeXBlPihcbiAgICAgICAgICBUcmlnZ2VyVHlwZSxcbiAgICAgICAgICBUcmlnZ2VyVHlwZS5PTl9DTElDSyxcbiAgICAgICAgKSxcbiAgICAgICAgY29uZGl0aW9uczogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgICAgICBTY2hlbWFzLkFycmF5KFxuICAgICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgICBpZDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gICAgICAgICAgICAgIHR5cGU6IFNjaGVtYXMuRW51bVN0cmluZzxUcmlnZ2VyQ29uZGl0aW9uVHlwZT4oXG4gICAgICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9TVEFURV9JUyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgdmFsdWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgb3BlcmF0aW9uOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICAgIFNjaGVtYXMuRW51bVN0cmluZzxUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uPihcbiAgICAgICAgICAgIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24sXG4gICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLkFORCxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFxuICAgICAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgICAgIGlkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICAgICAgICAgIG5hbWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgfSksXG4gICAgKSxcbiAgfSlcblxuICBjb25zdCBTdGF0ZXMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuU1RBVEVTLCB7XG4gICAgaWQ6IFNjaGVtYXMuTnVtYmVyLFxuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICBkZWZhdWx0VmFsdWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGN1cnJlbnRWYWx1ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICBBY3Rpb25UeXBlcyxcbiAgICBBY3Rpb25zLFxuICAgIENvdW50ZXIsXG4gICAgVHJpZ2dlcnMsXG4gICAgU3RhdGVzLFxuICB9XG59XG5cbmV4cG9ydCB0eXBlIEVuZ2luZUNvbXBvbmVudHMgPSB7XG4gIEFuaW1hdG9yOiBBbmltYXRvckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZFxuICBUcmFuc2Zvcm06IFRyYW5zZm9ybUNvbXBvbmVudEV4dGVuZGVkXG4gIEF1ZGlvU291cmNlOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQkF1ZGlvU291cmNlPlxuICBBdmF0YXJBdHRhY2g6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCQXZhdGFyQXR0YWNoPlxuICBWaXNpYmlsaXR5Q29tcG9uZW50OiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpc2liaWxpdHlDb21wb25lbnQ+XG4gIEdsdGZDb250YWluZXI6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCR2x0ZkNvbnRhaW5lcj5cbiAgTWF0ZXJpYWw6IE1hdGVyaWFsQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkXG4gIFZpZGVvUGxheWVyOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpZGVvUGxheWVyPlxuICBVaVRyYW5zZm9ybTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaVRyYW5zZm9ybT5cbiAgVWlUZXh0OiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpVGV4dD5cbiAgVWlCYWNrZ3JvdW5kOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpQmFja2dyb3VuZD5cbn1cblxuZXhwb3J0IHR5cGUgQXNzZXRQYWNrQ29tcG9uZW50cyA9IFJldHVyblR5cGU8dHlwZW9mIGdldENvbXBvbmVudHM+XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29tcG9uZW50cyhcbiAgZW5naW5lOiBJRW5naW5lLFxuICBjb21wb25lbnRzPzogUGFydGlhbDxSZWNvcmQ8a2V5b2YgRW5naW5lQ29tcG9uZW50cywgYW55Pj4sXG4pIHtcbiAgLy8gQWRkIGFjdGlvbnMgZnJvbSB0aGlzIHBhY2thZ2VcbiAgY29uc3QgYWN0aW9uVHlwZXMgPSBPYmplY3QudmFsdWVzKEFjdGlvblR5cGUpXG4gIGZvciAoY29uc3QgdHlwZSBvZiBhY3Rpb25UeXBlcykge1xuICAgIGNvbnN0IGFjdGlvblR5cGUgPSB0eXBlIGFzIEFjdGlvblR5cGVcbiAgICBhZGRBY3Rpb25UeXBlKGVuZ2luZSwgYWN0aW9uVHlwZSwgQWN0aW9uU2NoZW1hc1thY3Rpb25UeXBlXSlcbiAgfVxuXG4gIC8vIEFkZCBjb3VudGVyIHRvIHJvb3QgZW50aXR5XG4gIGNvbnN0IENvdW50ZXIgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KFxuICAgIENvbXBvbmVudE5hbWUuQ09VTlRFUixcbiAgKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxDb3VudGVyPlxuICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRPckNyZWF0ZU11dGFibGUoZW5naW5lLlJvb3RFbnRpdHkpXG4gIGNvdW50ZXIudmFsdWUgPSBjb3VudGVyLnZhbHVlIHx8IDBcblxuICBpZiAoY29tcG9uZW50cyAmJiBjb21wb25lbnRzLlZpZGVvUGxheWVyICYmIGNvbXBvbmVudHMuTWF0ZXJpYWwpIHtcbiAgICBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRzKGVuZ2luZSwge1xuICAgICAgVmlkZW9QbGF5ZXI6IGNvbXBvbmVudHMuVmlkZW9QbGF5ZXIsXG4gICAgICBNYXRlcmlhbDogY29tcG9uZW50cy5NYXRlcmlhbCxcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFZpZGVvVGV4dHVyZSh7IG1hdGVyaWFsIH06IFBCTWF0ZXJpYWwpOiBWaWRlb1RleHR1cmUgfCB1bmRlZmluZWQge1xuICBpZiAoXG4gICAgbWF0ZXJpYWw/LiRjYXNlID09PSAncGJyJyAmJlxuICAgIG1hdGVyaWFsLnBici50ZXh0dXJlPy50ZXg/LiRjYXNlID09PSAndmlkZW9UZXh0dXJlJ1xuICApIHtcbiAgICByZXR1cm4gbWF0ZXJpYWwucGJyLnRleHR1cmUudGV4LnZpZGVvVGV4dHVyZVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50TWF0ZXJpYWwoXG4gIGVudGl0eTogRW50aXR5LFxuICB7IE1hdGVyaWFsIH06IFBpY2s8RW5naW5lQ29tcG9uZW50cywgJ01hdGVyaWFsJz4sXG4gIG1hdGVyaWFsPzogUEJNYXRlcmlhbCB8IG51bGwsXG4pIHtcbiAgaWYgKCFtYXRlcmlhbCB8fCAhbWF0ZXJpYWwubWF0ZXJpYWwgfHwgbWF0ZXJpYWwubWF0ZXJpYWwuJGNhc2UgIT09ICdwYnInKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIE1hdGVyaWFsLnNldFBick1hdGVyaWFsKGVudGl0eSwge1xuICAgIC4uLm1hdGVyaWFsLm1hdGVyaWFsLnBicixcbiAgICB0ZXh0dXJlOiBNYXRlcmlhbC5UZXh0dXJlLlZpZGVvKHtcbiAgICAgIHZpZGVvUGxheWVyRW50aXR5OiBlbnRpdHksXG4gICAgfSksXG4gIH0pXG59XG5cbmZ1bmN0aW9uIGluaXRWaWRlb1BsYXllckNvbXBvbmVudHMoXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgY29tcG9uZW50czogUGljazxFbmdpbmVDb21wb25lbnRzLCAnTWF0ZXJpYWwnIHwgJ1ZpZGVvUGxheWVyJz4sXG4pIHtcbiAgZnVuY3Rpb24gcmVwbGFjZVZpZGVvVGV4dHVyZSgpIHtcbiAgICBjb25zdCB7IE1hdGVyaWFsLCBWaWRlb1BsYXllciB9ID0gY29tcG9uZW50c1xuICAgIGVuZ2luZS5yZW1vdmVTeXN0ZW0ocmVwbGFjZVZpZGVvVGV4dHVyZSlcbiAgICBmb3IgKGNvbnN0IFtlbnRpdHksIG1hdGVyaWFsXSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKFxuICAgICAgTWF0ZXJpYWwsXG4gICAgICBWaWRlb1BsYXllcixcbiAgICApKSB7XG4gICAgICBjb25zdCB2aWRlb1RleHR1cmUgPSBnZXRWaWRlb1RleHR1cmUobWF0ZXJpYWwpXG4gICAgICBpZiAodmlkZW9UZXh0dXJlPy52aWRlb1BsYXllckVudGl0eSA9PT0gZW5naW5lLlJvb3RFbnRpdHkpIHtcbiAgICAgICAgaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50TWF0ZXJpYWwoZW50aXR5LCBjb21wb25lbnRzLCBtYXRlcmlhbClcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZW5naW5lLmFkZFN5c3RlbShyZXBsYWNlVmlkZW9UZXh0dXJlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZGl0aW9uVHlwZXNCeUNvbXBvbmVudE5hbWUoY29tcG9uZW50TmFtZTogQ29tcG9uZW50TmFtZSkge1xuICBzd2l0Y2ggKGNvbXBvbmVudE5hbWUpIHtcbiAgICBjYXNlIENvbXBvbmVudE5hbWUuU1RBVEVTOiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTX05PVCxcbiAgICAgIF1cbiAgICB9XG4gICAgY2FzZSBDb21wb25lbnROYW1lLkNPVU5URVI6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9FUVVBTFMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU4sXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU4sXG4gICAgICBdXG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDb21wb25lbnRzID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQ29tcG9uZW50cz5cblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXNDb21wb25lbnQgPSBDb21wb25lbnRzWydBY3Rpb25UeXBlcyddXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlcyA9IFJldHVyblR5cGU8XG4gIEFjdGlvblR5cGVzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXVxuPlxuXG5leHBvcnQgdHlwZSBBY3Rpb25zQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWN0aW9ucyddXG5leHBvcnQgdHlwZSBBY3Rpb25zID0gUmV0dXJuVHlwZTxBY3Rpb25zQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT5cbmV4cG9ydCB0eXBlIEFjdGlvbiA9IEFjdGlvbnNbJ3ZhbHVlJ11bMF1cblxuZXhwb3J0IHR5cGUgQ291bnRlckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ0NvdW50ZXInXVxuZXhwb3J0IHR5cGUgQ291bnRlciA9IFJldHVyblR5cGU8Q291bnRlckNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+XG5cbmV4cG9ydCB0eXBlIFRyaWdnZXJzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVHJpZ2dlcnMnXVxuZXhwb3J0IHR5cGUgVHJpZ2dlcnMgPSBSZXR1cm5UeXBlPFRyaWdnZXJzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT5cbmV4cG9ydCB0eXBlIFRyaWdnZXIgPSBUcmlnZ2Vyc1sndmFsdWUnXVswXVxuZXhwb3J0IHR5cGUgVHJpZ2dlckFjdGlvbiA9IFRyaWdnZXJbJ2FjdGlvbnMnXVswXVxuZXhwb3J0IHR5cGUgVHJpZ2dlckNvbmRpdGlvbiA9IEV4Y2x1ZGU8VHJpZ2dlclsnY29uZGl0aW9ucyddLCB1bmRlZmluZWQ+WzBdXG5cbmV4cG9ydCB0eXBlIFN0YXRlc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1N0YXRlcyddXG5leHBvcnQgdHlwZSBTdGF0ZXMgPSBSZXR1cm5UeXBlPFN0YXRlc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+XG4iXX0=
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQU9MLE9BQU8sRUFZUixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUMsT0FBTyxFQUNMLGFBQWEsRUFDYixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLFNBQVMsQ0FBQTtBQUNoQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFcEQsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLE1BQU0sQ0FBQTtBQUNwQixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLE9BQU8sQ0FBQTtBQUVyQixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN2QyxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUN4QyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDNUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUQsQ0FBQyxVQUFVLENBQUMsV0FBVyxD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Q0FBQTtRQUNILENBQUM7UUFDRCxLQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU87Z0JBQ0wsb0JBQW9CLENBQUMsbUJBQW1CO2dCQUN4QyxvQkFBb0IsQ0FBQyw0QkFBNEI7Z0JBQ2pELG9CQUFvQixDQUFDLHlCQUF5QjthQUMvQyxDQUFBO1FBQ0gsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDUixPQUFPLEVBQUUsQ0FBQTtRQUNYLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eSxcbiAgSUVuZ2luZSxcbiAgSVNjaGVtYSxcbiAgTWF0ZXJpYWxDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCTWF0ZXJpYWwsXG4gIFBCVmlkZW9QbGF5ZXIsXG4gIFNjaGVtYXMsXG4gIFZpZGVvVGV4dHVyZSxcbiAgQW5pbWF0b3JDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFRyYW5zZm9ybUNvbXBvbmVudEV4dGVuZGVkLFxuICBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbixcbiAgUEJBdWRpb1NvdXJjZSxcbiAgUEJBdmF0YXJBdHRhY2gsXG4gIFBCVmlzaWJpbGl0eUNvbXBvbmVudCxcbiAgUEJHbHRmQ29udGFpbmVyLFxuICBQQlVpVHJhbnNmb3JtLFxuICBQQlVpVGV4dCxcbiAgUEJVaUJhY2tncm91bmRcbn0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuaW1wb3J0IHsgYWRkQWN0aW9uVHlwZSB9IGZyb20gJy4vYWN0aW9uLXR5cGVzJ1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50TmFtZSxcbiAgVHdlZW5UeXBlLFxuICBJbnRlcnBvbGF0aW9uVHlwZSxcbiAgQWN0aW9uVHlwZSxcbiAgVHJpZ2dlclR5cGUsXG4gIFRyaWdnZXJDb25kaXRpb25UeXBlLFxuICBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLFxuICBBbGlnbk1vZGUsXG4gIEZvbnQsXG4gIENvbGxpZGVycyxcbn0gZnJvbSAnLi9lbnVtcydcbmltcG9ydCB7IGdldEV4cGxvcmVyQ29tcG9uZW50cyB9IGZyb20gJy4vY29tcG9uZW50cydcblxuZXhwb3J0ICogZnJvbSAnLi9lbnVtcydcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLXR5cGVzJ1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudHMnXG5leHBvcnQgKiBmcm9tICcuL2lkJ1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZXMnXG5leHBvcnQgKiBmcm9tICcuL2Nsb25lJ1xuZXhwb3J0ICogZnJvbSAnLi9sd3cnXG5cbmV4cG9ydCBjb25zdCBBY3Rpb25TY2hlbWFzID0ge1xuICBbQWN0aW9uVHlwZS5QTEFZX0FOSU1BVElPTl06IFNjaGVtYXMuTWFwKHtcbiAgICBhbmltYXRpb246IFNjaGVtYXMuU3RyaW5nLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfQU5JTUFUSU9OXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TRVRfU1RBVEVdOiBTY2hlbWFzLk1hcCh7IHN0YXRlOiBTY2hlbWFzLlN0cmluZyB9KSxcbiAgW0FjdGlvblR5cGUuU1RBUlRfVFdFRU5dOiBTY2hlbWFzLk1hcCh7XG4gICAgdHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nPFR3ZWVuVHlwZT4oVHdlZW5UeXBlLCBUd2VlblR5cGUuTU9WRV9JVEVNKSxcbiAgICBlbmQ6IFNjaGVtYXMuVmVjdG9yMyxcbiAgICBpbnRlcnBvbGF0aW9uVHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nKFxuICAgICAgSW50ZXJwb2xhdGlvblR5cGUsXG4gICAgICBJbnRlcnBvbGF0aW9uVHlwZS5MSU5FQVIsXG4gICAgKSxcbiAgICBkdXJhdGlvbjogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5Cb29sZWFuLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0VUX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7IGNvdW50ZXI6IFNjaGVtYXMuSW50IH0pLFxuICBbQWN0aW9uVHlwZS5JTkNSRU1FTlRfQ09VTlRFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuREVDUkVBU0VfQ09VTlRFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9TT1VORF06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICB2b2x1bWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX1NPVU5EXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TRVRfVklTSUJJTElUWV06IFNjaGVtYXMuTWFwKHtcbiAgICB2aXNpYmxlOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBjb2xsaWRlciBpbnN0ZWFkICovXG4gICAgcGh5c2ljc0NvbGxpZGVyOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgY29sbGlkZXI6IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICBTY2hlbWFzLkVudW1OdW1iZXIoQ29sbGlkZXJzLCBDb2xsaWRlcnMuQ0xfUE9JTlRFUiksXG4gICAgKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkFUVEFDSF9UT19QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW5jaG9yUG9pbnRJZDogU2NoZW1hcy5JbnQsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ERVRBQ0hfRlJPTV9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfVklERU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIHZvbHVtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICBkY2xDYXN0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX1ZJREVPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9BVURJT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7XG4gICAgdXJsOiBTY2hlbWFzLlN0cmluZyxcbiAgICB2b2x1bWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0FVRElPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuVEVMRVBPUlRfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHg6IFNjaGVtYXMuSW50LFxuICAgIHk6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuTU9WRV9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgcG9zaXRpb246IFNjaGVtYXMuVmVjdG9yMyxcbiAgICBjYW1lcmFUYXJnZXQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5WZWN0b3IzKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfREVGQVVMVF9FTU9URV06IFNjaGVtYXMuTWFwKHtcbiAgICBlbW90ZTogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0NVU1RPTV9FTU9URV06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk9QRU5fTElOS106IFNjaGVtYXMuTWFwKHtcbiAgICB1cmw6IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0hPV19URVhUXTogU2NoZW1hcy5NYXAoe1xuICAgIHRleHQ6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGhpZGVBZnRlclNlY29uZHM6IFNjaGVtYXMuRmxvYXQsXG4gICAgZm9udDogU2NoZW1hcy5FbnVtTnVtYmVyKEZvbnQsIEZvbnQuRl9TQU5TX1NFUklGKSxcbiAgICBmb250U2l6ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICB0ZXh0QWxpZ246IFNjaGVtYXMuRW51bU51bWJlcihBbGlnbk1vZGUsIEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ISURFX1RFWFRdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNUQVJUX0RFTEFZXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIHRpbWVvdXQ6IFNjaGVtYXMuRmxvYXQsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0RFTEFZXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbjogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9MT09QXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGludGVydmFsOiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9MT09QXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbjogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DTE9ORV9FTlRJVFldOiBTY2hlbWFzLk1hcCh7XG4gICAgcG9zaXRpb246IFNjaGVtYXMuVmVjdG9yMyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlJFTU9WRV9FTlRJVFldOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNIT1dfSU1BR0VdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBhbGlnbjogU2NoZW1hcy5FbnVtTnVtYmVyKEFsaWduTW9kZSwgQWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSKSxcbiAgICBoZWlnaHQ6IFNjaGVtYXMuRmxvYXQsXG4gICAgd2lkdGg6IFNjaGVtYXMuRmxvYXQsXG4gICAgaGlkZUFmdGVyU2Vjb25kczogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICB0ZXh0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBmb250U2l6ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkhJREVfSU1BR0VdOiBTY2hlbWFzLk1hcCh7XG4gICAgaW1hZ2VFbnRpdHk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICB9KSxcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uUGF5bG9hZDxUIGV4dGVuZHMgQWN0aW9uVHlwZSA9IGFueT4gPVxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIEFjdGlvblNjaGVtYXNcbiAgICA/ICh0eXBlb2YgQWN0aW9uU2NoZW1hcylbVF0gZXh0ZW5kcyBJU2NoZW1hXG4gICAgICA/IFJldHVyblR5cGU8KHR5cGVvZiBBY3Rpb25TY2hlbWFzKVtUXVsnZGVzZXJpYWxpemUnXT5cbiAgICAgIDoge31cbiAgICA6IHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21wb25lbnQ8VD4oY29tcG9uZW50TmFtZTogc3RyaW5nLCBlbmdpbmU6IElFbmdpbmUpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZW5naW5lLmdldENvbXBvbmVudChcbiAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxUPlxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgRXJyb3IgdXNpbmcgZ2V0Q29tcG9uZW50IHdpdGggY29tcG9uZW50TmFtZT1cIiR7Y29tcG9uZW50TmFtZX1cImAsXG4gICAgKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIHJldHVybiB7XG4gICAgQWN0aW9uczogZ2V0Q29tcG9uZW50PEFjdGlvbnM+KENvbXBvbmVudE5hbWUuQUNUSU9OUywgZW5naW5lKSxcbiAgICBTdGF0ZXM6IGdldENvbXBvbmVudDxTdGF0ZXM+KENvbXBvbmVudE5hbWUuU1RBVEVTLCBlbmdpbmUpLFxuICAgIENvdW50ZXI6IGdldENvbXBvbmVudDxDb3VudGVyPihDb21wb25lbnROYW1lLkNPVU5URVIsIGVuZ2luZSksXG4gICAgVHJpZ2dlcnM6IGdldENvbXBvbmVudDxUcmlnZ2Vycz4oQ29tcG9uZW50TmFtZS5UUklHR0VSUywgZW5naW5lKSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50cyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgQWN0aW9uVHlwZXMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQUNUSU9OX1RZUEVTLCB7XG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoXG4gICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgIHR5cGU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBqc29uU2NoZW1hOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pXG5cbiAgY29uc3QgQWN0aW9ucyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5BQ1RJT05TLCB7XG4gICAgaWQ6IFNjaGVtYXMuSW50LFxuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICBuYW1lOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgdHlwZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgIGpzb25QYXlsb2FkOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pXG5cbiAgY29uc3QgQ291bnRlciA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5DT1VOVEVSLCB7XG4gICAgaWQ6IFNjaGVtYXMuTnVtYmVyLFxuICAgIHZhbHVlOiBTY2hlbWFzLkludCxcbiAgfSlcblxuICBjb25zdCBUcmlnZ2VycyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5UUklHR0VSUywge1xuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHJpZ2dlclR5cGU+KFxuICAgICAgICAgIFRyaWdnZXJUeXBlLFxuICAgICAgICAgIFRyaWdnZXJUeXBlLk9OX0NMSUNLLFxuICAgICAgICApLFxuICAgICAgICBjb25kaXRpb25zOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICAgIFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICAgIGlkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICAgICAgICAgICAgdHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJDb25kaXRpb25UeXBlPihcbiAgICAgICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB2YWx1ZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBvcGVyYXRpb246IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICAgICAgU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24+KFxuICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgICAgICAgICAgIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uQU5ELFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgaWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgICAgICAgICAgbmFtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICApLFxuICB9KVxuXG4gIGNvbnN0IFN0YXRlcyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5TVEFURVMsIHtcbiAgICBpZDogU2NoZW1hcy5OdW1iZXIsXG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGRlZmF1bHRWYWx1ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgY3VycmVudFZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgfSlcblxuICByZXR1cm4ge1xuICAgIEFjdGlvblR5cGVzLFxuICAgIEFjdGlvbnMsXG4gICAgQ291bnRlcixcbiAgICBUcmlnZ2VycyxcbiAgICBTdGF0ZXMsXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgRW5naW5lQ29tcG9uZW50cyA9IHtcbiAgQW5pbWF0b3I6IEFuaW1hdG9yQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkXG4gIFRyYW5zZm9ybTogVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWRcbiAgQXVkaW9Tb3VyY2U6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCQXVkaW9Tb3VyY2U+XG4gIEF2YXRhckF0dGFjaDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJBdmF0YXJBdHRhY2g+XG4gIFZpc2liaWxpdHlDb21wb25lbnQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlzaWJpbGl0eUNvbXBvbmVudD5cbiAgR2x0ZkNvbnRhaW5lcjogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJHbHRmQ29udGFpbmVyPlxuICBNYXRlcmlhbDogTWF0ZXJpYWxDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWRcbiAgVmlkZW9QbGF5ZXI6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlkZW9QbGF5ZXI+XG4gIFVpVHJhbnNmb3JtOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpVHJhbnNmb3JtPlxuICBVaVRleHQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlUZXh0PlxuICBVaUJhY2tncm91bmQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlCYWNrZ3JvdW5kPlxufVxuXG5leHBvcnQgdHlwZSBBc3NldFBhY2tDb21wb25lbnRzID0gUmV0dXJuVHlwZTx0eXBlb2YgZ2V0Q29tcG9uZW50cz5cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICAvLyBBZGQgYWN0aW9ucyBmcm9tIHRoaXMgcGFja2FnZVxuICBjb25zdCBhY3Rpb25UeXBlcyA9IE9iamVjdC52YWx1ZXMoQWN0aW9uVHlwZSlcbiAgZm9yIChjb25zdCB0eXBlIG9mIGFjdGlvblR5cGVzKSB7XG4gICAgY29uc3QgYWN0aW9uVHlwZSA9IHR5cGUgYXMgQWN0aW9uVHlwZVxuICAgIGFkZEFjdGlvblR5cGUoZW5naW5lLCBhY3Rpb25UeXBlLCBBY3Rpb25TY2hlbWFzW2FjdGlvblR5cGVdKVxuICB9XG5cbiAgLy8gQWRkIGNvdW50ZXIgdG8gcm9vdCBlbnRpdHlcbiAgY29uc3QgQ291bnRlciA9IGVuZ2luZS5nZXRDb21wb25lbnQoXG4gICAgQ29tcG9uZW50TmFtZS5DT1VOVEVSLFxuICApIGFzIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPENvdW50ZXI+XG4gIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yQ3JlYXRlTXV0YWJsZShlbmdpbmUuUm9vdEVudGl0eSlcbiAgY291bnRlci52YWx1ZSA9IGNvdW50ZXIudmFsdWUgfHwgMFxuXG4gIGNvbnN0IHsgVmlkZW9QbGF5ZXIsIE1hdGVyaWFsIH0gPSBnZXRFeHBsb3JlckNvbXBvbmVudHMoZW5naW5lKVxuICBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRzKGVuZ2luZSwgeyBWaWRlb1BsYXllciwgTWF0ZXJpYWwgfSlcbn1cblxuZnVuY3Rpb24gZ2V0VmlkZW9UZXh0dXJlKHsgbWF0ZXJpYWwgfTogUEJNYXRlcmlhbCk6IFZpZGVvVGV4dHVyZSB8IHVuZGVmaW5lZCB7XG4gIGlmIChcbiAgICBtYXRlcmlhbD8uJGNhc2UgPT09ICdwYnInICYmXG4gICAgbWF0ZXJpYWwucGJyLnRleHR1cmU/LnRleD8uJGNhc2UgPT09ICd2aWRlb1RleHR1cmUnXG4gICkge1xuICAgIHJldHVybiBtYXRlcmlhbC5wYnIudGV4dHVyZS50ZXgudmlkZW9UZXh0dXJlXG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRNYXRlcmlhbChcbiAgZW50aXR5OiBFbnRpdHksXG4gIHsgTWF0ZXJpYWwgfTogUGljazxFbmdpbmVDb21wb25lbnRzLCAnTWF0ZXJpYWwnPixcbiAgbWF0ZXJpYWw/OiBQQk1hdGVyaWFsIHwgbnVsbCxcbikge1xuICBpZiAoIW1hdGVyaWFsIHx8ICFtYXRlcmlhbC5tYXRlcmlhbCB8fCBtYXRlcmlhbC5tYXRlcmlhbC4kY2FzZSAhPT0gJ3BicicpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgTWF0ZXJpYWwuc2V0UGJyTWF0ZXJpYWwoZW50aXR5LCB7XG4gICAgLi4ubWF0ZXJpYWwubWF0ZXJpYWwucGJyLFxuICAgIHRleHR1cmU6IE1hdGVyaWFsLlRleHR1cmUuVmlkZW8oe1xuICAgICAgdmlkZW9QbGF5ZXJFbnRpdHk6IGVudGl0eSxcbiAgICB9KSxcbiAgfSlcbn1cblxuZnVuY3Rpb24gaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50cyhcbiAgZW5naW5lOiBJRW5naW5lLFxuICBjb21wb25lbnRzOiBQaWNrPEVuZ2luZUNvbXBvbmVudHMsICdNYXRlcmlhbCcgfCAnVmlkZW9QbGF5ZXInPixcbikge1xuICBmdW5jdGlvbiByZXBsYWNlVmlkZW9UZXh0dXJlKCkge1xuICAgIGNvbnN0IHsgTWF0ZXJpYWwsIFZpZGVvUGxheWVyIH0gPSBjb21wb25lbnRzXG4gICAgZW5naW5lLnJlbW92ZVN5c3RlbShyZXBsYWNlVmlkZW9UZXh0dXJlKVxuICAgIGZvciAoY29uc3QgW2VudGl0eSwgbWF0ZXJpYWxdIG9mIGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoXG4gICAgICBNYXRlcmlhbCxcbiAgICAgIFZpZGVvUGxheWVyLFxuICAgICkpIHtcbiAgICAgIGNvbnN0IHZpZGVvVGV4dHVyZSA9IGdldFZpZGVvVGV4dHVyZShtYXRlcmlhbClcbiAgICAgIGlmICh2aWRlb1RleHR1cmU/LnZpZGVvUGxheWVyRW50aXR5ID09PSBlbmdpbmUuUm9vdEVudGl0eSkge1xuICAgICAgICBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRNYXRlcmlhbChlbnRpdHksIGNvbXBvbmVudHMsIG1hdGVyaWFsKVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBlbmdpbmUuYWRkU3lzdGVtKHJlcGxhY2VWaWRlb1RleHR1cmUpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZShjb21wb25lbnROYW1lOiBDb21wb25lbnROYW1lKSB7XG4gIHN3aXRjaCAoY29tcG9uZW50TmFtZSkge1xuICAgIGNhc2UgQ29tcG9uZW50TmFtZS5TVEFURVM6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVNfTk9ULFxuICAgICAgXVxuICAgIH1cbiAgICBjYXNlIENvbXBvbmVudE5hbWUuQ09VTlRFUjoge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0VRVUFMUyxcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0lTX0dSRUFURVJfVEhBTixcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0lTX0xFU1NfVEhBTixcbiAgICAgIF1cbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudHMgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVDb21wb25lbnRzPlxuXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ0FjdGlvblR5cGVzJ11cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID0gUmV0dXJuVHlwZTxcbiAgQWN0aW9uVHlwZXNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddXG4+XG5cbmV4cG9ydCB0eXBlIEFjdGlvbnNDb21wb25lbnQgPSBDb21wb25lbnRzWydBY3Rpb25zJ11cbmV4cG9ydCB0eXBlIEFjdGlvbnMgPSBSZXR1cm5UeXBlPEFjdGlvbnNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPlxuZXhwb3J0IHR5cGUgQWN0aW9uID0gQWN0aW9uc1sndmFsdWUnXVswXVxuXG5leHBvcnQgdHlwZSBDb3VudGVyQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQ291bnRlciddXG5leHBvcnQgdHlwZSBDb3VudGVyID0gUmV0dXJuVHlwZTxDb3VudGVyQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT5cblxuZXhwb3J0IHR5cGUgVHJpZ2dlcnNDb21wb25lbnQgPSBDb21wb25lbnRzWydUcmlnZ2VycyddXG5leHBvcnQgdHlwZSBUcmlnZ2VycyA9IFJldHVyblR5cGU8VHJpZ2dlcnNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPlxuZXhwb3J0IHR5cGUgVHJpZ2dlciA9IFRyaWdnZXJzWyd2YWx1ZSddWzBdXG5leHBvcnQgdHlwZSBUcmlnZ2VyQWN0aW9uID0gVHJpZ2dlclsnYWN0aW9ucyddWzBdXG5leHBvcnQgdHlwZSBUcmlnZ2VyQ29uZGl0aW9uID0gRXhjbHVkZTxUcmlnZ2VyWydjb25kaXRpb25zJ10sIHVuZGVmaW5lZD5bMF1cblxuZXhwb3J0IHR5cGUgU3RhdGVzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snU3RhdGVzJ11cbmV4cG9ydCB0eXBlIFN0YXRlcyA9IFJldHVyblR5cGU8U3RhdGVzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT5cbiJdfQ==
package/dist/index.js CHANGED
@@ -1,19 +1,7 @@
1
- import { engine, pointerEventsSystem, Animator, Transform, AudioSource, AvatarAttach, VisibilityComponent, GltfContainer, Material, VideoPlayer, UiTransform, UiText, UiBackground } from '@dcl/sdk/ecs';
1
+ import { engine } from '@dcl/sdk/ecs';
2
2
  import { initAssetPacks } from './scene-entrypoint';
3
- initAssetPacks(engine, pointerEventsSystem, {
4
- Animator,
5
- Transform,
6
- AudioSource,
7
- AvatarAttach,
8
- VisibilityComponent,
9
- GltfContainer,
10
- Material,
11
- VideoPlayer,
12
- UiTransform,
13
- UiText,
14
- UiBackground
15
- });
3
+ initAssetPacks(engine);
16
4
  export function main() {
17
5
  console.log('Scene ready');
18
6
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFlBQVksRUFDYixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFbkQsY0FBYyxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsRUFBRTtJQUMxQyxRQUFRO0lBQ1IsU0FBUztJQUNULFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixRQUFRO0lBQ1IsV0FBVztJQUNYLFdBQVc7SUFDWCxNQUFNO0lBQ04sWUFBWTtDQUNiLENBQUMsQ0FBQTtBQUVGLE1BQU0sVUFBVSxJQUFJO0lBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGVuZ2luZSxcbiAgcG9pbnRlckV2ZW50c1N5c3RlbSxcbiAgQW5pbWF0b3IsXG4gIFRyYW5zZm9ybSxcbiAgQXVkaW9Tb3VyY2UsXG4gIEF2YXRhckF0dGFjaCxcbiAgVmlzaWJpbGl0eUNvbXBvbmVudCxcbiAgR2x0ZkNvbnRhaW5lcixcbiAgTWF0ZXJpYWwsXG4gIFZpZGVvUGxheWVyLFxuICBVaVRyYW5zZm9ybSxcbiAgVWlUZXh0LFxuICBVaUJhY2tncm91bmRcbn0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuaW1wb3J0IHsgaW5pdEFzc2V0UGFja3MgfSBmcm9tICcuL3NjZW5lLWVudHJ5cG9pbnQnXG5cbmluaXRBc3NldFBhY2tzKGVuZ2luZSwgcG9pbnRlckV2ZW50c1N5c3RlbSwge1xuICBBbmltYXRvcixcbiAgVHJhbnNmb3JtLFxuICBBdWRpb1NvdXJjZSxcbiAgQXZhdGFyQXR0YWNoLFxuICBWaXNpYmlsaXR5Q29tcG9uZW50LFxuICBHbHRmQ29udGFpbmVyLFxuICBNYXRlcmlhbCxcbiAgVmlkZW9QbGF5ZXIsXG4gIFVpVHJhbnNmb3JtLFxuICBVaVRleHQsXG4gIFVpQmFja2dyb3VuZFxufSlcblxuZXhwb3J0IGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnNvbGUubG9nKCdTY2VuZSByZWFkeScpXG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFbkQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBRXRCLE1BQU0sVUFBVSxJQUFJO0lBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuZ2luZSB9IGZyb20gJ0BkY2wvc2RrL2VjcydcbmltcG9ydCB7IGluaXRBc3NldFBhY2tzIH0gZnJvbSAnLi9zY2VuZS1lbnRyeXBvaW50J1xuXG5pbml0QXNzZXRQYWNrcyhlbmdpbmUpXG5cbmV4cG9ydCBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zb2xlLmxvZygnU2NlbmUgcmVhZHknKVxufVxuIl19
@@ -1,2 +1 @@
1
- import { EngineComponents } from './definitions';
2
- export declare function initAssetPacks(_engine: any, _pointerEventsSystem: any, _components: Record<keyof EngineComponents, any>): void;
1
+ export declare function initAssetPacks(_engine: unknown, ..._args: any[]): void;
@@ -2,19 +2,19 @@ import { createComponents, initComponents, } from './definitions';
2
2
  import { createActionsSystem } from './actions';
3
3
  import { createTriggersSystem } from './triggers';
4
4
  import { createTimerSystem } from './timer';
5
- export function initAssetPacks(_engine, _pointerEventsSystem, _components) {
5
+ import { getExplorerComponents } from './components';
6
+ export function initAssetPacks(_engine, ..._args) {
6
7
  const engine = _engine;
7
- const pointerEventsSystem = _pointerEventsSystem;
8
- const components = _components;
9
8
  try {
9
+ const components = getExplorerComponents(engine);
10
10
  createComponents(engine);
11
- engine.addSystem(createActionsSystem(engine, components));
12
- engine.addSystem(createTriggersSystem(engine, components, pointerEventsSystem));
11
+ initComponents(engine);
12
+ engine.addSystem(createActionsSystem(engine));
13
+ engine.addSystem(createTriggersSystem(engine, components));
13
14
  engine.addSystem(createTimerSystem());
14
- initComponents(engine, components);
15
15
  }
16
16
  catch (error) {
17
17
  console.error(`Error initializing Asset Packs: ${error.message}`);
18
18
  }
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUtZW50cnlwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zY2VuZS1lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRTNDLE1BQU0sVUFBVSxjQUFjLENBQzVCLE9BQVksRUFDWixvQkFBeUIsRUFDekIsV0FBZ0Q7SUFFaEQsTUFBTSxNQUFNLEdBQUcsT0FBa0IsQ0FBQTtJQUNqQyxNQUFNLG1CQUFtQixHQUFHLG9CQUEyQyxDQUFBO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLFdBQStCLENBQUE7SUFDbEQsSUFBSSxDQUFDO1FBQ0gsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtRQUN6RCxNQUFNLENBQUMsU0FBUyxDQUNkLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLENBQUMsQ0FDOUQsQ0FBQTtRQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFBO1FBQ3JDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFvQyxLQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFbmdpbmUsIFBvaW50ZXJFdmVudHNTeXN0ZW0gfSBmcm9tICdAZGNsL3Nkay9lY3MnXG5pbXBvcnQge1xuICBFbmdpbmVDb21wb25lbnRzLFxuICBjcmVhdGVDb21wb25lbnRzLFxuICBpbml0Q29tcG9uZW50cyxcbn0gZnJvbSAnLi9kZWZpbml0aW9ucydcbmltcG9ydCB7IGNyZWF0ZUFjdGlvbnNTeXN0ZW0gfSBmcm9tICcuL2FjdGlvbnMnXG5pbXBvcnQgeyBjcmVhdGVUcmlnZ2Vyc1N5c3RlbSB9IGZyb20gJy4vdHJpZ2dlcnMnXG5pbXBvcnQgeyBjcmVhdGVUaW1lclN5c3RlbSB9IGZyb20gJy4vdGltZXInXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0QXNzZXRQYWNrcyhcbiAgX2VuZ2luZTogYW55LFxuICBfcG9pbnRlckV2ZW50c1N5c3RlbTogYW55LFxuICBfY29tcG9uZW50czogUmVjb3JkPGtleW9mIEVuZ2luZUNvbXBvbmVudHMsIGFueT4sXG4pIHtcbiAgY29uc3QgZW5naW5lID0gX2VuZ2luZSBhcyBJRW5naW5lXG4gIGNvbnN0IHBvaW50ZXJFdmVudHNTeXN0ZW0gPSBfcG9pbnRlckV2ZW50c1N5c3RlbSBhcyBQb2ludGVyRXZlbnRzU3lzdGVtXG4gIGNvbnN0IGNvbXBvbmVudHMgPSBfY29tcG9uZW50cyBhcyBFbmdpbmVDb21wb25lbnRzXG4gIHRyeSB7XG4gICAgY3JlYXRlQ29tcG9uZW50cyhlbmdpbmUpXG4gICAgZW5naW5lLmFkZFN5c3RlbShjcmVhdGVBY3Rpb25zU3lzdGVtKGVuZ2luZSwgY29tcG9uZW50cykpXG4gICAgZW5naW5lLmFkZFN5c3RlbShcbiAgICAgIGNyZWF0ZVRyaWdnZXJzU3lzdGVtKGVuZ2luZSwgY29tcG9uZW50cywgcG9pbnRlckV2ZW50c1N5c3RlbSksXG4gICAgKVxuICAgIGVuZ2luZS5hZGRTeXN0ZW0oY3JlYXRlVGltZXJTeXN0ZW0oKSlcbiAgICBpbml0Q29tcG9uZW50cyhlbmdpbmUsIGNvbXBvbmVudHMpXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgaW5pdGlhbGl6aW5nIEFzc2V0IFBhY2tzOiAkeyhlcnJvciBhcyBFcnJvcikubWVzc2FnZX1gKVxuICB9XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUtZW50cnlwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zY2VuZS1lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQU1wRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQWdCLEVBQUUsR0FBRyxLQUFZO0lBQzlELE1BQU0sTUFBTSxHQUFHLE9BQWtCLENBQUE7SUFDakMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFaEQsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFHeEIsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3RCLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUM3QyxNQUFNLENBQUMsU0FBUyxDQUNkLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FDekMsQ0FBQTtRQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBb0MsS0FBZSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDOUUsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRW5naW5lIH0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuaW1wb3J0IHtcbiAgY3JlYXRlQ29tcG9uZW50cyxcbiAgaW5pdENvbXBvbmVudHMsXG59IGZyb20gJy4vZGVmaW5pdGlvbnMnXG5pbXBvcnQgeyBjcmVhdGVBY3Rpb25zU3lzdGVtIH0gZnJvbSAnLi9hY3Rpb25zJ1xuaW1wb3J0IHsgY3JlYXRlVHJpZ2dlcnNTeXN0ZW0gfSBmcm9tICcuL3RyaWdnZXJzJ1xuaW1wb3J0IHsgY3JlYXRlVGltZXJTeXN0ZW0gfSBmcm9tICcuL3RpbWVyJ1xuaW1wb3J0IHsgZ2V0RXhwbG9yZXJDb21wb25lbnRzIH0gZnJvbSAnLi9jb21wb25lbnRzJ1xuXG4vKipcbiAqIHRoZSBfYXJncyBwYXJhbSBpcyB0aGVyZSB0byBtYW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggYWxsIHZlcnNpb25zLlxuICogQmVmb3JlIGl0IHdhcyBpbml0QXNzZXRQYWNrcyhlbmdpbmUsIHBvaW50ZXJFdmVudHNTeXN0ZW0sIGNvbXBvbmVudHMpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0QXNzZXRQYWNrcyhfZW5naW5lOiB1bmtub3duLCAuLi5fYXJnczogYW55W10pIHtcbiAgY29uc3QgZW5naW5lID0gX2VuZ2luZSBhcyBJRW5naW5lXG4gIHRyeSB7XG4gICAgY29uc3QgY29tcG9uZW50cyA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpXG4gICAgLy8gY3JlYXRlIGVkaXRvciBjb21wb25lbnRzXG4gICAgY3JlYXRlQ29tcG9uZW50cyhlbmdpbmUpXG5cbiAgICAvLyBjcmVhdGUgc3lzdGVtcyB0aGF0IHNvbWUgY29tcG9uZW50cyBuZWVkcyAoVmlkZW9QbGF5ZXIsIGV0YylcbiAgICBpbml0Q29tcG9uZW50cyhlbmdpbmUpXG4gICAgZW5naW5lLmFkZFN5c3RlbShjcmVhdGVBY3Rpb25zU3lzdGVtKGVuZ2luZSkpXG4gICAgZW5naW5lLmFkZFN5c3RlbShcbiAgICAgIGNyZWF0ZVRyaWdnZXJzU3lzdGVtKGVuZ2luZSwgY29tcG9uZW50cyksXG4gICAgKVxuICAgIGVuZ2luZS5hZGRTeXN0ZW0oY3JlYXRlVGltZXJTeXN0ZW0oKSlcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciBpbml0aWFsaXppbmcgQXNzZXQgUGFja3M6ICR7KGVycm9yIGFzIEVycm9yKS5tZXNzYWdlfWApXG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { IEngine, Entity, PointerEventsSystem } from '@dcl/sdk/ecs';
1
+ import { IEngine, Entity } from '@dcl/sdk/ecs';
2
2
  import { EngineComponents } from './definitions';
3
3
  export declare function initTriggers(entity: Entity): void;
4
- export declare function createTriggersSystem(engine: IEngine, components: EngineComponents, pointerEventsSystem: PointerEventsSystem): (_dt: number) => void;
4
+ export declare function createTriggersSystem(engine: IEngine, components: EngineComponents): (_dt: number) => void;
package/dist/triggers.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { createPointerEventsSystem } from '@dcl/ecs/dist/systems/events';
2
+ import { createInputSystem } from '@dcl/ecs/dist/engine/input';
1
3
  import { triggers, LAYER_1, NO_LAYERS } from '@dcl-sdk/utils';
2
4
  import { ComponentName, TriggerConditionOperation, TriggerConditionType, TriggerType, getConditionTypesByComponentName, getComponents, } from './definitions';
3
5
  import { getCurrentValue } from './states';
@@ -12,7 +14,9 @@ export function initTriggers(entity) {
12
14
  }
13
15
  throw new Error(`Cannot call initTriggers while triggersSystem has not been created`);
14
16
  }
15
- export function createTriggersSystem(engine, components, pointerEventsSystem) {
17
+ export function createTriggersSystem(engine, components) {
18
+ const inputSystem = createInputSystem(engine);
19
+ const pointerEventsSystem = createPointerEventsSystem(engine, inputSystem);
16
20
  const { Transform } = components;
17
21
  const { Actions, States, Counter, Triggers } = getComponents(engine);
18
22
  internalInitTriggers = initEntityTriggers;
@@ -207,4 +211,4 @@ export function createTriggersSystem(engine, components, pointerEventsSystem) {
207
211
  });
208
212
  }
209
213
  }
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDN0QsT0FBTyxFQUVMLGFBQWEsRUFJYix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxnQ0FBZ0MsRUFDaEMsYUFBYSxHQUVkLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtBQUN4QyxNQUFNLFdBQVcsR0FBeUMsRUFBRSxDQUFBO0FBRTVELElBQUksb0JBQW9CLEdBQXNDLElBQUksQ0FBQTtBQUVsRSxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWM7SUFDekMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQ2Isb0VBQW9FLENBQ3JFLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxNQUFlLEVBQ2YsVUFBNEIsRUFDNUIsbUJBQXdDO0lBRXhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUE7SUFDaEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUdwRSxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQTtJQUV6QyxPQUFPLFNB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QUFDLEVBQUU7YUFDMUQ7U0FDRixFQUNELEdBQUcsRUFBRTtZQUNILE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzlDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFDdkQsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNILE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzlDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFDdkQsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElFbmdpbmUsXG4gIEVudGl0eSxcbiAgUG9pbnRlckV2ZW50c1N5c3RlbSxcbiAgSW5wdXRBY3Rpb24sXG4gIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uLFxuICBEZWVwUmVhZG9ubHlPYmplY3QsXG59IGZyb20gJ0BkY2wvc2RrL2VjcydcbmltcG9ydCB7IHRyaWdnZXJzLCBMQVlFUl8xLCBOT19MQVlFUlMgfSBmcm9tICdAZGNsLXNkay91dGlscydcbmltcG9ydCB7XG4gIEFjdGlvbixcbiAgQ29tcG9uZW50TmFtZSxcbiAgVHJpZ2dlcixcbiAgVHJpZ2dlckFjdGlvbixcbiAgVHJpZ2dlckNvbmRpdGlvbixcbiAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgVHJpZ2dlckNvbmRpdGlvblR5cGUsXG4gIFRyaWdnZXJUeXBlLFxuICBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZSxcbiAgZ2V0Q29tcG9uZW50cyxcbiAgRW5naW5lQ29tcG9uZW50cyxcbn0gZnJvbSAnLi9kZWZpbml0aW9ucydcbmltcG9ydCB7IGdldEN1cnJlbnRWYWx1ZSB9IGZyb20gJy4vc3RhdGVzJ1xuaW1wb3J0IHsgZ2V0QWN0aW9uRXZlbnRzLCBnZXRUcmlnZ2VyRXZlbnRzIH0gZnJvbSAnLi9ldmVudHMnXG5pbXBvcnQgeyBnZXRQYXlsb2FkIH0gZnJvbSAnLi9hY3Rpb24tdHlwZXMnXG5cbmNvbnN0IGluaXRlZEVudGl0aWVzID0gbmV3IFNldDxFbnRpdHk+KClcbmNvbnN0IGFjdGlvblF1ZXVlOiB7IGVudGl0eTogRW50aXR5OyBhY3Rpb246IEFjdGlvbiB9W10gPSBbXVxuXG5sZXQgaW50ZXJuYWxJbml0VHJpZ2dlcnM6ICgoZW50aXR5OiBFbnRpdHkpID0+IHZvaWQpIHwgbnVsbCA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRUcmlnZ2VycyhlbnRpdHk6IEVudGl0eSkge1xuICBpZiAoaW50ZXJuYWxJbml0VHJpZ2dlcnMpIHtcbiAgICByZXR1cm4gaW50ZXJuYWxJbml0VHJpZ2dlcnMoZW50aXR5KVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgQ2Fubm90IGNhbGwgaW5pdFRyaWdnZXJzIHdoaWxlIHRyaWdnZXJzU3lzdGVtIGhhcyBub3QgYmVlbiBjcmVhdGVkYCxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJpZ2dlcnNTeXN0ZW0oXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgY29tcG9uZW50czogRW5naW5lQ29tcG9uZW50cyxcbiAgcG9pbnRlckV2ZW50c1N5c3RlbTogUG9pbnRlckV2ZW50c1N5c3RlbSxcbikge1xuICBjb25zdCB7IFRyYW5zZm9ybSB9ID0gY29tcG9uZW50c1xuICBjb25zdCB7IEFjdGlvbnMsIFN0YXRlcywgQ291bnRlciwgVHJpZ2dlcnMgfSA9IGdldENvbXBvbmVudHMoZW5naW5lKVxuXG4gIC8vIHNhdmUgcmVmZXJlbmNlIHRvIHRoZSBpbml0IGZ1bmN0aW9uXG4gIGludGVybmFsSW5pdFRyaWdnZXJzID0gaW5pdEVudGl0eVRyaWdnZXJzXG5cbiAgcmV0dXJuIGZ1bmN0aW9uIHRyaWdnZXJzU3lzdGVtKF9kdDogbnVtYmVyKSB7XG4gICAgLy8gcHJvY2VzcyBhY3Rpb24gcXVldWVcbiAgICB3aGlsZSAoYWN0aW9uUXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgeyBlbnRpdHksIGFjdGlvbiB9ID0gYWN0aW9uUXVldWUuc2hpZnQoKSFcbiAgICAgIGNvbnN0IGFjdGlvbkV2ZW50cyA9IGdldEFjdGlvbkV2ZW50cyhlbnRpdHkpXG4gICAgICBhY3Rpb25FdmVudHMuZW1pdChhY3Rpb24ubmFtZSwgZ2V0UGF5bG9hZChhY3Rpb24pKVxuICAgIH1cblxuICAgIGNvbnN0IGVudGl0aWVzV2l0aFRyaWdnZXJzID0gZW5naW5lLmdldEVudGl0aWVzV2l0aChUcmlnZ2VycylcbiAgICBmb3IgKGNvbnN0IFtlbnRpdHldIG9mIGVudGl0aWVzV2l0aFRyaWdnZXJzKSB7XG4gICAgICBpbml0RW50aXR5VHJpZ2dlcnMoZW50aXR5KVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRFbnRpdHlUcmlnZ2VycyhlbnRpdHk6IEVudGl0eSkge1xuICAgIGlmICghVHJpZ2dlcnMuaGFzKGVudGl0eSkgfHwgaW5pdGVkRW50aXRpZXMuaGFzKGVudGl0eSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIGdldCB0cmlnZ2VycyBkYXRhXG4gICAgY29uc3QgdHJpZ2dlcnMgPSBUcmlnZ2Vycy5nZXQoZW50aXR5KVxuXG4gICAgLy8gaW5pdGlhbGl6ZSB0cmlnZ2VycyBmb3IgZ2l2ZW4gZW50aXR5XG4gICAgY29uc3QgdHlwZXMgPSB0cmlnZ2Vycy52YWx1ZS5yZWR1Y2UoXG4gICAgICAodHlwZXMsIHRyaWdnZXIpID0+IHR5cGVzLmFkZCh0cmlnZ2VyLnR5cGUpLFxuICAgICAgbmV3IFNldDxUcmlnZ2VyVHlwZT4oKSxcbiAgICApXG4gICAgZm9yIChjb25zdCB0eXBlIG9mIHR5cGVzKSB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9DTElDSzoge1xuICAgICAgICAgIGluaXRPbkNsaWNrVHJpZ2dlcihlbnRpdHkpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX1BMQVlFUl9FTlRFUlNfQVJFQTpcbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9QTEFZRVJfTEVBVkVTX0FSRUE6IHtcbiAgICAgICAgICBpbml0T25QbGF5ZXJUcmlnZ2VyQXJlYShlbnRpdHkpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJpbmQgdHJpZ2dlcnNcbiAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpXG4gICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJzLnZhbHVlKSB7XG4gICAgICB0cmlnZ2VyRXZlbnRzLm9uKHRyaWdnZXIudHlwZSwgKCkgPT4ge1xuICAgICAgICBpZiAoY2hlY2tDb25kaXRpb25zKHRyaWdnZXIpKSB7XG4gICAgICAgICAgZm9yIChjb25zdCB0cmlnZ2VyQWN0aW9uIG9mIHRyaWdnZXIuYWN0aW9ucykge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRBY3Rpb24odHJpZ2dlckFjdGlvbikpIHtcbiAgICAgICAgICAgICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlBY3Rpb24odHJpZ2dlckFjdGlvbilcbiAgICAgICAgICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvbnMgPSBBY3Rpb25zLmdldE9yTnVsbChlbnRpdHkpXG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IGFjdGlvbnMudmFsdWUuZmluZChcbiAgICAgICAgICAgICAgICAgICAgKCQpID0+ICQubmFtZSA9PT0gdHJpZ2dlckFjdGlvbi5uYW1lLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAvLyBhY3Rpb25zIGFyZSBlbnF1ZXVlZCB0byBiZSBleGVjdXRlZCBvbiB0aGUgbmV4dCB0aWNrIGFmdGVyIGFsbCB0aGUgdHJpZ2dlcnMgaGF2ZSBiZWVuIHByb2Nlc3NlZCxcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBpcyB0byBhdm9pZCBvbmUgdHJpZ2dlciBtZXNzaW5nIHdpdGggb3RoZXIgdHJpZ2dlcidzIGNvbmRpdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uUXVldWUucHVzaCh7IGVudGl0eSwgYWN0aW9uIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fU1BBV04pXG5cbiAgICBpbml0ZWRFbnRpdGllcy5hZGQoZW50aXR5KVxuICB9XG5cbiAgZnVuY3Rpb24gaXNWYWxpZEFjdGlvbihhY3Rpb246IFRyaWdnZXJBY3Rpb24pIHtcbiAgICBjb25zdCB7IGlkLCBuYW1lIH0gPSBhY3Rpb25cbiAgICByZXR1cm4gISFpZCAmJiAhIW5hbWVcbiAgfVxuXG4gIGZ1bmN0aW9uIGNoZWNrQ29uZGl0aW9ucyh0cmlnZ2VyOiBEZWVwUmVhZG9ubHlPYmplY3Q8VHJpZ2dlcj4pIHtcbiAgICBpZiAodHJpZ2dlci5jb25kaXRpb25zICYmIHRyaWdnZXIuY29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBjb25kaXRpb25zID0gdHJpZ2dlci5jb25kaXRpb25zLm1hcChjaGVja0NvbmRpdGlvbilcbiAgICAgIGNvbnN0IGlzVHJ1ZSA9IChyZXN1bHQ/OiBib29sZWFuKSA9PiAhIXJlc3VsdFxuICAgICAgY29uc3Qgb3BlcmF0aW9uID0gdHJpZ2dlci5vcGVyYXRpb24gfHwgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5BTkRcbiAgICAgIHN3aXRjaCAob3BlcmF0aW9uKSB7XG4gICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5BTkQ6IHtcbiAgICAgICAgICByZXR1cm4gY29uZGl0aW9ucy5ldmVyeShpc1RydWUpXG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLk9SOiB7XG4gICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbnMuc29tZShpc1RydWUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gaWYgdGhlcmUgYXJlIG5vIGNvbmRpdGlvbnMsIHRoZSB0cmlnZ2VyIGNhbiBjb250aW51ZVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBmdW5jdGlvbiBjaGVja0NvbmRpdGlvbihjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUNvbmRpdGlvbihjb25kaXRpb24pXG4gICAgaWYgKGVudGl0eSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9TVEFURV9JUzoge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0gU3RhdGVzLmdldE9yTnVsbChlbnRpdHkpXG4gICAgICAgICAgICBpZiAoc3RhdGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldEN1cnJlbnRWYWx1ZShzdGF0ZXMpXG4gICAgICAgICAgICAgIHJldHVybiBjdXJyZW50VmFsdWUgPT09IGNvbmRpdGlvbi52YWx1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTX05PVDoge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0gU3RhdGVzLmdldE9yTnVsbChlbnRpdHkpXG4gICAgICAgICAgICBpZiAoc3RhdGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldEN1cnJlbnRWYWx1ZShzdGF0ZXMpXG4gICAgICAgICAgICAgIHJldHVybiBjdXJyZW50VmFsdWUgIT09IGNvbmRpdGlvbi52YWx1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfRVFVQUxTOiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRPck51bGwoZW50aXR5KVxuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpXG4gICAgICAgICAgICAgIGlmICghaXNOYU4obnVtZXJpYykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY291bnRlci52YWx1ZSA9PT0gbnVtZXJpY1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yTnVsbChlbnRpdHkpXG4gICAgICAgICAgICBpZiAoY291bnRlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSlcbiAgICAgICAgICAgICAgaWYgKCFpc05hTihudW1lcmljKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb3VudGVyLnZhbHVlID4gbnVtZXJpY1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yTnVsbChlbnRpdHkpXG4gICAgICAgICAgICBpZiAoY291bnRlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSlcbiAgICAgICAgICAgICAgaWYgKCFpc05hTihudW1lcmljKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb3VudGVyLnZhbHVlIDwgbnVtZXJpY1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gY29uZGl0aW9uJywgY29uZGl0aW9uKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldEVudGl0eUJ5SWQ8VCBleHRlbmRzIHsgaWQ6IG51bWJlciB9PihcbiAgICBjb21wb25lbnROYW1lOiBzdHJpbmcsXG4gICAgaWQ6IG51bWJlcixcbiAgKSB7XG4gICAgY29uc3QgQ29tcG9uZW50ID0gZW5naW5lLmdldENvbXBvbmVudChcbiAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxUPlxuICAgIGNvbnN0IGVudGl0aWVzID0gQXJyYXkuZnJvbShlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKENvbXBvbmVudCkpXG4gICAgY29uc3QgcmVzdWx0ID0gZW50aXRpZXMuZmluZCgoW19lbnRpdHksIHZhbHVlXSkgPT4gdmFsdWUuaWQgPT09IGlkKVxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHJlc3VsdCkgJiYgcmVzdWx0Lmxlbmd0aCA+IDAgPyByZXN1bHRbMF0gOiBudWxsXG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUFjdGlvbihhY3Rpb246IFRyaWdnZXJBY3Rpb24pIHtcbiAgICBpZiAoYWN0aW9uLmlkKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUlkKENvbXBvbmVudE5hbWUuQUNUSU9OUywgYWN0aW9uLmlkKVxuICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICByZXR1cm4gZW50aXR5XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUNvbmRpdGlvbihjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCBjb21wb25lbnROYW1lID0gT2JqZWN0LnZhbHVlcyhDb21wb25lbnROYW1lKVxuICAgICAgLm1hcCgoY29tcG9uZW50TmFtZSkgPT4gKHtcbiAgICAgICAgY29tcG9uZW50TmFtZSxcbiAgICAgICAgY29uZGl0aW9uVHlwZXM6IGdldENvbmRpdGlvblR5cGVzQnlDb21wb25lbnROYW1lKGNvbXBvbmVudE5hbWUpLFxuICAgICAgfSkpXG4gICAgICAucmVkdWNlPENvbXBvbmVudE5hbWUgfCBudWxsPihcbiAgICAgICAgKHJlc3VsdCwgeyBjb21wb25lbnROYW1lLCBjb25kaXRpb25UeXBlcyB9KSA9PlxuICAgICAgICAgIGNvbmRpdGlvblR5cGVzLmluY2x1ZGVzKGNvbmRpdGlvbi50eXBlKSA/IGNvbXBvbmVudE5hbWUgOiByZXN1bHQsXG4gICAgICAgIG51bGwsXG4gICAgICApXG4gICAgaWYgKGNvbXBvbmVudE5hbWUgJiYgY29uZGl0aW9uLmlkKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUlkKGNvbXBvbmVudE5hbWUsIGNvbmRpdGlvbi5pZClcbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLy8gT05fQ0xJQ0tcbiAgZnVuY3Rpb24gaW5pdE9uQ2xpY2tUcmlnZ2VyKGVudGl0eTogRW50aXR5KSB7XG4gICAgcG9pbnRlckV2ZW50c1N5c3RlbS5vblBvaW50ZXJEb3duKFxuICAgICAge1xuICAgICAgICBlbnRpdHksXG4gICAgICAgIG9wdHM6IHtcbiAgICAgICAgICBidXR0b246IElucHV0QWN0aW9uLklBX1BPSU5URVIsXG4gICAgICAgICAgaG92ZXJUZXh0OiAnQ2xpY2snLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KVxuICAgICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fQ0xJQ0spXG4gICAgICB9LFxuICAgIClcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRPblBsYXllclRyaWdnZXJBcmVhKGVudGl0eTogRW50aXR5KSB7XG4gICAgY29uc3QgdHJhbnNmb3JtID0gVHJhbnNmb3JtLmdldE9yTnVsbChlbnRpdHkpXG4gICAgdHJpZ2dlcnMuYWRkVHJpZ2dlcihcbiAgICAgIGVudGl0eSxcbiAgICAgIE5PX0xBWUVSUyxcbiAgICAgIExBWUVSXzEsXG4gICAgICBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYm94JyxcbiAgICAgICAgICBzY2FsZTogdHJhbnNmb3JtID8gdHJhbnNmb3JtLnNjYWxlIDogeyB4OiAxLCB5OiAxLCB6OiAxIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpXG4gICAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9QTEFZRVJfRU5URVJTX0FSRUEpXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpXG4gICAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9QTEFZRVJfTEVBVkVTX0FSRUEpXG4gICAgICB9LFxuICAgIClcbiAgfVxufVxuIl19
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDN0QsT0FBTyxFQUVMLGFBQWEsRUFJYix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxnQ0FBZ0MsRUFDaEMsYUFBYSxHQUVkLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtBQUN4QyxNQUFNLFdBQVcsR0FBeUMsRUFBRSxDQUFBO0FBRTVELElBQUksb0JBQW9CLEdBQXNDLElBQUksQ0FBQTtBQUVsRSxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWM7SUFDekMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQ2Isb0VBQW9FLENBQ3JFLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQWUsRUFBRSxVQUE0QjtJQUNoRixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3QyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxX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Q0FDakIsTUFBTSxFQUNOLFNBQVMsRUFDVCxPQUFPLEVBQ1A7WUFDRTtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2FBQzFEO1NBQ0YsRUFDRCxHQUFHLEVBQUU7WUFDSCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUM5QyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ3ZELENBQUMsRUFDRCxHQUFHLEVBQUU7WUFDSCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUM5QyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ3ZELENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJRW5naW5lLFxuICBFbnRpdHksXG4gIFBvaW50ZXJFdmVudHNTeXN0ZW0sXG4gIElucHV0QWN0aW9uLFxuICBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbixcbiAgRGVlcFJlYWRvbmx5T2JqZWN0LFxufSBmcm9tICdAZGNsL3Nkay9lY3MnXG5pbXBvcnQgeyBjcmVhdGVQb2ludGVyRXZlbnRzU3lzdGVtIH0gZnJvbSAnQGRjbC9lY3MvZGlzdC9zeXN0ZW1zL2V2ZW50cydcbmltcG9ydCB7IGNyZWF0ZUlucHV0U3lzdGVtIH0gZnJvbSAnQGRjbC9lY3MvZGlzdC9lbmdpbmUvaW5wdXQnXG5pbXBvcnQgeyB0cmlnZ2VycywgTEFZRVJfMSwgTk9fTEFZRVJTIH0gZnJvbSAnQGRjbC1zZGsvdXRpbHMnXG5pbXBvcnQge1xuICBBY3Rpb24sXG4gIENvbXBvbmVudE5hbWUsXG4gIFRyaWdnZXIsXG4gIFRyaWdnZXJBY3Rpb24sXG4gIFRyaWdnZXJDb25kaXRpb24sXG4gIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24sXG4gIFRyaWdnZXJDb25kaXRpb25UeXBlLFxuICBUcmlnZ2VyVHlwZSxcbiAgZ2V0Q29uZGl0aW9uVHlwZXNCeUNvbXBvbmVudE5hbWUsXG4gIGdldENvbXBvbmVudHMsXG4gIEVuZ2luZUNvbXBvbmVudHMsXG59IGZyb20gJy4vZGVmaW5pdGlvbnMnXG5pbXBvcnQgeyBnZXRDdXJyZW50VmFsdWUgfSBmcm9tICcuL3N0YXRlcydcbmltcG9ydCB7IGdldEFjdGlvbkV2ZW50cywgZ2V0VHJpZ2dlckV2ZW50cyB9IGZyb20gJy4vZXZlbnRzJ1xuaW1wb3J0IHsgZ2V0UGF5bG9hZCB9IGZyb20gJy4vYWN0aW9uLXR5cGVzJ1xuXG5jb25zdCBpbml0ZWRFbnRpdGllcyA9IG5ldyBTZXQ8RW50aXR5PigpXG5jb25zdCBhY3Rpb25RdWV1ZTogeyBlbnRpdHk6IEVudGl0eTsgYWN0aW9uOiBBY3Rpb24gfVtdID0gW11cblxubGV0IGludGVybmFsSW5pdFRyaWdnZXJzOiAoKGVudGl0eTogRW50aXR5KSA9PiB2b2lkKSB8IG51bGwgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VHJpZ2dlcnMoZW50aXR5OiBFbnRpdHkpIHtcbiAgaWYgKGludGVybmFsSW5pdFRyaWdnZXJzKSB7XG4gICAgcmV0dXJuIGludGVybmFsSW5pdFRyaWdnZXJzKGVudGl0eSlcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYENhbm5vdCBjYWxsIGluaXRUcmlnZ2VycyB3aGlsZSB0cmlnZ2Vyc1N5c3RlbSBoYXMgbm90IGJlZW4gY3JlYXRlZGAsXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyaWdnZXJzU3lzdGVtKGVuZ2luZTogSUVuZ2luZSwgY29tcG9uZW50czogRW5naW5lQ29tcG9uZW50cykge1xuICBjb25zdCBpbnB1dFN5c3RlbSA9IGNyZWF0ZUlucHV0U3lzdGVtKGVuZ2luZSlcbiAgY29uc3QgcG9pbnRlckV2ZW50c1N5c3RlbSA9IGNyZWF0ZVBvaW50ZXJFdmVudHNTeXN0ZW0oZW5naW5lLCBpbnB1dFN5c3RlbSlcbiAgY29uc3QgeyBUcmFuc2Zvcm0gfSA9IGNvbXBvbmVudHNcbiAgY29uc3QgeyBBY3Rpb25zLCBTdGF0ZXMsIENvdW50ZXIsIFRyaWdnZXJzIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSlcblxuICAvLyBzYXZlIHJlZmVyZW5jZSB0byB0aGUgaW5pdCBmdW5jdGlvblxuICBpbnRlcm5hbEluaXRUcmlnZ2VycyA9IGluaXRFbnRpdHlUcmlnZ2Vyc1xuXG4gIHJldHVybiBmdW5jdGlvbiB0cmlnZ2Vyc1N5c3RlbShfZHQ6IG51bWJlcikge1xuICAgIC8vIHByb2Nlc3MgYWN0aW9uIHF1ZXVlXG4gICAgd2hpbGUgKGFjdGlvblF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHsgZW50aXR5LCBhY3Rpb24gfSA9IGFjdGlvblF1ZXVlLnNoaWZ0KCkhXG4gICAgICBjb25zdCBhY3Rpb25FdmVudHMgPSBnZXRBY3Rpb25FdmVudHMoZW50aXR5KVxuICAgICAgYWN0aW9uRXZlbnRzLmVtaXQoYWN0aW9uLm5hbWUsIGdldFBheWxvYWQoYWN0aW9uKSlcbiAgICB9XG5cbiAgICBjb25zdCBlbnRpdGllc1dpdGhUcmlnZ2VycyA9IGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoVHJpZ2dlcnMpXG4gICAgZm9yIChjb25zdCBbZW50aXR5XSBvZiBlbnRpdGllc1dpdGhUcmlnZ2Vycykge1xuICAgICAgaW5pdEVudGl0eVRyaWdnZXJzKGVudGl0eSlcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbml0RW50aXR5VHJpZ2dlcnMoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBpZiAoIVRyaWdnZXJzLmhhcyhlbnRpdHkpIHx8IGluaXRlZEVudGl0aWVzLmhhcyhlbnRpdHkpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBnZXQgdHJpZ2dlcnMgZGF0YVxuICAgIGNvbnN0IHRyaWdnZXJzID0gVHJpZ2dlcnMuZ2V0KGVudGl0eSlcblxuICAgIC8vIGluaXRpYWxpemUgdHJpZ2dlcnMgZm9yIGdpdmVuIGVudGl0eVxuICAgIGNvbnN0IHR5cGVzID0gdHJpZ2dlcnMudmFsdWUucmVkdWNlKFxuICAgICAgKHR5cGVzLCB0cmlnZ2VyKSA9PiB0eXBlcy5hZGQodHJpZ2dlci50eXBlKSxcbiAgICAgIG5ldyBTZXQ8VHJpZ2dlclR5cGU+KCksXG4gICAgKVxuICAgIGZvciAoY29uc3QgdHlwZSBvZiB0eXBlcykge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fQ0xJQ0s6IHtcbiAgICAgICAgICBpbml0T25DbGlja1RyaWdnZXIoZW50aXR5KVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9QTEFZRVJfRU5URVJTX0FSRUE6XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fUExBWUVSX0xFQVZFU19BUkVBOiB7XG4gICAgICAgICAgaW5pdE9uUGxheWVyVHJpZ2dlckFyZWEoZW50aXR5KVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBiaW5kIHRyaWdnZXJzXG4gICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KVxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2Vycy52YWx1ZSkge1xuICAgICAgdHJpZ2dlckV2ZW50cy5vbih0cmlnZ2VyLnR5cGUsICgpID0+IHtcbiAgICAgICAgaWYgKGNoZWNrQ29uZGl0aW9ucyh0cmlnZ2VyKSkge1xuICAgICAgICAgIGZvciAoY29uc3QgdHJpZ2dlckFjdGlvbiBvZiB0cmlnZ2VyLmFjdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkQWN0aW9uKHRyaWdnZXJBY3Rpb24pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVudGl0eSA9IGdldEVudGl0eUJ5QWN0aW9uKHRyaWdnZXJBY3Rpb24pXG4gICAgICAgICAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25zID0gQWN0aW9ucy5nZXRPck51bGwoZW50aXR5KVxuICAgICAgICAgICAgICAgIGlmIChhY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb24gPSBhY3Rpb25zLnZhbHVlLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICgkKSA9PiAkLm5hbWUgPT09IHRyaWdnZXJBY3Rpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aW9ucyBhcmUgZW5xdWV1ZWQgdG8gYmUgZXhlY3V0ZWQgb24gdGhlIG5leHQgdGljayBhZnRlciBhbGwgdGhlIHRyaWdnZXJzIGhhdmUgYmVlbiBwcm9jZXNzZWQsXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMgdG8gYXZvaWQgb25lIHRyaWdnZXIgbWVzc2luZyB3aXRoIG90aGVyIHRyaWdnZXIncyBjb25kaXRpb25zXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvblF1ZXVlLnB1c2goeyBlbnRpdHksIGFjdGlvbiB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX1NQQVdOKVxuXG4gICAgaW5pdGVkRW50aXRpZXMuYWRkKGVudGl0eSlcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzVmFsaWRBY3Rpb24oYWN0aW9uOiBUcmlnZ2VyQWN0aW9uKSB7XG4gICAgY29uc3QgeyBpZCwgbmFtZSB9ID0gYWN0aW9uXG4gICAgcmV0dXJuICEhaWQgJiYgISFuYW1lXG4gIH1cblxuICBmdW5jdGlvbiBjaGVja0NvbmRpdGlvbnModHJpZ2dlcjogRGVlcFJlYWRvbmx5T2JqZWN0PFRyaWdnZXI+KSB7XG4gICAgaWYgKHRyaWdnZXIuY29uZGl0aW9ucyAmJiB0cmlnZ2VyLmNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgY29uZGl0aW9ucyA9IHRyaWdnZXIuY29uZGl0aW9ucy5tYXAoY2hlY2tDb25kaXRpb24pXG4gICAgICBjb25zdCBpc1RydWUgPSAocmVzdWx0PzogYm9vbGVhbikgPT4gISFyZXN1bHRcbiAgICAgIGNvbnN0IG9wZXJhdGlvbiA9IHRyaWdnZXIub3BlcmF0aW9uIHx8IFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uQU5EXG4gICAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uQU5EOiB7XG4gICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbnMuZXZlcnkoaXNUcnVlKVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5PUjoge1xuICAgICAgICAgIHJldHVybiBjb25kaXRpb25zLnNvbWUoaXNUcnVlKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGlmIHRoZXJlIGFyZSBubyBjb25kaXRpb25zLCB0aGUgdHJpZ2dlciBjYW4gY29udGludWVcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgZnVuY3Rpb24gY2hlY2tDb25kaXRpb24oY29uZGl0aW9uOiBUcmlnZ2VyQ29uZGl0aW9uKSB7XG4gICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlDb25kaXRpb24oY29uZGl0aW9uKVxuICAgIGlmIChlbnRpdHkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoY29uZGl0aW9uLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlcyA9IFN0YXRlcy5nZXRPck51bGwoZW50aXR5KVxuICAgICAgICAgICAgaWYgKHN0YXRlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRDdXJyZW50VmFsdWUoc3RhdGVzKVxuICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlID09PSBjb25kaXRpb24udmFsdWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9TVEFURV9JU19OT1Q6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlcyA9IFN0YXRlcy5nZXRPck51bGwoZW50aXR5KVxuICAgICAgICAgICAgaWYgKHN0YXRlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRDdXJyZW50VmFsdWUoc3RhdGVzKVxuICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlICE9PSBjb25kaXRpb24udmFsdWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0VRVUFMUzoge1xuICAgICAgICAgICAgY29uc3QgY291bnRlciA9IENvdW50ZXIuZ2V0T3JOdWxsKGVudGl0eSlcbiAgICAgICAgICAgIGlmIChjb3VudGVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG51bWVyaWMgPSBOdW1iZXIoY29uZGl0aW9uLnZhbHVlKVxuICAgICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50ZXIudmFsdWUgPT09IG51bWVyaWNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfR1JFQVRFUl9USEFOOiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRPck51bGwoZW50aXR5KVxuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpXG4gICAgICAgICAgICAgIGlmICghaXNOYU4obnVtZXJpYykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY291bnRlci52YWx1ZSA+IG51bWVyaWNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfTEVTU19USEFOOiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRPck51bGwoZW50aXR5KVxuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpXG4gICAgICAgICAgICAgIGlmICghaXNOYU4obnVtZXJpYykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY291bnRlci52YWx1ZSA8IG51bWVyaWNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGNvbmRpdGlvbicsIGNvbmRpdGlvbilcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUlkPFQgZXh0ZW5kcyB7IGlkOiBudW1iZXIgfT4oXG4gICAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAgIGlkOiBudW1iZXIsXG4gICkge1xuICAgIGNvbnN0IENvbXBvbmVudCA9IGVuZ2luZS5nZXRDb21wb25lbnQoXG4gICAgICBjb21wb25lbnROYW1lLFxuICAgICkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248VD5cbiAgICBjb25zdCBlbnRpdGllcyA9IEFycmF5LmZyb20oZW5naW5lLmdldEVudGl0aWVzV2l0aChDb21wb25lbnQpKVxuICAgIGNvbnN0IHJlc3VsdCA9IGVudGl0aWVzLmZpbmQoKFtfZW50aXR5LCB2YWx1ZV0pID0+IHZhbHVlLmlkID09PSBpZClcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyZXN1bHQpICYmIHJlc3VsdC5sZW5ndGggPiAwID8gcmVzdWx0WzBdIDogbnVsbFxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0RW50aXR5QnlBY3Rpb24oYWN0aW9uOiBUcmlnZ2VyQWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi5pZCkge1xuICAgICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlJZChDb21wb25lbnROYW1lLkFDVElPTlMsIGFjdGlvbi5pZClcbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0RW50aXR5QnlDb25kaXRpb24oY29uZGl0aW9uOiBUcmlnZ2VyQ29uZGl0aW9uKSB7XG4gICAgY29uc3QgY29tcG9uZW50TmFtZSA9IE9iamVjdC52YWx1ZXMoQ29tcG9uZW50TmFtZSlcbiAgICAgIC5tYXAoKGNvbXBvbmVudE5hbWUpID0+ICh7XG4gICAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgICAgIGNvbmRpdGlvblR5cGVzOiBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZShjb21wb25lbnROYW1lKSxcbiAgICAgIH0pKVxuICAgICAgLnJlZHVjZTxDb21wb25lbnROYW1lIHwgbnVsbD4oXG4gICAgICAgIChyZXN1bHQsIHsgY29tcG9uZW50TmFtZSwgY29uZGl0aW9uVHlwZXMgfSkgPT5cbiAgICAgICAgICBjb25kaXRpb25UeXBlcy5pbmNsdWRlcyhjb25kaXRpb24udHlwZSkgPyBjb21wb25lbnROYW1lIDogcmVzdWx0LFxuICAgICAgICBudWxsLFxuICAgICAgKVxuICAgIGlmIChjb21wb25lbnROYW1lICYmIGNvbmRpdGlvbi5pZCkge1xuICAgICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlJZChjb21wb25lbnROYW1lLCBjb25kaXRpb24uaWQpXG4gICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgIHJldHVybiBlbnRpdHlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIC8vIE9OX0NMSUNLXG4gIGZ1bmN0aW9uIGluaXRPbkNsaWNrVHJpZ2dlcihlbnRpdHk6IEVudGl0eSkge1xuICAgIHBvaW50ZXJFdmVudHNTeXN0ZW0ub25Qb2ludGVyRG93bihcbiAgICAgIHtcbiAgICAgICAgZW50aXR5LFxuICAgICAgICBvcHRzOiB7XG4gICAgICAgICAgYnV0dG9uOiBJbnB1dEFjdGlvbi5JQV9QT0lOVEVSLFxuICAgICAgICAgIGhvdmVyVGV4dDogJ0NsaWNrJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSlcbiAgICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0NMSUNLKVxuICAgICAgfSxcbiAgICApXG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25QbGF5ZXJUcmlnZ2VyQXJlYShlbnRpdHk6IEVudGl0eSkge1xuICAgIGNvbnN0IHRyYW5zZm9ybSA9IFRyYW5zZm9ybS5nZXRPck51bGwoZW50aXR5KVxuICAgIHRyaWdnZXJzLmFkZFRyaWdnZXIoXG4gICAgICBlbnRpdHksXG4gICAgICBOT19MQVlFUlMsXG4gICAgICBMQVlFUl8xLFxuICAgICAgW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2JveCcsXG4gICAgICAgICAgc2NhbGU6IHRyYW5zZm9ybSA/IHRyYW5zZm9ybS5zY2FsZSA6IHsgeDogMSwgeTogMSwgejogMSB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KVxuICAgICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fUExBWUVSX0VOVEVSU19BUkVBKVxuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KVxuICAgICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fUExBWUVSX0xFQVZFU19BUkVBKVxuICAgICAgfSxcbiAgICApXG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/asset-packs",
3
- "version": "1.12.2",
3
+ "version": "1.12.3-20240301140405.commit-8aef784",
4
4
  "description": "",
5
5
  "main": "dist/definitions.js",
6
6
  "typings": "dist/definitions.d.ts",
@@ -50,8 +50,7 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "@dcl-sdk/utils": "^1.2.6",
53
- "@dcl/js-runtime": "^7.4.2",
54
- "@dcl/sdk": "^7.4.2",
53
+ "@dcl/sdk": "7.4.7",
55
54
  "mitt": "^3.0.1"
56
55
  },
57
56
  "prettier": {
@@ -59,5 +58,5 @@
59
58
  "semi": false,
60
59
  "printWidth": 80
61
60
  },
62
- "commit": "6ba5b93c282000e31dca04b0f69d310e4f40e07d"
61
+ "commit": "8aef784ecb587ff6553e16f1492cd7a547457f59"
63
62
  }