@a1hvdy/cc-openclaw 0.5.2 → 0.7.0

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 (98) hide show
  1. package/dist/src/command-router/cc-handler.js +72 -0
  2. package/dist/src/command-router/cc-handler.js.map +1 -1
  3. package/dist/src/constants.d.ts +9 -0
  4. package/dist/src/constants.js +10 -0
  5. package/dist/src/constants.js.map +1 -1
  6. package/dist/src/engines/persistent-session.d.ts +2 -0
  7. package/dist/src/engines/persistent-session.js +41 -11
  8. package/dist/src/engines/persistent-session.js.map +1 -1
  9. package/dist/src/lib/config.d.ts +2 -0
  10. package/dist/src/lib/config.js +19 -0
  11. package/dist/src/lib/config.js.map +1 -1
  12. package/dist/src/lib/sysprompt-strip.js +12 -12
  13. package/dist/src/lib/sysprompt-strip.js.map +1 -1
  14. package/dist/src/lib/trajectory.d.ts +1 -1
  15. package/dist/src/lib/trajectory.js.map +1 -1
  16. package/dist/src/lib/vendor-paths.d.ts +6 -4
  17. package/dist/src/lib/vendor-paths.js +21 -14
  18. package/dist/src/lib/vendor-paths.js.map +1 -1
  19. package/dist/src/openai-compat/openai-compat.d.ts +7 -1
  20. package/dist/src/openai-compat/openai-compat.js +8 -1
  21. package/dist/src/openai-compat/openai-compat.js.map +1 -1
  22. package/dist/src/openai-compat/sse-translator.d.ts +23 -3
  23. package/dist/src/openai-compat/sse-translator.js +45 -6
  24. package/dist/src/openai-compat/sse-translator.js.map +1 -1
  25. package/dist/src/session-bootstrap/cwd-patch.js +59 -28
  26. package/dist/src/session-bootstrap/cwd-patch.js.map +1 -1
  27. package/dist/src/types.d.ts +1 -0
  28. package/package.json +2 -3
  29. package/vendor/base-oneshot-session.d.ts +0 -87
  30. package/vendor/base-oneshot-session.js +0 -227
  31. package/vendor/base-oneshot-session.js.map +0 -1
  32. package/vendor/circuit-breaker.d.ts +0 -21
  33. package/vendor/circuit-breaker.js +0 -47
  34. package/vendor/circuit-breaker.js.map +0 -1
  35. package/vendor/consensus.d.ts +0 -20
  36. package/vendor/consensus.js +0 -52
  37. package/vendor/consensus.js.map +0 -1
  38. package/vendor/constants.d.ts +0 -130
  39. package/vendor/constants.js +0 -139
  40. package/vendor/constants.js.map +0 -1
  41. package/vendor/council.d.ts +0 -67
  42. package/vendor/council.js +0 -913
  43. package/vendor/council.js.map +0 -1
  44. package/vendor/embedded-server.d.ts +0 -25
  45. package/vendor/embedded-server.js +0 -373
  46. package/vendor/embedded-server.js.map +0 -1
  47. package/vendor/inbox-manager.d.ts +0 -38
  48. package/vendor/inbox-manager.js +0 -111
  49. package/vendor/inbox-manager.js.map +0 -1
  50. package/vendor/index.d.ts +0 -63
  51. package/vendor/index.js +0 -705
  52. package/vendor/index.js.map +0 -1
  53. package/vendor/logger.d.ts +0 -16
  54. package/vendor/logger.js +0 -44
  55. package/vendor/logger.js.map +0 -1
  56. package/vendor/models.d.ts +0 -69
  57. package/vendor/models.js +0 -289
  58. package/vendor/models.js.map +0 -1
  59. package/vendor/openai-compat.d.ts +0 -197
  60. package/vendor/openai-compat.js +0 -765
  61. package/vendor/openai-compat.js.map +0 -1
  62. package/vendor/persistent-codex-session.d.ts +0 -16
  63. package/vendor/persistent-codex-session.js +0 -105
  64. package/vendor/persistent-codex-session.js.map +0 -1
  65. package/vendor/persistent-cursor-session.d.ts +0 -21
  66. package/vendor/persistent-cursor-session.js +0 -241
  67. package/vendor/persistent-cursor-session.js.map +0 -1
  68. package/vendor/persistent-custom-session.d.ts +0 -78
  69. package/vendor/persistent-custom-session.js +0 -937
  70. package/vendor/persistent-custom-session.js.map +0 -1
  71. package/vendor/persistent-gemini-session.d.ts +0 -21
  72. package/vendor/persistent-gemini-session.js +0 -216
  73. package/vendor/persistent-gemini-session.js.map +0 -1
  74. package/vendor/persistent-session.d.ts +0 -74
  75. package/vendor/persistent-session.js +0 -684
  76. package/vendor/persistent-session.js.map +0 -1
  77. package/vendor/proxy/anthropic-adapter.d.ts +0 -136
  78. package/vendor/proxy/anthropic-adapter.js +0 -392
  79. package/vendor/proxy/anthropic-adapter.js.map +0 -1
  80. package/vendor/proxy/handler.d.ts +0 -39
  81. package/vendor/proxy/handler.js +0 -323
  82. package/vendor/proxy/handler.js.map +0 -1
  83. package/vendor/proxy/schema-cleaner.d.ts +0 -11
  84. package/vendor/proxy/schema-cleaner.js +0 -34
  85. package/vendor/proxy/schema-cleaner.js.map +0 -1
  86. package/vendor/proxy/thought-cache.d.ts +0 -19
  87. package/vendor/proxy/thought-cache.js +0 -53
  88. package/vendor/proxy/thought-cache.js.map +0 -1
  89. package/vendor/session-manager.d.ts +0 -211
  90. package/vendor/session-manager.js +0 -1345
  91. package/vendor/session-manager.js.map +0 -1
  92. package/vendor/skill-resolver.js +0 -107
  93. package/vendor/types.d.ts +0 -466
  94. package/vendor/types.js +0 -8
  95. package/vendor/types.js.map +0 -1
  96. package/vendor/validation.d.ts +0 -31
  97. package/vendor/validation.js +0 -104
  98. package/vendor/validation.js.map +0 -1
@@ -140,7 +140,24 @@ function _setSystemInlineCache(key, val) {
140
140
  }
141
141
  _systemInlineCache.set(key, val);
142
142
  }
143
- // ── Tool dump hash guard ──────────────────────────────────────────────────
143
+ // ── Tool dump hash guard (v0.6.0 — per-session-key cache + fast-skip) ──
144
+ // Pre-v0.6.0: a single global `_lastToolDumpHash` thrashed when multiple
145
+ // sessions had different tool sets. JSON.stringify + SHA1 ran on EVERY
146
+ // chat-completion request with tools, even when nothing changed.
147
+ // Now: Map<sessionKey, { hash, len, firstName }>. Fast-skip path checks
148
+ // length + first tool name (cheap heuristic) before paying for full
149
+ // JSON.stringify + SHA1. Bounded to 200 entries (LRU).
150
+ const _toolDumpCache = new Map();
151
+ const TOOL_DUMP_CACHE_LIMIT = 200;
152
+ function _setToolDumpCacheEntry(key, val) {
153
+ if (_toolDumpCache.size >= TOOL_DUMP_CACHE_LIMIT) {
154
+ const oldest = _toolDumpCache.keys().next().value;
155
+ if (oldest)
156
+ _toolDumpCache.delete(oldest);
157
+ }
158
+ _toolDumpCache.set(key, val);
159
+ }
160
+ // Legacy single-slot kept for sessions without a key (defensive fallback).
144
161
  let _lastToolDumpHash = null;
145
162
  // ── sessionId capture state ───────────────────────────────────────────────
146
163
  let _lastCapturedJson = '';
@@ -434,15 +451,23 @@ async function applyPatch(workspaceCwd) {
434
451
  }
435
452
  }
436
453
  // Track B — Cache parity append injection (OPENCLAW_CACHE_PARITY=1)
454
+ // v0.6.0 fix: registry is keyed by the BARE session id (e.g. "gw-abc123"),
455
+ // written by the route-patch using `body.user`. startSession sees the
456
+ // FULL prefixed name (e.g. "openai-gw-abc123") so a direct lookup
457
+ // never matched — `cacheParityAppendInjections` was stuck at 0 since
458
+ // launch and every fresh session paid the full system-prompt token cost
459
+ // for the first turn. Strip the OPENAI_COMPAT_SESSION_PREFIX before lookup.
437
460
  if (isCacheParityTrackB()) {
438
461
  try {
439
462
  const reg = _readCacheParityRegistry();
440
- const entry = reg[config.name];
463
+ const fullName = config.name;
464
+ const rawKey = fullName.replace(/^openai-/, '');
465
+ const entry = reg[rawKey] ?? reg[fullName]; // fall back to historical full-key entries during migration
441
466
  if (entry?.sysContent) {
442
467
  const prev = config.appendSystemPrompt || '';
443
468
  config.appendSystemPrompt = prev ? `${prev}\n\n${entry.sysContent}` : entry.sysContent;
444
469
  METRICS.cacheParityAppendInjections++;
445
- logger.info(`${TAG} cache-parity: appended ${entry.sysContent.length} chars to ${config.name} appendSystemPrompt (hash=${entry.hash})`);
470
+ logger.info(`${TAG} cache-parity: appended ${entry.sysContent.length} chars to ${fullName} appendSystemPrompt (hash=${entry.hash}, lookupKey=${rawKey})`);
446
471
  }
447
472
  }
448
473
  catch (err) {
@@ -537,22 +562,35 @@ function applyRoutePatch(EmbeddedServer) {
537
562
  }
538
563
  }
539
564
  }
540
- // Tool strip
565
+ // Tool strip — v0.6.0: per-session-key cache + fast-skip path
541
566
  if (path === '/v1/chat/completions' && Array.isArray(body.tools) && body.tools.length > 0) {
542
- const toolCount = body.tools.length;
567
+ const tools = body.tools;
568
+ const toolCount = tools.length;
569
+ const sessionKey = body.user || '__no_session__';
543
570
  try {
544
- const dumpPath = join(PLUGIN_DIR, 'mcp-tools.json');
545
- const toolsJson = JSON.stringify(body.tools);
546
- const toolsHash = createHash('sha1').update(toolsJson).digest('hex').slice(0, 16);
547
- if (_lastToolDumpHash !== toolsHash) {
548
- const tmpPath = dumpPath + '.tmp';
549
- writeFileSync(tmpPath, toolsJson);
550
- renameSync(tmpPath, dumpPath);
551
- _lastToolDumpHash = toolsHash;
552
- logger.info(`${TAG} Dumped ${toolCount} tool definitions for MCP bridge (hash ${toolsHash})`);
571
+ // Fast-skip: same length + same first tool name as last seen for this
572
+ // session = ~99% likely identical. Avoids JSON.stringify + SHA1 entirely.
573
+ const firstName = tools[0]?.function?.name || '';
574
+ const cached = _toolDumpCache.get(sessionKey);
575
+ if (cached && cached.len === toolCount && cached.firstName === firstName) {
576
+ METRICS['toolDumpSkipped'] = (METRICS['toolDumpSkipped'] || 0) + 1;
553
577
  }
554
578
  else {
555
- METRICS['toolDumpSkipped'] = (METRICS['toolDumpSkipped'] || 0) + 1;
579
+ // Slow path: full hash computation + write
580
+ const dumpPath = join(PLUGIN_DIR, 'mcp-tools.json');
581
+ const toolsJson = JSON.stringify(body.tools);
582
+ const toolsHash = createHash('sha1').update(toolsJson).digest('hex').slice(0, 16);
583
+ if (_lastToolDumpHash !== toolsHash) {
584
+ const tmpPath = dumpPath + '.tmp';
585
+ writeFileSync(tmpPath, toolsJson);
586
+ renameSync(tmpPath, dumpPath);
587
+ _lastToolDumpHash = toolsHash;
588
+ logger.info(`${TAG} Dumped ${toolCount} tool definitions for MCP bridge (hash ${toolsHash})`);
589
+ }
590
+ else {
591
+ METRICS['toolDumpSkipped'] = (METRICS['toolDumpSkipped'] || 0) + 1;
592
+ }
593
+ _setToolDumpCacheEntry(sessionKey, { hash: toolsHash, len: toolCount, firstName });
556
594
  }
557
595
  }
558
596
  catch (e) {
@@ -593,24 +631,17 @@ function applyRoutePatch(EmbeddedServer) {
593
631
  const sysMsgs = messages.filter(m => m?.role === 'system');
594
632
  if (sysMsgs.length > 0) {
595
633
  let sysContent = sysMsgs.map(m => extractText(m.content)).filter(Boolean).join('\n\n');
596
- // Always-on strips (Path B + location strip)
634
+ // v0.6.0: stripSysprompt is run ONCE (was twice the second
635
+ // "aggressive strip" pass was redundant because the first call
636
+ // already runs aggressive when env permits). Single call returns
637
+ // both .changed and .aggressiveStripped — branch off the same result.
597
638
  const stripResult = stripSysprompt(sysContent);
598
639
  sysContent = stripResult.content;
599
640
  if (stripResult.changed) {
600
641
  METRICS['sysPromptVolatileStripped'] = (METRICS['sysPromptVolatileStripped'] || 0) + 1;
601
642
  }
602
- // Aggressive strip (F2.1) — default-on in cc-openclaw (P2 flip).
603
- // Opt-out via OPENCLAW_AGGRESSIVE_STRIP=0/false/off.
604
- // Legacy explicit OPENCLAW_AGGRESSIVE_STRIP=1 also enables (backward compat).
605
- // stripSysprompt() already ran always-on strips above; call again with
606
- // forceEnabled to ensure F2.1 runs regardless of env-parse in lib.
607
- // Skip only when opt-out env is set (isStripEnabled() returns false).
608
- {
609
- const aggrResult = stripSysprompt(sysContent);
610
- if (aggrResult.aggressiveStripped) {
611
- sysContent = aggrResult.content;
612
- METRICS['sysPromptAggressiveStripped'] = (METRICS['sysPromptAggressiveStripped'] || 0) + 1;
613
- }
643
+ if (stripResult.aggressiveStripped) {
644
+ METRICS['sysPromptAggressiveStripped'] = (METRICS['sysPromptAggressiveStripped'] || 0) + 1;
614
645
  }
615
646
  let lastUserIdx = -1;
616
647
  for (let i = messages.length - 1; i >= 0; i--) {
@@ -1 +1 @@
1
- {"version":3,"file":"cwd-patch.js","sourceRoot":"","sources":["../../../src/session-bootstrap/cwd-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,SAAS,EACT,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAmBtD,6EAA6E;AAE7E,MAAM,GAAG,GAAG,yBAAyB,CAAC;AACtC,MAAM,YAAY,GAAG,KAAK,CAAC;AAC3B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;AAEvB,8EAA8E;AAC9E,oFAAoF;AACpF,iFAAiF;AACjF,yCAAyC;AACzC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;IACvB,IAAI,CAAC;QACH,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;gBAAE,OAAO,GAAG,CAAC;YAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC1B,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;AACxD,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,KAAK,GAAG;IACZ,SAAS,EAAQ,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;IACxC,QAAQ,EAAS,YAAY,CAAC,cAAc;IAC5C,QAAQ,EAAS,YAAY,CAAC,cAAc;IAC5C,QAAQ,EAAS,YAAY,CAAC,MAAM;IACpC,SAAS,EAAQ,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACpD,QAAQ,EAAS,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;IAC1C,UAAU,EAAO,IAAI,CAAC,IAAI,EAAE,2CAA2C,CAAC;IACxE,YAAY,EAAK,IAAI,CAAC,IAAI,EAAE,4CAA4C,CAAC;IACzE,YAAY,EAAK,IAAI,CAAC,IAAI,EAAE,uCAAuC,CAAC;IACpE,YAAY,EAAK,IAAI,CAAC,IAAI,EAAE,+CAA+C,CAAC;IAC5E,eAAe,EAAE;QACf,IAAI,CAAC,IAAI,EAAE,yFAAyF,CAAC;QACrG,IAAI,CAAC,IAAI,EAAE,2FAA2F,CAAC;KAC5F;CACd,CAAC;AAEF,MAAM,cAAc,GAAS,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAAC;AACzF,MAAM,gBAAgB,GAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAC3E,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,4BAA4B,CAAC,CAAC;AAEtF,MAAM,mBAAmB,GAAI,IAAI,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAC;AAChF,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;AAC1E,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,EAAE,+CAA+C,CAAC,CAAC;AAE/F,oFAAoF;AACpF,MAAM,YAAY,GAAS,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AACvE,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAE7E,6EAA6E;AAE7E,MAAM,OAAO,GAA2B;IACtC,YAAY,EAAgB,CAAC;IAC7B,UAAU,EAAkB,CAAC;IAC7B,oBAAoB,EAAQ,CAAC;IAC7B,mBAAmB,EAAS,CAAC;IAC7B,iBAAiB,EAAW,CAAC;IAC7B,kBAAkB,EAAU,CAAC;IAC7B,mBAAmB,EAAS,CAAC;IAC7B,YAAY,EAAgB,CAAC;IAC7B,eAAe,EAAa,CAAC;IAC7B,iBAAiB,EAAW,CAAC;IAC7B,yBAAyB,EAAG,CAAC;IAC7B,2BAA2B,EAAC,CAAC;IAC7B,SAAS,EAAmB,IAAI,CAAC,GAAG,EAAE;CACvC,CAAC;AAEF,6EAA6E;AAE7E,IAAI,MAAM,GAAY,OAAO,CAAC;AAC9B,IAAI,YAAY,GAAI,KAAK,CAAC;AAC1B,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,6EAA6E;AAC7E,oEAAoE;AACpE,wEAAwE;AACxE,yEAAyE;AACzE,oEAAoE;AAEpE,MAAM,YAAY,GAAY,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACxE,MAAM,kBAAkB,GAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAChD,WAAW,CAAC,GAAG,EAAE;IACf,oDAAoD;IACpD,MAAM,IAAI,GAAI,UAAsC,CAAC,YAAY,CAAmD,CAAC;IACrH,IAAI,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,GAAG,EAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,4BAA4B,KAAK,wBAAwB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC,EAAE,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;AAOtC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAC/D,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,SAAS,qBAAqB,CAAC,GAAW,EAAE,GAAqB;IAC/D,IAAI,kBAAkB,CAAC,IAAI,IAAI,uBAAuB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACvF,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS;YAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IACD,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,6EAA6E;AAC7E,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAE5C,6EAA6E;AAC7E,IAAI,iBAAiB,GAAG,EAAE,CAAC;AAE3B,6EAA6E;AAE7E,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QACvC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,SAAS,+BAA+B;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3C,MAAM,OAAO,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,qCAAqC,OAAO,CAAC,MAAM,6BAA6B,CAAC,CAAC;YACpG,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;QACxD,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,UAAU,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,aAAa,MAAM,CAAC,MAAM,iEAAiE,CAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAuB;IAClD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,mBAAmB,GAAG,MAAM,CAAC;QACzC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC,CAAC,uEAAuE,CAAC,CAAC;AACrF,CAAC;AAQD,SAAS,wBAAwB;IAC/B,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC;QAAE,OAAO,EAAE,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QACvC,OAAO,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC,CAAE,GAAwC;YAC3C,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,IAAY,EAAE,UAAkB;IAClF,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO;IACpD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;QAC5C,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACnE,MAAM,GAAG,GAAG,0BAA0B,GAAG,MAAM,CAAC;QAChD,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,UAAU,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,wCAAwC;AAExC,SAAS,yBAAyB,CAAC,cAAsD;IACvF,oDAAoD;IACpD,MAAM,KAAK,GAAG,cAAc,CAAC,SAAoC,CAAC;IAClE,IAAI,OAAO,KAAK,CAAC,iBAAiB,CAAC,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,mEAAmE,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAsE,CAAC;IAC3G,IAAI,IAAI,CAAC,eAAe;QAAE,OAAO;IAEjC,MAAM,OAAO,GAAG,UAA8D,GAAG,IAAe;QAC9F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACD,OAAyD,CAAC,eAAe,GAAG,IAAI,CAAC;IAClF,KAAK,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,mFAAmF,CAAC,CAAC;AACzG,CAAC;AAED,6EAA6E;AAE7E,SAAS,uBAAuB,CAAC,YAAqB;IACpD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAI,YAA8D,EAAE,iBAAiB,CAAC;QACpG,IAAI,CAAC,CAAC,QAAQ,YAAY,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,0DAA0D,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,sBAAsB,QAAQ,CAAC,IAAI,kDAAkD,CAAC,CAAC;IAC3G,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,qEAAqE;AACrE,wCAAwC;AAExC,SAAS,mCAAmC,CAAC,OAAgB;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAQX,CAAC;QACF,IAAI,CAAC,GAAG,EAAE,QAAQ;YAAE,OAAO;QAC3B,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,cAAc,EAAE,eAAe,IAAI,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC;YACxF,IAAI,CAAC,SAAS;gBAAE,SAAS;YACzB,MAAM,KAAK,GAAG;gBACZ,IAAI;gBACJ,eAAe,EAAE,SAAS;gBAC1B,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG;uBAC3B,cAAc,EAAE,OAAO,EAAE,GAAG;uBAC5B,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG;gBAC1C,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK;uBAC/B,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;gBAC5C,YAAY,EAAE,cAAc,EAAE,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE;aACzD,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,GAAG,CAAC,iBAAiB,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,iBAAiB;YAAE,OAAO;QACvC,iBAAiB,GAAG,IAAI,CAAC;QACzB,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,iCAAiC,QAAQ,CAAC,MAAM,iCAAiC,QAAQ,CAAC,MAAM,yBAAyB,CAAC,CAAC;IAC/I,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,6EAA6E;AAE7E,SAAS,aAAa;IACpB,MAAM,QAAQ,GAAuB;QACnC,CAAC,4BAA4B,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC9C,CAAC,4BAA4B,EAAE,KAAK,CAAC,QAAQ,CAAC;KAC/C,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,4BAA4B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,wCAAwC;AAExC,MAAM,UAAU,wBAAwB;IACtC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG;QACZ,EAAE,MAAM,EAAE,cAAc,EAAW,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,iCAAiC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;QACxH,EAAE,MAAM,EAAE,gBAAgB,EAAS,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAiB,WAAW,EAAE,KAAK,EAAE;QACzH,EAAE,MAAM,EAAE,sBAAsB,EAAG,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAiB,WAAW,EAAE,IAAI,EAAG;KAC1H,CAAC;IACF,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;QACpD,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,WAAW;gBAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,oBAAoB,MAAM,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,0BAA0B,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,yDAAyD,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,wCAAwC;AAExC,SAAS,wBAAwB;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,sCAAsC,OAAO,SAAS,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBACnH,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,0CAA0C,OAAO,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,oDAAoD,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AASD,IAAI,UAAU,GAAqB,IAAI,CAAC;AAExC,KAAK,UAAU,YAAY;IACzB,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAqC;QAC1D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAqC;KAC3D,CAAC,CAAC;IACH,UAAU,GAAG;QACX,cAAc,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAK,KAAK,CAAC,SAAS,CAAyC,EAAE,CAAC,gBAAgB,CAAC,CAAgC;QACzJ,cAAc,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAK,KAAK,CAAC,SAAS,CAAyC,EAAE,CAAC,gBAAgB,CAAC,CAAgC;KAC1J,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,wCAAwC;AAExC,KAAK,UAAU,UAAU,CAAC,YAAoB;IAC5C,IAAI,YAAY;QAAE,OAAO;IACzB,YAAY,GAAG,IAAI,CAAC;IAEpB,IAAI,cAA2C,CAAC;IAChD,IAAI,CAAC;QACH,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrG,OAAO;IACT,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,2CAA2C,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,yBAAyB,CAAC,cAAmE,CAAC,CAAC;IAE/F,oDAAoD;IACpD,MAAM,KAAK,GAAI,cAAoE,CAAC,SAAS,CAAC;IAC9F,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAA2D,CAAC;IACjG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,qDAAqD,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,IAAK,QAA2D,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,0CAA0C,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,WAEnB,MAA+B;QAE/B,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzE,sBAAsB;YACtB,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC;gBAC/B,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC;gBAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,oBAAoB,MAAM,CAAC,IAAI,MAAM,WAAW,MAAM,YAAY,EAAE,CAAC,CAAC;YAC1F,CAAC;YAED,oCAAoC;YACpC,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,KAAK,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,2BAA2B,MAAM,CAAC,IAAI,6BAA6B,CAAC,CAAC;YACzF,CAAC;YAED,2BAA2B;YAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;YACpC,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACjD,MAAM,CAAC,SAAS,GAAG,CAAC,WAAW,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAAG,IAAI,CACvB,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAC1D,SAAS,EACT,WAAW,CACZ,CAAC;gBACF,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBACH,MAAM,CAAC,kBAAkB,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;wBAC/D,OAAO,CAAC,kBAAkB,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,2BAA2B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9D,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACtG,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,IAAI,mBAAmB,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,wBAAwB,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC;oBACzC,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;wBACtB,MAAM,IAAI,GAAI,MAAM,CAAC,kBAAyC,IAAI,EAAE,CAAC;wBACrE,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;wBACvF,OAAO,CAAC,2BAA2B,EAAE,CAAC;wBACtC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,2BAA2B,KAAK,CAAC,UAAU,CAAC,MAAM,aAAa,MAAM,CAAC,IAAI,6BAA6B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC1I,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,gDAAgD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxH,CAAC;YACH,CAAC;YAED,sEAAsE;YACtE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC;gBACvE,MAAM,QAAQ,GAAG,SAAS,EAAE,eAAe,CAAC;gBAC5C,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;oBAClC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,yBAAyB,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;IAED,OAAuD,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC9E,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,0EAA0E,CAAC,CAAC;AAChG,CAAC;AAED,6EAA6E;AAC7E,uEAAuE;AACvE,0EAA0E;AAC1E,yCAAyC;AAEzC,SAAS,eAAe,CAAC,cAAsD;IAC7E,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAA2D,CAAC;IAC3F,IAAI,CAAC,SAAS,IAAK,SAA2D,CAAC,kBAAkB,CAAC;QAAE,OAAO;IAE3G,oDAAoD;IACpD,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,YAAY,CAE1C,IAAa,EACb,IAA6B,EAC7B,KAAc,EACd,GAAgG,EAChG,OAA+B;QAE/B,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAE3C,mBAAmB;QACnB,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG;gBACd,GAAG,OAAO;gBACV,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;aACnE,CAAC;YACF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,0CAA0C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAwD;qBAC5E,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,CAAC,CAAU,EAAU,EAAE,CACzC,OAAO,CAAC,KAAK,QAAQ;oBACnB,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAChB,CAAC,CAAE,CAAgD;6BAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;6BAC5C,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,IAAI,CAAC;wBACf,CAAC,CAAC,EAAE,CAAC;gBACX,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAChD,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrF,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,wBAAwB,IAAI,CAAC,IAAI,cAAc,QAAQ,CAAC,MAAM,cAAc,UAAU,CAAC,MAAM,WAAW,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC;YAClJ,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAI,UAAsC,CAAC,kBAAkB,CAAsF,CAAC;YAC/J,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;oBACjB,MAAM,CAAC,GAAG,UAAqC,CAAC;oBAChD,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;wBAAE,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,EAAmB,CAAC;oBACjE,MAAM,WAAW,GAAG,SAAS,GAAI,IAAI,CAAC,IAAe,CAAC;oBACrD,CAAC,CAAC,WAAW,CAA0B,CAAC,GAAG,CAAC,WAAW,EAAE;wBACxD,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,aAAa,EAAE,IAAI,CAAC,aAAa;wBACjC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;qBACrB,CAAC,CAAC;oBACH,OAAO,CAAC,YAAY,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,uBAAuB,WAAW,WAAW,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;gBAClH,CAAC;YACH,CAAC;QACH,CAAC;QAED,aAAa;QACb,IAAI,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAK,IAAI,CAAC,KAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzG,MAAM,SAAS,GAAI,IAAI,CAAC,KAAmB,CAAC,MAAM,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;oBAClC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAClC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC9B,iBAAiB,GAAG,SAAS,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,SAAS,0CAA0C,SAAS,GAAG,CAAC,CAAC;gBAChG,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,sBAAsB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC;YAClB,OAAO,IAAI,CAAC,WAAW,CAAC;YACxB,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjE,MAAM,WAAW,GAAG,SAAS,GAAI,IAAI,CAAC,IAAe,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAyK,CAAC;gBAC3L,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;gBACnD,MAAM,KAAK,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;gBAC5E,IAAI,QAAQ,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;oBAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,4BAA4B,WAAW,+BAA+B,CAAC,CAAC;oBAC1F,MAAM,MAAM,GAAI,IAAI,CAAC,OAAmC,CAAC,aAAa,CAAkD,CAAC;oBACzH,IAAI,MAAM;wBAAE,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACrE,MAAM,WAAW,GAAG,CAAC,CAAU,EAAU,EAAE,CACzC,OAAO,CAAC,KAAK,QAAQ;gBACnB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChB,CAAC,CAAE,CAAgD;yBAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;yBAC5C,MAAM,CAAC,OAAO,CAAC;yBACf,IAAI,CAAC,IAAI,CAAC;oBACf,CAAC,CAAC,EAAE,CAAC;YAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAuD,CAAC;YAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEvF,6CAA6C;gBAC7C,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC/C,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC;gBACjC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzF,CAAC;gBAED,iEAAiE;gBACjE,qDAAqD;gBACrD,8EAA8E;gBAC9E,uEAAuE;gBACvE,mEAAmE;gBACnE,sEAAsE;gBACtE,CAAC;oBACC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;oBAC9C,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;wBAClC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC;wBAChC,OAAO,CAAC,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC7F,CAAC;gBACH,CAAC;gBAED,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;gBACrB,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;wBAAC,WAAW,GAAG,CAAC,CAAC;wBAAC,MAAM;oBAAC,CAAC;gBAC/D,CAAC;gBAED,oEAAoE;gBACpE,IAAI,uBAAuB,EAAE,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,MAAM,aAAa,GAAI,IAAI,CAAC,IAAe,IAAI,SAAS,CAAC;wBACzD,MAAM,YAAY,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxF,MAAM,QAAQ,GAAK,UAAU,CAAC,MAAM,CAAC;wBACrC,MAAM,SAAS,GAAI,YAAY,CAAC,MAAM,CAAC;wBACvC,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;wBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;4BAC1B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC5B,UAAU,EAAE,aAAa;4BACzB,QAAQ;4BACR,YAAY,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;4BACxC,SAAS;4BACT,aAAa,EAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;4BACzC,UAAU;4BACV,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;yBAC3C,CAAC,GAAG,IAAI,CAAC;wBACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,iDAAiD,CAAC,CAAC;wBAC9E,IAAI,CAAC;4BACH,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC9C,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,kCAAkC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpG,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,+BAA+B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACjG,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;oBACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjF,MAAM,UAAU,GAAI,IAAI,CAAC,IAAe,IAAI,SAAS,CAAC;oBAEtD,+BAA+B;oBAC/B,IAAI,kBAAkB,GAAG,KAAK,CAAC;oBAC/B,IAAI,mBAAmB,EAAE,EAAE,CAAC;wBAC1B,IAAI,CAAC;4BACH,MAAM,GAAG,GAAG,wBAAwB,EAAE,CAAC;4BACvC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;4BAC9B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC;gCAC3D,OAAO,CAAC,eAAe,EAAE,CAAC;gCAC1B,OAAO,CAAC,mBAAmB,EAAE,CAAC;gCAC9B,kBAAkB,GAAG,IAAI,CAAC;4BAC5B,CAAC;iCAAM,CAAC;gCACN,sBAAsB,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gCACxD,OAAO,CAAC,iBAAiB,EAAE,CAAC;gCAC5B,OAAO,CAAC,yBAAyB,EAAE,CAAC;gCACpC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,+BAA+B,UAAU,YAAY,KAAK,EAAE,IAAI,IAAI,MAAM,YAAY,OAAO,WAAW,UAAU,CAAC,MAAM,qDAAqD,CAAC,CAAC;4BACpM,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;wBAC1I,CAAC;oBACH,CAAC;oBAED,gDAAgD;oBAChD,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAClD,IAAI,aAAqB,CAAC;wBAC1B,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACtC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;4BAC9B,OAAO,CAAC,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC7F,CAAC;6BAAM,CAAC;4BACN,aAAa,GAAG,aAAa,UAAU,iBAAiB,CAAC;4BACzD,qBAAqB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;4BAC5E,OAAO,CAAC,+BAA+B,CAAC,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;4BAC/F,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,sCAAsC,UAAU,YAAY,MAAM,EAAE,IAAI,IAAI,MAAM,YAAY,OAAO,WAAW,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;4BAEvJ,8CAA8C;4BAC9C,IAAI,sBAAsB,EAAE,EAAE,CAAC;gCAC7B,IAAI,CAAC;oCACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;oCACnE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oCACzC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oCAC1D,aAAa,CAAC,GAAG,QAAQ,IAAI,EAAE,IAAI,UAAU,IAAI,OAAO,MAAM,EAAE,UAAU,CAAC,CAAC;gCAC9E,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACX,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,iCAAiC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gCACnG,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,EAAE,CAAC,OAAO,GAAG,GAAG,aAAa,GAAG,QAAQ,EAAE,CAAC;wBAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC;wBAC3D,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,EAAE,IAA0B,CAAC;YACrD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACxD,MAAM,CAAC,GAAG,UAAqC,CAAC;gBAChD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAmB,CAAC;gBACxD,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAwC,CAAC;gBACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;oBACvB,GAAG,IAAI;oBACP,YAAY,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,gBAAgB;oBAClD,kBAAkB,EAAE,WAAW,CAAC,GAAG,EAAE;iBACtC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,oDAAoD,CAAC,CAAC;QAEhE,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC;IAED,KAAK,CAAC,OAAO,CAAwD,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAClG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,4DAA4D,CAAC,CAAC;AAClF,CAAC;AAED,6EAA6E;AAC7E,0CAA0C;AAE1C,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,IAAI,aAAa;QAAE,OAAO,IAAI,CAAC;IAC/B,aAAa,GAAG,IAAI,CAAC;IAErB,IAAI,cAA2C,CAAC;IAChD,IAAI,cAA2C,CAAC;IAChD,IAAI,CAAC;QACH,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,iDAAiD,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,cAAmE,CAAC,CAAC;IAErF,IAAI,YAAY,GAAY,IAAI,CAAC;IACjC,MAAM,UAAU,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,YAAY,GAAG,IAAI,cAAc,CAAC;gBAChC,qBAAqB,EAAE,wBAAwB,EAAE;gBACjD,iBAAiB,EAAM,oBAAoB,EAAE;aAC9C,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,YAAiG,CAAC;YAC9G,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,6BAA6B,GAAG,CAAC,YAAY,EAAE,iBAAiB,IAAI,GAAG,uBAAuB,GAAG,CAAC,YAAY,EAAE,qBAAqB,IAAI,GAAG,GAAG,CAAC,CAAC;YAEnK,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,qCAAqC,IAAI,wBAAwB,CAAC,CAAC;YAErF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YAClE,UAAsC,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,0DAA0D,CAAC,CAAC;YAE9E,+DAA+D;YAC/D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAA4B,CAAC;gBACjF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC;oBAC1C,CAAC,CAAE,GAAG,CAAC,MAAoB;oBAC3B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAE,GAAG,EAAE,MAA8C,EAAE,IAAI,CAAC;wBACzE,CAAC,CAAG,GAAG,CAAC,MAAkC,CAAC,IAAkB;wBAC7D,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,SAAS,GAAI,SAAqD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC,CAAC;gBACrG,MAAM,WAAW,GAAG,CAAC,CAAU,EAAsB,EAAE,CACrD,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAwC,EAAE,OAAO,CAAC;gBACjF,MAAM,WAAW,GAAO,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACtD,MAAM,eAAe,GAAG,WAAW,CAAG,GAAG,EAAE,MAA8C,EAAE,QAAgD,EAAE,KAAK,CAAC,CAAC;gBACpJ,MAAM,SAAS,GAAG,WAAW,IAAI,eAAe,CAAC;gBACjD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBACjG,MAAM,CAAC,IAAI,CAAC;wBACV,EAAE;wBACF,sEAAsE;wBACtE,GAAG,GAAG,oDAAoD,SAAS,GAAG;wBACtE,uBAAuB,WAAW,IAAI,MAAM,gBAAgB,eAAe,IAAI,MAAM,GAAG;wBACxF,uFAAuF;wBACvF,iBAAiB;wBACjB,sDAAsD;wBACtD,iEAAiE;wBACjE,kFAAkF;wBAClF,6CAA6C,OAAO,EAAE;wBACtD,sEAAsE;wBACtE,EAAE;qBACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChB,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,kCAAkC,SAAS,aAAa,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC3H,CAAC;gBACD,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBACnH,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,yCAAyC,eAAe,0DAA0D,CAAC,CAAC;gBACxI,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjG,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,SAAS,CAAC,CAAC;gBACjE,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAA4C,CAAC;oBACnF,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,gCAAgC,MAAM,CAAC,QAAQ,IAAI,GAAG,cAAc,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;gBACjH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAE9B,yEAAyE;YACzE,oEAAoE;YACpE,sEAAsE;YACtE,qEAAqE;YACrE,kEAAkE;YAClE,sEAAsE;YACtE,kEAAkE;YAClE,8CAA8C;YAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC,YAAoF;iBAClF,YAAY,CAAC;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,kBAAkB;gBACzB,eAAe,EAAE,IAAI;aACtB,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACT,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,uDAAuD,SAAS,iCAAiC,CAAC,CAAC;YACvH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,yEAAyE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjJ,CAAC,CAAC,CAAC;YAEL,MAAM;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAA4B,CAAC;YACvC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,IAAI,iDAAiD,CAAC,CAAC;gBACnF,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,uCAAuC,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1G,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC1C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,6EAA6E;AAC7E,0CAA0C;AAE1C,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAGX,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,QAAQ,CAAC,MAAM,4BAA4B,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,aAAa,KAAK,CAAC,MAAM,sBAAsB,CAAC,CAAC;QACnE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,0BAA0B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,6EAA6E;AAE7E;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAc;IACrC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC;IAE/B,oBAAoB,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,EAAE,GAAG,EAAE;QACpE,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;QAC3F,MAAM,YAAY,GAAI,YAAY,CAAC,cAAc,CAAwB,IAAI,KAAK,CAAC,SAAS,CAAC;QAC7F,MAAM,IAAI,GAAI,YAAY,CAAC,MAAM,CAAwB,IAAI,YAAY,CAAC;QAE1E,4EAA4E;QAC5E,GAAG,CAAC,eAAe,CAAC;YAClB,EAAE,EAAE,uBAAuB;YAC3B,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACrB,IAAI,EAAG,KAAK,IAAI,EAAE,GAAE,CAAC;SACtB,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,uLAAuL,CAAC,CAAC;YAC3M,OAAO;QACT,CAAC;QAED,aAAa,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,gCAAgC,YAAY,WAAW,IAAI,EAAE,CAAC,CAAC;QAEjF,gDAAgD;QAChD,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,gCAAgC,EAAE,CAAC;QACpD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,oEAAoE,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,2BAA2B,QAAQ,CAAC,KAAK,8BAA8B,CAAC,CAAC;QAC7F,CAAC;QAED,0EAA0E;QAC1E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG,GAA8B,CAAC;YACzC,IAAI,OAAO,CAAC,CAAC,sBAAsB,CAAC,KAAK,UAAU,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,0EAA0E,CAAC,CAAC;gBAC9F,OAAO;YACT,CAAC;YACA,CAAC,CAAC,sBAAsB,CAA0C,CAAC;gBAClE,iBAAiB,EAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;gBACzD,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAG,MAAM,EAAE,GAAG,EAAE;aAC1D,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,mEAAmE,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,+BAA+B,EAAE,CAAC;QAElC,eAAe;QACf,wBAAwB,EAAE,CAAC;QAC3B,wBAAwB,EAAE,CAAC;QAE3B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,8CAA8C,CAAC,CAAC;QAClE,UAAU,CAAC,YAAY,CAAC;aACrB,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;aAClC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,mCAAmC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YAC/F,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YAChF,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC,CAAC,iCAAiC;AACvC,CAAC"}
1
+ {"version":3,"file":"cwd-patch.js","sourceRoot":"","sources":["../../../src/session-bootstrap/cwd-patch.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,7 @@ export interface SessionConfig {
127
127
  systemPrompt?: string;
128
128
  appendSystemPrompt?: string;
129
129
  dangerouslySkipPermissions?: boolean;
130
+ includePartialMessages?: boolean;
130
131
  agents?: Record<string, {
131
132
  description?: string;
132
133
  prompt: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a1hvdy/cc-openclaw",
3
- "version": "0.5.2",
3
+ "version": "0.7.0",
4
4
  "description": "A1xAI's Anthropic CLI bridge plugin for OpenClaw",
5
5
  "author": "@a1cy",
6
6
  "license": "MIT",
@@ -23,7 +23,6 @@
23
23
  },
24
24
  "files": [
25
25
  "dist/",
26
- "vendor/",
27
26
  "configs/",
28
27
  "skills/",
29
28
  "openclaw.plugin.json",
@@ -64,4 +63,4 @@
64
63
  "typescript-eslint": "^8.20.0",
65
64
  "vitest": "^3.1.0"
66
65
  }
67
- }
66
+ }
@@ -1,87 +0,0 @@
1
- /**
2
- * Base class for one-shot (process-per-send) session engines.
3
- *
4
- * Shared by Codex, Gemini, and Cursor — eliminates ~200 LOC of duplication
5
- * per engine. Subclasses only implement _run() (engine-specific CLI invocation)
6
- * and optionally override _cleanupProc() for extra cleanup (readline, streams).
7
- */
8
- import { ChildProcess } from 'node:child_process';
9
- import { EventEmitter } from 'node:events';
10
- import { type SessionConfig, type SessionStats, type EffortLevel, type ISession, type SessionSendOptions, type TurnResult, type CostBreakdown } from './types.js';
11
- /**
12
- * Parameterizes engine-specific behavior without requiring method overrides.
13
- * Passed to the BaseOneShotSession constructor by each subclass.
14
- */
15
- export interface OneShotEngineConfig {
16
- /** Prefix for session ID generation, e.g. 'codex', 'gemini', 'cursor' */
17
- enginePrefix: string;
18
- /** Fallback model for pricing lookups when session has no explicit model */
19
- defaultModel: string;
20
- /** Model name shown in getCost() output; defaults to defaultModel if omitted */
21
- defaultModelDisplay?: string;
22
- /** Whether this engine tracks cached token pricing (Codex=false, Gemini/Cursor=true) */
23
- supportsCachedTokens: boolean;
24
- /** Human-readable engine name for compact() no-op message */
25
- engineDisplayName: string;
26
- }
27
- export declare abstract class BaseOneShotSession extends EventEmitter implements ISession {
28
- protected options: SessionConfig;
29
- protected engineBin: string;
30
- protected engineCfg: OneShotEngineConfig;
31
- private _isReady;
32
- private _isPaused;
33
- private _isBusy;
34
- protected currentProc: ChildProcess | null;
35
- private currentRequestId;
36
- private _startTime;
37
- private _history;
38
- sessionId?: string;
39
- protected _stats: {
40
- turns: number;
41
- toolCalls: number;
42
- toolErrors: number;
43
- tokensIn: number;
44
- tokensOut: number;
45
- cachedTokens: number;
46
- costUsd: number;
47
- lastActivity: string | null;
48
- };
49
- constructor(config: SessionConfig, bin: string, engineCfg: OneShotEngineConfig);
50
- get pid(): number | undefined;
51
- get isReady(): boolean;
52
- get isPaused(): boolean;
53
- get isBusy(): boolean;
54
- start(): Promise<this>;
55
- send(message: string | unknown[], options?: SessionSendOptions): Promise<TurnResult | {
56
- requestId: number;
57
- sent: boolean;
58
- }>;
59
- /** Engine-specific: spawn the CLI and return a TurnResult. */
60
- protected abstract _run(message: string, options: SessionSendOptions): Promise<TurnResult>;
61
- getStats(): SessionStats & {
62
- sessionId?: string;
63
- uptime: number;
64
- };
65
- getHistory(limit?: number): Array<{
66
- time: string;
67
- type: string;
68
- event: unknown;
69
- }>;
70
- compact(_summary?: string): Promise<TurnResult>;
71
- getEffort(): EffortLevel;
72
- setEffort(level: EffortLevel): void;
73
- getCost(): CostBreakdown;
74
- resolveModel(alias: string): string;
75
- pause(): void;
76
- resume(): void;
77
- stop(): void;
78
- /** Override in subclasses that need extra cleanup (readline, stream destroy). */
79
- protected _cleanupProc(): void;
80
- protected _getModelPricing(): import("./models.js").ModelPricing;
81
- protected _recordTurnComplete(): void;
82
- protected _addHistory(event: {
83
- text: string;
84
- code: number | null;
85
- }): void;
86
- protected _updateCost(): void;
87
- }
@@ -1,227 +0,0 @@
1
- /**
2
- * Base class for one-shot (process-per-send) session engines.
3
- *
4
- * Shared by Codex, Gemini, and Cursor — eliminates ~200 LOC of duplication
5
- * per engine. Subclasses only implement _run() (engine-specific CLI invocation)
6
- * and optionally override _cleanupProc() for extra cleanup (readline, streams).
7
- */
8
- import { EventEmitter } from 'node:events';
9
- import * as fs from 'node:fs';
10
- import * as path from 'node:path';
11
- import { getModelPricing as _getModelPricingBase, } from './types.js';
12
- import { resolveAlias } from './models.js';
13
- import { MAX_HISTORY_ITEMS, DEFAULT_HISTORY_LIMIT, SESSION_EVENT } from './constants.js';
14
- // ─── BaseOneShotSession ────────────────────────────────────────────────────
15
- export class BaseOneShotSession extends EventEmitter {
16
- options;
17
- engineBin;
18
- engineCfg;
19
- _isReady = false;
20
- _isPaused = false;
21
- _isBusy = false;
22
- currentProc = null;
23
- currentRequestId = 0;
24
- _startTime = null;
25
- _history = [];
26
- sessionId;
27
- _stats = {
28
- turns: 0,
29
- toolCalls: 0,
30
- toolErrors: 0,
31
- tokensIn: 0,
32
- tokensOut: 0,
33
- cachedTokens: 0,
34
- costUsd: 0,
35
- lastActivity: null,
36
- };
37
- constructor(config, bin, engineCfg) {
38
- super();
39
- this.engineBin = bin;
40
- this.engineCfg = engineCfg;
41
- this.options = {
42
- ...config,
43
- permissionMode: config.permissionMode || 'bypassPermissions',
44
- };
45
- }
46
- // ── Property Accessors ─────────────────────────────────────────────────
47
- get pid() {
48
- return this.currentProc?.pid ?? undefined;
49
- }
50
- get isReady() {
51
- return this._isReady;
52
- }
53
- get isPaused() {
54
- return this._isPaused;
55
- }
56
- get isBusy() {
57
- return this._isBusy;
58
- }
59
- // ── start() ────────────────────────────────────────────────────────────
60
- async start() {
61
- if (this.options.cwd) {
62
- this.options.cwd = path.resolve(this.options.cwd);
63
- if (!fs.existsSync(this.options.cwd)) {
64
- fs.mkdirSync(this.options.cwd, { recursive: true });
65
- }
66
- }
67
- this.sessionId = `${this.engineCfg.enginePrefix}-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
68
- this._startTime = new Date().toISOString();
69
- this._isReady = true;
70
- this.emit(SESSION_EVENT.READY);
71
- this.emit(SESSION_EVENT.INIT, { type: 'system', subtype: 'init', session_id: this.sessionId });
72
- return this;
73
- }
74
- // ── send() ─────────────────────────────────────────────────────────────
75
- async send(message, options = {}) {
76
- if (!this._isReady)
77
- throw new Error('Session not ready. Call start() first.');
78
- const requestId = ++this.currentRequestId;
79
- const textMessage = typeof message === 'string' ? message : JSON.stringify(message);
80
- if (!options.waitForComplete) {
81
- this._run(textMessage, options).catch((err) => this.emit(SESSION_EVENT.ERROR, err));
82
- return { requestId, sent: true };
83
- }
84
- this._isBusy = true;
85
- try {
86
- return await this._run(textMessage, options);
87
- }
88
- finally {
89
- this._isBusy = false;
90
- }
91
- }
92
- // ── getStats() ─────────────────────────────────────────────────────────
93
- getStats() {
94
- return {
95
- turns: this._stats.turns,
96
- toolCalls: this._stats.toolCalls,
97
- toolErrors: this._stats.toolErrors,
98
- tokensIn: this._stats.tokensIn,
99
- tokensOut: this._stats.tokensOut,
100
- cachedTokens: this._stats.cachedTokens,
101
- costUsd: Math.round(this._stats.costUsd * 10000) / 10000,
102
- isReady: this._isReady,
103
- startTime: this._startTime,
104
- lastActivity: this._stats.lastActivity,
105
- contextPercent: 0,
106
- sessionId: this.sessionId,
107
- uptime: this._startTime ? Math.round((Date.now() - new Date(this._startTime).getTime()) / 1000) : 0,
108
- };
109
- }
110
- // ── getHistory() ───────────────────────────────────────────────────────
111
- getHistory(limit = DEFAULT_HISTORY_LIMIT) {
112
- return this._history.slice(-limit);
113
- }
114
- // ── compact() ──────────────────────────────────────────────────────────
115
- async compact(_summary) {
116
- const event = {
117
- type: 'result',
118
- result: `${this.engineCfg.engineDisplayName} engine does not support compaction`,
119
- };
120
- return { text: event.result, event };
121
- }
122
- // ── Effort ─────────────────────────────────────────────────────────────
123
- getEffort() {
124
- return this.options.effort || 'auto';
125
- }
126
- setEffort(level) {
127
- this.options.effort = level;
128
- }
129
- // ── getCost() ──────────────────────────────────────────────────────────
130
- getCost() {
131
- const pricing = this._getModelPricing();
132
- const displayModel = this.options.model || this.engineCfg.defaultModelDisplay || this.engineCfg.defaultModel;
133
- if (this.engineCfg.supportsCachedTokens) {
134
- const cachedPrice = pricing.cached ?? 0;
135
- const nonCachedIn = Math.max(0, this._stats.tokensIn - this._stats.cachedTokens);
136
- return {
137
- model: displayModel,
138
- tokensIn: this._stats.tokensIn,
139
- tokensOut: this._stats.tokensOut,
140
- cachedTokens: this._stats.cachedTokens,
141
- pricing: { inputPer1M: pricing.input, outputPer1M: pricing.output, cachedPer1M: cachedPrice || undefined },
142
- breakdown: {
143
- inputCost: (nonCachedIn / 1_000_000) * pricing.input,
144
- cachedCost: (this._stats.cachedTokens / 1_000_000) * cachedPrice,
145
- outputCost: (this._stats.tokensOut / 1_000_000) * pricing.output,
146
- },
147
- totalUsd: this._stats.costUsd,
148
- };
149
- }
150
- // Non-cached path (e.g. Codex)
151
- return {
152
- model: displayModel,
153
- tokensIn: this._stats.tokensIn,
154
- tokensOut: this._stats.tokensOut,
155
- cachedTokens: 0,
156
- pricing: { inputPer1M: pricing.input, outputPer1M: pricing.output, cachedPer1M: undefined },
157
- breakdown: {
158
- inputCost: (this._stats.tokensIn / 1_000_000) * pricing.input,
159
- cachedCost: 0,
160
- outputCost: (this._stats.tokensOut / 1_000_000) * pricing.output,
161
- },
162
- totalUsd: this._stats.costUsd,
163
- };
164
- }
165
- // ── resolveModel() ─────────────────────────────────────────────────────
166
- resolveModel(alias) {
167
- return resolveAlias(alias);
168
- }
169
- // ── pause / resume ─────────────────────────────────────────────────────
170
- pause() {
171
- this._isPaused = true;
172
- this.emit(SESSION_EVENT.PAUSED, { sessionId: this.sessionId });
173
- }
174
- resume() {
175
- this._isPaused = false;
176
- this.emit(SESSION_EVENT.RESUMED, { sessionId: this.sessionId });
177
- }
178
- // ── stop() ─────────────────────────────────────────────────────────────
179
- stop() {
180
- this._cleanupProc();
181
- this._isReady = false;
182
- this._isPaused = false;
183
- this.emit(SESSION_EVENT.CLOSE, 143);
184
- }
185
- /** Override in subclasses that need extra cleanup (readline, stream destroy). */
186
- _cleanupProc() {
187
- if (this.currentProc) {
188
- try {
189
- this.currentProc.kill('SIGTERM');
190
- }
191
- catch {
192
- // Process may have already exited
193
- }
194
- this.currentProc = null;
195
- }
196
- }
197
- // ── Protected Helpers (for subclass _run() implementations) ────────────
198
- _getModelPricing() {
199
- return _getModelPricingBase(this.options.model, this.engineCfg.defaultModel);
200
- }
201
- _recordTurnComplete() {
202
- this._stats.turns++;
203
- this._stats.lastActivity = new Date().toISOString();
204
- }
205
- _addHistory(event) {
206
- const now = this._stats.lastActivity || new Date().toISOString();
207
- this._history.push({ time: now, type: 'result', event });
208
- if (this._history.length > MAX_HISTORY_ITEMS)
209
- this._history.shift();
210
- }
211
- _updateCost() {
212
- const pricing = this._getModelPricing();
213
- if (this.engineCfg.supportsCachedTokens) {
214
- const cachedPrice = pricing.cached ?? 0;
215
- const nonCachedIn = Math.max(0, this._stats.tokensIn - this._stats.cachedTokens);
216
- this._stats.costUsd =
217
- (nonCachedIn / 1_000_000) * pricing.input +
218
- (this._stats.cachedTokens / 1_000_000) * cachedPrice +
219
- (this._stats.tokensOut / 1_000_000) * pricing.output;
220
- }
221
- else {
222
- this._stats.costUsd =
223
- (this._stats.tokensIn / 1_000_000) * pricing.input + (this._stats.tokensOut / 1_000_000) * pricing.output;
224
- }
225
- }
226
- }
227
- //# sourceMappingURL=base-oneshot-session.js.map