claude-sessions-mcp 0.3.0 → 0.4.1-beta.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 (108) hide show
  1. package/README.md +25 -78
  2. package/dist/index.js +402 -0
  3. package/dist/index.js.map +1 -0
  4. package/package.json +20 -67
  5. package/dist/chunk-7MUU7A32.js +0 -47
  6. package/dist/chunk-7MUU7A32.js.map +0 -1
  7. package/dist/mcp/index.js +0 -714
  8. package/dist/mcp/index.js.map +0 -1
  9. package/dist/server.d.ts +0 -10
  10. package/dist/server.js +0 -9
  11. package/dist/server.js.map +0 -1
  12. package/dist/web/client/_app/immutable/assets/0.XO-DXdC4.css +0 -1
  13. package/dist/web/client/_app/immutable/assets/0.XO-DXdC4.css.br +0 -0
  14. package/dist/web/client/_app/immutable/assets/0.XO-DXdC4.css.gz +0 -0
  15. package/dist/web/client/_app/immutable/chunks/B2IHY0Hs.js +0 -1
  16. package/dist/web/client/_app/immutable/chunks/B2IHY0Hs.js.br +0 -0
  17. package/dist/web/client/_app/immutable/chunks/B2IHY0Hs.js.gz +0 -0
  18. package/dist/web/client/_app/immutable/chunks/BCJVXGHY.js +0 -1
  19. package/dist/web/client/_app/immutable/chunks/BCJVXGHY.js.br +0 -0
  20. package/dist/web/client/_app/immutable/chunks/BCJVXGHY.js.gz +0 -0
  21. package/dist/web/client/_app/immutable/chunks/CMwK7N_O.js +0 -1
  22. package/dist/web/client/_app/immutable/chunks/CMwK7N_O.js.br +0 -0
  23. package/dist/web/client/_app/immutable/chunks/CMwK7N_O.js.gz +0 -0
  24. package/dist/web/client/_app/immutable/chunks/CZTho13P.js +0 -1
  25. package/dist/web/client/_app/immutable/chunks/CZTho13P.js.br +0 -0
  26. package/dist/web/client/_app/immutable/chunks/CZTho13P.js.gz +0 -0
  27. package/dist/web/client/_app/immutable/chunks/F-H9hLgW.js +0 -2
  28. package/dist/web/client/_app/immutable/chunks/F-H9hLgW.js.br +0 -0
  29. package/dist/web/client/_app/immutable/chunks/F-H9hLgW.js.gz +0 -0
  30. package/dist/web/client/_app/immutable/chunks/gR9AL7GA.js +0 -2
  31. package/dist/web/client/_app/immutable/chunks/gR9AL7GA.js.br +0 -0
  32. package/dist/web/client/_app/immutable/chunks/gR9AL7GA.js.gz +0 -0
  33. package/dist/web/client/_app/immutable/entry/app.Boej0hfY.js +0 -2
  34. package/dist/web/client/_app/immutable/entry/app.Boej0hfY.js.br +0 -0
  35. package/dist/web/client/_app/immutable/entry/app.Boej0hfY.js.gz +0 -0
  36. package/dist/web/client/_app/immutable/entry/start.CVYJWPd9.js +0 -1
  37. package/dist/web/client/_app/immutable/entry/start.CVYJWPd9.js.br +0 -2
  38. package/dist/web/client/_app/immutable/entry/start.CVYJWPd9.js.gz +0 -0
  39. package/dist/web/client/_app/immutable/nodes/0.Lbeu1dpo.js +0 -1
  40. package/dist/web/client/_app/immutable/nodes/0.Lbeu1dpo.js.br +0 -0
  41. package/dist/web/client/_app/immutable/nodes/0.Lbeu1dpo.js.gz +0 -0
  42. package/dist/web/client/_app/immutable/nodes/1.DvRsCtcA.js +0 -1
  43. package/dist/web/client/_app/immutable/nodes/1.DvRsCtcA.js.br +0 -0
  44. package/dist/web/client/_app/immutable/nodes/1.DvRsCtcA.js.gz +0 -0
  45. package/dist/web/client/_app/immutable/nodes/2.CjVN0Bwe.js +0 -73
  46. package/dist/web/client/_app/immutable/nodes/2.CjVN0Bwe.js.br +0 -0
  47. package/dist/web/client/_app/immutable/nodes/2.CjVN0Bwe.js.gz +0 -0
  48. package/dist/web/client/_app/version.json +0 -1
  49. package/dist/web/client/_app/version.json.br +0 -0
  50. package/dist/web/client/_app/version.json.gz +0 -0
  51. package/dist/web/client/favicon.png +0 -0
  52. package/dist/web/env.js +0 -45
  53. package/dist/web/handler.js +0 -1390
  54. package/dist/web/index.js +0 -334
  55. package/dist/web/server/chunks/0-C_hzGzlo.js +0 -17
  56. package/dist/web/server/chunks/0-C_hzGzlo.js.map +0 -1
  57. package/dist/web/server/chunks/1-CSNAjAzD.js +0 -9
  58. package/dist/web/server/chunks/1-CSNAjAzD.js.map +0 -1
  59. package/dist/web/server/chunks/2-D_ZAFGkV.js +0 -9
  60. package/dist/web/server/chunks/2-D_ZAFGkV.js.map +0 -1
  61. package/dist/web/server/chunks/_layout.svelte-BWDuddeu.js +0 -33
  62. package/dist/web/server/chunks/_layout.svelte-BWDuddeu.js.map +0 -1
  63. package/dist/web/server/chunks/_page.svelte-BTPPI5f9.js +0 -113
  64. package/dist/web/server/chunks/_page.svelte-BTPPI5f9.js.map +0 -1
  65. package/dist/web/server/chunks/_server.ts-B0JVJ9FB.js +0 -28
  66. package/dist/web/server/chunks/_server.ts-B0JVJ9FB.js.map +0 -1
  67. package/dist/web/server/chunks/_server.ts-BLGLFyUk.js +0 -19
  68. package/dist/web/server/chunks/_server.ts-BLGLFyUk.js.map +0 -1
  69. package/dist/web/server/chunks/_server.ts-BaqmP9oG.js +0 -14
  70. package/dist/web/server/chunks/_server.ts-BaqmP9oG.js.map +0 -1
  71. package/dist/web/server/chunks/_server.ts-Beze9L3_.js +0 -19
  72. package/dist/web/server/chunks/_server.ts-Beze9L3_.js.map +0 -1
  73. package/dist/web/server/chunks/_server.ts-BlgHsHoW.js +0 -8
  74. package/dist/web/server/chunks/_server.ts-BlgHsHoW.js.map +0 -1
  75. package/dist/web/server/chunks/_server.ts-Bw_uJ6TN.js +0 -11
  76. package/dist/web/server/chunks/_server.ts-Bw_uJ6TN.js.map +0 -1
  77. package/dist/web/server/chunks/_server.ts-CHX8x48n.js +0 -27
  78. package/dist/web/server/chunks/_server.ts-CHX8x48n.js.map +0 -1
  79. package/dist/web/server/chunks/_server.ts-Cb5-fa8C.js +0 -37
  80. package/dist/web/server/chunks/_server.ts-Cb5-fa8C.js.map +0 -1
  81. package/dist/web/server/chunks/_server.ts-ChE2aT-W.js +0 -29
  82. package/dist/web/server/chunks/_server.ts-ChE2aT-W.js.map +0 -1
  83. package/dist/web/server/chunks/_server.ts-Cksv90lD.js +0 -18
  84. package/dist/web/server/chunks/_server.ts-Cksv90lD.js.map +0 -1
  85. package/dist/web/server/chunks/_server.ts-D80JJ66s.js +0 -26
  86. package/dist/web/server/chunks/_server.ts-D80JJ66s.js.map +0 -1
  87. package/dist/web/server/chunks/_server.ts-DjWf5N-i.js +0 -18
  88. package/dist/web/server/chunks/_server.ts-DjWf5N-i.js.map +0 -1
  89. package/dist/web/server/chunks/_server.ts-DmMLJ93T.js +0 -18
  90. package/dist/web/server/chunks/_server.ts-DmMLJ93T.js.map +0 -1
  91. package/dist/web/server/chunks/context-R2425nfV.js +0 -64
  92. package/dist/web/server/chunks/context-R2425nfV.js.map +0 -1
  93. package/dist/web/server/chunks/error.svelte-DazOwnSn.js +0 -45
  94. package/dist/web/server/chunks/error.svelte-DazOwnSn.js.map +0 -1
  95. package/dist/web/server/chunks/exports-BzHwARwz.js +0 -326
  96. package/dist/web/server/chunks/exports-BzHwARwz.js.map +0 -1
  97. package/dist/web/server/chunks/index-CXFDTUAl.js +0 -913
  98. package/dist/web/server/chunks/index-CXFDTUAl.js.map +0 -1
  99. package/dist/web/server/chunks/index-CoD1IJuy.js +0 -190
  100. package/dist/web/server/chunks/index-CoD1IJuy.js.map +0 -1
  101. package/dist/web/server/chunks/session-DmOGNZUD.js +0 -781
  102. package/dist/web/server/chunks/session-DmOGNZUD.js.map +0 -1
  103. package/dist/web/server/index.js +0 -7938
  104. package/dist/web/server/index.js.map +0 -1
  105. package/dist/web/server/manifest.js +0 -137
  106. package/dist/web/server/manifest.js.map +0 -1
  107. package/dist/web/shims.js +0 -32
  108. /package/dist/{mcp/index.d.ts → index.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/mcp/index.ts","../../src/lib/session.ts","../../src/lib/shared/session-core.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport { Effect } from 'effect'\nimport { z } from 'zod'\nimport * as session from '../lib/session.js'\nimport { startWebServer, stopWebServer } from '../server.js'\n\nconst server = new McpServer({\n name: 'claude-sessions-mcp',\n version: '0.1.0',\n})\n\n// List all projects\nserver.tool('list_projects', 'List all Claude Code projects with session counts', {}, async () => {\n const result = await Effect.runPromise(session.listProjects)\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n})\n\n// List sessions in a project\nserver.tool(\n 'list_sessions',\n 'List all sessions in a project',\n {\n project_name: z.string().describe(\"Project folder name (e.g., '-Users-young-works-myproject')\"),\n },\n async ({ project_name }) => {\n const result = await Effect.runPromise(session.listSessions(project_name))\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Rename session\nserver.tool(\n 'rename_session',\n 'Rename a session by adding a title prefix to the first message',\n {\n project_name: z.string().describe('Project folder name'),\n session_id: z.string().describe('Session ID (filename without .jsonl)'),\n new_title: z.string().describe('New title to add as prefix'),\n },\n async ({ project_name, session_id, new_title }) => {\n const result = await Effect.runPromise(\n session.renameSession(project_name, session_id, new_title)\n )\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Delete session\nserver.tool(\n 'delete_session',\n 'Delete a session (moves to .bak folder for recovery)',\n {\n project_name: z.string().describe('Project folder name'),\n session_id: z.string().describe('Session ID to delete'),\n },\n async ({ project_name, session_id }) => {\n const result = await Effect.runPromise(session.deleteSession(project_name, session_id))\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Delete message\nserver.tool(\n 'delete_message',\n 'Delete a message from a session and repair the parentUuid chain',\n {\n project_name: z.string().describe('Project folder name'),\n session_id: z.string().describe('Session ID'),\n message_uuid: z.string().describe('UUID of the message to delete'),\n },\n async ({ project_name, session_id, message_uuid }) => {\n const result = await Effect.runPromise(\n session.deleteMessage(project_name, session_id, message_uuid)\n )\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Preview cleanup\nserver.tool(\n 'preview_cleanup',\n 'Preview sessions that would be cleaned (empty and invalid API key sessions)',\n {\n project_name: z.string().optional().describe('Optional: filter by project name'),\n },\n async ({ project_name }) => {\n const result = await Effect.runPromise(session.previewCleanup(project_name))\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Clear sessions\nserver.tool(\n 'clear_sessions',\n 'Delete all empty sessions and invalid API key sessions',\n {\n project_name: z.string().optional().describe('Optional: filter by project name'),\n clear_empty: z.boolean().default(true).describe('Clear empty sessions (default: true)'),\n clear_invalid: z\n .boolean()\n .default(true)\n .describe('Clear invalid API key sessions (default: true)'),\n clear_orphan_agents: z\n .boolean()\n .default(true)\n .describe('Clear orphan agent files whose session no longer exists (default: true)'),\n },\n async ({ project_name, clear_empty, clear_invalid, clear_orphan_agents }) => {\n const result = await Effect.runPromise(\n session.clearSessions({\n projectName: project_name,\n clearEmpty: clear_empty,\n clearInvalid: clear_invalid,\n clearOrphanAgents: clear_orphan_agents,\n })\n )\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Get changed files from a session\nserver.tool(\n 'get_session_files',\n 'Get list of all files changed in a session (from file-history-snapshot and tool_use)',\n {\n project_name: z.string().describe('Project folder name'),\n session_id: z.string().describe('Session ID'),\n },\n async ({ project_name, session_id }) => {\n const result = await Effect.runPromise(session.getSessionFiles(project_name, session_id))\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Get session diff summary\nserver.tool(\n 'get_session_diff',\n 'Get diff summary for a session including file changes and snapshot info',\n {\n project_name: z.string().describe('Project folder name'),\n session_id: z.string().describe('Session ID'),\n },\n async ({ project_name, session_id }) => {\n const result = await Effect.runPromise(session.getSessionDiffSummary(project_name, session_id))\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Split session\nserver.tool(\n 'split_session',\n 'Split a session at a specific message, creating a new session with messages from that point onwards',\n {\n project_name: z.string().describe('Project folder name'),\n session_id: z.string().describe('Session ID to split'),\n message_uuid: z\n .string()\n .describe(\n 'UUID of the message where the split starts (this message becomes the first message of the new session)'\n ),\n },\n async ({ project_name, session_id, message_uuid }) => {\n const result = await Effect.runPromise(\n session.splitSession(project_name, session_id, message_uuid)\n )\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n }\n }\n)\n\n// Start GUI\nlet webServerInstance: Awaited<ReturnType<typeof startWebServer>> | null = null\n\nserver.tool(\n 'start_gui',\n 'Start the web GUI for session management and open it in browser',\n {\n port: z.number().default(5173).describe('Port to run the web server on (default: 5173)'),\n open_browser: z\n .boolean()\n .default(true)\n .describe('Whether to open browser automatically (default: true)'),\n restart: z\n .boolean()\n .default(false)\n .describe('Restart the server if already running (default: false)'),\n },\n async ({ port, open_browser, restart }) => {\n try {\n if (webServerInstance) {\n if (restart) {\n await stopWebServer(webServerInstance)\n webServerInstance = null\n } else {\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify(\n {\n success: true,\n message: 'Web GUI is already running',\n url: `http://localhost:${port}`,\n },\n null,\n 2\n ),\n },\n ],\n }\n }\n }\n\n webServerInstance = await startWebServer(port, open_browser)\n\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify(\n {\n success: true,\n message: 'Web GUI started successfully',\n url: `http://localhost:${port}`,\n pid: process.pid,\n },\n null,\n 2\n ),\n },\n ],\n }\n } catch (error) {\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify(\n {\n success: false,\n error: String(error),\n },\n null,\n 2\n ),\n },\n ],\n }\n }\n }\n)\n\n// Stop GUI\nserver.tool('stop_gui', 'Stop the web GUI server', {}, async () => {\n if (webServerInstance) {\n const port = webServerInstance.port\n // Call shutdown API first for graceful shutdown\n try {\n await fetch(`http://localhost:${port}/api/shutdown`, { method: 'POST' })\n } catch {\n // Server might already be stopping\n }\n // Then kill the process if still running\n await stopWebServer(webServerInstance)\n webServerInstance = null\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify({ success: true, message: 'Web GUI stopped successfully' }, null, 2),\n },\n ],\n }\n }\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify({ success: true, message: 'Web GUI was not running' }, null, 2),\n },\n ],\n }\n})\n\n// Main entry\nasync function main() {\n const transport = new StdioServerTransport()\n await server.connect(transport)\n}\n\nmain().catch(console.error)\n","import { Effect, pipe, Array as A, Option as O } from 'effect'\nimport * as fs from 'node:fs/promises'\nimport * as path from 'node:path'\nimport type { Message, SessionMeta, Project } from './schema.js'\nimport {\n getSessionsDir,\n findLinkedAgents,\n findOrphanAgents,\n deleteOrphanAgents,\n deleteLinkedTodos,\n} from './shared/index.js'\n\n// Re-export shared utilities\nexport { getSessionsDir, findLinkedAgents, findOrphanAgents, deleteOrphanAgents }\n\n// List all project directories\nexport const listProjects = Effect.gen(function* () {\n const sessionsDir = getSessionsDir()\n\n const exists = yield* Effect.tryPromise(() =>\n fs\n .access(sessionsDir)\n .then(() => true)\n .catch(() => false)\n )\n\n if (!exists) {\n return [] as Project[]\n }\n\n const entries = yield* Effect.tryPromise(() => fs.readdir(sessionsDir, { withFileTypes: true }))\n\n const projects = yield* Effect.all(\n entries\n .filter((e) => e.isDirectory())\n .map((entry) =>\n Effect.gen(function* () {\n const projectPath = path.join(sessionsDir, entry.name)\n const files = yield* Effect.tryPromise(() => fs.readdir(projectPath))\n const sessionFiles = files.filter((f) => f.endsWith('.jsonl'))\n\n return {\n name: entry.name,\n path: projectPath,\n sessionCount: sessionFiles.length,\n } satisfies Project\n })\n ),\n { concurrency: 10 }\n )\n\n return projects\n})\n\n// List sessions in a project\nexport const listSessions = (projectName: string) =>\n Effect.gen(function* () {\n const projectPath = path.join(getSessionsDir(), projectName)\n const files = yield* Effect.tryPromise(() => fs.readdir(projectPath))\n const sessionFiles = files.filter((f) => f.endsWith('.jsonl'))\n\n const sessions = yield* Effect.all(\n sessionFiles.map((file) =>\n Effect.gen(function* () {\n const filePath = path.join(projectPath, file)\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, 'utf-8'))\n const lines = content.trim().split('\\n').filter(Boolean)\n const messages = lines.map((line) => JSON.parse(line) as Message)\n\n const sessionId = file.replace('.jsonl', '')\n const firstMessage = messages[0]\n const lastMessage = messages[messages.length - 1]\n\n // Extract title from first user message\n const title = pipe(\n messages,\n A.findFirst((m) => m.type === 'human'),\n O.map((m) => {\n const msg = m.message as { content?: string } | undefined\n const content = msg?.content ?? ''\n return content.slice(0, 50) + (content.length > 50 ? '...' : '')\n }),\n O.getOrElse(() => 'Untitled')\n )\n\n return {\n id: sessionId,\n projectName,\n title,\n messageCount: messages.length,\n createdAt: firstMessage?.timestamp,\n updatedAt: lastMessage?.timestamp,\n } satisfies SessionMeta\n })\n ),\n { concurrency: 10 }\n )\n\n return sessions\n })\n\n// Read session messages\nexport const readSession = (projectName: string, sessionId: string) =>\n Effect.gen(function* () {\n const filePath = path.join(getSessionsDir(), projectName, `${sessionId}.jsonl`)\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, 'utf-8'))\n const lines = content.trim().split('\\n').filter(Boolean)\n return lines.map((line) => JSON.parse(line) as Message)\n })\n\n// Delete a session and its linked agent files\nexport const deleteSession = (projectName: string, sessionId: string) =>\n Effect.gen(function* () {\n const sessionsDir = getSessionsDir()\n const projectPath = path.join(sessionsDir, projectName)\n const filePath = path.join(projectPath, `${sessionId}.jsonl`)\n\n // Create backup directory\n const backupDir = path.join(projectPath, '.bak')\n yield* Effect.tryPromise(() => fs.mkdir(backupDir, { recursive: true }))\n\n // Find and delete linked agent files\n const linkedAgents = yield* findLinkedAgents(projectName, sessionId)\n const deletedAgents: string[] = []\n\n for (const agentId of linkedAgents) {\n const agentPath = path.join(projectPath, `${agentId}.jsonl`)\n const agentBackupPath = path.join(backupDir, `${agentId}.jsonl`)\n yield* Effect.tryPromise(() => fs.rename(agentPath, agentBackupPath))\n deletedAgents.push(agentId)\n }\n\n // Delete linked todo files\n const todosResult = yield* deleteLinkedTodos(sessionId, linkedAgents)\n\n // Move session file to backup\n const backupPath = path.join(backupDir, `${sessionId}.jsonl`)\n yield* Effect.tryPromise(() => fs.rename(filePath, backupPath))\n\n return { success: true, backupPath, deletedAgents, deletedTodos: todosResult.deletedCount }\n })\n\n// Rename session by adding title prefix\nexport const renameSession = (projectName: string, sessionId: string, newTitle: string) =>\n Effect.gen(function* () {\n const filePath = path.join(getSessionsDir(), projectName, `${sessionId}.jsonl`)\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, 'utf-8'))\n const lines = content.trim().split('\\n').filter(Boolean)\n\n if (lines.length === 0) {\n return { success: false, error: 'Empty session' }\n }\n\n const messages = lines.map((line) => JSON.parse(line) as Message)\n const firstMsg = messages[0]\n\n // Add title prefix to first message\n if (firstMsg && typeof firstMsg.message === 'object' && firstMsg.message !== null) {\n const msg = firstMsg.message as { content?: string }\n if (msg.content) {\n // Remove existing title prefix if any\n const cleanContent = msg.content.replace(/^\\[.*?\\]\\s*/, '')\n msg.content = `[${newTitle}] ${cleanContent}`\n }\n }\n\n const newContent = messages.map((m) => JSON.stringify(m)).join('\\n') + '\\n'\n yield* Effect.tryPromise(() => fs.writeFile(filePath, newContent, 'utf-8'))\n\n return { success: true }\n })\n\n// Delete a message from session\nexport const deleteMessage = (projectName: string, sessionId: string, messageUuid: string) =>\n Effect.gen(function* () {\n const filePath = path.join(getSessionsDir(), projectName, `${sessionId}.jsonl`)\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, 'utf-8'))\n const lines = content.trim().split('\\n').filter(Boolean)\n const messages = lines.map((line) => JSON.parse(line) as Record<string, unknown>)\n\n // Find by uuid or messageId (for file-history-snapshot type)\n const targetIndex = messages.findIndex(\n (m) => m.uuid === messageUuid || m.messageId === messageUuid\n )\n if (targetIndex === -1) {\n return { success: false, error: 'Message not found' }\n }\n\n // Get the parent UUID of deleted message\n const deletedMsg = messages[targetIndex]\n const parentUuid = deletedMsg?.parentUuid\n\n // Update child message to point to deleted message's parent\n const nextMsg = messages[targetIndex + 1]\n if (nextMsg) {\n nextMsg.parentUuid = parentUuid\n }\n\n // Remove the message\n messages.splice(targetIndex, 1)\n\n const newContent = messages.map((m) => JSON.stringify(m)).join('\\n') + '\\n'\n yield* Effect.tryPromise(() => fs.writeFile(filePath, newContent, 'utf-8'))\n\n return { success: true }\n })\n\n// Preview cleanup - find empty and invalid sessions\nexport const previewCleanup = (projectName?: string) =>\n Effect.gen(function* () {\n const projects = yield* listProjects\n const targetProjects = projectName ? projects.filter((p) => p.name === projectName) : projects\n\n const results = yield* Effect.all(\n targetProjects.map((project) =>\n Effect.gen(function* () {\n const sessions = yield* listSessions(project.name)\n const emptySessions = sessions.filter((s) => s.messageCount === 0)\n const invalidSessions = sessions.filter(\n (s) => s.title?.includes('Invalid API key') || s.title?.includes('API key')\n )\n\n return {\n project: project.name,\n emptySessions,\n invalidSessions,\n }\n })\n ),\n { concurrency: 5 }\n )\n\n return results\n })\n\n// Clear sessions (empty and invalid)\nexport const clearSessions = (options: {\n projectName?: string\n clearEmpty?: boolean\n clearInvalid?: boolean\n clearOrphanAgents?: boolean\n}) =>\n Effect.gen(function* () {\n const {\n projectName,\n clearEmpty = true,\n clearInvalid = true,\n clearOrphanAgents = true,\n } = options\n const cleanupPreview = yield* previewCleanup(projectName)\n\n let deletedCount = 0\n let deletedAgentCount = 0\n\n for (const result of cleanupPreview) {\n const toDelete = [\n ...(clearEmpty ? result.emptySessions : []),\n ...(clearInvalid ? result.invalidSessions : []),\n ]\n\n for (const session of toDelete) {\n const deleteResult = yield* deleteSession(result.project, session.id)\n deletedCount++\n deletedAgentCount += deleteResult.deletedAgents.length\n }\n\n // Clean up orphan agents after deleting sessions\n if (clearOrphanAgents) {\n const orphanResult = yield* deleteOrphanAgents(result.project)\n deletedAgentCount += orphanResult.count\n }\n }\n\n return { success: true, deletedCount, deletedAgentCount }\n })\n\n// File change info extracted from session\nexport interface FileChange {\n path: string\n action: 'created' | 'modified' | 'deleted'\n timestamp?: string\n messageUuid?: string\n}\n\n// Session file changes summary\nexport interface SessionFilesSummary {\n sessionId: string\n projectName: string\n files: FileChange[]\n totalChanges: number\n}\n\n// Get changed files from a session\nexport const getSessionFiles = (projectName: string, sessionId: string) =>\n Effect.gen(function* () {\n const messages = yield* readSession(projectName, sessionId)\n const fileChanges: FileChange[] = []\n const seenFiles = new Set<string>()\n\n for (const msg of messages) {\n // Check for file-history-snapshot type\n if (msg.type === 'file-history-snapshot') {\n const snapshot = msg as unknown as {\n type: string\n messageId?: string\n snapshot?: {\n trackedFileBackups?: Record<string, unknown>\n timestamp?: string\n }\n }\n\n const backups = snapshot.snapshot?.trackedFileBackups\n if (backups && typeof backups === 'object') {\n for (const filePath of Object.keys(backups)) {\n if (!seenFiles.has(filePath)) {\n seenFiles.add(filePath)\n fileChanges.push({\n path: filePath,\n action: 'modified',\n timestamp: snapshot.snapshot?.timestamp,\n messageUuid: snapshot.messageId ?? msg.uuid,\n })\n }\n }\n }\n }\n\n // Also check tool_use for Write/Edit operations\n if (msg.type === 'assistant' && msg.message) {\n const assistantMsg = msg.message as {\n content?: Array<{ type: string; name?: string; input?: { file_path?: string } }>\n }\n const content = assistantMsg.content\n if (Array.isArray(content)) {\n for (const block of content) {\n if (block.type === 'tool_use' && (block.name === 'Write' || block.name === 'Edit')) {\n const filePath = block.input?.file_path\n if (filePath && !seenFiles.has(filePath)) {\n seenFiles.add(filePath)\n fileChanges.push({\n path: filePath,\n action: block.name === 'Write' ? 'created' : 'modified',\n timestamp: msg.timestamp,\n messageUuid: msg.uuid,\n })\n }\n }\n }\n }\n }\n }\n\n return {\n sessionId,\n projectName,\n files: fileChanges,\n totalChanges: fileChanges.length,\n } satisfies SessionFilesSummary\n })\n\n// Split session at a specific message\nexport interface SplitSessionResult {\n success: boolean\n newSessionId?: string\n newSessionPath?: string\n movedMessageCount?: number\n error?: string\n}\n\nexport const splitSession = (projectName: string, sessionId: string, splitAtMessageUuid: string) =>\n Effect.gen(function* () {\n const projectPath = path.join(getSessionsDir(), projectName)\n const filePath = path.join(projectPath, `${sessionId}.jsonl`)\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, 'utf-8'))\n const lines = content.trim().split('\\n').filter(Boolean)\n\n // Parse all messages preserving their full structure\n const allMessages = lines.map((line) => JSON.parse(line) as Record<string, unknown>)\n\n // Find the split point\n const splitIndex = allMessages.findIndex((m) => m.uuid === splitAtMessageUuid)\n if (splitIndex === -1) {\n return { success: false, error: 'Message not found' } satisfies SplitSessionResult\n }\n\n if (splitIndex === 0) {\n return { success: false, error: 'Cannot split at first message' } satisfies SplitSessionResult\n }\n\n // Generate new session ID\n const newSessionId = crypto.randomUUID()\n\n // Split messages\n const remainingMessages = allMessages.slice(0, splitIndex)\n const movedMessages = allMessages.slice(splitIndex)\n\n // Update moved messages with new sessionId and fix first message's parentUuid\n const updatedMovedMessages = movedMessages.map((msg, index) => {\n const updated: Record<string, unknown> = { ...msg, sessionId: newSessionId }\n if (index === 0) {\n // First message of new session should have no parent\n updated.parentUuid = null\n }\n return updated\n })\n\n // Write remaining messages to original file\n const remainingContent = remainingMessages.map((m) => JSON.stringify(m)).join('\\n') + '\\n'\n yield* Effect.tryPromise(() => fs.writeFile(filePath, remainingContent, 'utf-8'))\n\n // Write moved messages to new session file\n const newFilePath = path.join(projectPath, `${newSessionId}.jsonl`)\n const newContent = updatedMovedMessages.map((m) => JSON.stringify(m)).join('\\n') + '\\n'\n yield* Effect.tryPromise(() => fs.writeFile(newFilePath, newContent, 'utf-8'))\n\n // Update linked agent files that reference the old sessionId\n const agentFiles = yield* Effect.tryPromise(() => fs.readdir(projectPath))\n const agentJsonlFiles = agentFiles.filter((f) => f.startsWith('agent-') && f.endsWith('.jsonl'))\n\n for (const agentFile of agentJsonlFiles) {\n const agentPath = path.join(projectPath, agentFile)\n const agentContent = yield* Effect.tryPromise(() => fs.readFile(agentPath, 'utf-8'))\n const agentLines = agentContent.trim().split('\\n').filter(Boolean)\n\n if (agentLines.length === 0) continue\n\n const firstAgentMsg = JSON.parse(agentLines[0]) as { sessionId?: string }\n\n // If this agent belongs to the original session, check if it should be moved\n if (firstAgentMsg.sessionId === sessionId) {\n // Check if any message in moved messages is related to this agent\n const agentId = agentFile.replace('agent-', '').replace('.jsonl', '')\n const isRelatedToMoved = movedMessages.some(\n (msg) => (msg as { agentId?: string }).agentId === agentId\n )\n\n if (isRelatedToMoved) {\n // Update all messages in this agent file to reference new sessionId\n const updatedAgentMessages = agentLines.map((line) => {\n const msg = JSON.parse(line) as Record<string, unknown>\n return JSON.stringify({ ...msg, sessionId: newSessionId })\n })\n const updatedAgentContent = updatedAgentMessages.join('\\n') + '\\n'\n yield* Effect.tryPromise(() => fs.writeFile(agentPath, updatedAgentContent, 'utf-8'))\n }\n }\n }\n\n return {\n success: true,\n newSessionId,\n newSessionPath: newFilePath,\n movedMessageCount: movedMessages.length,\n } satisfies SplitSessionResult\n })\n\n// Get file changes diff summary for a session\nexport interface FileDiffSummary {\n sessionId: string\n projectName: string\n title: string\n changes: Array<{\n path: string\n action: 'created' | 'modified' | 'deleted'\n hasBackup: boolean\n backupPreview?: string\n }>\n totalFiles: number\n snapshotCount: number\n}\n\nexport const getSessionDiffSummary = (projectName: string, sessionId: string) =>\n Effect.gen(function* () {\n const messages = yield* readSession(projectName, sessionId)\n\n // Extract title\n const title = pipe(\n messages,\n A.findFirst((m) => m.type === 'human'),\n O.map((m) => {\n const msg = m.message as { content?: string } | undefined\n const content = msg?.content ?? ''\n return content.slice(0, 50) + (content.length > 50 ? '...' : '')\n }),\n O.getOrElse(() => 'Untitled')\n )\n\n const changes: FileDiffSummary['changes'] = []\n const seenFiles = new Set<string>()\n let snapshotCount = 0\n\n for (const msg of messages) {\n if (msg.type === 'file-history-snapshot') {\n snapshotCount++\n const snapshot = msg as {\n type: string\n snapshot?: {\n trackedFileBackups?: Record<string, { content?: string }>\n }\n }\n\n const backups = snapshot.snapshot?.trackedFileBackups\n if (backups && typeof backups === 'object') {\n for (const [filePath, backup] of Object.entries(backups)) {\n if (!seenFiles.has(filePath)) {\n seenFiles.add(filePath)\n const backupData = backup as { content?: string } | undefined\n const content = backupData?.content ?? ''\n changes.push({\n path: filePath,\n action: 'modified',\n hasBackup: content.length > 0,\n backupPreview: content.slice(0, 100) + (content.length > 100 ? '...' : ''),\n })\n }\n }\n }\n }\n }\n\n return {\n sessionId,\n projectName,\n title,\n changes,\n totalFiles: changes.length,\n snapshotCount,\n } satisfies FileDiffSummary\n })\n","/**\n * Shared session management utilities\n * Used by both MCP server and Web GUI\n */\nimport { Effect } from 'effect'\nimport * as fs from 'node:fs/promises'\nimport * as path from 'node:path'\nimport * as os from 'node:os'\n\n// Get Claude sessions directory\nexport const getSessionsDir = (): string => path.join(os.homedir(), '.claude', 'projects')\n\n// Get Claude todos directory\nexport const getTodosDir = (): string => path.join(os.homedir(), '.claude', 'todos')\n\n// Find agent files linked to a session\nexport const findLinkedAgents = (projectName: string, sessionId: string) =>\n Effect.gen(function* () {\n const projectPath = path.join(getSessionsDir(), projectName)\n const files = yield* Effect.tryPromise(() => fs.readdir(projectPath))\n const agentFiles = files.filter((f) => f.startsWith('agent-') && f.endsWith('.jsonl'))\n\n const linkedAgents: string[] = []\n\n for (const agentFile of agentFiles) {\n const filePath = path.join(projectPath, agentFile)\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, 'utf-8'))\n const firstLine = content.split('\\n')[0]\n\n if (firstLine) {\n try {\n const parsed = JSON.parse(firstLine) as { sessionId?: string }\n if (parsed.sessionId === sessionId) {\n linkedAgents.push(agentFile.replace('.jsonl', ''))\n }\n } catch {\n // Skip invalid JSON\n }\n }\n }\n\n return linkedAgents\n })\n\n// Find orphan agent files (agents whose parent session no longer exists)\nexport const findOrphanAgents = (projectName: string) =>\n Effect.gen(function* () {\n const projectPath = path.join(getSessionsDir(), projectName)\n const files = yield* Effect.tryPromise(() => fs.readdir(projectPath))\n\n const sessionIds = new Set(\n files\n .filter((f) => !f.startsWith('agent-') && f.endsWith('.jsonl'))\n .map((f) => f.replace('.jsonl', ''))\n )\n\n const agentFiles = files.filter((f) => f.startsWith('agent-') && f.endsWith('.jsonl'))\n const orphanAgents: Array<{ agentId: string; sessionId: string }> = []\n\n for (const agentFile of agentFiles) {\n const filePath = path.join(projectPath, agentFile)\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, 'utf-8'))\n const firstLine = content.split('\\n')[0]\n\n if (firstLine) {\n try {\n const parsed = JSON.parse(firstLine) as { sessionId?: string }\n if (parsed.sessionId && !sessionIds.has(parsed.sessionId)) {\n orphanAgents.push({\n agentId: agentFile.replace('.jsonl', ''),\n sessionId: parsed.sessionId,\n })\n }\n } catch {\n // Skip invalid JSON\n }\n }\n }\n\n return orphanAgents\n })\n\n// Delete orphan agent files (move to .bak)\nexport const deleteOrphanAgents = (projectName: string) =>\n Effect.gen(function* () {\n const projectPath = path.join(getSessionsDir(), projectName)\n const orphans = yield* findOrphanAgents(projectName)\n\n // Create backup directory\n const backupDir = path.join(projectPath, '.bak')\n yield* Effect.tryPromise(() => fs.mkdir(backupDir, { recursive: true }))\n\n const deletedAgents: string[] = []\n\n for (const orphan of orphans) {\n const agentPath = path.join(projectPath, `${orphan.agentId}.jsonl`)\n const agentBackupPath = path.join(backupDir, `${orphan.agentId}.jsonl`)\n yield* Effect.tryPromise(() => fs.rename(agentPath, agentBackupPath))\n deletedAgents.push(orphan.agentId)\n }\n\n return { success: true, deletedAgents, count: deletedAgents.length }\n })\n\n// Todo item interface\nexport interface TodoItem {\n content: string\n status: 'pending' | 'in_progress' | 'completed'\n activeForm?: string\n}\n\nexport interface SessionTodos {\n sessionId: string\n sessionTodos: TodoItem[]\n agentTodos: { agentId: string; todos: TodoItem[] }[]\n hasTodos: boolean\n}\n\n// Find linked todo files for a session and its agents\nexport const findLinkedTodos = (sessionId: string, agentIds: string[]) =>\n Effect.gen(function* () {\n const todosDir = getTodosDir()\n\n // Check if todos directory exists\n const exists = yield* Effect.tryPromise(() =>\n fs\n .access(todosDir)\n .then(() => true)\n .catch(() => false)\n )\n\n if (!exists) {\n return {\n sessionId,\n sessionTodos: [],\n agentTodos: [],\n hasTodos: false,\n } satisfies SessionTodos\n }\n\n // Read session's own todo file\n const sessionTodoPath = path.join(todosDir, `${sessionId}.json`)\n let sessionTodos: TodoItem[] = []\n\n const sessionTodoExists = yield* Effect.tryPromise(() =>\n fs\n .access(sessionTodoPath)\n .then(() => true)\n .catch(() => false)\n )\n\n if (sessionTodoExists) {\n const content = yield* Effect.tryPromise(() => fs.readFile(sessionTodoPath, 'utf-8'))\n try {\n sessionTodos = JSON.parse(content) as TodoItem[]\n } catch {\n // Invalid JSON, treat as empty\n }\n }\n\n // Read agent todo files\n const agentTodos: { agentId: string; todos: TodoItem[] }[] = []\n\n for (const agentId of agentIds) {\n // Agent todo files are named: {sessionId}-{agentId}.json\n const shortAgentId = agentId.replace('agent-', '')\n const agentTodoPath = path.join(todosDir, `${sessionId}-agent-${shortAgentId}.json`)\n\n const agentTodoExists = yield* Effect.tryPromise(() =>\n fs\n .access(agentTodoPath)\n .then(() => true)\n .catch(() => false)\n )\n\n if (agentTodoExists) {\n const content = yield* Effect.tryPromise(() => fs.readFile(agentTodoPath, 'utf-8'))\n try {\n const todos = JSON.parse(content) as TodoItem[]\n agentTodos.push({ agentId, todos })\n } catch {\n // Invalid JSON, skip\n }\n }\n }\n\n const hasTodos = sessionTodos.length > 0 || agentTodos.some((at) => at.todos.length > 0)\n\n return {\n sessionId,\n sessionTodos,\n agentTodos,\n hasTodos,\n } satisfies SessionTodos\n })\n\n// Check if session has any todos (quick check)\nexport const sessionHasTodos = (sessionId: string, agentIds: string[]) =>\n Effect.gen(function* () {\n const todosDir = getTodosDir()\n\n // Check if todos directory exists\n const exists = yield* Effect.tryPromise(() =>\n fs\n .access(todosDir)\n .then(() => true)\n .catch(() => false)\n )\n\n if (!exists) return false\n\n // Check session's own todo file\n const sessionTodoPath = path.join(todosDir, `${sessionId}.json`)\n const sessionTodoExists = yield* Effect.tryPromise(() =>\n fs\n .access(sessionTodoPath)\n .then(() => true)\n .catch(() => false)\n )\n\n if (sessionTodoExists) {\n const content = yield* Effect.tryPromise(() => fs.readFile(sessionTodoPath, 'utf-8'))\n try {\n const todos = JSON.parse(content) as TodoItem[]\n if (todos.length > 0) return true\n } catch {\n // Invalid JSON, continue\n }\n }\n\n // Check agent todo files\n for (const agentId of agentIds) {\n const shortAgentId = agentId.replace('agent-', '')\n const agentTodoPath = path.join(todosDir, `${sessionId}-agent-${shortAgentId}.json`)\n\n const agentTodoExists = yield* Effect.tryPromise(() =>\n fs\n .access(agentTodoPath)\n .then(() => true)\n .catch(() => false)\n )\n\n if (agentTodoExists) {\n const content = yield* Effect.tryPromise(() => fs.readFile(agentTodoPath, 'utf-8'))\n try {\n const todos = JSON.parse(content) as TodoItem[]\n if (todos.length > 0) return true\n } catch {\n // Invalid JSON, continue\n }\n }\n }\n\n return false\n })\n\n// Delete linked todo files for a session (move to .bak)\nexport const deleteLinkedTodos = (sessionId: string, agentIds: string[]) =>\n Effect.gen(function* () {\n const todosDir = getTodosDir()\n\n // Check if todos directory exists\n const exists = yield* Effect.tryPromise(() =>\n fs\n .access(todosDir)\n .then(() => true)\n .catch(() => false)\n )\n\n if (!exists) return { deletedCount: 0 }\n\n // Create backup directory\n const backupDir = path.join(todosDir, '.bak')\n yield* Effect.tryPromise(() => fs.mkdir(backupDir, { recursive: true }))\n\n let deletedCount = 0\n\n // Delete session's own todo file\n const sessionTodoPath = path.join(todosDir, `${sessionId}.json`)\n const sessionTodoExists = yield* Effect.tryPromise(() =>\n fs\n .access(sessionTodoPath)\n .then(() => true)\n .catch(() => false)\n )\n\n if (sessionTodoExists) {\n const backupPath = path.join(backupDir, `${sessionId}.json`)\n yield* Effect.tryPromise(() => fs.rename(sessionTodoPath, backupPath))\n deletedCount++\n }\n\n // Delete agent todo files\n for (const agentId of agentIds) {\n const shortAgentId = agentId.replace('agent-', '')\n const agentTodoPath = path.join(todosDir, `${sessionId}-agent-${shortAgentId}.json`)\n\n const agentTodoExists = yield* Effect.tryPromise(() =>\n fs\n .access(agentTodoPath)\n .then(() => true)\n .catch(() => false)\n )\n\n if (agentTodoExists) {\n const backupPath = path.join(backupDir, `${sessionId}-agent-${shortAgentId}.json`)\n yield* Effect.tryPromise(() => fs.rename(agentTodoPath, backupPath))\n deletedCount++\n }\n }\n\n return { deletedCount }\n })\n\n// Find all orphan todo files (session no longer exists)\nexport const findOrphanTodos = () =>\n Effect.gen(function* () {\n const todosDir = getTodosDir()\n const sessionsDir = getSessionsDir()\n\n // Check if directories exist\n const [todosExists, sessionsExists] = yield* Effect.all([\n Effect.tryPromise(() =>\n fs\n .access(todosDir)\n .then(() => true)\n .catch(() => false)\n ),\n Effect.tryPromise(() =>\n fs\n .access(sessionsDir)\n .then(() => true)\n .catch(() => false)\n ),\n ])\n\n if (!todosExists || !sessionsExists) return []\n\n // Get all todo files\n const todoFiles = yield* Effect.tryPromise(() => fs.readdir(todosDir))\n const jsonFiles = todoFiles.filter((f) => f.endsWith('.json'))\n\n // Build set of all valid session IDs across all projects\n const validSessionIds = new Set<string>()\n const projectEntries = yield* Effect.tryPromise(() =>\n fs.readdir(sessionsDir, { withFileTypes: true })\n )\n\n for (const entry of projectEntries) {\n if (!entry.isDirectory() || entry.name.startsWith('.')) continue\n const projectPath = path.join(sessionsDir, entry.name)\n const files = yield* Effect.tryPromise(() => fs.readdir(projectPath))\n for (const f of files) {\n if (f.endsWith('.jsonl') && !f.startsWith('agent-')) {\n validSessionIds.add(f.replace('.jsonl', ''))\n }\n }\n }\n\n // Find orphan todo files\n const orphans: string[] = []\n for (const todoFile of jsonFiles) {\n // Parse session ID from todo filename\n // Format: {sessionId}.json or {sessionId}-agent-{agentId}.json\n const match = todoFile.match(/^([a-f0-9-]+)(?:-agent-[a-f0-9]+)?\\.json$/)\n if (match) {\n const sessionId = match[1]\n if (!validSessionIds.has(sessionId)) {\n orphans.push(todoFile)\n }\n }\n }\n\n return orphans\n })\n\n// Delete orphan todo files\nexport const deleteOrphanTodos = () =>\n Effect.gen(function* () {\n const todosDir = getTodosDir()\n const orphans = yield* findOrphanTodos()\n\n if (orphans.length === 0) return { success: true, deletedCount: 0 }\n\n // Create backup directory\n const backupDir = path.join(todosDir, '.bak')\n yield* Effect.tryPromise(() => fs.mkdir(backupDir, { recursive: true }))\n\n let deletedCount = 0\n\n for (const orphan of orphans) {\n const filePath = path.join(todosDir, orphan)\n const backupPath = path.join(backupDir, orphan)\n yield* Effect.tryPromise(() => fs.rename(filePath, backupPath))\n deletedCount++\n }\n\n return { success: true, deletedCount }\n })\n"],"mappings":"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","names":["Effect","Effect","fs","path","Effect","content","Effect"]}
package/dist/server.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { ChildProcess } from 'node:child_process';
2
-
3
- interface WebServer {
4
- process: ChildProcess;
5
- port: number;
6
- }
7
- declare function startWebServer(port?: number, openBrowser?: boolean): Promise<WebServer>;
8
- declare function stopWebServer(server: WebServer): Promise<void>;
9
-
10
- export { startWebServer, stopWebServer };
package/dist/server.js DELETED
@@ -1,9 +0,0 @@
1
- import {
2
- startWebServer,
3
- stopWebServer
4
- } from "./chunk-7MUU7A32.js";
5
- export {
6
- startWebServer,
7
- stopWebServer
8
- };
9
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-700:oklch(50.5% .213 27.518);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-900:oklch(42.1% .095 57.708);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-900:oklch(37.9% .146 265.522);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-900:oklch(38.1% .176 304.987);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-gh-bg:#0d1117;--color-gh-bg-secondary:#161b22;--color-gh-border:#30363d;--color-gh-border-subtle:#21262d;--color-gh-text:#c9d1d9;--color-gh-text-secondary:#8b949e;--color-gh-accent:#1f6feb;--color-gh-green:#238636;--color-gh-red:#f85149}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-1{bottom:calc(var(--spacing)*1)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-6{margin-left:calc(var(--spacing)*6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-4{height:calc(var(--spacing)*4)}.h-8{height:calc(var(--spacing)*8)}.h-\[calc\(100vh-120px\)\]{height:calc(100vh - 120px)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-\[400px\]{width:400px}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.grid-cols-\[350px_1fr\]{grid-template-columns:350px 1fr}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-3{border-left-style:var(--tw-border-style);border-left-width:3px}.border-none{--tw-border-style:none;border-style:none}.border-gh-border{border-color:var(--color-gh-border)}.border-gh-border-subtle{border-color:var(--color-gh-border-subtle)}.border-gh-red{border-color:var(--color-gh-red)}.border-l-amber-500{border-left-color:var(--color-amber-500)}.border-l-cyan-500{border-left-color:var(--color-cyan-500)}.border-l-gh-accent{border-left-color:var(--color-gh-accent)}.border-l-gh-green{border-left-color:var(--color-gh-green)}.border-l-purple-500{border-left-color:var(--color-purple-500)}.border-l-violet-500{border-left-color:var(--color-violet-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.bg-gh-accent{background-color:var(--color-gh-accent)}.bg-gh-accent\/10{background-color:#1f6feb1a}@supports (color:color-mix(in lab,red,red)){.bg-gh-accent\/10{background-color:color-mix(in oklab,var(--color-gh-accent)10%,transparent)}}.bg-gh-accent\/15{background-color:#1f6feb26}@supports (color:color-mix(in lab,red,red)){.bg-gh-accent\/15{background-color:color-mix(in oklab,var(--color-gh-accent)15%,transparent)}}.bg-gh-accent\/20{background-color:#1f6feb33}@supports (color:color-mix(in lab,red,red)){.bg-gh-accent\/20{background-color:color-mix(in oklab,var(--color-gh-accent)20%,transparent)}}.bg-gh-bg{background-color:var(--color-gh-bg)}.bg-gh-bg-secondary{background-color:var(--color-gh-bg-secondary)}.bg-gh-border{background-color:var(--color-gh-border)}.bg-gh-border-subtle{background-color:var(--color-gh-border-subtle)}.bg-gh-green{background-color:var(--color-gh-green)}.bg-gh-green\/15{background-color:#23863626}@supports (color:color-mix(in lab,red,red)){.bg-gh-green\/15{background-color:color-mix(in oklab,var(--color-gh-green)15%,transparent)}}.bg-gh-green\/20{background-color:#23863633}@supports (color:color-mix(in lab,red,red)){.bg-gh-green\/20{background-color:color-mix(in oklab,var(--color-gh-green)20%,transparent)}}.bg-gh-red{background-color:var(--color-gh-red)}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/15{background-color:color-mix(in oklab,var(--color-purple-500)15%,transparent)}}.bg-purple-900\/20{background-color:#59168b33}@supports (color:color-mix(in lab,red,red)){.bg-purple-900\/20{background-color:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500)10%,transparent)}}.bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab,red,red)){.bg-yellow-900\/20{background-color:color-mix(in oklab,var(--color-yellow-900)20%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-px{padding-block:1px}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-\[calc\(2rem-3px\)\]{padding-left:calc(2rem - 3px)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-blue-400{color:var(--color-blue-400)}.text-cyan-400{color:var(--color-cyan-400)}.text-gh-accent{color:var(--color-gh-accent)}.text-gh-green{color:var(--color-gh-green)}.text-gh-text{color:var(--color-gh-text)}.text-gh-text-secondary{color:var(--color-gh-text-secondary)}.text-gh-text-secondary\/70{color:#8b949eb3}@supports (color:color-mix(in lab,red,red)){.text-gh-text-secondary\/70{color:color-mix(in oklab,var(--color-gh-text-secondary)70%,transparent)}}.text-purple-400{color:var(--color-purple-400)}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-gh-green{--tw-ring-color:var(--color-gh-green)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:inline:is(:where(.group):hover *){display:inline}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:border-gh-text-secondary:hover{border-color:var(--color-gh-text-secondary)}.hover\:bg-gh-accent\/20:hover{background-color:#1f6feb33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gh-accent\/20:hover{background-color:color-mix(in oklab,var(--color-gh-accent)20%,transparent)}}.hover\:bg-gh-border:hover{background-color:var(--color-gh-border)}.hover\:bg-gh-border-subtle:hover{background-color:var(--color-gh-border-subtle)}.hover\:bg-gh-red\/20:hover{background-color:#f8514933}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gh-red\/20:hover{background-color:color-mix(in oklab,var(--color-gh-red)20%,transparent)}}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:text-gh-text:hover{color:var(--color-gh-text)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:ring-gh-green:focus{--tw-ring-color:var(--color-gh-green)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}.message-content{word-break:break-word}.message-content p{margin:.5em 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content code{background:var(--color-gh-border-subtle);border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.message-content pre{background:var(--color-gh-bg);border:1px solid var(--color-gh-border);border-radius:6px;margin:.75em 0;padding:1em;overflow-x:auto}.message-content pre code{background:0 0;border-radius:0;padding:0}.message-content ul,.message-content ol{margin:.5em 0;padding-left:1.5em}.message-content li{margin:.25em 0}.message-content blockquote{border-left:3px solid var(--color-gh-border);color:var(--color-gh-text-secondary);margin:.5em 0;padding-left:1em}.message-content a{color:var(--color-gh-accent);text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content strong{font-weight:600}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:.75em 0 .5em;font-weight:600}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content hr{border:none;border-top:1px solid var(--color-gh-border);margin:1em 0}.message-content table{border-collapse:collapse;width:100%;margin:.5em 0}.message-content th,.message-content td{border:1px solid var(--color-gh-border);padding:.5em}.message-content th{background:var(--color-gh-bg-secondary);font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@@ -1 +0,0 @@
1
- var sn=Object.defineProperty;var wt=e=>{throw TypeError(e)};var fn=(e,t,n)=>t in e?sn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var V=(e,t,n)=>fn(e,typeof t!="symbol"?t+"":t,n),Ke=(e,t,n)=>t.has(e)||wt("Cannot "+n);var w=(e,t,n)=>(Ke(e,t,"read from private field"),n?n.call(e):t.get(e)),Y=(e,t,n)=>t.has(e)?wt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),ce=(e,t,n,r)=>(Ke(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),I=(e,t,n)=>(Ke(e,t,"access private method"),n);var an=Array.isArray,ln=Array.prototype.indexOf,nr=Array.from,rr=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor,on=Object.getOwnPropertyDescriptors,un=Object.prototype,cn=Array.prototype,St=Object.getPrototypeOf,yt=Object.isExtensible;const sr=()=>{};function fr(e){return typeof(e==null?void 0:e.then)=="function"}function ir(e){return e()}function _n(e){for(var t=0;t<e.length;t++)e[t]()}function Rt(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function ar(e,t){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const m=2,st=4,Be=8,vn=1<<24,H=16,U=32,oe=64,ft=128,F=512,R=1024,O=2048,j=4096,L=8192,K=16384,it=32768,Ie=65536,ze=1<<17,bt=1<<18,Oe=1<<19,kt=1<<20,lr=1<<25,se=32768,Xe=1<<21,at=1<<22,$=1<<23,Se=Symbol("$state"),or=Symbol("legacy props"),ur=Symbol(""),_e=new class extends Error{constructor(){super(...arguments);V(this,"name","StaleReactionError");V(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},lt=3,xt=8;function dn(e){throw new Error("https://svelte.dev/e/experimental_async_required")}function pn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function hn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function wn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function yn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function En(e){throw new Error("https://svelte.dev/e/effect_orphan")}function mn(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function gn(){throw new Error("https://svelte.dev/e/fork_discarded")}function Tn(){throw new Error("https://svelte.dev/e/fork_timing")}function _r(){throw new Error("https://svelte.dev/e/hydration_failed")}function vr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function An(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Sn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Rn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function dr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const pr=1,hr=2,wr=4,yr=8,Er=16,mr=1,gr=2,Tr=4,Ar=8,Sr=16,Rr=1,br=2,bn="[",kn="[!",xn="]",ot={},S=Symbol(),kr="http://www.w3.org/1999/xhtml";function ut(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function xr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let fe=!1;function Or(e){fe=e}let g;function we(e){if(e===null)throw ut(),ot;return g=e}function Dr(){return we(Z(g))}function Nr(e){if(fe){if(Z(g)!==null)throw ut(),ot;g=e}}function Pr(e=1){if(fe){for(var t=e,n=g;t--;)n=Z(n);g=n}}function Ir(e=!0){for(var t=0,n=g;;){if(n.nodeType===xt){var r=n.data;if(r===xn){if(t===0)return n;t-=1}else(r===bn||r===kn)&&(t+=1)}var s=Z(n);e&&n.remove(),n=s}}function Cr(e){if(!e||e.nodeType!==xt)throw ut(),ot;return e.data}function Ot(e){return e===this.v}function On(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Dt(e){return!On(e,this.v)}let De=!1;function Fr(){De=!0}let E=null;function Ce(e){E=e}function Mr(e,t=!1,n){E={p:E,i:!1,c:null,e:null,s:e,x:null,l:De&&!t?{s:null,u:null,$:[]}:null}}function Lr(e){var t=E,n=t.e;if(n!==null){t.e=null;for(var r of n)Gt(r)}return t.i=!0,E=t.p,{}}function Ne(){return!De||E!==null&&E.l===null}let J=[];function Nt(){var e=J;J=[],_n(e)}function Dn(e){if(J.length===0&&!Re){var t=J;queueMicrotask(()=>{t===J&&Nt()})}J.push(e)}function Nn(){for(;J.length>0;)Nt()}function Pn(e){var t=h;if(t===null)return _.f|=$,e;if((t.f&it)===0){if((t.f&ft)===0)throw e;t.b.error(e)}else Fe(e,t)}function Fe(e,t){for(;t!==null;){if((t.f&ft)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e}const Q=new Set;let v=null,y=null,P=[],Ve=null,Ze=!1,Re=!1;var ve,de,ee,te,xe,pe,he,T,We,me,Je,Pt,It;const Ue=class Ue{constructor(){Y(this,T);V(this,"committed",!1);V(this,"current",new Map);V(this,"previous",new Map);Y(this,ve,new Set);Y(this,de,new Set);Y(this,ee,0);Y(this,te,0);Y(this,xe,null);Y(this,pe,new Set);Y(this,he,new Set);V(this,"skipped_effects",new Set);V(this,"is_fork",!1)}is_deferred(){return this.is_fork||w(this,te)>0}process(t){var r;P=[],this.apply();var n={parent:null,effect:null,effects:[],render_effects:[]};for(const s of t)I(this,T,We).call(this,s,n);this.is_fork||I(this,T,Pt).call(this),this.is_deferred()?(I(this,T,me).call(this,n.effects),I(this,T,me).call(this,n.render_effects)):(v=null,Et(n.render_effects),Et(n.effects),(r=w(this,xe))==null||r.resolve()),y=null}capture(t,n){this.previous.has(t)||this.previous.set(t,n),(t.f&$)===0&&(this.current.set(t,t.v),y==null||y.set(t,t.v))}activate(){v=this,this.apply()}deactivate(){v===this&&(v=null,y=null)}flush(){if(this.activate(),P.length>0){if(et(),v!==null&&v!==this)return}else w(this,ee)===0&&this.process([]);this.deactivate()}discard(){for(const t of w(this,de))t(this);w(this,de).clear()}increment(t){ce(this,ee,w(this,ee)+1),t&&ce(this,te,w(this,te)+1)}decrement(t){ce(this,ee,w(this,ee)-1),t&&ce(this,te,w(this,te)-1),this.revive()}revive(){for(const t of w(this,pe))w(this,he).delete(t),A(t,O),ae(t);for(const t of w(this,he))A(t,j),ae(t);this.flush()}oncommit(t){w(this,ve).add(t)}ondiscard(t){w(this,de).add(t)}settled(){return(w(this,xe)??ce(this,xe,Rt())).promise}static ensure(){if(v===null){const t=v=new Ue;Q.add(v),Re||Ue.enqueue(()=>{v===t&&t.flush()})}return v}static enqueue(t){Dn(t)}apply(){}};ve=new WeakMap,de=new WeakMap,ee=new WeakMap,te=new WeakMap,xe=new WeakMap,pe=new WeakMap,he=new WeakMap,T=new WeakSet,We=function(t,n){var u;t.f^=R;for(var r=t.first;r!==null;){var s=r.f,f=(s&(U|oe))!==0,l=f&&(s&R)!==0,o=l||(s&L)!==0||this.skipped_effects.has(r);if((r.f&ft)!==0&&((u=r.b)!=null&&u.is_pending())&&(n={parent:n,effect:r,effects:[],render_effects:[]}),!o&&r.fn!==null){f?r.f^=R:(s&st)!==0?n.effects.push(r):Pe(r)&&((r.f&H)!==0&&w(this,pe).add(r),ke(r));var a=r.first;if(a!==null){r=a;continue}}var i=r.parent;for(r=r.next;r===null&&i!==null;)i===n.effect&&(I(this,T,me).call(this,n.effects),I(this,T,me).call(this,n.render_effects),n=n.parent),r=i.next,i=i.parent}},me=function(t){for(const n of t)(n.f&O)!==0?w(this,pe).add(n):(n.f&j)!==0&&w(this,he).add(n),I(this,T,Je).call(this,n.deps),A(n,R)},Je=function(t){if(t!==null)for(const n of t)(n.f&m)===0||(n.f&se)===0||(n.f^=se,I(this,T,Je).call(this,n.deps))},Pt=function(){if(w(this,te)===0){for(const t of w(this,ve))t();w(this,ve).clear()}w(this,ee)===0&&I(this,T,It).call(this)},It=function(){var f;if(Q.size>1){this.previous.clear();var t=y,n=!0,r={parent:null,effect:null,effects:[],render_effects:[]};for(const l of Q){if(l===this){n=!1;continue}const o=[];for(const[i,u]of this.current){if(l.current.has(i))if(n&&u!==l.current.get(i))l.current.set(i,u);else continue;o.push(i)}if(o.length===0)continue;const a=[...l.current.keys()].filter(i=>!this.current.has(i));if(a.length>0){var s=P;P=[];const i=new Set,u=new Map;for(const c of o)Ct(c,a,i,u);if(P.length>0){v=l,l.apply();for(const c of P)I(f=l,T,We).call(f,c,r);l.deactivate()}P=s}}v=null,y=t}this.committed=!0,Q.delete(this)};let ie=Ue;function Qe(e){var t=Re;Re=!0;try{var n;for(e&&(v!==null&&et(),n=e());;){if(Nn(),P.length===0&&(v==null||v.flush(),P.length===0))return Ve=null,n;et()}}finally{Re=t}}function et(){var e=ne;Ze=!0;var t=null;try{var n=0;for(Ye(!0);P.length>0;){var r=ie.ensure();if(n++>1e3){var s,f;In()}r.process(P),z.clear()}}finally{Ze=!1,Ye(e),Ve=null}}function In(){try{mn()}catch(e){Fe(e,Ve)}}let C=null;function Et(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(K|L))===0&&Pe(r)&&(C=new Set,ke(r),r.deps===null&&r.first===null&&r.nodes===null&&(r.teardown===null&&r.ac===null?zt(r):r.fn=null),(C==null?void 0:C.size)>0)){z.clear();for(const s of C){if((s.f&(K|L))!==0)continue;const f=[s];let l=s.parent;for(;l!==null;)C.has(l)&&(C.delete(l),f.push(l)),l=l.parent;for(let o=f.length-1;o>=0;o--){const a=f[o];(a.f&(K|L))===0&&ke(a)}}C.clear()}}C=null}}function Ct(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const f=s.f;(f&m)!==0?Ct(s,t,n,r):(f&(at|H))!==0&&(f&O)===0&&Mt(s,t,r)&&(A(s,O),ae(s))}}function Ft(e,t){if(e.reactions!==null)for(const n of e.reactions){const r=n.f;(r&m)!==0?Ft(n,t):(r&ze)!==0&&(A(n,O),t.add(n))}}function Mt(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(t.includes(s))return!0;if((s.f&m)!==0&&Mt(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function ae(e){for(var t=Ve=e;t.parent!==null;){t=t.parent;var n=t.f;if(Ze&&t===h&&(n&H)!==0&&(n&bt)===0)return;if((n&(oe|U))!==0){if((n&R)===0)return;t.f^=R}}P.push(t)}function jr(e){dn(),v!==null&&Tn();var t=ie.ensure();t.is_fork=!0,y=new Map;var n=!1,r=t.settled();Qe(e),y=null;for(var[s,f]of t.previous)s.v=f;return{commit:async()=>{if(n){await r;return}Q.has(t)||gn(),n=!0,t.is_fork=!1;for(var[l,o]of t.current)l.v=o;Qe(()=>{var a=new Set;for(var i of t.current.keys())Ft(i,a);qn(a),Yt()}),t.revive(),await r},discard:()=>{!n&&Q.has(t)&&(Q.delete(t),t.discard())}}}function Cn(e,t,n,r){const s=Ne()?ct:Ln;if(n.length===0&&e.length===0){r(t.map(s));return}var f=v,l=h,o=Fn();function a(){Promise.all(n.map(i=>Mn(i))).then(i=>{o();try{r([...t.map(s),...i])}catch(u){(l.f&K)===0&&Fe(u,l)}f==null||f.deactivate(),Me()}).catch(i=>{Fe(i,l)})}e.length>0?Promise.all(e).then(()=>{o();try{return a()}finally{f==null||f.deactivate(),Me()}}):a()}function Fn(){var e=h,t=_,n=E,r=v;return function(f=!0){ye(e),X(t),Ce(n),f&&(r==null||r.activate())}}function Me(){ye(null),X(null),Ce(null)}function ct(e){var t=m|O,n=_!==null&&(_.f&m)!==0?_:null;return h!==null&&(h.f|=Oe),{ctx:E,deps:null,effects:null,equals:Ot,f:t,fn:e,reactions:null,rv:0,v:S,wv:0,parent:n??h,ac:null}}function Mn(e,t){let n=h;n===null&&hn();var r=n.b,s=void 0,f=vt(S),l=!_,o=new Map;return Kn(()=>{var p;var a=Rt();s=a.promise;try{Promise.resolve(e()).then(a.resolve,a.reject).then(()=>{i===v&&i.committed&&i.deactivate(),Me()})}catch(d){a.reject(d),Me()}var i=v;if(l){var u=!r.is_pending();r.update_pending_count(1),i.increment(u),(p=o.get(i))==null||p.reject(_e),o.delete(i),o.set(i,a)}const c=(d,b=void 0)=>{if(i.activate(),b)b!==_e&&(f.f|=$,tt(f,b));else{(f.f&$)!==0&&(f.f^=$),tt(f,d);for(const[B,ue]of o){if(o.delete(B),B===i)break;ue.reject(_e)}}l&&(r.update_pending_count(-1),i.decrement(u))};a.promise.then(c,d=>c(null,d||"unknown"))}),Vn(()=>{for(const a of o.values())a.reject(_e)}),new Promise(a=>{function i(u){function c(){u===s?a(f):i(s)}u.then(c,c)}i(s)})}function qr(e){const t=ct(e);return Wt(t),t}function Ln(e){const t=ct(e);return t.equals=Dt,t}function Lt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)le(t[n])}}function jn(e){for(var t=e.parent;t!==null;){if((t.f&m)===0)return(t.f&K)===0?t:null;t=t.parent}return null}function _t(e){var t,n=h;ye(jn(e));try{e.f&=~se,Lt(e),t=tn(e)}finally{ye(n)}return t}function jt(e){var t=_t(e);if(e.equals(t)||(v!=null&&v.is_fork||(e.v=t),e.wv=Qt()),!Ee)if(y!==null)(qe()||v!=null&&v.is_fork)&&y.set(e,t);else{var n=(e.f&F)===0?j:R;A(e,n)}}let Le=new Set;const z=new Map;function qn(e){Le=e}let qt=!1;function vt(e,t){var n={f:0,v:e,reactions:null,equals:Ot,rv:0,wv:0};return n}function G(e,t){const n=vt(e);return Wt(n),n}function Yr(e,t=!1,n=!0){var s;const r=vt(e);return t||(r.equals=Dt),De&&n&&E!==null&&E.l!==null&&((s=E.l).s??(s.s=[])).push(r),r}function W(e,t,n=!1){_!==null&&(!M||(_.f&ze)!==0)&&Ne()&&(_.f&(m|H|at|ze))!==0&&!(x!=null&&x.includes(e))&&Rn();let r=n?ge(t):t;return tt(e,r)}function tt(e,t){if(!e.equals(t)){var n=e.v;Ee?z.set(e,t):z.set(e,n),e.v=t;var r=ie.ensure();r.capture(e,n),(e.f&m)!==0&&((e.f&O)!==0&&_t(e),A(e,(e.f&F)!==0?R:j)),e.wv=Qt(),Ht(e,O),Ne()&&h!==null&&(h.f&R)!==0&&(h.f&(U|oe))===0&&(N===null?Zn([e]):N.push(e)),!r.is_fork&&Le.size>0&&!qt&&Yt()}return t}function Yt(){qt=!1;var e=ne;Ye(!0);const t=Array.from(Le);try{for(const n of t)(n.f&R)!==0&&A(n,j),Pe(n)&&ke(n)}finally{Ye(e)}Le.clear()}function $e(e){W(e,e.v+1)}function Ht(e,t){var n=e.reactions;if(n!==null)for(var r=Ne(),s=n.length,f=0;f<s;f++){var l=n[f],o=l.f;if(!(!r&&l===h)){var a=(o&O)===0;if(a&&A(l,t),(o&m)!==0){var i=l;y==null||y.delete(i),(o&se)===0&&(o&F&&(l.f|=se),Ht(i,j))}else a&&((o&H)!==0&&C!==null&&C.add(l),ae(l))}}}function ge(e){if(typeof e!="object"||e===null||Se in e)return e;const t=St(e);if(t!==un&&t!==cn)return e;var n=new Map,r=an(e),s=G(0),f=re,l=o=>{if(re===f)return o();var a=_,i=re;X(null),At(f);var u=o();return X(a),At(i),u};return r&&n.set("length",G(e.length)),new Proxy(e,{defineProperty(o,a,i){(!("value"in i)||i.configurable===!1||i.enumerable===!1||i.writable===!1)&&An();var u=n.get(a);return u===void 0?u=l(()=>{var c=G(i.value);return n.set(a,c),c}):W(u,i.value,!0),!0},deleteProperty(o,a){var i=n.get(a);if(i===void 0){if(a in o){const u=l(()=>G(S));n.set(a,u),$e(s)}}else W(i,S),$e(s);return!0},get(o,a,i){var d;if(a===Se)return e;var u=n.get(a),c=a in o;if(u===void 0&&(!c||(d=Ae(o,a))!=null&&d.writable)&&(u=l(()=>{var b=ge(c?o[a]:S),B=G(b);return B}),n.set(a,u)),u!==void 0){var p=Te(u);return p===S?void 0:p}return Reflect.get(o,a,i)},getOwnPropertyDescriptor(o,a){var i=Reflect.getOwnPropertyDescriptor(o,a);if(i&&"value"in i){var u=n.get(a);u&&(i.value=Te(u))}else if(i===void 0){var c=n.get(a),p=c==null?void 0:c.v;if(c!==void 0&&p!==S)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return i},has(o,a){var p;if(a===Se)return!0;var i=n.get(a),u=i!==void 0&&i.v!==S||Reflect.has(o,a);if(i!==void 0||h!==null&&(!u||(p=Ae(o,a))!=null&&p.writable)){i===void 0&&(i=l(()=>{var d=u?ge(o[a]):S,b=G(d);return b}),n.set(a,i));var c=Te(i);if(c===S)return!1}return u},set(o,a,i,u){var ht;var c=n.get(a),p=a in o;if(r&&a==="length")for(var d=i;d<c.v;d+=1){var b=n.get(d+"");b!==void 0?W(b,S):d in o&&(b=l(()=>G(S)),n.set(d+"",b))}if(c===void 0)(!p||(ht=Ae(o,a))!=null&&ht.writable)&&(c=l(()=>G(void 0)),W(c,ge(i)),n.set(a,c));else{p=c.v!==S;var B=l(()=>ge(i));W(c,B)}var ue=Reflect.getOwnPropertyDescriptor(o,a);if(ue!=null&&ue.set&&ue.set.call(u,i),!p){if(r&&typeof a=="string"){var pt=n.get("length"),Ge=Number(a);Number.isInteger(Ge)&&Ge>=pt.v&&W(pt,Ge+1)}$e(s)}return!0},ownKeys(o){Te(s);var a=Reflect.ownKeys(o).filter(c=>{var p=n.get(c);return p===void 0||p.v!==S});for(var[i,u]of n)u.v!==S&&!(i in o)&&a.push(i);return a},setPrototypeOf(){Sn()}})}var mt,Yn,Hn,Ut,Bt;function Hr(){if(mt===void 0){mt=window,Yn=document,Hn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Ut=Ae(t,"firstChild").get,Bt=Ae(t,"nextSibling").get,yt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),yt(n)&&(n.__t=void 0)}}function je(e=""){return document.createTextNode(e)}function nt(e){return Ut.call(e)}function Z(e){return Bt.call(e)}function Ur(e,t){if(!fe)return nt(e);var n=nt(g);if(n===null)n=g.appendChild(je());else if(t&&n.nodeType!==lt){var r=je();return n==null||n.before(r),we(r),r}return we(n),n}function Br(e,t=!1){if(!fe){var n=nt(e);return n instanceof Comment&&n.data===""?Z(n):n}if(t&&(g==null?void 0:g.nodeType)!==lt){var r=je();return g==null||g.before(r),we(r),r}return g}function Vr(e,t=1,n=!1){let r=fe?g:e;for(var s;t--;)s=r,r=Z(r);if(!fe)return r;if(n&&(r==null?void 0:r.nodeType)!==lt){var f=je();return r===null?s==null||s.after(f):r.before(f),we(f),f}return we(r),r}function Gr(e){e.textContent=""}function Kr(){return!1}let gt=!1;function Un(){gt||(gt=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function dt(e){var t=_,n=h;X(null),ye(null);try{return e()}finally{X(t),ye(n)}}function $r(e,t,n,r=n){e.addEventListener(t,()=>dt(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),Un()}function Vt(e){h===null&&(_===null&&En(),yn()),Ee&&wn()}function Bn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function q(e,t,n){var r=h;r!==null&&(r.f&L)!==0&&(e|=L);var s={ctx:E,deps:null,nodes:null,f:e|O|F,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{ke(s),s.f|=it}catch(o){throw le(s),o}else t!==null&&ae(s);var f=s;if(n&&f.deps===null&&f.teardown===null&&f.nodes===null&&f.first===f.last&&(f.f&Oe)===0&&(f=f.first,(e&H)!==0&&(e&Ie)!==0&&f!==null&&(f.f|=Ie)),f!==null&&(f.parent=r,r!==null&&Bn(f,r),_!==null&&(_.f&m)!==0&&(e&oe)===0)){var l=_;(l.effects??(l.effects=[])).push(f)}return s}function qe(){return _!==null&&!M}function Vn(e){const t=q(Be,null,!1);return A(t,R),t.teardown=e,t}function Gn(e){Vt();var t=h.f,n=!_&&(t&U)!==0&&(t&it)===0;if(n){var r=E;(r.e??(r.e=[])).push(e)}else return Gt(e)}function Gt(e){return q(st|kt,e,!1)}function zr(e){return Vt(),q(Be|kt,e,!0)}function Xr(e){ie.ensure();const t=q(oe|Oe,e,!0);return(n={})=>new Promise(r=>{n.outro?Xn(t,()=>{le(t),r(void 0)}):(le(t),r(void 0))})}function Zr(e){return q(st,e,!1)}function Kn(e){return q(at|Oe,e,!0)}function Wr(e,t=0){return q(Be|t,e,!0)}function Jr(e,t=[],n=[],r=[]){Cn(r,t,n,s=>{q(Be,()=>e(...s.map(Te)),!0)})}function Qr(e,t=0){var n=q(H|t,e,!0);return n}function es(e){return q(U|Oe,e,!0)}function Kt(e){var t=e.teardown;if(t!==null){const n=Ee,r=_;Tt(!0),X(null);try{t.call(null)}finally{Tt(n),X(r)}}}function $t(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&dt(()=>{s.abort(_e)});var r=n.next;(n.f&oe)!==0?n.parent=null:le(n,t),n=r}}function $n(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&U)===0&&le(t),t=n}}function le(e,t=!0){var n=!1;(t||(e.f&bt)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(zn(e.nodes.start,e.nodes.end),n=!0),$t(e,t&&!n),He(e,0),A(e,K);var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)f.stop();Kt(e);var s=e.parent;s!==null&&s.first!==null&&zt(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function zn(e,t){for(;e!==null;){var n=e===t?null:Z(e);e.remove(),e=n}}function zt(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Xn(e,t,n=!0){var r=[];Xt(e,r,!0);var s=()=>{n&&le(e),t&&t()},f=r.length;if(f>0){var l=()=>--f||s();for(var o of r)o.out(l)}else s()}function Xt(e,t,n){if((e.f&L)===0){e.f^=L;var r=e.nodes&&e.nodes.t;if(r!==null)for(const o of r)(o.is_global||n)&&t.push(o);for(var s=e.first;s!==null;){var f=s.next,l=(s.f&Ie)!==0||(s.f&U)!==0&&(e.f&H)!==0;Xt(s,t,l?n:!1),s=f}}}function ts(e){Zt(e,!0)}function Zt(e,t){if((e.f&L)!==0){e.f^=L,(e.f&R)===0&&(A(e,O),ae(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Ie)!==0||(n.f&U)!==0;Zt(n,s?t:!1),n=r}var f=e.nodes&&e.nodes.t;if(f!==null)for(const l of f)(l.is_global||t)&&l.in()}}function ns(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:Z(n);t.append(n),n=s}}let ne=!1;function Ye(e){ne=e}let Ee=!1;function Tt(e){Ee=e}let _=null,M=!1;function X(e){_=e}let h=null;function ye(e){h=e}let x=null;function Wt(e){_!==null&&(x===null?x=[e]:x.push(e))}let k=null,D=0,N=null;function Zn(e){N=e}let Jt=1,be=0,re=be;function At(e){re=e}function Qt(){return++Jt}function Pe(e){var t=e.f;if((t&O)!==0)return!0;if(t&m&&(e.f&=~se),(t&j)!==0){var n=e.deps;if(n!==null)for(var r=n.length,s=0;s<r;s++){var f=n[s];if(Pe(f)&&jt(f),f.wv>e.wv)return!0}(t&F)!==0&&y===null&&A(e,R)}return!1}function en(e,t,n=!0){var r=e.reactions;if(r!==null&&!(x!=null&&x.includes(e)))for(var s=0;s<r.length;s++){var f=r[s];(f.f&m)!==0?en(f,t,!1):t===f&&(n?A(f,O):(f.f&R)!==0&&A(f,j),ae(f))}}function tn(e){var b;var t=k,n=D,r=N,s=_,f=x,l=E,o=M,a=re,i=e.f;k=null,D=0,N=null,_=(i&(U|oe))===0?e:null,x=null,Ce(e.ctx),M=!1,re=++be,e.ac!==null&&(dt(()=>{e.ac.abort(_e)}),e.ac=null);try{e.f|=Xe;var u=e.fn,c=u(),p=e.deps;if(k!==null){var d;if(He(e,D),p!==null&&D>0)for(p.length=D+k.length,d=0;d<k.length;d++)p[D+d]=k[d];else e.deps=p=k;if(qe()&&(e.f&F)!==0)for(d=D;d<p.length;d++)((b=p[d]).reactions??(b.reactions=[])).push(e)}else p!==null&&D<p.length&&(He(e,D),p.length=D);if(Ne()&&N!==null&&!M&&p!==null&&(e.f&(m|j|O))===0)for(d=0;d<N.length;d++)en(N[d],e);return s!==null&&s!==e&&(be++,N!==null&&(r===null?r=N:r.push(...N))),(e.f&$)!==0&&(e.f^=$),c}catch(B){return Pn(B)}finally{e.f^=Xe,k=t,D=n,N=r,_=s,x=f,Ce(l),M=o,re=a}}function Wn(e,t){let n=t.reactions;if(n!==null){var r=ln.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}n===null&&(t.f&m)!==0&&(k===null||!k.includes(t))&&(A(t,j),(t.f&F)!==0&&(t.f^=F,t.f&=~se),Lt(t),He(t,0))}function He(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Wn(e,n[r])}function ke(e){var t=e.f;if((t&K)===0){A(e,R);var n=h,r=ne;h=e,ne=!0;try{(t&(H|vn))!==0?$n(e):$t(e),Kt(e);var s=tn(e);e.teardown=typeof s=="function"?s:null,e.wv=Jt;var f}finally{ne=r,h=n}}}async function rs(){await Promise.resolve(),Qe()}function ss(){return ie.ensure().settled()}function Te(e){var t=e.f,n=(t&m)!==0;if(_!==null&&!M){var r=h!==null&&(h.f&K)!==0;if(!r&&!(x!=null&&x.includes(e))){var s=_.deps;if((_.f&Xe)!==0)e.rv<be&&(e.rv=be,k===null&&s!==null&&s[D]===e?D++:k===null?k=[e]:k.includes(e)||k.push(e));else{(_.deps??(_.deps=[])).push(e);var f=e.reactions;f===null?e.reactions=[_]:f.includes(_)||f.push(_)}}}if(Ee){if(z.has(e))return z.get(e);if(n){var l=e,o=l.v;return((l.f&R)===0&&l.reactions!==null||rn(l))&&(o=_t(l)),z.set(l,o),o}}else n&&(!(y!=null&&y.has(e))||v!=null&&v.is_fork&&!qe())&&(l=e,Pe(l)&&jt(l),ne&&qe()&&(l.f&F)===0&&nn(l));if(y!=null&&y.has(e))return y.get(e);if((e.f&$)!==0)throw e.v;return e.v}function nn(e){if(e.deps!==null){e.f^=F;for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&m)!==0&&(t.f&F)===0&&nn(t)}}function rn(e){if(e.v===S)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(z.has(t)||(t.f&m)!==0&&rn(t))return!0;return!1}function Jn(e){var t=M;try{return M=!0,e()}finally{M=t}}const Qn=-7169;function A(e,t){e.f=e.f&Qn|t}function fs(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(Se in e)rt(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&Se in n&&rt(n)}}}function rt(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{rt(e[r],t)}catch{}const n=St(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=on(n);for(let s in r){const f=r[s].get;if(f)try{f.call(e)}catch{}}}}}function is(e){E===null&&pn(),De&&E.l!==null?er(E).m.push(e):Gn(()=>{const t=Jn(e);if(typeof t=="function")return t})}function er(e){var t=e.l;return t.u??(t.u={a:[],b:[],m:[]})}export{Nr as $,W as A,Ee as B,h as C,K as D,Ie as E,Ar as F,De as G,kn as H,gr as I,mr as J,Sr as K,or as L,E as M,zr as N,Gn as O,Tr as P,_n as Q,ir as R,Se as S,fs as T,Fr as U,Mr as V,Br as W,Jr as X,Lr as Y,Vr as Z,Ur as _,je as a,wr as a$,Un as a0,ur as a1,kr as a2,St as a3,on as a4,bt as a5,nt as a6,xt as a7,Z as a8,$r as a9,Hn as aA,Rr as aB,br as aC,it as aD,lt as aE,Hr as aF,bn as aG,ot as aH,_r as aI,Gr as aJ,nr as aK,Xr as aL,xn as aM,ut as aN,an as aO,un as aP,Ne as aQ,fr as aR,Fn as aS,Me as aT,Re as aU,S as aV,lr as aW,pr as aX,Er as aY,hr as aZ,L as a_,is as aa,G as ab,Yn as ac,qr as ad,Qe as ae,rr as af,Yr as ag,rs as ah,qe as ai,vt as aj,$e as ak,ie as al,ye as am,X as an,Ce as ao,Pn as ap,_ as aq,tt as ar,Pr as as,Fe as at,dr as au,Oe as av,ft as aw,xr as ax,Vn as ay,dt as az,es as b,yr as b0,ar as b1,sr as b2,On as b3,jr as b4,ss as b5,v as c,le as d,g as e,Qr as f,Dr as g,fe as h,Cr as i,Ir as j,we as k,Or as l,ns as m,Zr as n,Wr as o,Xn as p,Dn as q,ts as r,Kr as s,Ae as t,Jn as u,vr as v,Te as w,ct as x,Ln as y,ge as z};
@@ -1 +0,0 @@
1
- var S=Object.defineProperty;var y=a=>{throw TypeError(a)};var x=(a,e,t)=>e in a?S(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var A=(a,e,t)=>x(a,typeof e!="symbol"?e+"":e,t),E=(a,e,t)=>e.has(a)||y("Cannot "+t);var s=(a,e,t)=>(E(a,e,"read from private field"),t?t.call(a):e.get(a)),u=(a,e,t)=>e.has(a)?y("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,t),T=(a,e,t,i)=>(E(a,e,"write to private field"),i?i.call(a,t):e.set(a,t),t);import{c as w,r as D,d as k,p as N,a as F,b as M,h as g,e as B,m as C,s as H,f as j,g as I,E as L,i as O,H as P,j as Y,k as q,l as R}from"./B2IHY0Hs.js";var d,l,c,_,m,v,b;class z{constructor(e,t=!0){A(this,"anchor");u(this,d,new Map);u(this,l,new Map);u(this,c,new Map);u(this,_,new Set);u(this,m,!0);u(this,v,()=>{var e=w;if(s(this,d).has(e)){var t=s(this,d).get(e),i=s(this,l).get(t);if(i)D(i),s(this,_).delete(t);else{var n=s(this,c).get(t);n&&(s(this,l).set(t,n.effect),s(this,c).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[f,r]of s(this,d)){if(s(this,d).delete(f),f===e)break;const h=s(this,c).get(r);h&&(k(h.effect),s(this,c).delete(r))}for(const[f,r]of s(this,l)){if(f===t||s(this,_).has(f))continue;const h=()=>{if(Array.from(s(this,d).values()).includes(f)){var p=document.createDocumentFragment();C(r,p),p.append(F()),s(this,c).set(f,{effect:r,fragment:p})}else k(r);s(this,_).delete(f),s(this,l).delete(f)};s(this,m)||!i?(s(this,_).add(f),N(r,h,!1)):h()}}});u(this,b,e=>{s(this,d).delete(e);const t=Array.from(s(this,d).values());for(const[i,n]of s(this,c))t.includes(i)||(k(n.effect),s(this,c).delete(i))});this.anchor=e,T(this,m,t)}ensure(e,t){var i=w,n=H();if(t&&!s(this,l).has(e)&&!s(this,c).has(e))if(n){var f=document.createDocumentFragment(),r=F();f.append(r),s(this,c).set(e,{effect:M(()=>t(r)),fragment:f})}else s(this,l).set(e,M(()=>t(this.anchor)));if(s(this,d).set(i,e),n){for(const[h,o]of s(this,l))h===e?i.skipped_effects.delete(o):i.skipped_effects.add(o);for(const[h,o]of s(this,c))h===e?i.skipped_effects.delete(o.effect):i.skipped_effects.add(o.effect);i.oncommit(s(this,v)),i.ondiscard(s(this,b))}else g&&(this.anchor=B),s(this,v).call(this)}}d=new WeakMap,l=new WeakMap,c=new WeakMap,_=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap;function K(a,e,t=!1){g&&I();var i=new z(a),n=t?L:0;function f(r,h){if(g){const p=O(a)===P;if(r===p){var o=Y();q(o),i.anchor=o,R(!1),i.ensure(r,h),R(!0);return}}i.ensure(r,h)}j(()=>{var r=!1;e((h,o=!0)=>{r=!0,f(o,h)}),r||f(!1,null)},n)}export{z as B,K as i};
@@ -1 +0,0 @@
1
- import{n as Y,o as q,u as L,q as x,S as D,t as y,v as M,P as N,w as I,x as U,y as w,z,A as C,B as G,C as $,D as F,F as J,G as K,I as Z,J as j,K as H,L as Q}from"./B2IHY0Hs.js";function R(r,i){return r===i||(r==null?void 0:r[D])===i}function X(r={},i,t,u){return Y(()=>{var n,a;return q(()=>{n=a,a=[],L(()=>{r!==t(...a)&&(i(r,...a),n&&R(t(...n),r)&&i(null,...n))})}),()=>{x(()=>{a&&R(t(...a),r)&&i(null,...a)})}}),r}let c=!1;function V(r){var i=c;try{return c=!1,[r(),c]}finally{c=i}}function k(r,i,t,u){var E;var n=!K||(t&Z)!==0,a=(t&J)!==0,T=(t&H)!==0,f=u,P=!0,g=()=>(P&&(P=!1,f=T?L(u):u),f),d;if(a){var B=D in r||Q in r;d=((E=y(r,i))==null?void 0:E.set)??(B&&i in r?e=>r[i]=e:void 0)}var _,A=!1;a?[_,A]=V(()=>r[i]):_=r[i],_===void 0&&u!==void 0&&(_=g(),d&&(n&&M(),d(_)));var s;if(n?s=()=>{var e=r[i];return e===void 0?g():(P=!0,e)}:s=()=>{var e=r[i];return e!==void 0&&(f=void 0),e===void 0?f:e},n&&(t&N)===0)return s;if(d){var b=r.$$legacy;return(function(e,S){return arguments.length>0?((!n||!S||b||A)&&d(S?s():e),e):s()})}var l=!1,v=((t&j)!==0?U:w)(()=>(l=!1,s()));a&&I(v);var h=$;return(function(e,S){if(arguments.length>0){const O=S?I(v):n&&a?z(e):e;return C(v,O),l=!0,f!==void 0&&(f=O),e}return G&&l||(h.f&F)!==0?v.v:I(v)})}export{X as b,k as p};
@@ -1 +0,0 @@
1
- var Zt=t=>{throw TypeError(t)};var Ce=(t,e,n)=>e.has(t)||Zt("Cannot "+n);var w=(t,e,n)=>(Ce(t,e,"read from private field"),n?n.call(t):e.get(t)),U=(t,e,n)=>e.has(t)?Zt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{b2 as At,b3 as je,aa as te,ab as T,w as I,A as O,ah as pt,b4 as ee,b5 as Ne}from"./B2IHY0Hs.js";const M=[];function Nt(t,e=At){let n=null;const r=new Set;function a(i){if(je(t,i)&&(t=i,n)){const c=!M.length;for(const l of r)l[1](),M.push(l,t);if(c){for(let l=0;l<M.length;l+=2)M[l][0](M[l+1]);M.length=0}}}function s(i){a(i(t))}function o(i,c=At){const l=[i,c];return r.add(l),r.size===1&&(n=e(a,s)||At),i(t),()=>{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:a,update:s,subscribe:o}}class qt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Dt{constructor(e,n){this.status=e,this.location=n}}class Vt extends Error{constructor(e,n,r){super(r),this.status=e,this.text=n}}new URL("sveltekit-internal://");function qe(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function De(t){return t.split("%25").map(decodeURI).join("%25")}function Ve(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Lt({href:t}){return t.split("#")[0]}function Be(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)e=e*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function Ke(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}const Me=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&Y.delete(Bt(t)),Me(t,e));const Y=new Map;function ze(t,e){const n=Bt(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:a,...s}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&Y.set(n,{body:a,init:s,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(a=Ke(a)),Promise.resolve(new Response(a,s))}return window.fetch(t,e)}function Fe(t,e,n){if(Y.size>0){const r=Bt(t,n),a=Y.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(a.body,a.init);Y.delete(r)}}return window.fetch(e,n)}function Bt(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const a=[];e.headers&&a.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&a.push(e.body),r+=`[data-hash="${Be(...a)}"]`}return r}const Ge=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function We(t){const e=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${He(t).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return e.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return e.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const o=r.split(/\[(.+?)\](?!\])/);return"/"+o.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return Ut(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return Ut(String.fromCharCode(...c.slice(2).split("-").map(_=>parseInt(_,16))));const d=Ge.exec(c),[,u,v,f,h]=d;return e.push({name:f,matcher:h,optional:!!u,rest:!!v,chained:v?l===1&&o[0]==="":!1}),v?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return Ut(c)}).join("")}).join("")}/?$`),params:e}}function Ye(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function He(t){return t.slice(1).split("/").filter(Ye)}function Je(t,e,n){const r={},a=t.slice(1),s=a.filter(i=>i!==void 0);let o=0;for(let i=0;i<e.length;i+=1){const c=e[i];let l=a[i-o];if(c.chained&&c.rest&&o&&(l=a.slice(i-o,i+1).filter(d=>d).join("/"),o=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||n[c.matcher](l)){r[c.name]=l;const d=e[i+1],u=a[i+1];d&&!d.rest&&d.optional&&u&&c.chained&&(o=0),!d&&!u&&Object.keys(r).length===s.length&&(o=0);continue}if(c.optional&&c.chained){o++;continue}return}if(!o)return r}function Ut(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Xe({nodes:t,server_loads:e,dictionary:n,matchers:r}){const a=new Set(e);return Object.entries(n).map(([i,[c,l,d]])=>{const{pattern:u,params:v}=We(i),f={id:i,exec:h=>{const _=u.exec(h);if(_)return Je(_,v,r)},errors:[1,...d||[]].map(h=>t[h]),layouts:[0,...l||[]].map(o),leaf:s(c)};return f.errors.length=f.layouts.length=Math.max(f.errors.length,f.layouts.length),f});function s(i){const c=i<0;return c&&(i=~i),[c,t[i]]}function o(i){return i===void 0?i:[a.has(i),t[i]]}}function pe(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function ne(t,e,n=JSON.stringify){const r=n(e);try{sessionStorage[t]=r}catch{}}var le;const L=((le=globalThis.__sveltekit_y4sqd9)==null?void 0:le.base)??"";var fe;const Qe=((fe=globalThis.__sveltekit_y4sqd9)==null?void 0:fe.assets)??L??"",Ze="1765801010371",ge="sveltekit:snapshot",me="sveltekit:scroll",_e="sveltekit:states",tn="sveltekit:pageurl",F="sveltekit:history",J="sveltekit:navigation",q={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Kt=location.origin;function we(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function St(){return{x:pageXOffset,y:pageYOffset}}function z(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const ae={...q,"":q.hover};function ye(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function ve(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ye(t)}}function Ot(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";r.hash=`#${i}${r.hash}`}}catch{}const a=t instanceof SVGAElement?t.target.baseVal:t.target,s=!r||!!a||Et(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(r==null?void 0:r.origin)===Kt&&t.hasAttribute("download");return{url:r,external:s,target:a,download:o}}function gt(t){let e=null,n=null,r=null,a=null,s=null,o=null,i=t;for(;i&&i!==document.documentElement;)r===null&&(r=z(i,"preload-code")),a===null&&(a=z(i,"preload-data")),e===null&&(e=z(i,"keepfocus")),n===null&&(n=z(i,"noscroll")),s===null&&(s=z(i,"reload")),o===null&&(o=z(i,"replacestate")),i=ye(i);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ae[r??"off"],preload_data:ae[a??"off"],keepfocus:c(e),noscroll:c(n),reload:c(s),replace_state:c(o)}}function re(t){const e=Nt(t);let n=!0;function r(){n=!0,e.update(o=>o)}function a(o){n=!1,e.set(o)}function s(o){let i;return e.subscribe(c=>{(i===void 0||n&&c!==i)&&o(i=c)})}return{notify:r,set:a,subscribe:s}}const be={v:()=>{}};function en(){const{set:t,subscribe:e}=Nt(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Qe}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const o=(await a.json()).version!==Ze;return o&&(t(!0),be.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:r}}function Et(t,e,n){return t.origin!==Kt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Un(t){}const ke=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ke];const nn=new Set([...ke]);[...nn];function an(t){return t.filter(e=>e!=null)}function Mt(t){return t instanceof qt||t instanceof Vt?t.status:500}function rn(t){return t instanceof Vt?t.text:"Internal Error"}let R,X,Tt;const on=te.toString().includes("$$")||/function \w+\(\) \{\}/.test(te.toString());var nt,at,rt,ot,st,it,ct,lt,ue,ft,de,ut,he;on?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},X={current:null},Tt={current:!1}):(R=new(ue=class{constructor(){U(this,nt,T({}));U(this,at,T(null));U(this,rt,T(null));U(this,ot,T({}));U(this,st,T({id:null}));U(this,it,T({}));U(this,ct,T(-1));U(this,lt,T(new URL("https://example.com")))}get data(){return I(w(this,nt))}set data(e){O(w(this,nt),e)}get form(){return I(w(this,at))}set form(e){O(w(this,at),e)}get error(){return I(w(this,rt))}set error(e){O(w(this,rt),e)}get params(){return I(w(this,ot))}set params(e){O(w(this,ot),e)}get route(){return I(w(this,st))}set route(e){O(w(this,st),e)}get state(){return I(w(this,it))}set state(e){O(w(this,it),e)}get status(){return I(w(this,ct))}set status(e){O(w(this,ct),e)}get url(){return I(w(this,lt))}set url(e){O(w(this,lt),e)}},nt=new WeakMap,at=new WeakMap,rt=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,ct=new WeakMap,lt=new WeakMap,ue),X=new(de=class{constructor(){U(this,ft,T(null))}get current(){return I(w(this,ft))}set current(e){O(w(this,ft),e)}},ft=new WeakMap,de),Tt=new(he=class{constructor(){U(this,ut,T(!1))}get current(){return I(w(this,ut))}set current(e){O(w(this,ut),e)}},ut=new WeakMap,he),be.v=()=>Tt.current=!0);function Se(t){Object.assign(R,t)}const sn=new Set(["icon","shortcut icon","apple-touch-icon"]),V=pe(me)??{},Q=pe(ge)??{},N={url:re({}),page:re({}),navigating:Nt(null),updated:en()};function zt(t){V[t]=St()}function cn(t,e){let n=t+1;for(;V[n];)delete V[n],n+=1;for(n=e+1;Q[n];)delete Q[n],n+=1}function Z(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise(()=>{})}async function Ee(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(L||"/");t&&await t.update()}}function oe(){}let Ft,$t,mt,P,Pt,b;const _t=[],wt=[];let y=null;function Ct(){var t;(t=y==null?void 0:y.fork)==null||t.then(e=>e==null?void 0:e.discard()),y=null}const ht=new Map,Re=new Set,ln=new Set,H=new Set;let m={branch:[],error:null,url:null},xe=!1,yt=!1,se=!0,tt=!1,W=!1,Ae=!1,Gt=!1,Wt,S,A,D;const vt=new Set,ie=new Map;async function $n(t,e,n){var s,o,i,c,l;(s=globalThis.__sveltekit_y4sqd9)!=null&&s.data&&globalThis.__sveltekit_y4sqd9.data,document.URL!==location.href&&(location.href=location.href),b=t,await((i=(o=t.hooks).init)==null?void 0:i.call(o)),Ft=Xe(t),P=document.documentElement,Pt=e,$t=t.nodes[0],mt=t.nodes[1],$t(),mt(),S=(c=history.state)==null?void 0:c[F],A=(l=history.state)==null?void 0:l[J],S||(S=A=Date.now(),history.replaceState({...history.state,[F]:S,[J]:A},""));const r=V[S];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await Sn(Pt,n)):(await G({type:"enter",url:we(b.hash?xn(new URL(location.href)):location.href),replace_state:!0}),a()),kn()}function fn(){_t.length=0,Gt=!1}function Le(t){wt.some(e=>e==null?void 0:e.snapshot)&&(Q[t]=wt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Ue(t){var e;(e=Q[t])==null||e.forEach((n,r)=>{var a,s;(s=(a=wt[r])==null?void 0:a.snapshot)==null||s.restore(n)})}function ce(){zt(S),ne(me,V),Le(A),ne(ge,Q)}async function un(t,e,n,r){let a;e.invalidateAll&&Ct(),await G({type:"goto",url:we(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:r,accept:()=>{e.invalidateAll&&(Gt=!0,a=[...ie.keys()]),e.invalidate&&e.invalidate.forEach(bn)}}),e.invalidateAll&&pt().then(pt).then(()=>{ie.forEach(({resource:s},o)=>{var i;a!=null&&a.includes(o)&&((i=s.refresh)==null||i.call(s))})})}async function dn(t){if(t.id!==(y==null?void 0:y.id)){Ct();const e={};if(vt.add(e),y={id:t.id,token:e,promise:Ie({...t,preload:e}).then(n=>(vt.delete(e),n.type==="loaded"&&n.state.error&&Ct(),n)),fork:null},ee){const n=y;n.fork=n.promise.then(r=>{if(n===y&&r.type==="loaded")try{return ee(()=>{Wt.$set(r.props),Se(r.props.page)})}catch{}return null})}}return y.promise}async function It(t){var n;const e=(n=await Rt(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].map(r=>r==null?void 0:r[1]()))}async function Te(t,e,n){var a;m=t.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,t.props.page),Wt=new b.root({target:e,props:{...t.props,stores:N,components:wt},hydrate:n,sync:!1}),await Promise.resolve(),Ue(A),n){const s={from:null,to:{params:m.params,route:{id:((a=m.route)==null?void 0:a.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};H.forEach(o=>o(s))}yt=!0}function bt({url:t,params:e,branch:n,status:r,error:a,route:s,form:o}){let i="never";if(L&&(t.pathname===L||t.pathname===L+"/"))i="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(i=f.slash);t.pathname=qe(t.pathname,i),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:a,route:s},props:{constructors:an(n).map(f=>f.node.component),page:Qt(R)}};o!==void 0&&(c.props.form=o);let l={},d=!R,u=0;for(let f=0;f<Math.max(n.length,m.branch.length);f+=1){const h=n[f],_=m.branch[f];(h==null?void 0:h.data)!==(_==null?void 0:_.data)&&(d=!0),h&&(l={...l,...h.data},d&&(c.props[`data_${u}`]=l),u+=1)}return(!m.url||t.href!==m.url.href||m.error!==a||o!==void 0&&o!==R.form||d)&&(c.props.page={error:a,params:e,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(t),form:o??null,data:d?l:R.data}),c}async function Yt({loader:t,parent:e,url:n,params:r,route:a,server_data_node:s}){var l,d;let o=null;const i={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await t();return{node:c,loader:t,server:s,universal:(l=c.universal)!=null&&l.load?{type:"data",data:o,uses:i}:null,data:o??(s==null?void 0:s.data)??null,slash:((d=c.universal)==null?void 0:d.trailingSlash)??(s==null?void 0:s.slash)}}function hn(t,e,n){let r=t instanceof Request?t.url:t;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=yt?Fe(r,a.href,e):ze(r,e);return{resolved:a,promise:s}}function pn(t,e,n,r,a,s){if(Gt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&e||a.url&&n)return!0;for(const o of a.search_params)if(r.has(o))return!0;for(const o of a.params)if(s[o]!==m.params[o])return!0;for(const o of a.dependencies)if(_t.some(i=>i(new URL(o))))return!0;return!1}function Ht(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function gn(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const r of n){const a=t.searchParams.getAll(r),s=e.searchParams.getAll(r);a.every(o=>s.includes(o))&&s.every(o=>a.includes(o))&&n.delete(r)}return n}function mn({error:t,url:e,route:n,params:r}){return{type:"loaded",state:{error:t,url:e,route:n,params:r,branch:[]},props:{page:Qt(R),constructors:[]}}}async function Ie({id:t,invalidating:e,url:n,params:r,route:a,preload:s}){if((y==null?void 0:y.id)===t)return vt.delete(y.token),y.promise;const{errors:o,layouts:i,leaf:c}=a,l=[...i,c];o.forEach(g=>g==null?void 0:g().catch(()=>{})),l.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));const d=m.url?t!==kt(m.url):!1,u=m.route?a.id!==m.route.id:!1,v=gn(m.url,n);let f=!1;const h=l.map(async(g,p)=>{var C;if(!g)return;const k=m.branch[p];return g[1]===(k==null?void 0:k.loader)&&!pn(f,u,d,v,(C=k.universal)==null?void 0:C.uses,r)?k:(f=!0,Yt({loader:g[1],url:n,params:r,route:a,parent:async()=>{var dt;const $={};for(let B=0;B<p;B+=1)Object.assign($,(dt=await h[B])==null?void 0:dt.data);return $},server_data_node:Ht(g[0]?{type:"skip"}:null,g[0]?k==null?void 0:k.server:void 0)}))});for(const g of h)g.catch(()=>{});const _=[];for(let g=0;g<l.length;g+=1)if(l[g])try{_.push(await h[g])}catch(p){if(p instanceof Dt)return{type:"redirect",location:p.location};if(vt.has(s))return mn({error:await et(p,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let k=Mt(p),x;if(p instanceof qt)x=p.body;else{if(await N.updated.check())return await Ee(),await Z(n);x=await et(p,{params:r,url:n,route:{id:a.id}})}const C=await _n(g,_,o);return C?bt({url:n,params:r,branch:_.slice(0,C.idx).concat(C.node),status:k,error:x,route:a}):await $e(n,{id:a.id},x,k)}else _.push(void 0);return bt({url:n,params:r,branch:_,status:200,error:null,route:a,form:e?void 0:null})}async function _n(t,e,n){for(;t--;)if(n[t]){let r=t;for(;!e[r];)r-=1;try{return{idx:r+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function Jt({status:t,error:e,url:n,route:r}){const a={};let s=null;try{const o=await Yt({loader:$t,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:Ht(s)}),i={node:await mt(),loader:mt,universal:null,server:null,data:null};return bt({url:n,params:a,branch:[o,i],status:t,error:e,route:null})}catch(o){if(o instanceof Dt)return un(new URL(o.location,location.href),{},0);throw o}}async function wn(t){const e=t.href;if(ht.has(e))return ht.get(e);let n;try{const r=(async()=>{let a=await b.hooks.reroute({url:new URL(t),fetch:async(s,o)=>hn(s,o,t).promise})??t;if(typeof a=="string"){const s=new URL(t);b.hash?s.hash=a:s.pathname=a,a=s}return a})();ht.set(e,r),n=await r}catch{ht.delete(e);return}return n}async function Rt(t,e){if(t&&!Et(t,L,b.hash)){const n=await wn(t);if(!n)return;const r=yn(n);for(const a of Ft){const s=a.exec(r);if(s)return{id:kt(t),invalidating:e,route:a,params:Ve(s),url:t}}}}function yn(t){return De(b.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(L.length))||"/"}function kt(t){return(b.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Oe({url:t,type:e,intent:n,delta:r,event:a}){let s=!1;const o=Xt(m,n,t,e);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const i={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return tt||Re.forEach(c=>c(i)),s?null:o}async function G({type:t,url:e,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o={},redirect_count:i=0,nav_token:c={},accept:l=oe,block:d=oe,event:u}){var B;const v=D;D=c;const f=await Rt(e,!1),h=t==="enter"?Xt(m,f,e,t):Oe({url:e,type:t,delta:n==null?void 0:n.delta,intent:f,event:u});if(!h){d(),D===c&&(D=v);return}const _=S,g=A;l(),tt=!0,yt&&h.navigation.type!=="enter"&&N.navigating.set(X.current=h.navigation);let p=f&&await Ie(f);if(!p){if(Et(e,L,b.hash))return await Z(e,s);p=await $e(e,{id:null},await et(new Vt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,s)}if(e=(f==null?void 0:f.url)||e,D!==c)return h.reject(new Error("navigation aborted")),!1;if(p.type==="redirect"){if(i<20){await G({type:t,url:new URL(p.location,e),popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o,redirect_count:i+1,nav_token:c}),h.fulfil(void 0);return}p=await Jt({status:500,error:await et(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else p.props.page.status>=400&&await N.updated.check()&&(await Ee(),await Z(e,s));if(fn(),zt(_),Le(g),p.props.page.url.pathname!==e.pathname&&(e.pathname=p.props.page.url.pathname),o=n?n.state:o,!n){const E=s?0:1,K={[F]:S+=E,[J]:A+=E,[_e]:o};(s?history.replaceState:history.pushState).call(history,K,"",e),s||cn(S,A)}const k=f&&(y==null?void 0:y.id)===f.id?y.fork:null;y=null,p.props.page.state=o;let x;if(yt){const E=(await Promise.all(Array.from(ln,j=>j(h.navigation)))).filter(j=>typeof j=="function");if(E.length>0){let j=function(){E.forEach(xt=>{H.delete(xt)})};E.push(j),E.forEach(xt=>{H.add(xt)})}m=p.state,p.props.page&&(p.props.page.url=e);const K=k&&await k;K?x=K.commit():(Wt.$set(p.props),Se(p.props.page),x=(B=Ne)==null?void 0:B()),Ae=!0}else await Te(p,Pt,!1);const{activeElement:C}=document;await x,await pt(),await pt();let $=n?n.scroll:a?St():null;if(se){const E=e.hash&&document.getElementById(Pe(e));if($)scrollTo($.x,$.y);else if(E){E.scrollIntoView();const{top:K,left:j}=E.getBoundingClientRect();$={x:pageXOffset+j,y:pageYOffset+K}}else scrollTo(0,0)}const dt=document.activeElement!==C&&document.activeElement!==document.body;!r&&!dt&&Rn(e,$),se=!0,p.props.page&&Object.assign(R,p.props.page),tt=!1,t==="popstate"&&Ue(A),h.fulfil(void 0),H.forEach(E=>E(h.navigation)),N.navigating.set(X.current=null)}async function $e(t,e,n,r,a){return t.origin===Kt&&t.pathname===location.pathname&&!xe?await Jt({status:r,error:n,url:t,route:e}):await Z(t,a)}function vn(){let t,e,n;P.addEventListener("mousemove",i=>{const c=i.target;clearTimeout(t),t=setTimeout(()=>{s(c,q.hover)},20)});function r(i){i.defaultPrevented||s(i.composedPath()[0],q.tap)}P.addEventListener("mousedown",r),P.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(i=>{for(const c of i)c.isIntersecting&&(It(new URL(c.target.href)),a.unobserve(c.target))},{threshold:0});async function s(i,c){const l=ve(i,P),d=l===e&&c>=n;if(!l||d)return;const{url:u,external:v,download:f}=Ot(l,L,b.hash);if(v||f)return;const h=gt(l),_=u&&kt(m.url)===kt(u);if(!(h.reload||_))if(c<=h.preload_data){e=l,n=q.tap;const g=await Rt(u,!1);if(!g)return;dn(g)}else c<=h.preload_code&&(e=l,n=c,It(u))}function o(){a.disconnect();for(const i of P.querySelectorAll("a")){const{url:c,external:l,download:d}=Ot(i,L,b.hash);if(l||d)continue;const u=gt(i);u.reload||(u.preload_code===q.viewport&&a.observe(i),u.preload_code===q.eager&&It(c))}}H.add(o),o()}function et(t,e){if(t instanceof qt)return t.body;const n=Mt(t),r=rn(t);return b.hooks.handleError({error:t,event:e,status:n,message:r})??{message:r}}function bn(t){if(typeof t=="function")_t.push(t);else{const{href:e}=new URL(t,location.href);_t.push(n=>n.href===e)}}function kn(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let r=!1;if(ce(),!tt){const a=Xt(m,void 0,null,"leave"),s={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};Re.forEach(o=>o(s))}r?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ce()}),(e=navigator.connection)!=null&&e.saveData||vn(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const r=ve(n.composedPath()[0],P);if(!r)return;const{url:a,external:s,target:o,download:i}=Ot(r,L,b.hash);if(!a)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const c=gt(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||i)return;const[d,u]=(b.hash?a.hash.replace(/^#/,""):a.href).split("#"),v=d===Lt(location);if(s||c.reload&&(!v||!u)){Oe({url:a,type:"link",event:n})?tt=!0:n.preventDefault();return}if(u!==void 0&&v){const[,f]=m.url.href.split("#");if(f===u){if(n.preventDefault(),u===""||u==="top"&&r.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const h=r.ownerDocument.getElementById(decodeURIComponent(u));h&&(h.scrollIntoView(),h.focus())}return}if(W=!0,zt(S),t(a),!c.replace_state)return;W=!1}n.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await G({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(n.target),a=n.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const i=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(Et(i,L,!1))return;const c=n.target,l=gt(c);if(l.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(c,a);i.search=new URLSearchParams(d).toString(),G({type:"form",url:i,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??i.href===location.href,event:n})}),addEventListener("popstate",async n=>{var r;if(!jt){if((r=n.state)!=null&&r[F]){const a=n.state[F];if(D={},a===S)return;const s=V[a],o=n.state[_e]??{},i=new URL(n.state[tn]??location.href),c=n.state[J],l=m.url?Lt(location)===Lt(m.url):!1;if(c===A&&(Ae||l)){o!==R.state&&(R.state=o),t(i),V[S]=St(),s&&scrollTo(s.x,s.y),S=a;return}const u=a-S;await G({type:"popstate",url:i,popped:{state:o,scroll:s,delta:u},accept:()=>{S=a,A=c},block:()=>{history.go(-u)},nav_token:D,event:n})}else if(!W){const a=new URL(location.href);t(a),b.hash&&location.reload()}}}),addEventListener("hashchange",()=>{W&&(W=!1,history.replaceState({...history.state,[F]:++S,[J]:A},"",location.href))});for(const n of document.querySelectorAll("link"))sn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&N.navigating.set(X.current=null)});function t(n){m.url=R.url=n,N.page.set(Qt(R)),N.page.notify()}}async function Sn(t,{status:e=200,error:n,node_ids:r,params:a,route:s,server_route:o,data:i,form:c}){xe=!0;const l=new URL(location.href);let d;({params:a={},route:s={id:null}}=await Rt(l,!1)||{}),d=Ft.find(({id:f})=>f===s.id);let u,v=!0;try{const f=r.map(async(_,g)=>{const p=i[g];return p!=null&&p.uses&&(p.uses=En(p.uses)),Yt({loader:b.nodes[_],url:l,params:a,route:s,parent:async()=>{const k={};for(let x=0;x<g;x+=1)Object.assign(k,(await f[x]).data);return k},server_data_node:Ht(p)})}),h=await Promise.all(f);if(d){const _=d.layouts;for(let g=0;g<_.length;g++)_[g]||h.splice(g,0,void 0)}u=bt({url:l,params:a,branch:h,status:e,error:n,form:c,route:d??null})}catch(f){if(f instanceof Dt){await Z(new URL(f.location,location.href));return}u=await Jt({status:Mt(f),error:await et(f,{url:l,params:a,route:s}),url:l,route:s}),t.textContent="",v=!1}u.props.page&&(u.props.page.state={}),await Te(u,t,v)}function En(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}let jt=!1;function Rn(t,e=null){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=Pe(t);if(r&&document.getElementById(r)){const{x:s,y:o}=e??St();setTimeout(()=>{const i=history.state;jt=!0,location.replace(`#${r}`),b.hash&&location.replace(t.hash),history.replaceState(i,"",t.hash),scrollTo(s,o),jt=!1})}else{const s=document.body,o=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),o!==null?s.setAttribute("tabindex",o):s.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const s=[];for(let o=0;o<a.rangeCount;o+=1)s.push(a.getRangeAt(o));setTimeout(()=>{if(a.rangeCount===s.length){for(let o=0;o<a.rangeCount;o+=1){const i=s[o],c=a.getRangeAt(o);if(i.commonAncestorContainer!==c.commonAncestorContainer||i.startContainer!==c.startContainer||i.endContainer!==c.endContainer||i.startOffset!==c.startOffset||i.endOffset!==c.endOffset)return}a.removeAllRanges()}})}}}function Xt(t,e,n,r){var c,l;let a,s;const o=new Promise((d,u)=>{a=d,s=u});return o.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((l=e==null?void 0:e.route)==null?void 0:l.id)??null},url:n},willUnload:!e,type:r,complete:o},fulfil:a,reject:s}}function Qt(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function xn(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function Pe(t){let e;if(b.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{$n as a,Un as l,R as p,N as s};
@@ -1,2 +0,0 @@
1
- var Dt=Object.defineProperty;var dt=e=>{throw TypeError(e)};var Lt=(e,t,r)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var _t=(e,t,r)=>Lt(e,typeof t!="symbol"?t+"":t,r),Z=(e,t,r)=>t.has(e)||dt("Cannot "+r);var s=(e,t,r)=>(Z(e,t,"read from private field"),r?r.call(e):t.get(e)),u=(e,t,r)=>t.has(e)?dt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),i=(e,t,r,a)=>(Z(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r),p=(e,t,r)=>(Z(e,t,"access private method"),r);import{ai as Mt,w as Et,aj as Tt,o as Ot,u as Ft,ak as pt,q as ut,e as g,h as T,C as P,f as kt,g as bt,a7 as ht,H as Ct,b as F,al as G,p as tt,a as q,am as K,an as V,ao as vt,ap as It,aq as rt,M as wt,m as Pt,ar as Ht,d as et,k as W,as as Bt,j as Vt,at as gt,au as xt,E as Yt,av as qt,aw as Wt,ax as jt,af as Ut,ay as Gt,az as $t,a6 as st,aA as zt,aB as Jt,aC as Kt,aD as Xt,aE as Qt,aF as nt,aG as Zt,a8 as te,aH as it,l as $,aI as ee,aJ as re,aK as se,aL as ne,V as ie,aM as ae,aN as oe,Y as le}from"./B2IHY0Hs.js";function fe(e){let t=0,r=Tt(0),a;return()=>{Mt()&&(Et(r),Ot(()=>(t===0&&(a=Ft(()=>e(()=>pt(r)))),t+=1,()=>{ut(()=>{t-=1,t===0&&(a==null||a(),a=void 0,pt(r))})})))}}var ue=Yt|qt|Wt;function he(e,t,r){new ce(e,t,r)}var m,v,j,b,k,w,E,d,N,S,D,C,L,I,M,X,f,Nt,Rt,at,z,J,ot;class ce{constructor(t,r,a){u(this,f);_t(this,"parent");u(this,m,!1);u(this,v);u(this,j,T?g:null);u(this,b);u(this,k);u(this,w);u(this,E,null);u(this,d,null);u(this,N,null);u(this,S,null);u(this,D,null);u(this,C,0);u(this,L,0);u(this,I,!1);u(this,M,null);u(this,X,fe(()=>(i(this,M,Tt(s(this,C))),()=>{i(this,M,null)})));i(this,v,t),i(this,b,r),i(this,k,a),this.parent=P.b,i(this,m,!!s(this,b).pending),i(this,w,kt(()=>{if(P.b=this,T){const n=s(this,j);bt(),n.nodeType===ht&&n.data===Ct?p(this,f,Rt).call(this):p(this,f,Nt).call(this)}else{var o=p(this,f,at).call(this);try{i(this,E,F(()=>a(o)))}catch(n){this.error(n)}s(this,L)>0?p(this,f,J).call(this):i(this,m,!1)}return()=>{var n;(n=s(this,D))==null||n.remove()}},ue)),T&&i(this,v,g)}is_pending(){return s(this,m)||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!s(this,b).pending}update_pending_count(t){p(this,f,ot).call(this,t),i(this,C,s(this,C)+t),s(this,M)&&Ht(s(this,M),s(this,C))}get_effect_pending(){return s(this,X).call(this),Et(s(this,M))}error(t){var r=s(this,b).onerror;let a=s(this,b).failed;if(s(this,I)||!r&&!a)throw t;s(this,E)&&(et(s(this,E)),i(this,E,null)),s(this,d)&&(et(s(this,d)),i(this,d,null)),s(this,N)&&(et(s(this,N)),i(this,N,null)),T&&(W(s(this,j)),Bt(),W(Vt()));var o=!1,n=!1;const l=()=>{if(o){jt();return}o=!0,n&&xt(),G.ensure(),i(this,C,0),s(this,N)!==null&&tt(s(this,N),()=>{i(this,N,null)}),i(this,m,this.has_pending_snippet()),i(this,E,p(this,f,z).call(this,()=>(i(this,I,!1),F(()=>s(this,k).call(this,s(this,v)))))),s(this,L)>0?p(this,f,J).call(this):i(this,m,!1)};var y=rt;try{V(null),n=!0,r==null||r(t,l),n=!1}catch(_){gt(_,s(this,w)&&s(this,w).parent)}finally{V(y)}a&&ut(()=>{i(this,N,p(this,f,z).call(this,()=>{G.ensure(),i(this,I,!0);try{return F(()=>{a(s(this,v),()=>t,()=>l)})}catch(_){return gt(_,s(this,w).parent),null}finally{i(this,I,!1)}}))})}}m=new WeakMap,v=new WeakMap,j=new WeakMap,b=new WeakMap,k=new WeakMap,w=new WeakMap,E=new WeakMap,d=new WeakMap,N=new WeakMap,S=new WeakMap,D=new WeakMap,C=new WeakMap,L=new WeakMap,I=new WeakMap,M=new WeakMap,X=new WeakMap,f=new WeakSet,Nt=function(){try{i(this,E,F(()=>s(this,k).call(this,s(this,v))))}catch(t){this.error(t)}i(this,m,!1)},Rt=function(){const t=s(this,b).pending;t&&(i(this,d,F(()=>t(s(this,v)))),G.enqueue(()=>{var r=p(this,f,at).call(this);i(this,E,p(this,f,z).call(this,()=>(G.ensure(),F(()=>s(this,k).call(this,r))))),s(this,L)>0?p(this,f,J).call(this):(tt(s(this,d),()=>{i(this,d,null)}),i(this,m,!1))}))},at=function(){var t=s(this,v);return s(this,m)&&(i(this,D,q()),s(this,v).before(s(this,D)),t=s(this,D)),t},z=function(t){var r=P,a=rt,o=wt;K(s(this,w)),V(s(this,w)),vt(s(this,w).ctx);try{return t()}catch(n){return It(n),null}finally{K(r),V(a),vt(o)}},J=function(){const t=s(this,b).pending;s(this,E)!==null&&(i(this,S,document.createDocumentFragment()),s(this,S).append(s(this,D)),Pt(s(this,E),s(this,S))),s(this,d)===null&&i(this,d,F(()=>t(s(this,v))))},ot=function(t){var r;if(!this.has_pending_snippet()){this.parent&&p(r=this.parent,f,ot).call(r,t);return}i(this,L,s(this,L)+t),s(this,L)===0&&(i(this,m,!1),s(this,d)&&tt(s(this,d),()=>{i(this,d,null)}),s(this,S)&&(s(this,v).before(s(this,S)),i(this,S,null)))};const de=["touchstart","touchmove"];function _e(e){return de.includes(e)}const At=new Set,lt=new Set;function pe(e,t,r,a={}){function o(n){if(a.capture||Y.call(t,n),!n.cancelBubble)return $t(()=>r==null?void 0:r.call(this,n))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ut(()=>{t.addEventListener(e,o,a)}):t.addEventListener(e,o,a),o}function Te(e,t,r,a,o){var n={capture:a,passive:o},l=pe(e,t,r,n);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Gt(()=>{t.removeEventListener(e,l,n)})}function be(e){for(var t=0;t<e.length;t++)At.add(e[t]);for(var r of lt)r(e)}let yt=null;function Y(e){var ct;var t=this,r=t.ownerDocument,a=e.type,o=((ct=e.composedPath)==null?void 0:ct.call(e))||[],n=o[0]||e.target;yt=e;var l=0,y=yt===e&&e.__root;if(y){var _=o.indexOf(y);if(_!==-1&&(t===document||t===window)){e.__root=t;return}var H=o.indexOf(t);if(H===-1)return;_<=H&&(l=_)}if(n=o[l]||e.target,n!==t){Ut(e,"currentTarget",{configurable:!0,get(){return n||r}});var Q=rt,R=P;V(null),K(null);try{for(var h,c=[];n!==null;){var A=n.assignedSlot||n.parentNode||n.host||null;try{var x=n["__"+a];x!=null&&(!n.disabled||e.target===n)&&x.call(n,e)}catch(U){h?c.push(U):h=U}if(e.cancelBubble||A===t||A===null)break;n=A}if(h){for(let U of c)queueMicrotask(()=>{throw U});throw h}}finally{e.__root=t,delete e.currentTarget,V(Q),K(R)}}}function ve(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("<!>","<!---->"),t.content}function O(e,t){var r=P;r.nodes===null&&(r.nodes={start:e,end:t,a:null,t:null})}function we(e,t){var r=(t&Jt)!==0,a=(t&Kt)!==0,o,n=!e.startsWith("<!>");return()=>{if(T)return O(g,null),g;o===void 0&&(o=ve(n?e:"<!>"+e),r||(o=st(o)));var l=a||zt?document.importNode(o,!0):o.cloneNode(!0);if(r){var y=st(l),_=l.lastChild;O(y,_)}else O(l,l);return l}}function Ne(e=""){if(!T){var t=q(e+"");return O(t,t),t}var r=g;return r.nodeType!==Qt&&(r.before(r=q()),W(r)),O(r,r),r}function Re(){if(T)return O(g,null),g;var e=document.createDocumentFragment(),t=document.createComment(""),r=q();return e.append(t,r),O(t,r),e}function Ae(e,t){if(T){var r=P;((r.f&Xt)===0||r.nodes.end===null)&&(r.nodes.end=g),bt();return}e!==null&&e.before(t)}function Se(e,t){var r=t==null?"":typeof t=="object"?t+"":t;r!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=r,e.nodeValue=r+"")}function ge(e,t){return St(e,t)}function De(e,t){nt(),t.intro=t.intro??!1;const r=t.target,a=T,o=g;try{for(var n=st(r);n&&(n.nodeType!==ht||n.data!==Zt);)n=te(n);if(!n)throw it;$(!0),W(n);const l=St(e,{...t,anchor:n});return $(!1),l}catch(l){if(l instanceof Error&&l.message.split(`
2
- `).some(y=>y.startsWith("https://svelte.dev/e/")))throw l;return l!==it&&console.warn("Failed to hydrate: ",l),t.recover===!1&&ee(),nt(),re(r),$(!1),ge(e,t)}finally{$(a),W(o)}}const B=new Map;function St(e,{target:t,anchor:r,props:a={},events:o,context:n,intro:l=!0}){nt();var y=new Set,_=R=>{for(var h=0;h<R.length;h++){var c=R[h];if(!y.has(c)){y.add(c);var A=_e(c);t.addEventListener(c,Y,{passive:A});var x=B.get(c);x===void 0?(document.addEventListener(c,Y,{passive:A}),B.set(c,1)):B.set(c,x+1)}}};_(se(At)),lt.add(_);var H=void 0,Q=ne(()=>{var R=r??t.appendChild(q());return he(R,{pending:()=>{}},h=>{if(n){ie({});var c=wt;c.c=n}if(o&&(a.$$events=o),T&&O(h,null),H=e(h,a)||{},T&&(P.nodes.end=g,g===null||g.nodeType!==ht||g.data!==ae))throw oe(),it;n&&le()}),()=>{var A;for(var h of y){t.removeEventListener(h,Y);var c=B.get(h);--c===0?(document.removeEventListener(h,Y),B.delete(h)):B.set(h,c)}lt.delete(_),R!==r&&((A=R.parentNode)==null||A.removeChild(R))}});return ft.set(H,Q),H}let ft=new WeakMap;function Le(e,t){const r=ft.get(e);return r?(ft.delete(e),r(t)):Promise.resolve()}const ye="5";var mt;typeof window<"u"&&((mt=window.__svelte??(window.__svelte={})).v??(mt.v=new Set)).add(ye);export{Ae as a,Re as c,be as d,Te as e,we as f,De as h,ge as m,Se as s,Ne as t,Le as u};
@@ -1,2 +0,0 @@
1
- import{h as u,q as v,a0 as $,a1 as y,a2 as C,a3 as I,a4 as S}from"./B2IHY0Hs.js";function _(s){var e,o,t="";if(typeof s=="string"||typeof s=="number")t+=s;else if(typeof s=="object")if(Array.isArray(s)){var n=s.length;for(e=0;e<n;e++)s[e]&&(o=_(s[e]))&&(t&&(t+=" "),t+=o)}else for(o in s)s[o]&&(t&&(t+=" "),t+=o);return t}function j(){for(var s,e,o=0,t="",n=arguments.length;o<n;o++)(s=arguments[o])&&(e=_(s))&&(t&&(t+=" "),t+=e);return t}function L(s){return typeof s=="object"?j(s):s??""}const h=[...`
2
- \r\f \v\uFEFF`];function A(s,e,o){var t=s==null?"":""+s;if(e&&(t=t?t+" "+e:e),o){for(var n in o)if(o[n])t=t?t+" "+n:n;else if(t.length)for(var i=n.length,r=0;(r=t.indexOf(n,r))>=0;){var a=r+i;(r===0||h.includes(t[r-1]))&&(a===t.length||h.includes(t[a]))?t=(r===0?"":t.substring(0,r))+t.substring(a+1):r=a}}return t===""?null:t}function M(s,e,o,t,n,i){var r=s.__className;if(u||r!==o||r===void 0){var a=A(o,t,i);(!u||a!==s.getAttribute("class"))&&(a==null?s.removeAttribute("class"):s.className=a),s.__className=o}else if(i&&n!==i)for(var l in i){var d=!!i[l];(n==null||d!==!!n[l])&&s.classList.toggle(l,d)}return i}const E=Symbol("is custom element"),R=Symbol("is html");function O(s){if(u){var e=!1,o=()=>{if(!e){if(e=!0,s.hasAttribute("value")){var t=s.value;g(s,"value",null),s.value=t}if(s.hasAttribute("checked")){var n=s.checked;g(s,"checked",null),s.checked=n}}};s.__on_r=o,v(o),$()}}function g(s,e,o,t){var n=U(s);u&&(n[e]=s.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&s.nodeName==="LINK")||n[e]!==(n[e]=o)&&(e==="loading"&&(s[y]=o),o==null?s.removeAttribute(e):typeof o!="string"&&N(s).includes(e)?s[e]=o:s.setAttribute(e,o))}function U(s){return s.__attributes??(s.__attributes={[E]:s.nodeName.includes("-"),[R]:s.namespaceURI===C})}var m=new Map;function N(s){var e=s.getAttribute("is")||s.nodeName,o=m.get(e);if(o)return o;m.set(e,o=[]);for(var t,n=s,i=Element.prototype;i!==n;){t=S(n);for(var r in t)t[r].set&&o.push(r);n=I(n)}return o}const p="/api",f=async s=>{const e=await fetch(`${p}${s}`);if(!e.ok)throw new Error(await e.text());return e.json()},c=async(s,e)=>{const o=await fetch(`${p}${s}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!o.ok)throw new Error(await o.text());return o.json()},w=async s=>{const e=await fetch(`${p}${s}`,{method:"DELETE"});if(!e.ok)throw new Error(await e.text());return e.json()},T=async(s,e)=>{const o=await fetch(`${p}${s}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!o.ok)throw new Error(await o.text());return o.json()},k=()=>f("/projects"),x=s=>f(`/sessions?project=${encodeURIComponent(s)}`),P=(s,e)=>f(`/session?project=${encodeURIComponent(s)}&id=${encodeURIComponent(e)}`),q=(s,e)=>w(`/session?project=${encodeURIComponent(s)}&id=${encodeURIComponent(e)}`),F=(s,e,o)=>c("/session/rename",{project:s,id:e,title:o}),H=(s,e,o)=>w(`/message?project=${encodeURIComponent(s)}&session=${encodeURIComponent(e)}&uuid=${encodeURIComponent(o)}`),B=(s,e,o,t)=>T(`/message?project=${encodeURIComponent(s)}&session=${encodeURIComponent(e)}&uuid=${encodeURIComponent(o)}`,{customTitle:t}),D=s=>f("/cleanup"),J=s=>c("/cleanup",s),V=()=>f("/version"),G=()=>c("/shutdown",{}),K=(s,e)=>c("/open-file",{sessionId:s,backupFileName:e}),Y=s=>c("/open-file",{filePath:s}),z=(s,e,o)=>c("/session/split",{project:s,sessionId:e,messageUuid:o}),Q=(s,e,o)=>c("/session/move",{sourceProject:s,sessionId:e,targetProject:o}),W=async s=>{try{return(await f(`/file-exists?path=${encodeURIComponent(s)}`)).exists}catch{return!1}};export{M as a,g as b,J as c,W as d,L as e,K as f,V as g,x as h,q as i,F as j,P as k,k as l,Q as m,z as n,Y as o,D as p,H as q,O as r,G as s,B as u};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Lbeu1dpo.js","../chunks/F-H9hLgW.js","../chunks/B2IHY0Hs.js","../chunks/BCJVXGHY.js","../chunks/gR9AL7GA.js","../assets/0.XO-DXdC4.css","../nodes/1.DvRsCtcA.js","../chunks/CZTho13P.js","../nodes/2.CjVN0Bwe.js","../chunks/CMwK7N_O.js"])))=>i.map(i=>d[i]);
2
- var W=t=>{throw TypeError(t)};var Y=(t,e,r)=>e.has(t)||W("Cannot "+r);var u=(t,e,r)=>(Y(t,e,"read from private field"),r?r.call(t):e.get(t)),L=(t,e,r)=>e.has(t)?W("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),j=(t,e,r,n)=>(Y(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);import{h as J,g as K,f as M,E as Q,A,L as $,w as g,ae as ee,af as te,ag as re,V as se,N as ae,O as ne,aa as oe,ab as C,ah as ce,W as S,Z as ie,Y as le,_ as ue,$ as fe,ad as T,X as de}from"../chunks/B2IHY0Hs.js";import{h as me,m as he,u as _e,f as G,a as w,c as B,t as ve,s as ge}from"../chunks/F-H9hLgW.js";import{B as ye,i as V}from"../chunks/BCJVXGHY.js";import{p as D,b as I}from"../chunks/CMwK7N_O.js";function q(t,e,r){J&&K();var n=new ye(t);M(()=>{var c=e()??null;n.ensure(c,c&&(m=>r(m,c)))},Q)}function be(t){return class extends Ee{constructor(e){super({component:t,...e})}}}var y,d;class Ee{constructor(e){L(this,y);L(this,d);var m;var r=new Map,n=(a,s)=>{var i=re(s,!1,!1);return r.set(a,i),i};const c=new Proxy({...e.props||{},$$events:{}},{get(a,s){return g(r.get(s)??n(s,Reflect.get(a,s)))},has(a,s){return s===$?!0:(g(r.get(s)??n(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,i){return A(r.get(s)??n(s,i),i),Reflect.set(a,s,i)}});j(this,d,(e.hydrate?me:he)(e.component,{target:e.target,anchor:e.anchor,props:c,context:e.context,intro:e.intro??!1,recover:e.recover})),(!((m=e==null?void 0:e.props)!=null&&m.$$host)||e.sync===!1)&&ee(),j(this,y,c.$$events);for(const a of Object.keys(u(this,d)))a==="$set"||a==="$destroy"||a==="$on"||te(this,a,{get(){return u(this,d)[a]},set(s){u(this,d)[a]=s},enumerable:!0});u(this,d).$set=a=>{Object.assign(c,a)},u(this,d).$destroy=()=>{_e(u(this,d))}}$set(e){u(this,d).$set(e)}$on(e,r){u(this,y)[e]=u(this,y)[e]||[];const n=(...c)=>r.call(this,...c);return u(this,y)[e].push(n),()=>{u(this,y)[e]=u(this,y)[e].filter(c=>c!==n)}}$destroy(){u(this,d).$destroy()}}y=new WeakMap,d=new WeakMap;const Pe="modulepreload",Re=function(t,e){return new URL(t,e).href},p={},F=function(e,r,n){let c=Promise.resolve();if(r&&r.length>0){let a=function(l){return Promise.all(l.map(v=>Promise.resolve(v).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const s=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),k=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));c=a(r.map(l=>{if(l=Re(l,n),l in p)return;p[l]=!0;const v=l.endsWith(".css"),b=v?'[rel="stylesheet"]':"";if(!!n)for(let o=s.length-1;o>=0;o--){const f=s[o];if(f.href===l&&(!v||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${b}`))return;const _=document.createElement("link");if(_.rel=v?"stylesheet":Pe,v||(_.as="script"),_.crossOrigin="",_.href=l,k&&_.setAttribute("nonce",k),document.head.appendChild(_),v)return new Promise((o,f)=>{_.addEventListener("load",o),_.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${l}`)))})}))}function m(a){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=a,window.dispatchEvent(s),!s.defaultPrevented)throw a}return c.then(a=>{for(const s of a||[])s.status==="rejected"&&m(s.reason);return e().catch(m)})},Be={};var we=G('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),ke=G("<!> <!>",1);function Oe(t,e){se(e,!0);let r=D(e,"components",23,()=>[]),n=D(e,"data_0",3,null),c=D(e,"data_1",3,null);ae(()=>e.stores.page.set(e.page)),ne(()=>{e.stores,e.page,e.constructors,r(),e.form,n(),c(),e.stores.page.notify()});let m=C(!1),a=C(!1),s=C(null);oe(()=>{const o=e.stores.page.subscribe(()=>{g(m)&&(A(a,!0),ce().then(()=>{A(s,document.title||"untitled page",!0)}))});return A(m,!0),o});const i=T(()=>e.constructors[1]);var k=ke(),l=S(k);{var v=o=>{const f=T(()=>e.constructors[0]);var E=B(),O=S(E);q(O,()=>g(f),(P,R)=>{I(R(P,{get data(){return n()},get form(){return e.form},get params(){return e.page.params},children:(h,Se)=>{var U=B(),Z=S(U);q(Z,()=>g(i),(z,H)=>{I(H(z,{get data(){return c()},get form(){return e.form},get params(){return e.page.params}}),x=>r()[1]=x,()=>{var x;return(x=r())==null?void 0:x[1]})}),w(h,U)},$$slots:{default:!0}}),h=>r()[0]=h,()=>{var h;return(h=r())==null?void 0:h[0]})}),w(o,E)},b=o=>{const f=T(()=>e.constructors[0]);var E=B(),O=S(E);q(O,()=>g(f),(P,R)=>{I(R(P,{get data(){return n()},get form(){return e.form},get params(){return e.page.params}}),h=>r()[0]=h,()=>{var h;return(h=r())==null?void 0:h[0]})}),w(o,E)};V(l,o=>{e.constructors[1]?o(v):o(b,!1)})}var N=ie(l,2);{var _=o=>{var f=we(),E=ue(f);{var O=P=>{var R=ve();de(()=>ge(R,g(s))),w(P,R)};V(E,P=>{g(a)&&P(O)})}fe(f),w(o,f)};V(N,o=>{g(m)&&o(_)})}w(t,k),le()}const Ve=be(Oe),De=[()=>F(()=>import("../nodes/0.Lbeu1dpo.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),()=>F(()=>import("../nodes/1.DvRsCtcA.js"),__vite__mapDeps([6,1,2,7]),import.meta.url),()=>F(()=>import("../nodes/2.CjVN0Bwe.js"),__vite__mapDeps([8,1,2,3,4,9]),import.meta.url)],Ie=[],qe={"/":[2]},X={handleError:(({error:t})=>{console.error(t)}),reroute:(()=>{}),transport:{}},xe=Object.fromEntries(Object.entries(X.transport).map(([t,e])=>[t,e.decode])),Fe=Object.fromEntries(Object.entries(X.transport).map(([t,e])=>[t,e.encode])),Ne=!1,Ue=(t,e)=>xe[t](e);export{Ue as decode,xe as decoders,qe as dictionary,Fe as encoders,Ne as hash,X as hooks,Be as matchers,De as nodes,Ve as root,Ie as server_loads};
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/CZTho13P.js";export{o as load_css,r as start};
@@ -1,2 +0,0 @@
1
- )�import{l as o,a as r}from"../chunks/CZTho13P.js";export{o as load_css,r as start};
2
- 
@@ -1 +0,0 @@
1
- import{d as Ke,f as A,a as p,s as c,t as M}from"../chunks/F-H9hLgW.js";import{f as Me,E as Le,a as Qe,a5 as Ue,h as U,a6 as et,a7 as tt,a8 as Te,l as Ee,k as Oe,e as at,a9 as rt,u as st,o as nt,V as ot,aa as lt,W as K,_ as r,Z as a,X as y,Y as dt,A as d,ab as $,n as it,w as e,$ as s,ac as ct,ad as q}from"../chunks/B2IHY0Hs.js";import{B as vt,i as h}from"../chunks/BCJVXGHY.js";import{s as ut,p as pt,g as gt,r as L,a as ht,c as bt}from"../chunks/gR9AL7GA.js";function _t(b,w,..._){var g=new vt(b);Me(()=>{const x=w()??null;g.ensure(x,x&&(v=>x(v,..._)))},Le)}function xt(b,w){let _=null,g=U;var x;if(U){_=at;for(var v=et(document.head);v!==null&&(v.nodeType!==tt||v.data!==b);)v=Te(v);if(v===null)Ee(!1);else{var C=Te(v);v.remove(),Oe(C)}}U||(x=document.head.appendChild(Qe()));try{Me(()=>w(x),Ue)}finally{g&&(Ee(!0),Oe(_))}}function Q(b,w,_=w){rt(b,"change",g=>{var x=g?b.defaultChecked:b.checked;_(x)}),(U&&b.defaultChecked!==b.checked||st(w)==null)&&_(b.checked),nt(()=>{var g=w();b.checked=!!g})}const ft=!0,At=Object.freeze(Object.defineProperty({__proto__:null,ssr:ft},Symbol.toStringTag,{value:"Module"}));var mt=A('<span class="text-xs text-gh-text-secondary bg-gh-border px-2 py-0.5 rounded"> </span>'),yt=A(" <!>",1),wt=A("<!> ",1),Ct=A("<!> ",1),kt=A('<div class="fixed inset-0 bg-black/50 flex items-center justify-center z-50" role="dialog" aria-modal="true" aria-labelledby="cleanup-modal-title"><div class="bg-gh-bg-secondary border border-gh-border rounded-lg p-6 w-[400px] shadow-xl"><h2 id="cleanup-modal-title" class="text-lg font-semibold mb-4">Cleanup Options</h2> <div class="space-y-3"><label class="flex items-center gap-3 cursor-pointer"><input type="checkbox" class="w-4 h-4 rounded border-gh-border bg-gh-bg text-gh-green focus:ring-gh-green"/> <span class="flex-1">Delete empty sessions <span class="text-gh-text-secondary"> </span></span></label> <label><input type="checkbox" class="w-4 h-4 rounded border-gh-border bg-gh-bg text-gh-green focus:ring-gh-green disabled:opacity-50"/> <span class="flex-1">Skip sessions with todos <span class="text-gh-text-secondary"> </span></span></label> <label class="flex items-center gap-3 cursor-pointer"><input type="checkbox" class="w-4 h-4 rounded border-gh-border bg-gh-bg text-gh-green focus:ring-gh-green"/> <span class="flex-1">Delete orphan agents <span class="text-gh-text-secondary"> </span></span></label> <label class="flex items-center gap-3 cursor-pointer"><input type="checkbox" class="w-4 h-4 rounded border-gh-border bg-gh-bg text-gh-green focus:ring-gh-green"/> <span class="flex-1">Delete orphan todos <span class="text-gh-text-secondary"> </span></span></label></div> <div class="mt-4 pt-4 border-t border-gh-border text-sm text-gh-text-secondary"><!> <!> <!> <!></div> <div class="flex gap-2 mt-6 justify-end"><button class="px-4 py-2 text-sm rounded-md border border-gh-border hover:bg-gh-border-subtle">Cancel</button> <button class="px-4 py-2 text-sm rounded-md bg-gh-red text-white hover:bg-red-700 disabled:opacity-50"> </button></div></div></div>'),$t=A('<div class="fixed bottom-4 right-4 bg-gh-green text-white px-5 py-3 rounded-md text-sm z-50"><!> <!> <!> <!></div>'),Tt=A('<div class="min-h-screen flex flex-col bg-gh-bg text-gh-text"><header class="bg-gh-bg-secondary border-b border-gh-border px-8 py-4 flex justify-between items-center"><div class="flex items-center gap-3"><h1 class="text-2xl font-semibold">Claude Session Manager</h1> <!></div> <div class="flex gap-2"><button class="bg-gh-border-subtle border border-gh-border text-gh-text px-4 py-2 rounded-md text-sm transition-colors hover:bg-gh-border hover:border-gh-text-secondary disabled:opacity-50 disabled:cursor-not-allowed"> </button> <button class="bg-gh-red border border-gh-red text-white px-4 py-2 rounded-md text-sm transition-colors hover:bg-red-700 disabled:opacity-50 disabled:cursor-not-allowed"> </button></div></header> <main class="flex-1 p-8 max-w-7xl mx-auto w-full"><!></main></div> <!> <!>',1);function Dt(b,w){ot(w,!0);let _=$(""),g=$(!1),x=$(!1),v=$(!1),C=$(null),f=$(null),T=$(!0),j=$(!0),E=$(!1),S=$(!1),ee=q(()=>{var t;return((t=e(C))==null?void 0:t.reduce((o,u)=>o+u.emptySessions.length,0))??0}),H=q(()=>{var t;return((t=e(C))==null?void 0:t.reduce((o,u)=>o+u.emptyWithTodosCount,0))??0}),I=q(()=>{var t;return((t=e(C))==null?void 0:t.reduce((o,u)=>o+u.orphanAgentCount,0))??0}),X=q(()=>{var t;return((t=e(C))==null?void 0:t.reduce((o,u)=>o+u.orphanTodoCount,0))??0}),Y=q(()=>e(j)?e(ee)-e(H):e(ee));lt(async()=>{try{const t=await gt();d(_,t.version,!0)}catch{d(_,"unknown")}});const Se=async()=>{if(confirm("Shutdown the server?")){d(x,!0);try{await ut()}catch{}}},Ae=async()=>{try{d(C,await pt(),!0),d(v,!0)}catch(t){alert(`Error: ${t}`)}},ie=()=>{d(v,!1),d(C,null)},De=async()=>{if(e(Y)===0&&!e(E)&&!e(S)){alert("Nothing to clean up");return}d(g,!0);try{d(f,await bt({clearEmpty:e(T),clearInvalid:!1,skipWithTodos:e(j),clearOrphanAgents:e(E),clearOrphanTodos:e(S)}),!0),d(v,!1),d(C,null),setTimeout(()=>{d(f,null),window.location.reload()},2e3)}catch(t){alert(`Error: ${t}`)}finally{d(g,!1)}};var ce=Tt();xt("12qhfyh",t=>{it(()=>{ct.title="Claude Session Manager"})});var te=K(ce),ae=r(te),re=r(ae),Ne=a(r(re),2);{var We=t=>{var o=mt(),u=r(o);s(o),y(()=>c(u,`v${e(_)??""}`)),p(t,o)};h(Ne,t=>{e(_)&&t(We)})}s(re);var ve=a(re,2),F=r(ve);F.__click=Ae;var je=r(F,!0);s(F);var Z=a(F,2);Z.__click=Se;var Fe=r(Z,!0);s(Z),s(ve),s(ae);var ue=a(ae,2),Re=r(ue);_t(Re,()=>w.children),s(ue),s(te);var pe=a(te,2);{var ze=t=>{var o=kt();o.__click=n=>n.target===n.currentTarget&&ie();var u=r(o),R=a(r(u),2),D=r(R),z=r(D);L(z);var B=a(z,2),G=a(r(B)),se=r(G);s(G),s(B),s(D);var N=a(D,2);let l;var i=r(N);L(i);var ge=a(i,2),he=a(r(ge)),Ve=r(he);s(he),s(ge),s(N);var ne=a(N,2),oe=r(ne);L(oe);var be=a(oe,2),_e=a(r(be)),qe=r(_e);s(_e),s(be),s(ne);var xe=a(ne,2),le=r(xe);L(le);var fe=a(le,2),me=a(r(fe)),He=r(me);s(me),s(fe),s(xe),s(R);var de=a(R,2),ye=r(de);{var Ie=n=>{var k=yt(),O=K(k),P=a(O);{var V=m=>{var W=M();y(()=>c(W,`(skipping ${e(H)??""} with todos)`)),p(m,W)};h(P,m=>{e(j)&&e(H)>0&&m(V)})}y(()=>c(O,`Will delete ${e(Y)??""} session${e(Y)!==1?"s":""} `)),p(n,k)};h(ye,n=>{e(T)&&n(Ie)})}var we=a(ye,2);{var Xe=n=>{var k=wt(),O=K(k);{var P=m=>{var W=M(",");p(m,W)};h(O,m=>{e(T)&&m(P)})}var V=a(O);y(()=>c(V,` ${e(I)??""} orphan agent${e(I)!==1?"s":""}`)),p(n,k)};h(we,n=>{e(E)&&e(I)>0&&n(Xe)})}var Ce=a(we,2);{var Ye=n=>{var k=Ct(),O=K(k);{var P=m=>{var W=M(",");p(m,W)};h(O,m=>{(e(T)||e(E))&&m(P)})}var V=a(O);y(()=>c(V,` ${e(X)??""} orphan todo${e(X)!==1?"s":""}`)),p(n,k)};h(Ce,n=>{e(S)&&e(X)>0&&n(Ye)})}var Ze=a(Ce,2);{var Ge=n=>{var k=M("Nothing selected");p(n,k)};h(Ze,n=>{!e(T)&&!e(E)&&!e(S)&&n(Ge)})}s(de);var ke=a(de,2),$e=r(ke);$e.__click=ie;var J=a($e,2);J.__click=De;var Je=r(J,!0);s(J),s(ke),s(u),s(o),y(()=>{c(se,`(${e(ee)??""})`),l=ht(N,1,"flex items-center gap-3 cursor-pointer ml-6",null,l,{"opacity-50":!e(T)}),i.disabled=!e(T),c(Ve,`(${e(H)??""})`),c(qe,`(${e(I)??""})`),c(He,`(${e(X)??""})`),J.disabled=e(g)||e(Y)===0&&!e(E)&&!e(S),c(Je,e(g)?"Cleaning...":"Execute Cleanup")}),Q(z,()=>e(T),n=>d(T,n)),Q(i,()=>e(j),n=>d(j,n)),Q(oe,()=>e(E),n=>d(E,n)),Q(le,()=>e(S),n=>d(S,n)),p(t,o)};h(pe,t=>{e(v)&&e(C)&&t(ze)})}var Be=a(pe,2);{var Pe=t=>{var o=$t(),u=r(o);{var R=l=>{var i=M();y(()=>c(i,`Removed ${e(f).removedMessageCount??""} invalid messages.`)),p(l,i)};h(u,l=>{e(f).removedMessageCount>0&&l(R)})}var D=a(u,2);{var z=l=>{var i=M();y(()=>c(i,`Deleted ${e(f).deletedCount??""} empty sessions.`)),p(l,i)};h(D,l=>{e(f).deletedCount>0&&l(z)})}var B=a(D,2);{var G=l=>{var i=M();y(()=>c(i,`Deleted ${e(f).deletedOrphanAgentCount??""} orphan agents.`)),p(l,i)};h(B,l=>{e(f).deletedOrphanAgentCount>0&&l(G)})}var se=a(B,2);{var N=l=>{var i=M();y(()=>c(i,`Deleted ${e(f).deletedOrphanTodoCount??""} orphan todos.`)),p(l,i)};h(se,l=>{e(f).deletedOrphanTodoCount>0&&l(N)})}s(o),p(t,o)};h(Be,t=>{e(f)&&t(Pe)})}y(()=>{F.disabled=e(g),c(je,e(g)?"Cleaning...":"Cleanup"),Z.disabled=e(x),c(Fe,e(x)?"Shutting down...":"Shutdown")}),p(b,ce),dt()}Ke(["click"]);export{Dt as component,At as universal};
@@ -1 +0,0 @@
1
- import{f as b,a as x,s as l}from"../chunks/F-H9hLgW.js";import{M as k,N as $,O as i,u as y,Q as u,R as w,w as v,T as E,x as M,U as N,V as O,W as Q,X as R,Y as T,Z as U,_,$ as m}from"../chunks/B2IHY0Hs.js";import{s as V,p as g}from"../chunks/CZTho13P.js";function W(a=!1){const t=k,e=t.l.u;if(!e)return;let r=()=>E(t.s);if(a){let o=0,s={};const c=M(()=>{let n=!1;const p=t.s;for(const f in p)p[f]!==s[f]&&(s[f]=p[f],n=!0);return n&&o++,o});r=()=>v(c)}e.b.length&&$(()=>{d(t,r),u(e.b)}),i(()=>{const o=y(()=>e.m.map(w));return()=>{for(const s of o)typeof s=="function"&&s()}}),e.a.length&&i(()=>{d(t,r),u(e.a)})}function d(a,t){if(a.l.s)for(const e of a.l.s)v(e);t()}N();const X={get error(){return g.error},get status(){return g.status}};V.updated.check;const h=X;var Y=b("<h1> </h1> <p> </p>",1);function z(a,t){O(t,!1),W();var e=Y(),r=Q(e),o=_(r,!0);m(r);var s=U(r,2),c=_(s,!0);m(s),R(()=>{var n;l(o,h.status),l(c,(n=h.error)==null?void 0:n.message)}),x(a,e),T()}export{z as component};