@useswarm/mcp
Advanced tools
@@ -23,2 +23,3 @@ /** | ||
| }; | ||
| persistentTunnelHostname?: string; | ||
| } | ||
@@ -29,2 +30,6 @@ export interface StoredConfig { | ||
| tunnelToken?: string; | ||
| /** cloudflared run-token (JWT) for the user's persistent named tunnel. */ | ||
| persistentTunnelToken?: string; | ||
| /** Stable hostname e.g. `<user-id>-acme.swarmtunnel.com`. */ | ||
| persistentTunnelHostname?: string; | ||
| } | ||
@@ -31,0 +36,0 @@ export declare function loadStoredConfig(): StoredConfig; |
+32
-0
@@ -102,2 +102,33 @@ /** | ||
| saveStoredConfig({ apiKey: poll.apiKey, apiUrl }); | ||
| let persistentTunnelHostname; | ||
| try { | ||
| const provisionRes = await fetch(`${apiUrl}/api/cli/tunnels/provision`, { | ||
| method: "POST", | ||
| headers: { | ||
| "Content-Type": "application/json", | ||
| "X-API-Key": poll.apiKey, | ||
| }, | ||
| }); | ||
| if (provisionRes.ok) { | ||
| const tunnel = (await provisionRes.json()); | ||
| saveStoredConfig({ | ||
| persistentTunnelToken: tunnel.runToken, | ||
| persistentTunnelHostname: tunnel.hostname, | ||
| }); | ||
| persistentTunnelHostname = tunnel.hostname; | ||
| console.error(tunnel.reused | ||
| ? `Persistent tunnel ready: https://${tunnel.hostname}` | ||
| : `Persistent tunnel created: https://${tunnel.hostname}`); | ||
| } | ||
| else { | ||
| const body = await provisionRes.json().catch(() => ({ error: provisionRes.statusText })); | ||
| const message = typeof body.error === "string" ? body.error : `HTTP ${provisionRes.status}`; | ||
| console.error(`Persistent tunnel not provisioned: ${message}`); | ||
| console.error("Localhost tests will fall back to ephemeral tunnels until this is configured."); | ||
| } | ||
| } | ||
| catch (err) { | ||
| console.error(`Persistent tunnel not provisioned: ${err.message}`); | ||
| console.error("Localhost tests will fall back to ephemeral tunnels until this is configured."); | ||
| } | ||
| return { | ||
@@ -108,2 +139,3 @@ apiKey: poll.apiKey, | ||
| ...(poll.organization ? { organization: poll.organization } : {}), | ||
| ...(persistentTunnelHostname ? { persistentTunnelHostname } : {}), | ||
| }; | ||
@@ -110,0 +142,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"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"} |
+117
-1
@@ -41,5 +41,6 @@ #!/usr/bin/env node | ||
| import { TunnelTransport } from "./tunnel/transport.js"; | ||
| import { loginViaDeviceCode, loadStoredConfig } from "./auth/login.js"; | ||
| import { loginViaDeviceCode, loadStoredConfig, saveStoredConfig } from "./auth/login.js"; | ||
| import { writeCodexMcpConfig } from "./auth/codex-setup.js"; | ||
| import { closeTunnel } from "./lib/target-tunnel.js"; | ||
| import { ApiClient } from "./lib/api-client.js"; | ||
| import { existsSync, readFileSync, unlinkSync } from "fs"; | ||
@@ -80,2 +81,5 @@ import { homedir } from "os"; | ||
| console.log(`API key: ...${result.apiKey.slice(-4)}`); | ||
| if (result.persistentTunnelHostname) { | ||
| console.log(`Persistent tunnel: https://${result.persistentTunnelHostname}`); | ||
| } | ||
| console.log(`Stored in: ~/.useswarm/config.json`); | ||
@@ -135,2 +139,90 @@ console.log(`\nNext: run 'useswarm-mcp setup' to register with your MCP host.`); | ||
| }); | ||
| // ─── Shared: persistent-tunnel provisioning ────────────── | ||
| /** | ||
| * Provision (or reuse) the user's persistent named Cloudflare tunnel and persist | ||
| * the run-token + hostname into ~/.useswarm/config.json. Auto-runs device-code | ||
| * login if not authenticated. Returns the hostname on success, exits on failure. | ||
| */ | ||
| async function provisionPersistentTunnelInteractive(opts) { | ||
| let stored = loadStoredConfig(); | ||
| const apiUrl = opts.apiUrl ?? stored.apiUrl ?? "https://api.useswarm.co"; | ||
| if (!stored.apiKey) { | ||
| console.error("[useswarm-mcp] No API key found. Starting device-code login..."); | ||
| try { | ||
| await loginViaDeviceCode({ | ||
| appUrl: opts.appUrl ?? "https://www.useswarm.co", | ||
| apiUrl, | ||
| }); | ||
| } | ||
| catch (err) { | ||
| console.error(`Login failed: ${err.message}`); | ||
| process.exit(1); | ||
| } | ||
| stored = loadStoredConfig(); | ||
| } | ||
| if (!stored.apiKey) { | ||
| console.error("Login did not produce an API key. Try `useswarm-mcp login` manually."); | ||
| process.exit(1); | ||
| } | ||
| const api = new ApiClient({ baseUrl: apiUrl, apiKey: stored.apiKey }); | ||
| try { | ||
| const result = await api.provisionTunnel(); | ||
| saveStoredConfig({ | ||
| persistentTunnelToken: result.runToken, | ||
| persistentTunnelHostname: result.hostname, | ||
| }); | ||
| console.log(); | ||
| console.log(result.reused | ||
| ? ` Persistent tunnel already provisioned` | ||
| : ` Persistent tunnel created`); | ||
| console.log(` Hostname: https://${result.hostname}`); | ||
| console.log(); | ||
| console.log(" Next steps:"); | ||
| console.log(` 1. Add https://${result.hostname}/auth/callback to your OAuth provider's allowlist`); | ||
| console.log(" (Google Cloud Console, Auth0, GitHub OAuth Apps, etc.)"); | ||
| console.log(" 2. Future `dev_test` calls against localhost will use this hostname automatically."); | ||
| console.log(); | ||
| console.log(" Revoke with: useswarm-mcp setup-tunnel --revoke"); | ||
| console.log(); | ||
| return result.hostname; | ||
| } | ||
| catch (err) { | ||
| console.error(`Failed to provision persistent tunnel: ${err.message}`); | ||
| process.exit(1); | ||
| } | ||
| } | ||
| async function revokePersistentTunnelInteractive(opts) { | ||
| const stored = loadStoredConfig(); | ||
| const apiUrl = opts.apiUrl ?? stored.apiUrl ?? "https://api.useswarm.co"; | ||
| if (!stored.apiKey) { | ||
| console.log("Not logged in — nothing to revoke. Local config also cleared (no-op)."); | ||
| saveStoredConfig({ | ||
| persistentTunnelToken: undefined, | ||
| persistentTunnelHostname: undefined, | ||
| }); | ||
| return; | ||
| } | ||
| const api = new ApiClient({ baseUrl: apiUrl, apiKey: stored.apiKey }); | ||
| let revoked = null; | ||
| try { | ||
| revoked = await api.revokeTunnel(); | ||
| } | ||
| catch (err) { | ||
| // 404 → already gone; surface other errors but still clear local state. | ||
| if (!/Not found/i.test(err.message) && !/404/.test(err.message)) { | ||
| console.error(`Revoke request failed: ${err.message}`); | ||
| } | ||
| } | ||
| // Always clear local state so re-provisioning is clean. | ||
| saveStoredConfig({ | ||
| persistentTunnelToken: undefined, | ||
| persistentTunnelHostname: undefined, | ||
| }); | ||
| if (revoked) { | ||
| console.log(`Revoked ${revoked.hostname}. The Cloudflare tunnel + DNS record have been removed.`); | ||
| } | ||
| else { | ||
| console.log("Local persistent-tunnel state cleared."); | ||
| } | ||
| } | ||
| // ─── setup (one command to rule them all) ──────────────── | ||
@@ -141,2 +233,3 @@ program | ||
| .option("--client <client>", "Which MCP host(s) to configure: claude, codex, or all", "all") | ||
| .option("--persistent-tunnel", "Deprecated no-op; persistent tunnels are provisioned automatically during login.") | ||
| .option("--app-url <url>", "Useswarm web app URL", process.env.USESWARM_APP_URL ?? "https://www.useswarm.co") | ||
@@ -241,3 +334,26 @@ .option("--api-url <url>", "Useswarm API URL", process.env.USESWARM_API_URL ?? "https://api.useswarm.co") | ||
| console.log(); | ||
| if (opts.persistentTunnel) { | ||
| console.log("Persistent tunnels are now provisioned automatically during login."); | ||
| console.log("If you need to retry manually, run: useswarm-mcp setup-tunnel"); | ||
| console.log(); | ||
| } | ||
| }); | ||
| // ─── setup-tunnel (standalone) ─────────────────────────── | ||
| program | ||
| .command("setup-tunnel") | ||
| .description("Retry provisioning (or revoke) the stable per-user tunnel hostname so OAuth-protected " + | ||
| "localhost flows work without changing your provider allowlist on every test.") | ||
| .option("--revoke", "Revoke the existing tunnel + remove its Cloudflare resources") | ||
| .option("--app-url <url>", "Useswarm web app URL", process.env.USESWARM_APP_URL ?? "https://www.useswarm.co") | ||
| .option("--api-url <url>", "Useswarm API URL", process.env.USESWARM_API_URL ?? "https://api.useswarm.co") | ||
| .action(async (opts) => { | ||
| if (opts.revoke) { | ||
| await revokePersistentTunnelInteractive({ apiUrl: opts.apiUrl }); | ||
| return; | ||
| } | ||
| await provisionPersistentTunnelInteractive({ | ||
| appUrl: opts.appUrl, | ||
| apiUrl: opts.apiUrl, | ||
| }); | ||
| }); | ||
| // ─── serve (default command) ────────────────────────────── | ||
@@ -244,0 +360,0 @@ const serveCmd = program |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} |
@@ -12,2 +12,20 @@ /** | ||
| } | ||
| export interface PersistentTunnelInfo { | ||
| hostname: string; | ||
| runToken: string; | ||
| reused?: boolean; | ||
| createdAt?: string; | ||
| } | ||
| export interface SessionConflictResponse { | ||
| error: string; | ||
| heldBy: string | null; | ||
| startedAt: string | null; | ||
| lastHeartbeatAt: string | null; | ||
| hostname: string; | ||
| } | ||
| /** Thrown by acquireTunnelSession when the lease is already held by another client. */ | ||
| export declare class TunnelLeaseConflictError extends Error { | ||
| conflict: SessionConflictResponse; | ||
| constructor(conflict: SessionConflictResponse); | ||
| } | ||
| export declare class ApiClient { | ||
@@ -20,2 +38,20 @@ private baseUrl; | ||
| delete<T = unknown>(path: string): Promise<T>; | ||
| provisionTunnel(): Promise<PersistentTunnelInfo>; | ||
| getTunnel(): Promise<{ | ||
| tunnel: PersistentTunnelInfo | null; | ||
| }>; | ||
| revokeTunnel(): Promise<{ | ||
| revoked: boolean; | ||
| hostname: string; | ||
| }>; | ||
| /** | ||
| * Atomic single-flight lease. Throws TunnelLeaseConflictError on 409 so the | ||
| * caller can surface a clean "another session is using this tunnel" message. | ||
| */ | ||
| acquireTunnelSession(clientId: string): Promise<{ | ||
| acquired: true; | ||
| hostname: string; | ||
| }>; | ||
| heartbeatTunnelSession(clientId: string): Promise<void>; | ||
| releaseTunnelSession(clientId: string): Promise<void>; | ||
| } |
@@ -7,2 +7,11 @@ /** | ||
| */ | ||
| /** Thrown by acquireTunnelSession when the lease is already held by another client. */ | ||
| export class TunnelLeaseConflictError extends Error { | ||
| conflict; | ||
| constructor(conflict) { | ||
| super(conflict.error); | ||
| this.name = "TunnelLeaseConflictError"; | ||
| this.conflict = conflict; | ||
| } | ||
| } | ||
| /** Sanitize error response — return status code but not full body */ | ||
@@ -94,3 +103,50 @@ function sanitizeApiError(status, body) { | ||
| } | ||
| // ── Persistent tunnels ──────────────────────────────────────────────────── | ||
| async provisionTunnel() { | ||
| return this.post("/api/cli/tunnels/provision"); | ||
| } | ||
| async getTunnel() { | ||
| return this.get("/api/cli/tunnels/me"); | ||
| } | ||
| async revokeTunnel() { | ||
| return this.delete("/api/cli/tunnels/me"); | ||
| } | ||
| /** | ||
| * Atomic single-flight lease. Throws TunnelLeaseConflictError on 409 so the | ||
| * caller can surface a clean "another session is using this tunnel" message. | ||
| */ | ||
| async acquireTunnelSession(clientId) { | ||
| const res = await fetch(`${this.baseUrl}/api/cli/tunnels/me/session`, { | ||
| method: "POST", | ||
| headers: this.headers, | ||
| body: JSON.stringify({ clientId }), | ||
| }); | ||
| if (res.status === 409) { | ||
| const body = (await res.json()); | ||
| throw new TunnelLeaseConflictError(body); | ||
| } | ||
| if (!res.ok) { | ||
| const text = await res.text(); | ||
| console.error(`[api-client] POST /tunnels/me/session failed: ${res.status}`); | ||
| throw new Error(sanitizeApiError(res.status, text)); | ||
| } | ||
| return res.json(); | ||
| } | ||
| async heartbeatTunnelSession(clientId) { | ||
| await this.post("/api/cli/tunnels/me/heartbeat", { clientId }); | ||
| } | ||
| async releaseTunnelSession(clientId) { | ||
| // DELETE with body — Hono accepts it. | ||
| const res = await fetch(`${this.baseUrl}/api/cli/tunnels/me/session`, { | ||
| method: "DELETE", | ||
| headers: this.headers, | ||
| body: JSON.stringify({ clientId }), | ||
| }); | ||
| if (!res.ok && res.status !== 404) { | ||
| // Best-effort. 404 = nothing to release; anything else is logged but | ||
| // not fatal — server reaps stale leases after 90s anyway. | ||
| console.error(`[api-client] DELETE /tunnels/me/session failed: ${res.status}`); | ||
| } | ||
| } | ||
| } | ||
| //# sourceMappingURL=api-client.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"} |
+21
-18
@@ -76,8 +76,20 @@ /** | ||
| } | ||
| function escapeRegExp(value) { | ||
| return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); | ||
| } | ||
| function replaceAllCaseInsensitive(value, search, replacement) { | ||
| return value.replace(new RegExp(escapeRegExp(search), "gi"), replacement); | ||
| } | ||
| function replaceOriginReferences(value, fromOrigins, toOrigin) { | ||
| let next = value; | ||
| const encodedToOrigin = encodeURIComponent(toOrigin); | ||
| for (const fromOrigin of fromOrigins) { | ||
| next = next.replaceAll(fromOrigin, toOrigin); | ||
| next = replaceAllCaseInsensitive(next, encodeURIComponent(fromOrigin), encodedToOrigin); | ||
| } | ||
| return next; | ||
| } | ||
| function rewriteHeaders(headers, localhostOrigins, tunnelUrl) { | ||
| if (typeof headers["location"] === "string") { | ||
| let loc = headers["location"]; | ||
| for (const origin of localhostOrigins) | ||
| loc = loc.replaceAll(origin, tunnelUrl); | ||
| headers["location"] = loc; | ||
| headers["location"] = replaceOriginReferences(headers["location"], localhostOrigins, tunnelUrl); | ||
| } | ||
@@ -87,5 +99,3 @@ const setCookie = headers["set-cookie"]; | ||
| headers["set-cookie"] = setCookie.map((cookie) => { | ||
| let c = cookie; | ||
| for (const origin of localhostOrigins) | ||
| c = c.replaceAll(origin, tunnelUrl); | ||
| let c = replaceOriginReferences(cookie, localhostOrigins, tunnelUrl); | ||
| c = c.replace(/;\s*Domain=\.?(localhost|127\.0\.0\.1|0\.0\.0\.0|\[::1\])(:\d+)?/gi, ""); | ||
@@ -96,12 +106,6 @@ return c; | ||
| if (typeof headers["access-control-allow-origin"] === "string") { | ||
| let acao = headers["access-control-allow-origin"]; | ||
| for (const origin of localhostOrigins) | ||
| acao = acao.replaceAll(origin, tunnelUrl); | ||
| headers["access-control-allow-origin"] = acao; | ||
| headers["access-control-allow-origin"] = replaceOriginReferences(headers["access-control-allow-origin"], localhostOrigins, tunnelUrl); | ||
| } | ||
| if (typeof headers["content-security-policy"] === "string") { | ||
| let csp = headers["content-security-policy"]; | ||
| for (const origin of localhostOrigins) | ||
| csp = csp.replaceAll(origin, tunnelUrl); | ||
| headers["content-security-policy"] = csp; | ||
| headers["content-security-policy"] = replaceOriginReferences(headers["content-security-policy"], localhostOrigins, tunnelUrl); | ||
| } | ||
@@ -239,4 +243,3 @@ } | ||
| let text = decompressed.toString("utf-8"); | ||
| for (const origin of allOrigins) | ||
| text = text.replaceAll(origin, tunnelUrl); | ||
| text = replaceOriginReferences(text, allOrigins, tunnelUrl); | ||
| finalBody = Buffer.from(text, "utf-8"); | ||
@@ -320,3 +323,3 @@ } | ||
| const text = original.toString("utf8"); | ||
| const rewritten = text.split(tunnelUrl).join(localOrigin); | ||
| const rewritten = replaceOriginReferences(text, [tunnelUrl], localOrigin); | ||
| if (rewritten !== text) | ||
@@ -323,0 +326,0 @@ modified = Buffer.from(rewritten, "utf8"); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"local-proxy.js","sourceRoot":"","sources":["../../src/lib/local-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,SAAS,uBAAuB,CAAC,WAA+B;IAC9D,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,CACL,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACjC,EAAE,CAAC,UAAU,CAAC,mCAAmC,CAAC;QAClD,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CACvB,CAAC;AACJ,CAAC;AAQD,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAE7E,MAAM,iBAAiB,GAAG;IACxB,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,OAAO;IACP,cAAc;CACf,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,WAAW;IACX,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,UAAU;IACV,2BAA2B;IAC3B,UAAU;IACV,iBAAiB;IACjB,YAAY;CACb,CAAC;AAEF,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,SAAS,UAAU,CAAC,QAA4B,EAAE,IAAY;IAC5D,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CACjB,gBAAoC,EACpC,IAAY;IAEZ,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACpE,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,iBAAiB,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,WAA+B;IACrD,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CACrB,OAAiC,EACjC,gBAA0B,EAC1B,SAAiB;IAEjB,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5C,IAAI,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,gBAAgB;YAAE,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/E,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,GAAG,MAAM,CAAC;YACf,KAAK,MAAM,MAAM,IAAI,gBAAgB;gBAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC3E,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,oEAAoE,EAAE,EAAE,CAAC,CAAC;YACxF,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,6BAA6B,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/D,IAAI,IAAI,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,gBAAgB;YAAE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjF,OAAO,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,yBAAyB,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3D,IAAI,GAAG,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC7C,KAAK,MAAM,MAAM,IAAI,gBAAgB;YAAE,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/E,OAAO,CAAC,yBAAyB,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,qEAAqE;AACrE,+DAA+D;AAC/D,SAAS,kBAAkB,CACzB,OAAiC,EACjC,WAA+B;IAE/B,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,IAAI,WAAgB,CAAC;IACrB,IAAI,CAAC;QACH,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACjG,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACtC,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACvC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,QAAQ,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,YAAoB,EACpB,WAAmB,EACnB,YAAuB;AACvB,0EAA0E;AAC1E,kFAAkF;AAClF,WAAoB;IAEpB,6DAA6D;IAC7D,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAU,EAAE,CAAC;QAC5F,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,kCAAkC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IACD,IAAI,SAA6B,CAAC;IAElC,MAAM,qBAAqB,GAAG,YAAY;QACxC,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,6BAA6B,CAAC;QACrD,CAAC,CAAC,6BAA6B,CAAC;IAElC,MAAM,UAAU,GAAG;QACjB,oBAAoB,WAAW,EAAE;QACjC,oBAAoB,WAAW,EAAE;QACjC,oBAAoB,YAAY,EAAE;QAClC,oBAAoB,YAAY,EAAE;KACnC,CAAC;IAEF,SAAS,oBAAoB,CAAC,QAAgB;QAC5C,OAAO,qBAAqB,CAAC,IAAI,CAC/B,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC;QACxC,kBAAkB,EAAE,IAAI;QACxB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACpC,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,CAAE,GAA2B,CAAC,WAAW,EAAE,CAAC;YAC1E,GAA2B,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;YAC7E,GAA2B,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,GAA0B,CAAC;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAErD,gCAAgC;QAChC,IAAI,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,SAAS;gBAAE,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,SAAS;gBAAE,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACpC,IAAI,QAAQ;gBAAE,OAAO;YACrB,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;gBAChC,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,SAAS;oBAAE,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;gBACpD,KAAK,MAAM,CAAC,IAAI,MAAM;oBAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACtB,IAAI,QAAQ;gBAAE,OAAO;YACrB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAE9D,IAAI,YAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,YAAY,GAAG,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,SAAS;oBAAE,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,sCAAsC;YACtC,IAAI,SAAiB,CAAC;YACtB,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1C,KAAK,MAAM,MAAM,IAAI,UAAU;oBAAE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC3E,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,YAAY,CAAC;YAC3B,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAEzF,MAAM,OAAO,GAA6B,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClE,OAAO,OAAO,CAAC,mBAAmB,CAAC,CAAC;YACpC,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,SAAS;gBAAE,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAE9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;QAEtE,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,oBAAoB,WAAW,EAAE;YACnC,CAAC,CAAC,oBAAoB,YAAY,EAAE,CAAC;QAEvC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC;QAC3C,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAE5D,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE7C,qEAAqE;QACrE,8EAA8E;QAC9E,iEAAiE;QACjE,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,CAAC;QAC9E,MAAM,iBAAiB,GAAG,OAAO,IAAI,SAAS,IAAI,WAAW,IAAI,uBAAuB,CACtF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAC1G,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,QAAQ;gBAAE,OAAO;YACrB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,KAAK,GAAG,yBAAyB,EAAE,CAAC;gBACtC,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,KAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,KAAK,MAAM,CAAC,IAAI,MAAM;oBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,WAAW;gBAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACzC,GAAG,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,QAAQ;gBAAE,OAAO;YACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,QAAQ,GAAG,QAAQ,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC,IAAI,CAAC,WAAY,CAAC,CAAC;gBAC5D,IAAI,SAAS,KAAK,IAAI;oBAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;QACtE,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,oBAAoB,WAAW,EAAE;YACnC,CAAC,CAAC,oBAAoB,YAAY,EAAE,CAAC;QACvC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7C,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YACD,OAAO,CAAC;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,CAAC,GAAW,EAAE,EAAE;oBAC5B,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;oBACzB,SAAS,GAAG,GAAG,CAAC;gBAClB,CAAC;gBACD,KAAK,EAAE,KAAK,IAAI,EAAE;oBAChB,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"} | ||
| {"version":3,"file":"local-proxy.js","sourceRoot":"","sources":["../../src/lib/local-proxy.ts"],"names":[],"mappings":"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"} |
@@ -10,5 +10,10 @@ /** | ||
| url: string; | ||
| provider: "cloudflare" | "ngrok"; | ||
| provider: "cloudflare" | "ngrok" | "cloudflare-named"; | ||
| close: () => Promise<void>; | ||
| } | ||
| /** Run-token + stable hostname for a named Cloudflare tunnel. */ | ||
| export interface PersistentTunnelHandle { | ||
| runToken: string; | ||
| hostname: string; | ||
| } | ||
| export declare function isLocalhostUrl(url: string): boolean; | ||
@@ -19,4 +24,8 @@ export declare function getPortFromUrl(url: string): number; | ||
| * Reuses an existing tunnel if one is already open. | ||
| * | ||
| * When `persistentTunnel` is provided, opens a named Cloudflare tunnel | ||
| * at the user's stable hostname; otherwise falls back to Quick Tunnel | ||
| * (ngrok if Quick fails and an auth token is provided). | ||
| */ | ||
| export declare function ensureTunnel(localPort: number, ngrokAuthToken?: string): Promise<TunnelInfo>; | ||
| export declare function ensureTunnel(localPort: number, ngrokAuthToken?: string, persistentTunnel?: PersistentTunnelHandle): Promise<TunnelInfo>; | ||
| export interface TunnelTargetOptions { | ||
@@ -28,2 +37,4 @@ ngrokAuthToken?: string; | ||
| backendPaths?: string[]; | ||
| /** When set, opens a persistent named Cloudflare tunnel instead of Quick Tunnel. */ | ||
| persistentTunnel?: PersistentTunnelHandle; | ||
| } | ||
@@ -30,0 +41,0 @@ /** |
@@ -117,2 +117,66 @@ /** | ||
| } | ||
| // ── Cloudflare named (persistent) tunnel ───────────────────────────────────── | ||
| // | ||
| // Unlike Quick Tunnels, the public hostname is known up-front — it was | ||
| // provisioned via the API and stored locally. cloudflared connects out using | ||
| // the run-token JWT; we just wait for it to register a connection. | ||
| const CF_NAMED_READY_RE = /Registered tunnel connection|connection .+ registered/i; | ||
| async function openCloudflareNamedTunnel(localPort, handle) { | ||
| const bin = await findCloudflaredBin(); | ||
| const child = spawn(bin, [ | ||
| "tunnel", | ||
| "--no-autoupdate", | ||
| "run", | ||
| "--token", | ||
| handle.runToken, | ||
| "--url", | ||
| `http://127.0.0.1:${localPort}`, | ||
| ], { stdio: ["ignore", "pipe", "pipe"] }); | ||
| await new Promise((resolve, reject) => { | ||
| const timer = setTimeout(() => { | ||
| child.kill(); | ||
| reject(new Error("Persistent tunnel didn't come up within 30s. Check: cloudflared is installed, " + | ||
| "network can reach Cloudflare edge, and the run-token hasn't been revoked.")); | ||
| }, 30_000); | ||
| let buf = ""; | ||
| const onData = (chunk) => { | ||
| buf += chunk.toString(); | ||
| if (CF_NAMED_READY_RE.test(buf)) { | ||
| clearTimeout(timer); | ||
| resolve(); | ||
| } | ||
| }; | ||
| child.stderr?.on("data", onData); | ||
| child.stdout?.on("data", onData); | ||
| child.on("error", (err) => { | ||
| clearTimeout(timer); | ||
| if (err.code === "ENOENT") { | ||
| reject(new Error("cloudflared not found. Install it (brew install cloudflared / npm i -g cloudflared).")); | ||
| } | ||
| else { | ||
| reject(err); | ||
| } | ||
| }); | ||
| child.on("exit", (code) => { | ||
| clearTimeout(timer); | ||
| reject(new Error(`cloudflared exited with code ${code} before the persistent tunnel registered.` + | ||
| (buf ? ` Last output: ${buf.slice(-300)}` : ""))); | ||
| }); | ||
| }); | ||
| return { | ||
| url: `https://${handle.hostname}`, | ||
| provider: "cloudflare-named", | ||
| close: async () => { | ||
| if (!child.killed) { | ||
| child.kill("SIGTERM"); | ||
| await Promise.race([ | ||
| once(child, "exit").catch(() => { }), | ||
| new Promise((r) => setTimeout(r, 5_000)), | ||
| ]); | ||
| if (!child.killed) | ||
| child.kill("SIGKILL"); | ||
| } | ||
| }, | ||
| }; | ||
| } | ||
| // ── Unified entry point ────────────────────────────────────────────────────── | ||
@@ -124,6 +188,14 @@ let activeTunnel = null; | ||
| * Reuses an existing tunnel if one is already open. | ||
| * | ||
| * When `persistentTunnel` is provided, opens a named Cloudflare tunnel | ||
| * at the user's stable hostname; otherwise falls back to Quick Tunnel | ||
| * (ngrok if Quick fails and an auth token is provided). | ||
| */ | ||
| export async function ensureTunnel(localPort, ngrokAuthToken) { | ||
| export async function ensureTunnel(localPort, ngrokAuthToken, persistentTunnel) { | ||
| if (activeTunnel) | ||
| return activeTunnel; | ||
| if (persistentTunnel) { | ||
| activeTunnel = await openCloudflareNamedTunnel(localPort, persistentTunnel); | ||
| return activeTunnel; | ||
| } | ||
| try { | ||
@@ -175,3 +247,3 @@ activeTunnel = await openCloudflareTunnel(localPort); | ||
| const tunnelPort = proxy.port; | ||
| const tunnel = await ensureTunnel(tunnelPort, opts.ngrokAuthToken); | ||
| const tunnel = await ensureTunnel(tunnelPort, opts.ngrokAuthToken, opts.persistentTunnel); | ||
| // Wire the tunnel URL into the proxy for URL rewriting | ||
@@ -178,0 +250,0 @@ proxy.setTunnelUrl(tunnel.url); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"target-tunnel.js","sourceRoot":"","sources":["../../src/lib/target-tunnel.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"target-tunnel.js","sourceRoot":"","sources":["../../src/lib/target-tunnel.ts"],"names":[],"mappings":"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"} |
@@ -14,4 +14,4 @@ /** | ||
| */ | ||
| import type { ApiClient } from "../lib/api-client.js"; | ||
| import { type ApiClient } from "../lib/api-client.js"; | ||
| import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; | ||
| export declare function registerDevLoopTools(server: McpServer, api: ApiClient): void; |
+114
-8
@@ -15,4 +15,7 @@ /** | ||
| import { z } from "zod"; | ||
| import { randomUUID } from "node:crypto"; | ||
| import { TunnelLeaseConflictError } from "../lib/api-client.js"; | ||
| import { tunnelTargetUrl, isLocalhostUrl, closeTunnel, } from "../lib/target-tunnel.js"; | ||
| import { loadStoredConfig } from "../auth/login.js"; | ||
| import { loadStoredConfig, saveStoredConfig } from "../auth/login.js"; | ||
| const HEARTBEAT_INTERVAL_MS = 30_000; | ||
| // Track active state so dev_status can report on it | ||
@@ -24,2 +27,20 @@ let activeTunnelUrl = null; | ||
| let lastTestStartedAt = null; | ||
| // Persistent-tunnel session state — survives across dev_test → dev_watch and | ||
| // is cleared either by dev_watch (after teardown) or dev_close. | ||
| let activeLeaseClientId = null; | ||
| let activePersistentHostname = null; | ||
| let heartbeatTimer = null; | ||
| /** Stop heartbeat + release lease (best-effort). Idempotent. */ | ||
| async function releasePersistentSession(api) { | ||
| if (heartbeatTimer) { | ||
| clearInterval(heartbeatTimer); | ||
| heartbeatTimer = null; | ||
| } | ||
| if (activeLeaseClientId) { | ||
| const id = activeLeaseClientId; | ||
| activeLeaseClientId = null; | ||
| await api.releaseTunnelSession(id).catch(() => { }); | ||
| } | ||
| activePersistentHostname = null; | ||
| } | ||
| /** | ||
@@ -287,12 +308,86 @@ * Translate raw API errors into messages the calling agent can act on. | ||
| } | ||
| // Detect a stored persistent tunnel. When present, we skip the ngrok | ||
| // token call entirely and use the named-Cloudflare branch. | ||
| const stored = loadStoredConfig(); | ||
| const persistentHandle = stored.persistentTunnelToken && stored.persistentTunnelHostname | ||
| ? { | ||
| runToken: stored.persistentTunnelToken, | ||
| hostname: stored.persistentTunnelHostname, | ||
| } | ||
| : undefined; | ||
| // Tunnel localhost URLs | ||
| if (isLocalhostUrl(targetUrl)) { | ||
| // Persistent path: acquire single-flight lease BEFORE we spawn | ||
| // cloudflared, so a second dev_test call gets a clean 409. | ||
| if (persistentHandle) { | ||
| if (!activeLeaseClientId) { | ||
| const clientId = randomUUID(); | ||
| try { | ||
| await api.acquireTunnelSession(clientId); | ||
| activeLeaseClientId = clientId; | ||
| activePersistentHostname = persistentHandle.hostname; | ||
| heartbeatTimer = setInterval(() => { | ||
| api.heartbeatTunnelSession(clientId).catch(() => { | ||
| if (heartbeatTimer) { | ||
| clearInterval(heartbeatTimer); | ||
| heartbeatTimer = null; | ||
| } | ||
| }); | ||
| }, HEARTBEAT_INTERVAL_MS); | ||
| heartbeatTimer.unref?.(); | ||
| } | ||
| catch (err) { | ||
| if (err instanceof TunnelLeaseConflictError) { | ||
| const { heldBy, startedAt, hostname } = err.conflict; | ||
| return { | ||
| content: [{ | ||
| type: "text", | ||
| text: `Error: Persistent tunnel https://${hostname} is in use by another session` + | ||
| (startedAt ? ` (started ${startedAt})` : "") + | ||
| (heldBy ? `, client ${heldBy}` : "") + | ||
| `. Wait for it to finish, or run ` + | ||
| `\`useswarm-mcp setup-tunnel --revoke && useswarm-mcp setup-tunnel\` to forcibly reclaim it.`, | ||
| }], | ||
| isError: true, | ||
| }; | ||
| } | ||
| const msg = err.message ?? ""; | ||
| // Stale local token: server-side tunnel was revoked. Clear local | ||
| // state so the next dev_test falls back to Quick Tunnel cleanly. | ||
| if (/no persistent tunnel/i.test(msg) || /404/.test(msg)) { | ||
| saveStoredConfig({ | ||
| persistentTunnelToken: undefined, | ||
| persistentTunnelHostname: undefined, | ||
| }); | ||
| return { | ||
| content: [{ | ||
| type: "text", | ||
| text: "Your stored persistent tunnel doesn't exist on the server anymore — local state cleared. " + | ||
| "Re-provision with `useswarm-mcp setup-tunnel`, then try again.", | ||
| }], | ||
| isError: true, | ||
| }; | ||
| } | ||
| return { | ||
| content: [{ type: "text", text: `Error acquiring tunnel session: ${msg}` }], | ||
| isError: true, | ||
| }; | ||
| } | ||
| } | ||
| else { | ||
| // Reusing an existing session within the same MCP server lifecycle. | ||
| activePersistentHostname = persistentHandle.hostname; | ||
| } | ||
| } | ||
| let ngrokToken; | ||
| try { | ||
| const tokenRes = await api.get("/api/cli/tunnel-token"); | ||
| ngrokToken = tokenRes.ngrokAuthToken; | ||
| // Skip the ngrok lookup on the persistent path — we won't use it. | ||
| if (!persistentHandle) { | ||
| try { | ||
| const tokenRes = await api.get("/api/cli/tunnel-token"); | ||
| ngrokToken = tokenRes.ngrokAuthToken; | ||
| } | ||
| catch { | ||
| // Will try cloudflare without ngrok fallback | ||
| } | ||
| } | ||
| catch { | ||
| // Fall back to Cloudflare only — same behaviour as before. | ||
| } | ||
| const tunnelOpts = { | ||
@@ -302,2 +397,3 @@ ngrokAuthToken: ngrokToken, | ||
| backendPaths: params.backendPaths, | ||
| persistentTunnel: persistentHandle, | ||
| }; | ||
@@ -309,3 +405,6 @@ const result = await tunnelTargetUrl(targetUrl, tunnelOpts); | ||
| activeTargetUrl = targetUrl; | ||
| tunnelNote = `Tunneled ${targetUrl} → ${result.url} (${result.tunnel.provider})`; | ||
| const providerLabel = result.tunnel.provider === "cloudflare-named" | ||
| ? "persistent" | ||
| : result.tunnel.provider; | ||
| tunnelNote = `Tunneled ${targetUrl} → ${result.url} (${providerLabel})`; | ||
| if (result.proxy) { | ||
@@ -377,2 +476,7 @@ const defaultPaths = ["/api", "/auth", "/graphql", "/trpc"]; | ||
| body.model = params.model; | ||
| if (activePersistentHostname) { | ||
| // Plumb the persistent hostname through so the ux-agent runner can | ||
| // install the cross-origin Location-header rewriter for OAuth redirects. | ||
| body.persistentTunnelHostname = activePersistentHostname; | ||
| } | ||
| if (params.auth) { | ||
@@ -560,2 +664,3 @@ console.error("[useswarm-mcp] Warning: Auth credentials/cookies will pass through the relay server. Use test-only accounts."); | ||
| await closeTunnel(); | ||
| await releasePersistentSession(api); | ||
| activeTunnelUrl = null; | ||
@@ -717,2 +822,3 @@ activeTunnelProvider = null; | ||
| await closeTunnel(); | ||
| await releasePersistentSession(api); | ||
| const prev = activeTunnelUrl; | ||
@@ -719,0 +825,0 @@ activeTunnelUrl = null; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"dev-loop.js","sourceRoot":"","sources":["../../src/tools/dev-loop.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"dev-loop.js","sourceRoot":"","sources":["../../src/tools/dev-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAkB,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,GAIZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC,oDAAoD;AACpD,IAAI,eAAe,GAAkB,IAAI,CAAC;AAC1C,IAAI,oBAAoB,GAAkB,IAAI,CAAC;AAC/C,IAAI,eAAe,GAAkB,IAAI,CAAC;AAC1C,IAAI,aAAa,GAAkB,IAAI,CAAC;AACxC,IAAI,iBAAiB,GAAgB,IAAI,CAAC;AAE1C,6EAA6E;AAC7E,gEAAgE;AAChE,IAAI,mBAAmB,GAAkB,IAAI,CAAC;AAC9C,IAAI,wBAAwB,GAAkB,IAAI,CAAC;AACnD,IAAI,cAAc,GAA0C,IAAI,CAAC;AAEjE,gEAAgE;AAChE,KAAK,UAAU,wBAAwB,CAAC,GAAc;IACpD,IAAI,cAAc,EAAE,CAAC;QACnB,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,mBAAmB,CAAC;QAC/B,mBAAmB,GAAG,IAAI,CAAC;QAC3B,MAAM,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,wBAAwB,GAAG,IAAI,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAY;IACnC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,CACL,GAAG,GAAG,MAAM;YACZ,oEAAoE;YACpE,uDAAuD;YACvD,8DAA8D;YAC9D,kCAAkC;YAClC,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CACL,GAAG,GAAG,MAAM;YACZ,kEAAkE;YAClE,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,6FAA6F,CAAC;IAC7G,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,qHAAqH,CAAC;IACrI,CAAC;IACD,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,CACL,GAAG,GAAG,MAAM;YACZ,mDAAmD;YACnD,wCAAwC;YACxC,0CAA0C;YAC1C,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,GAAc;IACpE,oEAAoE;IACpE,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;QACE,4FAA4F;QAC5F,EAAE;QACF,eAAe;QACf,+FAA+F;QAC/F,yFAAyF;QACzF,kEAAkE;QAClE,EAAE;QACF,8EAA8E;QAC9E,oDAAoD;QACpD,oDAAoD;QACpD,+CAA+C;QAC/C,yDAAyD;QACzD,EAAE;QACF,4GAA4G;KAC7G,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB,iBAAiB,CAClB,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;gBAClC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;gBAChC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,QAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBACjF,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;aAC/B,CAAC,CAAC,CAAC;YAEJ,MAAM,QAAQ,GAAG;gBACf,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,QAAQ,EAAE;oBACR,IAAI,EACF,MAAM,CAAC,MAAM,KAAK,CAAC;wBACjB,CAAC,CAAC,0FAA0F;wBAC5F,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,+EAA+E;iBAC5G;aACF,CAAC;YAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAClF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAClF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,oEAAoE;IACpE,MAAM,CAAC,IAAI,CACT,UAAU,EACV;QACE,mFAAmF;QACnF,EAAE;QACF,eAAe;QACf,iFAAiF;QACjF,iFAAiF;QACjF,0DAA0D;QAC1D,EAAE;QACF,eAAe;QACf,yFAAyF;QACzF,0FAA0F;QAC1F,8EAA8E;QAC9E,oFAAoF;QACpF,oFAAoF;QACpF,EAAE;QACF,kEAAkE;QAClE,EAAE;QACF,oFAAoF;QACpF,EAAE;QACF,4CAA4C;QAC5C,uEAAuE;QACvE,6DAA6D;QAC7D,2EAA2E;QAC3E,EAAE;QACF,gCAAgC;QAChC,uCAAuC;QACvC,kCAAkC;QAClC,uCAAuC;QACvC,wDAAwD;KACzD,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;QACE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,CACP,2FAA2F;YACzF,6FAA6F,CAChG;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,+FAA+F;YAC7F,qEAAqE,CACxE;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,IAAI,EAAE;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,+HAA+H;YAC7H,gGAAgG;YAChG,uDAAuD,CAC1D;QACH,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,mEAAmE;YACjE,yCAAyC;YACzC,qEAAqE,CACxE;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,oHAAoH;YAClH,gEAAgE,CACnE;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,oGAAoG;YAClG,2GAA2G;YAC3G,6HAA6H,CAChI;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,uGAAuG;YACrG,kGAAkG;YAClG,6DAA6D,CAChE;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2FAA2F,CAAC;QACxG,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aAC7B,QAAQ,EAAE;aACV,QAAQ,CAAC,sHAAsH,CAAC;QACnI,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iFAAiF,CAAC;QACxH,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,aAAa,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;iBACnD,QAAQ,EAAE;iBACV,QAAQ,CACP,iEAAiE;gBAC/D,4FAA4F;gBAC5F,qGAAqG;gBACrG,yFAAyF;gBACzF,4EAA4E;gBAC5E,oGAAoG;gBACpG,gGAAgG,CACnG;YACH,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CAAC,8GAA8G,CAAC;YAC3H,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wGAAwG,CAAC;YACrH,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kEAAkE,CAAC;YAC/E,OAAO,EAAE,CAAC;iBACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gBAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;gBAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;gBAC1B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;gBAC7B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;gBAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;aAC/B,CAAC,CACH;iBACA,QAAQ,EAAE;iBACV,QAAQ,CACP,mEAAmE;gBACjE,qEAAqE;gBACrE,2FAA2F;gBAC3F,0FAA0F,CAC7F;YACH,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,KAAK,EAAE;iBACP,QAAQ,EAAE;iBACV,QAAQ,CACP,uFAAuF;gBACrF,6FAA6F;gBAC7F,uCAAuC,CAC1C;YACH,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+GAA+G,CAAC;YAC5H,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CACP,oGAAoG;gBAClG,2GAA2G,CAC9G;SACJ,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,6GAA6G;YAC3G,kEAAkE;YAClE,uHAAuH,CAC1H;KACJ,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,SAAS,GAAG,UAAU,SAAS,EAAE,CAAC;YACpC,CAAC;YAED,mEAAmE;YACnE,wDAAwD;YACxD,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CACX,uCAAuC,aAAa,6BAA6B;oBAC/E,0EAA0E,CAC7E,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,yDAAyD;YACzD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACpC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpD,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EACF,+BAA+B,CAAC,2DAA2D;wCAC3F,8FAA8F;iCACjG;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,2DAA2D;YAC3D,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,gBAAgB,GACpB,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,wBAAwB;gBAC7D,CAAC,CAAC;oBACE,QAAQ,EAAE,MAAM,CAAC,qBAAqB;oBACtC,QAAQ,EAAE,MAAM,CAAC,wBAAwB;iBAC1C;gBACH,CAAC,CAAC,SAAS,CAAC;YAEhB,wBAAwB;YACxB,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,+DAA+D;gBAC/D,2DAA2D;gBAC3D,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;wBAC9B,IAAI,CAAC;4BACH,MAAM,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;4BACzC,mBAAmB,GAAG,QAAQ,CAAC;4BAC/B,wBAAwB,GAAG,gBAAgB,CAAC,QAAQ,CAAC;4BACrD,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;gCAChC,GAAG,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oCAC9C,IAAI,cAAc,EAAE,CAAC;wCACnB,aAAa,CAAC,cAAc,CAAC,CAAC;wCAC9B,cAAc,GAAG,IAAI,CAAC;oCACxB,CAAC;gCACH,CAAC,CAAC,CAAC;4BACL,CAAC,EAAE,qBAAqB,CAAC,CAAC;4BAC1B,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;wBAC3B,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,IAAI,GAAG,YAAY,wBAAwB,EAAE,CAAC;gCAC5C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC;gCACrD,OAAO;oCACL,OAAO,EAAE,CAAC;4CACR,IAAI,EAAE,MAAM;4CACZ,IAAI,EACF,oCAAoC,QAAQ,+BAA+B;gDAC3E,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gDAC5C,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gDACpC,kCAAkC;gDAClC,6FAA6F;yCAChG,CAAC;oCACF,OAAO,EAAE,IAAI;iCACd,CAAC;4BACJ,CAAC;4BACD,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,IAAI,EAAE,CAAC;4BACzC,iEAAiE;4BACjE,iEAAiE;4BACjE,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCACzD,gBAAgB,CAAC;oCACf,qBAAqB,EAAE,SAAS;oCAChC,wBAAwB,EAAE,SAAS;iCACpC,CAAC,CAAC;gCACH,OAAO;oCACL,OAAO,EAAE,CAAC;4CACR,IAAI,EAAE,MAAM;4CACZ,IAAI,EACF,2FAA2F;gDAC3F,gEAAgE;yCACnE,CAAC;oCACF,OAAO,EAAE,IAAI;iCACd,CAAC;4BACJ,CAAC;4BACD,OAAO;gCACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,GAAG,EAAE,EAAE,CAAC;gCAC3E,OAAO,EAAE,IAAI;6BACd,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,oEAAoE;wBACpE,wBAAwB,GAAG,gBAAgB,CAAC,QAAQ,CAAC;oBACvD,CAAC;gBACH,CAAC;gBAED,IAAI,UAA8B,CAAC;gBACnC,kEAAkE;gBAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAA6B,uBAAuB,CAAC,CAAC;wBACpF,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC;oBACvC,CAAC;oBAAC,MAAM,CAAC;wBACP,6CAA6C;oBAC/C,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GAAwB;oBACtC,cAAc,EAAE,UAAU;oBAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,gBAAgB,EAAE,gBAAgB;iBACnC,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC5D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC;oBAC7B,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAC9C,eAAe,GAAG,SAAS,CAAC;oBAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,kBAAkB;wBACjE,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAC3B,UAAU,GAAG,YAAY,SAAS,MAAM,MAAM,CAAC,GAAG,KAAK,aAAa,GAAG,CAAC;oBACxE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;wBAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY;4BAClC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,YAAY,CAAC;4BAC3C,CAAC,CAAC,YAAY,CAAC;wBACjB,UAAU,IAAI,kCAAkC,SAAS,cAAc,MAAM,CAAC,UAAU,aAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC9H,CAAC;oBACD,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,SAAS,CAAC;gBAC5B,eAAe,GAAG,SAAS,CAAC;gBAC5B,oBAAoB,GAAG,IAAI,CAAC;YAC9B,CAAC;YAED,uEAAuE;YACvE,uEAAuE;YACvE,mEAAmE;YACnE,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,wHAAwH;gCACxH,8HAA8H;yBACjI;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,4DAA4D;gCAC5D,yIAAyI;yBAC5I;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAA4B;gBACpC,SAAS;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC9B,oEAAoE;gBACpE,mEAAmE;gBACnE,iEAAiE;gBACjE,IAAI,CAAC,eAAe,GAAG,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAgB,CAAC;gBAC/C,IAAI,CAAC,gBAAgB,GAAG;oBACtB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;oBAClC,mBAAmB,EAAE,MAAM,CAAC,eAAgB;iBAC7C,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACrD,IAAI,MAAM,CAAC,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACrD,IAAI,MAAM,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC5C,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,mEAAmE;gBACnE,yEAAyE;gBACzE,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;YAC3D,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CACX,8GAA8G,CAC/G,CAAC;gBACF,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEhC,0CAA0C;gBAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBAAE,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;yBACvE,IAAI,IAAI,CAAC,WAAW;wBAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;;wBAC3C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;gBACjC,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACrC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/C,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EACF,0EAA0E;wCAC1E,oGAAoG;iCACvG;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;oBACD,sEAAsE;oBACtE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;wBAC5C,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;4BACrC,OAAO;gCACL,OAAO,EAAE;oCACP;wCACE,IAAI,EAAE,MAAM;wCACZ,IAAI,EACF,kBAAkB,CAAC,wCAAwC;4CAC3D,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG;qCACrF;iCACF;gCACD,OAAO,EAAE,IAAI;6BACd,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACnB,OAAO,CAAC,KAAK,CACX,2FAA2F;4BACzF,gFAAgF;4BAChF,8EAA8E,CACjF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBACtB,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EACF,+GAA+G;iCAClH;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EACF,wEAAwE;oCACxE,kGAAkG;6BACrG;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,gGAAgG;gBAChG,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC;gBAClC,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC;gBAClC,CAAC;gBAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CACzB,gBAAgB,EAChB,IAAI,CACL,CAAC;YACF,aAAa;gBACX,IAAI,CAAC,OAAO,IAAM,IAAgC,CAAC,EAAa,IAAI,IAAI,CAAC;YAC3E,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;YAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;YACzE,MAAM,UAAU,GAAG,GAAG,MAAM,2BAA2B,aAAa,EAAE,CAAC;YAEvE,MAAM,QAAQ,GAA4B;gBACxC,GAAI,IAAe;gBACnB,YAAY,EAAE,UAAU;gBACxB,QAAQ,EAAE;oBACR,MAAM,EAAE,UAAU,IAAI,IAAI;oBAC1B,SAAS,EAAE,eAAe;oBAC1B,QAAQ,EAAE,eAAe;oBACzB,UAAU;oBACV,SAAS,EAAE,iBAAiB,CAAC,WAAW,EAAE;oBAC1C,QAAQ,EACN,gCAAgC,aAAa,yBAAyB;wBACtE,gDAAgD,UAAU,EAAE;iBAC/D;aACF,CAAC;YAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAClF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACrF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,oEAAoE;IACpE,MAAM,CAAC,IAAI,CACT,WAAW,EACX;QACE,qFAAqF;QACrF,EAAE;QACF,eAAe;QACf,0FAA0F;QAC1F,wEAAwE;QACxE,EAAE;QACF,eAAe;QACf,oGAAoG;QACpG,iGAAiG;QACjG,+DAA+D;QAC/D,EAAE;QACF,0HAA0H;QAC1H,8EAA8E;QAC9E,uEAAuE;QACvE,6EAA6E;QAC7E,EAAE;QACF,gHAAgH;KACjH,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;QACE,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CAAC,iHAAiH,CAAC;QAC9H,IAAI,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,uDAAuD;YACrD,0EAA0E,CAC7E;KACJ,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,cAAc,GAAG,KAAK,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,IAA6B,CAAC;YAElC,YAAY;YACZ,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAA0B,kBAAkB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAElF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;gBACrC,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC7E,MAAM;gBACR,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACvC,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;oBACzB,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oCACE,MAAM,EAAE,eAAe;oCACvB,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;oCACzC,OAAO,EAAE,MAAM,CAAC,OAAO;oCACvB,QAAQ,EAAE;wCACR,aAAa,EAAE,IAAI,CAAC,aAAa;wCACjC,SAAS,EAAE,IAAI,CAAC,SAAS;wCACzB,UAAU,EAAE,IAAI,CAAC,UAAU;qCAC5B;oCACD,WAAW,EAAE,IAAI;oCACjB,IAAI,EAAE,qFAAqF;wCACzF,sDAAsD;iCACzD,EACD,IAAI,EACJ,CAAC,CACF;6BACF;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAE3D,0CAA0C;YAC1C,MAAM,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;YAC1C,MAAM,iBAAiB,GAAG,eAAe,CAAC;YAC1C,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACpC,eAAe,GAAG,IAAI,CAAC;YACvB,oBAAoB,GAAG,IAAI,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC;YACvB,aAAa,GAAG,IAAI,CAAC;YACrB,iBAAiB,GAAG,IAAI,CAAC;YAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAA4C,CAAC;YAChE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAgD,CAAC;YAExE,MAAM,QAAQ,GACZ,MAAM,CAAC,MAAM,GAAG,CAAC;gBACf,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,yEAAyE;oBAC/F,+CAA+C;gBACjD,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW;oBAC5B,CAAC,CAAC,6FAA6F;oBAC/F,CAAC,CAAC,6BAA6B,IAAI,CAAC,MAAM,4DAA4D,CAAC,CAAC;YAE9G,MAAM,QAAQ,GAA4B;gBACxC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;gBAC3C,UAAU,EAAE,MAAM,CAAC,MAAM;gBACzB,MAAM;gBACN,kBAAkB;gBAClB,YAAY,EAAE,KAAK;oBACjB,CAAC,CAAC;wBACE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;wBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;wBACpC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;qBAC7C;oBACH,CAAC,CAAC,IAAI;gBACR,SAAS,EAAE,SAAS;oBAClB,CAAC,CAAC;wBACE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,IAAI;wBACpD,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI;qBACvC;oBACH,CAAC,CAAC,IAAI;gBACR,YAAY,EAAE,qBAAqB,CAAC,IAAI,CAAC;gBACzC,QAAQ,EAAE;oBACR,YAAY,EAAE,eAAe;oBAC7B,iBAAiB;oBACjB,QAAQ;iBACT;aACF,CAAC;YAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAClF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACjF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,oEAAoE;IACpE,MAAM,CAAC,IAAI,CACT,YAAY,EACZ;QACE,gFAAgF;QAChF,EAAE;QACF,eAAe;QACf,kEAAkE;QAClE,qFAAqF;QACrF,2CAA2C;QAC3C,EAAE;QACF,kGAAkG;QAClG,qGAAqG;KACtG,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;YAE1F,0DAA0D;YAC1D,IAAI,WAAW,GAAmB,IAAI,CAAC;YACvC,IAAI,WAA+B,CAAC;YACpC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,mEAAmE;oBACnE,+DAA+D;oBAC/D,MAAM,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBACjC,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,WAAW,GAAG,KAAK,CAAC;oBACpB,WAAW,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAA4B;gBACtC,IAAI,EAAE;oBACJ,UAAU,EAAE,gBAAgB;oBAC5B,KAAK,EAAE,WAAW;oBAClB,MAAM;oBACN,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBAC/D,KAAK,EAAE,WAAW,IAAI,IAAI;oBAC1B,QAAQ,EAAE,CAAC,gBAAgB;wBACzB,CAAC,CAAC,gDAAgD;wBAClD,CAAC,CAAC,WAAW,KAAK,KAAK;4BACrB,CAAC,CAAC,wEAAwE;4BAC1E,CAAC,CAAC,IAAI;iBACX;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC,CAAC,eAAe;oBACzB,GAAG,EAAE,eAAe;oBACpB,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,eAAe;iBAC1B;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,aAAa;oBACtB,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,IAAI;iBACpD;aACF,CAAC;YAEF,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE;wBACvC,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;qBACnC,CAAC,CAAC;oBACH,MAAM,CAAC,MAAM,GAAG;wBACd,GAAI,MAAM,CAAC,MAAiB;wBAC5B,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,GAAG,CAAC,MAAM;qBACvB,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,MAAM,GAAG;wBACd,GAAI,MAAM,CAAC,MAAiB;wBAC5B,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;qBAC1D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAA0B,kBAAkB,aAAa,EAAE,CAAC,CAAC;oBAC3F,MAAM,CAAC,UAAU,GAAG;wBAClB,GAAI,MAAM,CAAC,UAAqB;wBAChC,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACxB,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,wDAAwD;gBAC1D,CAAC;YACH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACnF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,oEAAoE;IACpE,MAAM,CAAC,IAAI,CACT,WAAW,EACX;QACE,gDAAgD;QAChD,EAAE;QACF,eAAe;QACf,2DAA2D;QAC3D,iFAAiF;QACjF,iGAAiG;KAClG,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,eAAe,CAAC;YAC7B,eAAe,GAAG,IAAI,CAAC;YACvB,oBAAoB,GAAG,IAAI,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC;YACvB,aAAa,GAAG,IAAI,CAAC;YACrB,iBAAiB,GAAG,IAAI,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtE;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAClF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAkBD;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAA6B;IAClD,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAgD,CAAC;IAExE,uEAAuE;IACvE,MAAM,OAAO,GAAG,SAAS,EAAE,OAAqD,CAAC;IACjF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAkB,CAAC;gBACjD,KAAK,EAAG,CAAC,CAAC,KAAgB,IAAI,gBAAgB;gBAC9C,WAAW,EAAG,CAAC,CAAC,WAAsB,IAAI,EAAE;gBAC5C,cAAc,EAAE,CAAC,CAAC,cAAoC;gBACtD,UAAU,EAAE,CAAC,CAAC,UAAgC;gBAC9C,UAAU,EAAE,CAAC,CAAC,UAAgC;gBAC9C,WAAW,EAAE,CAAC,CAAC,WAAiC;gBAChD,UAAU,EAAE,CAAC,CAAC,UAAgC;gBAC9C,WAAW,EAAE,CAAC,CAAC,WAAiC;gBAChD,SAAS,EAAE,CAAC,CAAC,SAA+B;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAEjE,CAAC;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAkB,CAAC;oBACjD,KAAK,EAAG,CAAC,CAAC,KAAgB,IAAI,EAAE;oBAChC,WAAW,EACR,CAAC,CAAC,WAAsB;wBACxB,CAAC,CAAC,OAAkB;wBACpB,CAAC,CAAC,IAAe;wBAClB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBACnB,cAAc,EAAE,CAAC,CAAC,cAAoC;iBACvD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,2CAA2C;IAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAE7C,CAAC;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAgB,CAAC;gBACpC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAiB,CAAC;gBACtC,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBACxE,MAAM,OAAO,GAAG,GAAG,CAAC,OAA8C,CAAC;oBACnE,MAAM,WAAW,GACd,OAAO,EAAE,IAAe,IAAK,GAAG,CAAC,WAAsB,IAAI,eAAe,CAAC;oBAC9E,MAAM,MAAM,GACT,GAAG,CAAC,aAAwB;wBAC5B,GAAG,CAAC,aAAwB;wBAC5B,GAAG,CAAC,KAAgB,CAAC;oBACxB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,EAAE,CAAC;wBAC5D,MAAM,CAAC,IAAI,CAAC;4BACV,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;4BACnD,KAAK,EAAE,GAAG,WAAW,8BAA8B;4BACnD,WAAW,EAAE,MAAM;4BACnB,QAAQ,EAAE,WAAW;4BACrB,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;yBAC/C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAA2B,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC1F,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,IAA6B;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAA4C,CAAC;IAChE,MAAM,OAAO,GAAG,KAAK,EAAE,kBAAgE,CAAC;IACxF,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAqB;IAC9C,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IACrE,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAA6B;IAC1D,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAE7C,CAAC;IACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,OAA8C,CAAC;QACnE,OAAO;YACL,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC,WAAW,IAAI,SAAS;YAC1D,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;YAC5B,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,IAAI,IAAI;YAC7D,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI;SAC9E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"} |
+8
-8
| { | ||
| "name": "@useswarm/mcp", | ||
| "version": "2.3.0", | ||
| "version": "2.4.0", | ||
| "description": "Automated UX testing loop for local dev. Tunnel via cloudflared, run AI agent swarms, get structured issues, fix and repeat.", | ||
@@ -13,2 +13,8 @@ "type": "module", | ||
| ], | ||
| "scripts": { | ||
| "dev": "tsx watch src/cli.ts", | ||
| "start": "node dist/cli.js", | ||
| "build": "tsc", | ||
| "start:relay": "tsx src/relay/index.ts" | ||
| }, | ||
| "dependencies": { | ||
@@ -30,9 +36,3 @@ "@modelcontextprotocol/sdk": "^1.12.1", | ||
| "typescript": "^5.7.0" | ||
| }, | ||
| "scripts": { | ||
| "dev": "tsx watch src/cli.ts", | ||
| "start": "node dist/cli.js", | ||
| "build": "tsc", | ||
| "start:relay": "tsx src/relay/index.ts" | ||
| } | ||
| } | ||
| } |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
292191
12.38%3797
13.01%33
6.45%16
23.08%