@dcl/asset-packs 1.2.1 → 1.2.2-20231010134915.commit-6abb6ed

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.
@@ -1,40 +0,0 @@
1
- import { Schemas } from '@dcl/sdk/ecs';
2
- import { ComponentName, getComponent, } from './definitions';
3
- export const EMPTY = {
4
- type: 'object',
5
- properties: {},
6
- serializationType: 'map',
7
- };
8
- export function addActionType(engine, type, schema) {
9
- const ActionTypes = getComponent(ComponentName.ACTION_TYPES, engine);
10
- const actionTypes = ActionTypes.getOrCreateMutable(engine.RootEntity);
11
- const actionType = {
12
- type,
13
- jsonSchema: JSON.stringify(schema?.jsonSchema || Schemas.Map({}).jsonSchema),
14
- };
15
- actionTypes.value = [
16
- ...actionTypes.value.filter(($) => $.type !== actionType.type),
17
- actionType,
18
- ];
19
- }
20
- export function getActionSchema(engine, type) {
21
- const ActionTypes = getComponent(ComponentName.ACTION_TYPES, engine);
22
- const actionTypes = ActionTypes.getOrCreateMutable(engine.RootEntity);
23
- const actionType = actionTypes.value.find(($) => $.type === type);
24
- const jsonSchema = actionType
25
- ? JSON.parse(actionType.jsonSchema)
26
- : EMPTY;
27
- return Schemas.fromJson(jsonSchema);
28
- }
29
- export function getActionTypes(engine) {
30
- const ActionTypes = getComponent(ComponentName.ACTION_TYPES, engine);
31
- const actionTypes = ActionTypes.getOrCreateMutable(engine.RootEntity);
32
- return actionTypes.value.map(($) => $.type);
33
- }
34
- export function getPayload(action) {
35
- return JSON.parse(action.jsonPayload);
36
- }
37
- export function getJson(payload) {
38
- return JSON.stringify(payload);
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdDLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM1RSxPQUFPLEVBS0wsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUV0QixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXVCO0lBQ3ZDLElBQUksRUFBRSxRQUFRO0lBQ2QsVUFBVSxFQUFFLEVBQUU7SUFDZCxpQkFBaUIsRUFBRSxLQUFLO0NBQ3pCLENBQUE7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUMzQixNQUFlLEVBQ2YsSUFBWSxFQUNaLE1BQVU7SUFFVixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQzlCLGFBQWEsQ0FBQyxZQUFZLEVBQzFCLE1BQU0sQ0FDUCxDQUFBO0lBQ0QsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNyRSxNQUFNLFVBQVUsR0FBRztRQUNqQixJQUFJO1FBQ0osVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ3hCLE1BQU0sRUFBRSxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQ2pEO0tBQ0YsQ0FBQTtJQUNELFdBQVcsQ0FBQyxLQUFLLEdBQUc7UUFDbEIsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzlELFVBQVU7S0FDWCxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQWMsTUFBZSxFQUFFLElBQVk7SUFDeEUsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUM5QixhQUFhLENBQUMsWUFBWSxFQUMxQixNQUFNLENBQ1AsQ0FBQTtJQUNELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDckUsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUE7SUFDakUsTUFBTSxVQUFVLEdBQXVCLFVBQVU7UUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBQ1QsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBZSxDQUFBO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWU7SUFDNUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUM5QixhQUFhLENBQUMsWUFBWSxFQUMxQixNQUFNLENBQ1AsQ0FBQTtJQUNELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDckUsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzdDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUF1QixNQUFjO0lBQzdELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFxQixDQUFBO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUF1QixPQUF5QjtJQUNyRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFbmdpbmUsIElTY2hlbWEsIEpzb25TY2hlbWFFeHRlbmRlZCwgU2NoZW1hcyB9IGZyb20gJ0BkY2wvc2RrL2VjcydcbmltcG9ydCB7XG4gIEFjdGlvbixcbiAgQWN0aW9uUGF5bG9hZCxcbiAgQWN0aW9uVHlwZSxcbiAgQWN0aW9uVHlwZXMsXG4gIENvbXBvbmVudE5hbWUsXG4gIGdldENvbXBvbmVudCxcbn0gZnJvbSAnLi9kZWZpbml0aW9ucydcblxuZXhwb3J0IGNvbnN0IEVNUFRZOiBKc29uU2NoZW1hRXh0ZW5kZWQgPSB7XG4gIHR5cGU6ICdvYmplY3QnLFxuICBwcm9wZXJ0aWVzOiB7fSxcbiAgc2VyaWFsaXphdGlvblR5cGU6ICdtYXAnLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQWN0aW9uVHlwZTxUIGV4dGVuZHMgSVNjaGVtYT4oXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgdHlwZTogc3RyaW5nLFxuICBzY2hlbWE/OiBULFxuKSB7XG4gIGNvbnN0IEFjdGlvblR5cGVzID0gZ2V0Q29tcG9uZW50PEFjdGlvblR5cGVzPihcbiAgICBDb21wb25lbnROYW1lLkFDVElPTl9UWVBFUyxcbiAgICBlbmdpbmUsXG4gIClcbiAgY29uc3QgYWN0aW9uVHlwZXMgPSBBY3Rpb25UeXBlcy5nZXRPckNyZWF0ZU11dGFibGUoZW5naW5lLlJvb3RFbnRpdHkpXG4gIGNvbnN0IGFjdGlvblR5cGUgPSB7XG4gICAgdHlwZSxcbiAgICBqc29uU2NoZW1hOiBKU09OLnN0cmluZ2lmeShcbiAgICAgIHNjaGVtYT8uanNvblNjaGVtYSB8fCBTY2hlbWFzLk1hcCh7fSkuanNvblNjaGVtYSxcbiAgICApLFxuICB9XG4gIGFjdGlvblR5cGVzLnZhbHVlID0gW1xuICAgIC4uLmFjdGlvblR5cGVzLnZhbHVlLmZpbHRlcigoJCkgPT4gJC50eXBlICE9PSBhY3Rpb25UeXBlLnR5cGUpLFxuICAgIGFjdGlvblR5cGUsXG4gIF1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdGlvblNjaGVtYTxUID0gdW5rbm93bj4oZW5naW5lOiBJRW5naW5lLCB0eXBlOiBzdHJpbmcpIHtcbiAgY29uc3QgQWN0aW9uVHlwZXMgPSBnZXRDb21wb25lbnQ8QWN0aW9uVHlwZXM+KFxuICAgIENvbXBvbmVudE5hbWUuQUNUSU9OX1RZUEVTLFxuICAgIGVuZ2luZSxcbiAgKVxuICBjb25zdCBhY3Rpb25UeXBlcyA9IEFjdGlvblR5cGVzLmdldE9yQ3JlYXRlTXV0YWJsZShlbmdpbmUuUm9vdEVudGl0eSlcbiAgY29uc3QgYWN0aW9uVHlwZSA9IGFjdGlvblR5cGVzLnZhbHVlLmZpbmQoKCQpID0+ICQudHlwZSA9PT0gdHlwZSlcbiAgY29uc3QganNvblNjaGVtYTogSnNvblNjaGVtYUV4dGVuZGVkID0gYWN0aW9uVHlwZVxuICAgID8gSlNPTi5wYXJzZShhY3Rpb25UeXBlLmpzb25TY2hlbWEpXG4gICAgOiBFTVBUWVxuICByZXR1cm4gU2NoZW1hcy5mcm9tSnNvbihqc29uU2NoZW1hKSBhcyBJU2NoZW1hPFQ+XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3Rpb25UeXBlcyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgQWN0aW9uVHlwZXMgPSBnZXRDb21wb25lbnQ8QWN0aW9uVHlwZXM+KFxuICAgIENvbXBvbmVudE5hbWUuQUNUSU9OX1RZUEVTLFxuICAgIGVuZ2luZSxcbiAgKVxuICBjb25zdCBhY3Rpb25UeXBlcyA9IEFjdGlvblR5cGVzLmdldE9yQ3JlYXRlTXV0YWJsZShlbmdpbmUuUm9vdEVudGl0eSlcbiAgcmV0dXJuIGFjdGlvblR5cGVzLnZhbHVlLm1hcCgoJCkgPT4gJC50eXBlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGF5bG9hZDxUIGV4dGVuZHMgQWN0aW9uVHlwZT4oYWN0aW9uOiBBY3Rpb24pIHtcbiAgcmV0dXJuIEpTT04ucGFyc2UoYWN0aW9uLmpzb25QYXlsb2FkKSBhcyBBY3Rpb25QYXlsb2FkPFQ+XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRKc29uPFQgZXh0ZW5kcyBBY3Rpb25UeXBlPihwYXlsb2FkOiBBY3Rpb25QYXlsb2FkPFQ+KSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKVxufVxuIl19
@@ -1,230 +0,0 @@
1
- import { Quaternion, Vector3 } from '@dcl/sdk/math';
2
- import { tweens } from '@dcl-sdk/utils/dist/tween';
3
- import { ActionType, TriggerType, TweenType, getComponents, } from './definitions';
4
- import { getDefaultValue, isValidState } from './states';
5
- import { getActionEvents, getTriggerEvents } from './events';
6
- import { getPayload } from './action-types';
7
- const initedEntities = new Set();
8
- export function createActionsSystem(engine, components) {
9
- const { Animator, Transform, AudioSource, AvatarAttach, VisibilityComponent, GltfContainer, } = components;
10
- const { Actions, States, Counter } = getComponents(engine);
11
- return function actionsSystem(_dt) {
12
- const entitiesWithActions = engine.getEntitiesWith(Actions);
13
- for (const [entity, actions] of entitiesWithActions) {
14
- if (initedEntities.has(entity)) {
15
- continue;
16
- }
17
- const types = actions.value.reduce((types, action) => types.add(action.type), new Set());
18
- for (const type of types) {
19
- switch (type) {
20
- case ActionType.PLAY_ANIMATION: {
21
- initPlayAnimation(entity);
22
- break;
23
- }
24
- default:
25
- break;
26
- }
27
- }
28
- const actionEvents = getActionEvents(entity);
29
- for (const action of actions.value) {
30
- actionEvents.on(action.name, () => {
31
- switch (action.type) {
32
- case ActionType.PLAY_ANIMATION: {
33
- handlePlayAnimation(entity, getPayload(action));
34
- break;
35
- }
36
- case ActionType.STOP_ANIMATION: {
37
- handleStopAnimation(entity, getPayload(action));
38
- break;
39
- }
40
- case ActionType.SET_STATE: {
41
- handleSetState(entity, getPayload(action));
42
- break;
43
- }
44
- case ActionType.START_TWEEN: {
45
- handleStartTween(entity, getPayload(action));
46
- break;
47
- }
48
- case ActionType.SET_COUNTER: {
49
- handleSetCounter(entity, getPayload(action));
50
- break;
51
- }
52
- case ActionType.INCREMENT_COUNTER: {
53
- handleIncrementCounter(entity, getPayload(action));
54
- break;
55
- }
56
- case ActionType.DECREASE_COUNTER: {
57
- handleDecreaseCounter(entity, getPayload(action));
58
- break;
59
- }
60
- case ActionType.PLAY_SOUND: {
61
- handlePlaySound(entity, getPayload(action));
62
- break;
63
- }
64
- case ActionType.STOP_SOUND: {
65
- handleStopSound(entity, getPayload(action));
66
- break;
67
- }
68
- case ActionType.SET_VISIBILITY: {
69
- handleSetVisibility(entity, getPayload(action));
70
- break;
71
- }
72
- case ActionType.ATTACH_TO_PLAYER: {
73
- handleAttachToPlayer(entity, getPayload(action));
74
- break;
75
- }
76
- case ActionType.DETACH_FROM_PLAYER: {
77
- handleDetachFromPlayer(entity, getPayload(action));
78
- break;
79
- }
80
- default:
81
- break;
82
- }
83
- });
84
- }
85
- initedEntities.add(entity);
86
- }
87
- };
88
- function initPlayAnimation(entity) {
89
- Animator.create(entity, {
90
- states: [],
91
- });
92
- Animator.stopAllAnimations(entity);
93
- }
94
- function handlePlayAnimation(entity, payload) {
95
- const { animation, loop } = payload;
96
- const animator = Animator.getMutable(entity);
97
- if (!animator.states.some(($) => $.clip === animation)) {
98
- animator.states = [
99
- ...animator.states,
100
- {
101
- clip: animation,
102
- },
103
- ];
104
- }
105
- Animator.stopAllAnimations(entity);
106
- const clip = Animator.getClip(entity, animation);
107
- clip.playing = true;
108
- clip.loop = loop ?? false;
109
- }
110
- function handleStopAnimation(entity, _payload) {
111
- if (Animator.has(entity)) {
112
- Animator.stopAllAnimations(entity);
113
- }
114
- }
115
- function handleSetState(entity, payload) {
116
- const states = States.getMutableOrNull(entity);
117
- if (states) {
118
- let nextState = payload.state;
119
- nextState = isValidState(states, nextState)
120
- ? nextState
121
- : getDefaultValue(states);
122
- states.currentValue = nextState;
123
- const triggerEvents = getTriggerEvents(entity);
124
- triggerEvents.emit(TriggerType.ON_STATE_CHANGE);
125
- }
126
- }
127
- function handleStartTween(entity, payload) {
128
- if (payload) {
129
- const triggerEvents = getTriggerEvents(entity);
130
- const onTweenEnd = () => triggerEvents.emit(TriggerType.ON_TWEEN_END);
131
- switch (payload.type) {
132
- case TweenType.MOVE_ITEM: {
133
- handleMoveItem(entity, payload, onTweenEnd);
134
- break;
135
- }
136
- case TweenType.ROTATE_ITEM: {
137
- handleRotateItem(entity, payload, onTweenEnd);
138
- break;
139
- }
140
- case TweenType.SCALE_ITEM: {
141
- handleScaleItem(entity, payload, onTweenEnd);
142
- break;
143
- }
144
- default: {
145
- throw new Error(`Unknown tween type: ${payload.type}`);
146
- }
147
- }
148
- }
149
- }
150
- function handleMoveItem(entity, tween, onTweenEnd) {
151
- const transform = Transform.get(entity);
152
- const { duration, interpolationType, relative } = tween;
153
- const end = Vector3.create(tween.end.x, tween.end.y, tween.end.z);
154
- const endPosition = relative ? Vector3.add(transform.position, end) : end;
155
- tweens.startTranslation(entity, transform.position, endPosition, duration, interpolationType, onTweenEnd);
156
- }
157
- function handleRotateItem(entity, tween, onTweenEnd) {
158
- const transform = Transform.get(entity);
159
- const { duration, interpolationType, relative } = tween;
160
- const end = Quaternion.fromEulerDegrees(tween.end.x, tween.end.y, tween.end.z);
161
- const endRotation = relative
162
- ? Quaternion.multiply(transform.rotation, end)
163
- : end;
164
- tweens.startRotation(entity, transform.rotation, endRotation, duration, interpolationType, onTweenEnd);
165
- }
166
- function handleScaleItem(entity, tween, onTweenEnd) {
167
- const transform = Transform.get(entity);
168
- const { duration, interpolationType, relative } = tween;
169
- const end = Vector3.create(tween.end.x, tween.end.y, tween.end.z);
170
- const endScale = relative ? Vector3.add(transform.scale, end) : end;
171
- tweens.startScaling(entity, transform.scale, endScale, duration, interpolationType, onTweenEnd);
172
- }
173
- function handleSetCounter(entity, payload) {
174
- const counter = Counter.getMutableOrNull(entity);
175
- if (counter) {
176
- counter.value = payload.counter;
177
- const triggerEvents = getTriggerEvents(entity);
178
- triggerEvents.emit(TriggerType.ON_COUNTER_CHANGE);
179
- }
180
- }
181
- function handleIncrementCounter(entity, _payload) {
182
- const counter = Counter.getMutableOrNull(entity);
183
- if (counter) {
184
- counter.value += 1;
185
- const triggerEvents = getTriggerEvents(entity);
186
- triggerEvents.emit(TriggerType.ON_COUNTER_CHANGE);
187
- }
188
- }
189
- function handleDecreaseCounter(entity, _payload) {
190
- const counter = Counter.getMutableOrNull(entity);
191
- if (counter) {
192
- counter.value -= 1;
193
- const triggerEvents = getTriggerEvents(entity);
194
- triggerEvents.emit(TriggerType.ON_COUNTER_CHANGE);
195
- }
196
- }
197
- function handlePlaySound(entity, payload) {
198
- const { src, loop, volume } = payload;
199
- AudioSource.createOrReplace(entity, {
200
- audioClipUrl: src,
201
- loop,
202
- playing: true,
203
- volume: volume ?? 1,
204
- });
205
- }
206
- function handleStopSound(entity, _payload) {
207
- const audioSource = AudioSource.getMutableOrNull(entity);
208
- if (audioSource) {
209
- audioSource.playing = false;
210
- }
211
- }
212
- function handleSetVisibility(entity, payload) {
213
- const { visible, physicsCollider } = payload;
214
- VisibilityComponent.createOrReplace(entity, { visible });
215
- const gltf = GltfContainer.getMutableOrNull(entity);
216
- if (gltf && physicsCollider !== undefined) {
217
- gltf.invisibleMeshesCollisionMask = physicsCollider ? 2 : 0;
218
- }
219
- }
220
- function handleAttachToPlayer(entity, payload) {
221
- const { anchorPointId } = payload;
222
- AvatarAttach.createOrReplace(entity, { anchorPointId });
223
- }
224
- function handleDetachFromPlayer(entity, _payload) {
225
- if (AvatarAttach.has(entity)) {
226
- AvatarAttach.deleteFrom(entity);
227
- }
228
- }
229
- }
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNsRCxPQUFPLEVBRUwsVUFBVSxFQUNWLFdBQVcsRUFDWCxTQUFTLEVBQ1QsYUFBYSxHQUNkLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTNDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7QUFFeEMsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxNQUFlLEVBQ2YsVUFPQztJQUVELE1BQU0sRUFDSixRQUFRLEVBQ1IsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxHQUFHLFVBQVUsQ0FBQTtJQUNkLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUUxRCxPQUFPLFNBQVMsYUFBYSxDQUFDLEdBQVc7UUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTNELEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxtQkFBbUIsRUFBRTtZQUNuRCxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzlCLFNBQVE7YUFDVDtZQUdELE1BQU0sS0FBSyxHQUFH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RUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDekQsQ0FBQztJQUdELFNBQVMsc0JBQXNCLENBQzdCLE1BQWMsRUFDZCxRQUFzRDtRQUV0RCxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUNoQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUVuZ2luZSxcbiAgRW50aXR5LFxuICBBbmltYXRvckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZCxcbiAgVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWQsXG4gIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uLFxuICBQQkF1ZGlvU291cmNlLFxuICBQQkF2YXRhckF0dGFjaCxcbiAgUEJWaXNpYmlsaXR5Q29tcG9uZW50LFxuICBQQkdsdGZDb250YWluZXIsXG59IGZyb20gJ0BkY2wvc2RrL2VjcydcbmltcG9ydCB7IFF1YXRlcm5pb24sIFZlY3RvcjMgfSBmcm9tICdAZGNsL3Nkay9tYXRoJ1xuaW1wb3J0IHsgdHdlZW5zIH0gZnJvbSAnQGRjbC1zZGsvdXRpbHMvZGlzdC90d2VlbidcbmltcG9ydCB7XG4gIEFjdGlvblBheWxvYWQsXG4gIEFjdGlvblR5cGUsXG4gIFRyaWdnZXJUeXBlLFxuICBUd2VlblR5cGUsXG4gIGdldENvbXBvbmVudHMsXG59IGZyb20gJy4vZGVmaW5pdGlvbnMnXG5pbXBvcnQgeyBnZXREZWZhdWx0VmFsdWUsIGlzVmFsaWRTdGF0ZSB9IGZyb20gJy4vc3RhdGVzJ1xuaW1wb3J0IHsgZ2V0QWN0aW9uRXZlbnRzLCBnZXRUcmlnZ2VyRXZlbnRzIH0gZnJvbSAnLi9ldmVudHMnXG5pbXBvcnQgeyBnZXRQYXlsb2FkIH0gZnJvbSAnLi9hY3Rpb24tdHlwZXMnXG5cbmNvbnN0IGluaXRlZEVudGl0aWVzID0gbmV3IFNldDxFbnRpdHk+KClcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFjdGlvbnNTeXN0ZW0oXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgY29tcG9uZW50czoge1xuICAgIEFuaW1hdG9yOiBBbmltYXRvckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZFxuICAgIFRyYW5zZm9ybTogVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWRcbiAgICBBdWRpb1NvdXJjZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJBdWRpb1NvdXJjZT5cbiAgICBBdmF0YXJBdHRhY2g6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCQXZhdGFyQXR0YWNoPlxuICAgIFZpc2liaWxpdHlDb21wb25lbnQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlzaWJpbGl0eUNvbXBvbmVudD5cbiAgICBHbHRmQ29udGFpbmVyOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQkdsdGZDb250YWluZXI+XG4gIH0sXG4pIHtcbiAgY29uc3Qge1xuICAgIEFuaW1hdG9yLFxuICAgIFRyYW5zZm9ybSxcbiAgICBBdWRpb1NvdXJjZSxcbiAgICBBdmF0YXJBdHRhY2gsXG4gICAgVmlzaWJpbGl0eUNvbXBvbmVudCxcbiAgICBHbHRmQ29udGFpbmVyLFxuICB9ID0gY29tcG9uZW50c1xuICBjb25zdCB7IEFjdGlvbnMsIFN0YXRlcywgQ291bnRlciB9ID0gZ2V0Q29tcG9uZW50cyhlbmdpbmUpXG5cbiAgcmV0dXJuIGZ1bmN0aW9uIGFjdGlvbnNTeXN0ZW0oX2R0OiBudW1iZXIpIHtcbiAgICBjb25zdCBlbnRpdGllc1dpdGhBY3Rpb25zID0gZW5naW5lLmdldEVudGl0aWVzV2l0aChBY3Rpb25zKVxuXG4gICAgZm9yIChjb25zdCBbZW50aXR5LCBhY3Rpb25zXSBvZiBlbnRpdGllc1dpdGhBY3Rpb25zKSB7XG4gICAgICBpZiAoaW5pdGVkRW50aXRpZXMuaGFzKGVudGl0eSkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgLy8gaW5pdGlhbGl6ZSBhY3Rpb25zIGZvciBnaXZlbiBlbnRpdHlcbiAgICAgIGNvbnN0IHR5cGVzID0gYWN0aW9ucy52YWx1ZS5yZWR1Y2UoXG4gICAgICAgICh0eXBlcywgYWN0aW9uKSA9PiB0eXBlcy5hZGQoYWN0aW9uLnR5cGUpLFxuICAgICAgICBuZXcgU2V0PFN0cmluZz4oKSxcbiAgICAgIClcblxuICAgICAgZm9yIChjb25zdCB0eXBlIG9mIHR5cGVzKSB7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgQWN0aW9uVHlwZS5QTEFZX0FOSU1BVElPTjoge1xuICAgICAgICAgICAgaW5pdFBsYXlBbmltYXRpb24oZW50aXR5KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gYmluZCBhY3Rpb25zXG4gICAgICBjb25zdCBhY3Rpb25FdmVudHMgPSBnZXRBY3Rpb25FdmVudHMoZW50aXR5KVxuICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgYWN0aW9ucy52YWx1ZSkge1xuICAgICAgICBhY3Rpb25FdmVudHMub24oYWN0aW9uLm5hbWUsICgpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEFjdGlvblR5cGUuUExBWV9BTklNQVRJT046IHtcbiAgICAgICAgICAgICAgaGFuZGxlUGxheUFuaW1hdGlvbihcbiAgICAgICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICAgICAgZ2V0UGF5bG9hZDxBY3Rpb25UeXBlLlBMQVlfQU5JTUFUSU9OPihhY3Rpb24pLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEFjdGlvblR5cGUuU1RPUF9BTklNQVRJT046IHtcbiAgICAgICAgICAgICAgaGFuZGxlU3RvcEFuaW1hdGlvbihcbiAgICAgICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICAgICAgZ2V0UGF5bG9hZDxBY3Rpb25UeXBlLlNUT1BfQU5JTUFUSU9OPihhY3Rpb24pLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEFjdGlvblR5cGUuU0VUX1NUQVRFOiB7XG4gICAgICAgICAgICAgIGhhbmRsZVNldFN0YXRlKGVudGl0eSwgZ2V0UGF5bG9hZDxBY3Rpb25UeXBlLlNFVF9TVEFURT4oYWN0aW9uKSlcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgQWN0aW9uVHlwZS5TVEFSVF9UV0VFTjoge1xuICAgICAgICAgICAgICBoYW5kbGVTdGFydFR3ZWVuKFxuICAgICAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgICAgICBnZXRQYXlsb2FkPEFjdGlvblR5cGUuU1RBUlRfVFdFRU4+KGFjdGlvbiksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgQWN0aW9uVHlwZS5TRVRfQ09VTlRFUjoge1xuICAgICAgICAgICAgICBoYW5kbGVTZXRDb3VudGVyKFxuICAgICAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgICAgICBnZXRQYXlsb2FkPEFjdGlvblR5cGUuU0VUX0NPVU5URVI+KGFjdGlvbiksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgQWN0aW9uVHlwZS5JTkNSRU1FTlRfQ09VTlRFUjoge1xuICAgICAgICAgICAgICBoYW5kbGVJbmNyZW1lbnRDb3VudGVyKFxuICAgICAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgICAgICBnZXRQYXlsb2FkPEFjdGlvblR5cGUuSU5DUkVNRU5UX0NPVU5URVI+KGFjdGlvbiksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgQWN0aW9uVHlwZS5ERUNSRUFTRV9DT1VOVEVSOiB7XG4gICAgICAgICAgICAgIGhhbmRsZURlY3JlYXNlQ291bnRlcihcbiAgICAgICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICAgICAgZ2V0UGF5bG9hZDxBY3Rpb25UeXBlLkRFQ1JFQVNFX0NPVU5URVI+KGFjdGlvbiksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgQWN0aW9uVHlwZS5QTEFZX1NPVU5EOiB7XG4gICAgICAgICAgICAgIGhhbmRsZVBsYXlTb3VuZChlbnRpdHksIGdldFBheWxvYWQ8QWN0aW9uVHlwZS5QTEFZX1NPVU5EPihhY3Rpb24pKVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBBY3Rpb25UeXBlLlNUT1BfU09VTkQ6IHtcbiAgICAgICAgICAgICAgaGFuZGxlU3RvcFNvdW5kKGVudGl0eSwgZ2V0UGF5bG9hZDxBY3Rpb25UeXBlLlNUT1BfU09VTkQ+KGFjdGlvbikpXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEFjdGlvblR5cGUuU0VUX1ZJU0lCSUxJVFk6IHtcbiAgICAgICAgICAgICAgaGFuZGxlU2V0VmlzaWJpbGl0eShcbiAgICAgICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICAgICAgZ2V0UGF5bG9hZDxBY3Rpb25UeXBlLlNFVF9WSVNJQklMSVRZPihhY3Rpb24pLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEFjdGlvblR5cGUuQVRUQUNIX1RPX1BMQVlFUjoge1xuICAgICAgICAgICAgICBoYW5kbGVBdHRhY2hUb1BsYXllcihcbiAgICAgICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICAgICAgZ2V0UGF5bG9hZDxBY3Rpb25UeXBlLkFUVEFDSF9UT19QTEFZRVI+KGFjdGlvbiksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgQWN0aW9uVHlwZS5ERVRBQ0hfRlJPTV9QTEFZRVI6IHtcbiAgICAgICAgICAgICAgaGFuZGxlRGV0YWNoRnJvbVBsYXllcihcbiAgICAgICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICAgICAgZ2V0UGF5bG9hZDxBY3Rpb25UeXBlLkRFVEFDSF9GUk9NX1BMQVlFUj4oYWN0aW9uKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGluaXRlZEVudGl0aWVzLmFkZChlbnRpdHkpXG4gICAgfVxuICB9XG5cbiAgLy8gUExBWV9BTklNQVRJT05cbiAgZnVuY3Rpb24gaW5pdFBsYXlBbmltYXRpb24oZW50aXR5OiBFbnRpdHkpIHtcbiAgICBBbmltYXRvci5jcmVhdGUoZW50aXR5LCB7XG4gICAgICBzdGF0ZXM6IFtdLFxuICAgIH0pXG4gICAgQW5pbWF0b3Iuc3RvcEFsbEFuaW1hdGlvbnMoZW50aXR5KVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlUGxheUFuaW1hdGlvbihcbiAgICBlbnRpdHk6IEVudGl0eSxcbiAgICBwYXlsb2FkOiBBY3Rpb25QYXlsb2FkPEFjdGlvblR5cGUuUExBWV9BTklNQVRJT04+LFxuICApIHtcbiAgICBjb25zdCB7IGFuaW1hdGlvbiwgbG9vcCB9ID0gcGF5bG9hZFxuXG4gICAgY29uc3QgYW5pbWF0b3IgPSBBbmltYXRvci5nZXRNdXRhYmxlKGVudGl0eSlcbiAgICBpZiAoIWFuaW1hdG9yLnN0YXRlcy5zb21lKCgkKSA9PiAkLmNsaXAgPT09IGFuaW1hdGlvbikpIHtcbiAgICAgIGFuaW1hdG9yLnN0YXRlcyA9IFtcbiAgICAgICAgLi4uYW5pbWF0b3Iuc3RhdGVzLFxuICAgICAgICB7XG4gICAgICAgICAgY2xpcDogYW5pbWF0aW9uLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgIH1cblxuICAgIEFuaW1hdG9yLnN0b3BBbGxBbmltYXRpb25zKGVudGl0eSlcbiAgICBjb25zdCBjbGlwID0gQW5pbWF0b3IuZ2V0Q2xpcChlbnRpdHksIGFuaW1hdGlvbilcbiAgICBjbGlwLnBsYXlpbmcgPSB0cnVlXG4gICAgY2xpcC5sb29wID0gbG9vcCA/PyBmYWxzZVxuICB9XG5cbiAgLy8gU1RPUF9BTklNQVRJT05cbiAgZnVuY3Rpb24gaGFuZGxlU3RvcEFuaW1hdGlvbihcbiAgICBlbnRpdHk6IEVudGl0eSxcbiAgICBfcGF5bG9hZDogQWN0aW9uUGF5bG9hZDxBY3Rpb25UeXBlLlNUT1BfQU5JTUFUSU9OPixcbiAgKSB7XG4gICAgaWYgKEFuaW1hdG9yLmhhcyhlbnRpdHkpKSB7XG4gICAgICBBbmltYXRvci5zdG9wQWxsQW5pbWF0aW9ucyhlbnRpdHkpXG4gICAgfVxuICB9XG5cbiAgLy8gU0VUX1NUQVRFXG4gIGZ1bmN0aW9uIGhhbmRsZVNldFN0YXRlKFxuICAgIGVudGl0eTogRW50aXR5LFxuICAgIHBheWxvYWQ6IEFjdGlvblBheWxvYWQ8QWN0aW9uVHlwZS5TRVRfU1RBVEU+LFxuICApIHtcbiAgICBjb25zdCBzdGF0ZXMgPSBTdGF0ZXMuZ2V0TXV0YWJsZU9yTnVsbChlbnRpdHkpXG5cbiAgICBpZiAoc3RhdGVzKSB7XG4gICAgICBsZXQgbmV4dFN0YXRlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBwYXlsb2FkLnN0YXRlXG4gICAgICBuZXh0U3RhdGUgPSBpc1ZhbGlkU3RhdGUoc3RhdGVzLCBuZXh0U3RhdGUpXG4gICAgICAgID8gbmV4dFN0YXRlXG4gICAgICAgIDogZ2V0RGVmYXVsdFZhbHVlKHN0YXRlcylcbiAgICAgIHN0YXRlcy5jdXJyZW50VmFsdWUgPSBuZXh0U3RhdGVcblxuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KVxuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX1NUQVRFX0NIQU5HRSlcbiAgICB9XG4gIH1cblxuICAvLyBTVEFSVF9UV0VFTlxuICBmdW5jdGlvbiBoYW5kbGVTdGFydFR3ZWVuKFxuICAgIGVudGl0eTogRW50aXR5LFxuICAgIHBheWxvYWQ6IEFjdGlvblBheWxvYWQ8QWN0aW9uVHlwZS5TVEFSVF9UV0VFTj4sXG4gICkge1xuICAgIGlmIChwYXlsb2FkKSB7XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpXG4gICAgICBjb25zdCBvblR3ZWVuRW5kID0gKCkgPT4gdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX1RXRUVOX0VORClcblxuICAgICAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICAgICAgY2FzZSBUd2VlblR5cGUuTU9WRV9JVEVNOiB7XG4gICAgICAgICAgaGFuZGxlTW92ZUl0ZW0oZW50aXR5LCBwYXlsb2FkLCBvblR3ZWVuRW5kKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUd2VlblR5cGUuUk9UQVRFX0lURU06IHtcbiAgICAgICAgICBoYW5kbGVSb3RhdGVJdGVtKGVudGl0eSwgcGF5bG9hZCwgb25Ud2VlbkVuZClcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHdlZW5UeXBlLlNDQUxFX0lURU06IHtcbiAgICAgICAgICBoYW5kbGVTY2FsZUl0ZW0oZW50aXR5LCBwYXlsb2FkLCBvblR3ZWVuRW5kKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0d2VlbiB0eXBlOiAke3BheWxvYWQudHlwZX1gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTU9WRV9JVEVNXG4gIGZ1bmN0aW9uIGhhbmRsZU1vdmVJdGVtKFxuICAgIGVudGl0eTogRW50aXR5LFxuICAgIHR3ZWVuOiBBY3Rpb25QYXlsb2FkPEFjdGlvblR5cGUuU1RBUlRfVFdFRU4+LFxuICAgIG9uVHdlZW5FbmQ6ICgpID0+IHZvaWQsXG4gICkge1xuICAgIGNvbnN0IHRyYW5zZm9ybSA9IFRyYW5zZm9ybS5nZXQoZW50aXR5KVxuICAgIGNvbnN0IHsgZHVyYXRpb24sIGludGVycG9sYXRpb25UeXBlLCByZWxhdGl2ZSB9ID0gdHdlZW5cbiAgICBjb25zdCBlbmQgPSBWZWN0b3IzLmNyZWF0ZSh0d2Vlbi5lbmQueCwgdHdlZW4uZW5kLnksIHR3ZWVuLmVuZC56KVxuICAgIGNvbnN0IGVuZFBvc2l0aW9uID0gcmVsYXRpdmUgPyBWZWN0b3IzLmFkZCh0cmFuc2Zvcm0ucG9zaXRpb24sIGVuZCkgOiBlbmRcblxuICAgIHR3ZWVucy5zdGFydFRyYW5zbGF0aW9uKFxuICAgICAgZW50aXR5LFxuICAgICAgdHJhbnNmb3JtLnBvc2l0aW9uLFxuICAgICAgZW5kUG9zaXRpb24sXG4gICAgICBkdXJhdGlvbixcbiAgICAgIGludGVycG9sYXRpb25UeXBlLFxuICAgICAgb25Ud2VlbkVuZCxcbiAgICApXG4gIH1cblxuICAvLyBST1RBVEVfSVRFTVxuICBmdW5jdGlvbiBoYW5kbGVSb3RhdGVJdGVtKFxuICAgIGVudGl0eTogRW50aXR5LFxuICAgIHR3ZWVuOiBBY3Rpb25QYXlsb2FkPEFjdGlvblR5cGUuU1RBUlRfVFdFRU4+LFxuICAgIG9uVHdlZW5FbmQ6ICgpID0+IHZvaWQsXG4gICkge1xuICAgIGNvbnN0IHRyYW5zZm9ybSA9IFRyYW5zZm9ybS5nZXQoZW50aXR5KVxuICAgIGNvbnN0IHsgZHVyYXRpb24sIGludGVycG9sYXRpb25UeXBlLCByZWxhdGl2ZSB9ID0gdHdlZW5cbiAgICBjb25zdCBlbmQgPSBRdWF0ZXJuaW9uLmZyb21FdWxlckRlZ3JlZXMoXG4gICAgICB0d2Vlbi5lbmQueCxcbiAgICAgIHR3ZWVuLmVuZC55LFxuICAgICAgdHdlZW4uZW5kLnosXG4gICAgKVxuICAgIGNvbnN0IGVuZFJvdGF0aW9uID0gcmVsYXRpdmVcbiAgICAgID8gUXVhdGVybmlvbi5tdWx0aXBseSh0cmFuc2Zvcm0ucm90YXRpb24sIGVuZClcbiAgICAgIDogZW5kXG5cbiAgICB0d2VlbnMuc3RhcnRSb3RhdGlvbihcbiAgICAgIGVudGl0eSxcbiAgICAgIHRyYW5zZm9ybS5yb3RhdGlvbixcbiAgICAgIGVuZFJvdGF0aW9uLFxuICAgICAgZHVyYXRpb24sXG4gICAgICBpbnRlcnBvbGF0aW9uVHlwZSxcbiAgICAgIG9uVHdlZW5FbmQsXG4gICAgKVxuICB9XG5cbiAgLy8gU0NBTEVfSVRFTVxuICBmdW5jdGlvbiBoYW5kbGVTY2FsZUl0ZW0oXG4gICAgZW50aXR5OiBFbnRpdHksXG4gICAgdHdlZW46IEFjdGlvblBheWxvYWQ8QWN0aW9uVHlwZS5TVEFSVF9UV0VFTj4sXG4gICAgb25Ud2VlbkVuZDogKCkgPT4gdm9pZCxcbiAgKSB7XG4gICAgY29uc3QgdHJhbnNmb3JtID0gVHJhbnNmb3JtLmdldChlbnRpdHkpXG4gICAgY29uc3QgeyBkdXJhdGlvbiwgaW50ZXJwb2xhdGlvblR5cGUsIHJlbGF0aXZlIH0gPSB0d2VlblxuICAgIGNvbnN0IGVuZCA9IFZlY3RvcjMuY3JlYXRlKHR3ZWVuLmVuZC54LCB0d2Vlbi5lbmQueSwgdHdlZW4uZW5kLnopXG4gICAgY29uc3QgZW5kU2NhbGUgPSByZWxhdGl2ZSA/IFZlY3RvcjMuYWRkKHRyYW5zZm9ybS5zY2FsZSwgZW5kKSA6IGVuZFxuXG4gICAgdHdlZW5zLnN0YXJ0U2NhbGluZyhcbiAgICAgIGVudGl0eSxcbiAgICAgIHRyYW5zZm9ybS5zY2FsZSxcbiAgICAgIGVuZFNjYWxlLFxuICAgICAgZHVyYXRpb24sXG4gICAgICBpbnRlcnBvbGF0aW9uVHlwZSxcbiAgICAgIG9uVHdlZW5FbmQsXG4gICAgKVxuICB9XG5cbiAgLy8gU0VUX0NPVU5URVJcbiAgZnVuY3Rpb24gaGFuZGxlU2V0Q291bnRlcihcbiAgICBlbnRpdHk6IEVudGl0eSxcbiAgICBwYXlsb2FkOiBBY3Rpb25QYXlsb2FkPEFjdGlvblR5cGUuU0VUX0NPVU5URVI+LFxuICApIHtcbiAgICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRNdXRhYmxlT3JOdWxsKGVudGl0eSlcblxuICAgIGlmIChjb3VudGVyKSB7XG4gICAgICBjb3VudGVyLnZhbHVlID0gcGF5bG9hZC5jb3VudGVyXG5cbiAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSlcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9DT1VOVEVSX0NIQU5HRSlcbiAgICB9XG4gIH1cblxuICAvLyBJTkNSRU1FTlRfQ09VTlRFUlxuICBmdW5jdGlvbiBoYW5kbGVJbmNyZW1lbnRDb3VudGVyKFxuICAgIGVudGl0eTogRW50aXR5LFxuICAgIF9wYXlsb2FkOiBBY3Rpb25QYXlsb2FkPEFjdGlvblR5cGUuSU5DUkVNRU5UX0NPVU5URVI+LFxuICApIHtcbiAgICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRNdXRhYmxlT3JOdWxsKGVudGl0eSlcblxuICAgIGlmIChjb3VudGVyKSB7XG4gICAgICBjb3VudGVyLnZhbHVlICs9IDFcblxuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KVxuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0NPVU5URVJfQ0hBTkdFKVxuICAgIH1cbiAgfVxuXG4gIC8vIERFQ1JFQVNFX0NPVU5URVJcbiAgZnVuY3Rpb24gaGFuZGxlRGVjcmVhc2VDb3VudGVyKFxuICAgIGVudGl0eTogRW50aXR5LFxuICAgIF9wYXlsb2FkOiBBY3Rpb25QYXlsb2FkPEFjdGlvblR5cGUuSU5DUkVNRU5UX0NPVU5URVI+LFxuICApIHtcbiAgICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRNdXRhYmxlT3JOdWxsKGVudGl0eSlcblxuICAgIGlmIChjb3VudGVyKSB7XG4gICAgICBjb3VudGVyLnZhbHVlIC09IDFcblxuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KVxuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0NPVU5URVJfQ0hBTkdFKVxuICAgIH1cbiAgfVxuXG4gIC8vIFBMQVlfU09VTkRcbiAgZnVuY3Rpb24gaGFuZGxlUGxheVNvdW5kKFxuICAgIGVudGl0eTogRW50aXR5LFxuICAgIHBheWxvYWQ6IEFjdGlvblBheWxvYWQ8QWN0aW9uVHlwZS5QTEFZX1NPVU5EPixcbiAgKSB7XG4gICAgY29uc3QgeyBzcmMsIGxvb3AsIHZvbHVtZSB9ID0gcGF5bG9hZFxuICAgIEF1ZGlvU291cmNlLmNyZWF0ZU9yUmVwbGFjZShlbnRpdHksIHtcbiAgICAgIGF1ZGlvQ2xpcFVybDogc3JjLFxuICAgICAgbG9vcCxcbiAgICAgIHBsYXlpbmc6IHRydWUsXG4gICAgICB2b2x1bWU6IHZvbHVtZSA/PyAxLFxuICAgIH0pXG4gIH1cblxuICAvLyBTVE9QX1NPVU5EXG4gIGZ1bmN0aW9uIGhhbmRsZVN0b3BTb3VuZChcbiAgICBlbnRpdHk6IEVudGl0eSxcbiAgICBfcGF5bG9hZDogQWN0aW9uUGF5bG9hZDxBY3Rpb25UeXBlLlNUT1BfU09VTkQ+LFxuICApIHtcbiAgICBjb25zdCBhdWRpb1NvdXJjZSA9IEF1ZGlvU291cmNlLmdldE11dGFibGVPck51bGwoZW50aXR5KVxuICAgIGlmIChhdWRpb1NvdXJjZSkge1xuICAgICAgYXVkaW9Tb3VyY2UucGxheWluZyA9IGZhbHNlXG4gICAgfVxuICB9XG5cbiAgLy8gU0VUX1ZJU0lCSUxJVFlcbiAgZnVuY3Rpb24gaGFuZGxlU2V0VmlzaWJpbGl0eShcbiAgICBlbnRpdHk6IEVudGl0eSxcbiAgICBwYXlsb2FkOiBBY3Rpb25QYXlsb2FkPEFjdGlvblR5cGUuU0VUX1ZJU0lCSUxJVFk+LFxuICApIHtcbiAgICBjb25zdCB7IHZpc2libGUsIHBoeXNpY3NDb2xsaWRlciB9ID0gcGF5bG9hZFxuICAgIFZpc2liaWxpdHlDb21wb25lbnQuY3JlYXRlT3JSZXBsYWNlKGVudGl0eSwgeyB2aXNpYmxlIH0pXG4gICAgY29uc3QgZ2x0ZiA9IEdsdGZDb250YWluZXIuZ2V0TXV0YWJsZU9yTnVsbChlbnRpdHkpXG5cbiAgICBpZiAoZ2x0ZiAmJiBwaHlzaWNzQ29sbGlkZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZ2x0Zi5pbnZpc2libGVNZXNoZXNDb2xsaXNpb25NYXNrID0gcGh5c2ljc0NvbGxpZGVyID8gMiA6IDBcbiAgICB9XG4gIH1cblxuICAvLyBBVFRBQ0hfVE9fUExBWUVSXG4gIGZ1bmN0aW9uIGhhbmRsZUF0dGFjaFRvUGxheWVyKFxuICAgIGVudGl0eTogRW50aXR5LFxuICAgIHBheWxvYWQ6IEFjdGlvblBheWxvYWQ8QWN0aW9uVHlwZS5BVFRBQ0hfVE9fUExBWUVSPixcbiAgKSB7XG4gICAgY29uc3QgeyBhbmNob3JQb2ludElkIH0gPSBwYXlsb2FkXG4gICAgQXZhdGFyQXR0YWNoLmNyZWF0ZU9yUmVwbGFjZShlbnRpdHksIHsgYW5jaG9yUG9pbnRJZCB9KVxuICB9XG5cbiAgLy8gREVUQUNIX0ZST01fUExBWUVSXG4gIGZ1bmN0aW9uIGhhbmRsZURldGFjaEZyb21QbGF5ZXIoXG4gICAgZW50aXR5OiBFbnRpdHksXG4gICAgX3BheWxvYWQ6IEFjdGlvblBheWxvYWQ8QWN0aW9uVHlwZS5ERVRBQ0hfRlJPTV9QTEFZRVI+LFxuICApIHtcbiAgICBpZiAoQXZhdGFyQXR0YWNoLmhhcyhlbnRpdHkpKSB7XG4gICAgICBBdmF0YXJBdHRhY2guZGVsZXRlRnJvbShlbnRpdHkpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,205 +0,0 @@
1
- import { Schemas, } from '@dcl/sdk/ecs';
2
- import { addActionType } from './action-types';
3
- export * from './action-types';
4
- export * from './events';
5
- export * from './id';
6
- export * from './states';
7
- export var ComponentName;
8
- (function (ComponentName) {
9
- ComponentName["ACTION_TYPES"] = "asset-packs::ActionTypes";
10
- ComponentName["ACTIONS"] = "asset-packs::Actions";
11
- ComponentName["COUNTER"] = "asset-packs::Counter";
12
- ComponentName["TRIGGERS"] = "asset-packs::Triggers";
13
- ComponentName["STATES"] = "asset-packs::States";
14
- })(ComponentName || (ComponentName = {}));
15
- export var TweenType;
16
- (function (TweenType) {
17
- TweenType["MOVE_ITEM"] = "move_item";
18
- TweenType["ROTATE_ITEM"] = "rotate_item";
19
- TweenType["SCALE_ITEM"] = "scale_item";
20
- })(TweenType || (TweenType = {}));
21
- export var InterpolationType;
22
- (function (InterpolationType) {
23
- InterpolationType["LINEAR"] = "linear";
24
- InterpolationType["EASEINQUAD"] = "easeinquad";
25
- InterpolationType["EASEOUTQUAD"] = "easeoutquad";
26
- InterpolationType["EASEQUAD"] = "easequad";
27
- InterpolationType["EASEINSINE"] = "easeinsine";
28
- InterpolationType["EASEOUTSINE"] = "easeoutsine";
29
- InterpolationType["EASESINE"] = "easeinoutsine";
30
- InterpolationType["EASEINEXPO"] = "easeinexpo";
31
- InterpolationType["EASEOUTEXPO"] = "easeoutexpo";
32
- InterpolationType["EASEEXPO"] = "easeinoutexpo";
33
- InterpolationType["EASEINELASTIC"] = "easeinelastic";
34
- InterpolationType["EASEOUTELASTIC"] = "easeoutelastic";
35
- InterpolationType["EASEELASTIC"] = "easeinoutelastic";
36
- InterpolationType["EASEINBOUNCE"] = "easeinbounce";
37
- InterpolationType["EASEOUTEBOUNCE"] = "easeoutbounce";
38
- InterpolationType["EASEBOUNCE"] = "easeinoutbounce";
39
- })(InterpolationType || (InterpolationType = {}));
40
- export var ActionType;
41
- (function (ActionType) {
42
- ActionType["PLAY_ANIMATION"] = "play_animation";
43
- ActionType["STOP_ANIMATION"] = "stop_animation";
44
- ActionType["SET_STATE"] = "set_state";
45
- ActionType["START_TWEEN"] = "start_tween";
46
- ActionType["SET_COUNTER"] = "set_counter";
47
- ActionType["INCREMENT_COUNTER"] = "increment_counter";
48
- ActionType["DECREASE_COUNTER"] = "decrease_counter";
49
- ActionType["PLAY_SOUND"] = "play_sound";
50
- ActionType["STOP_SOUND"] = "stop_sound";
51
- ActionType["SET_VISIBILITY"] = "set_visibility";
52
- ActionType["ATTACH_TO_PLAYER"] = "attach_to_player";
53
- ActionType["DETACH_FROM_PLAYER"] = "detach_from_player";
54
- })(ActionType || (ActionType = {}));
55
- export const ActionSchemas = {
56
- [ActionType.PLAY_ANIMATION]: Schemas.Map({
57
- animation: Schemas.String,
58
- loop: Schemas.Optional(Schemas.Boolean),
59
- }),
60
- [ActionType.STOP_ANIMATION]: Schemas.Map({}),
61
- [ActionType.SET_STATE]: Schemas.Map({ state: Schemas.String }),
62
- [ActionType.START_TWEEN]: Schemas.Map({
63
- type: Schemas.EnumString(TweenType, TweenType.MOVE_ITEM),
64
- end: Schemas.Vector3,
65
- interpolationType: Schemas.EnumString(InterpolationType, InterpolationType.LINEAR),
66
- duration: Schemas.Float,
67
- relative: Schemas.Boolean,
68
- }),
69
- [ActionType.SET_COUNTER]: Schemas.Map({ counter: Schemas.Int }),
70
- [ActionType.INCREMENT_COUNTER]: Schemas.Map({}),
71
- [ActionType.DECREASE_COUNTER]: Schemas.Map({}),
72
- [ActionType.PLAY_SOUND]: Schemas.Map({
73
- src: Schemas.String,
74
- loop: Schemas.Optional(Schemas.Boolean),
75
- volume: Schemas.Optional(Schemas.Float),
76
- }),
77
- [ActionType.STOP_SOUND]: Schemas.Map({}),
78
- [ActionType.SET_VISIBILITY]: Schemas.Map({
79
- visible: Schemas.Boolean,
80
- physicsCollider: Schemas.Optional(Schemas.Boolean),
81
- }),
82
- [ActionType.ATTACH_TO_PLAYER]: Schemas.Map({
83
- anchorPointId: Schemas.Int,
84
- }),
85
- [ActionType.DETACH_FROM_PLAYER]: Schemas.Map({}),
86
- };
87
- export var TriggerType;
88
- (function (TriggerType) {
89
- TriggerType["ON_CLICK"] = "on_click";
90
- TriggerType["ON_STATE_CHANGE"] = "on_state_change";
91
- TriggerType["ON_SPAWN"] = "on_spawn";
92
- TriggerType["ON_TWEEN_END"] = "on_tween_end";
93
- TriggerType["ON_COUNTER_CHANGE"] = "on_counter_change";
94
- TriggerType["ON_PLAYER_ENTERS_AREA"] = "on_player_enters_area";
95
- TriggerType["ON_PLAYER_LEAVES_AREA"] = "on_player_leaves_area";
96
- })(TriggerType || (TriggerType = {}));
97
- export var TriggerConditionType;
98
- (function (TriggerConditionType) {
99
- TriggerConditionType["WHEN_STATE_IS"] = "when_state_is";
100
- TriggerConditionType["WHEN_STATE_IS_NOT"] = "when_state_is_not";
101
- TriggerConditionType["WHEN_COUNTER_EQUALS"] = "when_counter_equals";
102
- TriggerConditionType["WHEN_COUNTER_IS_GREATER_THAN"] = "when_counter_is_greater_than";
103
- TriggerConditionType["WHEN_COUNTER_IS_LESS_THAN"] = "when_counter_is_less_than";
104
- })(TriggerConditionType || (TriggerConditionType = {}));
105
- export var TriggerConditionOperation;
106
- (function (TriggerConditionOperation) {
107
- TriggerConditionOperation["AND"] = "and";
108
- TriggerConditionOperation["OR"] = "or";
109
- })(TriggerConditionOperation || (TriggerConditionOperation = {}));
110
- export function getComponent(componentName, engine) {
111
- try {
112
- return engine.getComponent(componentName);
113
- }
114
- catch (error) {
115
- console.error(`Error using getComponent with componentName="${componentName}"`);
116
- throw error;
117
- }
118
- }
119
- export function getComponents(engine) {
120
- return {
121
- Actions: getComponent(ComponentName.ACTIONS, engine),
122
- States: getComponent(ComponentName.STATES, engine),
123
- Counter: getComponent(ComponentName.COUNTER, engine),
124
- Triggers: getComponent(ComponentName.TRIGGERS, engine),
125
- };
126
- }
127
- export function createComponents(engine) {
128
- const ActionTypes = engine.defineComponent(ComponentName.ACTION_TYPES, {
129
- value: Schemas.Array(Schemas.Map({
130
- type: Schemas.String,
131
- jsonSchema: Schemas.String,
132
- })),
133
- });
134
- const Actions = engine.defineComponent(ComponentName.ACTIONS, {
135
- id: Schemas.Int,
136
- value: Schemas.Array(Schemas.Map({
137
- name: Schemas.String,
138
- type: Schemas.String,
139
- jsonPayload: Schemas.String,
140
- })),
141
- });
142
- const Counter = engine.defineComponent(ComponentName.COUNTER, {
143
- id: Schemas.Number,
144
- value: Schemas.Int,
145
- });
146
- const Triggers = engine.defineComponent(ComponentName.TRIGGERS, {
147
- value: Schemas.Array(Schemas.Map({
148
- type: Schemas.EnumString(TriggerType, TriggerType.ON_CLICK),
149
- conditions: Schemas.Optional(Schemas.Array(Schemas.Map({
150
- id: Schemas.Optional(Schemas.Int),
151
- type: Schemas.EnumString(TriggerConditionType, TriggerConditionType.WHEN_STATE_IS),
152
- value: Schemas.String,
153
- }))),
154
- operation: Schemas.Optional(Schemas.EnumString(TriggerConditionOperation, TriggerConditionOperation.AND)),
155
- actions: Schemas.Array(Schemas.Map({
156
- id: Schemas.Optional(Schemas.Int),
157
- name: Schemas.Optional(Schemas.String),
158
- })),
159
- })),
160
- });
161
- const States = engine.defineComponent(ComponentName.STATES, {
162
- id: Schemas.Number,
163
- value: Schemas.Array(Schemas.String),
164
- defaultValue: Schemas.Optional(Schemas.String),
165
- currentValue: Schemas.Optional(Schemas.String),
166
- });
167
- return {
168
- ActionTypes,
169
- Actions,
170
- Counter,
171
- Triggers,
172
- States,
173
- };
174
- }
175
- export function initComponents(engine) {
176
- const actionTypes = Object.values(ActionType);
177
- for (const type of actionTypes) {
178
- const actionType = type;
179
- addActionType(engine, actionType, ActionSchemas[actionType]);
180
- }
181
- const Counter = engine.getComponent(ComponentName.COUNTER);
182
- const counter = Counter.getOrCreateMutable(engine.RootEntity);
183
- counter.value = counter.value || 0;
184
- }
185
- export function getConditionTypesByComponentName(componentName) {
186
- switch (componentName) {
187
- case ComponentName.STATES: {
188
- return [
189
- TriggerConditionType.WHEN_STATE_IS,
190
- TriggerConditionType.WHEN_STATE_IS_NOT,
191
- ];
192
- }
193
- case ComponentName.COUNTER: {
194
- return [
195
- TriggerConditionType.WHEN_COUNTER_EQUALS,
196
- TriggerConditionType.WHEN_COUNTER_IS_GREATER_THAN,
197
- TriggerConditionType.WHEN_COUNTER_IS_LESS_THAN,
198
- ];
199
- }
200
- default: {
201
- return [];
202
- }
203
- }
204
- }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLE9BQU8sR0FDUixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFOUMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLE1BQU0sQ0FBQTtBQUNwQixjQUFjLFVBQVUsQ0FBQTtBQUV4QixNQUFNLENBQU4sSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3ZCLDBEQUF5QyxDQUFBO0lBQ3pDLGlEQUFnQyxDQUFBO0lBQ2hDLGlEQUFnQyxDQUFBO0lBQ2hDLG1EQUFrQyxDQUFBO0lBQ2xDLCtDQUE4QixDQUFBO0FBQ2hDLENBQUMsRUFOVyxhQUFhLEtBQWIsYUFBYSxRQU14QjtBQUVELE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsb0NBQXVCLENBQUE7SUFDdkIsd0NBQTJCLENBQUE7SUFDM0Isc0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBaUJYO0FBakJELFdBQVksaUJBQWlCO0lBQzNCLHNDQUFpQixDQUFBO0lBQ2pCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLDBDQUFxQixDQUFBO0lBQ3JCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLCtDQUEwQixDQUFBO0lBQzFCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLCtDQUEwQixDQUFBO0lBQzFCLG9EQUErQixDQUFBO0lBQy9CLHNEQUFpQyxDQUFBO0lBQ2pDLHFEQUFnQyxDQUFBO0lBQ2hDLGtEQUE2QixDQUFBO0lBQzdCLHFEQUFnQyxDQUFBO0lB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ImltcG9ydCB7XG4gIElFbmdpbmUsXG4gIElTY2hlbWEsXG4gIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uLFxuICBTY2hlbWFzLFxufSBmcm9tICdAZGNsL3Nkay9lY3MnXG5pbXBvcnQgeyBhZGRBY3Rpb25UeXBlIH0gZnJvbSAnLi9hY3Rpb24tdHlwZXMnXG5cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLXR5cGVzJ1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudHMnXG5leHBvcnQgKiBmcm9tICcuL2lkJ1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZXMnXG5cbmV4cG9ydCBlbnVtIENvbXBvbmVudE5hbWUge1xuICBBQ1RJT05fVFlQRVMgPSAnYXNzZXQtcGFja3M6OkFjdGlvblR5cGVzJyxcbiAgQUNUSU9OUyA9ICdhc3NldC1wYWNrczo6QWN0aW9ucycsXG4gIENPVU5URVIgPSAnYXNzZXQtcGFja3M6OkNvdW50ZXInLFxuICBUUklHR0VSUyA9ICdhc3NldC1wYWNrczo6VHJpZ2dlcnMnLFxuICBTVEFURVMgPSAnYXNzZXQtcGFja3M6OlN0YXRlcycsXG59XG5cbmV4cG9ydCBlbnVtIFR3ZWVuVHlwZSB7XG4gIE1PVkVfSVRFTSA9ICdtb3ZlX2l0ZW0nLFxuICBST1RBVEVfSVRFTSA9ICdyb3RhdGVfaXRlbScsXG4gIFNDQUxFX0lURU0gPSAnc2NhbGVfaXRlbScsXG59XG5cbmV4cG9ydCBlbnVtIEludGVycG9sYXRpb25UeXBlIHtcbiAgTElORUFSID0gJ2xpbmVhcicsXG4gIEVBU0VJTlFVQUQgPSAnZWFzZWlucXVhZCcsXG4gIEVBU0VPVVRRVUFEID0gJ2Vhc2VvdXRxdWFkJyxcbiAgRUFTRVFVQUQgPSAnZWFzZXF1YWQnLFxuICBFQVNFSU5TSU5FID0gJ2Vhc2VpbnNpbmUnLFxuICBFQVNFT1VUU0lORSA9ICdlYXNlb3V0c2luZScsXG4gIEVBU0VTSU5FID0gJ2Vhc2Vpbm91dHNpbmUnLFxuICBFQVNFSU5FWFBPID0gJ2Vhc2VpbmV4cG8nLFxuICBFQVNFT1VURVhQTyA9ICdlYXNlb3V0ZXhwbycsXG4gIEVBU0VFWFBPID0gJ2Vhc2Vpbm91dGV4cG8nLFxuICBFQVNFSU5FTEFTVElDID0gJ2Vhc2VpbmVsYXN0aWMnLFxuICBFQVNFT1VURUxBU1RJQyA9ICdlYXNlb3V0ZWxhc3RpYycsXG4gIEVBU0VFTEFTVElDID0gJ2Vhc2Vpbm91dGVsYXN0aWMnLFxuICBFQVNFSU5CT1VOQ0UgPSAnZWFzZWluYm91bmNlJyxcbiAgRUFTRU9VVEVCT1VOQ0UgPSAnZWFzZW91dGJvdW5jZScsXG4gIEVBU0VCT1VOQ0UgPSAnZWFzZWlub3V0Ym91bmNlJyxcbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uVHlwZSB7XG4gIFBMQVlfQU5JTUFUSU9OID0gJ3BsYXlfYW5pbWF0aW9uJyxcbiAgU1RPUF9BTklNQVRJT04gPSAnc3RvcF9hbmltYXRpb24nLFxuICBTRVRfU1RBVEUgPSAnc2V0X3N0YXRlJyxcbiAgU1RBUlRfVFdFRU4gPSAnc3RhcnRfdHdlZW4nLFxuICBTRVRfQ09VTlRFUiA9ICdzZXRfY291bnRlcicsXG4gIElOQ1JFTUVOVF9DT1VOVEVSID0gJ2luY3JlbWVudF9jb3VudGVyJyxcbiAgREVDUkVBU0VfQ09VTlRFUiA9ICdkZWNyZWFzZV9jb3VudGVyJyxcbiAgUExBWV9TT1VORCA9ICdwbGF5X3NvdW5kJyxcbiAgU1RPUF9TT1VORCA9ICdzdG9wX3NvdW5kJyxcbiAgU0VUX1ZJU0lCSUxJVFkgPSAnc2V0X3Zpc2liaWxpdHknLFxuICBBVFRBQ0hfVE9fUExBWUVSID0gJ2F0dGFjaF90b19wbGF5ZXInLFxuICBERVRBQ0hfRlJPTV9QTEFZRVIgPSAnZGV0YWNoX2Zyb21fcGxheWVyJyxcbn1cblxuZXhwb3J0IGNvbnN0IEFjdGlvblNjaGVtYXMgPSB7XG4gIFtBY3Rpb25UeXBlLlBMQVlfQU5JTUFUSU9OXTogU2NoZW1hcy5NYXAoe1xuICAgIGFuaW1hdGlvbjogU2NoZW1hcy5TdHJpbmcsXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9BTklNQVRJT05dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNFVF9TVEFURV06IFNjaGVtYXMuTWFwKHsgc3RhdGU6IFNjaGVtYXMuU3RyaW5nIH0pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9UV0VFTl06IFNjaGVtYXMuTWFwKHtcbiAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHdlZW5UeXBlPihUd2VlblR5cGUsIFR3ZWVuVHlwZS5NT1ZFX0lURU0pLFxuICAgIGVuZDogU2NoZW1hcy5WZWN0b3IzLFxuICAgIGludGVycG9sYXRpb25UeXBlOiBTY2hlbWFzLkVudW1TdHJpbmcoXG4gICAgICBJbnRlcnBvbGF0aW9uVHlwZSxcbiAgICAgIEludGVycG9sYXRpb25UeXBlLkxJTkVBUixcbiAgICApLFxuICAgIGR1cmF0aW9uOiBTY2hlbWFzLkZsb2F0LFxuICAgIHJlbGF0aXZlOiBTY2hlbWFzLkJvb2xlYW4sXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TRVRfQ09VTlRFUl06IFNjaGVtYXMuTWFwKHsgY291bnRlcjogU2NoZW1hcy5JbnQgfSksXG4gIFtBY3Rpb25UeXBlLklOQ1JFTUVOVF9DT1VOVEVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5ERUNSRUFTRV9DT1VOVEVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFZX1NPVU5EXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIHZvbHVtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfU09VTkRdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNFVF9WSVNJQklMSVRZXTogU2NoZW1hcy5NYXAoe1xuICAgIHZpc2libGU6IFNjaGVtYXMuQm9vbGVhbixcbiAgICBwaHlzaWNzQ29sbGlkZXI6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkFUVEFDSF9UT19QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW5jaG9yUG9pbnRJZDogU2NoZW1hcy5JbnQsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ERVRBQ0hfRlJPTV9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblBheWxvYWQ8VCBleHRlbmRzIEFjdGlvblR5cGUgPSBhbnk+ID1cbiAgVCBleHRlbmRzIGtleW9mIHR5cGVvZiBBY3Rpb25TY2hlbWFzXG4gICAgPyAodHlwZW9mIEFjdGlvblNjaGVtYXMpW1RdIGV4dGVuZHMgSVNjaGVtYVxuICAgICAgPyBSZXR1cm5UeXBlPCh0eXBlb2YgQWN0aW9uU2NoZW1hcylbVF1bJ2Rlc2VyaWFsaXplJ10+XG4gICAgICA6IHt9XG4gICAgOiB7fVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyVHlwZSB7XG4gIE9OX0NMSUNLID0gJ29uX2NsaWNrJyxcbiAgT05fU1RBVEVfQ0hBTkdFID0gJ29uX3N0YXRlX2NoYW5nZScsXG4gIE9OX1NQQVdOID0gJ29uX3NwYXduJyxcbiAgT05fVFdFRU5fRU5EID0gJ29uX3R3ZWVuX2VuZCcsXG4gIE9OX0NPVU5URVJfQ0hBTkdFID0gJ29uX2NvdW50ZXJfY2hhbmdlJyxcbiAgT05fUExBWUVSX0VOVEVSU19BUkVBID0gJ29uX3BsYXllcl9lbnRlcnNfYXJlYScsXG4gIE9OX1BMQVlFUl9MRUFWRVNfQVJFQSA9ICdvbl9wbGF5ZXJfbGVhdmVzX2FyZWEnLFxufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyQ29uZGl0aW9uVHlwZSB7XG4gIFdIRU5fU1RBVEVfSVMgPSAnd2hlbl9zdGF0ZV9pcycsXG4gIFdIRU5fU1RBVEVfSVNfTk9UID0gJ3doZW5fc3RhdGVfaXNfbm90JyxcbiAgV0hFTl9DT1VOVEVSX0VRVUFMUyA9ICd3aGVuX2NvdW50ZXJfZXF1YWxzJyxcbiAgV0hFTl9DT1VOVEVSX0lTX0dSRUFURVJfVEhBTiA9ICd3aGVuX2NvdW50ZXJfaXNfZ3JlYXRlcl90aGFuJyxcbiAgV0hFTl9DT1VOVEVSX0lTX0xFU1NfVEhBTiA9ICd3aGVuX2NvdW50ZXJfaXNfbGVzc190aGFuJyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbiB7XG4gIEFORCA9ICdhbmQnLFxuICBPUiA9ICdvcicsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21wb25lbnQ8VD4oY29tcG9uZW50TmFtZTogc3RyaW5nLCBlbmdpbmU6IElFbmdpbmUpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZW5naW5lLmdldENvbXBvbmVudChcbiAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxUPlxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgRXJyb3IgdXNpbmcgZ2V0Q29tcG9uZW50IHdpdGggY29tcG9uZW50TmFtZT1cIiR7Y29tcG9uZW50TmFtZX1cImAsXG4gICAgKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIHJldHVybiB7XG4gICAgQWN0aW9uczogZ2V0Q29tcG9uZW50PEFjdGlvbnM+KENvbXBvbmVudE5hbWUuQUNUSU9OUywgZW5naW5lKSxcbiAgICBTdGF0ZXM6IGdldENvbXBvbmVudDxTdGF0ZXM+KENvbXBvbmVudE5hbWUuU1RBVEVTLCBlbmdpbmUpLFxuICAgIENvdW50ZXI6IGdldENvbXBvbmVudDxDb3VudGVyPihDb21wb25lbnROYW1lLkNPVU5URVIsIGVuZ2luZSksXG4gICAgVHJpZ2dlcnM6IGdldENvbXBvbmVudDxUcmlnZ2Vycz4oQ29tcG9uZW50TmFtZS5UUklHR0VSUywgZW5naW5lKSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50cyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgQWN0aW9uVHlwZXMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQUNUSU9OX1RZUEVTLCB7XG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoXG4gICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgIHR5cGU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBqc29uU2NoZW1hOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pXG5cbiAgY29uc3QgQWN0aW9ucyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5BQ1RJT05TLCB7XG4gICAgaWQ6IFNjaGVtYXMuSW50LFxuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICBuYW1lOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgdHlwZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgIGpzb25QYXlsb2FkOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pXG5cbiAgY29uc3QgQ291bnRlciA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5DT1VOVEVSLCB7XG4gICAgaWQ6IFNjaGVtYXMuTnVtYmVyLFxuICAgIHZhbHVlOiBTY2hlbWFzLkludCxcbiAgfSlcblxuICBjb25zdCBUcmlnZ2VycyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5UUklHR0VSUywge1xuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHJpZ2dlclR5cGU+KFxuICAgICAgICAgIFRyaWdnZXJUeXBlLFxuICAgICAgICAgIFRyaWdnZXJUeXBlLk9OX0NMSUNLLFxuICAgICAgICApLFxuICAgICAgICBjb25kaXRpb25zOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICAgIFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICAgIGlkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICAgICAgICAgICAgdHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJDb25kaXRpb25UeXBlPihcbiAgICAgICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB2YWx1ZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBvcGVyYXRpb246IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICAgICAgU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24+KFxuICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgICAgICAgICAgIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uQU5ELFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgaWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgICAgICAgICAgbmFtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICApLFxuICB9KVxuXG4gIGNvbnN0IFN0YXRlcyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5TVEFURVMsIHtcbiAgICBpZDogU2NoZW1hcy5OdW1iZXIsXG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGRlZmF1bHRWYWx1ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgY3VycmVudFZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgfSlcblxuICByZXR1cm4ge1xuICAgIEFjdGlvblR5cGVzLFxuICAgIEFjdGlvbnMsXG4gICAgQ291bnRlcixcbiAgICBUcmlnZ2VycyxcbiAgICBTdGF0ZXMsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICAvLyBBZGQgYWN0aW9ucyBmcm9tIHRoaXMgcGFja2FnZVxuICBjb25zdCBhY3Rpb25UeXBlcyA9IE9iamVjdC52YWx1ZXMoQWN0aW9uVHlwZSlcbiAgZm9yIChjb25zdCB0eXBlIG9mIGFjdGlvblR5cGVzKSB7XG4gICAgY29uc3QgYWN0aW9uVHlwZSA9IHR5cGUgYXMgQWN0aW9uVHlwZVxuICAgIGFkZEFjdGlvblR5cGUoZW5naW5lLCBhY3Rpb25UeXBlLCBBY3Rpb25TY2hlbWFzW2FjdGlvblR5cGVdKVxuICB9XG5cbiAgLy8gQWRkIGNvdW50ZXIgdG8gcm9vdCBlbnRpdHlcbiAgY29uc3QgQ291bnRlciA9IGVuZ2luZS5nZXRDb21wb25lbnQoXG4gICAgQ29tcG9uZW50TmFtZS5DT1VOVEVSLFxuICApIGFzIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPENvdW50ZXI+XG4gIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yQ3JlYXRlTXV0YWJsZShlbmdpbmUuUm9vdEVudGl0eSlcbiAgY291bnRlci52YWx1ZSA9IGNvdW50ZXIudmFsdWUgfHwgMFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZGl0aW9uVHlwZXNCeUNvbXBvbmVudE5hbWUoY29tcG9uZW50TmFtZTogQ29tcG9uZW50TmFtZSkge1xuICBzd2l0Y2ggKGNvbXBvbmVudE5hbWUpIHtcbiAgICBjYXNlIENvbXBvbmVudE5hbWUuU1RBVEVTOiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTX05PVCxcbiAgICAgIF1cbiAgICB9XG4gICAgY2FzZSBDb21wb25lbnROYW1lLkNPVU5URVI6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9FUVVBTFMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU4sXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU4sXG4gICAgICBdXG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDb21wb25lbnRzID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQ29tcG9uZW50cz5cblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXNDb21wb25lbnQgPSBDb21wb25lbnRzWydBY3Rpb25UeXBlcyddXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlcyA9IFJldHVyblR5cGU8XG4gIEFjdGlvblR5cGVzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXVxuPlxuXG5leHBvcnQgdHlwZSBBY3Rpb25zQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWN0aW9ucyddXG5leHBvcnQgdHlwZSBBY3Rpb25zID0gUmV0dXJuVHlwZTxBY3Rpb25zQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT5cbmV4cG9ydCB0eXBlIEFjdGlvbiA9IEFjdGlvbnNbJ3ZhbHVlJ11bMF1cblxuZXhwb3J0IHR5cGUgQ291bnRlckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ0NvdW50ZXInXVxuZXhwb3J0IHR5cGUgQ291bnRlciA9IFJldHVyblR5cGU8Q291bnRlckNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+XG5cbmV4cG9ydCB0eXBlIFRyaWdnZXJzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVHJpZ2dlcnMnXVxuZXhwb3J0IHR5cGUgVHJpZ2dlcnMgPSBSZXR1cm5UeXBlPFRyaWdnZXJzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT5cbmV4cG9ydCB0eXBlIFRyaWdnZXIgPSBUcmlnZ2Vyc1sndmFsdWUnXVswXVxuZXhwb3J0IHR5cGUgVHJpZ2dlckFjdGlvbiA9IFRyaWdnZXJbJ2FjdGlvbnMnXVswXVxuZXhwb3J0IHR5cGUgVHJpZ2dlckNvbmRpdGlvbiA9IEV4Y2x1ZGU8VHJpZ2dlclsnY29uZGl0aW9ucyddLCB1bmRlZmluZWQ+WzBdXG5cbmV4cG9ydCB0eXBlIFN0YXRlc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1N0YXRlcyddXG5leHBvcnQgdHlwZSBTdGF0ZXMgPSBSZXR1cm5UeXBlPFN0YXRlc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+XG4iXX0=
@@ -1,16 +0,0 @@
1
- import mitt from 'mitt';
2
- const triggers = new Map();
3
- const actions = new Map();
4
- export function getTriggerEvents(entity) {
5
- if (!triggers.has(entity)) {
6
- triggers.set(entity, mitt());
7
- }
8
- return triggers.get(entity);
9
- }
10
- export function getActionEvents(entity) {
11
- if (!actions.has(entity)) {
12
- actions.set(entity, mitt());
13
- }
14
- return actions.get(entity);
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQWlCLE1BQU0sTUFBTSxDQUFBO0FBSXBDLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUE4QyxDQUFBO0FBRXRFLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUdwQixDQUFBO0FBRUgsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWM7SUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDekIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtLQUM3QjtJQUNELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQTtBQUM5QixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFjO0lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7S0FDNUI7SUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUE7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaXR0LCB7IEVtaXR0ZXIgfSBmcm9tICdtaXR0J1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuaW1wb3J0IHsgQWN0aW9uUGF5bG9hZCwgQWN0aW9uVHlwZSwgVHJpZ2dlclR5cGUgfSBmcm9tICcuL2RlZmluaXRpb25zJ1xuXG5jb25zdCB0cmlnZ2VycyA9IG5ldyBNYXA8RW50aXR5LCBFbWl0dGVyPFJlY29yZDxUcmlnZ2VyVHlwZSwgdm9pZD4+PigpXG5cbmNvbnN0IGFjdGlvbnMgPSBuZXcgTWFwPFxuICBFbnRpdHksXG4gIEVtaXR0ZXI8UmVjb3JkPHN0cmluZywgQWN0aW9uUGF5bG9hZDxBY3Rpb25UeXBlPj4+XG4+KClcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRyaWdnZXJFdmVudHMoZW50aXR5OiBFbnRpdHkpIHtcbiAgaWYgKCF0cmlnZ2Vycy5oYXMoZW50aXR5KSkge1xuICAgIHRyaWdnZXJzLnNldChlbnRpdHksIG1pdHQoKSlcbiAgfVxuICByZXR1cm4gdHJpZ2dlcnMuZ2V0KGVudGl0eSkhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3Rpb25FdmVudHMoZW50aXR5OiBFbnRpdHkpIHtcbiAgaWYgKCFhY3Rpb25zLmhhcyhlbnRpdHkpKSB7XG4gICAgYWN0aW9ucy5zZXQoZW50aXR5LCBtaXR0KCkpXG4gIH1cbiAgcmV0dXJuIGFjdGlvbnMuZ2V0KGVudGl0eSkhXG59XG4iXX0=
package/dist/src/id.js DELETED
@@ -1,10 +0,0 @@
1
- import { ComponentName } from './definitions';
2
- export function getCounterComponent(engine) {
3
- return engine.getComponent(ComponentName.COUNTER);
4
- }
5
- export function getNextId(engine) {
6
- const Counter = getCounterComponent(engine);
7
- const counter = Counter.getOrCreateMutable(engine.RootEntity);
8
- return ++counter.value;
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGFBQWEsRUFBVyxNQUFNLGVBQWUsQ0FBQTtBQUV0RCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBZTtJQUNqRCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQ3hCLGFBQWEsQ0FBQyxPQUFPLENBQ2dDLENBQUE7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBZTtJQUN2QyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMzQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzdELE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFBO0FBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJRW5naW5lLFxuICBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbixcbn0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuaW1wb3J0IHsgQ29tcG9uZW50TmFtZSwgQ291bnRlciB9IGZyb20gJy4vZGVmaW5pdGlvbnMnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb3VudGVyQ29tcG9uZW50KGVuZ2luZTogSUVuZ2luZSkge1xuICByZXR1cm4gZW5naW5lLmdldENvbXBvbmVudChcbiAgICBDb21wb25lbnROYW1lLkNPVU5URVIsXG4gICkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248Q291bnRlcj5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5leHRJZChlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgQ291bnRlciA9IGdldENvdW50ZXJDb21wb25lbnQoZW5naW5lKVxuICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRPckNyZWF0ZU11dGFibGUoZW5naW5lLlJvb3RFbnRpdHkpXG4gIHJldHVybiArK2NvdW50ZXIudmFsdWVcbn1cbiJdfQ==
package/dist/src/index.js DELETED
@@ -1,14 +0,0 @@
1
- import { engine, pointerEventsSystem, Animator, Transform, AudioSource, AvatarAttach, VisibilityComponent, GltfContainer, } from '@dcl/sdk/ecs';
2
- import { initAssetPacks } from './scene-entrypoint';
3
- initAssetPacks(engine, pointerEventsSystem, {
4
- Animator,
5
- Transform,
6
- AudioSource,
7
- AvatarAttach,
8
- VisibilityComponent,
9
- GltfContainer,
10
- });
11
- export function main() {
12
- console.log('Scene ready');
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixhQUFhLEdBQ2QsTUFBTSxjQUFjLENBQUE7QUFDckIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRW5ELGNBQWMsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUU7SUFDMUMsUUFBUTtJQUNSLFNBQVM7SUFDVCxXQUFXO0lBQ1gsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixhQUFhO0NBQ2QsQ0FBQyxDQUFBO0FBRUYsTUFBTSxVQUFVLElBQUk7SUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZW5naW5lLFxuICBwb2ludGVyRXZlbnRzU3lzdGVtLFxuICBBbmltYXRvcixcbiAgVHJhbnNmb3JtLFxuICBBdWRpb1NvdXJjZSxcbiAgQXZhdGFyQXR0YWNoLFxuICBWaXNpYmlsaXR5Q29tcG9uZW50LFxuICBHbHRmQ29udGFpbmVyLFxufSBmcm9tICdAZGNsL3Nkay9lY3MnXG5pbXBvcnQgeyBpbml0QXNzZXRQYWNrcyB9IGZyb20gJy4vc2NlbmUtZW50cnlwb2ludCdcblxuaW5pdEFzc2V0UGFja3MoZW5naW5lLCBwb2ludGVyRXZlbnRzU3lzdGVtLCB7XG4gIEFuaW1hdG9yLFxuICBUcmFuc2Zvcm0sXG4gIEF1ZGlvU291cmNlLFxuICBBdmF0YXJBdHRhY2gsXG4gIFZpc2liaWxpdHlDb21wb25lbnQsXG4gIEdsdGZDb250YWluZXIsXG59KVxuXG5leHBvcnQgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc29sZS5sb2coJ1NjZW5lIHJlYWR5Jylcbn1cbiJdfQ==