@mdzip/core-js 1.2.6 → 1.3.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.
@@ -262,6 +262,26 @@ export interface MdzArchiveMutationResult {
262
262
  /** Archive file paths present after mutation. */
263
263
  archivePaths: string[];
264
264
  }
265
+ /**
266
+ * One file write applied by {@link MdzArchiveCore.updateFiles}.
267
+ */
268
+ export interface MdzArchiveWriteSpec {
269
+ /** Archive-relative entry path. Replaces any existing entry with the same path (case-insensitive). */
270
+ path: string;
271
+ /** Entry content. Strings are written as UTF-8 text with normalized line endings for text files. */
272
+ content: MdzArchiveMutationInput;
273
+ }
274
+ /**
275
+ * Controls for {@link MdzArchiveCore.updateFiles}.
276
+ */
277
+ export interface MdzUpdateFilesOptions {
278
+ /**
279
+ * Replacement manifest object written as `manifest.json` (validated and
280
+ * timestamp-stamped). When omitted, the archive's existing manifest is
281
+ * refreshed in place. Ignored when `writes` already targets `manifest.json`.
282
+ */
283
+ manifest?: MdzManifest | null;
284
+ }
265
285
  /**
266
286
  * Controls archive path/entry listing output.
267
287
  */
@@ -279,6 +299,8 @@ export interface MdzArchiveListOptions {
279
299
  export interface MdzArchiveEntryInfo {
280
300
  /** Archive-relative path. */
281
301
  path: string;
302
+ /** Uncompressed entry size when available from ZIP metadata. */
303
+ byteSize?: number;
282
304
  /** True when entry extension is Markdown. */
283
305
  isMarkdown: boolean;
284
306
  /** True when entry extension is known image type. */
@@ -339,6 +361,13 @@ export interface MdzOpenWorkspaceOptions {
339
361
  orphanedAssetScanMode?: 'entrypoint' | 'all-markdown';
340
362
  /** Include lazy `readBytes` and `readDataUri` functions on assets. Defaults to `true`. */
341
363
  includeLazyAssetReaders?: boolean;
364
+ /**
365
+ * When `true`, non-entry-point documents are opened with `text = ''` and a
366
+ * `readText` lazy reader instead of being read eagerly. The entry-point document
367
+ * is always read eagerly so the initial view renders without a round-trip.
368
+ * Defaults to `false`.
369
+ */
370
+ includeLazyDocumentReaders?: boolean;
342
371
  }
343
372
  /**
344
373
  * One Markdown document in an opened workspace.
@@ -348,10 +377,28 @@ export interface MdzWorkspaceDocument {
348
377
  path: string;
349
378
  /** Human-readable title for app navigation. */
350
379
  title: string;
351
- /** UTF-8 Markdown source text. */
380
+ /**
381
+ * UTF-8 Markdown source text. Empty string when `includeLazyDocumentReaders`
382
+ * was enabled and this document has not yet been read — call `readText()` first.
383
+ */
352
384
  text: string;
353
385
  /** True when this document is the resolved archive entry point. */
354
386
  isEntryPoint: boolean;
387
+ /**
388
+ * Present only when `includeLazyDocumentReaders` is enabled and the document
389
+ * text has not yet been read eagerly. Consumers should populate `text` from the
390
+ * result and delete this function so subsequent reads are served from memory.
391
+ */
392
+ readText?: () => Promise<string>;
393
+ /**
394
+ * True when the document was opened lazily and `text` has not been
395
+ * materialized yet. Unlike `readText`, this flag survives serialization
396
+ * boundaries (structured clone, JSON, `postMessage`), so the far side can
397
+ * distinguish a dropped `readText` closure from a genuinely empty document.
398
+ * Consumers that materialize `text` should clear this flag together with
399
+ * `readText`.
400
+ */
401
+ isLazy?: boolean;
355
402
  }
356
403
  /**
357
404
  * One non-Markdown, non-manifest asset in an opened workspace.
@@ -468,6 +515,7 @@ export declare const MDZ_IMAGE_MIME_TYPES: Record<string, string>;
468
515
  */
469
516
  export declare class MdzArchiveCore {
470
517
  private readonly zip;
518
+ private readonly entryByteSizes;
471
519
  /**
472
520
  * Public image MIME map for consumers.
473
521
  */
@@ -483,7 +531,7 @@ export declare class MdzArchiveCore {
483
531
  *
484
532
  * @param zip - Loaded zip-like structure containing archive entries.
485
533
  */
486
- constructor(zip: ZipLike);
534
+ constructor(zip: ZipLike, entryByteSizes?: Map<string, number>);
487
535
  /**
488
536
  * Opens archive binary data and returns a core archive instance.
489
537
  *
@@ -524,6 +572,45 @@ export declare class MdzArchiveCore {
524
572
  * @param archiveEntryPaths - Archive-relative paths to remove.
525
573
  */
526
574
  static removeFiles(input: MdzCoreArchiveBinary, archiveEntryPaths: string[]): Promise<MdzArchiveMutationResult>;
575
+ /**
576
+ * Applies multiple entry writes and removals in one mutation, patching the
577
+ * archive at the byte level.
578
+ *
579
+ * Unchanged entries are copied verbatim — their compressed data is never
580
+ * decompressed or recompressed — so mutations cost milliseconds instead of
581
+ * many seconds on a 100MB+ archive. Only new or replaced entries are
582
+ * compressed. {@link addFile}, {@link removeFile}, and {@link removeFiles}
583
+ * delegate here. Falls back to a full JSZip rebuild when the source archive
584
+ * uses features the patcher does not support (ZIP64, encryption, non-UTF-8
585
+ * names).
586
+ *
587
+ * Matches the semantics of the single-entry mutation helpers: paths are
588
+ * validated, removals must exist, entry-point integrity is enforced, and the
589
+ * manifest (existing or provided via `options.manifest`) is refreshed and
590
+ * rewritten.
591
+ *
592
+ * @param input - Existing archive bytes.
593
+ * @param writes - Entries to add or replace.
594
+ * @param removals - Entry paths to remove.
595
+ * @param options - Manifest override controls.
596
+ */
597
+ static updateFiles(input: MdzCoreArchiveBinary, writes: MdzArchiveWriteSpec[], removals?: string[], options?: MdzUpdateFilesOptions): Promise<MdzArchiveMutationResult>;
598
+ private static readArchiveInputBytes;
599
+ /**
600
+ * Rewrites archive bytes by copying unchanged entries' raw compressed data
601
+ * and appending freshly compressed data for written entries.
602
+ *
603
+ * Throws `ERR_ZIP_UNSUPPORTED` for archives the copier cannot handle
604
+ * losslessly: ZIP64, encrypted entries, multi-disk archives, and non-UTF-8
605
+ * entry names.
606
+ */
607
+ private static patchArchiveBytes;
608
+ private static parseRawZipEntries;
609
+ private static isStoredAssetPath;
610
+ private static deflateRawBytes;
611
+ private static crc32Table;
612
+ private static crc32;
613
+ private static toDosDateTime;
527
614
  /**
528
615
  * Finds orphaned image assets in an archive.
529
616
  *
@@ -840,6 +927,12 @@ export declare class MdzPackagerCore {
840
927
  /**
841
928
  * Builds an `.mdz` archive from a normalized workspace.
842
929
  *
930
+ * Documents opened lazily (`includeLazyDocumentReaders`) are resolved via
931
+ * their `readText()` reader before packing, so unopened documents keep their
932
+ * content. Throws `ERR_LAZY_TEXT_UNAVAILABLE` when a lazy document has empty
933
+ * `text` and no `readText` reader (e.g. the closure was dropped by a
934
+ * serialization boundary), instead of silently writing an empty file.
935
+ *
843
936
  * @param workspace - Workspace model.
844
937
  * @param options - Build controls and metadata overrides.
845
938
  * @param zipWriterFactory - Optional custom zip writer.
@@ -1 +1 @@
1
- {"version":3,"file":"mdz-core.d.ts","sourceRoot":"","sources":["../src/mdz-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mdz-core.d.ts","sourceRoot":"","sources":["../src/mdz-core.ts"],"names":[],"mappings":"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"}
package/dist/mdz-core.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import JSZip from '@progress/jszip-esm';
2
2
  const PRODUCER_SPEC_VERSION = '1.1.0';
3
- const CORE_LIBRARY_VERSION = '1.2.0';
3
+ // Must match package.json "version" — guarded by a unit test.
4
+ const CORE_LIBRARY_VERSION = '1.3.1';
4
5
  const CORE_LIBRARY_URL = 'https://github.com/mdzip-project/mdzip-core-js';
5
6
  /**
6
7
  * Extension-to-MIME map for common image assets in MDZip archives.
@@ -20,6 +21,7 @@ export const MDZ_IMAGE_MIME_TYPES = {
20
21
  */
21
22
  export class MdzArchiveCore {
22
23
  zip;
24
+ entryByteSizes;
23
25
  /**
24
26
  * Public image MIME map for consumers.
25
27
  */
@@ -35,8 +37,9 @@ export class MdzArchiveCore {
35
37
  *
36
38
  * @param zip - Loaded zip-like structure containing archive entries.
37
39
  */
38
- constructor(zip) {
40
+ constructor(zip, entryByteSizes = new Map()) {
39
41
  this.zip = zip;
42
+ this.entryByteSizes = entryByteSizes;
40
43
  }
41
44
  /**
42
45
  * Opens archive binary data and returns a core archive instance.
@@ -46,8 +49,25 @@ export class MdzArchiveCore {
46
49
  */
47
50
  static async open(input, zipFactory) {
48
51
  const factory = zipFactory ?? MdzArchiveCore.getDefaultZipFactory();
49
- const zip = await factory.loadAsync(input);
50
- return new MdzArchiveCore(zip);
52
+ if (zipFactory) {
53
+ return new MdzArchiveCore(await factory.loadAsync(input));
54
+ }
55
+ const bytes = await MdzArchiveCore.readArchiveInputBytes(input);
56
+ const zip = await factory.loadAsync(bytes);
57
+ const entryByteSizes = new Map();
58
+ try {
59
+ for (const entry of MdzArchiveCore.parseRawZipEntries(bytes)) {
60
+ entryByteSizes.set(entry.name.toLowerCase(), entry.uncompressedSize);
61
+ }
62
+ }
63
+ catch (error) {
64
+ if (!(error instanceof Error) || !error.message.startsWith('ERR_ZIP_UNSUPPORTED')) {
65
+ throw error;
66
+ }
67
+ // JSZip may support an archive feature the raw metadata reader does not.
68
+ // Keep opening it and fall back to reading bytes when size is requested.
69
+ }
70
+ return new MdzArchiveCore(zip, entryByteSizes);
51
71
  }
52
72
  /**
53
73
  * Convenience helper to open and validate an archive in one call.
@@ -69,38 +89,7 @@ export class MdzArchiveCore {
69
89
  * @param content - New entry content.
70
90
  */
71
91
  static async addFile(input, archiveEntryPath, content) {
72
- const targetPath = MdzPackagerCore.normalizePath(archiveEntryPath);
73
- const pathError = MdzArchiveCore.validateArchivePath(targetPath);
74
- if (pathError) {
75
- throw new Error(`ERR_PATH_INVALID: ${pathError}`);
76
- }
77
- const zip = await MdzArchiveCore.loadZip(input);
78
- const targetLower = targetPath.toLowerCase();
79
- const archivePaths = MdzArchiveCore.getArchivePaths(zip);
80
- const nextArchivePaths = archivePaths.filter((p) => p.toLowerCase() !== targetLower);
81
- nextArchivePaths.push(targetPath);
82
- if (targetLower === 'manifest.json') {
83
- const replacement = await MdzArchiveCore.parseManifestObjectContent(content, true);
84
- const preparedManifest = MdzArchiveCore.stampManifestObject(replacement, true);
85
- MdzArchiveCore.validateManifest(preparedManifest);
86
- MdzArchiveCore.ensureCreatableEntryPoint(nextArchivePaths, preparedManifest);
87
- MdzArchiveCore.removeEntryIgnoreCase(zip, targetPath);
88
- zip.file('manifest.json', MdzArchiveCore.normaliseLf(JSON.stringify(preparedManifest, null, 2)));
89
- return MdzArchiveCore.finalizeMutation(zip);
90
- }
91
- const existingManifestObject = await MdzArchiveCore.readExistingManifestObject(zip, true);
92
- if (existingManifestObject) {
93
- MdzArchiveCore.validateManifest(existingManifestObject);
94
- }
95
- MdzArchiveCore.ensureCreatableEntryPoint(nextArchivePaths, existingManifestObject);
96
- MdzArchiveCore.removeEntryIgnoreCase(zip, targetPath);
97
- await MdzArchiveCore.writeZipEntry(zip, targetPath, content);
98
- if (existingManifestObject) {
99
- const refreshed = MdzArchiveCore.stampManifestObject(existingManifestObject, false);
100
- MdzArchiveCore.removeEntryIgnoreCase(zip, 'manifest.json');
101
- zip.file('manifest.json', MdzArchiveCore.normaliseLf(JSON.stringify(refreshed, null, 2)));
102
- }
103
- return MdzArchiveCore.finalizeMutation(zip);
92
+ return MdzArchiveCore.updateFiles(input, [{ path: archiveEntryPath, content }]);
104
93
  }
105
94
  /**
106
95
  * Removes an archive entry and returns a newly generated archive blob.
@@ -111,31 +100,7 @@ export class MdzArchiveCore {
111
100
  * @param archiveEntryPath - Archive-relative path to remove.
112
101
  */
113
102
  static async removeFile(input, archiveEntryPath) {
114
- const targetPath = MdzPackagerCore.normalizePath(archiveEntryPath);
115
- const pathError = MdzArchiveCore.validateArchivePath(targetPath);
116
- if (pathError) {
117
- throw new Error(`ERR_PATH_INVALID: ${pathError}`);
118
- }
119
- const zip = await MdzArchiveCore.loadZip(input);
120
- const targetLower = targetPath.toLowerCase();
121
- const archivePaths = MdzArchiveCore.getArchivePaths(zip);
122
- const exists = archivePaths.some((p) => p.toLowerCase() === targetLower);
123
- if (!exists) {
124
- throw new Error(`ERR_NOT_FOUND: Entry "${targetPath}" was not found in archive.`);
125
- }
126
- const nextArchivePaths = archivePaths.filter((p) => p.toLowerCase() !== targetLower);
127
- const existingManifestObject = targetLower === 'manifest.json' ? null : await MdzArchiveCore.readExistingManifestObject(zip, true);
128
- if (existingManifestObject) {
129
- MdzArchiveCore.validateManifest(existingManifestObject);
130
- }
131
- MdzArchiveCore.ensureCreatableEntryPoint(nextArchivePaths, existingManifestObject);
132
- MdzArchiveCore.removeEntryIgnoreCase(zip, targetPath);
133
- if (existingManifestObject) {
134
- const refreshed = MdzArchiveCore.stampManifestObject(existingManifestObject, false);
135
- MdzArchiveCore.removeEntryIgnoreCase(zip, 'manifest.json');
136
- zip.file('manifest.json', MdzArchiveCore.normaliseLf(JSON.stringify(refreshed, null, 2)));
137
- }
138
- return MdzArchiveCore.finalizeMutation(zip);
103
+ return MdzArchiveCore.updateFiles(input, [], [archiveEntryPath]);
139
104
  }
140
105
  /**
141
106
  * Removes multiple archive entries in one mutation operation.
@@ -144,42 +109,376 @@ export class MdzArchiveCore {
144
109
  * @param archiveEntryPaths - Archive-relative paths to remove.
145
110
  */
146
111
  static async removeFiles(input, archiveEntryPaths) {
147
- const targets = archiveEntryPaths.map((p) => {
148
- const normalized = MdzPackagerCore.normalizePath(p);
149
- const pathError = MdzArchiveCore.validateArchivePath(normalized);
112
+ return MdzArchiveCore.updateFiles(input, [], archiveEntryPaths);
113
+ }
114
+ /**
115
+ * Applies multiple entry writes and removals in one mutation, patching the
116
+ * archive at the byte level.
117
+ *
118
+ * Unchanged entries are copied verbatim — their compressed data is never
119
+ * decompressed or recompressed — so mutations cost milliseconds instead of
120
+ * many seconds on a 100MB+ archive. Only new or replaced entries are
121
+ * compressed. {@link addFile}, {@link removeFile}, and {@link removeFiles}
122
+ * delegate here. Falls back to a full JSZip rebuild when the source archive
123
+ * uses features the patcher does not support (ZIP64, encryption, non-UTF-8
124
+ * names).
125
+ *
126
+ * Matches the semantics of the single-entry mutation helpers: paths are
127
+ * validated, removals must exist, entry-point integrity is enforced, and the
128
+ * manifest (existing or provided via `options.manifest`) is refreshed and
129
+ * rewritten.
130
+ *
131
+ * @param input - Existing archive bytes.
132
+ * @param writes - Entries to add or replace.
133
+ * @param removals - Entry paths to remove.
134
+ * @param options - Manifest override controls.
135
+ */
136
+ static async updateFiles(input, writes, removals = [], options) {
137
+ const normalizedWrites = new Map();
138
+ for (const write of writes) {
139
+ const path = MdzPackagerCore.normalizePath(write.path);
140
+ const pathError = MdzArchiveCore.validateArchivePath(path);
150
141
  if (pathError) {
151
142
  throw new Error(`ERR_PATH_INVALID: ${pathError}`);
152
143
  }
153
- return normalized;
154
- });
155
- if (targets.length === 0) {
156
- const zip = await MdzArchiveCore.loadZip(input);
144
+ normalizedWrites.set(path.toLowerCase(), { path, content: write.content });
145
+ }
146
+ const normalizedRemovals = new Map();
147
+ for (const removal of removals) {
148
+ const path = MdzPackagerCore.normalizePath(removal);
149
+ const pathError = MdzArchiveCore.validateArchivePath(path);
150
+ if (pathError) {
151
+ throw new Error(`ERR_PATH_INVALID: ${pathError}`);
152
+ }
153
+ normalizedRemovals.delete(path.toLowerCase());
154
+ normalizedRemovals.set(path.toLowerCase(), path);
155
+ }
156
+ for (const lower of normalizedRemovals.keys()) {
157
+ normalizedWrites.delete(lower);
158
+ }
159
+ const sourceBytes = await MdzArchiveCore.readArchiveInputBytes(input);
160
+ const archive = await MdzArchiveCore.open(sourceBytes);
161
+ const existingPaths = archive.listPaths();
162
+ const existingLower = new Set(existingPaths.map((p) => p.toLowerCase()));
163
+ for (const [lower, path] of normalizedRemovals) {
164
+ if (!existingLower.has(lower)) {
165
+ throw new Error(`ERR_NOT_FOUND: Entry "${path.toLowerCase()}" was not found in archive.`);
166
+ }
167
+ }
168
+ // Resolve the manifest entry to write: explicit write > options.manifest > existing refresh.
169
+ const manifestWrite = normalizedWrites.get('manifest.json');
170
+ let manifestObject = null;
171
+ if (manifestWrite) {
172
+ manifestObject = MdzArchiveCore.stampManifestObject(await MdzArchiveCore.parseManifestObjectContent(manifestWrite.content, true), true);
173
+ }
174
+ else if (options?.manifest) {
175
+ manifestObject = MdzArchiveCore.stampManifestObject(options.manifest, false);
176
+ }
177
+ else if ((normalizedWrites.size > 0 || normalizedRemovals.size > 0)
178
+ && !normalizedRemovals.has('manifest.json')
179
+ && existingLower.has('manifest.json')) {
180
+ const existing = await archive.readManifest();
181
+ if (existing) {
182
+ manifestObject = MdzArchiveCore.stampManifestObject(existing, false);
183
+ }
184
+ }
185
+ if (manifestObject) {
186
+ MdzArchiveCore.validateManifest(manifestObject);
187
+ normalizedWrites.set('manifest.json', {
188
+ path: 'manifest.json',
189
+ content: MdzArchiveCore.normaliseLf(JSON.stringify(manifestObject, null, 2))
190
+ });
191
+ }
192
+ const nextPaths = [
193
+ ...existingPaths.filter((p) => !normalizedRemovals.has(p.toLowerCase()) && !normalizedWrites.has(p.toLowerCase())),
194
+ ...[...normalizedWrites.values()].map((w) => w.path)
195
+ ];
196
+ MdzArchiveCore.ensureCreatableEntryPoint(nextPaths, manifestObject);
197
+ let patchedBytes;
198
+ try {
199
+ patchedBytes = await MdzArchiveCore.patchArchiveBytes(sourceBytes, normalizedWrites, normalizedRemovals);
200
+ }
201
+ catch (error) {
202
+ if (!(error instanceof Error) || !error.message.startsWith('ERR_ZIP_UNSUPPORTED')) {
203
+ throw error;
204
+ }
205
+ // Source archive uses features the raw patcher cannot copy — rebuild via JSZip.
206
+ const zip = await MdzArchiveCore.loadZip(sourceBytes);
207
+ for (const path of normalizedRemovals.values()) {
208
+ MdzArchiveCore.removeEntryIgnoreCase(zip, path);
209
+ }
210
+ for (const write of normalizedWrites.values()) {
211
+ MdzArchiveCore.removeEntryIgnoreCase(zip, write.path);
212
+ await MdzArchiveCore.writeZipEntry(zip, write.path, write.content);
213
+ }
157
214
  return MdzArchiveCore.finalizeMutation(zip);
158
215
  }
159
- const zip = await MdzArchiveCore.loadZip(input);
160
- const targetSet = new Set(targets.map((p) => p.toLowerCase()));
161
- const archivePaths = MdzArchiveCore.getArchivePaths(zip);
162
- for (const target of targetSet) {
163
- if (!archivePaths.some((p) => p.toLowerCase() === target)) {
164
- throw new Error(`ERR_NOT_FOUND: Entry "${target}" was not found in archive.`);
216
+ const blob = new Blob([patchedBytes], { type: 'application/zip' });
217
+ const patched = await MdzArchiveCore.open(patchedBytes);
218
+ const manifest = await patched.readManifest();
219
+ const resolvedEntryPoint = await patched.resolveEntryPoint().catch(() => null);
220
+ return {
221
+ blob,
222
+ manifest,
223
+ resolvedEntryPoint,
224
+ archivePaths: patched.listPaths()
225
+ };
226
+ }
227
+ static async readArchiveInputBytes(input) {
228
+ if (input instanceof Uint8Array)
229
+ return input;
230
+ if (input instanceof ArrayBuffer)
231
+ return new Uint8Array(input);
232
+ return new Uint8Array(await input.arrayBuffer());
233
+ }
234
+ /**
235
+ * Rewrites archive bytes by copying unchanged entries' raw compressed data
236
+ * and appending freshly compressed data for written entries.
237
+ *
238
+ * Throws `ERR_ZIP_UNSUPPORTED` for archives the copier cannot handle
239
+ * losslessly: ZIP64, encrypted entries, multi-disk archives, and non-UTF-8
240
+ * entry names.
241
+ */
242
+ static async patchArchiveBytes(source, writes, removals) {
243
+ const entries = MdzArchiveCore.parseRawZipEntries(source);
244
+ const view = new DataView(source.buffer, source.byteOffset, source.byteLength);
245
+ const output = [];
246
+ for (const entry of entries) {
247
+ const lower = entry.name.toLowerCase();
248
+ if (removals.has(lower) || writes.has(lower)) {
249
+ continue;
250
+ }
251
+ if (entry.localOffset + 30 > source.length || view.getUint32(entry.localOffset, true) !== 0x04034b50) {
252
+ throw new Error(`ERR_ZIP_UNSUPPORTED: malformed local header for "${entry.name}"`);
253
+ }
254
+ const localNameLen = view.getUint16(entry.localOffset + 26, true);
255
+ const localExtraLen = view.getUint16(entry.localOffset + 28, true);
256
+ const dataStart = entry.localOffset + 30 + localNameLen + localExtraLen;
257
+ if (dataStart + entry.compressedSize > source.length) {
258
+ throw new Error(`ERR_ZIP_UNSUPPORTED: entry data out of bounds for "${entry.name}"`);
259
+ }
260
+ output.push({
261
+ nameBytes: entry.nameBytes,
262
+ // Clear bit 3 (trailing data descriptor): sizes are written in the header instead.
263
+ flags: entry.flags & ~0x0008,
264
+ method: entry.method,
265
+ time: entry.time,
266
+ date: entry.date,
267
+ crc: entry.crc,
268
+ compressedSize: entry.compressedSize,
269
+ uncompressedSize: entry.uncompressedSize,
270
+ versionMadeBy: entry.versionMadeBy,
271
+ versionNeeded: entry.versionNeeded,
272
+ intAttr: entry.intAttr,
273
+ extAttr: entry.extAttr,
274
+ data: source.subarray(dataStart, dataStart + entry.compressedSize),
275
+ localOffset: 0
276
+ });
277
+ }
278
+ const { time: dosTime, date: dosDate } = MdzArchiveCore.toDosDateTime(new Date());
279
+ for (const write of writes.values()) {
280
+ let bytes;
281
+ if (MdzArchiveCore.isTextFile(write.path)) {
282
+ const text = await MdzArchiveCore.readMutationInputAsText(write.content);
283
+ bytes = new TextEncoder().encode(MdzArchiveCore.normaliseLf(text));
284
+ }
285
+ else {
286
+ const binary = await MdzArchiveCore.readMutationInputAsBinary(write.content);
287
+ bytes = binary instanceof Uint8Array ? binary : new Uint8Array(binary);
288
+ }
289
+ // Mirror the packer policy: images are stored uncompressed; everything
290
+ // else is deflated when the platform provides CompressionStream.
291
+ let method = 0;
292
+ let data = bytes;
293
+ if (!MdzArchiveCore.isStoredAssetPath(write.path)) {
294
+ const deflated = await MdzArchiveCore.deflateRawBytes(bytes);
295
+ if (deflated && deflated.length < bytes.length) {
296
+ method = 8;
297
+ data = deflated;
298
+ }
299
+ }
300
+ output.push({
301
+ nameBytes: new TextEncoder().encode(write.path),
302
+ flags: 0x0800, // UTF-8 entry name
303
+ method,
304
+ time: dosTime,
305
+ date: dosDate,
306
+ crc: MdzArchiveCore.crc32(bytes),
307
+ compressedSize: data.length,
308
+ uncompressedSize: bytes.length,
309
+ versionMadeBy: 20,
310
+ versionNeeded: 20,
311
+ intAttr: 0,
312
+ extAttr: 0,
313
+ data,
314
+ localOffset: 0
315
+ });
316
+ }
317
+ let localSize = 0;
318
+ let centralSize = 0;
319
+ for (const entry of output) {
320
+ localSize += 30 + entry.nameBytes.length + entry.data.length;
321
+ centralSize += 46 + entry.nameBytes.length;
322
+ }
323
+ const out = new Uint8Array(localSize + centralSize + 22);
324
+ const outView = new DataView(out.buffer);
325
+ let cursor = 0;
326
+ for (const entry of output) {
327
+ entry.localOffset = cursor;
328
+ outView.setUint32(cursor, 0x04034b50, true);
329
+ outView.setUint16(cursor + 4, entry.versionNeeded, true);
330
+ outView.setUint16(cursor + 6, entry.flags, true);
331
+ outView.setUint16(cursor + 8, entry.method, true);
332
+ outView.setUint16(cursor + 10, entry.time, true);
333
+ outView.setUint16(cursor + 12, entry.date, true);
334
+ outView.setUint32(cursor + 14, entry.crc, true);
335
+ outView.setUint32(cursor + 18, entry.compressedSize, true);
336
+ outView.setUint32(cursor + 22, entry.uncompressedSize, true);
337
+ outView.setUint16(cursor + 26, entry.nameBytes.length, true);
338
+ outView.setUint16(cursor + 28, 0, true);
339
+ out.set(entry.nameBytes, cursor + 30);
340
+ out.set(entry.data, cursor + 30 + entry.nameBytes.length);
341
+ cursor += 30 + entry.nameBytes.length + entry.data.length;
342
+ }
343
+ const centralOffset = cursor;
344
+ for (const entry of output) {
345
+ outView.setUint32(cursor, 0x02014b50, true);
346
+ outView.setUint16(cursor + 4, entry.versionMadeBy, true);
347
+ outView.setUint16(cursor + 6, entry.versionNeeded, true);
348
+ outView.setUint16(cursor + 8, entry.flags, true);
349
+ outView.setUint16(cursor + 10, entry.method, true);
350
+ outView.setUint16(cursor + 12, entry.time, true);
351
+ outView.setUint16(cursor + 14, entry.date, true);
352
+ outView.setUint32(cursor + 16, entry.crc, true);
353
+ outView.setUint32(cursor + 20, entry.compressedSize, true);
354
+ outView.setUint32(cursor + 24, entry.uncompressedSize, true);
355
+ outView.setUint16(cursor + 28, entry.nameBytes.length, true);
356
+ outView.setUint16(cursor + 30, 0, true);
357
+ outView.setUint16(cursor + 32, 0, true);
358
+ outView.setUint16(cursor + 34, 0, true);
359
+ outView.setUint16(cursor + 36, entry.intAttr, true);
360
+ outView.setUint32(cursor + 38, entry.extAttr, true);
361
+ outView.setUint32(cursor + 42, entry.localOffset, true);
362
+ out.set(entry.nameBytes, cursor + 46);
363
+ cursor += 46 + entry.nameBytes.length;
364
+ }
365
+ outView.setUint32(cursor, 0x06054b50, true);
366
+ outView.setUint16(cursor + 4, 0, true);
367
+ outView.setUint16(cursor + 6, 0, true);
368
+ outView.setUint16(cursor + 8, output.length, true);
369
+ outView.setUint16(cursor + 10, output.length, true);
370
+ outView.setUint32(cursor + 12, centralSize, true);
371
+ outView.setUint32(cursor + 16, centralOffset, true);
372
+ outView.setUint16(cursor + 20, 0, true);
373
+ return out;
374
+ }
375
+ static parseRawZipEntries(source) {
376
+ const view = new DataView(source.buffer, source.byteOffset, source.byteLength);
377
+ let eocd = -1;
378
+ const scanEnd = Math.max(0, source.length - 22 - 0xffff);
379
+ for (let i = source.length - 22; i >= scanEnd; i--) {
380
+ if (source[i] === 0x50 && source[i + 1] === 0x4b && source[i + 2] === 0x05 && source[i + 3] === 0x06) {
381
+ eocd = i;
382
+ break;
383
+ }
384
+ }
385
+ if (eocd < 0) {
386
+ throw new Error('ERR_ZIP_UNSUPPORTED: end of central directory not found');
387
+ }
388
+ if (view.getUint16(eocd + 4, true) !== 0 || view.getUint16(eocd + 6, true) !== 0) {
389
+ throw new Error('ERR_ZIP_UNSUPPORTED: multi-disk archives are not supported');
390
+ }
391
+ const totalEntries = view.getUint16(eocd + 10, true);
392
+ const centralSize = view.getUint32(eocd + 12, true);
393
+ const centralOffset = view.getUint32(eocd + 16, true);
394
+ if (totalEntries === 0xffff || centralSize === 0xffffffff || centralOffset === 0xffffffff) {
395
+ throw new Error('ERR_ZIP_UNSUPPORTED: ZIP64 archives are not supported');
396
+ }
397
+ const entries = [];
398
+ const decoder = new TextDecoder('utf-8', { fatal: false });
399
+ let pos = centralOffset;
400
+ for (let i = 0; i < totalEntries; i++) {
401
+ if (pos + 46 > source.length || view.getUint32(pos, true) !== 0x02014b50) {
402
+ throw new Error('ERR_ZIP_UNSUPPORTED: malformed central directory');
165
403
  }
404
+ const flags = view.getUint16(pos + 8, true);
405
+ if ((flags & 0x0001) !== 0) {
406
+ throw new Error('ERR_ZIP_UNSUPPORTED: encrypted entries are not supported');
407
+ }
408
+ const compressedSize = view.getUint32(pos + 20, true);
409
+ const uncompressedSize = view.getUint32(pos + 24, true);
410
+ const nameLen = view.getUint16(pos + 28, true);
411
+ const extraLen = view.getUint16(pos + 30, true);
412
+ const commentLen = view.getUint16(pos + 32, true);
413
+ const localOffset = view.getUint32(pos + 42, true);
414
+ if (compressedSize === 0xffffffff || uncompressedSize === 0xffffffff || localOffset === 0xffffffff) {
415
+ throw new Error('ERR_ZIP_UNSUPPORTED: ZIP64 archives are not supported');
416
+ }
417
+ const nameBytes = source.slice(pos + 46, pos + 46 + nameLen);
418
+ if ((flags & 0x0800) === 0 && nameBytes.some((byte) => byte > 0x7f)) {
419
+ throw new Error('ERR_ZIP_UNSUPPORTED: non-UTF-8 entry names are not supported');
420
+ }
421
+ entries.push({
422
+ name: MdzArchiveCore.normalizePath(decoder.decode(nameBytes)),
423
+ nameBytes,
424
+ flags,
425
+ method: view.getUint16(pos + 10, true),
426
+ time: view.getUint16(pos + 12, true),
427
+ date: view.getUint16(pos + 14, true),
428
+ crc: view.getUint32(pos + 16, true),
429
+ compressedSize,
430
+ uncompressedSize,
431
+ versionMadeBy: view.getUint16(pos + 4, true),
432
+ versionNeeded: view.getUint16(pos + 6, true),
433
+ intAttr: view.getUint16(pos + 36, true),
434
+ extAttr: view.getUint32(pos + 38, true),
435
+ localOffset
436
+ });
437
+ pos += 46 + nameLen + extraLen + commentLen;
166
438
  }
167
- const nextArchivePaths = archivePaths.filter((p) => !targetSet.has(p.toLowerCase()));
168
- const removesManifest = targetSet.has('manifest.json');
169
- const existingManifestObject = removesManifest ? null : await MdzArchiveCore.readExistingManifestObject(zip, true);
170
- if (existingManifestObject) {
171
- MdzArchiveCore.validateManifest(existingManifestObject);
439
+ return entries;
440
+ }
441
+ static isStoredAssetPath(path) {
442
+ return /\.(png|jpg|jpeg|gif|webp|bmp|ico|webm|mp4|mp3|wav|ogg)$/i.test(path);
443
+ }
444
+ static async deflateRawBytes(bytes) {
445
+ if (typeof CompressionStream === 'undefined') {
446
+ return null;
447
+ }
448
+ try {
449
+ const stream = new Blob([bytes]).stream().pipeThrough(new CompressionStream('deflate-raw'));
450
+ return new Uint8Array(await new Response(stream).arrayBuffer());
451
+ }
452
+ catch {
453
+ return null;
172
454
  }
173
- MdzArchiveCore.ensureCreatableEntryPoint(nextArchivePaths, existingManifestObject);
174
- for (const target of targetSet) {
175
- MdzArchiveCore.removeEntryIgnoreCase(zip, target);
455
+ }
456
+ static crc32Table = null;
457
+ static crc32(bytes) {
458
+ if (!MdzArchiveCore.crc32Table) {
459
+ const table = new Uint32Array(256);
460
+ for (let i = 0; i < 256; i++) {
461
+ let c = i;
462
+ for (let k = 0; k < 8; k++) {
463
+ c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
464
+ }
465
+ table[i] = c >>> 0;
466
+ }
467
+ MdzArchiveCore.crc32Table = table;
176
468
  }
177
- if (existingManifestObject) {
178
- const refreshed = MdzArchiveCore.stampManifestObject(existingManifestObject, false);
179
- MdzArchiveCore.removeEntryIgnoreCase(zip, 'manifest.json');
180
- zip.file('manifest.json', MdzArchiveCore.normaliseLf(JSON.stringify(refreshed, null, 2)));
469
+ const table = MdzArchiveCore.crc32Table;
470
+ let crc = 0xffffffff;
471
+ for (let i = 0; i < bytes.length; i++) {
472
+ crc = table[(crc ^ bytes[i]) & 0xff] ^ (crc >>> 8);
181
473
  }
182
- return MdzArchiveCore.finalizeMutation(zip);
474
+ return (crc ^ 0xffffffff) >>> 0;
475
+ }
476
+ static toDosDateTime(date) {
477
+ const year = Math.max(1980, date.getFullYear());
478
+ return {
479
+ time: (date.getHours() << 11) | (date.getMinutes() << 5) | (date.getSeconds() >> 1),
480
+ date: ((year - 1980) << 9) | ((date.getMonth() + 1) << 5) | date.getDate()
481
+ };
183
482
  }
184
483
  /**
185
484
  * Finds orphaned image assets in an archive.
@@ -475,6 +774,7 @@ export class MdzArchiveCore {
475
774
  const entries = MdzArchiveCore.getArchiveEntries(this.zip, options);
476
775
  return entries.map((entry) => ({
477
776
  path: entry.path,
777
+ byteSize: this.entryByteSizes.get(entry.path.toLowerCase()),
478
778
  isMarkdown: !entry.isDirectory && MdzArchiveCore.isMarkdownFile(entry.path),
479
779
  isImage: !entry.isDirectory && MdzArchiveCore.isImagePath(entry.path),
480
780
  isDirectory: entry.isDirectory
@@ -605,23 +905,30 @@ export class MdzArchiveCore {
605
905
  const entryPoint = await this.resolveEntryPoint().catch(() => null);
606
906
  const entries = this.listEntries();
607
907
  const includeLazyReaders = options?.includeLazyAssetReaders !== false;
908
+ const includeLazyDocReaders = options?.includeLazyDocumentReaders === true;
608
909
  const documents = [];
609
910
  for (const entry of entries.filter((item) => item.isMarkdown)) {
610
- documents.push({
911
+ const isEntryPt = !!entryPoint && entry.path.toLowerCase() === entryPoint.toLowerCase();
912
+ const useLazy = includeLazyDocReaders && !isEntryPt;
913
+ const doc = {
611
914
  path: entry.path,
612
915
  title: MdzArchiveCore.getDocumentTitle(entry.path, manifest),
613
- text: await this.readText(entry.path),
614
- isEntryPoint: !!entryPoint && entry.path.toLowerCase() === entryPoint.toLowerCase()
615
- });
916
+ text: useLazy ? '' : await this.readText(entry.path),
917
+ isEntryPoint: isEntryPt
918
+ };
919
+ if (useLazy) {
920
+ doc.readText = () => this.readText(entry.path);
921
+ doc.isLazy = true;
922
+ }
923
+ documents.push(doc);
616
924
  }
617
925
  const assets = [];
618
926
  for (const entry of entries.filter((item) => !item.isMarkdown && !item.isDirectory && item.path.toLowerCase() !== 'manifest.json')) {
619
- const bytes = await this.readBytes(entry.path);
620
927
  const mimeType = MdzArchiveCore.inferMimeType(entry.path);
621
928
  const asset = {
622
929
  path: entry.path,
623
930
  fileName: MdzArchiveCore.basename(entry.path),
624
- byteSize: bytes.byteLength,
931
+ byteSize: entry.byteSize ?? (await this.readBytes(entry.path)).byteLength,
625
932
  mimeType,
626
933
  kind: MdzArchiveCore.classifyAssetKind(entry.path, mimeType),
627
934
  isPreviewable: MdzArchiveCore.isPreviewableAsset(entry.path, mimeType)
@@ -1527,6 +1834,12 @@ export class MdzPackagerCore {
1527
1834
  /**
1528
1835
  * Builds an `.mdz` archive from a normalized workspace.
1529
1836
  *
1837
+ * Documents opened lazily (`includeLazyDocumentReaders`) are resolved via
1838
+ * their `readText()` reader before packing, so unopened documents keep their
1839
+ * content. Throws `ERR_LAZY_TEXT_UNAVAILABLE` when a lazy document has empty
1840
+ * `text` and no `readText` reader (e.g. the closure was dropped by a
1841
+ * serialization boundary), instead of silently writing an empty file.
1842
+ *
1530
1843
  * @param workspace - Workspace model.
1531
1844
  * @param options - Build controls and metadata overrides.
1532
1845
  * @param zipWriterFactory - Optional custom zip writer.
@@ -1542,10 +1855,16 @@ export class MdzPackagerCore {
1542
1855
  entryPoint
1543
1856
  });
1544
1857
  const files = [
1545
- ...workspace.documents.map((document) => ({
1546
- path: document.path,
1547
- text: document.text
1548
- })),
1858
+ ...(await Promise.all(workspace.documents.map(async (document) => {
1859
+ let text = document.text;
1860
+ if (!text && document.readText) {
1861
+ text = await document.readText();
1862
+ }
1863
+ else if (!text && document.isLazy) {
1864
+ throw new Error(`ERR_LAZY_TEXT_UNAVAILABLE: document "${document.path}" was opened lazily but has no readText() reader (likely dropped by serialization); building would write an empty file`);
1865
+ }
1866
+ return { path: document.path, text };
1867
+ }))),
1549
1868
  ...(await Promise.all(workspace.assets.map(async (asset) => ({
1550
1869
  path: asset.path,
1551
1870
  data: await MdzPackagerCore.readWorkspaceAssetBytes(asset)
@@ -1 +1 @@
1
- {"version":3,"file":"mdz-core.js","sourceRoot":"","sources":["../src/mdz-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAGxC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AACtC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AACrC,MAAM,gBAAgB,GAAG,gDAAgD,CAAC;AAof1E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,eAAe;IACpB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,cAAc;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,cAAc;IAiBW;IAhBpC;;OAEG;IACI,MAAM,CAAU,gBAAgB,GAAG,oBAAoB,CAAC;IACvD,MAAM,CAAU,mBAAmB,GAAG,CAAC,CAAC;IACxC,MAAM,CAAU,eAAe,GAA+B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,CAAU,SAAS,GAAG,2HAA2H,CAAC;IACxJ,MAAM,CAAU,qBAAqB,GAAG,2BAA2B,CAAC;IACpE,MAAM,CAAU,YAAY,GAAG,IAAI,OAAO,EAAqC,CAAC;IAChF,MAAM,CAAU,aAAa,GAAG,IAAI,OAAO,EAA+B,CAAC;IAEnF;;;;OAIG;IACH,YAAoC,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;IAAG,CAAC;IAEpD;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAA2B,EAAE,UAA2B;QAC/E,MAAM,OAAO,GAAG,UAAU,IAAI,cAAc,CAAC,oBAAoB,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAA2B,EAAE,UAA2B;QACnF,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO,CACzB,KAA2B,EAC3B,gBAAwB,EACxB,OAAgC;QAEhC,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;QACrF,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACnF,MAAM,gBAAgB,GAAG,cAAc,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC/E,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YAClD,cAAc,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAE7E,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjG,OAAO,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,sBAAsB,GAAG,MAAM,cAAc,CAAC,0BAA0B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1F,IAAI,sBAAsB,EAAE,CAAC;YAC3B,cAAc,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;QACD,cAAc,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,sBAA4C,CAAC,CAAC;QAEzG,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7D,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YACpF,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAA2B,EAAE,gBAAwB;QAClF,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,6BAA6B,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;QACrF,MAAM,sBAAsB,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,0BAA0B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEnI,IAAI,sBAAsB,EAAE,CAAC;YAC3B,cAAc,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;QACD,cAAc,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,sBAA4C,CAAC,CAAC;QAEzG,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAEtD,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YACpF,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAA2B,EAAE,iBAA2B;QACtF,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACjE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAEzD,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,6BAA6B,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,sBAAsB,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,0BAA0B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEnH,IAAI,sBAAsB,EAAE,CAAC;YAC3B,cAAc,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;QACD,cAAc,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,sBAA4C,CAAC,CAAC;QAEzG,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YACpF,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAA2B,EAAE,OAAkC;QACpG,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,aAAa,CAC/B,KAA2B,EAC3B,OAAiC,EACjC,UAA2B;QAE3B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,oBAAoB;QACjC,OAAO;YACL,KAAK,CAAC,SAAS,CAAC,IAA0B;gBACxC,MAAM,GAAG,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,SAAS,CAAC,IAAkD,CAAC,CAAC;gBAC5F,OAAO,GAAyB,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAA2B;QACtD,MAAM,GAAG,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,SAAS,CAAC,KAAmD,CAAC,CAAC;QAC7F,OAAO,GAAgC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,IAAY;QACtC,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,cAAc,CAAC,IAAY;QACvC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,YAAY,GAAG,0BAA0B;QACjF,MAAM,GAAG,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,KAAK,GAA2B;YACpC,GAAG,oBAAoB;YACvB,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,iBAAiB;SACvB,CAAC;QACF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAAY,EAAE,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC;QACzF,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,CAAC;QAChD,IAAI,6FAA6F,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;QAChI,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,CAAC,IAAY,EAAE,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC;QAC1F,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,6FAA6F,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvJ,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,MAA2B;QAC3D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC;QAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,gBAAgB,CAAC,KAAe;QAC5C,OAAO,KAAK;aACT,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,OAAO,CAAC,IAAY;QAChC,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAY;QACjC,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,KAAe;QACzC,MAAM,KAAK,GAAsB,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAG,CAAC,QAA2B,EAAE,IAAY,EAAE,IAAY,EAAE,WAAoB,EAAmB,EAAE;YACpH,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;YACvH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,KAAK,MAAM,WAAW,IAAI,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5D,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBAClE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,KAAwB,EAAQ,EAAE;YACnD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;oBAAE,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,mBAAmB,CAAC,IAAY;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG;YAAE,OAAO,YAAY,CAAC;QAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,eAAe,CAAC;QAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,oBAAoB,CAAC;QAEpD,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,cAAc,CAAC;QACrF,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,oBAAoB,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,QAAgB;QACnC,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY,EAAE,QAAgB;QACtD,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QAED,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAErE,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACnE,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,GAAG;gBAAE,SAAS;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,IAAY;QAC3B,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAElE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,cAAc,CAAC,YAAY,CAAC,GAAG,CAC7B,IAAI,CAAC,GAAG,EACR,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CACvH,CAAC;QACJ,CAAC;QAED,OAAO,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;IACvF,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,OAA+B;QAC9C,OAAO,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,OAA+B;QAChD,MAAM,OAAO,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3E,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YACrE,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,IAAY;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO,IAAI,UAAU,CAAC,GAAkB,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,IAAY;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,YAAqB;QAC1D,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,0BAA0B,CAAC,CAAC;QAC/F,OAAO,QAAQ,IAAI,WAAW,MAAM,EAAE,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAAC,OAAkC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,UAAU;aAC1B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,YAAY,CAAC;QACnD,MAAM,oBAAoB,GAAG,QAAQ,KAAK,cAAc;YACtD,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3E,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAE9G,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,MAAM,oBAAoB,GAAqC,EAAE,CAAC;QAElE,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,cAAc,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;YACrE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtG,SAAS;gBACX,CAAC;gBAED,IAAI,QAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzF,CAAC;gBAAC,MAAM,CAAC;oBACP,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;oBAChG,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACxB,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC7F,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACvF,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC7F,SAAS;gBACX,CAAC;gBAED,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC1C,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjI,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEzF,OAAO;YACL,oBAAoB;YACpB,UAAU;YACV,oBAAoB;YACpB,kBAAkB;YAClB,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,OAAiC;QAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAoB,EAAE,CAAC,UAAU,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,kBAAkB,GAAG,OAAO,EAAE,uBAAuB,KAAK,KAAK,CAAC;QAEtE,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5D,IAAI,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,YAAY,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE;aACpF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC;YACnI,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAsB;gBAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC7C,QAAQ,EAAE,KAAK,CAAC,UAAU;gBAC1B,QAAQ;gBACR,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5D,aAAa,EAAE,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvE,CAAC;YAEF,IAAI,kBAAkB,EAAE,CAAC;gBACvB,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,KAAK,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,SAAS,GAAiB;YAC9B,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,IAAI;YAC9B,IAAI;YACJ,QAAQ;YACR,UAAU;YACV,SAAS;YACT,MAAM;YACN,UAAU;SACX,CAAC;QAEF,IAAI,OAAO,EAAE,4BAA4B,EAAE,CAAC;YAC1C,SAAS,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,QAAiB;QAC9C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,SAAS,GAAG,QAAuB,CAAC;QAE1C,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,IAAY,EAAQ,EAAE;YAClE,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,oCAAoC,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,IAAI,GAAG,KAAgC,CAAC;YAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,IAAI,GAAG,mCAAmC,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,IAAY,EAAQ,EAAE;YAC5D,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,oCAAoC,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,IAAI,GAAG,KAAgC,CAAC;YAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,IAAI,GAAG,mCAAmC,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,IAAY,EAAQ,EAAE;YAC/D,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO;YACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,6CAA6C,CAAC,CAAC;YAC7G,CAAC;YACD,MAAM,IAAI,GAAG,KAAgC,CAAC;YAC9C,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,2CAA2C,IAAI,iBAAiB,CAAC,CAAC;YAChI,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtG,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAuB,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,KAAK,CAAC,6CAA6C,SAAS,CAAC,IAAI,qBAAqB,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAChG,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,IAAI,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;YACrG,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAA+B,CAAC;YACvD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACrG,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrF,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;gBACrH,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzE,IAAI,SAAS,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CACb,uDAAuD,IAAI,CAAC,OAAO,iDAAiD,cAAc,CAAC,mBAAmB,UAAU,CACjK,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvF,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;YAC5G,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACtE,IAAI,KAAK,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,CAAC,GAAG,oCAAoC,cAAc,CAAC,mBAAmB,UAAU,CAAC,CAAC;YACvK,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAmC,CAAC;YAC/D,oBAAoB,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YACnE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC7B,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY;QACvB,IAAI,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC5D,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,EAAE,GAAI,QAAwB,EAAE,CAAC;QACpD,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChJ,MAAM,iBAAiB,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1D,IAAI,cAAc,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzC,OAAO,UAAU,CAAC,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,QAAQ,EAAE,IAAI,IAAI,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,QAAQ,GAAuB,IAAI,CAAC;QACxC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,WAAW,GAAmC,IAAI,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnE,WAAW,GAAG,MAAiC,CAAC;gBAClD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;YACzE,CAAC;YAED,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC9C,QAAQ,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACxF,CAAC;qBAAM,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpE,IAAI,KAAK,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC;wBAC/C,QAAQ,CAAC,IAAI,CACX,yCAAyC,KAAK,kCAAkC,cAAc,CAAC,mBAAmB,GAAG,CACtH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAS,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC9G,MAAM,CAAC,IAAI,CAAC,6DAA6D,QAAQ,CAAC,UAAU,wCAAwC,CAAC,CAAC;gBACxI,CAAC;gBAED,MAAM,cAAc,GAAG,OAAO,WAAW,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnG,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;oBAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;wBAClC,QAAQ,CAAC,IAAI,CAAC,gCAAgC,cAAc,wCAAwC,CAAC,CAAC;oBACxG,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9D,IAAI,QAAQ,EAAE,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,qDAAqD,QAAQ,CAAC,UAAU,+BAA+B,CAAC,CAAC;QAC3H,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE3E,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sJAAsJ,CAAC,CAAC;QAC1K,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,GAAY,EAAE,OAA+B;QAC1E,OAAO,cAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,GAAY,EAAE,OAA+B;QAC5E,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;QAChE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,KAAK,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,KAAK,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;aACxD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3D,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG;SAC1B,CAAC,CAAC,CAAC;QAEN,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,8BAA8B,CAAC,IAAY;QACjD,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,6BAA6B,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,mBAAmB,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,IAAY;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,IAAI,KAAK;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,IAAY;QACrC,OAAO,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;IACvE,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,QAA4B;QACxE,MAAM,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEtD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;IAEO,MAAM,CAAC,8BAA8B,CAAC,QAAgB;QAC5D,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxE,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,GAAW;QAChD,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,KAAa;QACvC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,UAAoB,EAAE,YAAoB;QAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QAChE,OAAO,KAAK,IAAI,YAAY,CAAC;IAC/B,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,GAAmB,EAAE,UAAkB;QAC1E,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,EAAE,CAAC;gBACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAAY;QACpC,OAAO,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,OAAe;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,GAAY,EAAE,YAAqB;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,eAAe,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3J,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,IAAI,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;gBACtH,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,MAAiC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,KAAK,YAAY,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACxF,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,OAAgC,EAAE,YAAqB;QACrG,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,IAAI,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;gBACzH,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAiC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,KAAK,YAAY,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACxF,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,QAAiC;QACvE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,GAAG,EAAE,CAAC;YACV,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,OAAO,GAAG,IAA+B,CAAC;QAChD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACnE,OAAO,CAAC,OAAO,GAAG,qBAAqB,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,QAAiC,EAAE,mBAA4B;QAChG,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,mBAAmB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAI,QAAoC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,yBAAyB,CAAC,YAAsB,EAAE,QAAiD;QAChH,IAAI,QAAQ,EAAE,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,6DAA6D,QAAQ,CAAC,UAAU,wCAAwC,CAAC,CAAC;QAC5I,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,+KAA+K,CAChL,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAgC;QAC3E,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC;QAChD,IAAI,OAAO,YAAY,IAAI;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAgC;QAC7E,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,OAAO,YAAY,IAAI;YAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,OAAO,YAAY,UAAU;YAAE,OAAO,OAAO,CAAC;QAClD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAmB,EAAE,IAAY,EAAE,OAAgC;QACpG,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAmB;QACvD,MAAM,KAAK,GAAG,MAAO,GAAwB,CAAC,aAAa,CAAC;YAC1D,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,SAAS;YACtB,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC;QACxG,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,kBAAkB;YAClB,YAAY,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC;SAClD,CAAC;IACJ,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;;OAEG;IACI,MAAM,CAAU,eAAe,GAAG;QACvC,SAAS;QACT,eAAe;QACf,UAAU;QACV,UAAU;QACV,WAAW;QACX,UAAU;QACV,WAAW;QACX,UAAU;QACV,WAAW;KACZ,CAAC;IAEF;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,IAAY;QACtC,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,IAAY;QAC5C,OAAO,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,OAAe;QAC/C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,KAAK,GAAG;gBAAE,GAAG,IAAI,GAAG,CAAC;;gBAC5F,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,IAAY;QAC5C,OAAO,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;aACvC,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,eAAe,CAAC,mBAAmB,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,qBAAqB,CAAC,SAAiB,EAAE,SAAsB;QAC3E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACvC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,GAAW,EAAW,EAAE;YAC7D,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;YACd,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC5F,EAAE,IAAI,CAAC,CAAC;oBACR,EAAE,IAAI,CAAC,CAAC;gBACV,CAAC;qBAAM,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;oBAC9C,IAAI,GAAG,EAAE,CAAC;oBACV,EAAE,IAAI,CAAC,CAAC;oBACR,KAAK,GAAG,EAAE,CAAC;gBACb,CAAC;qBAAM,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvB,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;oBACd,KAAK,IAAI,CAAC,CAAC;oBACX,EAAE,GAAG,KAAK,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG;gBAAE,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAU,EAAW,EAAE;YACrD,IAAI,EAAE,KAAK,YAAY,CAAC,MAAM;gBAAE,OAAO,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC;YAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YAC/B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAChD,KAAK,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;oBACxD,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC;gBAC5C,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YACnC,OAAO,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,OAAiB;QAC5D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,wBAAwB,CAAC,QAAgB,EAAE,OAAuB;QAC9E,MAAM,iBAAiB,GACrB,OAAO,CAAC,QAAQ;eACb,CAAC,CAAC,OAAO,CAAC,KAAK;eACf,CAAC,CAAC,OAAO,CAAC,IAAI;eACd,CAAC,CAAC,OAAO,CAAC,UAAU;eACpB,CAAC,CAAC,OAAO,CAAC,QAAQ;eAClB,CAAC,CAAC,OAAO,CAAC,MAAM;eAChB,CAAC,CAAC,OAAO,CAAC,WAAW;eACrB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAE1B,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,qBAAqB;aAC/B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,oBAAoB;oBAC7B,GAAG,EAAE,gBAAgB;iBACtB;aACF;YACD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,QAAQ;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;YAC7D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACnC,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,GAAG;SACd,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,YAAsB,EAAE,QAAiD;QACvG,IAAI,QAAQ,EAAE,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC7G,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;YAAE,OAAO,UAAU,CAAC;QAEhF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,mBAAmB,CAAC,aAAuB,EAAE,KAAqB;QAC9E,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACjE,MAAM,KAAK,GAAG,CAAC,KAAK,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5G,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,MAAM,OAAO,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,yBAAyB,EAAE,EAAE,EAAE,uDAAuD,CAAC,CAAC;QAClH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,cAAc,CAAC,QAAiF;QAC5G,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QAClH,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,qBAAqB;aAC/B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,oBAAoB;oBAC7B,GAAG,EAAE,gBAAgB;iBACtB;aACF;YACD,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,SAAS;YACnC,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,SAAS;YACjC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI;YACxC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI;YACpC,MAAM;YACN,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YACjC,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI;YAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI;YAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,SAAS;YACvC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS;YACzC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,SAAS;YACnC,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,GAAG;SACd,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAC1B,QAA4B,EAC5B,OAAyF,EACzF,OAAkC;QAElC,MAAM,IAAI,GAAgB,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/F,eAAe,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEvD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;YAChE,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBAC7G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,CAAC;YACD,IAAI,aAAa,IAAI,OAAO;gBAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;YAC7E,IAAI,UAAU,IAAI,OAAO;gBAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;YACzE,IAAI,UAAU,IAAI,OAAO;gBAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;YACpE,IAAI,SAAS,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;YACtE,IAAI,SAAS,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;YACjE,IAAI,OAAO,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;YAChE,IAAI,MAAM,IAAI,OAAO;gBAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;YAC7D,IAAI,YAAY,IAAI,OAAO;gBAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;QAC5E,CAAC;QAED,eAAe,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,qBAAqB,CAAC,QAAqB;QACvD,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;gBAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;gBACzC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;gBACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;gBACnC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;gBACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;gBACjC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI;aAC9B;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAA8C,EAAE,UAAmB;QAClH,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,MAAM,YAAY,IAAI,CAAC;QACrE,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,MAAM,YAAY,IAAI,CAAC;QACrE,MAAM,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1F,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvC,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,QAAQ;YACR,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;YACtD,aAAa,EAAE,cAAc,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC;YAChE,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAwB;QAC/D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC;QACxG,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,SAAuB,EACvB,OAAkC,EAClC,gBAAuC;QAEvC,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;QACpK,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC;QACrF,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE;YAClE,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC5B,KAAK;YACL,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,KAAK,GAAuB;YAChC,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACxC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3D,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,MAAM,eAAe,CAAC,uBAAuB,CAAC,KAAK,CAAC;aAC3D,CAAC,CAAC,CAAC,CAAC;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF,CAAC;QAEF,OAAO,eAAe,CAAC,YAAY,CACjC,KAAK,EACL,OAAO,EAAE,QAAQ,IAAI,KAAK,IAAI,iBAAiB,EAC/C;YACE,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,EACD,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,OAAe;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAAY;QACpC,OAAO,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,IAAY;QACrC,OAAO,0DAA0D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAA2B;QACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;QACjG,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3F,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,QAAuB,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,QAAqB,EAAE,OAAkC;QAC9F,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG;YACd,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,YAAY;YACzC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,qBAAqB;SACzD,CAAC;QACF,QAAQ,CAAC,QAAQ,GAAG;YAClB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC5B,IAAI,EAAE;gBACJ,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;gBAClC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,eAAe;gBACtD,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,oBAAoB;gBACjE,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,gBAAgB;aACtD;SACF,CAAC;QACF,IAAI,OAAO,EAAE,mBAAmB,KAAK,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACvE,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;QACzB,CAAC;QACD,IAAI,OAAO,EAAE,eAAe,KAAK,KAAK,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzE,QAAQ,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAA8C;QAClF,IAAI,MAAM,YAAY,UAAU;YAAE,OAAO,MAAM,CAAC;QAChD,IAAI,MAAM,YAAY,WAAW;YAAE,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,OAAQ,MAAe,CAAC,WAAW,KAAK,UAAU;YAAE,OAAO,IAAI,UAAU,CAAC,MAAO,MAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QACpH,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAwB;QACnE,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,IAAI,uCAAuC,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,KAAyB,EACzB,QAAgB,EAChB,OAAuB,EACvB,gBAAuC;QAEvC,MAAM,UAAU,GAAG,KAAK;aACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aACvG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,QAAQ,GAAG,eAAe,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,MAAM,aAAa,GAA8B,EAAE,CAAC;QAEpD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,MAAM,OAAO,GAAG,CAAC,MAAc,EAAQ,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,WAAW,GAAG,YAAY,CAAC;YAE/B,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC9D,OAAO,CAAC,8CAA8C,CAAC,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,SAAS,EAAE,CAAC;gBACd,gBAAgB,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,CAAC,4BAA4B,CAAC,CAAC;oBACtC,SAAS;gBACX,CAAC;gBACD,WAAW,GAAG,eAAe,CAAC,qBAAqB,CAAC,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;gBACjH,kBAAkB,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,eAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,YAAY,GAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;YACpE,IAAI,IAAI,CAAC,IAAI;gBAAE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI;gBAAE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;gBAAE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE5B,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,IAAI,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;gBACrF,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;YACrH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,kBAAkB,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnF,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAEzE,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,eAAe,CAAC,IAAI,CAClB,0LAA0L,CAC3L,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC/C,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,QAAQ,CAAC,UAAU,mBAAmB,CAAC,CAAC;YAChH,CAAC;YACD,MAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACzH,MAAM,SAAS,GAAG,eAAe,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;YACtG,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACzF,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAClD,kBAAkB,GAAG,UAAU,CAAC;YAChC,IAAI,QAAQ;gBAAE,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,EAAE,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,sDAAsD,QAAQ,CAAC,UAAU,8BAA8B,CAAC,CAAC;QAC3H,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACjC,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC;QACjC,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,IAAI,eAAe,CAAC,0BAA0B,EAAE,CAAC;QACjF,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC7C,0FAA0F;oBACzF,GAAiF,CAAC,IAAI,CACrF,IAAI,CAAC,WAAW,EAChB,MAAM,EACN,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChE,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/D,GAAiF,CAAC,IAAI,CACrF,IAAI,CAAC,WAAW,EAChB,KAAK,EACL,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChC,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACL,GAAiF,CAAC,IAAI,CACrF,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,sEAAsE;QACtE,qFAAqF;QACrF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjH,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,kBAAkB;YAClB,YAAY;YACZ,QAAQ;YACR,QAAQ,EAAE;gBACR,gBAAgB;gBAChB,kBAAkB;gBAClB,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,eAAe;gBACzB,eAAe,EAAE,CAAC,kBAAkB;aACrC;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B;QACvC,OAAO;YACL,MAAM;gBACJ,OAAO,IAAI,KAAK,EAA8B,CAAC;YACjD,CAAC;SACF,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"mdz-core.js","sourceRoot":"","sources":["../src/mdz-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAGxC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AACtC,gEAAgE;AAChE,MAAM,oBAAoB,GAAG,OAAO,CAAC;AACrC,MAAM,gBAAgB,GAAG,gDAAgD,CAAC;AAqiB1E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,eAAe;IACpB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,cAAc;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,cAAc;IAkBN;IACA;IAlBnB;;OAEG;IACI,MAAM,CAAU,gBAAgB,GAAG,oBAAoB,CAAC;IACvD,MAAM,CAAU,mBAAmB,GAAG,CAAC,CAAC;IACxC,MAAM,CAAU,eAAe,GAA+B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,CAAU,SAAS,GAAG,2HAA2H,CAAC;IACxJ,MAAM,CAAU,qBAAqB,GAAG,2BAA2B,CAAC;IACpE,MAAM,CAAU,YAAY,GAAG,IAAI,OAAO,EAAqC,CAAC;IAChF,MAAM,CAAU,aAAa,GAAG,IAAI,OAAO,EAA+B,CAAC;IAEnF;;;;OAIG;IACH,YACmB,GAAY,EACZ,iBAAiB,IAAI,GAAG,EAAkB;QAD1C,QAAG,GAAH,GAAG,CAAS;QACZ,mBAAc,GAAd,cAAc,CAA4B;IAC1D,CAAC;IAEJ;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAA2B,EAAE,UAA2B;QAC/E,MAAM,OAAO,GAAG,UAAU,IAAI,cAAc,CAAC,oBAAoB,EAAE,CAAC;QACpE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,cAAc,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAClF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,yEAAyE;YACzE,yEAAyE;QAC3E,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAA2B,EAAE,UAA2B;QACnF,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO,CACzB,KAA2B,EAC3B,gBAAwB,EACxB,OAAgC;QAEhC,OAAO,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAA2B,EAAE,gBAAwB;QAClF,OAAO,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAA2B,EAAE,iBAA2B;QACtF,OAAO,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAC7B,KAA2B,EAC3B,MAA6B,EAC7B,WAAqB,EAAE,EACvB,OAA+B;QAE/B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA8D,CAAC;QAC/F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEzE,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,6FAA6F;QAC7F,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,cAAc,GAAmC,IAAI,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAClB,cAAc,GAAG,cAAc,CAAC,mBAAmB,CACjD,MAAM,cAAc,CAAC,0BAA0B,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5E,IAAI,CACL,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YAC7B,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAA8C,EAAE,KAAK,CAAC,CAAC;QACrH,CAAC;aAAM,IACL,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC;eACvD,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC;eACxC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,EACrC,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9C,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,QAA8C,EAAE,KAAK,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAChD,gBAAgB,CAAC,GAAG,CAAC,eAAe,EAAE;gBACpC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aAC7E,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG;YAChB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAClH,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACrD,CAAC;QACF,cAAc,CAAC,yBAAyB,CAAC,SAAS,EAAE,cAAoC,CAAC,CAAC;QAE1F,IAAI,YAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAC3G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAClF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,kFAAkF;YAClF,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACtD,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,YAAmC,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,kBAAkB;YAClB,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;SAClC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAA2B;QACpE,IAAI,KAAK,YAAY,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,KAAK,YAAY,WAAW;YAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CACpC,MAAkB,EAClB,MAAuE,EACvE,QAA6B;QAE7B,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAkB/E,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;gBACrG,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,GAAG,EAAE,GAAG,YAAY,GAAG,aAAa,CAAC;YACxE,IAAI,SAAS,GAAG,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,mFAAmF;gBACnF,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC;gBAClE,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAClF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,IAAI,KAAiB,CAAC;YACtB,IAAI,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzE,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7E,KAAK,GAAG,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YACzE,CAAC;YACD,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC7D,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM,GAAG,CAAC,CAAC;oBACX,IAAI,GAAG,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC/C,KAAK,EAAE,MAAM,EAAE,mBAAmB;gBAClC,MAAM;gBACN,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;gBAChC,cAAc,EAAE,IAAI,CAAC,MAAM;gBAC3B,gBAAgB,EAAE,KAAK,CAAC,MAAM;gBAC9B,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,IAAI;gBACJ,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,SAAS,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7D,WAAW,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,SAAS,GAAG,WAAW,GAAG,EAAE,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;YAC3B,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC3D,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5D,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC3D,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACxD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;YACtC,MAAM,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAExC,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,MAAkB;QAgBlD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/E,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QACzD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrG,IAAI,GAAG,CAAC,CAAC;gBACT,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,YAAY,KAAK,MAAM,IAAI,WAAW,KAAK,UAAU,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,IAAI,GAAG,GAAG,aAAa,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,cAAc,KAAK,UAAU,IAAI,gBAAgB,KAAK,UAAU,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7D,SAAS;gBACT,KAAK;gBACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC;gBACtC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC;gBACpC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC;gBACnC,cAAc;gBACd,gBAAgB;gBAChB,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC;gBAC5C,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC;gBACvC,WAAW;aACZ,CAAC,CAAC;YACH,GAAG,IAAI,EAAE,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;QAC9C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,IAAY;QAC3C,OAAO,0DAA0D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,KAAiB;QACpD,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,KAA4B,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;YACnH,OAAO,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,UAAU,GAAuB,IAAI,CAAC;IAE7C,MAAM,CAAC,KAAK,CAAC,KAAiB;QACpC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;gBACD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC;QACpC,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC;QACxC,IAAI,GAAG,GAAG,UAAU,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,IAAU;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,OAAO;YACL,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACnF,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;SAC3E,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAA2B,EAAE,OAAkC;QACpG,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,aAAa,CAC/B,KAA2B,EAC3B,OAAiC,EACjC,UAA2B;QAE3B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,oBAAoB;QACjC,OAAO;YACL,KAAK,CAAC,SAAS,CAAC,IAA0B;gBACxC,MAAM,GAAG,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,SAAS,CAAC,IAAkD,CAAC,CAAC;gBAC5F,OAAO,GAAyB,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAA2B;QACtD,MAAM,GAAG,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,SAAS,CAAC,KAAmD,CAAC,CAAC;QAC7F,OAAO,GAAgC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,IAAY;QACtC,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,cAAc,CAAC,IAAY;QACvC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,YAAY,GAAG,0BAA0B;QACjF,MAAM,GAAG,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,KAAK,GAA2B;YACpC,GAAG,oBAAoB;YACvB,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,iBAAiB;SACvB,CAAC;QACF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAAY,EAAE,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC;QACzF,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,CAAC;QAChD,IAAI,6FAA6F,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;QAChI,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,CAAC,IAAY,EAAE,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC;QAC1F,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,6FAA6F,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvJ,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,MAA2B;QAC3D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC;QAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,gBAAgB,CAAC,KAAe;QAC5C,OAAO,KAAK;aACT,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,OAAO,CAAC,IAAY;QAChC,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAY;QACjC,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,KAAe;QACzC,MAAM,KAAK,GAAsB,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAG,CAAC,QAA2B,EAAE,IAAY,EAAE,IAAY,EAAE,WAAoB,EAAmB,EAAE;YACpH,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;YACvH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,KAAK,MAAM,WAAW,IAAI,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5D,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBAClE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,KAAwB,EAAQ,EAAE;YACnD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;oBAAE,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,mBAAmB,CAAC,IAAY;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG;YAAE,OAAO,YAAY,CAAC;QAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,eAAe,CAAC;QAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,oBAAoB,CAAC;QAEpD,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,cAAc,CAAC;QACrF,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,oBAAoB,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,QAAgB;QACnC,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY,EAAE,QAAgB;QACtD,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QAED,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAErE,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACnE,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,GAAG;gBAAE,SAAS;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,IAAY;QAC3B,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAElE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,cAAc,CAAC,YAAY,CAAC,GAAG,CAC7B,IAAI,CAAC,GAAG,EACR,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CACvH,CAAC;QACJ,CAAC;QAED,OAAO,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;IACvF,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,OAA+B;QAC9C,OAAO,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,OAA+B;QAChD,MAAM,OAAO,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3D,UAAU,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3E,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YACrE,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,IAAY;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO,IAAI,UAAU,CAAC,GAAkB,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,IAAY;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,YAAqB;QAC1D,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,0BAA0B,CAAC,CAAC;QAC/F,OAAO,QAAQ,IAAI,WAAW,MAAM,EAAE,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAAC,OAAkC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,UAAU;aAC1B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,YAAY,CAAC;QACnD,MAAM,oBAAoB,GAAG,QAAQ,KAAK,cAAc;YACtD,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3E,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAE9G,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,MAAM,oBAAoB,GAAqC,EAAE,CAAC;QAElE,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,cAAc,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;YACrE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtG,SAAS;gBACX,CAAC;gBAED,IAAI,QAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzF,CAAC;gBAAC,MAAM,CAAC;oBACP,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;oBAChG,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACxB,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC7F,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACvF,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC7F,SAAS;gBACX,CAAC;gBAED,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC1C,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjI,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEzF,OAAO;YACL,oBAAoB;YACpB,UAAU;YACV,oBAAoB;YACpB,kBAAkB;YAClB,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,OAAiC;QAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAoB,EAAE,CAAC,UAAU,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,kBAAkB,GAAG,OAAO,EAAE,uBAAuB,KAAK,KAAK,CAAC;QACtE,MAAM,qBAAqB,GAAG,OAAO,EAAE,0BAA0B,KAAK,IAAI,CAAC;QAE3E,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;YACxF,MAAM,OAAO,GAAG,qBAAqB,IAAI,CAAC,SAAS,CAAC;YACpD,MAAM,GAAG,GAAyB;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5D,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBACpD,YAAY,EAAE,SAAS;aACxB,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/C,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC;YACnI,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAsB;gBAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC7C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;gBACzE,QAAQ;gBACR,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5D,aAAa,EAAE,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvE,CAAC;YAEF,IAAI,kBAAkB,EAAE,CAAC;gBACvB,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,KAAK,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,SAAS,GAAiB;YAC9B,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,IAAI;YAC9B,IAAI;YACJ,QAAQ;YACR,UAAU;YACV,SAAS;YACT,MAAM;YACN,UAAU;SACX,CAAC;QAEF,IAAI,OAAO,EAAE,4BAA4B,EAAE,CAAC;YAC1C,SAAS,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,QAAiB;QAC9C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,SAAS,GAAG,QAAuB,CAAC;QAE1C,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,IAAY,EAAQ,EAAE;YAClE,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,oCAAoC,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,IAAI,GAAG,KAAgC,CAAC;YAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,IAAI,GAAG,mCAAmC,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,IAAY,EAAQ,EAAE;YAC5D,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,oCAAoC,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,IAAI,GAAG,KAAgC,CAAC;YAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,IAAI,GAAG,mCAAmC,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,IAAY,EAAQ,EAAE;YAC/D,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO;YACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,6CAA6C,CAAC,CAAC;YAC7G,CAAC;YACD,MAAM,IAAI,GAAG,KAAgC,CAAC;YAC9C,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,2CAA2C,IAAI,iBAAiB,CAAC,CAAC;YAChI,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtG,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAuB,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,KAAK,CAAC,6CAA6C,SAAS,CAAC,IAAI,qBAAqB,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAChG,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,IAAI,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;YACrG,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAA+B,CAAC;YACvD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACrG,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrF,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;gBACrH,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzE,IAAI,SAAS,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CACb,uDAAuD,IAAI,CAAC,OAAO,iDAAiD,cAAc,CAAC,mBAAmB,UAAU,CACjK,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvF,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;YAC5G,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACtE,IAAI,KAAK,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,CAAC,GAAG,oCAAoC,cAAc,CAAC,mBAAmB,UAAU,CAAC,CAAC;YACvK,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAmC,CAAC;YAC/D,oBAAoB,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YACnE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC7B,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY;QACvB,IAAI,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC5D,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,EAAE,GAAI,QAAwB,EAAE,CAAC;QACpD,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChJ,MAAM,iBAAiB,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1D,IAAI,cAAc,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzC,OAAO,UAAU,CAAC,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,QAAQ,EAAE,IAAI,IAAI,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,QAAQ,GAAuB,IAAI,CAAC;QACxC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,WAAW,GAAmC,IAAI,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnE,WAAW,GAAG,MAAiC,CAAC;gBAClD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;YACzE,CAAC;YAED,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC9C,QAAQ,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACxF,CAAC;qBAAM,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpE,IAAI,KAAK,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC;wBAC/C,QAAQ,CAAC,IAAI,CACX,yCAAyC,KAAK,kCAAkC,cAAc,CAAC,mBAAmB,GAAG,CACtH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAS,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC9G,MAAM,CAAC,IAAI,CAAC,6DAA6D,QAAQ,CAAC,UAAU,wCAAwC,CAAC,CAAC;gBACxI,CAAC;gBAED,MAAM,cAAc,GAAG,OAAO,WAAW,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnG,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;oBAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;wBAClC,QAAQ,CAAC,IAAI,CAAC,gCAAgC,cAAc,wCAAwC,CAAC,CAAC;oBACxG,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9D,IAAI,QAAQ,EAAE,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,qDAAqD,QAAQ,CAAC,UAAU,+BAA+B,CAAC,CAAC;QAC3H,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE3E,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sJAAsJ,CAAC,CAAC;QAC1K,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,GAAY,EAAE,OAA+B;QAC1E,OAAO,cAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,GAAY,EAAE,OAA+B;QAC5E,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;QAChE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,KAAK,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,KAAK,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;aACxD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3D,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG;SAC1B,CAAC,CAAC,CAAC;QAEN,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,8BAA8B,CAAC,IAAY;QACjD,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,6BAA6B,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,mBAAmB,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,IAAY;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,IAAI,KAAK;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,IAAY;QACrC,OAAO,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;IACvE,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,QAA4B;QACxE,MAAM,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEtD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;IAEO,MAAM,CAAC,8BAA8B,CAAC,QAAgB;QAC5D,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxE,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,GAAW;QAChD,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,KAAa;QACvC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,UAAoB,EAAE,YAAoB;QAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QAChE,OAAO,KAAK,IAAI,YAAY,CAAC;IAC/B,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,GAAmB,EAAE,UAAkB;QAC1E,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,EAAE,CAAC;gBACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAAY;QACpC,OAAO,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,OAAe;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,GAAY,EAAE,YAAqB;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,eAAe,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3J,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,IAAI,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;gBACtH,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,MAAiC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,KAAK,YAAY,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACxF,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,OAAgC,EAAE,YAAqB;QACrG,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,IAAI,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;gBACzH,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAiC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,KAAK,YAAY,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACxF,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,QAAiC;QACvE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,GAAG,EAAE,CAAC;YACV,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,OAAO,GAAG,IAA+B,CAAC;QAChD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACnE,OAAO,CAAC,OAAO,GAAG,qBAAqB,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,QAAiC,EAAE,mBAA4B;QAChG,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,mBAAmB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAI,QAAoC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,yBAAyB,CAAC,YAAsB,EAAE,QAAiD;QAChH,IAAI,QAAQ,EAAE,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,6DAA6D,QAAQ,CAAC,UAAU,wCAAwC,CAAC,CAAC;QAC5I,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,+KAA+K,CAChL,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAgC;QAC3E,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC;QAChD,IAAI,OAAO,YAAY,IAAI;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAgC;QAC7E,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,OAAO,YAAY,IAAI;YAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,OAAO,YAAY,UAAU;YAAE,OAAO,OAAO,CAAC;QAClD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAmB,EAAE,IAAY,EAAE,OAAgC;QACpG,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAmB;QACvD,MAAM,KAAK,GAAG,MAAO,GAAwB,CAAC,aAAa,CAAC;YAC1D,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,SAAS;YACtB,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC;QACxG,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,kBAAkB;YAClB,YAAY,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC;SAClD,CAAC;IACJ,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;;OAEG;IACI,MAAM,CAAU,eAAe,GAAG;QACvC,SAAS;QACT,eAAe;QACf,UAAU;QACV,UAAU;QACV,WAAW;QACX,UAAU;QACV,WAAW;QACX,UAAU;QACV,WAAW;KACZ,CAAC;IAEF;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,IAAY;QACtC,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,IAAY;QAC5C,OAAO,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,OAAe;QAC/C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,KAAK,GAAG;gBAAE,GAAG,IAAI,GAAG,CAAC;;gBAC5F,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,IAAY;QAC5C,OAAO,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;aACvC,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,eAAe,CAAC,mBAAmB,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,qBAAqB,CAAC,SAAiB,EAAE,SAAsB;QAC3E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACvC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,GAAW,EAAW,EAAE;YAC7D,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;YACd,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC5F,EAAE,IAAI,CAAC,CAAC;oBACR,EAAE,IAAI,CAAC,CAAC;gBACV,CAAC;qBAAM,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;oBAC9C,IAAI,GAAG,EAAE,CAAC;oBACV,EAAE,IAAI,CAAC,CAAC;oBACR,KAAK,GAAG,EAAE,CAAC;gBACb,CAAC;qBAAM,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvB,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;oBACd,KAAK,IAAI,CAAC,CAAC;oBACX,EAAE,GAAG,KAAK,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG;gBAAE,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAU,EAAW,EAAE;YACrD,IAAI,EAAE,KAAK,YAAY,CAAC,MAAM;gBAAE,OAAO,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC;YAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YAC/B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAChD,KAAK,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;oBACxD,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC;gBAC5C,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YACnC,OAAO,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,OAAiB;QAC5D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,wBAAwB,CAAC,QAAgB,EAAE,OAAuB;QAC9E,MAAM,iBAAiB,GACrB,OAAO,CAAC,QAAQ;eACb,CAAC,CAAC,OAAO,CAAC,KAAK;eACf,CAAC,CAAC,OAAO,CAAC,IAAI;eACd,CAAC,CAAC,OAAO,CAAC,UAAU;eACpB,CAAC,CAAC,OAAO,CAAC,QAAQ;eAClB,CAAC,CAAC,OAAO,CAAC,MAAM;eAChB,CAAC,CAAC,OAAO,CAAC,WAAW;eACrB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAE1B,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,qBAAqB;aAC/B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,oBAAoB;oBAC7B,GAAG,EAAE,gBAAgB;iBACtB;aACF;YACD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,QAAQ;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;YAC7D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACnC,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,GAAG;SACd,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,YAAsB,EAAE,QAAiD;QACvG,IAAI,QAAQ,EAAE,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC7G,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;YAAE,OAAO,UAAU,CAAC;QAEhF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,mBAAmB,CAAC,aAAuB,EAAE,KAAqB;QAC9E,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACjE,MAAM,KAAK,GAAG,CAAC,KAAK,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5G,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,MAAM,OAAO,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,yBAAyB,EAAE,EAAE,EAAE,uDAAuD,CAAC,CAAC;QAClH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,cAAc,CAAC,QAAiF;QAC5G,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QAClH,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,qBAAqB;aAC/B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,oBAAoB;oBAC7B,GAAG,EAAE,gBAAgB;iBACtB;aACF;YACD,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,SAAS;YACnC,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,SAAS;YACjC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI;YACxC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI;YACpC,MAAM;YACN,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YACjC,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI;YAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI;YAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,SAAS;YACvC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS;YACzC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,SAAS;YACnC,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,GAAG;SACd,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAC1B,QAA4B,EAC5B,OAAyF,EACzF,OAAkC;QAElC,MAAM,IAAI,GAAgB,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/F,eAAe,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEvD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;YAChE,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBAC7G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,CAAC;YACD,IAAI,aAAa,IAAI,OAAO;gBAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;YAC7E,IAAI,UAAU,IAAI,OAAO;gBAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;YACzE,IAAI,UAAU,IAAI,OAAO;gBAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;YACpE,IAAI,SAAS,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;YACtE,IAAI,SAAS,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;YACjE,IAAI,OAAO,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;YAChE,IAAI,MAAM,IAAI,OAAO;gBAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;YAC7D,IAAI,YAAY,IAAI,OAAO;gBAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;QAC5E,CAAC;QAED,eAAe,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,qBAAqB,CAAC,QAAqB;QACvD,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;gBAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;gBACzC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;gBACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;gBACnC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;gBACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;gBACjC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI;aAC9B;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAA8C,EAAE,UAAmB;QAClH,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,MAAM,YAAY,IAAI,CAAC;QACrE,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,MAAM,YAAY,IAAI,CAAC;QACrE,MAAM,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1F,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvC,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,QAAQ;YACR,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;YACtD,aAAa,EAAE,cAAc,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC;YAChE,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAwB;QAC/D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC;QACxG,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,SAAuB,EACvB,OAAkC,EAClC,gBAAuC;QAEvC,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;QACpK,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC;QACrF,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE;YAClE,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC5B,KAAK;YACL,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,KAAK,GAAuB;YAChC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC/D,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAC/B,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC;qBAAM,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,IAAI,wHAAwH,CAAC,CAAC;gBACjM,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC,CAAC;YACJ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3D,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,MAAM,eAAe,CAAC,uBAAuB,CAAC,KAAK,CAAC;aAC3D,CAAC,CAAC,CAAC,CAAC;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF,CAAC;QAEF,OAAO,eAAe,CAAC,YAAY,CACjC,KAAK,EACL,OAAO,EAAE,QAAQ,IAAI,KAAK,IAAI,iBAAiB,EAC/C;YACE,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,EACD,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,OAAe;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAAY;QACpC,OAAO,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,IAAY;QACrC,OAAO,0DAA0D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAA2B;QACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;QACjG,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3F,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,QAAuB,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,QAAqB,EAAE,OAAkC;QAC9F,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG;YACd,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,YAAY;YACzC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,qBAAqB;SACzD,CAAC;QACF,QAAQ,CAAC,QAAQ,GAAG;YAClB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC5B,IAAI,EAAE;gBACJ,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;gBAClC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,eAAe;gBACtD,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,oBAAoB;gBACjE,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,gBAAgB;aACtD;SACF,CAAC;QACF,IAAI,OAAO,EAAE,mBAAmB,KAAK,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACvE,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;QACzB,CAAC;QACD,IAAI,OAAO,EAAE,eAAe,KAAK,KAAK,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzE,QAAQ,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAA8C;QAClF,IAAI,MAAM,YAAY,UAAU;YAAE,OAAO,MAAM,CAAC;QAChD,IAAI,MAAM,YAAY,WAAW;YAAE,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,OAAQ,MAAe,CAAC,WAAW,KAAK,UAAU;YAAE,OAAO,IAAI,UAAU,CAAC,MAAO,MAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QACpH,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAwB;QACnE,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,IAAI,uCAAuC,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,KAAyB,EACzB,QAAgB,EAChB,OAAuB,EACvB,gBAAuC;QAEvC,MAAM,UAAU,GAAG,KAAK;aACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aACvG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,QAAQ,GAAG,eAAe,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,MAAM,aAAa,GAA8B,EAAE,CAAC;QAEpD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,MAAM,OAAO,GAAG,CAAC,MAAc,EAAQ,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,WAAW,GAAG,YAAY,CAAC;YAE/B,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC9D,OAAO,CAAC,8CAA8C,CAAC,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,SAAS,EAAE,CAAC;gBACd,gBAAgB,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,CAAC,4BAA4B,CAAC,CAAC;oBACtC,SAAS;gBACX,CAAC;gBACD,WAAW,GAAG,eAAe,CAAC,qBAAqB,CAAC,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;gBACjH,kBAAkB,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,eAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,YAAY,GAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;YACpE,IAAI,IAAI,CAAC,IAAI;gBAAE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI;gBAAE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;gBAAE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE5B,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,IAAI,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;gBACrF,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;YACrH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,kBAAkB,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnF,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAEzE,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,eAAe,CAAC,IAAI,CAClB,0LAA0L,CAC3L,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC/C,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,QAAQ,CAAC,UAAU,mBAAmB,CAAC,CAAC;YAChH,CAAC;YACD,MAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACzH,MAAM,SAAS,GAAG,eAAe,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;YACtG,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACzF,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAClD,kBAAkB,GAAG,UAAU,CAAC;YAChC,IAAI,QAAQ;gBAAE,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,EAAE,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,sDAAsD,QAAQ,CAAC,UAAU,8BAA8B,CAAC,CAAC;QAC3H,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACjC,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC;QACjC,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,IAAI,eAAe,CAAC,0BAA0B,EAAE,CAAC;QACjF,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC7C,0FAA0F;oBACzF,GAAiF,CAAC,IAAI,CACrF,IAAI,CAAC,WAAW,EAChB,MAAM,EACN,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChE,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/D,GAAiF,CAAC,IAAI,CACrF,IAAI,CAAC,WAAW,EAChB,KAAK,EACL,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChC,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACL,GAAiF,CAAC,IAAI,CACrF,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,sEAAsE;QACtE,qFAAqF;QACrF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjH,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,kBAAkB;YAClB,YAAY;YACZ,QAAQ;YACR,QAAQ,EAAE;gBACR,gBAAgB;gBAChB,kBAAkB;gBAClB,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,eAAe;gBACzB,eAAe,EAAE,CAAC,kBAAkB;aACrC;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B;QACvC,OAAO;YACL,MAAM;gBACJ,OAAO,IAAI,KAAK,EAA8B,CAAC;YACjD,CAAC;SACF,CAAC;IACJ,CAAC"}
package/package.json CHANGED
@@ -1,49 +1,49 @@
1
- {
2
- "name": "@mdzip/core-js",
3
- "version": "1.2.6",
4
- "description": "Core TypeScript/JavaScript library for MDZip (.mdz): pack, unpack, validate, and resolve entry points.",
5
- "license": "Apache-2.0",
6
- "type": "module",
7
- "main": "dist/index.js",
8
- "types": "dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
13
- },
14
- "./node": {
15
- "types": "./dist/node.d.ts",
16
- "import": "./dist/node.js"
17
- }
18
- },
19
- "files": [
20
- "dist",
21
- "AGENTS.md"
22
- ],
23
- "scripts": {
24
- "build": "tsc -p tsconfig.json",
25
- "clean": "node -e \"import('node:fs').then(fs=>fs.rmSync('dist',{recursive:true,force:true}))\"",
26
- "typecheck": "tsc -p tsconfig.json --noEmit",
27
- "test": "npm run build && node --test tests/*.test.mjs"
28
- },
29
- "keywords": [
30
- "mdzip",
31
- "mdz",
32
- "markdown",
33
- "zip"
34
- ],
35
- "repository": {
36
- "type": "git",
37
- "url": "git+https://github.com/mdzip-project/mdzip-core-js.git"
38
- },
39
- "dependencies": {
40
- "@progress/jszip-esm": "^1.0.4"
41
- },
42
- "devDependencies": {
43
- "@types/node": "^22.19.20",
44
- "typescript": "^5.8.2"
45
- },
46
- "publishConfig": {
47
- "access": "public"
48
- }
49
- }
1
+ {
2
+ "name": "@mdzip/core-js",
3
+ "version": "1.3.1",
4
+ "description": "Core TypeScript/JavaScript library for MDZip (.mdz): pack, unpack, validate, and resolve entry points.",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./node": {
15
+ "types": "./dist/node.d.ts",
16
+ "import": "./dist/node.js"
17
+ }
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "AGENTS.md"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc -p tsconfig.json",
25
+ "clean": "node -e \"import('node:fs').then(fs=>fs.rmSync('dist',{recursive:true,force:true}))\"",
26
+ "typecheck": "tsc -p tsconfig.json --noEmit",
27
+ "test": "npm run build && node --test tests/*.test.mjs"
28
+ },
29
+ "keywords": [
30
+ "mdzip",
31
+ "mdz",
32
+ "markdown",
33
+ "zip"
34
+ ],
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/mdzip-project/mdzip-core-js.git"
38
+ },
39
+ "dependencies": {
40
+ "@progress/jszip-esm": "^1.0.4"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^22.19.20",
44
+ "typescript": "^5.8.2"
45
+ },
46
+ "publishConfig": {
47
+ "access": "public"
48
+ }
49
+ }