tywrap 0.6.0 → 0.6.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.
Files changed (56) hide show
  1. package/dist/core/annotation-parser.d.ts.map +1 -1
  2. package/dist/core/annotation-parser.js +19 -14
  3. package/dist/core/annotation-parser.js.map +1 -1
  4. package/dist/core/discovery.d.ts +17 -0
  5. package/dist/core/discovery.d.ts.map +1 -1
  6. package/dist/core/discovery.js +59 -49
  7. package/dist/core/discovery.js.map +1 -1
  8. package/dist/core/validation.d.ts +23 -0
  9. package/dist/core/validation.d.ts.map +1 -1
  10. package/dist/core/validation.js +52 -48
  11. package/dist/core/validation.js.map +1 -1
  12. package/dist/dev.d.ts.map +1 -1
  13. package/dist/dev.js +175 -133
  14. package/dist/dev.js.map +1 -1
  15. package/dist/runtime/bridge-codec.d.ts +15 -0
  16. package/dist/runtime/bridge-codec.d.ts.map +1 -1
  17. package/dist/runtime/bridge-codec.js +45 -48
  18. package/dist/runtime/bridge-codec.js.map +1 -1
  19. package/dist/runtime/rpc-client.d.ts +18 -0
  20. package/dist/runtime/rpc-client.d.ts.map +1 -1
  21. package/dist/runtime/rpc-client.js +30 -24
  22. package/dist/runtime/rpc-client.js.map +1 -1
  23. package/dist/runtime/subprocess-transport.d.ts +16 -0
  24. package/dist/runtime/subprocess-transport.d.ts.map +1 -1
  25. package/dist/runtime/subprocess-transport.js +54 -35
  26. package/dist/runtime/subprocess-transport.js.map +1 -1
  27. package/dist/tywrap.d.ts +0 -5
  28. package/dist/tywrap.d.ts.map +1 -1
  29. package/dist/tywrap.js +0 -20
  30. package/dist/tywrap.js.map +1 -1
  31. package/dist/utils/cache.d.ts +11 -0
  32. package/dist/utils/cache.d.ts.map +1 -1
  33. package/dist/utils/cache.js +50 -58
  34. package/dist/utils/cache.js.map +1 -1
  35. package/dist/utils/python.d.ts.map +1 -1
  36. package/dist/utils/python.js +28 -17
  37. package/dist/utils/python.js.map +1 -1
  38. package/dist/utils/runtime.d.ts.map +1 -1
  39. package/dist/utils/runtime.js +22 -16
  40. package/dist/utils/runtime.js.map +1 -1
  41. package/dist/version.js +1 -1
  42. package/package.json +1 -1
  43. package/runtime/__pycache__/safe_codec.cpython-311.pyc +0 -0
  44. package/runtime/__pycache__/tywrap_bridge_core.cpython-311.pyc +0 -0
  45. package/src/core/annotation-parser.ts +23 -18
  46. package/src/core/discovery.ts +70 -54
  47. package/src/core/validation.ts +84 -48
  48. package/src/dev.ts +237 -153
  49. package/src/runtime/bridge-codec.ts +58 -70
  50. package/src/runtime/rpc-client.ts +39 -32
  51. package/src/runtime/subprocess-transport.ts +69 -39
  52. package/src/tywrap.ts +0 -24
  53. package/src/utils/cache.ts +59 -61
  54. package/src/utils/python.ts +33 -20
  55. package/src/utils/runtime.ts +24 -13
  56. package/src/version.ts +1 -1
package/dist/dev.js CHANGED
@@ -204,38 +204,40 @@ async function listExistingManagedFiles(outputDir) {
204
204
  }
205
205
  return managedFiles;
206
206
  }
207
+ async function listChildDirectories(current) {
208
+ let entries;
209
+ try {
210
+ entries = await readdir(current, { withFileTypes: true });
211
+ }
212
+ catch {
213
+ return [];
214
+ }
215
+ return entries
216
+ .filter(entry => entry.isDirectory())
217
+ .map(entry => join(current, entry.name));
218
+ }
219
+ async function isWatchableDirectory(current, ignoredPaths) {
220
+ if (shouldIgnoreWatchPath(current, ignoredPaths)) {
221
+ return false;
222
+ }
223
+ try {
224
+ const currentStats = await stat(current);
225
+ return currentStats.isDirectory();
226
+ }
227
+ catch {
228
+ return false;
229
+ }
230
+ }
207
231
  async function collectWatchDirectories(root, ignoredPaths) {
208
232
  const queue = [resolve(root)];
209
233
  const directories = [];
210
234
  while (queue.length > 0) {
211
235
  const current = queue.shift();
212
- if (shouldIgnoreWatchPath(current, ignoredPaths)) {
213
- continue;
214
- }
215
- let currentStats;
216
- try {
217
- currentStats = await stat(current);
218
- }
219
- catch {
220
- continue;
221
- }
222
- if (!currentStats.isDirectory()) {
236
+ if (!(await isWatchableDirectory(current, ignoredPaths))) {
223
237
  continue;
224
238
  }
225
239
  directories.push(current);
226
- let entries;
227
- try {
228
- entries = await readdir(current, { withFileTypes: true });
229
- }
230
- catch {
231
- continue;
232
- }
233
- for (const entry of entries) {
234
- if (!entry.isDirectory()) {
235
- continue;
236
- }
237
- queue.push(join(current, entry.name));
238
- }
240
+ queue.push(...(await listChildDirectories(current)));
239
241
  }
240
242
  return normalizePaths(directories);
241
243
  }
@@ -295,7 +297,37 @@ async function promoteManagedFiles(outputDir, nextFiles, previousManagedFiles) {
295
297
  throw error;
296
298
  }
297
299
  }
298
- async function resolveWatchTargets(config) {
300
+ const WATCH_TARGET_RESOLUTION_SCRIPT = [
301
+ 'import importlib',
302
+ 'import importlib.util',
303
+ 'import json',
304
+ 'import sys',
305
+ '',
306
+ 'module_name = sys.argv[1]',
307
+ 'spec = importlib.util.find_spec(module_name)',
308
+ 'if spec is None:',
309
+ " print(json.dumps({'missing': True}))",
310
+ ' raise SystemExit(0)',
311
+ '',
312
+ 'module_path = None',
313
+ 'module_origin = spec.origin',
314
+ 'if spec.submodule_search_locations:',
315
+ ' try:',
316
+ ' module = importlib.import_module(module_name)',
317
+ ' except Exception:',
318
+ ' module = None',
319
+ ' if module is not None:',
320
+ ' module_path = getattr(module, "__path__", None)',
321
+ ' module_origin = getattr(module, "__file__", None) or spec.origin',
322
+ 'payload = {',
323
+ " 'missing': False,",
324
+ " 'origin': module_origin,",
325
+ " 'locations': list(module_path) if module_path is not None else list(spec.submodule_search_locations or []),",
326
+ " 'has_location': bool(spec.has_location),",
327
+ '}',
328
+ 'print(json.dumps(payload))',
329
+ ].join('\n');
330
+ async function resolveWatchPythonEnv(config) {
299
331
  const pythonPath = await resolvePythonExecutable({
300
332
  pythonPath: config.runtime?.node?.pythonPath,
301
333
  virtualEnv: config.runtime?.node?.virtualEnv,
@@ -309,76 +341,62 @@ async function resolveWatchTargets(config) {
309
341
  .join(delimiter);
310
342
  const env = mergedPyPath ? { PYTHONPATH: mergedPyPath } : undefined;
311
343
  const timeoutMs = config.runtime?.node?.timeout ?? 30000;
344
+ return { pythonPath, env, timeoutMs };
345
+ }
346
+ async function resolveWatchTargetPayload(moduleName, pythonEnv) {
347
+ const result = await processUtils.exec(pythonEnv.pythonPath, ['-c', WATCH_TARGET_RESOLUTION_SCRIPT, moduleName], {
348
+ timeoutMs: pythonEnv.timeoutMs,
349
+ env: pythonEnv.env,
350
+ });
351
+ if (result.code !== 0) {
352
+ throw new Error(`Failed to resolve watch target for module "${moduleName}": ${result.stderr.trim() || result.stdout.trim() || 'unknown error'}`);
353
+ }
354
+ try {
355
+ return JSON.parse(result.stdout);
356
+ }
357
+ catch (error) {
358
+ throw new Error(`Failed to parse watch target for module "${moduleName}": ${error.message}`);
359
+ }
360
+ }
361
+ async function resolvePackageWatchTargets(moduleName, packageLocations) {
362
+ const targets = [];
363
+ for (const location of packageLocations) {
364
+ const packageDir = resolve(location);
365
+ const stats = await stat(packageDir);
366
+ if (!stats.isDirectory()) {
367
+ throw new Error(`Module "${moduleName}" resolved to "${packageDir}", but it is not a package directory`);
368
+ }
369
+ targets.push({ moduleName, path: packageDir, kind: 'directory' });
370
+ }
371
+ return targets;
372
+ }
373
+ async function resolveFileWatchTarget(moduleName, payload) {
374
+ if (typeof payload.origin !== 'string' || !payload.origin.endsWith('.py')) {
375
+ throw new Error(`Module "${moduleName}" is not backed by a local Python source file or package directory and cannot be watched`);
376
+ }
377
+ const modulePath = resolve(payload.origin);
378
+ const stats = await stat(modulePath);
379
+ if (!stats.isFile()) {
380
+ throw new Error(`Module "${moduleName}" resolved to "${modulePath}", but it is not a Python source file`);
381
+ }
382
+ return { moduleName, path: modulePath, kind: 'file' };
383
+ }
384
+ async function resolveModuleWatchTargets(moduleName, pythonEnv) {
385
+ const payload = await resolveWatchTargetPayload(moduleName, pythonEnv);
386
+ if (payload.missing) {
387
+ throw new Error(`Module "${moduleName}" could not be resolved for watching`);
388
+ }
389
+ const packageLocations = Array.isArray(payload.locations) ? payload.locations : [];
390
+ if (packageLocations.length > 0) {
391
+ return resolvePackageWatchTargets(moduleName, packageLocations);
392
+ }
393
+ return [await resolveFileWatchTarget(moduleName, payload)];
394
+ }
395
+ async function resolveWatchTargets(config) {
396
+ const pythonEnv = await resolveWatchPythonEnv(config);
312
397
  const watchTargets = [];
313
398
  for (const moduleName of Object.keys(config.pythonModules ?? {})) {
314
- const resolutionScript = [
315
- 'import importlib',
316
- 'import importlib.util',
317
- 'import json',
318
- 'import sys',
319
- '',
320
- 'module_name = sys.argv[1]',
321
- 'spec = importlib.util.find_spec(module_name)',
322
- 'if spec is None:',
323
- " print(json.dumps({'missing': True}))",
324
- ' raise SystemExit(0)',
325
- '',
326
- 'module_path = None',
327
- 'module_origin = spec.origin',
328
- 'if spec.submodule_search_locations:',
329
- ' try:',
330
- ' module = importlib.import_module(module_name)',
331
- ' except Exception:',
332
- ' module = None',
333
- ' if module is not None:',
334
- ' module_path = getattr(module, "__path__", None)',
335
- ' module_origin = getattr(module, "__file__", None) or spec.origin',
336
- 'payload = {',
337
- " 'missing': False,",
338
- " 'origin': module_origin,",
339
- " 'locations': list(module_path) if module_path is not None else list(spec.submodule_search_locations or []),",
340
- " 'has_location': bool(spec.has_location),",
341
- '}',
342
- 'print(json.dumps(payload))',
343
- ].join('\n');
344
- const result = await processUtils.exec(pythonPath, ['-c', resolutionScript, moduleName], {
345
- timeoutMs,
346
- env,
347
- });
348
- if (result.code !== 0) {
349
- throw new Error(`Failed to resolve watch target for module "${moduleName}": ${result.stderr.trim() || result.stdout.trim() || 'unknown error'}`);
350
- }
351
- let payload;
352
- try {
353
- payload = JSON.parse(result.stdout);
354
- }
355
- catch (error) {
356
- throw new Error(`Failed to parse watch target for module "${moduleName}": ${error.message}`);
357
- }
358
- if (payload.missing) {
359
- throw new Error(`Module "${moduleName}" could not be resolved for watching`);
360
- }
361
- const packageLocations = Array.isArray(payload.locations) ? payload.locations : [];
362
- if (packageLocations.length > 0) {
363
- for (const location of packageLocations) {
364
- const packageDir = resolve(location);
365
- const stats = await stat(packageDir);
366
- if (!stats.isDirectory()) {
367
- throw new Error(`Module "${moduleName}" resolved to "${packageDir}", but it is not a package directory`);
368
- }
369
- watchTargets.push({ moduleName, path: packageDir, kind: 'directory' });
370
- }
371
- continue;
372
- }
373
- if (typeof payload.origin !== 'string' || !payload.origin.endsWith('.py')) {
374
- throw new Error(`Module "${moduleName}" is not backed by a local Python source file or package directory and cannot be watched`);
375
- }
376
- const modulePath = resolve(payload.origin);
377
- const stats = await stat(modulePath);
378
- if (!stats.isFile()) {
379
- throw new Error(`Module "${moduleName}" resolved to "${modulePath}", but it is not a Python source file`);
380
- }
381
- watchTargets.push({ moduleName, path: modulePath, kind: 'file' });
399
+ watchTargets.push(...(await resolveModuleWatchTargets(moduleName, pythonEnv)));
382
400
  }
383
401
  return watchTargets;
384
402
  }
@@ -567,32 +585,41 @@ export async function startNodeWatchSession(options) {
567
585
  watcherRefreshPromise = watcherRefreshPromise.then(() => refreshActiveWatchers(), () => refreshActiveWatchers());
568
586
  return watcherRefreshPromise;
569
587
  };
588
+ const disposeReloadFailure = async (state) => {
589
+ if (state.preparedWatchers) {
590
+ closePreparedWatchers(state.preparedWatchers);
591
+ }
592
+ if (state.nextBridge) {
593
+ await state.nextBridge.dispose().catch(() => { });
594
+ }
595
+ };
570
596
  const runReload = async (trigger) => {
571
597
  if (closed) {
572
598
  return false;
573
599
  }
574
600
  emit({ type: 'reload-start', path: trigger.path, manual: trigger.manual });
575
- let stage = null;
576
- let nextBridge = null;
577
- let preparedWatchers = null;
601
+ const state = { stage: null, nextBridge: null, preparedWatchers: null };
578
602
  const abortReload = async (managerToDispose = null) => {
579
- if (preparedWatchers) {
580
- closePreparedWatchers(preparedWatchers);
581
- preparedWatchers = null;
603
+ if (state.preparedWatchers) {
604
+ closePreparedWatchers(state.preparedWatchers);
605
+ state.preparedWatchers = null;
582
606
  }
583
- if (nextBridge) {
584
- await nextBridge.dispose().catch(() => { });
585
- nextBridge = null;
607
+ if (state.nextBridge) {
608
+ await state.nextBridge.dispose().catch(() => { });
609
+ state.nextBridge = null;
586
610
  }
587
611
  if (managerToDispose) {
588
612
  await managerToDispose.dispose().catch(() => { });
589
613
  }
590
614
  return false;
591
615
  };
592
- try {
593
- stage = await generateToStage(configFile);
616
+ // Generate the next stage, prepare watchers, and warm the next bridge.
617
+ // Returns null when the session closed mid-flight (caller aborts).
618
+ const prepareReload = async () => {
619
+ const stage = await generateToStage(configFile);
620
+ state.stage = stage;
594
621
  if (closed) {
595
- return abortReload();
622
+ return null;
596
623
  }
597
624
  currentBridgeConfig = stage.config;
598
625
  const nextIgnoredPaths = buildIgnoredPaths(stage.outputDir);
@@ -603,16 +630,46 @@ export async function startNodeWatchSession(options) {
603
630
  ...extraWatchSources,
604
631
  ]);
605
632
  const watchPaths = normalizePaths(watchSources.map(source => source.path));
606
- preparedWatchers = await prepareWatchers(watchSources, nextIgnoredPaths);
633
+ const preparedWatchers = await prepareWatchers(watchSources, nextIgnoredPaths);
634
+ state.preparedWatchers = preparedWatchers;
607
635
  if (closed) {
608
- return abortReload();
636
+ return null;
609
637
  }
610
638
  if (bridgeManager) {
611
- nextBridge = await bridgeManager.prepareNextBridge();
639
+ state.nextBridge = await bridgeManager.prepareNextBridge();
612
640
  if (closed) {
613
- return abortReload();
641
+ return null;
614
642
  }
615
643
  }
644
+ return { stage, preparedWatchers, nextIgnoredPaths, watchPaths };
645
+ };
646
+ // Activate (or create) the bridge for the freshly prepared stage.
647
+ // Returns the manager to dispose (or null) when the session closed
648
+ // mid-flight, otherwise null; sets `closedDuringActivation` accordingly.
649
+ let closedDuringActivation = false;
650
+ const activateReloadBridge = async () => {
651
+ if (bridgeManager && state.nextBridge) {
652
+ await bridgeManager.activatePreparedBridge(state.nextBridge);
653
+ state.nextBridge = null;
654
+ closedDuringActivation = closed;
655
+ return null;
656
+ }
657
+ if (!bridgeManager) {
658
+ const createdBridgeManager = await ManagedBridgeReloader.create(createBridgeForSession);
659
+ if (closed) {
660
+ closedDuringActivation = true;
661
+ return createdBridgeManager;
662
+ }
663
+ bridgeManager = createdBridgeManager;
664
+ }
665
+ return null;
666
+ };
667
+ try {
668
+ const prepared = await prepareReload();
669
+ if (!prepared) {
670
+ return abortReload();
671
+ }
672
+ const { stage } = prepared;
616
673
  const previousManagedFiles = activeOutputDir === stage.outputDir
617
674
  ? managedFiles
618
675
  : await listExistingManagedFiles(stage.outputDir);
@@ -620,29 +677,19 @@ export async function startNodeWatchSession(options) {
620
677
  if (closed) {
621
678
  return abortReload();
622
679
  }
623
- if (bridgeManager && nextBridge) {
624
- await bridgeManager.activatePreparedBridge(nextBridge);
625
- nextBridge = null;
626
- if (closed) {
627
- return abortReload();
628
- }
629
- }
630
- else if (!bridgeManager) {
631
- const createdBridgeManager = await ManagedBridgeReloader.create(createBridgeForSession);
632
- if (closed) {
633
- return abortReload(createdBridgeManager);
634
- }
635
- bridgeManager = createdBridgeManager;
680
+ const managerToDispose = await activateReloadBridge();
681
+ if (closedDuringActivation) {
682
+ return abortReload(managerToDispose);
636
683
  }
637
684
  managedFiles = promotedManagedFiles;
638
685
  activeOutputDir = stage.outputDir;
639
- ignoredPaths = nextIgnoredPaths;
640
- commitWatchers(preparedWatchers);
686
+ ignoredPaths = prepared.nextIgnoredPaths;
687
+ commitWatchers(prepared.preparedWatchers);
641
688
  emit({
642
689
  type: 'reload-success',
643
690
  path: trigger.path,
644
691
  manual: trigger.manual,
645
- paths: watchPaths,
692
+ paths: prepared.watchPaths,
646
693
  written: [...stage.files.keys()].sort(),
647
694
  warnings: stage.warnings,
648
695
  });
@@ -651,12 +698,7 @@ export async function startNodeWatchSession(options) {
651
698
  }
652
699
  catch (error) {
653
700
  lastReloadError = error instanceof Error ? error : new Error(String(error));
654
- if (preparedWatchers) {
655
- closePreparedWatchers(preparedWatchers);
656
- }
657
- if (nextBridge) {
658
- await nextBridge.dispose().catch(() => { });
659
- }
701
+ await disposeReloadFailure(state);
660
702
  emit({
661
703
  type: 'reload-error',
662
704
  path: trigger.path,
@@ -666,8 +708,8 @@ export async function startNodeWatchSession(options) {
666
708
  return false;
667
709
  }
668
710
  finally {
669
- if (stage) {
670
- await rm(stage.tempDir, { recursive: true, force: true });
711
+ if (state.stage) {
712
+ await rm(state.stage.tempDir, { recursive: true, force: true });
671
713
  }
672
714
  }
673
715
  };
package/dist/dev.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,IAAI,aAAa,EAAkB,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG5F,OAAO,EAAE,QAAQ,EAAwB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAc5D,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IAC5C,aAAa;IACb,eAAe;IACf,aAAa;IACb,aAAa;CACd,CAAC,CAAC;AAmEH,SAAS,QAAQ,CACf,OAA+E,EAC/E,KAAqB;IAErB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAAuB,CAAC,IAAI,KAAK,UAAU,CACpD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAA0C,MAAS;IAChF,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QACH,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB;IAMN;IACA;IANX,aAAa,GAAa,IAAI,CAAC;IAC/B,QAAQ,GAAG,KAAK,CAAC;IACjB,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEjD,YACmB,YAA8B,EAC9B,OAAwC;QADxC,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,YAAO,GAAP,OAAO,CAAiC;IACxD,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,YAA8B,EAC9B,UAAiC,EAAE;QAEnC,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,YAAY,EAAE;YACtD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;SACzC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,UAAa;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,cAAc,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YACpD,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClC,wDAAwD;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,YAAY,IAAI,oBAAoB,EAAE,KAAK,YAAY,EAAE,CAAC;gBACxF,kBAAkB,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBACtC,mCAAmC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO,CAAI,IAAsB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CACtB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,SAAS,cAAc,CAAC,KAAuB;IAC7C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA8B;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5D,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IACzD,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,CACL,iBAAiB,KAAK,YAAY,IAAI,iBAAiB,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC,CAC5F,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,YAAsB;IACtE,OAAO,CACL,wBAAwB,CAAC,SAAS,CAAC;QACnC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA2B;IACpD,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,yBAAyB,QAAQ,CAAC,MAAM,WAAW,CAAC;IAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,OAAO,IAAI,KAAK,CAAC,GAAG,OAAO,KAAK,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,SAAiB;IACvD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IACE,KAAK,CAAC,MAAM,EAAE;gBACd,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,EAC3C,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAY,EAAE,YAAsB;IACzE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,IAAI,qBAAqB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,YAAY,CAAC;QACjB,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,MAAmB;IACxC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;KACpD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAAe;IACrD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,8BAA8B,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAAiB,EACjB,SAA8B,EAC9B,oBAAiC;IAEjC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,oBAAoB,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE1D,KAAK,MAAM,YAAY,IAAI,YAAY,EAAE,CAAC;QACxC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAClD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM,SAAS,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAqB;IACtD,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC;QAC/C,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU;QAC5C,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU;KAC7C,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACvD,MAAM,YAAY,GAAG;QACnB,GAAG,gBAAgB;QACnB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,SAAS,CAAC,CAAC;IACnB,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;IAEzD,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,gBAAgB,GAAG;YACvB,kBAAkB;YAClB,uBAAuB;YACvB,aAAa;YACb,YAAY;YACZ,EAAE;YACF,2BAA2B;YAC3B,8CAA8C;YAC9C,kBAAkB;YAClB,0CAA0C;YAC1C,yBAAyB;YACzB,EAAE;YACF,oBAAoB;YACpB,6BAA6B;YAC7B,qCAAqC;YACrC,UAAU;YACV,uDAAuD;YACvD,uBAAuB;YACvB,uBAAuB;YACvB,4BAA4B;YAC5B,yDAAyD;YACzD,0EAA0E;YAC1E,aAAa;YACb,uBAAuB;YACvB,8BAA8B;YAC9B,iHAAiH;YACjH,8CAA8C;YAC9C,GAAG;YACH,4BAA4B;SAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE;YACvF,SAAS;YACT,GAAG;SACJ,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,8CAA8C,UAAU,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE,CAChI,CAAC;QACJ,CAAC;QAED,IAAI,OAKH,CAAC;QACF,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAKjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,4CAA4C,UAAU,MAAO,KAAe,CAAC,OAAO,EAAE,CACvF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,sCAAsC,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,kBAAkB,UAAU,sCAAsC,CACxF,CAAC;gBACJ,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,0FAA0F,CAChH,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,kBAAkB,UAAU,uCAAuC,CACzF,CAAC;QACJ,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,UAAkB;IAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC5B,GAAG,MAAM;YACT,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,EAAE,cAAc;aACpB;YACD,WAAW,EAAE;gBACX,GAAG,MAAM,CAAC,WAAW;gBACrB,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC3D,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QAE5E,OAAO;YACL,MAAM;YACN,OAAO;YACP,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY;YACZ,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,OAAO,cAAc,CAAC;QACpB,SAAS;QACT,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAA8B,EAC9B,UAAiC,EAAE;IAEnC,OAAO,qBAAqB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAwC;IAExC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,cAAc,CACpC,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;IAE7C,IAAI,aAAa,GAAoC,IAAI,CAAC;IAC1D,IAAI,mBAAmB,GAAyB,IAAI,CAAC;IACrD,IAAI,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,kBAAkB,GAAkB,EAAE,CAAC;IAC3C,IAAI,QAAQ,GAAgB,EAAE,CAAC;IAC/B,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,aAAa,GAA4B,IAAI,CAAC;IAClD,IAAI,qBAAqB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7D,IAAI,aAAa,GAA8C,IAAI,CAAC;IACpE,IAAI,aAAyC,CAAC;IAC9C,IAAI,eAAe,GAAiB,IAAI,CAAC;IACzC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,IAAI,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC3C,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAE9F,MAAM,sBAAsB,GAAG,KAAK,IAAgB,EAAE;QACpD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,QAAQ,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAQ,EAAE;QACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,EAC3B,OAAsB,EACtB,gBAA0B,EACC,EAAE;QAC7B,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC3B,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBACjF,KAAK,MAAM,aAAa,IAAI,WAAW,EAAE,CAAC;wBACxC,MAAM,OAAO,GAAG,aAAa,CAC3B,aAAa,EACb,CAAC,SAAiB,EAAE,QAAgC,EAAQ,EAAE;4BAC5D,MAAM,QAAQ,GACZ,OAAO,QAAQ,KAAK,QAAQ;gCAC1B,CAAC,CAAC,QAAQ;gCACV,CAAC,CAAC,QAAQ,YAAY,MAAM;oCAC1B,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;oCACrB,CAAC,CAAC,EAAE,CAAC;4BACX,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;4BACzE,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gCAClC,OAAO;4BACT,CAAC;4BACD,IAAI,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gCACpD,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oCAC/B,kEAAkE;gCACpE,CAAC,CAAC,CAAC;4BACL,CAAC;4BACD,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;4BAC3D,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;wBACvD,CAAC,CACF,CAAC;wBACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;4BACvB,kEAAkE;wBACpE,CAAC,CAAC,CAAC;wBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzB,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC9C,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClC,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3D,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACvB,kEAAkE;gBACpE,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnE,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,QAAQ;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qBAAqB,CAAC;gBACpB,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAA0B,EAAQ,EAAE;QAC1D,aAAa,EAAE,CAAC;QAChB,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC;QACtC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,IAAmB,EAAE;QACtD,IAAI,MAAM,IAAI,aAAa,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,GAA4B,IAAI,CAAC;QAC7C,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,eAAe,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACnE,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;gBAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;QACpD,qBAAqB,GAAG,qBAAqB,CAAC,IAAI,CAChD,GAAG,EAAE,CAAC,qBAAqB,EAAE,EAC7B,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAC9B,CAAC;QACF,OAAO,qBAAqB,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EAAE,OAA2C,EAAoB,EAAE;QACxF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3E,IAAI,KAAK,GAAuB,IAAI,CAAC;QACrC,IAAI,UAAU,GAAa,IAAI,CAAC;QAChC,IAAI,gBAAgB,GAA4B,IAAI,CAAC;QAErD,MAAM,WAAW,GAAG,KAAK,EACvB,mBAAoD,IAAI,EACtC,EAAE;YACpB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;gBACxC,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC3C,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC;YACnC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CAAC,eAAe,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,qBAAqB,CAAC;gBACzC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;gBAClC,GAAG,KAAK,CAAC,YAAY;gBACrB,GAAG,iBAAiB;aACrB,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3E,gBAAgB,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACzE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,WAAW,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,UAAU,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBACrD,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,WAAW,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,MAAM,oBAAoB,GACxB,eAAe,KAAK,KAAK,CAAC,SAAS;gBACjC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAM,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,CACpD,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,EACX,oBAAoB,CACrB,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,WAAW,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,aAAa,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBACvD,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,WAAW,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,oBAAoB,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACxF,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,WAAW,CAAC,oBAAoB,CAAC,CAAC;gBAC3C,CAAC;gBACD,aAAa,GAAG,oBAAoB,CAAC;YACvC,CAAC;YAED,YAAY,GAAG,oBAAoB,CAAC;YACpC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;YAClC,YAAY,GAAG,gBAAgB,CAAC;YAChC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACjC,IAAI,CAAC;gBACH,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;gBACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YACH,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,IAAI,gBAAgB,EAAE,CAAC;gBACrB,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAAsB,EAAE;QACpD,MAAM,OAAO,GAAG,aAAa,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAClD,aAAa,GAAG,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,OAA2C,EAAoB,EAAE;QAC5F,aAAa,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,gBAAgB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC9C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,OAA2C,EAAQ,EAAE;QAC3E,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,aAAa,GAAG,OAAO,CAAC;QACxB,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QACD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,aAAa,GAAG,SAAS,CAAC;YAC1B,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChC,wDAAwD;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,aAAa,EAAE,CAAC;QAChB,MAAM,oBAAoB,GAAG,KAAK,EAChC,OAAwC,EACzB,EAAE;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QACF,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,eAAe,IAAI,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACL,KAAK,CAAC,SAAS;YACb,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,aAAa,GAAG,SAAS,CAAC;YAC5B,CAAC;YACD,OAAO,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,aAAa,GAAG,SAAS,CAAC;YAC5B,CAAC;YACD,aAAa,EAAE,CAAC;YAChB,MAAM,aAAa,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,21 @@ export declare class BridgeCodec {
63
63
  */
64
64
  private reviveValue;
65
65
  private toBridgeExecutionError;
66
+ /**
67
+ * Shared prelude for both decode paths: size guard, JSON parse (with bytes
68
+ * revival), protocol-version validation, and RPC-envelope unwrapping.
69
+ *
70
+ * Behavior-preserving extraction of the common head of decodeResponse and
71
+ * decodeResponseAsync; the only divergence between the two is what they do
72
+ * with the returned result (sync returns it as-is, async applies Arrow
73
+ * decoding) and so that divergence stays in the callers.
74
+ */
75
+ private parseResponseResult;
76
+ /**
77
+ * Post-decode guard: reject non-finite numbers (NaN/Infinity) when enabled.
78
+ * Shared by both decode paths.
79
+ */
80
+ private assertNoSpecialFloats;
66
81
  private extractResultFromRpcResponse;
67
82
  /**
68
83
  * Validate and encode a request payload.
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-codec.d.ts","sourceRoot":"","sources":["../../src/runtime/bridge-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;CACrD;AA2QD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACgC;gBAEzD,OAAO,GAAE,YAAiB;IAQtC,OAAO,CAAC,iBAAiB;IASzB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,4BAA4B;IAiCpC;;;;;;;OAOG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAgEvC;;;;;;;;;OASG;IACH,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IA0CrC;;;;;;;;;OASG;IACG,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAuDzD;;OAEG;IACH,OAAO,CAAC,QAAQ;CAajB"}
1
+ {"version":3,"file":"bridge-codec.d.ts","sourceRoot":"","sources":["../../src/runtime/bridge-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;CACrD;AA2QD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACgC;gBAEzD,OAAO,GAAE,YAAiB;IAQtC,OAAO,CAAC,iBAAiB;IASzB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,sBAAsB;IAM9B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,4BAA4B;IAiCpC;;;;;;;OAOG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAgEvC;;;;;;;;;OASG;IACH,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IASrC;;;;;;;;;OASG;IACG,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBzD;;OAEG;IACH,OAAO,CAAC,QAAQ;CAajB"}