mcbe-leveldb 1.1.0 → 1.2.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.
package/Changelog.md CHANGED
@@ -1,11 +1,27 @@
1
+ # v1.2.1
2
+
3
+ ## Additions
4
+
5
+ - Documented a lot more of the module.
6
+
7
+ ## Fixes
8
+
9
+ - Fixed the `Entity` NBT schemas and the `world_policies` property of the `LevelDat` NBT schema.
10
+
11
+ # v1.2.0
12
+
13
+ ## Changes
14
+
15
+ - Replaced the `leveldb-zlib` package with the `@8crafter/leveldb-zlib` package.
16
+
1
17
  # v1.1.0
2
18
 
3
19
  ## Additions
4
20
 
5
21
  - Added a Changelog file.
6
22
  - Added two new schemas:
7
- - SubChunkPrefix
8
- - SubChunkPrefixLayer
23
+ - `SubChunkPrefix`
24
+ - `SubChunkPrefixLayer`
9
25
  - Added some more schema aliases.
10
26
 
11
27
  ## Fixes
package/DBUtils.js CHANGED
@@ -41,7 +41,7 @@ export function getKeysOfTypes(dbOrDBKeys, types) {
41
41
  * if you have your own add-on that you would like this to be able to read the player's names from, {@link https://www.8crafter.com/main/contact | contact 8Crafter},
42
42
  * or make a pull request.
43
43
  *
44
- * @param db The LevelDB. Should match the type of the {@link LevelDB} class from the {@link https://www.npmjs.com/package/leveldb-zlib | leveldb-zlib} package. It does not have to be the one from that package, as long as the types match.
44
+ * @param db The LevelDB. Should match the type of the {@link LevelDB} class from the {@link https://www.npmjs.com/package/@8crafter/leveldb-zlib | @8crafter/leveldb-zlib} package. It does not have to be the one from that package, as long as the types match.
45
45
  * @param uuid The UUID of the play to get the name of.
46
46
  * @returns The name of the player, or `null` if the player's name cannot be found or the world has no dynamic properties.
47
47
  *
package/DBUtils.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { LevelDB } from "leveldb-zlib";
1
+ import type { LevelDB } from "@8crafter/leveldb-zlib";
2
2
  import { getContentTypeFromDBKey, type DBEntryContentType } from "./LevelUtils.ts";
3
3
  import NBT from "prismarine-nbt";
4
4
  import { JSONB } from "./utils/JSONB.ts";
@@ -9,7 +9,7 @@ import { JSONB } from "./utils/JSONB.ts";
9
9
  * Gets the keys from the LevelDB with a specific content type.
10
10
  *
11
11
  * @template T The content type to look for.
12
- * @param db The LevelDB. Should match the type of the {@link LevelDB} class from the {@link https://www.npmjs.com/package/leveldb-zlib | leveldb-zlib} package. It does not have to be the one from that package, as long as the types match.
12
+ * @param db The LevelDB. Should match the type of the {@link LevelDB} class from the {@link https://www.npmjs.com/package/@8crafter/leveldb-zlib | @8crafter/leveldb-zlib} package. It does not have to be the one from that package, as long as the types match.
13
13
  * @param type The {@link DBEntryContentType | content type} to look for.
14
14
  * @returns The keys from the LevelDB with the specified content type, the keys are in Buffer format, this is because some keys contain binary data like chunk indices.
15
15
  */
@@ -38,7 +38,7 @@ export function getKeysOfType<T extends DBEntryContentType>(dbOrDBKeys: LevelDB
38
38
  * Gets the keys from the LevelDB with one of the specified content types.
39
39
  *
40
40
  * @template T The content types to look for.
41
- * @param db The LevelDB. Should match the type of the {@link LevelDB} class from the {@link https://www.npmjs.com/package/leveldb-zlib | leveldb-zlib} package. It does not have to be the one from that package, as long as the types match.
41
+ * @param db The LevelDB. Should match the type of the {@link LevelDB} class from the {@link https://www.npmjs.com/package/@8crafter/leveldb-zlib | @8crafter/leveldb-zlib} package. It does not have to be the one from that package, as long as the types match.
42
42
  * @param types The {@link DBEntryContentType | content types} to look for.
43
43
  * @returns An object mapping each of the specified content types to the keys from the LevelDB with that content type, the keys are in Buffer format, this is because some keys contain binary data like chunk indices.
44
44
  */
@@ -85,7 +85,7 @@ export function getKeysOfTypes<T extends DBEntryContentType[] | readonly DBEntry
85
85
  * if you have your own add-on that you would like this to be able to read the player's names from, {@link https://www.8crafter.com/main/contact | contact 8Crafter},
86
86
  * or make a pull request.
87
87
  *
88
- * @param db The LevelDB. Should match the type of the {@link LevelDB} class from the {@link https://www.npmjs.com/package/leveldb-zlib | leveldb-zlib} package. It does not have to be the one from that package, as long as the types match.
88
+ * @param db The LevelDB. Should match the type of the {@link LevelDB} class from the {@link https://www.npmjs.com/package/@8crafter/leveldb-zlib | @8crafter/leveldb-zlib} package. It does not have to be the one from that package, as long as the types match.
89
89
  * @param uuid The UUID of the play to get the name of.
90
90
  * @returns The name of the player, or `null` if the player's name cannot be found or the world has no dynamic properties.
91
91
  *
package/LevelUtils.js CHANGED
@@ -98,6 +98,12 @@ function writeInt32LE(value) {
98
98
  // }
99
99
  // return { heightMap, biomeMap };
100
100
  // }
101
+ /**
102
+ * Reads the value of the Data3D content type.
103
+ *
104
+ * @param rawvalue The raw value to read.
105
+ * @returns The height map and biome map.
106
+ */
101
107
  export function readData3dValue(rawvalue) {
102
108
  if (!rawvalue) {
103
109
  return null;
@@ -132,6 +138,13 @@ export function readData3dValue(rawvalue) {
132
138
  // }
133
139
  return { heightMap, biomes };
134
140
  }
141
+ /**
142
+ * Writes the value of the Data3D content type.
143
+ *
144
+ * @param heightMap A height map in the form [x][z].
145
+ * @param biomes A biome map as an array of 24 or more BiomePalette objects.
146
+ * @returns The raw value to write.
147
+ */
135
148
  export function writeData3DValue(heightMap, biomes) {
136
149
  // heightMap is 16x16, flatten to 256 shorts
137
150
  const flatHeight = heightMap.flatMap((v, i) => v.map((_v2, i2) => heightMap[i2][i]));
@@ -143,12 +156,20 @@ export function writeData3DValue(heightMap, biomes) {
143
156
  // Combine
144
157
  return Buffer.concat([heightBuf, biomeBuf]);
145
158
  }
146
- function readChunkBiomes(rawvalue) {
159
+ /**
160
+ * Reads chunk biome data from a buffer.
161
+ *
162
+ * @param rawValue The raw value to read.
163
+ * @returns The biome data.
164
+ *
165
+ * @internal
166
+ */
167
+ function readChunkBiomes(rawValue) {
147
168
  let p = 0;
148
- const end = rawvalue.length;
169
+ const end = rawValue.length;
149
170
  const result = [];
150
171
  while (p < end) {
151
- const { values, isPersistent, paletteSize, newOffset } = readSubchunkPaletteIds(rawvalue, p, end);
172
+ const { values, isPersistent, paletteSize, newOffset } = readSubchunkPaletteIds(rawValue, p, end);
152
173
  p = newOffset;
153
174
  if (values === null) {
154
175
  result.push({ values: null, palette: [] });
@@ -162,7 +183,7 @@ function readChunkBiomes(rawvalue) {
162
183
  }
163
184
  const palette = [];
164
185
  for (let i = 0; i < paletteSize; i++) {
165
- const val = rawvalue[p] | (rawvalue[p + 1] << 8) | (rawvalue[p + 2] << 16) | (rawvalue[p + 3] << 24);
186
+ const val = rawValue[p] | (rawValue[p + 1] << 8) | (rawValue[p + 2] << 16) | (rawValue[p + 3] << 24);
166
187
  palette.push(val);
167
188
  p += 4;
168
189
  }
@@ -170,7 +191,15 @@ function readChunkBiomes(rawvalue) {
170
191
  }
171
192
  return result;
172
193
  }
173
- export function writeChunkBiomes(biomes) {
194
+ /**
195
+ * Writes the chunk biome data from a BiomePalette array to a buffer.
196
+ *
197
+ * @param biomes The biome data to write.
198
+ * @returns The resulting buffer.
199
+ *
200
+ * @internal
201
+ */
202
+ function writeChunkBiomes(biomes) {
174
203
  const buffers = [];
175
204
  for (const bb of biomes) {
176
205
  if (!bb || bb.values === null || bb.values.length === 0)
@@ -276,7 +305,7 @@ function writeSubchunkPaletteIds(values, paletteSize) {
276
305
  }
277
306
  return Buffer.concat([header, packed]);
278
307
  }
279
- //#endregion Local Functions
308
+ //#endregion
280
309
  // --------------------------------------------------------------------------------
281
310
  // Constants
282
311
  // --------------------------------------------------------------------------------
@@ -353,11 +382,29 @@ export const DBEntryContentTypes = [
353
382
  */
354
383
  export const entryContentTypeToFormatMap = {
355
384
  /**
356
- * @todo Make a parser for this.
385
+ * The Data3D content type contains heightmap and biome data for 16x16x16 chunks of the world.
386
+ *
387
+ * @see {@link NBTSchemas.nbtSchemas.Data3D}
357
388
  */
358
389
  Data3D: {
390
+ /**
391
+ * The format type of the data.
392
+ */
359
393
  type: "custom",
394
+ /**
395
+ * The format type that results from the {@link entryContentTypeToFormatMap.Data3D.parse | parse} method.
396
+ */
360
397
  resultType: "JSONNBT",
398
+ /**
399
+ * The function to parse the data.
400
+ *
401
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
402
+ *
403
+ * @param data The data to parse, as a buffer.
404
+ * @returns The parsed data.
405
+ *
406
+ * @throws {Error} If the value does not contain at least one subchunk of biome data.
407
+ */
361
408
  parse(data) {
362
409
  const result = readData3dValue(data);
363
410
  return {
@@ -403,6 +450,14 @@ export const entryContentTypeToFormatMap = {
403
450
  },
404
451
  };
405
452
  },
453
+ /**
454
+ * The function to serialize the data.
455
+ *
456
+ * This result of this can be written directly to the file or LevelDB entry.
457
+ *
458
+ * @param data The data to serialize.
459
+ * @returns The serialized data, as a buffer.
460
+ */
406
461
  serialize(data) {
407
462
  return writeData3DValue(data.value.heightMap.value.value.map((row) => row.value), data.value.biomes.value.value.map((subchunk) => ({
408
463
  palette: subchunk.palette.value.value,
@@ -419,11 +474,34 @@ export const entryContentTypeToFormatMap = {
419
474
  Data2D: { type: "unknown" },
420
475
  /**
421
476
  * @deprecated Only used in versions < 1.0.0.
477
+ *
478
+ * @todo Make a parser for this so that versions < 1.0.0 can be supported.
422
479
  */
423
480
  Data2DLegacy: { type: "unknown" },
481
+ /**
482
+ * The SubChunkPrefix content type contains block data for 16x16x16 chunks of the world.
483
+ *
484
+ * @see {@link NBTSchemas.nbtSchemas.SubChunkPrefix}
485
+ */
424
486
  SubChunkPrefix: {
487
+ /**
488
+ * The format type of the data.
489
+ */
425
490
  type: "custom",
491
+ /**
492
+ * The format type that results from the {@link entryContentTypeToFormatMap.SubChunkPrefix.parse | parse} method.
493
+ */
426
494
  resultType: "JSONNBT",
495
+ /**
496
+ * The function to parse the data.
497
+ *
498
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
499
+ *
500
+ * @param data The data to parse, as a buffer.
501
+ * @returns A promise that resolves with the parsed data.
502
+ *
503
+ * @throws {Error} If the SubChunkPrefix version is unknown.
504
+ */
427
505
  async parse(data) {
428
506
  let currentOffset = 0;
429
507
  const layers = [];
@@ -504,6 +582,14 @@ export const entryContentTypeToFormatMap = {
504
582
  : {}),
505
583
  });
506
584
  },
585
+ /**
586
+ * The function to serialize the data.
587
+ *
588
+ * This result of this can be written directly to the file or LevelDB entry.
589
+ *
590
+ * @param data The data to serialize.
591
+ * @returns The serialized data, as a buffer.
592
+ */
507
593
  serialize(data) {
508
594
  const buffer = Buffer.from([
509
595
  data.value.version.value,
@@ -533,9 +619,18 @@ export const entryContentTypeToFormatMap = {
533
619
  },
534
620
  /**
535
621
  * @deprecated Only used in versions < 1.0.0.
622
+ *
623
+ * @todo Make a parser for this so that versions < 1.0.0 can be supported.
536
624
  */
537
625
  LegacyTerrain: { type: "unknown" },
626
+ /**
627
+ * @see {@link NBTSchemas.nbtSchemas.BlockEntity}
628
+ */
538
629
  BlockEntity: { type: "NBT" },
630
+ /**
631
+ *
632
+ * @see {@link NBTSchemas.nbtSchemas.ActorPrefix}
633
+ */
539
634
  Entity: { type: "NBT" },
540
635
  PendingTicks: { type: "NBT" },
541
636
  /**
@@ -630,7 +725,7 @@ export const entryContentTypeToFormatMap = {
630
725
  */
631
726
  Unknown: { type: "unknown" },
632
727
  };
633
- //#endregion Types
728
+ //#endregion
634
729
  // --------------------------------------------------------------------------------
635
730
  // Functions
636
731
  // --------------------------------------------------------------------------------
@@ -1066,46 +1161,7 @@ export function getBiomeTypeFromID(id) {
1066
1161
  export function getBiomeIDFromType(type) {
1067
1162
  return BiomeData.int_map[type];
1068
1163
  }
1069
- // Removed as it turns out the long tags were just having their high and low parts swapped.
1070
- // /**
1071
- // * Converts a 64-bit Q32.32 Unix timestamp to a Date object.
1072
- // *
1073
- // * A 64-bit Q32.32 Unix timestamp is the format of the LastPlayed property in `level.dat`.
1074
- // *
1075
- // * @param q The timestamp to convert.
1076
- // * @returns The corresponding Date object.
1077
- // */
1078
- // export function q32_32ToDate(q: bigint): Date {
1079
- // // extract whole seconds
1080
- // const seconds: number = Number(q >> 32n);
1081
- // // extract fractional part (0 .. 2^32-1)
1082
- // const frac: number = Number(q & 0xffff_ffffn);
1083
- // // convert fraction to milliseconds
1084
- // const millisFrac: number = (frac * 1000) / 2 ** 32;
1085
- // // total milliseconds since epoch
1086
- // const ms: number = seconds * 1000 + millisFrac;
1087
- // return new Date(ms);
1088
- // }
1089
- // /**
1090
- // * Converts a Date object to a 64-bit Q32.32 Unix timestamp.
1091
- // *
1092
- // * A 64-bit Q32.32 Unix timestamp is the format of the LastPlayed property in `level.dat`.
1093
- // *
1094
- // * @param q The Date object to convert.
1095
- // * @returns The corresponding timestamp.
1096
- // */
1097
- // export function dateToQ32_32(date: Date): bigint {
1098
- // // milliseconds since epoch
1099
- // const ms: number = date.getTime();
1100
- // // whole seconds
1101
- // const seconds: bigint = BigInt(Math.floor(ms / 1000));
1102
- // // fractional part in milliseconds
1103
- // const msFrac: number = ms % 1000;
1104
- // // convert fraction to Q32.32 units (scale milliseconds to 2^32)
1105
- // const frac: bigint = BigInt(Math.round((msFrac * 2 ** 32) / 1000));
1106
- // return (seconds << 32n) | frac;
1107
- // }
1108
- //#endregion Functions
1164
+ //#endregion
1109
1165
  // --------------------------------------------------------------------------------
1110
1166
  // Classes
1111
1167
  // --------------------------------------------------------------------------------
@@ -1114,7 +1170,13 @@ export function getBiomeIDFromType(type) {
1114
1170
  * @todo
1115
1171
  */
1116
1172
  export class Structure {
1173
+ /**
1174
+ * @todo
1175
+ */
1117
1176
  target;
1177
+ /**
1178
+ * @todo
1179
+ */
1118
1180
  constructor(options) {
1119
1181
  this.target = options.target;
1120
1182
  }
@@ -1124,45 +1186,84 @@ export class Structure {
1124
1186
  fillBlocks(from, to, block) {
1125
1187
  throw new Error("Method not implemented.");
1126
1188
  }
1189
+ /**
1190
+ * @todo
1191
+ */
1127
1192
  saveChanges() {
1128
1193
  throw new Error("Method not implemented.");
1129
1194
  }
1195
+ /**
1196
+ * @todo
1197
+ */
1130
1198
  delete() {
1131
1199
  throw new Error("Method not implemented.");
1132
1200
  }
1201
+ /**
1202
+ * @todo
1203
+ */
1133
1204
  expand(min, max) {
1134
1205
  throw new Error("Method not implemented.");
1135
1206
  }
1207
+ /**
1208
+ * @todo
1209
+ */
1136
1210
  shrink(min, max) {
1137
1211
  throw new Error("Method not implemented.");
1138
1212
  }
1213
+ /**
1214
+ * @todo
1215
+ */
1139
1216
  move(min, max) {
1140
1217
  throw new Error("Method not implemented.");
1141
1218
  }
1219
+ /**
1220
+ * @todo
1221
+ */
1142
1222
  scale(scale) {
1143
1223
  throw new Error("Method not implemented.");
1144
1224
  }
1225
+ /**
1226
+ * @todo
1227
+ */
1145
1228
  rotate(angle, axis = "y") {
1146
1229
  throw new Error("Method not implemented.");
1147
1230
  }
1231
+ /**
1232
+ * @todo
1233
+ */
1148
1234
  mirror(axis) {
1149
1235
  throw new Error("Method not implemented.");
1150
1236
  }
1237
+ /**
1238
+ * @todo
1239
+ */
1151
1240
  clear() {
1152
1241
  throw new Error("Method not implemented.");
1153
1242
  }
1243
+ /**
1244
+ * @todo
1245
+ */
1154
1246
  clearSectionData(from, to) {
1155
1247
  throw new Error("Method not implemented.");
1156
1248
  }
1249
+ /**
1250
+ * @todo
1251
+ */
1157
1252
  getSectionData(from, to) {
1158
1253
  throw new Error("Method not implemented.");
1159
1254
  }
1255
+ /**
1256
+ * @todo
1257
+ */
1160
1258
  replaceSectionData(offset, data, options = {}) {
1161
1259
  throw new Error("Method not implemented.");
1162
1260
  }
1261
+ /**
1262
+ * @todo
1263
+ */
1163
1264
  exportPrismarineNBT() {
1164
1265
  throw new Error("Method not implemented.");
1165
1266
  }
1166
1267
  }
1167
- //#endregion Classes
1268
+ //#endregion
1168
1269
  //# sourceMappingURL=LevelUtils.js.map
package/LevelUtils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"LevelUtils.js","sourceRoot":"","sources":["LevelUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAI5C,yBAAyB;AAEzB,MAAM,KAAK,GAAG,KAAK,CAAC;AACpB,MAAM,6BAA6B,GAAG,WAAW,CAAC;AAClD,MAAM,6BAA6B,GAAG,+BAA+B,CAAC;AAQtE,SAAS,WAAW,CAAC,GAAe,EAAE,MAAc;IAChD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC;IACnD,OAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACf,CAAC;AAED,kEAAkE;AAClE,UAAU;AACV,0CAA0C;AAC1C,UAAU;AACV,2DAA2D;AAC3D,UAAU;AACV,4CAA4C;AAC5C,UAAU;AACV,2EAA2E;AAC3E,aAAa;AACb,uBAAuB;AACvB,uBAAuB;AACvB,QAAQ;AAER,wEAAwE;AACxE,8EAA8E;AAC9E,0BAA0B;AAC1B,sFAAsF;AACtF,qDAAqD;AACrD,8CAA8C;AAC9C,4DAA4D;AAC5D,oCAAoC;AACpC,gDAAgD;AAChD,kCAAkC;AAClC,QAAQ;AAER,mDAAmD;AACnD,uEAAuE;AACvE,2DAA2D;AAE3D,6BAA6B;AAC7B,qDAAqD;AACrD,0FAA0F;AAC1F,QAAQ;AAER,gDAAgD;AAChD,2BAA2B;AAC3B,uEAAuE;AACvE,QAAQ;AAER,yBAAyB;AACzB,2BAA2B;AAC3B,uFAAuF;AACvF,qFAAqF;AACrF,YAAY;AACZ,8BAA8B;AAC9B,QAAQ;AAER,8DAA8D;AAC9D,8FAA8F;AAC9F,0BAA0B;AAC1B,0DAA0D;AAC1D,iJAAiJ;AACjJ,0CAA0C;AAC1C,gBAAgB;AAChB,sEAAsE;AAEtE,6FAA6F;AAC7F,mCAAmC;AACnC,qFAAqF;AACrF,kEAAkE;AAElE,4BAA4B;AAC5B,8CAA8C;AAC9C,oCAAoC;AAEpC,mDAAmD;AACnD,kFAAkF;AAClF,wCAAwC;AACxC,yDAAyD;AACzD,qDAAqD;AACrD,wDAAwD;AACxD,YAAY;AACZ,QAAQ;AAER,qEAAqE;AACrE,4CAA4C;AAC5C,uBAAuB;AACvB,2CAA2C;AAC3C,6DAA6D;AAC7D,qDAAqD;AACrD,yDAAyD;AACzD,mEAAmE;AACnE,oBAAoB;AACpB,gBAAgB;AAChB,YAAY;AACZ,QAAQ;AAER,sCAAsC;AACtC,IAAI;AACJ,MAAM,UAAU,eAAe,CAAC,QAA2B;IAUvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iEAAiE;IACjE,MAAM,SAAS,GAA6C,KAAK,CAAC,IAAI,CAClE,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,GAA4B,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAA4B,CAClC,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAW,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,GAAW,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACrC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAe,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,MAAM,GAAmB,eAAe,CAAC,UAAU,CAAC,CAAC;IAEzD,sBAAsB;IACtB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;IAED,yCAAyC;IACzC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,kGAAkG;IAClG,8BAA8B;IAC9B,0FAA0F;IAC1F,wFAAwF;IACxF,QAAQ;IACR,wCAAwC;IACxC,IAAI;IAEJ,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAmD,EAAE,MAAsB;IACxG,4CAA4C;IAC5C,MAAM,UAAU,GAAa,SAAS,CAAC,OAAO,CAAC,CAAC,CAA0B,EAAE,CAAS,EAAY,EAAE,CAC/F,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAU,EAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAE,CAAC,CAAC,CAAE,CAAC,CACjE,CAAC;IAEF,+BAA+B;IAC/B,MAAM,UAAU,GAAa,UAAU,CAAC,GAAG,CAAC,CAAC,CAAS,EAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,SAAS,GAAwB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjE,mBAAmB;IACnB,MAAM,QAAQ,GAAW,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAElD,UAAU;IACV,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CAAC,QAAoB;IACzC,IAAI,CAAC,GAAW,CAAC,CAAC;IAClB,MAAM,GAAG,GAAW,QAAQ,CAAC,MAAM,CAAC;IACpC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAClG,CAAC,GAAG,SAAS,CAAC;QAEd,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,SAAS;QACb,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAW,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,CAAC;YACjH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC,IAAI,CAAC,CAAC;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACnD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,iBAAiB;QACpF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAE/B,iDAAiD;QACjD,MAAM,MAAM,GAAW,uBAAuB,CAAC,MAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAExE,6BAA6B;QAC7B,MAAM,cAAc,GAAW,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE5D,+BAA+B;QAC/B,MAAM,WAAW,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAElF,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,sBAAsB,CAC3B,MAAkB,EAClB,MAAc,EACd,GAAW;IAOX,IAAI,CAAC,GAAG,MAAM,CAAC;IAEf,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,CAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,IAAI,YAAY,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,CAAC;YAChG,CAAC,IAAI,CAAC,CAAC;YAEP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,4BAA4B;gBAC5B,4BAA4B;gBAC5B,qBAAqB;gBAErB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,8BAA8B;gBAC7D,IAAI,KAAK,YAAY,CAAC;gBACtB,CAAC,EAAE,CAAC;YACR,CAAC;QACL,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,CAAC;QACzG,CAAC,IAAI,CAAC,CAAC;QAEP,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;SAAM,CAAC;QACJ,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAClE,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAgB,EAAE,WAAmB;IAClE,MAAM,UAAU,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC,0BAA0B;IACpE,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAW,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;IAE7C,4BAA4B;IAC5B,4BAA4B;IAC5B,oDAAoD;IACpD,uDAAuD;IACvD,gCAAgC;IAChC,mEAAmE;IACnE,uDAAuD;IACvD,mDAAmD;IACnD,YAAY;IACZ,sBAAsB;IACtB,QAAQ;IACR,IAAI;IACJ,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC;QAChC,KAAK,CAAC,SAAS,CAAE,IAAI,GAAG,IAAI,SAAS,CAAC;QACtC,IAAI,SAAS,GAAG,YAAY,GAAG,EAAE,EAAE,CAAC;YAChC,4BAA4B;YAC5B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAE,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,QAAQ,IAAI,YAAY,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACrB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,MAAM,GAAwB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9C,4BAA4B;IAC5B,MAAM,MAAM,GAAwB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,4BAA4B;AAE5B,mFAAmF;AACnF,YAAY;AACZ,mFAAmF;AAEnF,mBAAmB;AAEnB;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,AAAD,EAAG,AAAD,EAAG,SAAS,EAAE,WAAW,CAAU,CAAC;AAEpG;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,eAAe;IACf,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,QAAQ;IACR,cAAc;IACd,sBAAsB;IACtB,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,aAAa;IACb,WAAW;IACX,cAAc;IACd,oCAAoC;IACpC,qBAAqB;IACrB,cAAc;IACd,oBAAoB;IACpB,eAAe;IACf,aAAa,EAAE,iGAAiG;IAChH,UAAU;IACV,iBAAiB;IACjB,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,QAAQ;IACR,cAAc;IACd,aAAa;IACb,QAAQ;IACR,KAAK;IACL,SAAS;IACT,aAAa;IACb,mBAAmB;IACnB,aAAa;IACb,iBAAiB;IACjB,YAAY;IACZ,WAAW;IACX,oBAAoB;IACpB,WAAW;IACX,WAAW;IACX,mBAAmB;IACnB,8BAA8B;IAC9B,mBAAmB;IACnB,UAAU;IACV,cAAc;IACd,uBAAuB;IACvB,QAAQ;IACR,SAAS;CACH,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC;;OAEG;IACH,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,SAAS;QACrB,KAAK,CAAC,IAAY;YACd,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO;gBACH,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE;oBACH,SAAS,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACH,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCACnC,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,GAAG;6BACb,CAAC,CAAC;yBACN;qBACJ;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACH,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,MAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAsB,EAAiF,EAAE,CAAC,CAAC;gCAClI,MAAM,EAAE;oCACJ,IAAI,EAAE,MAAM;oCACZ,KAAK,EAAE,QAAQ,CAAC,MAAM;wCAClB,CAAC,CAAC;4CACI,IAAI,EAAE,KAAK;4CACX,KAAK,EAAE,QAAQ,CAAC,MAAM;yCACzB;wCACH,CAAC,CAAE;4CACG,IAAI,EAAE,KAAK;4CACX,KAAK,EAAE,EAAE;yCACJ;iCAClB;gCACD,OAAO,EAAE;oCACL,IAAI,EAAE,MAAM;oCACZ,KAAK,EAAE;wCACH,IAAI,EAAE,KAAK;wCACX,KAAK,EAAE,QAAQ,CAAC,OAAO;qCAC1B;iCACJ;6BACJ,CAAC,CAAC;yBACN;qBACJ;iBACJ;aACJ,CAAC;QACN,CAAC;QACD,SAAS,CAAC,IAAsC;YAC5C,OAAO,gBAAgB,CACnB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAuC,EAAY,EAAE,CAAC,GAAG,CAAC,KAAK,CAAQ,EAC7G,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAC7B,CAAC,QAAuF,EAAgB,EAAE,CAAC,CAAC;gBACxG,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;gBACrC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK;aACpF,CAAC,CACL,CACJ,CAAC;QACN,CAAC;KACJ;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAC/D;;;;OAIG;IACH,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3B;;OAEG;IACH,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACjC,cAAc,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,SAAS;QACrB,KAAK,CAAC,KAAK,CAAC,IAAY;YACpB,IAAI,aAAa,GAAW,CAAC,CAAC;YAC9B,MAAM,MAAM,GAA6D,EAAE,CAAC;YAC5E;;;;eAIG;YACH,MAAM,OAAO,GAAgB,IAAI,CAAC,aAAa,EAAE,CAAS,CAAC;YAC3D,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;YACnG;;eAEG;YACH,IAAI,gBAAgB,GAAW,IAAI,CAAC,aAAa,EAAE,CAAE,CAAC;YACtD,MAAM,aAAa,GAAuB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,KAAK,IAAI,UAAU,GAAW,CAAC,EAAE,UAAU,GAAG,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC;gBAC3E,MAAM,cAAc,GAAW,IAAI,CAAC,aAAa,CAAE,CAAC;gBACpD,aAAa,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAW,cAAc,IAAI,CAAC,CAAC;gBACjD,MAAM,aAAa,GAAW,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;gBACxD,MAAM,eAAe,GAAW,aAAa,CAAC;gBAC9C,IAAI,aAAa,GAAW,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC;gBAC1D,IAAI,KAAK,GAAW,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC9E,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC7C,sBAAsB;gBACtB,eAAe;gBACf,kBAAkB;gBAClB,sBAAsB;gBACtB,oBAAoB;gBACpB,qBAAqB;gBACrB,eAAe;gBACf,uBAAuB;gBACvB,qBAAqB;gBACrB,aAAa;gBACb,oBAAoB;gBACpB,kBAAkB;gBAClB,KAAK;gBACL,MAAM,OAAO,GAET,EAAE,CAAC;gBACP,KAAK,IAAI,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,0BAA0B;oBAC1B,mEAAmE;oBACnE,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAItE,CAAC;oBACF,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;oBAChC,uBAAuB;oBACvB,yDAAyD;gBAC7D,CAAC;gBACD,aAAa,GAAG,aAAa,CAAC;gBAC9B,MAAM,aAAa,GAAa,EAAE,CAAC;gBACnC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAW,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/F,MAAM,QAAQ,GAAW,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvG,8FAA8F;oBAC9F,yHAAyH;oBACzH;;;;yBAIK;oBACL,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;oBACxC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;iBAChF,CAAC,CAAC;YACP,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,GAAG,CAAC,IAAI,CAAc,OAAO,CAAC;gBACvC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACtC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACjD,GAAG,CAAC,OAAO,IAAI,IAAI;oBACf,CAAC,CAAC;wBACI,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,aAAc,CAAC;qBAC1C;oBACH,CAAC,CAAC,EAAE,CAAC;aACyD,CAAC,CAAC;QAC5E,CAAC;QACD,SAAS,CAAC,IAA8C;YACpD,MAAM,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;gBACxB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK;gBAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACjF,CAAC,CAAC;YACH,MAAM,YAAY,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAA6D,EAAU,EAAE;gBACvI,MAAM,YAAY,GAAW,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAW,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;gBACxD,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,kBAAkB,GAAW,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBACvG,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;gBAClC,MAAM,mBAAmB,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpD,WAAW,CAAC,mBAAmB,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC7E,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;gBACnC,MAAM,WAAW,GAAmB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAmB,CAAC,IAAI,CACvF,CAAC,CAAc,EAAE,CAAc,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CACpE,CAAC;gBACF,KAAK,IAAI,YAAY,GAAW,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC;oBACnF,MAAM,KAAK,GAAoC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAE,CAAE,CAAC;oBAChG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;QACpD,CAAC;KACJ;IACD;;OAEG;IACH,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACvB,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC7B;;OAEG;IACH,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACzC;;OAEG;IACH,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACtE;;OAEG;IACH,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACnC;;OAEG;IACH,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACjC,iBAAiB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAClC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5B;;OAEG;IACH,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC9B;;OAEG;IACH,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACjC;;OAEG;IACH,kCAAkC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACvD;;OAEG;IACH,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACxC;;OAEG;IACH,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACjC;;OAEG;IACH,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACvC;;OAEG;IACH,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACrE,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3B,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACvB,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IAC1C;;OAEG;IACH,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3B,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACpB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACxB,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5B,iBAAiB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAClC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5B,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;IAClC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1B,kBAAkB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACnC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACzB;;OAEG;IACH,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAChC,iBAAiB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAClC;;OAEG;IACH,4BAA4B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACjD;;OAEG;IACH,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACtC;;OAEG;IACH,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC1C;;OAEG;IACH,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAG/B,CAAC;AAqkBF,kBAAkB;AAElB,mFAAmF;AACnF,YAAY;AACZ,mFAAmF;AAEnF,mBAAmB;AAEnB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,KAAa,EAAE,MAAmB,EAAE,SAAkB,KAAK,EAAE,SAAiB,CAAC;IAChI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,UAAU,CAAC,gCAAgC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,6DAA6D,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,MAAM,GAAW,EAAE,CAAC;IAExB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,KAAK,IAAI,CAAC,GAAW,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,OAAO,GAAW,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAgBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAc,EACd,KAAa,EACb,KAAa,EACb,MAAmB,EACnB,SAAkB,KAAK,EACvB,SAAiB,CAAC,EAClB,OAAqC;IAErC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,UAAU,CAAC,gCAAgC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,2DAA2D,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,OAAO,GAAW,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAW,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACjD,MAAM,SAAS,GAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,SAAS,GAAW,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAEtD,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,KAAK,GAAG,SAAS,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACzC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAChB,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,UAAU,CAAC,iCAAiC,KAAK,QAAQ,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QACD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACb,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC;QAC3B,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;YACpC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAChB,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,UAAU,CAAC,mCAAmC,KAAK,QAAQ,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAW,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,QAAQ;SACV,UAAU,CAAC,6BAA6B,EAAE,kEAAkE,CAAC,EAAE,CAAC;SAChH,UAAU,CAAC,6BAA6B,EAAE,CAAC,SAAiB,EAAU,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;AACjH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,SAAiB,EAAU,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClI,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACjD,OAAO;QACH,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG;QACrB,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG;QACrB,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG;KACxB,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACnD,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAAc;IACpD,IAAI,MAAM,GAAW,CAAC,CAAC;IACvB,sDAAsD;IACtD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,oEAAoE;QACpE,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,MAAc,EAAE,KAAa;IACrE,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACnD,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,CAA6B,EAAE,IAAY;IAC3E,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,IAAI,KAAK,GAAW,GAAG,CAAC;IAExB,OAAO,KAAK,IAAI,GAAG,EAAE,CAAC;QAClB,MAAM,GAAG,GAAW,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1B,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,eAAuB,EAAE,aAAuB,EAAE,YAAoB,EAAE,aAAqB;IAC3I,MAAM,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;IAE1E,KAAK,IAAI,SAAS,GAAW,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC;QACjE,IAAI,OAAO,GAAW,CAAC,CAAC;QAExB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAW,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;YACzD,IAAI,UAAU,IAAI,aAAa,CAAC,MAAM;gBAAE,MAAM;YAE9C,MAAM,QAAQ,GAAW,aAAa,CAAC,UAAU,CAAE,CAAC;YACpD,MAAM,WAAW,GAAW,CAAC,GAAG,YAAY,CAAC;YAC7C,OAAO,IAAI,QAAQ,CAAC,kCAAkC,IAAI,WAAW,CAAC;QAC1E,CAAC;QAED,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,OAAO;QACH,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QACtB,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW;QACvG,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IACzC,MAAM,WAAW,GAAuB,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACrE,QAAQ,WAAW,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,gBAAgB,CAAC;QACtB,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,gBAAgB,CAAC;QACtB,KAAK,cAAc,CAAC;QACpB,KAAK,mBAAmB,CAAC;QACzB,KAAK,aAAa,CAAC;QACnB,KAAK,WAAW,CAAC;QACjB,KAAK,cAAc,CAAC;QACpB,KAAK,oCAAoC,CAAC;QAC1C,KAAK,qBAAqB,CAAC;QAC3B,KAAK,cAAc,CAAC;QACpB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,MAAM,OAAO,GAAuD,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GACjD,eAAe,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EACxF,IAAI,WAAW,EAAE,CAAC;QACtB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAsB,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,OAAO,QAAQ,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,OAAO,eAAe,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACjG,CAAC;QACD,KAAK,oBAAoB,CAAC;QAC1B,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,mBAAmB,CAAC;QACzB,KAAK,iBAAiB,CAAC;QACvB,KAAK,uBAAuB,CAAC;QAC7B,KAAK,8BAA8B,CAAC;QACpC,KAAK,UAAU,CAAC;QAChB,KAAK,KAAK,CAAC;QACX,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB,CAAC;QACzB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,mBAAmB,CAAC;QACzB,KAAK,aAAa,CAAC;QACnB,KAAK,iBAAiB,CAAC;QACvB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,SAAS,CAAC;QACf;YACI,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;IAC/C,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,KAAK,IAAI;gBACL,OAAO,QAAQ,CAAC;YACpB,KAAK,IAAI;gBACL,OAAO,SAAS,CAAC;YACrB,KAAK,IAAI;gBACL,OAAO,QAAQ,CAAC;YACpB,KAAK,IAAI;gBACL,OAAO,cAAc,CAAC;YAC1B,KAAK,IAAI;gBACL,OAAO,gBAAgB,CAAC;YAC5B,KAAK,IAAI;gBACL,OAAO,eAAe,CAAC;YAC3B,KAAK,IAAI;gBACL,OAAO,aAAa,CAAC;YACzB,KAAK,IAAI;gBACL,OAAO,QAAQ,CAAC;YACpB,KAAK,IAAI;gBACL,OAAO,cAAc,CAAC;YAC1B,KAAK,IAAI;gBACL,OAAO,sBAAsB,CAAC;YAClC,KAAK,IAAI;gBACL,OAAO,YAAY,CAAC;YACxB,KAAK,IAAI;gBACL,OAAO,gBAAgB,CAAC;YAC5B,KAAK,IAAI;gBACL,OAAO,gBAAgB,CAAC;YAC5B,KAAK,IAAI;gBACL,OAAO,cAAc,CAAC;YAC1B,KAAK,IAAI;gBACL,OAAO,mBAAmB,CAAC;YAC/B,KAAK,IAAI;gBACL,OAAO,aAAa,CAAC;YACzB,KAAK,IAAI;gBACL,OAAO,WAAW,CAAC;YACvB,KAAK,IAAI;gBACL,OAAO,cAAc,CAAC;YAC1B,KAAK,IAAI;gBACL,OAAO,oCAAoC,CAAC;YAChD,KAAK,IAAI;gBACL,OAAO,qBAAqB,CAAC;YACjC,KAAK,IAAI;gBACL,OAAO,cAAc,CAAC;YAC1B,KAAK,IAAI;gBACL,OAAO,oBAAoB,CAAC;YAChC,KAAK,IAAI;gBACL,OAAO,eAAe,CAAC;YAC3B,KAAK,IAAI;gBACL,OAAO,aAAa,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAW,GAAG,CAAC,QAAQ,EAAE,CAAC;IACzC,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,eAAe;YAChB,OAAO,QAAQ,CAAC;QACpB,KAAK,sBAAsB;YACvB,OAAO,iBAAiB,CAAC;QAC7B,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACT,OAAO,WAAW,CAAC;QACvB,KAAK,WAAW;YACZ,OAAO,WAAW,CAAC;QACvB,KAAK,WAAW;YACZ,OAAO,WAAW,CAAC;QACvB,KAAK,oBAAoB;YACrB,OAAO,oBAAoB,CAAC;QAChC,KAAK,YAAY;YACb,OAAO,YAAY,CAAC;QACxB,KAAK,aAAa;YACd,OAAO,aAAa,CAAC;QACzB,KAAK,SAAS;YACV,OAAO,SAAS,CAAC;QACrB,KAAK,mBAAmB;YACpB,OAAO,mBAAmB,CAAC;QAC/B,KAAK,8BAA8B;YAC/B,OAAO,8BAA8B,CAAC;QAC1C,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,iCAAiC;YAClC,OAAO,uBAAuB,CAAC;IACvC,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC;YACpC,OAAO,aAAa,CAAC;QACzB,KAAK,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC;YAC1C,OAAO,mBAAmB,CAAC;QAC/B,KAAK,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC;YACpC,OAAO,aAAa,CAAC;QACzB,KAAK,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAChC,OAAO,SAAS,CAAC;QACrB,KAAK,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7B,OAAO,KAAK,CAAC;QACjB,KAAK,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACvC,OAAO,QAAQ,CAAC;QACpB,KAAK,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAChC,OAAO,cAAc,CAAC;QAC1B,KAAK,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7B,OAAO,QAAQ,CAAC;QACpB,KAAK,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAC3C,OAAO,mBAAmB,CAAC;QAC/B,KAAK,wHAAwH,CAAC,IAAI,CAAC,SAAS,CAAC;YACzI,OAAO,YAAY,CAAC;QACxB,KAAK,yHAAyH,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1I,OAAO,aAAa,CAAC;QACzB,KAAK,6HAA6H,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9I,OAAO,iBAAiB,CAAC;QAC7B,KAAK,4HAA4H,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7I,OAAO,gBAAgB,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU;IACzC,OAAQ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAA6C,CAAC,IAAI,CACnF,CAAC,GAAwC,EAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CACvF,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAyC;IACxE,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,2FAA2F;AAC3F,MAAM;AACN,+DAA+D;AAC/D,KAAK;AACL,6FAA6F;AAC7F,KAAK;AACL,wCAAwC;AACxC,6CAA6C;AAC7C,MAAM;AACN,kDAAkD;AAClD,+BAA+B;AAC/B,gDAAgD;AAEhD,+CAA+C;AAC/C,qDAAqD;AAErD,0CAA0C;AAC1C,0DAA0D;AAE1D,wCAAwC;AACxC,sDAAsD;AAEtD,2BAA2B;AAC3B,IAAI;AAEJ,MAAM;AACN,+DAA+D;AAC/D,KAAK;AACL,6FAA6F;AAC7F,KAAK;AACL,0CAA0C;AAC1C,2CAA2C;AAC3C,MAAM;AAEN,qDAAqD;AACrD,kCAAkC;AAClC,yCAAyC;AAEzC,uBAAuB;AACvB,6DAA6D;AAE7D,yCAAyC;AACzC,wCAAwC;AAExC,uEAAuE;AACvE,0EAA0E;AAE1E,sCAAsC;AACtC,IAAI;AAEJ,sBAAsB;AAEtB,mFAAmF;AACnF,UAAU;AACV,mFAAmF;AAEnF,iBAAiB;AAEjB;;GAEG;AACH,MAAM,OAAO,SAAS;IACX,MAAM,CAyBG;IAChB,YAAmB,OAAyC;QACxD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IACD;;OAEG;IACI,UAAU,CAAC,IAAa,EAAE,EAAW,EAAE,KAAsC;QAChF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,WAAW;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,MAAM,CAAC,GAAY,EAAE,GAAY;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,MAAM,CAAC,GAAY,EAAE,GAAY;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,IAAI,CAAC,GAAY,EAAE,GAAY;QAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,KAAK,CAAC,KAAuB;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,MAAM,CAAC,KAAyB,EAAE,OAAwB,GAAG;QAChE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,MAAM,CAAC,IAAqB;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,gBAAgB,CAAC,IAAa,EAAE,EAAW;QAC9C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,cAAc,CAAC,IAAa,EAAE,EAAW;QAC5C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,kBAAkB,CAAC,MAAe,EAAE,IAA0B,EAAE,UAA8C,EAAE;QACnH,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACM,mBAAmB;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CACJ;AAcD,oBAAoB"}
1
+ {"version":3,"file":"LevelUtils.js","sourceRoot":"","sources":["LevelUtils.ts"],"names":[],"mappings":"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"}