@codexo/exojs-tilemap 0.14.0 → 0.15.1

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.
@@ -15,8 +15,8 @@ const DEFAULT_CHUNK_SIZE = 32;
15
15
  * changes. Direct chunk mutation is not supported — the layer owns chunk
16
16
  * storage and exposes only a {@link ReadonlyTileChunk} view.
17
17
  *
18
- * The layer is NOT a SceneNode — that integration lives in the future
19
- * renderer slice.
18
+ * The layer is NOT a SceneNode — that integration lives in
19
+ * {@link import('./TileLayerNode').TileLayerNode}.
20
20
  *
21
21
  * @advanced
22
22
  */
@@ -49,6 +49,20 @@ class TileLayer {
49
49
  offsetX;
50
50
  /** Vertical pixel offset (mutable). */
51
51
  offsetY;
52
+ /**
53
+ * Parallax scroll factor on the X axis.
54
+ * `1.0` = full camera speed, `0.5` = half speed, `0.0` = stationary.
55
+ */
56
+ parallaxX;
57
+ /**
58
+ * Parallax scroll factor on the Y axis.
59
+ * `1.0` = full camera speed, `0.5` = half speed, `0.0` = stationary.
60
+ */
61
+ parallaxY;
62
+ /** Layer class/type string (Tiled `class`; may be empty). */
63
+ class;
64
+ /** Multiplicative layer tint as `0xRRGGBB`, or `null` for no tint. */
65
+ tintColor;
52
66
  /** Immutable layer properties. */
53
67
  properties;
54
68
  /** The tilesets available to this layer (shared array reference). */
@@ -66,6 +80,7 @@ class TileLayer {
66
80
  /**
67
81
  * @throws When dimensions, chunk size, or other options are invalid.
68
82
  */
83
+ // eslint-disable-next-line complexity -- straight-line option validation + defaulting
69
84
  constructor(options) {
70
85
  validateNonNegativeInteger(options.id, 'layer.id');
71
86
  if (!options.name || typeof options.name !== 'string') {
@@ -91,6 +106,11 @@ class TileLayer {
91
106
  if (!Number.isFinite(offsetX) || !Number.isFinite(offsetY)) {
92
107
  throw new Error('TileLayer offset must be finite numbers.');
93
108
  }
109
+ const parallaxX = options.parallaxX ?? 1;
110
+ const parallaxY = options.parallaxY ?? 1;
111
+ if (!Number.isFinite(parallaxX) || !Number.isFinite(parallaxY)) {
112
+ throw new Error('TileLayer parallax must be finite numbers.');
113
+ }
94
114
  this.id = options.id;
95
115
  this.name = options.name;
96
116
  this.width = options.width;
@@ -104,6 +124,10 @@ class TileLayer {
104
124
  this.opacity = opacity;
105
125
  this.offsetX = offsetX;
106
126
  this.offsetY = offsetY;
127
+ this.parallaxX = parallaxX;
128
+ this.parallaxY = parallaxY;
129
+ this.class = options.class ?? '';
130
+ this.tintColor = options.tintColor ?? null;
107
131
  this.properties = options.properties
108
132
  ? Object.freeze({ ...options.properties })
109
133
  : Object.freeze({});
@@ -1 +1 @@
1
- {"version":3,"file":"TileLayer.js","sources":["../../../src/TileLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileLayer.js","sources":["../../../src/TileLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -41,7 +41,10 @@ export declare class TileLayerNode extends Container {
41
41
  private readonly _cullChunks;
42
42
  private readonly _chunkNodes;
43
43
  private _syncedOpacity;
44
+ private _syncedTint;
44
45
  private _pixelSnapMode;
46
+ private readonly _baseOffsetX;
47
+ private readonly _baseOffsetY;
45
48
  constructor(layer: TileLayer, options?: TileLayerNodeOptions);
46
49
  /** The runtime layer this node renders. */
47
50
  get layer(): TileLayer;
@@ -76,6 +79,10 @@ export declare class TileLayerNode extends Container {
76
79
  protected _collectContent(builder: RenderPlanBuilder): void;
77
80
  destroy(): void;
78
81
  private _buildChunkNodes;
79
- /** Propagate the layer's live opacity onto the chunk tints if it changed. */
80
- private _syncOpacity;
82
+ /**
83
+ * Propagate the layer's live opacity and tint colour onto the chunk render
84
+ * tints if either changed. Opacity drives the tint alpha; `tintColor`
85
+ * (`0xRRGGBB`) multiplies the RGB (white = no tint).
86
+ */
87
+ private _syncTint;
81
88
  }
@@ -27,11 +27,16 @@ class TileLayerNode extends Container {
27
27
  _cullChunks;
28
28
  _chunkNodes = [];
29
29
  _syncedOpacity = -1;
30
+ _syncedTint = undefined;
30
31
  _pixelSnapMode = 'none';
32
+ _baseOffsetX;
33
+ _baseOffsetY;
31
34
  constructor(layer, options) {
32
35
  super();
33
36
  this._layer = layer;
34
37
  this._cullChunks = options?.cullable ?? true;
38
+ this._baseOffsetX = layer.offsetX;
39
+ this._baseOffsetY = layer.offsetY;
35
40
  this.setPosition(layer.offsetX, layer.offsetY);
36
41
  this._buildChunkNodes();
37
42
  }
@@ -81,6 +86,7 @@ class TileLayerNode extends Container {
81
86
  child.destroy();
82
87
  }
83
88
  this._syncedOpacity = -1;
89
+ this._syncedTint = undefined;
84
90
  this._buildChunkNodes();
85
91
  return this;
86
92
  }
@@ -98,8 +104,21 @@ class TileLayerNode extends Container {
98
104
  if (!this._layer.visible) {
99
105
  return;
100
106
  }
101
- this._syncOpacity();
102
- super._collectContent(builder);
107
+ this._syncTint();
108
+ const layer = this._layer;
109
+ if (layer.parallaxX !== 1 || layer.parallaxY !== 1) {
110
+ const camCenter = builder.view.center;
111
+ const prevX = this.x;
112
+ const prevY = this.y;
113
+ this.x = this._baseOffsetX + camCenter.x * (1 - layer.parallaxX);
114
+ this.y = this._baseOffsetY + camCenter.y * (1 - layer.parallaxY);
115
+ super._collectContent(builder);
116
+ this.x = prevX;
117
+ this.y = prevY;
118
+ }
119
+ else {
120
+ super._collectContent(builder);
121
+ }
103
122
  }
104
123
  destroy() {
105
124
  const children = [...this._chunkNodes];
@@ -123,18 +142,27 @@ class TileLayerNode extends Container {
123
142
  this._chunkNodes.push(node);
124
143
  this.addChild(node);
125
144
  }
126
- this._syncOpacity();
145
+ this._syncTint();
127
146
  }
128
- /** Propagate the layer's live opacity onto the chunk tints if it changed. */
129
- _syncOpacity() {
147
+ /**
148
+ * Propagate the layer's live opacity and tint colour onto the chunk render
149
+ * tints if either changed. Opacity drives the tint alpha; `tintColor`
150
+ * (`0xRRGGBB`) multiplies the RGB (white = no tint).
151
+ */
152
+ _syncTint() {
130
153
  const opacity = this._layer.opacity;
131
- if (opacity === this._syncedOpacity) {
154
+ const tintColor = this._layer.tintColor;
155
+ if (opacity === this._syncedOpacity && tintColor === this._syncedTint) {
132
156
  return;
133
157
  }
158
+ const r = tintColor === null ? 255 : (tintColor >> 16) & 0xff;
159
+ const g = tintColor === null ? 255 : (tintColor >> 8) & 0xff;
160
+ const b = tintColor === null ? 255 : tintColor & 0xff;
134
161
  for (const child of this._chunkNodes) {
135
- child.tint.a = opacity;
162
+ child.tint.set(r, g, b, opacity);
136
163
  }
137
164
  this._syncedOpacity = opacity;
165
+ this._syncedTint = tintColor;
138
166
  }
139
167
  }
140
168
 
@@ -1 +1 @@
1
- {"version":3,"file":"TileLayerNode.js","sources":["../../../src/TileLayerNode.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileLayerNode.js","sources":["../../../src/TileLayerNode.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ImageLayer } from './ImageLayer';
1
2
  import type { ObjectLayer, ObjectSchema } from './ObjectLayer';
2
3
  import { type TileLayer } from './TileLayer';
3
4
  import type { TileMapViewOptions } from './TileMapView';
@@ -25,10 +26,22 @@ export interface TileMapOptions {
25
26
  readonly layers?: readonly TileLayer[];
26
27
  /** Object layers (data-only; spawn points, triggers, collision regions). */
27
28
  readonly objectLayers?: readonly ObjectLayer[];
29
+ /** Image layers (data-only; background/foreground images from Tiled image layers). */
30
+ readonly imageLayers?: readonly ImageLayer[];
28
31
  /** Chunk width for layers (default 32). */
29
32
  readonly chunkWidth?: number;
30
33
  /** Chunk height for layers (default 32). */
31
34
  readonly chunkHeight?: number;
35
+ /** Map class/type string (Tiled `class`). Defaults to `''`. */
36
+ readonly class?: string;
37
+ /**
38
+ * Map background colour as a `0xRRGGBB` integer, or `null` (Tiled
39
+ * `backgroundcolor`). Informational — the renderer does not auto-clear to it.
40
+ * Default `null`.
41
+ */
42
+ readonly backgroundColor?: number | null;
43
+ /** Tile draw order (Tiled `renderorder`), informational. Default `'right-down'`. */
44
+ readonly renderOrder?: string;
32
45
  /** Map-level properties (copied and frozen). */
33
46
  readonly properties?: TileProperties;
34
47
  }
@@ -39,7 +52,8 @@ export interface TileMapOptions {
39
52
  * Tile data is stored in compact chunked arrays — no per-tile heap objects.
40
53
  *
41
54
  * The map does NOT own tileset textures (those are Loader-owned) and does
42
- * NOT own SceneNode children (the future TileMapNode will own those).
55
+ * NOT own SceneNode children see {@link import('./TileMapNode').TileMapNode},
56
+ * which owns those.
43
57
  *
44
58
  * Multiple tilesets are supported: each cell stores a packed tileset index
45
59
  * and local tile ID, so different tilesets may have different tile dimensions.
@@ -65,12 +79,19 @@ export declare class TileMap {
65
79
  readonly chunkWidth: number;
66
80
  /** Default chunk height for layers. */
67
81
  readonly chunkHeight: number;
82
+ /** Map class/type string (Tiled `class`; may be empty). */
83
+ readonly class: string;
84
+ /** Map background colour as `0xRRGGBB`, or `null`. Informational. */
85
+ readonly backgroundColor: number | null;
86
+ /** Tile draw order (Tiled `renderorder`). Informational. */
87
+ readonly renderOrder: string;
68
88
  /** Map-level properties (immutable). */
69
89
  readonly properties: TileProperties;
70
90
  private readonly _tilesets;
71
91
  private readonly _layers;
72
92
  private readonly _layerById;
73
93
  private readonly _objectLayers;
94
+ private readonly _imageLayers;
74
95
  private _revision;
75
96
  private _destroyed;
76
97
  /**
@@ -131,6 +152,33 @@ export declare class TileMap {
131
152
  * remains fully back-compatible when omitted.
132
153
  */
133
154
  getObjectLayer<S extends ObjectSchema = ObjectSchema>(name: string): ObjectLayer<S> | undefined;
155
+ /**
156
+ * Get an object layer by ID.
157
+ *
158
+ * Supply an {@link ObjectSchema} type argument `S` to obtain a typed view of
159
+ * the layer, as with {@link getObjectLayer}.
160
+ */
161
+ getObjectLayerById<S extends ObjectSchema = ObjectSchema>(id: number): ObjectLayer<S> | undefined;
162
+ /**
163
+ * Remove an object layer by ID.
164
+ * @returns true if the layer was found and removed.
165
+ */
166
+ removeObjectLayer(id: number): boolean;
167
+ /** Immutable snapshot of image layers (insertion order). */
168
+ get imageLayers(): readonly ImageLayer[];
169
+ /**
170
+ * Get an image layer by name (first match in insertion order), or undefined.
171
+ */
172
+ getImageLayer(name: string): ImageLayer | undefined;
173
+ /**
174
+ * Get an image layer by ID.
175
+ */
176
+ getImageLayerById(id: number): ImageLayer | undefined;
177
+ /**
178
+ * Remove an image layer by ID.
179
+ * @returns true if the layer was found and removed.
180
+ */
181
+ removeImageLayer(id: number): boolean;
134
182
  /**
135
183
  * Create a new {@link TileMapView} that groups this map's layers into
136
184
  * independently placeable band / layer scene nodes for interleaving
@@ -8,7 +8,8 @@ import { TileMapView } from './TileMapView.js';
8
8
  * Tile data is stored in compact chunked arrays — no per-tile heap objects.
9
9
  *
10
10
  * The map does NOT own tileset textures (those are Loader-owned) and does
11
- * NOT own SceneNode children (the future TileMapNode will own those).
11
+ * NOT own SceneNode children see {@link import('./TileMapNode').TileMapNode},
12
+ * which owns those.
12
13
  *
13
14
  * Multiple tilesets are supported: each cell stores a packed tileset index
14
15
  * and local tile ID, so different tilesets may have different tile dimensions.
@@ -34,12 +35,19 @@ class TileMap {
34
35
  chunkWidth;
35
36
  /** Default chunk height for layers. */
36
37
  chunkHeight;
38
+ /** Map class/type string (Tiled `class`; may be empty). */
39
+ class;
40
+ /** Map background colour as `0xRRGGBB`, or `null`. Informational. */
41
+ backgroundColor;
42
+ /** Tile draw order (Tiled `renderorder`). Informational. */
43
+ renderOrder;
37
44
  /** Map-level properties (immutable). */
38
45
  properties;
39
46
  _tilesets;
40
47
  _layers = [];
41
48
  _layerById = new Map();
42
49
  _objectLayers = [];
50
+ _imageLayers = [];
43
51
  _revision = 0;
44
52
  _destroyed = false;
45
53
  /**
@@ -61,6 +69,9 @@ class TileMap {
61
69
  this.tileHeight = options.tileHeight;
62
70
  this.chunkWidth = chunkWidth;
63
71
  this.chunkHeight = chunkHeight;
72
+ this.class = options.class ?? '';
73
+ this.backgroundColor = options.backgroundColor ?? null;
74
+ this.renderOrder = options.renderOrder ?? 'right-down';
64
75
  this._tilesets = options.tilesets ? [...options.tilesets] : [];
65
76
  this.properties = options.properties
66
77
  ? Object.freeze({ ...options.properties })
@@ -73,6 +84,9 @@ class TileMap {
73
84
  if (options.objectLayers) {
74
85
  this._objectLayers.push(...options.objectLayers);
75
86
  }
87
+ if (options.imageLayers) {
88
+ this._imageLayers.push(...options.imageLayers);
89
+ }
76
90
  }
77
91
  // ── Tilesets ──────────────────────────────────────────────────────────
78
92
  /** Immutable list of tilesets available to this map. */
@@ -178,6 +192,58 @@ class TileMap {
178
192
  getObjectLayer(name) {
179
193
  return this._objectLayers.find(layer => layer.name === name);
180
194
  }
195
+ /**
196
+ * Get an object layer by ID.
197
+ *
198
+ * Supply an {@link ObjectSchema} type argument `S` to obtain a typed view of
199
+ * the layer, as with {@link getObjectLayer}.
200
+ */
201
+ getObjectLayerById(id) {
202
+ return this._objectLayers.find(layer => layer.id === id);
203
+ }
204
+ /**
205
+ * Remove an object layer by ID.
206
+ * @returns true if the layer was found and removed.
207
+ */
208
+ removeObjectLayer(id) {
209
+ this._checkDestroyed();
210
+ const index = this._objectLayers.findIndex(layer => layer.id === id);
211
+ if (index === -1)
212
+ return false;
213
+ this._objectLayers.splice(index, 1);
214
+ this._revision++;
215
+ return true;
216
+ }
217
+ // ── Image layers (data-only) ──────────────────────────────────────────
218
+ /** Immutable snapshot of image layers (insertion order). */
219
+ get imageLayers() {
220
+ return this._imageLayers;
221
+ }
222
+ /**
223
+ * Get an image layer by name (first match in insertion order), or undefined.
224
+ */
225
+ getImageLayer(name) {
226
+ return this._imageLayers.find(layer => layer.name === name);
227
+ }
228
+ /**
229
+ * Get an image layer by ID.
230
+ */
231
+ getImageLayerById(id) {
232
+ return this._imageLayers.find(layer => layer.id === id);
233
+ }
234
+ /**
235
+ * Remove an image layer by ID.
236
+ * @returns true if the layer was found and removed.
237
+ */
238
+ removeImageLayer(id) {
239
+ this._checkDestroyed();
240
+ const index = this._imageLayers.findIndex(layer => layer.id === id);
241
+ if (index === -1)
242
+ return false;
243
+ this._imageLayers.splice(index, 1);
244
+ this._revision++;
245
+ return true;
246
+ }
181
247
  // ── Scene composition ─────────────────────────────────────────────────
182
248
  /**
183
249
  * Create a new {@link TileMapView} that groups this map's layers into
@@ -286,6 +352,7 @@ class TileMap {
286
352
  this._layers.length = 0;
287
353
  this._layerById.clear();
288
354
  this._objectLayers.length = 0;
355
+ this._imageLayers.length = 0;
289
356
  this._tilesets.length = 0;
290
357
  }
291
358
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TileMap.js","sources":["../../../src/TileMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileMap.js","sources":["../../../src/TileMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -21,6 +21,12 @@ export interface TileSetOptions {
21
21
  readonly spacing?: number;
22
22
  /** Pixel margin around the atlas. Defaults to 0. */
23
23
  readonly margin?: number;
24
+ /** Tileset class/type string (Tiled `class`). Defaults to `''`. */
25
+ readonly class?: string;
26
+ /** Visual drawing offset in pixels applied to every tile of this set. Defaults to 0. */
27
+ readonly offsetX?: number;
28
+ /** Visual drawing offset in pixels applied to every tile of this set. Defaults to 0. */
29
+ readonly offsetY?: number;
24
30
  }
25
31
  /**
26
32
  * A resolved tileset: a uniform grid of tiles within a texture atlas.
@@ -52,6 +58,12 @@ export declare class TileSet {
52
58
  readonly spacing: number;
53
59
  /** Pixel margin around the atlas. */
54
60
  readonly margin: number;
61
+ /** Tileset class/type string (Tiled `class`; may be empty). */
62
+ readonly class: string;
63
+ /** Visual drawing offset X in pixels, applied to every tile of this set. */
64
+ readonly offsetX: number;
65
+ /** Visual drawing offset Y in pixels, applied to every tile of this set. */
66
+ readonly offsetY: number;
55
67
  private readonly _definitions;
56
68
  /**
57
69
  * @throws When dimensions, counts, or spacing values are invalid.
@@ -30,6 +30,12 @@ class TileSet {
30
30
  spacing;
31
31
  /** Pixel margin around the atlas. */
32
32
  margin;
33
+ /** Tileset class/type string (Tiled `class`; may be empty). */
34
+ class;
35
+ /** Visual drawing offset X in pixels, applied to every tile of this set. */
36
+ offsetX;
37
+ /** Visual drawing offset Y in pixels, applied to every tile of this set. */
38
+ offsetY;
33
39
  _definitions;
34
40
  /**
35
41
  * @throws When dimensions, counts, or spacing values are invalid.
@@ -73,6 +79,9 @@ class TileSet {
73
79
  this.rows = rows;
74
80
  this.spacing = spacing;
75
81
  this.margin = margin;
82
+ this.class = options.class ?? '';
83
+ this.offsetX = options.offsetX ?? 0;
84
+ this.offsetY = options.offsetY ?? 0;
76
85
  this._definitions = new Map();
77
86
  }
78
87
  /**
@@ -87,9 +96,17 @@ class TileSet {
87
96
  const props = definition.properties
88
97
  ? Object.freeze({ ...definition.properties })
89
98
  : undefined;
99
+ const animation = definition.animation
100
+ ? Object.freeze(definition.animation.map(frame => Object.freeze({ ...frame })))
101
+ : undefined;
102
+ const collision = definition.collision
103
+ ? Object.freeze([...definition.collision])
104
+ : undefined;
90
105
  this._definitions.set(localTileId, {
91
106
  localTileId,
92
107
  ...(props !== undefined && { properties: props }),
108
+ ...(animation !== undefined && { animation }),
109
+ ...(collision !== undefined && { collision }),
93
110
  });
94
111
  }
95
112
  /**
@@ -104,7 +121,18 @@ class TileSet {
104
121
  const props = def.properties
105
122
  ? Object.freeze({ ...def.properties })
106
123
  : undefined;
107
- map.set(def.localTileId, { localTileId: def.localTileId, ...(props !== undefined && { properties: props }) });
124
+ const animation = def.animation
125
+ ? Object.freeze(def.animation.map(frame => Object.freeze({ ...frame })))
126
+ : undefined;
127
+ const collision = def.collision
128
+ ? Object.freeze([...def.collision])
129
+ : undefined;
130
+ map.set(def.localTileId, {
131
+ localTileId: def.localTileId,
132
+ ...(props !== undefined && { properties: props }),
133
+ ...(animation !== undefined && { animation }),
134
+ ...(collision !== undefined && { collision }),
135
+ });
108
136
  }
109
137
  }
110
138
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TileSet.js","sources":["../../../src/TileSet.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileSet.js","sources":["../../../src/TileSet.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAkCA;;;;;;;;;;AAUG;MACU,OAAO,CAAA;;AAEF,IAAA,IAAI;;AAGJ,IAAA,OAAO;;AAGP,IAAA,SAAS;;AAET,IAAA,UAAU;;AAGV,IAAA,SAAS;;AAGT,IAAA,OAAO;;AAEP,IAAA,IAAI;;AAGJ,IAAA,OAAO;;AAEP,IAAA,MAAM;;AAGN,IAAA,KAAK;;AAEL,IAAA,OAAO;;AAEP,IAAA,OAAO;AAEN,IAAA,YAAY;AAE7B;;AAEG;AACH,IAAA,WAAA,CAAmB,OAAuB,EAAA;AACxC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;AACrD,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;QAC7D;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;QAC5D;AAEA,QAAA,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;AACvD,QAAA,uBAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC;AACzD,QAAA,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;AAEvD,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC;AACpC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;AAClC,QAAA,0BAA0B,CAAC,OAAO,EAAE,SAAS,CAAC;AAC9C,QAAA,0BAA0B,CAAC,MAAM,EAAE,QAAQ,CAAC;QAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC;AAEvD,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;AAE7E,QAAA,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC;AAC3C,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,CAAA,EAAA,CAAI,CAAC;QACvE;AAEA,QAAA,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,OAAO,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE;YACtE,MAAM,IAAI,KAAK,CACb,CAAA,kCAAA,EAAqC,OAAO,CAAC,SAAS,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE;gBACnE,CAAA,GAAA,EAAM,OAAO,IAAI,OAAO,GAAG,CAAC,CAAA,GAAA,EAAM,UAAU,CAAA,CAAA,CAAG,CAChD;QACH;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QACnD,IAAI,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,GAAG,OAAO,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE;YAC9E,MAAM,IAAI,KAAK,CACb,CAAA,mCAAA,EAAsC,OAAO,CAAC,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE;gBAClE,CAAA,GAAA,EAAM,OAAO,IAAI,IAAI,GAAG,CAAC,CAAA,GAAA,EAAM,WAAW,CAAA,CAAA,CAAG,CAC9C;QACH;AAEA,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;AACpC,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QACpB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC;AAEnC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE;IAK/B;AAEA;;;;AAIG;IACI,cAAc,CAAC,WAAmB,EAAE,UAAmC,EAAA;QAC5E,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;AACpD,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,4BAAA,EAA+B,WAAW,CAAA,kBAAA,EAAqB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA,EAAA,CAAI,CACtF;QACH;AACA,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC;cACrB,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE;cAC1C,SAAS;AACb,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC;cACzB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;cAC5E,SAAS;AACb,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC;cACzB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;cACvC,SAAS;AACZ,QAAA,IAAI,CAAC,YAA4C,CAAC,GAAG,CAAC,WAAW,EAAE;YAClE,WAAW;YACX,IAAI,KAAK,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YACjD,IAAI,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,IAAI,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9C,SAAA,CAAC;IACJ;AAEA;;;;AAIG;AACI,IAAA,eAAe,CAAC,WAAsC,EAAA;AAC3D,QAAA,MAAM,GAAG,GAAI,IAAI,CAAC,YAA4C;QAC9D,GAAG,CAAC,KAAK,EAAE;AACX,QAAA,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;AAC7B,YAAA,MAAM,KAAK,GAAG,GAAG,CAAC;kBACd,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE;kBACnC,SAAS;AACb,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC;kBAClB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;kBACrE,SAAS;AACb,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC;kBAClB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;kBAChC,SAAS;AACb,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE;gBACvB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;gBACjD,IAAI,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7C,IAAI,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9C,aAAA,CAAC;QACJ;IACF;AAEA;;;AAGG;AACI,IAAA,iBAAiB,CAAC,WAAmB,EAAA;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;IAC3C;AAEA;;;;AAIG;AACI,IAAA,WAAW,CAAC,WAAmB,EAAA;QACpC,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;AACpD,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,yBAAA,EAA4B,WAAW,CAAA,kBAAA,EAAqB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA,EAAA,CAAI,CACnF;QACH;AACA,QAAA,MAAM,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAClD,OAAO;AACL,YAAA,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;AACtD,YAAA,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;YACvD,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM,EAAE,IAAI,CAAC,UAAU;SACxB;IACH;AAEA;;;AAGG;IACI,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;IACnC;AAEA;;;;AAIG;AACH,IAAA,IAAW,cAAc,GAAA;QACvB,MAAM,MAAM,GAA+C,EAAE;QAC7D,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;AACzC,YAAA,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU;QAC7B;AACA,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B;AACD;;;;"}