cbrowser 18.55.1 → 18.57.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 (68) hide show
  1. package/README.md +4 -4
  2. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  3. package/dist/analysis/accessibility-empathy.js +4 -34
  4. package/dist/analysis/accessibility-empathy.js.map +1 -1
  5. package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
  6. package/dist/analysis/agent-ready-audit.js +37 -32
  7. package/dist/analysis/agent-ready-audit.js.map +1 -1
  8. package/dist/analysis/competitive-benchmark.d.ts.map +1 -1
  9. package/dist/analysis/competitive-benchmark.js +4 -13
  10. package/dist/analysis/competitive-benchmark.js.map +1 -1
  11. package/dist/browser.d.ts.map +1 -1
  12. package/dist/browser.js +97 -46
  13. package/dist/browser.js.map +1 -1
  14. package/dist/cli.js +90 -1
  15. package/dist/cli.js.map +1 -1
  16. package/dist/mcp-server-remote.d.ts.map +1 -1
  17. package/dist/mcp-server-remote.js +93 -118
  18. package/dist/mcp-server-remote.js.map +1 -1
  19. package/dist/mcp-tools/base/advanced-interaction-tools.d.ts +14 -0
  20. package/dist/mcp-tools/base/advanced-interaction-tools.d.ts.map +1 -0
  21. package/dist/mcp-tools/base/advanced-interaction-tools.js +174 -0
  22. package/dist/mcp-tools/base/advanced-interaction-tools.js.map +1 -0
  23. package/dist/mcp-tools/base/audit-tools.d.ts +3 -3
  24. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  25. package/dist/mcp-tools/base/audit-tools.js +179 -47
  26. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  27. package/dist/mcp-tools/base/browser-management-tools.d.ts.map +1 -1
  28. package/dist/mcp-tools/base/browser-management-tools.js +62 -0
  29. package/dist/mcp-tools/base/browser-management-tools.js.map +1 -1
  30. package/dist/mcp-tools/base/browser-state-tools.d.ts +14 -0
  31. package/dist/mcp-tools/base/browser-state-tools.d.ts.map +1 -0
  32. package/dist/mcp-tools/base/browser-state-tools.js +229 -0
  33. package/dist/mcp-tools/base/browser-state-tools.js.map +1 -0
  34. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  35. package/dist/mcp-tools/base/cognitive-tools.js +10 -5
  36. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  37. package/dist/mcp-tools/base/index.d.ts +2 -0
  38. package/dist/mcp-tools/base/index.d.ts.map +1 -1
  39. package/dist/mcp-tools/base/index.js +10 -2
  40. package/dist/mcp-tools/base/index.js.map +1 -1
  41. package/dist/mcp-tools/base/navigation-tools.d.ts.map +1 -1
  42. package/dist/mcp-tools/base/navigation-tools.js +9 -2
  43. package/dist/mcp-tools/base/navigation-tools.js.map +1 -1
  44. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  45. package/dist/mcp-tools/base/persona-comparison-tools.js +27 -2
  46. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  47. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  48. package/dist/mcp-tools/base/visual-testing-tools.js +3 -1
  49. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  50. package/dist/mcp-tools/tool-categories.d.ts.map +1 -1
  51. package/dist/mcp-tools/tool-categories.js +12 -0
  52. package/dist/mcp-tools/tool-categories.js.map +1 -1
  53. package/dist/remediation/llms-txt.js +4 -14
  54. package/dist/remediation/llms-txt.js.map +1 -1
  55. package/dist/remediation/structured-data.js +4 -13
  56. package/dist/remediation/structured-data.js.map +1 -1
  57. package/dist/types.d.ts +16 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/types.js.map +1 -1
  60. package/dist/visual/cognitive-transport-chain.d.ts +6 -0
  61. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  62. package/dist/visual/cognitive-transport-chain.js +41 -0
  63. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  64. package/dist/visual/cognitive-transport.d.ts +6 -0
  65. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  66. package/dist/visual/cognitive-transport.js +164 -0
  67. package/dist/visual/cognitive-transport.js.map +1 -1
  68. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server-remote.d.ts","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAmCH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAexC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAiBpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuCrG;AAy/BD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwwB1F"}
1
+ {"version":3,"file":"mcp-server-remote.d.ts","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAmCH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAexC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAiBpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuCrG;AAm8BD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8wB1F"}
@@ -540,120 +540,90 @@ async function resolveApiKeyTier(apiKey) {
540
540
  return "free";
541
541
  }
542
542
  }
543
- // Rate limit storage: key (session or IP) -> entry
543
+ // ============================================================================
544
+ // Rate Limiting — per-account, tier-based
545
+ // ============================================================================
546
+ /**
547
+ * Per-tier rate limits. MCP protocol sends ~8 requests per connection init,
548
+ * so limits must account for protocol overhead, not just tool calls.
549
+ */
550
+ const TIER_RATE_LIMITS = {
551
+ free: { requests: 100, burst: 30 }, // ~12 reconnections/hour
552
+ pro: { requests: 1000, burst: 100 }, // ~125 reconnections/hour
553
+ enterprise: { requests: 0, burst: 0 }, // unlimited (0 = no limit)
554
+ };
555
+ const RATE_LIMIT_WINDOW_MS = 3600000; // 1 hour
556
+ const RATE_LIMIT_BURST_WINDOW_MS = 300000; // 5 minutes
557
+ // Rate limit storage: account key hash or IP -> entry
544
558
  const rateLimitStore = new Map();
545
- function getRateLimitConfig() {
546
- const enabled = process.env.RATE_LIMIT_ENABLED === "true";
547
- const maxRequests = parseInt(process.env.RATE_LIMIT_REQUESTS || "30", 10);
548
- const windowMs = parseInt(process.env.RATE_LIMIT_WINDOW_MS || "3600000", 10);
549
- const burstRequests = parseInt(process.env.RATE_LIMIT_BURST || "15", 10);
550
- const burstWindowMs = parseInt(process.env.RATE_LIMIT_BURST_WINDOW_MS || "300000", 10);
551
- const whitelistStr = process.env.RATE_LIMIT_WHITELIST || "";
552
- const whitelist = new Set();
553
- for (const ip of whitelistStr.split(",")) {
554
- const trimmed = ip.trim();
555
- if (trimmed) {
556
- whitelist.add(trimmed);
557
- }
558
- }
559
- return { enabled, maxRequests, windowMs, burstRequests, burstWindowMs, whitelist };
560
- }
561
559
  function getClientIP(req) {
562
- // Check X-Forwarded-For header (behind proxy/load balancer)
563
560
  const forwarded = req.headers["x-forwarded-for"];
564
- if (typeof forwarded === "string") {
565
- // Take the first IP in the chain (original client)
561
+ if (typeof forwarded === "string")
566
562
  return forwarded.split(",")[0].trim();
567
- }
568
- // Check X-Real-IP header (nginx)
569
563
  const realIp = req.headers["x-real-ip"];
570
- if (typeof realIp === "string") {
564
+ if (typeof realIp === "string")
571
565
  return realIp.trim();
572
- }
573
- // Fall back to socket remote address
574
566
  return req.socket.remoteAddress || "unknown";
575
567
  }
576
- function getRateLimitKey(req) {
577
- // Prefer MCP session ID for per-session tracking
578
- const sessionId = req.headers["mcp-session-id"];
579
- if (typeof sessionId === "string" && sessionId.length > 0) {
580
- return `session:${sessionId}`;
568
+ /**
569
+ * Check rate limit for a request, keyed by account (API key hash) with tier-based limits.
570
+ * Falls back to IP-based limiting for unauthenticated requests (free tier limits).
571
+ */
572
+ function checkRateLimit(req, tier) {
573
+ if (process.env.RATE_LIMIT_ENABLED !== "true") {
574
+ return { allowed: true, remaining: 999, resetTime: 0, limit: 999 };
581
575
  }
582
- // Fall back to IP-based tracking
583
- return `ip:${getClientIP(req)}`;
584
- }
585
- function checkRateLimit(req, config) {
586
- if (!config.enabled) {
587
- return { allowed: true, remaining: config.maxRequests, resetTime: 0 };
576
+ const resolvedTier = tier || "free";
577
+ const limits = TIER_RATE_LIMITS[resolvedTier] || TIER_RATE_LIMITS.free;
578
+ // Enterprise = unlimited
579
+ if (limits.requests === 0) {
580
+ return { allowed: true, remaining: 999999, resetTime: 0, limit: 0 };
588
581
  }
589
- const ip = getClientIP(req);
590
- // Skip rate limiting for whitelisted IPs
591
- if (config.whitelist.has(ip)) {
592
- return { allowed: true, remaining: config.maxRequests, resetTime: 0 };
582
+ // Key by API key hash (account-based) or IP (unauthenticated)
583
+ const apiKey = extractApiKey(req);
584
+ let key;
585
+ if (apiKey) {
586
+ // Use a fast hash of the key for storage
587
+ let hash = 0;
588
+ for (let i = 0; i < apiKey.length; i++) {
589
+ hash = ((hash << 5) - hash + apiKey.charCodeAt(i)) | 0;
590
+ }
591
+ key = `account:${hash}`;
592
+ }
593
+ else {
594
+ key = `ip:${getClientIP(req)}`;
593
595
  }
594
- const key = getRateLimitKey(req);
595
596
  const now = Date.now();
596
- const windowStart = now - config.windowMs;
597
- const burstWindowStart = now - config.burstWindowMs;
598
- // Get or create entry
597
+ const windowStart = now - RATE_LIMIT_WINDOW_MS;
598
+ const burstWindowStart = now - RATE_LIMIT_BURST_WINDOW_MS;
599
599
  let entry = rateLimitStore.get(key);
600
600
  if (!entry) {
601
601
  entry = { requests: [], sessionStart: now };
602
602
  rateLimitStore.set(key, entry);
603
603
  }
604
- // Filter out requests outside the main window
605
- entry.requests = entry.requests.filter(timestamp => timestamp > windowStart);
606
- // Count requests in burst window
607
- const burstRequests = entry.requests.filter(timestamp => timestamp > burstWindowStart).length;
608
- // Check if within burst period (first burstWindowMs of session)
609
- const inBurstPeriod = (now - entry.sessionStart) < config.burstWindowMs;
610
- // Determine current limit based on burst period
611
- let currentLimit;
612
- let currentWindowRequests;
613
- if (inBurstPeriod) {
614
- // During burst period: use burst limit
615
- currentLimit = config.burstRequests;
616
- currentWindowRequests = burstRequests;
617
- }
618
- else {
619
- // After burst period: use sustained limit
620
- currentLimit = config.maxRequests;
621
- currentWindowRequests = entry.requests.length;
622
- }
623
- // Calculate remaining requests
624
- const remaining = Math.max(0, currentLimit - currentWindowRequests);
625
- // Calculate reset time
604
+ // Prune old requests
605
+ entry.requests = entry.requests.filter(t => t > windowStart);
606
+ // Determine which limit applies
607
+ const inBurstPeriod = (now - entry.sessionStart) < RATE_LIMIT_BURST_WINDOW_MS;
608
+ const burstCount = entry.requests.filter(t => t > burstWindowStart).length;
609
+ const currentLimit = inBurstPeriod ? limits.burst : limits.requests;
610
+ const currentCount = inBurstPeriod ? burstCount : entry.requests.length;
611
+ const remaining = Math.max(0, currentLimit - currentCount);
626
612
  const resetTime = entry.requests.length > 0
627
- ? entry.requests[0] + config.windowMs
628
- : now + config.windowMs;
629
- if (currentWindowRequests >= currentLimit) {
630
- // Rate limit exceeded
631
- return {
632
- allowed: false,
633
- remaining: 0,
634
- resetTime,
635
- burstRemaining: inBurstPeriod ? 0 : undefined,
636
- };
613
+ ? entry.requests[0] + RATE_LIMIT_WINDOW_MS
614
+ : now + RATE_LIMIT_WINDOW_MS;
615
+ if (currentCount >= currentLimit) {
616
+ return { allowed: false, remaining: 0, resetTime, limit: limits.requests };
637
617
  }
638
- // Allow request and record it
639
618
  entry.requests.push(now);
640
- return {
641
- allowed: true,
642
- remaining: remaining - 1,
643
- resetTime,
644
- burstRemaining: inBurstPeriod ? Math.max(0, config.burstRequests - burstRequests - 1) : undefined,
645
- };
619
+ return { allowed: true, remaining: remaining - 1, resetTime, limit: limits.requests };
646
620
  }
647
- // Cleanup old rate limit entries periodically (every 10 minutes)
621
+ // Cleanup old rate limit entries every 10 minutes
648
622
  setInterval(() => {
649
623
  const now = Date.now();
650
- const config = getRateLimitConfig();
651
624
  for (const [key, entry] of rateLimitStore.entries()) {
652
- // Filter out old requests
653
- entry.requests = entry.requests.filter(t => t > now - config.windowMs);
654
- // Remove entry if no requests and session is old (2x window)
655
- const sessionAge = now - entry.sessionStart;
656
- if (entry.requests.length === 0 && sessionAge > config.windowMs * 2) {
625
+ entry.requests = entry.requests.filter(t => t > now - RATE_LIMIT_WINDOW_MS);
626
+ if (entry.requests.length === 0 && (now - entry.sessionStart) > RATE_LIMIT_WINDOW_MS * 2) {
657
627
  rateLimitStore.delete(key);
658
628
  }
659
629
  }
@@ -745,7 +715,7 @@ function createMcpServer(customRegisterTools, sessionId, resolvedTier) {
745
715
  name: "cbrowser",
746
716
  title: "CBrowser — Cognitive Browser Automation",
747
717
  version: VERSION,
748
- description: "AI-powered browser automation with cognitive user simulation. 105 MCP tools for navigation, visual testing, accessibility auditing, persona-based testing, site knowledge learning, and security scanning. Simulates how real humans think, struggle, and give up on your site.",
718
+ description: "AI-powered browser automation with cognitive user simulation. 120 MCP tools for navigation, visual testing, accessibility auditing, persona-based testing, site knowledge learning, and security scanning. Simulates how real humans think, struggle, and give up on your site.",
749
719
  websiteUrl: "https://cbrowser.ai",
750
720
  icons: [
751
721
  { src: "https://cbrowser.ai/icon-192.png", sizes: ["192x192"] },
@@ -758,7 +728,7 @@ function createMcpServer(customRegisterTools, sessionId, resolvedTier) {
758
728
  prompts: {},
759
729
  resources: {},
760
730
  },
761
- instructions: `CBrowser — cognitive browser automation with 107 tools across 16 categories.
731
+ instructions: `CBrowser — cognitive browser automation with 120 tools across 16 categories.
762
732
 
763
733
  CORE TOOLS (use these first):
764
734
  • navigate, click, fill, scroll, screenshot, extract — browser control
@@ -820,7 +790,7 @@ TIPS:
820
790
  server.resource("docs://tools-overview", "docs://tools-overview", { description: "Overview of all 105 CBrowser MCP tools organized by category", mimeType: "text/plain" }, async () => ({
821
791
  contents: [{
822
792
  uri: "docs://tools-overview",
823
- text: "CBrowser provides 105 MCP tools across 11 categories: Browser Automation, Visual Testing, Cognitive Journeys, Site Knowledge, Accessibility, Persona System, Testing, Performance, Security, Session Management, and Marketing. Visit https://cbrowser.ai/docs/Tools-Overview for the complete reference.",
793
+ text: "CBrowser provides 120 MCP tools across 11 categories: Browser Automation, Visual Testing, Cognitive Journeys, Site Knowledge, Accessibility, Persona System, Testing, Performance, Security, Session Management, and Marketing. Visit https://cbrowser.ai/docs/Tools-Overview for the complete reference.",
824
794
  mimeType: "text/plain",
825
795
  }],
826
796
  }));
@@ -966,7 +936,6 @@ export async function startRemoteMcpServer(options) {
966
936
  // REQUIRE_AUTH=true forces auth even without static API keys (uses cbk_ keys + OAuth)
967
937
  const requireAuth = process.env.REQUIRE_AUTH === "true";
968
938
  const authEnabled = apiKeyAuthEnabled || auth0Enabled || requireAuth;
969
- const rateLimitConfig = getRateLimitConfig();
970
939
  console.log(`Starting CBrowser Remote MCP Server v${VERSION}...`);
971
940
  console.log(`Mode: ${sessionMode}`);
972
941
  console.log(`Auth: ${authEnabled ? "enabled" : "disabled (open access)"}`);
@@ -980,14 +949,11 @@ export async function startRemoteMcpServer(options) {
980
949
  console.log(` - Max concurrent sessions: ${MAX_CONCURRENT_SESSIONS}`);
981
950
  console.log(` - Idle timeout: ${SESSION_IDLE_TIMEOUT_MS / 1000}s`);
982
951
  console.log(` - Memory limit per session: ${SESSION_MEMORY_LIMIT_MB}MB`);
983
- if (rateLimitConfig.enabled) {
984
- console.log(`Rate Limiting: enabled`);
985
- console.log(` - Sustained: ${rateLimitConfig.maxRequests} requests per ${rateLimitConfig.windowMs / 1000 / 60} min`);
986
- console.log(` - Burst: ${rateLimitConfig.burstRequests} requests in first ${rateLimitConfig.burstWindowMs / 1000 / 60} min`);
987
- console.log(` - Tracking: per-session (falls back to IP)`);
988
- if (rateLimitConfig.whitelist.size > 0) {
989
- console.log(` - Whitelisted IPs: ${Array.from(rateLimitConfig.whitelist).join(", ")}`);
990
- }
952
+ if (process.env.RATE_LIMIT_ENABLED === "true") {
953
+ console.log(`Rate Limiting: per-account, tier-based`);
954
+ console.log(` - Free: ${TIER_RATE_LIMITS.free.requests} req/hr (burst: ${TIER_RATE_LIMITS.free.burst})`);
955
+ console.log(` - Pro: ${TIER_RATE_LIMITS.pro.requests} req/hr (burst: ${TIER_RATE_LIMITS.pro.burst})`);
956
+ console.log(` - Enterprise: unlimited`);
991
957
  }
992
958
  console.log(`Listening on ${host}:${port}`);
993
959
  const httpServer = createServer(async (req, res) => {
@@ -1462,44 +1428,53 @@ ${VERSION}
1462
1428
  // =====================================================================
1463
1429
  // Protected Endpoints (auth required)
1464
1430
  // =====================================================================
1465
- // Rate limit check (if enabled)
1466
- const rateLimit = checkRateLimit(req, rateLimitConfig);
1431
+ // Auth check first (we need the tier for rate limiting)
1432
+ let requestTier = null;
1433
+ if (authEnabled) {
1434
+ const authResult = await validateAuth(req, apiKeys, auth0Enabled);
1435
+ if (!authResult.valid) {
1436
+ sendUnauthorized(res, authResult.reason);
1437
+ return;
1438
+ }
1439
+ }
1440
+ // Resolve tier from API key for rate limiting
1441
+ const requestApiKeyForRate = extractApiKey(req);
1442
+ if (requestApiKeyForRate) {
1443
+ requestTier = await resolveApiKeyTier(requestApiKeyForRate);
1444
+ }
1445
+ // Per-account, tier-based rate limit check
1446
+ const rateLimit = checkRateLimit(req, requestTier);
1467
1447
  if (!rateLimit.allowed) {
1468
1448
  const retryAfterSeconds = Math.ceil((rateLimit.resetTime - Date.now()) / 1000);
1469
1449
  const retryAfterMinutes = Math.ceil(retryAfterSeconds / 60);
1470
1450
  const humanReadableTime = retryAfterSeconds > 60
1471
1451
  ? `${retryAfterMinutes} minute${retryAfterMinutes !== 1 ? "s" : ""}`
1472
1452
  : `${retryAfterSeconds} second${retryAfterSeconds !== 1 ? "s" : ""}`;
1453
+ const tierName = requestTier || "free";
1454
+ const tierLimit = rateLimit.limit;
1473
1455
  res.writeHead(429, {
1474
1456
  "Content-Type": "application/json",
1475
1457
  "Retry-After": String(retryAfterSeconds),
1476
- "X-RateLimit-Limit": String(rateLimitConfig.maxRequests),
1458
+ "X-RateLimit-Limit": String(tierLimit),
1477
1459
  "X-RateLimit-Remaining": "0",
1478
1460
  "X-RateLimit-Reset": String(Math.ceil(rateLimit.resetTime / 1000)),
1479
1461
  });
1480
1462
  res.end(JSON.stringify({
1481
1463
  error: "Rate Limit Exceeded",
1482
- message: `⚠️ CBrowser Demo Rate Limit Reached\n\nThe demo server allows ${rateLimitConfig.maxRequests} requests per hour to ensure fair access for all users.\n\nPlease wait ${humanReadableTime} before trying again.\n\nFor unlimited access, see: https://cbrowser.ai/enterprise`,
1483
- user_message: `Rate limit reached. Please wait ${humanReadableTime} and try again.`,
1464
+ message: `⚠️ CBrowser Rate Limit Reached (${tierName} tier)\n\nYour ${tierName} plan allows ${tierLimit} requests per hour.\n\nPlease wait ${humanReadableTime} before trying again.${tierName === "free" ? "\n\nUpgrade to Pro for 1,000 requests/hour: https://cbrowser.ai/pricing" : ""}`,
1465
+ user_message: `Rate limit reached (${tierName} tier). Please wait ${humanReadableTime} and try again.`,
1484
1466
  retry_after_seconds: retryAfterSeconds,
1485
1467
  retry_after_human: humanReadableTime,
1486
- limit: rateLimitConfig.maxRequests,
1487
- window_minutes: Math.round(rateLimitConfig.windowMs / 60000),
1468
+ limit: tierLimit,
1469
+ tier: tierName,
1470
+ window_minutes: 60,
1488
1471
  }));
1489
1472
  return;
1490
1473
  }
1491
1474
  // Add rate limit headers to successful responses
1492
- res.setHeader("X-RateLimit-Limit", String(rateLimitConfig.maxRequests));
1475
+ res.setHeader("X-RateLimit-Limit", String(rateLimit.limit));
1493
1476
  res.setHeader("X-RateLimit-Remaining", String(rateLimit.remaining));
1494
1477
  res.setHeader("X-RateLimit-Reset", String(Math.ceil(rateLimit.resetTime / 1000)));
1495
- // Auth check for protected endpoints
1496
- if (authEnabled) {
1497
- const authResult = await validateAuth(req, apiKeys, auth0Enabled);
1498
- if (!authResult.valid) {
1499
- sendUnauthorized(res, authResult.reason);
1500
- return;
1501
- }
1502
- }
1503
1478
  // Homepage (GET / with homepageHtml option)
1504
1479
  if (url.pathname === "/" && req.method === "GET" && options?.homepageHtml) {
1505
1480
  res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server-remote.js","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,YAAY,EAAmC,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAmB,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,qDAAqD;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQvC,8BAA8B;AAC9B,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,aAAa,IAAI,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7H,oDAAoD;AACpD,IAAI,OAAO,GAAoB,IAAI,CAAC;AAEpC,yCAAyC;AACzC,MAAM,aAAa,GAAkC,IAAI,CAAC;AAE1D,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAC/E,kEAAkE;AAClE,+EAA+E;AAE/E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoD,CAAC;AAClF,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAErD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,uBAAuB;IACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAClE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAc;IACpD,uBAAuB;IACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,eAAe;YAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,gCAAgC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC7C,CAAC;YACD,qEAAqE;YACrE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,aAAa,EAAE,KAAK,CAAC;IACzC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC;QAClC,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,WAAW;KACnB,CAAC,CAAC;IAEH,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;QAC5B,OAAO,EAAE,cAAc;QACvB,SAAS,EAAE,GAAG;QACd,YAAY,EAAE,GAAG;KAClB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;IAC/F,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AAC1F,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ;AACvG,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;AAQhH,4CAA4C;AAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;AAEtD,4DAA4D;AAC5D,wDAAwD;AACxD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiD,CAAC;AACjF,MAAM,4BAA4B,GAAG,MAAM,CAAC,CAAC,SAAS;AAEtD;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IAChD,oFAAoF;IACpF,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,6CAA6C,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,UAAU,UAAU,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7I,4DAA4D;QAC5D,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,2CAA2C;IAC7C,CAAC;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,iCAAiC;IACjC,IAAI,cAAc,CAAC,IAAI,IAAI,uBAAuB,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,yCAAyC;YACzC,iCAAiC,uBAAuB,uBAAuB;YAC/E,yBAAyB;YACzB,2DAA2D;YAC3D,6GAA6G;YAC7G,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,aAAa,EAAE,KAAK,CAAC;IACzC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC;QAClC,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK,EAAE,6CAA6C;QAChE,KAAK,EAAE,WAAW;KACnB,CAAC,CAAC;IAEH,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;QAC5B,OAAO,EAAE,cAAc;QACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,iCAAiC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,cAAc,CAAC,IAAI,IAAI,uBAAuB,UAAU,CAAC,CAAC;IAExI,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB,eAAe;IAC/E,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,8DAA8D;QAC9D,IAAI,SAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,eAAe,GAAI,OAAO,CAAC,OAAe,CAAC,OAAO,CAAC;YACzD,SAAS,GAAG,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAExB,8BAA8B;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;gBACvB,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,aAAa;aACjE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,wBAAwB;QAC1B,CAAC;QAED,kDAAkD;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB;gBACnD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,qCAAqC,SAAS,gBAAgB,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5G,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACvC,CAAC;QAED,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjC,yDAAyD;QACzD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,gCAAgC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,cAAc,CAAC,IAAI,IAAI,uBAAuB,cAAc,MAAM,EAAE,CAAC,CAAC;IACrJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAoB;IACpD,IAAI,CAAC;QACH,wEAAwE;QACxE,MAAM,eAAe,GAAI,OAAO,CAAC,OAAe,CAAC,OAAO,CAAC;QACzD,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QAElC,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtC,yCAAyC;QACzC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,cAAc,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB;QAC1E,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,+CAA+C;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,2BAA2B;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAExD,mDAAmD;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,oDAAoD,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5G,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;QAEtB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEvC,0CAA0C;QAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,eAAe,GAAI,OAAO,CAAC,OAAe,CAAC,OAAO,CAAC;gBACzD,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;oBACzC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;wBACd,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC1B,oDAAoD;wBACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,GAAG,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpG,IAAI,QAAQ,EAAE,CAAC;4BACb,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gCAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvG,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;QAC3D,CAAC;QAED,yCAAyC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,IAAI,GAAI,OAAe,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;gBACnD,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;oBACd,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,GAAG,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpG,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;4BAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvG,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,wDAAwD;QACxD,oEAAoE;QACpE,uDAAuD;QACvD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,2EAA2E;oBAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,GAAG,wBAAwB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACrG,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACrC,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjF,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,oCAAoC;wBAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;wBAC7B,MAAM,EAAE,CAAC;oBACX,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,+BAA+B,aAAa,CAAC,IAAI,WAAW,WAAW,CAAC,IAAI,WAAW,CAAC,CAAC;QACjI,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,WAAW,CAAC,KAAK,IAAI,EAAE;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,kEAAkE;IAClE,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC;QAChD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,4BAA4B,EAAE,CAAC;YACxD,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QAC1C,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,eAAe,EAAE,CAAC;YAC3C,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC;QAClD,qBAAqB;QACrB,IAAI,GAAG,GAAG,OAAO,CAAC,YAAY,GAAG,uBAAuB,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,sCAAsC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,WAAW,IAAI,CAAC,CAAC;YAC7G,MAAM,cAAc,CAAC,SAAS,EAAE,8BAA8B,WAAW,IAAI,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,GAAG,uBAAuB,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,QAAQ,QAAQ,uBAAuB,WAAW,CAAC,CAAC;YAC9H,MAAM,cAAc,CAAC,SAAS,EAAE,0BAA0B,QAAQ,YAAY,uBAAuB,WAAW,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,2BAA2B,EAAE,CAAC;AACtC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,yBAAyB;AAEpC;;GAEG;AACH,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,4DAA4D;QAC5D,MAAM,WAAW,GAAG,aAAa,EAAE,KAAK,CAAC;QAEzC,OAAO,GAAG,IAAI,QAAQ,CAAC;YACrB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyC,CAAC;AASpE,mCAAmC;AACnC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmD,CAAC;AAC9E,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,gCAAgC;AAEtE,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAE5C,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ;QACR,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;KACtC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,oBAAoB;IACpB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,wBAAwB,CAAC,CAAC,CAAC;QAE1F,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE;YAC/C,MAAM,EAAE,WAAW,KAAK,CAAC,MAAM,GAAG;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3E,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE;YACpB,OAAO;YACP,MAAM,EAAE,GAAG,GAAG,kBAAkB;SACjC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,oEAAoE;QACpE,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,WAAW,KAAK,CAAC,MAAM,WAAW,EAAE;gBACvE,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;iBACjC;aACF,CAAC,CAAC;YAEH,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAe;oBAC1B,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACpB,CAAC;gBAEF,qCAAqC;gBACrC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE;oBACpB,OAAO;oBACP,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,kBAAkB;iBACzD,CAAC,CAAC;gBAEH,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B;IACnC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,qBAAqB,EAAE,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC;QAClD,wBAAwB,EAAE,CAAC,QAAQ,CAAC;QACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAE9C,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,GAAoB,EAAE,SAAsB;IAClE,4CAA4C;IAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7C,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,mDAAmD;AACnD,+EAA+E;AAE/E,qDAAqD;AACrD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6F,CAAC;AAExH,8DAA8D;AAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkD,CAAC;AAEjF,uDAAuD;AACvD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoD,CAAC;AAC9E,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAoB;IACzC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7C,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAAc;IAC7C,6CAA6C;IAC7C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,cAAc;IACd,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IAEhE,wCAAwC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,4BAA4B,EAAE;YAC7D,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC,CAAC,0BAA0B;QACtD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAuC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAI,IAAI,CAAC,IAAoB,IAAI,MAAM,CAAC;QAClD,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAoBD,mDAAmD;AACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEzD,SAAS,kBAAkB;IACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAC;IAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAE5D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB;IACvC,4DAA4D;IAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,mDAAmD;QACnD,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,iCAAiC;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB;IAC3C,iDAAiD;IACjD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,WAAW,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,iCAAiC;IACjC,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CACrB,GAAoB,EACpB,MAAuB;IAEvB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAE5B,yCAAyC;IACzC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC1C,MAAM,gBAAgB,GAAG,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC;IAEpD,sBAAsB;IACtB,IAAI,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QAC5C,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IAE7E,iCAAiC;IACjC,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,GAAG,gBAAgB,CAAC,CAAC,MAAM,CAAC;IAE9F,gEAAgE;IAChE,MAAM,aAAa,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;IAExE,gDAAgD;IAChD,IAAI,YAAoB,CAAC;IACzB,IAAI,qBAA6B,CAAC;IAElC,IAAI,aAAa,EAAE,CAAC;QAClB,uCAAuC;QACvC,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;QACpC,qBAAqB,GAAG,aAAa,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,0CAA0C;QAC1C,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QAClC,qBAAqB,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,+BAA+B;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,CAAC,CAAC;IAEpE,uBAAuB;IACvB,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACzC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE1B,IAAI,qBAAqB,IAAI,YAAY,EAAE,CAAC;QAC1C,sBAAsB;QACtB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,CAAC;YACZ,SAAS;YACT,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEzB,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,SAAS,GAAG,CAAC;QACxB,SAAS;QACT,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAClG,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,WAAW,CAAC,GAAG,EAAE;IACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,0BAA0B;QAC1B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEvE,6DAA6D;QAC7D,MAAM,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;QAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAEnB,KAAK,UAAU,YAAY,CACzB,GAAoB,EACpB,OAA2B,EAC3B,YAAqB;IAErB,6DAA6D;IAC7D,IAAI,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,+CAA+C;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,IAAI;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IAChE,CAAC;IAED,qEAAqE;IACrE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7C,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,sDAAsD;QACtD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,IAAI;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;QAChE,CAAC;QACD,uBAAuB;QACvB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,OAAO;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sIAAsI,EAAE,CAAC;AAC1K,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB,EAAE,OAAgB;IAC7D,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,QAAQ,CAAC;IAEvB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,GAAG,2DAA2D,KAAK,CAAC,MAAM,mCAAmC,KAAK,CAAC,MAAM,eAAe,CAAC;IAClJ,CAAC;IAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,kBAAkB;QAClC,kBAAkB,EAAE,OAAO;KAC5B,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,OAAO,IAAI,kEAAkE;QACtF,GAAG,CAAC,KAAK,IAAI;YACX,YAAY,EAAE,KAAK,CAAC,MAAM;YAC1B,sBAAsB,EAAE,WAAW,KAAK,CAAC,MAAM,YAAY;YAC3D,cAAc,EAAE,WAAW,KAAK,CAAC,MAAM,cAAc;SACtD,CAAC;KACH,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,MAAiB,EACjB,mBAAmG,EACnG,SAAkB,EAClB,YAAiC;IAEjC,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACpC,CAAC,CAAC,UAAU,CAAC;IAEf,MAAM,OAAO,GAA4B,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAE9F,2FAA2F;IAC3F,MAAM,IAAI,GAAG,YAAY,IAAK,OAAO,CAAC,GAAG,CAAC,aAAyC,IAAI,IAAI,CAAC;IAE5F,IAAI,mBAAmB,EAAE,CAAC;QACxB,8EAA8E;QAC9E,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,mBAAmG,EACnG,SAAkB,EAClB,YAAiC;IAEjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,yCAAyC;QAChD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,iRAAiR;QAC9R,UAAU,EAAE,qBAAqB;QACjC,KAAK,EAAE;YACL,EAAE,GAAG,EAAE,kCAAkC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;YAC/D,EAAE,GAAG,EAAE,kCAAkC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;YAC/D,EAAE,GAAG,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;SAC9D;KACF,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;YAC5B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;SACd;QACD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFA4BoE;KACnF,CACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,MAAM,CACX,YAAY,EACZ,mFAAmF,EACnF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,qRAAqR;iBAC5R;aACF,CAAC;KACH,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,mBAAmB,EACnB,0DAA0D,EAC1D,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,uOAAuO;iBAC9O;aACF,CAAC;KACH,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,eAAe,EACf,6CAA6C,EAC7C,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC;gBACT,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,0LAA0L;iBACjM;aACF,CAAC;KACH,CAAC,CACH,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,QAAQ,CACb,uBAAuB,EACvB,uBAAuB,EACvB,EAAE,WAAW,EAAE,8DAA8D,EAAE,QAAQ,EAAE,YAAY,EAAE,EACvG,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC;gBACT,GAAG,EAAE,uBAAuB;gBAC5B,IAAI,EAAE,2SAA2S;gBACjT,QAAQ,EAAE,YAAY;aACvB,CAAC;KACH,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,QAAQ,CACb,iBAAiB,EACjB,iBAAiB,EACjB,EAAE,WAAW,EAAE,oDAAoD,EAAE,QAAQ,EAAE,YAAY,EAAE,EAC7F,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC;gBACT,GAAG,EAAE,iBAAiB;gBACtB,IAAI,EAAE,qhBAAqhB;gBAC3hB,QAAQ,EAAE,YAAY;aACvB,CAAC;KACH,CAAC,CACH,CAAC;IAEF,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,GAAoB,EACpB,GAAmB,EACnB,SAAwC;IAExC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,+FAA+F;IAC/F,wFAAwF;IACxF,kGAAkG;IAClG,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,qCAAqC,CAAC;QAC1D,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QACjC,sDAAsD;QACtD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC9E,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAErD,2DAA2D;QAC3D,IAAI,UAA+C,CAAC;QACpD,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAkC,UAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,2CAA2C;iBACrD;gBACD,EAAE,EAAE,IAAI;aACT,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,MAAM,MAAM,GAAI,UAAU,EAAE,MAAiB,IAAI,SAAS,CAAC;QAC3D,IAAI,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,EAAE,MAA6C,CAAC;QACzE,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;YAC5C,OAAO,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC;QACjC,CAAC;QACD,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;YAC3C,OAAO,GAAG,uBAAuB,CAAC;QACpC,CAAC;QAED,2DAA2D;QAC3D,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACvB,gBAAgB,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,sEAAsE,OAAO,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QAC5E,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,yBAAyB,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,UAAU,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,EAAE,CAAC,CAAC;QACnK,CAAC;QAED,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,MAAM,GAAG,CAAC,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACvB,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,wEAAwE;QACxE,gEAAgE;QAChE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;oBAC1B,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,iBAAiB,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,yCAAyC;QACzC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAExC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AA2BD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAgC;IACzE,uDAAuD;IACvD,iBAAiB,EAAE,CAAC;IAEpB,sFAAsF;IACtF,aAAa,CAAC,IAAI,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;IAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,CAAC;IAChE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,iBAAiB,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,KAAK,KAAK,IAAI,CAAC;IACpC,sFAAsF;IACtF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,CAAC;IACxD,MAAM,WAAW,GAAG,iBAAiB,IAAI,YAAY,IAAI,WAAW,CAAC;IACrE,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,wCAAwC,OAAO,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC3E,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,EAAE,IAAI,QAAQ,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,gCAAgC,uBAAuB,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,qBAAqB,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,iCAAiC,uBAAuB,IAAI,CAAC,CAAC;IAC1E,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,eAAe,CAAC,WAAW,iBAAiB,eAAe,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;QACtH,OAAO,CAAC,GAAG,CAAC,cAAc,eAAe,CAAC,aAAa,sBAAsB,eAAe,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9H,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAElE,sCAAsC;QACtC,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,qCAAqC,CAAC,CAAC;QAClF,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,0CAA0C,CAAC,CAAC;QAEhF,iCAAiC;QACjC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;YACrD,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,4BAA4B,CAAC,CAAC;QAC5E,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,2FAA2F,CAAC,CAAC;QAC3I,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,kCAAkC,CAAC,CAAC;QAEnF,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,4DAA4D;QAC5D,wEAAwE;QAExE,qDAAqD;QAErD,+EAA+E;QAC/E,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzF,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACnE,MAAM,mBAAmB,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;YAChF,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAE7C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;sDAsBwC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;+CAC1C,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;wDACpB,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;+DAC9B,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;mDACvD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;;2DAExB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,yCAAyC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;;oEAEnG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;eAapF,CAAC,CAAC;YACX,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3D,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG;gBAAE,IAAI,IAAI,KAAK,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAEzD,0CAA0C;YAC1C,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE;gBACpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACvC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBACtD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACzC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;gBAC1D,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,MAAM,CAAC,CAAC;gBACjG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACrD,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,aAAa,CAAC,6BAA6B,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,uBAAuB;YACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAC;YAC9D,IAAI,CAAC;gBACH,IAAI,MAAc,CAAC;gBAEnB,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChC,oDAAoD;oBACpD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,4BAA4B,EAAE;wBACrE,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;qBACnC,CAAC,CAAC;oBACH,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;wBACpB,aAAa,CAAC,iBAAiB,CAAC,CAAC;wBACjC,OAAO;oBACT,CAAC;oBACD,MAAM,GAAG,QAAQ,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,qBAAqB,EAAE;wBAC3D,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;qBAC1C,CAAC,CAAC;oBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,aAAa,CAAC,2BAA2B,CAAC,CAAC;wBAC3C,OAAO;oBACT,CAAC;oBAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA8D,CAAC;oBAEpG,2CAA2C;oBAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,oCAAoC,EAAE;wBACxE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,CAAC,KAAK,EAAE,EAAE;qBACxD,CAAC,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAsC,CAAC;oBACxE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;oBAE3B,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,aAAa,CAAC,mEAAmE,CAAC,CAAC;wBACnF,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,qBAAqB;gBACrB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC1B,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oBACnB,MAAM;oBACN,WAAW;oBACX,aAAa;oBACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;iBACtC,CAAC,CAAC;gBAEH,yCAAyC;gBACzC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC3C,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAE7C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACzD,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa,CAAC,oCAAoC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO;QACT,CAAC;QAED,8DAA8D;QAC9D,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACvD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG;gBAAE,IAAI,IAAI,KAAK,CAAC;YAE7C,IAAI,MAAuB,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE3C,IAAI,WAAW,GAAkB,IAAI,CAAC;YAEtC,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;gBACvC,2BAA2B;gBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAEvD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC7C,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;oBAClG,OAAO;gBACT,CAAC;gBAED,cAAc;gBACd,IAAI,MAAM,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC;oBACzC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC/E,IAAI,QAAQ,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;wBACtC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;wBACnG,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE1B,CAAC;iBAAM,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;gBAC9C,uEAAuE;gBACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAEvD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC/B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,sCAAsC,EAAE,CAAC,CAAC,CAAC;oBACjH,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAC;gBAE9D,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,kDAAkD;oBAClD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,4BAA4B,EAAE;wBAChE,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;qBACvC,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBACf,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;wBAC3F,OAAO;oBACT,CAAC;oBACD,WAAW,GAAG,YAAY,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,qBAAqB,EAAE;wBAC3D,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;qBAClE,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;wBACrG,OAAO;oBACT,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuB,CAAC;oBAC7D,oCAAoC;oBACpC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,wCAAwC,EAAE;wBAC5E,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,CAAC,KAAK,EAAE,EAAE;qBACxD,CAAC,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAsB,CAAC;oBACxD,WAAW,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;oBAClC,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,iEAAiE,EAAE,CAAC,CAAC,CAAC;wBACzI,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,8CAA8C,EAAE,CAAC,CAAC,CAAC;gBAChI,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,mDAAmD;YACnD,+EAA+E;YAC/E,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YAE7G,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,sCAAsC;QACtC,wEAAwE;QAExE,wBAAwB;QACxB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE;oBACZ,OAAO,EAAE,iBAAiB;oBAC1B,KAAK,EAAE,YAAY;iBACpB;aACF,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,8EAA8E;gBAC3F,YAAY,EAAE,MAAM;gBACpB,aAAa,EAAE,WAAW;gBAC1B,YAAY,EAAE;oBACZ,OAAO,EAAE,iBAAiB;oBAC1B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;wBACpB,MAAM,EAAE,KAAK,EAAE,MAAM;wBACrB,sBAAsB,EAAE,WAAW,KAAK,EAAE,MAAM,YAAY;wBAC5D,cAAc,EAAE,WAAW,KAAK,EAAE,MAAM,cAAc;qBACvD,CAAC,CAAC,CAAC,KAAK;iBACV;gBACD,YAAY,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,CAAC;aAC5F,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YAC7E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,CAAC,CAAC;YACpE,GAAG,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CZ,OAAO;CACR,CAAC,CAAC;YACG,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;iDAiBmC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAuChD,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,8DAA8D;QAC9D,iDAAiD;QACjD,2EAA2E;QAC3E,6DAA6D;QAC7D,IAAI,GAAG,CAAC,QAAQ,KAAK,yCAAyC,IAAI,CAAC,YAAY,EAAE,CAAC;YAChF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,KAAK,EAAE,4BAA4B;gBACnC,OAAO,EAAE,4FAA4F;aACtG,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,KAAK,uCAAuC,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,4BAA4B,EAAE,CAAC;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACb,wBAAwB;gBACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,mEAAmE;gBACnE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC;gBAC5D,MAAM,OAAO,GAAG,GAAG,QAAQ,MAAM,UAAU,EAAE,CAAC;gBAC9C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,QAAQ,EAAE,OAAO;oBACjB,qBAAqB,EAAE,EAAE;oBACzB,wBAAwB,EAAE,CAAC,QAAQ,CAAC;oBACpC,gBAAgB,EAAE,EAAE;oBACpB,sBAAsB,EAAE,GAAG,QAAQ,MAAM,UAAU,OAAO;oBAC1D,oBAAoB,EAAE,gEAAgE;iBACvF,CAAC,CAAC,CAAC;YACN,CAAC;YACD,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,sCAAsC;QACtC,wEAAwE;QAExE,gCAAgC;QAChC,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/E,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;YAC5D,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,EAAE;gBAC9C,CAAC,CAAC,GAAG,iBAAiB,UAAU,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACpE,CAAC,CAAC,GAAG,iBAAiB,UAAU,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAEvE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC;gBACxC,mBAAmB,EAAE,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC;gBACxD,uBAAuB,EAAE,GAAG;gBAC5B,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;aACnE,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,KAAK,EAAE,qBAAqB;gBAC5B,OAAO,EAAE,iEAAiE,eAAe,CAAC,WAAW,0EAA0E,iBAAiB,oFAAoF;gBACpR,YAAY,EAAE,mCAAmC,iBAAiB,iBAAiB;gBACnF,mBAAmB,EAAE,iBAAiB;gBACtC,iBAAiB,EAAE,iBAAiB;gBACpC,KAAK,EAAE,eAAe,CAAC,WAAW;gBAClC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC7D,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,iDAAiD;QACjD,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,GAAG,CAAC,SAAS,CAAC,uBAAuB,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAElF,qCAAqC;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,eAAe;QACf,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YACpD,wBAAwB;YACxB,wEAAwE;YACxE,yFAAyF;YACzF,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;YAE9E,IAAI,SAAwC,CAAC;YAC7C,IAAI,gBAAwB,CAAC;YAE7B,0EAA0E;YAC1E,2DAA2D;YAC3D,IAAI,aAAqB,CAAC;YAC1B,IAAI,iBAAiB,IAAI,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC/D,iCAAiC;gBACjC,gBAAgB,GAAG,iBAAiB,CAAC;gBACrC,aAAa,GAAG,QAAQ,CAAC;gBACzB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACrD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,IAAI,iBAAiB,EAAE,CAAC;gBAC7B,iEAAiE;gBACjE,4EAA4E;gBAC5E,gBAAgB,GAAG,iBAAiB,CAAC;gBACrC,aAAa,GAAG,YAAY,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,gBAAgB,GAAG,UAAU,EAAE,CAAC;gBAChC,aAAa,GAAG,WAAW,CAAC;YAC9B,CAAC;YAED,mEAAmE;YACnE,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,KAAK,OAAO,gBAAgB,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC;YAE1F,yFAAyF;YACzF,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE3F,IAAI,WAAW,KAAK,UAAU,IAAI,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;gBAC5E,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,4CAA4C,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBAEN,uBAAuB;gBACvB,oDAAoD;gBACpD,kGAAkG;gBAClG,SAAS,GAAG,IAAI,6BAA6B,CAAC;oBAC5C,kBAAkB,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;iBACpF,CAAC,CAAC;gBAEH,6DAA6D;gBAC7D,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEnF,kCAAkC;gBAClC,IAAI,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9C,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7E,CAAC;qBAAM,IAAI,aAAa,EAAE,CAAC;oBACzB,mEAAmE;oBACnE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACjD,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;wBAC5C,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;gBAED,0EAA0E;gBAC1E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;gBACjF,gBAAgB,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC;gBAE7C,mEAAmE;gBACnE,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBAEvF,yDAAyD;gBACzD,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;oBAC1B,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;gBAED,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEhC,oCAAoC;gBACpC,oEAAoE;gBACpE,wEAAwE;gBACxE,iEAAiE;gBACjE,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;oBAC/B,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;oBAC5C,SAAS,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;wBAC7B,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;wBACpC,yCAAyC;wBACzC,MAAM,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBACzC,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,6EAA6E;oBAC7E,8FAA8F;oBAC9F,SAAS,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;wBAC7B,2DAA2D;wBAC3D,yEAAyE;oBAC3E,CAAC,CAAC;gBACJ,CAAC;gBAED,0CAA0C;gBAC1C,SAAS,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;oBACnC,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,CAAC,CAAC;YACJ,CAAC;YAED,yCAAyC;YACzC,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,CAAC,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;gBAErD,uCAAuC;gBACvC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC,KAAK;4BACZ,OAAO,EAAE,0BAA0B,YAAY,EAAE;yBAClD;wBACD,EAAE,EAAE,IAAI;qBACT,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,2DAA2D,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC;QACvD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,uCAAuC,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,IAAI,IAAI,uCAAuC,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,2BAA2B;AAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACtD,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"mcp-server-remote.js","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * CBrowser MCP Tools - Advanced Interaction Tools
3
+ *
4
+ * hover, type_text, press_key, handle_dialog, upload_file, drag
5
+ *
6
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
7
+ * @license MIT
8
+ */
9
+ import type { McpServer, ToolRegistrationContext } from "../types.js";
10
+ /**
11
+ * Register advanced interaction tools (6 tools)
12
+ */
13
+ export declare function registerAdvancedInteractionTools(server: McpServer, { getBrowser, getBrowserByToken }: ToolRegistrationContext): void;
14
+ //# sourceMappingURL=advanced-interaction-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-interaction-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/advanced-interaction-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtE;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,SAAS,EACjB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,uBAAuB,GACzD,IAAI,CAoIN"}