@jamesmddoyle/phantom 0.2.1 → 0.2.5

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 (77) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/cli.js +0 -1
  4. package/dist/config.js +24 -18
  5. package/dist/dashboard-ui/_app/immutable/assets/0.FNtPPDe9.css +1 -0
  6. package/dist/dashboard-ui/_app/immutable/assets/2.BjJLdTkN.css +1 -0
  7. package/dist/dashboard-ui/_app/immutable/assets/transition.DFBo9_nW.css +1 -0
  8. package/dist/dashboard-ui/_app/immutable/chunks/B1pWchDh.js +1 -0
  9. package/dist/dashboard-ui/_app/immutable/chunks/B88eyH1f.js +3 -0
  10. package/dist/dashboard-ui/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  11. package/dist/dashboard-ui/_app/immutable/chunks/C36Lt_W_.js +2 -0
  12. package/dist/dashboard-ui/_app/immutable/chunks/CRzLMJPS.js +1 -0
  13. package/dist/dashboard-ui/_app/immutable/chunks/DQqs5H8T.js +3 -0
  14. package/dist/dashboard-ui/_app/immutable/entry/app.xWq8izru.js +2 -0
  15. package/dist/dashboard-ui/_app/immutable/entry/payload.DSmR2FwN.js +1 -0
  16. package/dist/dashboard-ui/_app/immutable/entry/start.DRnrjJWJ.js +2 -0
  17. package/dist/dashboard-ui/_app/immutable/nodes/0.CdDx3raB.js +1 -0
  18. package/dist/dashboard-ui/_app/immutable/nodes/1.BxSHdZhx.js +1 -0
  19. package/dist/dashboard-ui/_app/immutable/nodes/2.CT3-HJct.js +1 -0
  20. package/dist/dashboard-ui/_app/version.json +1 -1
  21. package/dist/dashboard-ui/index.html +17 -16
  22. package/dist/index.js +22 -13
  23. package/dist/logger.js +0 -1
  24. package/dist/package.json +11 -7
  25. package/dist/parser.js +0 -1
  26. package/dist/responder.js +0 -1
  27. package/dist/router.js +0 -1
  28. package/dist/static.js +29 -8
  29. package/dist/utils.js +0 -1
  30. package/dist/ws.js +0 -1
  31. package/package.json +11 -7
  32. package/dist/cli.d.ts +0 -10
  33. package/dist/cli.d.ts.map +0 -1
  34. package/dist/cli.js.map +0 -1
  35. package/dist/config.d.ts +0 -16
  36. package/dist/config.d.ts.map +0 -1
  37. package/dist/config.js.map +0 -1
  38. package/dist/dashboard-ui/_app/env.js +0 -1
  39. package/dist/dashboard-ui/_app/immutable/assets/0.qdgu5uXf.css +0 -1
  40. package/dist/dashboard-ui/_app/immutable/assets/2.NbOPcGNK.css +0 -1
  41. package/dist/dashboard-ui/_app/immutable/assets/index.BkcWggqo.css +0 -1
  42. package/dist/dashboard-ui/_app/immutable/chunks/3bAMHNW6.js +0 -1
  43. package/dist/dashboard-ui/_app/immutable/chunks/BWM6cuy1.js +0 -1
  44. package/dist/dashboard-ui/_app/immutable/chunks/Bj1t19nj.js +0 -1
  45. package/dist/dashboard-ui/_app/immutable/chunks/CG6hkJ2r.js +0 -4
  46. package/dist/dashboard-ui/_app/immutable/chunks/DHt6uv_5.js +0 -1
  47. package/dist/dashboard-ui/_app/immutable/chunks/DUglripS.js +0 -2
  48. package/dist/dashboard-ui/_app/immutable/chunks/Mkbhf_NF.js +0 -1
  49. package/dist/dashboard-ui/_app/immutable/entry/app.Oijx9JlG.js +0 -2
  50. package/dist/dashboard-ui/_app/immutable/entry/start.DRqjWPjB.js +0 -1
  51. package/dist/dashboard-ui/_app/immutable/nodes/0.CnuSotPZ.js +0 -1
  52. package/dist/dashboard-ui/_app/immutable/nodes/1.k025bdP_.js +0 -1
  53. package/dist/dashboard-ui/_app/immutable/nodes/2.wYRnMaww.js +0 -1
  54. package/dist/index.d.ts +0 -5
  55. package/dist/index.d.ts.map +0 -1
  56. package/dist/index.js.map +0 -1
  57. package/dist/logger.d.ts +0 -36
  58. package/dist/logger.d.ts.map +0 -1
  59. package/dist/logger.js.map +0 -1
  60. package/dist/parser.d.ts +0 -45
  61. package/dist/parser.d.ts.map +0 -1
  62. package/dist/parser.js.map +0 -1
  63. package/dist/responder.d.ts +0 -14
  64. package/dist/responder.d.ts.map +0 -1
  65. package/dist/responder.js.map +0 -1
  66. package/dist/router.d.ts +0 -13
  67. package/dist/router.d.ts.map +0 -1
  68. package/dist/router.js.map +0 -1
  69. package/dist/static.d.ts +0 -7
  70. package/dist/static.d.ts.map +0 -1
  71. package/dist/static.js.map +0 -1
  72. package/dist/utils.d.ts +0 -23
  73. package/dist/utils.d.ts.map +0 -1
  74. package/dist/utils.js.map +0 -1
  75. package/dist/ws.d.ts +0 -16
  76. package/dist/ws.d.ts.map +0 -1
  77. package/dist/ws.js.map +0 -1
@@ -4,34 +4,35 @@
4
4
  <meta charset="utf-8" />
5
5
  <link rel="icon" type="image/svg+xml" href="/_dashboard/phantom.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
- <link
8
- href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap"
9
- rel="stylesheet"
10
- />
11
- <link href="/_dashboard/_app/immutable/entry/start.DRqjWPjB.js" rel="modulepreload">
12
- <link href="/_dashboard/_app/immutable/chunks/3bAMHNW6.js" rel="modulepreload">
13
- <link href="/_dashboard/_app/immutable/chunks/Bj1t19nj.js" rel="modulepreload">
14
- <link href="/_dashboard/_app/immutable/chunks/DHt6uv_5.js" rel="modulepreload">
15
- <link href="/_dashboard/_app/immutable/entry/app.Oijx9JlG.js" rel="modulepreload">
16
- <link href="/_dashboard/_app/immutable/chunks/DUglripS.js" rel="modulepreload">
17
- <link href="/_dashboard/_app/immutable/chunks/BWM6cuy1.js" rel="modulepreload">
7
+ <link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap" rel="stylesheet" />
8
+ <link href="/_dashboard/_app/immutable/entry/start.DRnrjJWJ.js" rel="modulepreload">
9
+ <link href="/_dashboard/_app/immutable/entry/payload.DSmR2FwN.js" rel="modulepreload">
10
+ <link href="/_dashboard/_app/immutable/chunks/CRzLMJPS.js" rel="modulepreload">
11
+ <link href="/_dashboard/_app/immutable/chunks/C36Lt_W_.js" rel="modulepreload">
12
+ <link href="/_dashboard/_app/immutable/chunks/DQqs5H8T.js" rel="modulepreload">
13
+ <link href="/_dashboard/_app/immutable/chunks/B1pWchDh.js" rel="modulepreload">
14
+ <link href="/_dashboard/_app/immutable/entry/app.xWq8izru.js" rel="modulepreload">
15
+ <link href="/_dashboard/_app/immutable/nodes/0.CdDx3raB.js" rel="modulepreload">
16
+ <link href="/_dashboard/_app/immutable/chunks/B88eyH1f.js" rel="modulepreload">
18
17
 
18
+ <link href="/_dashboard/_app/immutable/assets/transition.DFBo9_nW.css" rel="stylesheet">
19
+ <link href="/_dashboard/_app/immutable/assets/0.FNtPPDe9.css" rel="stylesheet">
19
20
  </head>
20
21
  <body data-sveltekit-preload-data="hover">
21
22
  <div style="display: contents">
22
23
  <script>
23
24
  {
24
- __sveltekit_bfn1rr = {
25
+ __sveltekit_15nbta3 = {
25
26
  base: "/_dashboard",
27
+ version: "1793228583037",
26
28
  assets: "/_dashboard"
27
29
  };
28
30
 
29
31
  const element = document.currentScript.parentElement;
30
32
 
31
- Promise.all([
32
- import("/_dashboard/_app/immutable/entry/start.DRqjWPjB.js"),
33
- import("/_dashboard/_app/immutable/entry/app.Oijx9JlG.js")
34
- ]).then(([kit, app]) => {
33
+ import("/_dashboard/_app/immutable/entry/start.DRnrjJWJ.js").then(async (kit) => {
34
+ kit.init(__sveltekit_15nbta3);
35
+ const app = await import("/_dashboard/_app/immutable/entry/app.xWq8izru.js");
35
36
  kit.start(app, element);
36
37
  });
37
38
  }
package/dist/index.js CHANGED
@@ -34,9 +34,7 @@ if (options.command === "init") {
34
34
  process.exit(0);
35
35
  }
36
36
  setConfigPath(options.config);
37
- reloadRoutes();
38
- const PORT = options.port;
39
- const server = net.createServer();
37
+ export const server = net.createServer();
40
38
  if (options.verbose) {
41
39
  logger.setLogLevel("verbose");
42
40
  }
@@ -61,11 +59,12 @@ const socketManager = {
61
59
  };
62
60
  export const wsClients = new Map();
63
61
  const requestHistory = [];
64
- server.on("connection", (socket) => {
62
+ server.on("connection", socket => {
65
63
  socketManager.add(socket);
66
64
  const socketID = `${socket.remoteAddress}:${socket.remotePort}`;
67
65
  let requestBuffer = Buffer.alloc(0);
68
66
  // listen to raw data
67
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises -- Nothing catches errors in this handler, so one bad request can stop the server.
69
68
  socket.on("data", async (chunk) => {
70
69
  // if its a websocket connection, ignore the http parser
71
70
  if (wsClients.has(socketID))
@@ -123,7 +122,7 @@ server.on("connection", (socket) => {
123
122
  if (delay > 0) {
124
123
  logger.info(`Delaying response by ${delay}ms`);
125
124
  }
126
- setTimeout(async () => {
125
+ setTimeout(() => {
127
126
  if (socket.destroyed)
128
127
  return;
129
128
  const errorRate = options.errorRate ?? response.errorRate ?? 0;
@@ -164,7 +163,7 @@ server.on("connection", (socket) => {
164
163
  socketManager.remove(socket);
165
164
  wsClients.delete(socketID);
166
165
  });
167
- socket.on("error", (error) => {
166
+ socket.on("error", error => {
168
167
  if ("code" in error && error.code === "ECONNRESET")
169
168
  return;
170
169
  logger.error(`Socket error: ${error.message}`);
@@ -175,10 +174,21 @@ watchConfig(() => {
175
174
  broadcast(wsClients, { type: "CONFIG_UPDATED" });
176
175
  });
177
176
  startHeartbeat(wsClients);
178
- server.listen(PORT, () => {
179
- showBanner(PORT);
180
- });
181
- function showBanner(PORT) {
177
+ export function startServer(port, willShowBanner) {
178
+ return new Promise(resolve => {
179
+ server.listen(port, () => {
180
+ if (willShowBanner)
181
+ showBanner(port);
182
+ resolve(server);
183
+ });
184
+ });
185
+ }
186
+ if (import.meta.url === `file://${process.argv[1]}` || process.env.NODE_ENV !== "test") {
187
+ await startServer(Number(options.port), true);
188
+ // The banner clears the screen, so load the routes after it to keep their log line visible.
189
+ reloadRoutes();
190
+ }
191
+ function showBanner(port) {
182
192
  console.clear();
183
193
  const art = [
184
194
  " ████████ ",
@@ -195,9 +205,9 @@ function showBanner(PORT) {
195
205
  const brand = hexBg(COLOURS.PURPLE, "PHANTOM");
196
206
  const details = [
197
207
  `${brand} ${styleText("white", `v${VERSION}`)}`,
198
- `port: ${hex(COLOURS.PURPLE, PORT.toString())}`,
208
+ `port: ${hex(COLOURS.PURPLE, port.toString())}`,
199
209
  `config: ${hex(COLOURS.PURPLE, options.config)}`,
200
- `dashboard: ${hex(COLOURS.PURPLE, `http://localhost:${PORT}/_dashboard/`)}`,
210
+ `dashboard: ${hex(COLOURS.PURPLE, `http://localhost:${port}/_dashboard/`)}`,
201
211
  styleText("dim", "─".repeat(44)),
202
212
  ];
203
213
  console.log("");
@@ -218,4 +228,3 @@ function shutdown() {
218
228
  }
219
229
  process.on("SIGINT", shutdown);
220
230
  process.on("SIGTERM", shutdown);
221
- //# sourceMappingURL=index.js.map
package/dist/logger.js CHANGED
@@ -67,4 +67,3 @@ class Logger {
67
67
  }
68
68
  }
69
69
  export const logger = new Logger();
70
- //# sourceMappingURL=logger.js.map
package/dist/package.json CHANGED
@@ -1,9 +1,14 @@
1
1
  {
2
2
  "name": "@jamesmddoyle/phantom",
3
- "version": "0.2.1",
3
+ "version": "0.2.5",
4
4
  "description": "API mocker and traffic inspector with a built-in dashboard.",
5
5
  "author": "James Doyle",
6
6
  "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/jmmd2000/phantom.git",
10
+ "directory": "server"
11
+ },
7
12
  "bin": {
8
13
  "phantom": "./dist/index.js"
9
14
  },
@@ -13,16 +18,15 @@
13
18
  ],
14
19
  "type": "module",
15
20
  "scripts": {
16
- "build": "tsc && cp package.json ./dist/ && cp -r ../dashboard/build ./dist/dashboard-ui",
21
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && cp package.json ./dist/ && cp -r ../dashboard/build ./dist/dashboard-ui",
17
22
  "dev": "node --watch --experimental-strip-types index.ts",
18
- "test": "vitest run"
23
+ "typecheck": "tsc --noEmit"
19
24
  },
20
25
  "devDependencies": {
21
- "@types/node": "^25.3.0",
22
- "typescript": "^5.9.3",
23
- "vitest": "^4.0.18"
26
+ "@types/node": "26.6.5",
27
+ "typescript": "6.0.3"
24
28
  },
25
29
  "dependencies": {
26
- "cac": "^7.0.0"
30
+ "cac": "7.1.0"
27
31
  }
28
32
  }
package/dist/parser.js CHANGED
@@ -140,4 +140,3 @@ function decodeChunkedBody(buffer) {
140
140
  }
141
141
  return Buffer.concat(chunks);
142
142
  }
143
- //# sourceMappingURL=parser.js.map
package/dist/responder.js CHANGED
@@ -51,4 +51,3 @@ export function buildResponse(status, message, body, customHeaders = {}) {
51
51
  const headerString = lines.join("\r\n") + "\r\n\r\n";
52
52
  return Buffer.concat([Buffer.from(headerString), bodyBuffer]);
53
53
  }
54
- //# sourceMappingURL=responder.js.map
package/dist/router.js CHANGED
@@ -58,4 +58,3 @@ function matchPath(pattern, actualPath) {
58
58
  });
59
59
  return params;
60
60
  }
61
- //# sourceMappingURL=router.js.map
package/dist/static.js CHANGED
@@ -11,7 +11,29 @@ const MIME_TYPES = {
11
11
  ".json": "application/json",
12
12
  };
13
13
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
14
- export async function handleStaticFile(requestPath) {
14
+ /** The published build first, then the repo build during development. */
15
+ const DASHBOARD_FOLDERS = [path.join(__dirname, "dashboard-ui"), path.join(__dirname, "../dashboard/build")];
16
+ /**
17
+ * Decodes a request path and joins it onto the folder.
18
+ * Returns null when the path can't be decoded or ends up outside the folder.
19
+ */
20
+ function resolveInside(folder, requestPath) {
21
+ let decodedPath;
22
+ try {
23
+ decodedPath = decodeURIComponent(requestPath);
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ const filePath = path.join(folder, decodedPath);
29
+ const isInside = filePath === folder || filePath.startsWith(folder + path.sep);
30
+ return isInside ? filePath : null;
31
+ }
32
+ /**
33
+ * Finds the dashboard file for a request. Returns null when the request isn't for the dashboard,
34
+ * or when its path leaves the dashboard folder, so the request ends in a 404.
35
+ */
36
+ export async function handleStaticFile(requestPath, folders = DASHBOARD_FOLDERS) {
15
37
  const isDashboardBase = requestPath.startsWith("/_dashboard");
16
38
  const isAppAsset = requestPath.startsWith("/_app");
17
39
  const isPhantomSVG = requestPath === "/phantom.svg";
@@ -23,9 +45,10 @@ export async function handleStaticFile(requestPath) {
23
45
  }
24
46
  if (cleanPath === "" || cleanPath === "/")
25
47
  cleanPath = "/index.html";
26
- // check production path first, then development path
27
- const paths = [path.join(__dirname, "dashboard-ui", cleanPath), path.join(__dirname, "../dashboard/build", cleanPath)];
28
- for (const filePath of paths) {
48
+ for (const folder of folders) {
49
+ const filePath = resolveInside(folder, cleanPath);
50
+ if (!filePath)
51
+ return null;
29
52
  try {
30
53
  const content = await fs.readFile(filePath);
31
54
  const ext = path.extname(filePath);
@@ -41,10 +64,9 @@ export async function handleStaticFile(requestPath) {
41
64
  }
42
65
  }
43
66
  // SPA fallback for /_dashboard sub-routes
44
- const fallbackPaths = [path.join(__dirname, "dashboard-ui", "index.html"), path.join(__dirname, "../dashboard/build", "index.html")];
45
- for (const fallback of fallbackPaths) {
67
+ for (const folder of folders) {
46
68
  try {
47
- const indexContent = await fs.readFile(fallback);
69
+ const indexContent = await fs.readFile(path.join(folder, "index.html"));
48
70
  return { body: indexContent, headers: { "Content-Type": "text/html" } };
49
71
  }
50
72
  catch {
@@ -53,4 +75,3 @@ export async function handleStaticFile(requestPath) {
53
75
  }
54
76
  return null;
55
77
  }
56
- //# sourceMappingURL=static.js.map
package/dist/utils.js CHANGED
@@ -36,4 +36,3 @@ export const centerText = (text, width) => {
36
36
  const rightPad = padding - leftPad;
37
37
  return " ".repeat(leftPad) + label + " ".repeat(rightPad);
38
38
  };
39
- //# sourceMappingURL=utils.js.map
package/dist/ws.js CHANGED
@@ -65,4 +65,3 @@ export function startHeartbeat(clients) {
65
65
  broadcast(clients, { type: "PING", timestamp: Date.now() });
66
66
  }, 30000);
67
67
  }
68
- //# sourceMappingURL=ws.js.map
package/package.json CHANGED
@@ -1,9 +1,14 @@
1
1
  {
2
2
  "name": "@jamesmddoyle/phantom",
3
- "version": "0.2.1",
3
+ "version": "0.2.5",
4
4
  "description": "API mocker and traffic inspector with a built-in dashboard.",
5
5
  "author": "James Doyle",
6
6
  "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/jmmd2000/phantom.git",
10
+ "directory": "server"
11
+ },
7
12
  "bin": {
8
13
  "phantom": "./dist/index.js"
9
14
  },
@@ -13,16 +18,15 @@
13
18
  ],
14
19
  "type": "module",
15
20
  "scripts": {
16
- "build": "tsc && cp package.json ./dist/ && cp -r ../dashboard/build ./dist/dashboard-ui",
21
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && cp package.json ./dist/ && cp -r ../dashboard/build ./dist/dashboard-ui",
17
22
  "dev": "node --watch --experimental-strip-types index.ts",
18
- "test": "vitest run"
23
+ "typecheck": "tsc --noEmit"
19
24
  },
20
25
  "devDependencies": {
21
- "@types/node": "^25.3.0",
22
- "typescript": "^5.9.3",
23
- "vitest": "^4.0.18"
26
+ "@types/node": "26.6.5",
27
+ "typescript": "6.0.3"
24
28
  },
25
29
  "dependencies": {
26
- "cac": "^7.0.0"
30
+ "cac": "7.1.0"
27
31
  }
28
32
  }
package/dist/cli.d.ts DELETED
@@ -1,10 +0,0 @@
1
- export declare function parseCLI(version: string): {
2
- command: string | undefined;
3
- port: number;
4
- config: string;
5
- delay: number | null;
6
- errorRate: number | null;
7
- verbose: boolean;
8
- quiet: boolean;
9
- };
10
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM;;;;;;;;EA8BvC"}
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;AAE3B,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,GAAG;SACA,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACvE,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,EAAE;QACzD,OAAO,EAAE,aAAa;KACvB,CAAC;SACD,MAAM,CAAC,cAAc,EAAE,qDAAqD,CAAC;SAC7E,MAAM,CAAC,qBAAqB,EAAE,wDAAwD,CAAC;SACvF,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;SAClD,IAAI,EAAE;SACN,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAC;IAElF,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,kBAAkB;QAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/E,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3F,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QACjC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK;KAC9B,CAAC;AACJ,CAAC"}
package/dist/config.d.ts DELETED
@@ -1,16 +0,0 @@
1
- export declare function setConfigPath(newPath: string): void;
2
- export interface RouteConfig {
3
- path: string;
4
- method: string;
5
- status: number;
6
- body: any;
7
- enabled: boolean;
8
- delay: number;
9
- errorRate: number;
10
- headers: Record<string, string>;
11
- }
12
- export declare function getActiveRoutes(): RouteConfig[];
13
- export declare function reloadRoutes(): void;
14
- export declare function watchConfig(onReload: () => void): void;
15
- export declare function writeRoutes(routes: RouteConfig[]): void;
16
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,QAE5C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAID,wBAAgB,eAAe,kBAE9B;AAED,wBAAgB,YAAY,SAa3B;AAID,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,QAa/C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,QAGhD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;AAE1D,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AAaD,IAAI,YAAY,GAAkB,EAAE,CAAC;AAErC,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,YAAY,GAAG,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,kCAAkC,YAAY,CAAC,MAAM,gBAAgB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACpI,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,4BAA4B,WAAW,6BAA6B,CAAC,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,IAAI,YAAY,GAA0B,IAAI,CAAC;AAE/C,MAAM,UAAU,WAAW,CAAC,QAAoB;IAC9C,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;QAClC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,4DAA4D;YAC5D,IAAI,YAAY;gBAAE,YAAY,CAAC,YAAY,CAAC,CAAC;YAE7C,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,YAAY,EAAE,CAAC;gBACf,QAAQ,EAAE,CAAC;gBACX,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAqB;IAC/C,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,MAAM,CAAC,MAAM,cAAc,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED,YAAY,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- export const env={}
@@ -1 +0,0 @@
1
- :root{--bg-main: #f7f6f4;--bg-surface: #ffffff;--bg-sidebar: #2a2320;--bg-sidebar-surface: #362e2a;--border-color: #c9c1b8;--border-sidebar: rgba(255, 255, 255, .1);--accent: #5e4d8a;--accent-light: #7a6aab;--accent-saturated: #8b5cf6;--accent-subtle: rgba(94, 77, 138, .08);--text-primary: #2c2825;--text-secondary: #8a8078;--text-sidebar: #f5f3ef;--text-sidebar-muted: rgba(245, 245, 240, .5);--status-success: #16a34a;--status-error: #dc2626;--status-warning: #eab308;--method-get: #5ba4cf;--method-post: #8b5cf6;--method-put: #c46b1a;--method-patch: #f4845f;--method-delete: #a03030}body,html{margin:0;padding:0;height:100%;background-color:var(--bg-main);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;color:var(--text-primary);font-family:DM Sans,sans-serif;overflow:hidden}*{box-sizing:border-box}.toggle.svelte-1dbwn3b{position:relative;width:32px;height:18px;border-radius:9px;border:none;padding:2px;cursor:pointer;background:#ffffff1f;transition:background .2s ease;flex-shrink:0}.toggle.active.svelte-1dbwn3b{background:var(--accent-light)}.knob.svelte-1dbwn3b{display:block;width:14px;height:14px;border-radius:50%;background:var(--text-sidebar);transition:transform .2s ease;transform:translate(0)}.toggle.active.svelte-1dbwn3b .knob:where(.svelte-1dbwn3b){transform:translate(14px)}.route-card.svelte-1dkpee2{background:var(--bg-sidebar-surface);border:1px solid var(--border-sidebar);padding:.65rem .85rem;border-radius:6px;display:flex;flex-direction:column;gap:.35rem;transition:border-color .2s ease,opacity .2s ease}.route-card.svelte-1dkpee2:hover{border-color:var(--accent-light)}.route-card.disabled.svelte-1dkpee2{opacity:.4}.route-header.svelte-1dkpee2{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.route-path.svelte-1dkpee2{color:var(--text-sidebar);font-family:ui-monospace,monospace;font-size:.82rem;font-weight:600;word-break:break-all}.route-info.svelte-1dkpee2{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--text-sidebar-muted)}.route-controls.svelte-1dkpee2{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.route-method.svelte-1dkpee2{font-weight:700;font-size:.65rem;color:var(--text-sidebar-muted)}.settings-button.svelte-1dkpee2{background:none;border:none;color:var(--text-sidebar-muted);cursor:pointer;padding:.15rem;border-radius:3px;display:flex;align-items:center;transition:color .15s ease}.settings-button.svelte-1dkpee2:hover{color:var(--text-sidebar)}.settings-button.svelte-1dkpee2.modified{color:var(--accent-saturated);filter:drop-shadow(0 0 8px rgba(168,85,247,.4))}.settings-button.svelte-1dkpee2.modified:hover{color:var(--accent-light)}.delay-input.svelte-1x00vna{display:flex;align-items:center;gap:.35rem}input.svelte-1x00vna{width:100%;background:var(--bg-main);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);font-family:ui-monospace,monospace;font-size:.82rem;padding:.4rem .5rem;outline:none;transition:border-color .2s ease;appearance:textfield;-moz-appearance:textfield}input.svelte-1x00vna:focus{border-color:var(--accent)}input.svelte-1x00vna::-webkit-inner-spin-button,input.svelte-1x00vna::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.suffix.svelte-1x00vna{font-size:.72rem;color:var(--text-secondary);font-family:ui-monospace,monospace;flex-shrink:0}.error-rate-wrapper.svelte-l339yv{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.slider.svelte-l339yv{flex:1;accent-color:var(--status-error)}.percentage.svelte-l339yv{font-family:ui-monospace,monospace;font-size:.9rem;font-weight:700;min-width:3rem;color:var(--text-primary)}.headers-list.svelte-ijdozu{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-main);border-radius:6px;border:1px solid var(--border-color);margin-top:.25rem}.header-row.svelte-ijdozu{display:flex;align-items:center;gap:.5rem}.header-input.svelte-ijdozu{flex:1;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);padding:.4rem .6rem;font-size:.8rem;font-family:ui-monospace,monospace;outline:none;min-width:0;transition:border-color .15s ease}.header-input.svelte-ijdozu:focus{border-color:var(--accent)}.separator.svelte-ijdozu{color:var(--text-secondary);font-weight:700;opacity:.5}.remove-header.svelte-ijdozu{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;padding:0 .2rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.remove-header.svelte-ijdozu:hover{color:var(--status-error)}.add-header-btn.svelte-ijdozu{background:transparent;border:1px dashed var(--border-color);color:var(--text-secondary);padding:.5rem;font-size:.75rem;font-weight:600;border-radius:4px;cursor:pointer;margin-top:.25rem;transition:all .15s ease}.add-header-btn.svelte-ijdozu:hover{border-color:var(--accent);color:var(--accent);background:#5ba4cf0a}.backdrop.svelte-1kd3xks{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;animation:svelte-1kd3xks-fadeIn .15s ease}.dialog.svelte-1kd3xks{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;width:420px;max-width:90vw;box-shadow:0 16px 48px #0003;animation:svelte-1kd3xks-slideUp .15s ease}.dialog-header.svelte-1kd3xks{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.dialog-title.svelte-1kd3xks{display:flex;align-items:center;gap:.5rem}.dialog-method.svelte-1kd3xks{font-size:.7rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.dialog-path.svelte-1kd3xks{font-family:ui-monospace,monospace;font-size:.9rem;font-weight:600;color:var(--text-primary)}.close-button.svelte-1kd3xks{background:none;border:none;font-size:1.4rem;color:var(--text-secondary);cursor:pointer;padding:0 .25rem;line-height:1;border-radius:4px;transition:color .15s ease}.close-button.svelte-1kd3xks:hover{color:var(--text-primary)}.dialog-body.svelte-1kd3xks{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.field.svelte-1kd3xks{display:flex;flex-direction:column;gap:.35rem}.field-label.svelte-1kd3xks{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}@keyframes svelte-1kd3xks-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes svelte-1kd3xks-slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-layout.svelte-12qhfyh{display:grid;grid-template-columns:280px 1fr;height:100vh;width:100vw;overflow:hidden}.sidebar.svelte-12qhfyh{background-color:var(--bg-sidebar);border-right:1px solid var(--border-sidebar);padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;height:100vh;overflow:hidden}.logo-area.svelte-12qhfyh{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.logo.svelte-12qhfyh{flex-shrink:0;color:var(--accent-light);display:flex;align-items:center}.logo-text.svelte-12qhfyh{display:flex;flex-direction:column;gap:.1rem}.logo-name.svelte-12qhfyh{color:var(--text-sidebar);font-weight:800;font-size:.95rem;letter-spacing:.12em}.version.svelte-12qhfyh{font-size:.65rem;color:var(--text-sidebar-muted)}.sidebar-divider.svelte-12qhfyh{height:1px;background:linear-gradient(to right,var(--accent-light),transparent);flex-shrink:0;margin:-.25rem 0}.sidebar-nav.svelte-12qhfyh{display:flex;flex-direction:column;overflow:hidden;flex:1}.nav-section.svelte-12qhfyh{display:flex;flex-direction:column;min-height:0;margin-bottom:1.5rem}.nav-section.svelte-12qhfyh:last-of-type{flex:1;overflow:hidden;margin-bottom:0}.section-header.svelte-12qhfyh{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:.75rem;transition:border-color .15s ease}.section-header.interactive.svelte-12qhfyh{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.section-header.interactive.svelte-12qhfyh:hover{border-bottom-color:#ffffff26}.section-header.interactive.svelte-12qhfyh:hover .nav-label:where(.svelte-12qhfyh){opacity:1}.nav-label.svelte-12qhfyh{font-size:.65rem;font-weight:800;color:var(--text-sidebar);letter-spacing:.15em;opacity:.8;transition:opacity .15s ease}.section-chevron{color:var(--text-sidebar-muted);transition:transform .2s ease,color .15s ease}.section-chevron.rotated{transform:rotate(90deg);color:var(--accent)}.filter-group.svelte-12qhfyh{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.filter-label.svelte-12qhfyh{font-size:.65rem;font-weight:700;color:var(--text-sidebar);opacity:.6;text-transform:uppercase}.filter-buttons.svelte-12qhfyh{display:flex;flex-wrap:wrap;gap:.4rem}.filter-btn.svelte-12qhfyh{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--text-sidebar-muted);font-family:ui-monospace,monospace;font-size:.65rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .15s ease}.filter-btn.svelte-12qhfyh:hover{background:#ffffff14;color:var(--text-sidebar);border-color:#ffffff26}.filter-btn.svelte-12qhfyh.active{background:var(--accent);color:var(--text-sidebar);border-color:var(--accent);box-shadow:0 0 12px #5ba4cf33}.content.svelte-12qhfyh{overflow-y:auto;height:100vh;padding:2rem;min-width:0;scrollbar-color:var(--accent-light) transparent}.route-list.svelte-12qhfyh{display:flex;flex-direction:column;gap:.4rem;overflow-y:auto;flex:1;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--accent-light) transparent}
@@ -1 +0,0 @@
1
- .status-indicator.svelte-18q28wq{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary)}.dot.svelte-18q28wq{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#b0a8a0}.dot.svelte-18q28wq.online{background-color:var(--status-success);animation:svelte-18q28wq-pulse 2s infinite}.status-text.svelte-18q28wq{font-size:.825rem;font-style:italic;margin:0}@keyframes svelte-18q28wq-pulse{0%{box-shadow:0 0 #16a34a80}70%{box-shadow:0 0 0 5px #16a34a00}to{box-shadow:0 0 #16a34a00}}.details.svelte-35qjzc{display:flex;flex-direction:column;padding:.75rem 0 .5rem;border-top:1px solid var(--border-color);width:100%;overflow:hidden}.exchange-grid.svelte-35qjzc{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.detail-section.svelte-35qjzc{display:flex;flex-direction:column;gap:.75rem}.section-content.svelte-35qjzc{display:flex;flex-direction:column;gap:.75rem;background:#0000000d;padding:1rem;border-radius:6px;border:1px solid var(--border-color)}.detail-label.svelte-35qjzc{margin:0;font-size:.7rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.sub-label.svelte-35qjzc{margin:0;font-size:.65rem;font-weight:700;color:var(--accent-light);text-transform:uppercase;letter-spacing:.05em}.status-summary.svelte-35qjzc{display:flex;align-items:baseline;gap:.5rem;margin-bottom:-.25rem}.duration.svelte-35qjzc{font-size:.75rem;color:var(--text-secondary);font-weight:600}.headers-grid.svelte-35qjzc{display:grid;grid-template-columns:auto 1fr;column-gap:1.5rem;row-gap:.35rem;font-size:.82rem}.header-key.svelte-35qjzc{color:var(--text-secondary);font-weight:600}.header-val.svelte-35qjzc{color:var(--text-primary);word-break:break-all}.body-content.svelte-35qjzc{margin:0;background:var(--bg-main);padding:.75rem;border-radius:4px;border:1px solid var(--border-color);font-size:.82rem;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;max-height:250px;overflow-y:auto}.log-entry.svelte-1qnyn9m{background-color:var(--bg-surface);padding:.75rem 1.25rem;border:2px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:0rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;transition:all .15s ease;min-width:0;cursor:pointer;outline:none}.log-entry.svelte-1qnyn9m:hover{border-color:var(--accent-light);border-left:3px solid var(--accent);box-shadow:0 1px 4px #0000000a}.log-entry.svelte-1qnyn9m:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.log-entry.svelte-1qnyn9m.expanded{border-color:var(--accent-light);border-left:3px solid var(--accent);background-color:var(--bg-surface-elevated);margin-bottom:.5rem;gap:1rem}.log-entry.svelte-1qnyn9m:hover .copy-button:where(.svelte-1qnyn9m){opacity:1}.summary-line.svelte-1qnyn9m{display:flex;align-items:center;gap:1rem;width:100%;min-width:0}.chevron.svelte-1qnyn9m{color:var(--text-secondary);transition:transform .2s ease,color .15s ease;display:flex;align-items:center;flex-shrink:0;margin-right:-.25rem}.chevron.rotated.svelte-1qnyn9m{transform:rotate(90deg);color:var(--accent)}.path.svelte-1qnyn9m{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.copy-button.svelte-1qnyn9m{background:transparent;border:2px solid var(--border-color);color:var(--text-secondary);padding:.15rem .5rem;cursor:pointer;border-radius:4px;opacity:0;transition:all .15s ease;flex-shrink:0;font-size:.7rem;font-family:inherit}.copy-button.svelte-1qnyn9m:hover{border-color:var(--accent);color:var(--text-sidebar);background-color:var(--accent)}.duration.svelte-1qnyn9m{margin-left:auto;font-size:.75rem;color:var(--text-secondary);font-weight:600}.duration.svelte-1qnyn9m.slow{color:var(--status-warning)}.timestamp.svelte-1qnyn9m{color:var(--accent-light);font-size:.8rem;flex-shrink:0;min-width:85px;text-align:right}.search-container.svelte-c2kcm7{position:relative;display:flex;align-items:center}.search-input.svelte-c2kcm7{background:var(--bg-main);border:2px solid var(--border-color);color:var(--text-secondary);padding:.4rem 2rem .4rem .75rem;border-radius:4px;font-size:.8rem;width:200px;outline:none;transition:all .2s ease}.search-input.svelte-c2kcm7:focus{border-color:var(--accent)}.clear-search.svelte-c2kcm7{position:absolute;right:.5rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;line-height:1;padding:0}.clear-search.svelte-c2kcm7:hover{color:var(--text-primary)}.button.svelte-1xko78n{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.4rem 1rem;font-size:.8rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap;font-family:inherit;border:2px solid transparent;-webkit-user-select:none;user-select:none;outline:none}.button.svelte-1xko78n:active{transform:translateY(1px)}.variant-outline.svelte-1xko78n{background:transparent;border-color:var(--border-color);color:var(--text-secondary)}.variant-outline.svelte-1xko78n:hover{border-color:var(--accent);color:var(--text-primary);background-color:var(--bg-surface)}.variant-outline.active.svelte-1xko78n{background-color:var(--accent);border-color:var(--accent);color:#fff}.variant-danger.svelte-1xko78n{background:transparent;border-color:var(--border-color);color:var(--text-secondary)}.variant-danger.svelte-1xko78n:hover{border-color:var(--status-error);color:#fff;background-color:var(--status-error)}.variant-ghost.svelte-1xko78n{background:transparent;border:none;color:var(--text-secondary);padding:.25rem}.variant-ghost.svelte-1xko78n:hover{color:var(--text-primary)}.button-icon.svelte-1xko78n{display:flex;align-items:center;flex-shrink:0}.button-label.svelte-1xko78n{line-height:1}.page-header.svelte-1uha8ag{display:flex;justify-content:start;align-items:flex-end;margin-bottom:2rem}.header-left.svelte-1uha8ag{display:flex;flex-direction:column;gap:1rem}.header-controls.svelte-1uha8ag{display:flex;align-items:center;gap:1rem;margin-top:.5rem}h2.svelte-1uha8ag{margin:0;font-size:1.4rem;font-weight:700;color:var(--accent)}.log-feed.svelte-1uha8ag{display:flex;flex-direction:column;gap:.2rem;padding-bottom:2rem}.empty.svelte-1uha8ag{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:6rem;color:var(--text-secondary);text-align:center}.empty.svelte-1uha8ag p:where(.svelte-1uha8ag){font-size:1.05rem;margin-bottom:1.25rem}.empty.svelte-1uha8ag code:where(.svelte-1uha8ag){background-color:var(--accent-subtle);padding:.75rem 1.5rem;border-radius:6px;border:1px solid var(--border-color);color:var(--accent);font-family:ui-monospace,monospace;font-size:.875rem}
@@ -1 +0,0 @@
1
- .badge.svelte-16wd81y{font-weight:700;font-size:.7rem;padding:.2rem .5rem;border-radius:4px;text-align:center;flex-shrink:0;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;-webkit-user-select:none;user-select:none}.badge-get.svelte-16wd81y{color:var(--method-get);background:#5ba4cf1f;border-color:#5ba4cf33;min-width:58px}.badge-post.svelte-16wd81y{color:var(--method-post);background:#8b5cf61a;border-color:#8b5cf633;min-width:58px}.badge-put.svelte-16wd81y{color:var(--method-put);background:#c46b1a1a;border-color:#c46b1a33;min-width:58px}.badge-patch.svelte-16wd81y{color:var(--method-patch);background:#f4845f1a;border-color:#f4845f33;min-width:58px}.badge-delete.svelte-16wd81y{color:var(--method-delete);background:#a030301a;border-color:#a0303033;min-width:58px}.badge-success.svelte-16wd81y{color:var(--status-success);background:#16a34a1a;border:1px solid rgba(22,163,74,.15);min-width:42px}.badge-warn.svelte-16wd81y{color:var(--status-warning);background:#eab3081a;border:1px solid rgba(234,179,8,.15);min-width:42px}.badge-error.svelte-16wd81y{color:var(--status-error);background:#dc26261a;border:1px solid rgba(220,38,38,.15);min-width:42px}
@@ -1 +0,0 @@
1
- import{bp as be,ad as A,g as U,R as T,ac as ee,bq as dt}from"./Bj1t19nj.js";import{o as je}from"./DHt6uv_5.js";class ke{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Se{constructor(t,n){this.status=t,this.location=n}}class Ee extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function ht(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function pt(e){return e.split("%25").map(decodeURI).join("%25")}function gt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function de({href:e}){return e.split("#")[0]}function _t(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function mt(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const wt=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&F.delete(Re(e)),wt(e,t));const F=new Map;function vt(e,t){const n=Re(e,t),a=document.querySelector(n);if(a?.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const o=a.getAttribute("data-ttl");return o&&F.set(n,{body:r,init:i,ttl:1e3*Number(o)}),a.getAttribute("data-b64")!==null&&(r=mt(r)),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function yt(e,t,n){if(F.size>0){const a=Re(e,n),r=F.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(r.body,r.init);F.delete(a)}}return window.fetch(t,n)}function Re(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${_t(...r)}"]`}return a}const bt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function kt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Et(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const o=a.split(/\[(.+?)\](?!\])/);return"/"+o.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return he(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return he(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const f=bt.exec(l),[,h,w,u,p]=f;return t.push({name:u,matcher:p,optional:!!h,rest:!!w,chained:w?c===1&&o[0]==="":!1}),w?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return he(l)}).join("")}).join("")}/?$`),params:t}}function St(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Et(e){return e.slice(1).split("/").filter(St)}function Rt(e,t,n){const a={},r=e.slice(1),i=r.filter(s=>s!==void 0);let o=0;for(let s=0;s<t.length;s+=1){const l=t[s];let c=r[s-o];if(l.chained&&l.rest&&o&&(c=r.slice(s-o,s+1).filter(f=>f).join("/"),o=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const f=t[s+1],h=r[s+1];f&&!f.rest&&f.optional&&h&&l.chained&&(o=0),!f&&!h&&Object.keys(a).length===i.length&&(o=0);continue}if(l.optional&&l.chained){o++;continue}return}if(!o)return a}function he(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function xt({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([s,[l,c,f]])=>{const{pattern:h,params:w}=kt(s),u={id:s,exec:p=>{const m=h.exec(p);if(m)return Rt(m,w,a)},errors:[1,...f||[]].map(p=>e[p]),layouts:[0,...c||[]].map(o),leaf:i(l)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function i(s){const l=s<0;return l&&(s=~s),[l,e[s]]}function o(s){return s===void 0?s:[r.has(s),e[s]]}}function Fe(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Ne(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}const x=globalThis.__sveltekit_bfn1rr?.base??"/_dashboard",Lt=globalThis.__sveltekit_bfn1rr?.assets??x??"",At="1772883517405",Ge="sveltekit:snapshot",We="sveltekit:scroll",Ye="sveltekit:states",Ut="sveltekit:pageurl",B="sveltekit:history",W="sveltekit:navigation",j={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},xe=location.origin;function ze(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function q(){return{x:pageXOffset,y:pageYOffset}}function V(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const qe={...j,"":j.hover};function He(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Je(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=He(e)}}function _e(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const s=location.hash.split("#")[1]||"/";a.hash=`#${s}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||ce(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=a?.origin===xe&&e.hasAttribute("download");return{url:a,external:i,target:r,download:o}}function te(e){let t=null,n=null,a=null,r=null,i=null,o=null,s=e;for(;s&&s!==document.documentElement;)a===null&&(a=V(s,"preload-code")),r===null&&(r=V(s,"preload-data")),t===null&&(t=V(s,"keepfocus")),n===null&&(n=V(s,"noscroll")),i===null&&(i=V(s,"reload")),o===null&&(o=V(s,"replacestate")),s=He(s);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:qe[a??"off"],preload_data:qe[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(o)}}function De(e){const t=be(e);let n=!0;function a(){n=!0,t.update(o=>o)}function r(o){n=!1,t.set(o)}function i(o){let s;return t.subscribe(l=>{(s===void 0||n&&l!==s)&&o(s=l)})}return{notify:a,set:r,subscribe:i}}const Xe={v:()=>{}};function Tt(){const{set:e,subscribe:t}=be(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Lt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const o=(await r.json()).version!==At;return o&&(e(!0),Xe.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:a}}function ce(e,t,n){return e.origin!==xe||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function rn(e){}const Qe=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Qe];const It=new Set([...Qe]);[...It];function Ot(e){return e.filter(t=>t!=null)}function Le(e){return e instanceof ke||e instanceof Ee?e.status:500}function Pt(e){return e instanceof Ee?e.text:"Internal Error"}let k,Y,pe;const $t=je.toString().includes("$$")||/function \w+\(\) \{\}/.test(je.toString());$t?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},Y={current:null},pe={current:!1}):(k=new class{#e=A({});get data(){return U(this.#e)}set data(t){T(this.#e,t)}#t=A(null);get form(){return U(this.#t)}set form(t){T(this.#t,t)}#n=A(null);get error(){return U(this.#n)}set error(t){T(this.#n,t)}#a=A({});get params(){return U(this.#a)}set params(t){T(this.#a,t)}#r=A({id:null});get route(){return U(this.#r)}set route(t){T(this.#r,t)}#o=A({});get state(){return U(this.#o)}set state(t){T(this.#o,t)}#s=A(-1);get status(){return U(this.#s)}set status(t){T(this.#s,t)}#i=A(new URL("https://example.com"));get url(){return U(this.#i)}set url(t){T(this.#i,t)}},Y=new class{#e=A(null);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},pe=new class{#e=A(!1);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},Xe.v=()=>pe.current=!0);function Ct(e){Object.assign(k,e)}const jt=new Set(["icon","shortcut icon","apple-touch-icon"]),C=Fe(We)??{},z=Fe(Ge)??{},$={url:De({}),page:De({}),navigating:be(null),updated:Tt()};function Ae(e){C[e]=q()}function Nt(e,t){let n=e+1;for(;C[n];)delete C[n],n+=1;for(n=t+1;z[n];)delete z[n],n+=1}function H(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function Ze(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(x||"/");e&&await e.update()}}function Ve(){}let Ue,me,ne,I,we,y;const ae=[],re=[];let L=null;function ve(){L?.fork?.then(e=>e?.discard()),L=null}const Z=new Map,et=new Set,qt=new Set,G=new Set;let _={branch:[],error:null,url:null},tt=!1,oe=!1,Be=!0,J=!1,M=!1,nt=!1,Te=!1,at,v,R,N;const se=new Set,Ke=new Map;async function cn(e,t,n){globalThis.__sveltekit_bfn1rr?.data&&globalThis.__sveltekit_bfn1rr.data,document.URL!==location.href&&(location.href=location.href),y=e,await e.hooks.init?.(),Ue=xt(e),I=document.documentElement,we=t,me=e.nodes[0],ne=e.nodes[1],me(),ne(),v=history.state?.[B],R=history.state?.[W],v||(v=R=Date.now(),history.replaceState({...history.state,[B]:v,[W]:R},""));const a=C[v];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Qt(we,n)):(await K({type:"enter",url:ze(y.hash?tn(new URL(location.href)):location.href),replace_state:!0}),r()),Xt()}function Dt(){ae.length=0,Te=!1}function rt(e){re.some(t=>t?.snapshot)&&(z[e]=re.map(t=>t?.snapshot?.capture()))}function ot(e){z[e]?.forEach((t,n)=>{re[n]?.snapshot?.restore(t)})}function Me(){Ae(v),Ne(We,C),rt(R),Ne(Ge,z)}async function Vt(e,t,n,a){let r;t.invalidateAll&&ve(),await K({type:"goto",url:ze(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{t.invalidateAll&&(Te=!0,r=[...Ke.keys()]),t.invalidate&&t.invalidate.forEach(Jt)}}),t.invalidateAll&&ee().then(ee).then(()=>{Ke.forEach(({resource:i},o)=>{r?.includes(o)&&i.refresh?.()})})}async function Bt(e){if(e.id!==L?.id){ve();const t={};se.add(t),L={id:e.id,token:t,promise:it({...e,preload:t}).then(n=>(se.delete(t),n.type==="loaded"&&n.state.error&&ve(),n)),fork:null}}return L.promise}async function ge(e){const t=(await ue(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(n=>n[1]()))}async function st(e,t,n){_=e.state;const a=document.querySelector("style[data-sveltekit]");if(a&&a.remove(),Object.assign(k,e.props.page),at=new y.root({target:t,props:{...e.props,stores:$,components:re},hydrate:n,sync:!1}),await Promise.resolve(),ot(R),n){const r={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href),scroll:C[v]??q()},willUnload:!1,type:"enter",complete:Promise.resolve()};G.forEach(i=>i(r))}oe=!0}function ie({url:e,params:t,branch:n,status:a,error:r,route:i,form:o}){let s="never";if(x&&(e.pathname===x||e.pathname===x+"/"))s="always";else for(const u of n)u?.slash!==void 0&&(s=u.slash);e.pathname=ht(e.pathname,s),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:r,route:i},props:{constructors:Ot(n).map(u=>u.node.component),page:Ce(k)}};o!==void 0&&(l.props.form=o);let c={},f=!k,h=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const p=n[u],m=_.branch[u];p?.data!==m?.data&&(f=!0),p&&(c={...c,...p.data},f&&(l.props[`data_${h}`]=c),h+=1)}return(!_.url||e.href!==_.url.href||_.error!==r||o!==void 0&&o!==k.form||f)&&(l.props.page={error:r,params:t,route:{id:i?.id??null},state:{},status:a,url:new URL(e),form:o??null,data:f?c:k.data}),l}async function Ie({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){let o=null;const s={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();return{node:l,loader:e,server:i,universal:l.universal?.load?{type:"data",data:o,uses:s}:null,data:o??i?.data??null,slash:l.universal?.trailingSlash??i?.slash}}function Kt(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=oe?yt(a,r.href,t):vt(a,t);return{resolved:r,promise:i}}function Mt(e,t,n,a,r,i){if(Te)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const o of r.search_params)if(a.has(o))return!0;for(const o of r.params)if(i[o]!==_.params[o])return!0;for(const o of r.dependencies)if(ae.some(s=>s(new URL(o))))return!0;return!1}function Oe(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Ft(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(o=>i.includes(o))&&i.every(o=>r.includes(o))&&n.delete(a)}return n}function Gt({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:Ce(k),constructors:[]}}}async function it({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if(L?.id===e)return se.delete(L.token),L.promise;const{errors:o,layouts:s,leaf:l}=r,c=[...s,l];o.forEach(g=>g?.().catch(()=>{})),c.forEach(g=>g?.[1]().catch(()=>{}));const f=_.url?e!==le(_.url):!1,h=_.route?r.id!==_.route.id:!1,w=Ft(_.url,n);let u=!1;const p=c.map(async(g,d)=>{if(!g)return;const S=_.branch[d];return g[1]===S?.loader&&!Mt(u,h,f,w,S.universal?.uses,a)?S:(u=!0,Ie({loader:g[1],url:n,params:a,route:r,parent:async()=>{const O={};for(let P=0;P<d;P+=1)Object.assign(O,(await p[P])?.data);return O},server_data_node:Oe(g[0]?{type:"skip"}:null,g[0]?S?.server:void 0)}))});for(const g of p)g.catch(()=>{});const m=[];for(let g=0;g<c.length;g+=1)if(c[g])try{m.push(await p[g])}catch(d){if(d instanceof Se)return{type:"redirect",location:d.location};if(se.has(i))return Gt({error:await X(d,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let S=Le(d),E;if(d instanceof ke)E=d.body;else{if(await $.updated.check())return await Ze(),await H(n);E=await X(d,{params:a,url:n,route:{id:r.id}})}const O=await Wt(g,m,o);return O?ie({url:n,params:a,branch:m.slice(0,O.idx).concat(O.node),status:S,error:E,route:r}):await ct(n,{id:r.id},E,S)}else m.push(void 0);return ie({url:n,params:a,branch:m,status:200,error:null,route:r,form:t?void 0:null})}async function Wt(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Pe({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const o=await Ie({loader:me,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Oe(i)}),s={node:await ne(),loader:ne,universal:null,server:null,data:null};return ie({url:n,params:r,branch:[o,s],status:e,error:t,route:null})}catch(o){if(o instanceof Se)return Vt(new URL(o.location,location.href),{},0);throw o}}async function Yt(e){const t=e.href;if(Z.has(t))return Z.get(t);let n;try{const a=(async()=>{let r=await y.hooks.reroute({url:new URL(e),fetch:async(i,o)=>Kt(i,o,e).promise})??e;if(typeof r=="string"){const i=new URL(e);y.hash?i.hash=r:i.pathname=r,r=i}return r})();Z.set(t,a),n=await a}catch{Z.delete(t);return}return n}async function ue(e,t){if(e&&!ce(e,x,y.hash)){const n=await Yt(e);if(!n)return;const a=zt(n);for(const r of Ue){const i=r.exec(a);if(i)return{id:le(e),invalidating:t,route:r,params:gt(i),url:e}}}}function zt(e){return pt(y.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(x.length))||"/"}function le(e){return(y.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function lt({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let o=!1;const s=$e(_,n,e,t,i??null);a!==void 0&&(s.navigation.delta=a),r!==void 0&&(s.navigation.event=r);const l={...s.navigation,cancel:()=>{o=!0,s.reject(new Error("navigation cancelled"))}};return J||et.forEach(c=>c(l)),o?null:s}async function K({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o={},redirect_count:s=0,nav_token:l={},accept:c=Ve,block:f=Ve,event:h}){const w=N;N=l;const u=await ue(t,!1),p=e==="enter"?$e(_,u,t,e):lt({url:t,type:e,delta:n?.delta,intent:u,scroll:n?.scroll,event:h});if(!p){f(),N===l&&(N=w);return}const m=v,g=R;c(),J=!0,oe&&p.navigation.type!=="enter"&&$.navigating.set(Y.current=p.navigation);let d=u&&await it(u);if(!d){if(ce(t,x,y.hash))return await H(t,i);d=await ct(t,{id:null},await X(new Ee(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=u?.url||t,N!==l)return p.reject(new Error("navigation aborted")),!1;if(d.type==="redirect"){if(s<20){await K({type:e,url:new URL(d.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o,redirect_count:s+1,nav_token:l}),p.fulfil(void 0);return}d=await Pe({status:500,error:await X(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else d.props.page.status>=400&&await $.updated.check()&&(await Ze(),await H(t,i));if(Dt(),Ae(m),rt(g),d.props.page.url.pathname!==t.pathname&&(t.pathname=d.props.page.url.pathname),o=n?n.state:o,!n){const b=i?0:1,Q={[B]:v+=b,[W]:R+=b,[Ye]:o};(i?history.replaceState:history.pushState).call(history,Q,"",t),i||Nt(v,R)}const S=u&&L?.id===u.id?L.fork:null;L=null,d.props.page.state=o;let E;if(oe){const b=(await Promise.all(Array.from(qt,D=>D(p.navigation)))).filter(D=>typeof D=="function");if(b.length>0){let D=function(){b.forEach(fe=>{G.delete(fe)})};b.push(D),b.forEach(fe=>{G.add(fe)})}_=d.state,d.props.page&&(d.props.page.url=t);const Q=S&&await S;Q?E=Q.commit():(at.$set(d.props),Ct(d.props.page),E=dt?.()),nt=!0}else await st(d,we,!1);const{activeElement:O}=document;await E,await ee(),await ee();let P=null;if(Be){const b=n?n.scroll:r?q():null;b?scrollTo(b.x,b.y):(P=t.hash&&document.getElementById(ut(t)))?P.scrollIntoView():scrollTo(0,0)}const ft=document.activeElement!==O&&document.activeElement!==document.body;!a&&!ft&&en(t,!P),Be=!0,d.props.page&&Object.assign(k,d.props.page),J=!1,e==="popstate"&&ot(R),p.fulfil(void 0),p.navigation.to&&(p.navigation.to.scroll=q()),G.forEach(b=>b(p.navigation)),$.navigating.set(Y.current=null)}async function ct(e,t,n,a,r){return e.origin===xe&&e.pathname===location.pathname&&!tt?await Pe({status:a,error:n,url:e,route:t}):await H(e,r)}function Ht(){let e,t={element:void 0,href:void 0},n;I.addEventListener("mousemove",s=>{const l=s.target;clearTimeout(e),e=setTimeout(()=>{i(l,j.hover)},20)});function a(s){s.defaultPrevented||i(s.composedPath()[0],j.tap)}I.addEventListener("mousedown",a),I.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(s=>{for(const l of s)l.isIntersecting&&(ge(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(s,l){const c=Je(s,I),f=c===t.element&&c?.href===t.href&&l>=n;if(!c||f)return;const{url:h,external:w,download:u}=_e(c,x,y.hash);if(w||u)return;const p=te(c),m=h&&le(_.url)===le(h);if(!(p.reload||m))if(l<=p.preload_data){t={element:c,href:c.href},n=j.tap;const g=await ue(h,!1);if(!g)return;Bt(g)}else l<=p.preload_code&&(t={element:c,href:c.href},n=l,ge(h))}function o(){r.disconnect();for(const s of I.querySelectorAll("a")){const{url:l,external:c,download:f}=_e(s,x,y.hash);if(c||f)continue;const h=te(s);h.reload||(h.preload_code===j.viewport&&r.observe(s),h.preload_code===j.eager&&ge(l))}}G.add(o),o()}function X(e,t){if(e instanceof ke)return e.body;const n=Le(e),a=Pt(e);return y.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function Jt(e){if(typeof e=="function")ae.push(e);else{const{href:t}=new URL(e,location.href);ae.push(n=>n.href===t)}}function Xt(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(Me(),!J){const a=$e(_,void 0,null,"leave"),r={...a.navigation,cancel:()=>{n=!0,a.reject(new Error("navigation cancelled"))}};et.forEach(i=>i(r))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Me()}),navigator.connection?.saveData||Ht(),I.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Je(t.composedPath()[0],I);if(!n)return;const{url:a,external:r,target:i,download:o}=_e(n,x,y.hash);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const s=te(n);if(!(n instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||o)return;const[c,f]=(y.hash?a.hash.replace(/^#/,""):a.href).split("#"),h=c===de(location);if(r||s.reload&&(!h||!f)){lt({url:a,type:"link",event:t})?J=!0:t.preventDefault();return}if(f!==void 0&&h){const[,w]=_.url.href.split("#");if(w===f){if(t.preventDefault(),f===""||f==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(f));u&&(u.scrollIntoView(),u.focus())}return}if(M=!0,Ae(v),e(a),!s.replace_state)return;M=!1}t.preventDefault(),await new Promise(w=>{requestAnimationFrame(()=>{setTimeout(w,0)}),setTimeout(w,100)}),await K({type:"link",url:a,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??a.href===location.href,event:t})}),I.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if((a?.formTarget||n.target)==="_blank"||(a?.formMethod||n.method)!=="get")return;const o=new URL(a?.hasAttribute("formaction")&&a?.formAction||n.action);if(ce(o,x,!1))return;const s=t.target,l=te(s);if(l.reload)return;t.preventDefault(),t.stopPropagation();const c=new FormData(s,a);o.search=new URLSearchParams(c).toString(),K({type:"form",url:o,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??o.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!ye){if(t.state?.[B]){const n=t.state[B];if(N={},n===v)return;const a=C[n],r=t.state[Ye]??{},i=new URL(t.state[Ut]??location.href),o=t.state[W],s=_.url?de(location)===de(_.url):!1;if(o===R&&(nt||s)){r!==k.state&&(k.state=r),e(i),C[v]=q(),a&&scrollTo(a.x,a.y),v=n;return}const c=n-v;await K({type:"popstate",url:i,popped:{state:r,scroll:a,delta:c},accept:()=>{v=n,R=o},block:()=>{history.go(-c)},nav_token:N,event:t})}else if(!M){const n=new URL(location.href);e(n),y.hash&&location.reload()}}}),addEventListener("hashchange",()=>{M&&(M=!1,history.replaceState({...history.state,[B]:++v,[W]:R},"",location.href))});for(const t of document.querySelectorAll("link"))jt.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(Y.current=null)});function e(t){_.url=k.url=t,$.page.set(Ce(k)),$.page.notify()}}async function Qt(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:o,data:s,form:l}){tt=!0;const c=new URL(location.href);let f;({params:r={},route:i={id:null}}=await ue(c,!1)||{}),f=Ue.find(({id:u})=>u===i.id);let h,w=!0;try{const u=a.map(async(m,g)=>{const d=s[g];return d?.uses&&(d.uses=Zt(d.uses)),Ie({loader:y.nodes[m],url:c,params:r,route:i,parent:async()=>{const S={};for(let E=0;E<g;E+=1)Object.assign(S,(await u[E]).data);return S},server_data_node:Oe(d)})}),p=await Promise.all(u);if(f){const m=f.layouts;for(let g=0;g<m.length;g++)m[g]||p.splice(g,0,void 0)}h=ie({url:c,params:r,branch:p,status:t,error:n,form:l,route:f??null})}catch(u){if(u instanceof Se){await H(new URL(u.location,location.href));return}h=await Pe({status:Le(u),error:await X(u,{url:c,params:r,route:i}),url:c,route:i}),e.textContent="",w=!1}h.props.page&&(h.props.page.state={}),await st(h,e,w)}function Zt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ye=!1;function en(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=ut(e);if(a&&document.getElementById(a)){const{x:i,y:o}=q();setTimeout(()=>{const s=history.state;ye=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(s,"",e),t&&scrollTo(i,o),ye=!1})}else{const i=document.body,o=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),o!==null?i.setAttribute("tabindex",o):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let o=0;o<r.rangeCount;o+=1)i.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===i.length){for(let o=0;o<r.rangeCount;o+=1){const s=i[o],l=r.getRangeAt(o);if(s.commonAncestorContainer!==l.commonAncestorContainer||s.startContainer!==l.startContainer||s.endContainer!==l.endContainer||s.startOffset!==l.startOffset||s.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function $e(e,t,n,a,r=null){let i,o;const s=new Promise((c,f)=>{i=c,o=f});return s.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:q()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:r},willUnload:!t,type:a,complete:s},fulfil:i,reject:o}}function Ce(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function ut(e){let t;if(y.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{cn as a,rn as l,k as p,$ as s};
@@ -1 +0,0 @@
1
- import{n as $,o as g,q as j,v as I,w as x,x as H,y as w,z as L,A as q,B as z,C as G,D as Z,E as J,F as Q,H as V,G as W,I as X,J as k,K as D,L as ee,M as se,N,O as re,P as te,Q as ne,g as v,R as B,S as O,T as ie,U as T,V as ae,W as Y,X as fe,Y as ue,Z as oe,_ as M,$ as y,a0 as ce,a as le,l as de,a1 as _e,a2 as pe,f as he,a3 as ve,a4 as h,a5 as U,a6 as F,a7 as be}from"./Bj1t19nj.js";class me{anchor;#s=new Map;#r=new Map;#e=new Map;#t=new Set;#n=!0;constructor(e,t=!0){this.anchor=e,this.#n=t}#i=e=>{if(this.#s.has(e)){var t=this.#s.get(e),r=this.#r.get(t);if(r)$(r),this.#t.delete(t);else{var n=this.#e.get(t);n&&(this.#r.set(t,n.effect),this.#e.delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),r=n.effect)}for(const[i,f]of this.#s){if(this.#s.delete(i),i===e)break;const a=this.#e.get(f);a&&(g(a.effect),this.#e.delete(f))}for(const[i,f]of this.#r){if(i===t||this.#t.has(i))continue;const a=()=>{if(Array.from(this.#s.values()).includes(i)){var c=document.createDocumentFragment();q(f,c),c.append(I()),this.#e.set(i,{effect:f,fragment:c})}else g(f);this.#t.delete(i),this.#r.delete(i)};this.#n||!r?(this.#t.add(i),j(f,a,!1)):a()}}};#a=e=>{this.#s.delete(e);const t=Array.from(this.#s.values());for(const[r,n]of this.#e)t.includes(r)||(g(n.effect),this.#e.delete(r))};ensure(e,t){var r=H,n=z();if(t&&!this.#r.has(e)&&!this.#e.has(e))if(n){var i=document.createDocumentFragment(),f=I();i.append(f),this.#e.set(e,{effect:x(()=>t(f)),fragment:i})}else this.#r.set(e,x(()=>t(this.anchor)));if(this.#s.set(r,e),n){for(const[a,u]of this.#r)a===e?r.unskip_effect(u):r.skip_effect(u);for(const[a,u]of this.#e)a===e?r.unskip_effect(u.effect):r.skip_effect(u.effect);r.oncommit(this.#i),r.ondiscard(this.#a)}else w&&(this.anchor=L),this.#i(r)}}function Ae(s,e,t=!1){var r;w&&(r=L,Z());var n=new me(s),i=t?J:0;function f(a,u){if(w){var c=Q(r),l;if(c===V?l=0:c===W?l=!1:l=parseInt(c.substring(1)),a!==l){var b=X();k(b),n.anchor=b,D(!1),n.ensure(a,u),D(!0);return}}n.ensure(a,u)}G(()=>{var a=!1;e((u,c=0)=>{a=!0,f(c,u)}),a||f(!1,null)},i)}let S=!1,A=Symbol();function Oe(s,e,t){const r=t[e]??={store:null,source:re(void 0),unsubscribe:N};if(r.store!==s&&!(A in t))if(r.unsubscribe(),r.store=s??null,s==null)r.source.v=void 0,r.unsubscribe=N;else{var n=!0;r.unsubscribe=te(s,i=>{n?r.source.v=i:B(r.source,i)}),n=!1}return s&&A in t?ne(s):v(r.source)}function Re(){const s={};function e(){ee(()=>{for(var t in s)s[t].unsubscribe();se(s,A,{enumerable:!1,value:!0})})}return[s,e]}function Se(s){var e=S;try{return S=!1,[s(),S]}finally{S=e}}const Pe={get(s,e){if(!s.exclude.includes(e))return v(s.version),e in s.special?s.special[e]():s.props[e]},set(s,e,t){if(!(e in s.special)){var r=O;try{y(s.parent_effect),s.special[e]=we({get[e](){return s.props[e]}},e,Y)}finally{y(r)}}return s.special[e](t),M(s.version),!0},getOwnPropertyDescriptor(s,e){if(!s.exclude.includes(e)&&e in s.props)return{enumerable:!0,configurable:!0,value:s.props[e]}},deleteProperty(s,e){return s.exclude.includes(e)||(s.exclude.push(e),M(s.version)),!0},has(s,e){return s.exclude.includes(e)?!1:e in s.props},ownKeys(s){return Reflect.ownKeys(s.props).filter(e=>!s.exclude.includes(e))}};function Ee(s,e){return new Proxy({props:s,exclude:e,special:{},version:ie(0),parent_effect:O},Pe)}const ge={get(s,e){let t=s.props.length;for(;t--;){let r=s.props[t];if(h(r)&&(r=r()),typeof r=="object"&&r!==null&&e in r)return r[e]}},set(s,e,t){let r=s.props.length;for(;r--;){let n=s.props[r];h(n)&&(n=n());const i=T(n,e);if(i&&i.set)return i.set(t),!0}return!1},getOwnPropertyDescriptor(s,e){let t=s.props.length;for(;t--;){let r=s.props[t];if(h(r)&&(r=r()),typeof r=="object"&&r!==null&&e in r){const n=T(r,e);return n&&!n.configurable&&(n.configurable=!0),n}}},has(s,e){if(e===U||e===F)return!1;for(let t of s.props)if(h(t)&&(t=t()),t!=null&&e in t)return!0;return!1},ownKeys(s){const e=[];for(let t of s.props)if(h(t)&&(t=t()),!!t){for(const r in t)e.includes(r)||e.push(r);for(const r of Object.getOwnPropertySymbols(t))e.includes(r)||e.push(r)}return e}};function Ie(...s){return new Proxy({props:s},ge)}function we(s,e,t,r){var n=!de||(t&_e)!==0,i=(t&ce)!==0,f=(t&be)!==0,a=r,u=!0,c=()=>(u&&(u=!1,a=f?le(r):r),a),l;if(i){var b=U in s||F in s;l=T(s,e)?.set??(b&&e in s?o=>s[e]=o:void 0)}var _,R=!1;i?[_,R]=Se(()=>s[e]):_=s[e],_===void 0&&r!==void 0&&(_=c(),l&&(n&&ae(),l(_)));var d;if(n?d=()=>{var o=s[e];return o===void 0?c():(u=!0,o)}:d=()=>{var o=s[e];return o!==void 0&&(a=void 0),o===void 0?a:o},n&&(t&Y)===0)return d;if(l){var C=s.$$legacy;return(function(o,m){return arguments.length>0?((!n||!m||C||R)&&l(m?d():o),o):d()})}var P=!1,p=((t&pe)!==0?he:ve)(()=>(P=!1,d()));i&&v(p);var K=O;return(function(o,m){if(arguments.length>0){const E=m?v(p):n&&i?fe(o):o;return B(p,E),P=!0,a!==void 0&&(a=E),o}return ue&&P||(K.f&oe)!==0?p.v:v(p)})}export{me as B,Oe as a,Re as b,Ae as i,Ee as l,we as p,Ie as s};
@@ -1 +0,0 @@
1
- var Vt=Array.isArray,Ut=Array.prototype.indexOf,fe=Array.prototype.includes,Ln=Array.from,jn=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,Bt=Object.getOwnPropertyDescriptors,Gt=Object.prototype,zt=Array.prototype,ot=Object.getPrototypeOf,et=Object.isExtensible;function Yn(e){return typeof e=="function"}const we=()=>{};function qn(e){return e()}function Kt(e){for(var t=0;t<e.length;t++)e[t]()}function ut(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function Hn(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 E=2,_e=4,ae=8,He=1<<24,z=16,L=32,re=64,$t=128,x=512,y=1024,T=2048,F=4096,M=8192,V=16384,ve=32768,Se=65536,tt=1<<17,Xt=1<<18,Ee=1<<19,ct=1<<20,Vn=1<<25,Q=65536,Ce=1<<21,Ve=1<<22,U=1<<23,W=Symbol("$state"),Un=Symbol("legacy props"),Bn=Symbol(""),$=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},zn=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),Kn=1,xe=3,_t=8;function Zt(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function $n(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Wt(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Jt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Qt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function en(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Xn(){throw new Error("https://svelte.dev/e/hydration_failed")}function Zn(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function tn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function nn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function rn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Wn(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Jn=1,Qn=2,er=4,tr=8,nr=16,rr=1,sr=2,ir=4,fr=8,ar=16,lr=1,or=2,ur=4,cr=1,_r=2,sn="[",fn="[!",vr="[?",an="]",Ue={},b=Symbol(),ln="http://www.w3.org/1999/xhtml",dr="http://www.w3.org/2000/svg",hr="@attach";function Be(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function pr(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function wr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let ee=!1;function yr(e){ee=e}let R;function le(e){if(e===null)throw Be(),Ue;return R=e}function br(){return le(K(R))}function Er(e){if(ee){if(K(R)!==null)throw Be(),Ue;R=e}}function gr(e=1){if(ee){for(var t=e,n=R;t--;)n=K(n);R=n}}function mr(e=!0){for(var t=0,n=R;;){if(n.nodeType===_t){var r=n.data;if(r===an){if(t===0)return n;t-=1}else(r===sn||r===fn||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=K(n);e&&n.remove(),n=s}}function Tr(e){if(!e||e.nodeType!==_t)throw Be(),Ue;return e.data}function vt(e){return e===this.v}function dt(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function ht(e){return!dt(e,this.v)}let ke=!1;function Ar(){ke=!0}let m=null;function Re(e){m=e}function Sr(e,t=!1,n){m={p:m,i:!1,c:null,e:null,s:e,x:null,l:ke&&!t?{s:null,u:null,$:[]}:null}}function Rr(e){var t=m,n=t.e;if(n!==null){t.e=null;for(var r of n)kt(r)}return t.i=!0,m=t.p,{}}function ge(){return!ke||m!==null&&m.l===null}let X=[];function pt(){var e=X;X=[],Kt(e)}function Me(e){if(X.length===0&&!ye){var t=X;queueMicrotask(()=>{t===X&&pt()})}X.push(e)}function on(){for(;X.length>0;)pt()}function un(e){var t=d;if(t===null)return v.f|=U,e;if((t.f&ve)===0&&(t.f&_e)===0)throw e;Ne(e,t)}function Ne(e,t){for(;t!==null;){if((t.f&$t)!==0){if((t.f&ve)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const cn=-7169;function w(e,t){e.f=e.f&cn|t}function Ge(e){(e.f&x)!==0||e.deps===null?w(e,y):w(e,F)}function wt(e){if(e!==null)for(const t of e)(t.f&E)===0||(t.f&Q)===0||(t.f^=Q,wt(t.deps))}function _n(e,t,n){(e.f&T)!==0?t.add(e):(e.f&F)!==0&&n.add(e),wt(e.deps),w(e,y)}const Te=new Set;let p=null,nt=null,D=null,A=[],Ie=null,ye=!1,oe=null;class de{current=new Map;previous=new Map;#t=new Set;#s=new Set;#r=0;#i=0;#f=null;#a=new Set;#n=new Set;#e=new Map;is_fork=!1;#l=!1;#o(){return this.is_fork||this.#i>0}skip_effect(t){this.#e.has(t)||this.#e.set(t,{d:[],m:[]})}unskip_effect(t){var n=this.#e.get(t);if(n){this.#e.delete(t);for(var r of n.d)w(r,T),Y(r);for(r of n.m)w(r,F),Y(r)}}process(t){A=[],this.apply();var n=oe=[],r=[];for(const s of t)this.#u(s,n,r);if(oe=null,this.#o()){this.#c(r),this.#c(n);for(const[s,i]of this.#e)gt(s,i)}else{nt=this,p=null;for(const s of this.#t)s(this);this.#t.clear(),this.#r===0&&this.#_(),rt(r),rt(n),this.#a.clear(),this.#n.clear(),nt=null,this.#f?.resolve()}D=null}#u(t,n,r){t.f^=y;for(var s=t.first;s!==null;){var i=s.f,o=(i&(L|re))!==0,l=o&&(i&y)!==0,f=l||(i&M)!==0||this.#e.has(s);if(!f&&s.fn!==null){o?s.f^=y:(i&_e)!==0?n.push(s):me(s)&&((i&z)!==0&&this.#n.add(s),ce(s));var a=s.first;if(a!==null){s=a;continue}}for(;s!==null;){var u=s.next;if(u!==null){s=u;break}s=s.parent}}}#c(t){for(var n=0;n<t.length;n+=1)_n(t[n],this.#a,this.#n)}capture(t,n){n!==b&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&U)===0&&(this.current.set(t,t.v),D?.set(t,t.v))}activate(){p=this,this.apply()}deactivate(){p===this&&(p=null,D=null)}flush(){if(A.length>0)p=this,yt();else if(this.#r===0&&!this.is_fork){for(const t of this.#t)t(this);this.#t.clear(),this.#_(),this.#f?.resolve()}this.deactivate()}discard(){for(const t of this.#s)t(this);this.#s.clear()}#_(){if(Te.size>1){this.previous.clear();var t=p,n=D,r=!0;for(const i of Te){if(i===this){r=!1;continue}const o=[];for(const[f,a]of this.current){if(i.current.has(f))if(r&&a!==i.current.get(f))i.current.set(f,a);else continue;o.push(f)}if(o.length===0)continue;const l=[...i.current.keys()].filter(f=>!this.current.has(f));if(l.length>0){var s=A;A=[];const f=new Set,a=new Map;for(const u of o)bt(u,l,f,a);if(A.length>0){p=i,i.apply();for(const u of A)i.#u(u,[],[]);i.deactivate()}A=s}}p=t,D=n}this.#e.clear(),Te.delete(this)}increment(t){this.#r+=1,t&&(this.#i+=1)}decrement(t){this.#r-=1,t&&(this.#i-=1),!this.#l&&(this.#l=!0,Me(()=>{this.#l=!1,this.#o()?A.length>0&&this.flush():this.revive()}))}revive(){for(const t of this.#a)this.#n.delete(t),w(t,T),Y(t);for(const t of this.#n)w(t,F),Y(t);this.flush()}oncommit(t){this.#t.add(t)}ondiscard(t){this.#s.add(t)}settled(){return(this.#f??=ut()).promise}static ensure(){if(p===null){const t=p=new de;Te.add(p),ye||Me(()=>{p===t&&t.flush()})}return p}apply(){}}function vn(e){var t=ye;ye=!0;try{for(var n;;){if(on(),A.length===0&&(p?.flush(),A.length===0))return Ie=null,n;yt()}}finally{ye=t}}function yt(){var e=null;try{for(var t=0;A.length>0;){var n=de.ensure();if(t++>1e3){var r,s;dn()}n.process(A),B.clear()}}finally{A=[],Ie=null,oe=null}}function dn(){try{en()}catch(e){Ne(e,Ie)}}let j=null;function rt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(V|M))===0&&me(r)&&(j=new Set,ce(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Dt(r),j?.size>0)){B.clear();for(const s of j){if((s.f&(V|M))!==0)continue;const i=[s];let o=s.parent;for(;o!==null;)j.has(o)&&(j.delete(o),i.push(o)),o=o.parent;for(let l=i.length-1;l>=0;l--){const f=i[l];(f.f&(V|M))===0&&ce(f)}}j.clear()}}j=null}}function bt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&E)!==0?bt(s,t,n,r):(i&(Ve|z))!==0&&(i&T)===0&&Et(s,t,r)&&(w(s,T),Y(s))}}function Et(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(fe.call(t,s))return!0;if((s.f&E)!==0&&Et(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function Y(e){var t=Ie=e,n=t.b;if(n?.is_pending&&(e.f&(_e|ae|He))!==0&&(e.f&ve)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(oe!==null&&t===d&&(e.f&ae)===0)return;if((r&(re|L))!==0){if((r&y)===0)return;t.f^=y}}A.push(t)}function gt(e,t){if(!((e.f&L)!==0&&(e.f&y)!==0)){(e.f&T)!==0?t.d.push(e):(e.f&F)!==0&&t.m.push(e),w(e,y);for(var n=e.first;n!==null;)gt(n,t),n=n.next}}function hn(e,t,n,r){const s=ge()?ze:bn;var i=e.filter(c=>!c.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var o=d,l=pn(),f=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(c=>c.promise)):null;function a(c){l();try{r(c)}catch(_){(o.f&V)===0&&Ne(_,o)}Fe()}if(n.length===0){f.then(()=>a(t.map(s)));return}function u(){l(),Promise.all(n.map(c=>yn(c))).then(c=>a([...t.map(s),...c])).catch(c=>Ne(c,o))}f?f.then(u):u()}function pn(){var e=d,t=v,n=m,r=p;return function(i=!0){ue(e),G(t),Re(n),i&&r?.activate()}}function Fe(e=!0){ue(null),G(null),Re(null),e&&p?.deactivate()}function wn(){var e=d.b,t=p,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function ze(e){var t=E|T,n=v!==null&&(v.f&E)!==0?v:null;return d!==null&&(d.f|=Ee),{ctx:m,deps:null,effects:null,equals:vt,f:t,fn:e,reactions:null,rv:0,v:b,wv:0,parent:n??d,ac:null}}function yn(e,t,n){d===null&&Zt();var s=void 0,i=$e(b),o=!v,l=new Map;return xn(()=>{var f=ut();s=f.promise;try{Promise.resolve(e()).then(f.resolve,f.reject).finally(Fe)}catch(_){f.reject(_),Fe()}var a=p;if(o){var u=wn();l.get(a)?.reject($),l.delete(a),l.set(a,f)}const c=(_,g=void 0)=>{if(a.activate(),g)g!==$&&(i.f|=U,je(i,g));else{(i.f&U)!==0&&(i.f^=U),je(i,_);for(const[h,I]of l){if(l.delete(h),h===a)break;I.reject($)}}u&&u()};f.promise.then(c,_=>c(null,_||"unknown"))}),On(()=>{for(const f of l.values())f.reject($)}),new Promise(f=>{function a(u){function c(){u===s?f(i):a(s)}u.then(c,c)}a(s)})}function Nr(e){const t=ze(e);return Mt(t),t}function bn(e){const t=ze(e);return t.equals=ht,t}function En(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)te(t[n])}}function gn(e){for(var t=e.parent;t!==null;){if((t.f&E)===0)return(t.f&V)===0?t:null;t=t.parent}return null}function Ke(e){var t,n=d;ue(gn(e));try{e.f&=~Q,En(e),t=Yt(e)}finally{ue(n)}return t}function mt(e){var t=Ke(e);if(!e.equals(t)&&(e.wv=Lt(),(!p?.is_fork||e.deps===null)&&(e.v=t,e.deps===null))){w(e,y);return}ne||(D!==null?(xt()||p?.is_fork)&&D.set(e,t):Ge(e))}function mn(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort($),t.teardown=we,t.ac=null,be(t,0),We(t))}function Tt(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&ce(t)}let Le=new Set;const B=new Map;let At=!1;function $e(e,t){var n={f:0,v:e,reactions:null,equals:vt,rv:0,wv:0};return n}function q(e,t){const n=$e(e);return Mt(n),n}function Or(e,t=!1,n=!0){const r=$e(e);return t||(r.equals=ht),ke&&n&&m!==null&&m.l!==null&&(m.l.s??=[]).push(r),r}function H(e,t,n=!1){v!==null&&(!P||(v.f&tt)!==0)&&ge()&&(v.f&(E|z|Ve|tt))!==0&&(k===null||!fe.call(k,e))&&rn();let r=n?he(t):t;return je(e,r)}function je(e,t){if(!e.equals(t)){var n=e.v;ne?B.set(e,t):B.set(e,n),e.v=t;var r=de.ensure();if(r.capture(e,n),(e.f&E)!==0){const s=e;(e.f&T)!==0&&Ke(s),Ge(s)}e.wv=Lt(),St(e,T),ge()&&d!==null&&(d.f&y)!==0&&(d.f&(L|re))===0&&(O===null?Pn([e]):O.push(e)),!r.is_fork&&Le.size>0&&!At&&Tn()}return t}function Tn(){At=!1;for(const e of Le)(e.f&y)!==0&&w(e,F),me(e)&&ce(e);Le.clear()}function xr(e,t=1){var n=ie(e),r=t===1?n++:n--;return H(e,n),r}function Pe(e){H(e,e.v+1)}function St(e,t){var n=e.reactions;if(n!==null)for(var r=ge(),s=n.length,i=0;i<s;i++){var o=n[i],l=o.f;if(!(!r&&o===d)){var f=(l&T)===0;if(f&&w(o,t),(l&E)!==0){var a=o;D?.delete(a),(l&Q)===0&&(l&x&&(o.f|=Q),St(a,F))}else f&&((l&z)!==0&&j!==null&&j.add(o),Y(o))}}}function he(e){if(typeof e!="object"||e===null||W in e)return e;const t=ot(e);if(t!==Gt&&t!==zt)return e;var n=new Map,r=Vt(e),s=q(0),i=J,o=l=>{if(J===i)return l();var f=v,a=J;G(null),lt(i);var u=l();return G(f),lt(a),u};return r&&n.set("length",q(e.length)),new Proxy(e,{defineProperty(l,f,a){(!("value"in a)||a.configurable===!1||a.enumerable===!1||a.writable===!1)&&tn();var u=n.get(f);return u===void 0?o(()=>{var c=q(a.value);return n.set(f,c),c}):H(u,a.value,!0),!0},deleteProperty(l,f){var a=n.get(f);if(a===void 0){if(f in l){const u=o(()=>q(b));n.set(f,u),Pe(s)}}else H(a,b),Pe(s);return!0},get(l,f,a){if(f===W)return e;var u=n.get(f),c=f in l;if(u===void 0&&(!c||pe(l,f)?.writable)&&(u=o(()=>{var g=he(c?l[f]:b),h=q(g);return h}),n.set(f,u)),u!==void 0){var _=ie(u);return _===b?void 0:_}return Reflect.get(l,f,a)},getOwnPropertyDescriptor(l,f){var a=Reflect.getOwnPropertyDescriptor(l,f);if(a&&"value"in a){var u=n.get(f);u&&(a.value=ie(u))}else if(a===void 0){var c=n.get(f),_=c?.v;if(c!==void 0&&_!==b)return{enumerable:!0,configurable:!0,value:_,writable:!0}}return a},has(l,f){if(f===W)return!0;var a=n.get(f),u=a!==void 0&&a.v!==b||Reflect.has(l,f);if(a!==void 0||d!==null&&(!u||pe(l,f)?.writable)){a===void 0&&(a=o(()=>{var _=u?he(l[f]):b,g=q(_);return g}),n.set(f,a));var c=ie(a);if(c===b)return!1}return u},set(l,f,a,u){var c=n.get(f),_=f in l;if(r&&f==="length")for(var g=a;g<c.v;g+=1){var h=n.get(g+"");h!==void 0?H(h,b):g in l&&(h=o(()=>q(b)),n.set(g+"",h))}if(c===void 0)(!_||pe(l,f)?.writable)&&(c=o(()=>q(void 0)),H(c,he(a)),n.set(f,c));else{_=c.v!==b;var I=o(()=>he(a));H(c,I)}var Je=Reflect.getOwnPropertyDescriptor(l,f);if(Je?.set&&Je.set.call(u,a),!_){if(r&&typeof f=="string"){var Qe=n.get("length"),De=Number(f);Number.isInteger(De)&&De>=Qe.v&&H(Qe,De+1)}Pe(s)}return!0},ownKeys(l){ie(s);var f=Reflect.ownKeys(l).filter(c=>{var _=n.get(c);return _===void 0||_.v!==b});for(var[a,u]of n)u.v!==b&&!(a in l)&&f.push(a);return f},setPrototypeOf(){nn()}})}function st(e){try{if(e!==null&&typeof e=="object"&&W in e)return e[W]}catch{}return e}function kr(e,t){return Object.is(st(e),st(t))}var it,An,Sn,Rt,Nt;function Ir(){if(it===void 0){it=window,An=document,Sn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Rt=pe(t,"firstChild").get,Nt=pe(t,"nextSibling").get,et(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),et(n)&&(n.__t=void 0)}}function Oe(e=""){return document.createTextNode(e)}function Ye(e){return Rt.call(e)}function K(e){return Nt.call(e)}function Dr(e,t){if(!ee)return Ye(e);var n=Ye(R);if(n===null)n=R.appendChild(Oe());else if(t&&n.nodeType!==xe){var r=Oe();return n?.before(r),le(r),r}return t&&Xe(n),le(n),n}function Pr(e,t=!1){if(!ee){var n=Ye(e);return n instanceof Comment&&n.data===""?K(n):n}if(t){if(R?.nodeType!==xe){var r=Oe();return R?.before(r),le(r),r}Xe(R)}return R}function Cr(e,t=1,n=!1){let r=ee?R:e;for(var s;t--;)s=r,r=K(r);if(!ee)return r;if(n){if(r?.nodeType!==xe){var i=Oe();return r===null?s?.after(i):r.before(i),le(i),i}Xe(r)}return le(r),r}function Mr(e){e.textContent=""}function Fr(){return!1}function Lr(e,t,n){return document.createElementNS(t??ln,e,void 0)}function Xe(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===xe;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function jr(e,t){if(t){const n=document.body;e.autofocus=!0,Me(()=>{document.activeElement===n&&e.focus()})}}let ft=!1;function Rn(){ft||(ft=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function Ze(e){var t=v,n=d;G(null),ue(null);try{return e()}finally{G(t),ue(n)}}function Yr(e,t,n,r=n){e.addEventListener(t,()=>Ze(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),Rn()}function Ot(e){d===null&&(v===null&&Qt(),Jt()),ne&&Wt()}function Nn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function C(e,t){var n=d;n!==null&&(n.f&M)!==0&&(e|=M);var r={ctx:m,deps:null,nodes:null,f:e|T|x,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},s=r;if((e&_e)!==0)oe!==null?oe.push(r):Y(r);else if(t!==null){try{ce(r)}catch(o){throw te(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&Ee)===0&&(s=s.first,(e&z)!==0&&(e&Se)!==0&&s!==null&&(s.f|=Se))}if(s!==null&&(s.parent=n,n!==null&&Nn(s,n),v!==null&&(v.f&E)!==0&&(e&re)===0)){var i=v;(i.effects??=[]).push(s)}return r}function xt(){return v!==null&&!P}function On(e){const t=C(ae,null);return w(t,y),t.teardown=e,t}function qr(e){Ot();var t=d.f,n=!v&&(t&L)!==0&&(t&ve)===0;if(n){var r=m;(r.e??=[]).push(e)}else return kt(e)}function kt(e){return C(_e|ct,e)}function Hr(e){return Ot(),C(ae|ct,e)}function Vr(e){de.ensure();const t=C(re|Ee,e);return(n={})=>new Promise(r=>{n.outro?Dn(t,()=>{te(t),r(void 0)}):(te(t),r(void 0))})}function Ur(e){return C(_e,e)}function xn(e){return C(Ve|Ee,e)}function Br(e,t=0){return C(ae|t,e)}function Gr(e,t=[],n=[],r=[]){hn(r,t,n,s=>{C(ae,()=>e(...s.map(ie)))})}function zr(e,t=0){var n=C(z|t,e);return n}function Kr(e,t=0){var n=C(He|t,e);return n}function $r(e){return C(L|Ee,e)}function It(e){var t=e.teardown;if(t!==null){const n=ne,r=v;at(!0),G(null);try{t.call(null)}finally{at(n),G(r)}}}function We(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Ze(()=>{s.abort($)});var r=n.next;(n.f&re)!==0?n.parent=null:te(n,t),n=r}}function kn(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&L)===0&&te(t),t=n}}function te(e,t=!0){var n=!1;(t||(e.f&Xt)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(In(e.nodes.start,e.nodes.end),n=!0),We(e,t&&!n),be(e,0),w(e,V);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();It(e);var s=e.parent;s!==null&&s.first!==null&&Dt(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function In(e,t){for(;e!==null;){var n=e===t?null:K(e);e.remove(),e=n}}function Dt(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 Dn(e,t,n=!0){var r=[];Pt(e,r,!0);var s=()=>{n&&te(e),t&&t()},i=r.length;if(i>0){var o=()=>--i||s();for(var l of r)l.out(o)}else s()}function Pt(e,t,n){if((e.f&M)===0){e.f^=M;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next,o=(s.f&Se)!==0||(s.f&L)!==0&&(e.f&z)!==0;Pt(s,t,o?n:!1),s=i}}}function Xr(e){Ct(e,!0)}function Ct(e,t){if((e.f&M)!==0){e.f^=M,(e.f&y)===0&&(w(e,T),Y(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Se)!==0||(n.f&L)!==0;Ct(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function Zr(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:K(n);t.append(n),n=s}}let Ae=!1,ne=!1;function at(e){ne=e}let v=null,P=!1;function G(e){v=e}let d=null;function ue(e){d=e}let k=null;function Mt(e){v!==null&&(k===null?k=[e]:k.push(e))}let S=null,N=0,O=null;function Pn(e){O=e}let Ft=1,Z=0,J=Z;function lt(e){J=e}function Lt(){return++Ft}function me(e){var t=e.f;if((t&T)!==0)return!0;if(t&E&&(e.f&=~Q),(t&F)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(me(i)&&mt(i),i.wv>e.wv)return!0}(t&x)!==0&&D===null&&w(e,y)}return!1}function jt(e,t,n=!0){var r=e.reactions;if(r!==null&&!(k!==null&&fe.call(k,e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&E)!==0?jt(i,t,!1):t===i&&(n?w(i,T):(i.f&y)!==0&&w(i,F),Y(i))}}function Yt(e){var t=S,n=N,r=O,s=v,i=k,o=m,l=P,f=J,a=e.f;S=null,N=0,O=null,v=(a&(L|re))===0?e:null,k=null,Re(e.ctx),P=!1,J=++Z,e.ac!==null&&(Ze(()=>{e.ac.abort($)}),e.ac=null);try{e.f|=Ce;var u=e.fn,c=u();e.f|=ve;var _=e.deps,g=p?.is_fork;if(S!==null){var h;if(g||be(e,N),_!==null&&N>0)for(_.length=N+S.length,h=0;h<S.length;h++)_[N+h]=S[h];else e.deps=_=S;if(xt()&&(e.f&x)!==0)for(h=N;h<_.length;h++)(_[h].reactions??=[]).push(e)}else!g&&_!==null&&N<_.length&&(be(e,N),_.length=N);if(ge()&&O!==null&&!P&&_!==null&&(e.f&(E|F|T))===0)for(h=0;h<O.length;h++)jt(O[h],e);if(s!==null&&s!==e){if(Z++,s.deps!==null)for(let I=0;I<n;I+=1)s.deps[I].rv=Z;if(t!==null)for(const I of t)I.rv=Z;O!==null&&(r===null?r=O:r.push(...O))}return(e.f&U)!==0&&(e.f^=U),c}catch(I){return un(I)}finally{e.f^=Ce,S=t,N=n,O=r,v=s,k=i,Re(o),P=l,J=f}}function Cn(e,t){let n=t.reactions;if(n!==null){var r=Ut.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&E)!==0&&(S===null||!fe.call(S,t))){var i=t;(i.f&x)!==0&&(i.f^=x,i.f&=~Q),Ge(i),mn(i),be(i,0)}}function be(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Cn(e,n[r])}function ce(e){var t=e.f;if((t&V)===0){w(e,y);var n=d,r=Ae;d=e,Ae=!0;try{(t&(z|He))!==0?kn(e):We(e),It(e);var s=Yt(e);e.teardown=typeof s=="function"?s:null,e.wv=Ft;var i}finally{Ae=r,d=n}}}async function Wr(){await Promise.resolve(),vn()}function Jr(){return de.ensure().settled()}function ie(e){var t=e.f,n=(t&E)!==0;if(v!==null&&!P){var r=d!==null&&(d.f&V)!==0;if(!r&&(k===null||!fe.call(k,e))){var s=v.deps;if((v.f&Ce)!==0)e.rv<Z&&(e.rv=Z,S===null&&s!==null&&s[N]===e?N++:S===null?S=[e]:S.push(e));else{(v.deps??=[]).push(e);var i=e.reactions;i===null?e.reactions=[v]:fe.call(i,v)||i.push(v)}}}if(ne&&B.has(e))return B.get(e);if(n){var o=e;if(ne){var l=o.v;return((o.f&y)===0&&o.reactions!==null||Ht(o))&&(l=Ke(o)),B.set(o,l),l}var f=(o.f&x)===0&&!P&&v!==null&&(Ae||(v.f&x)!==0),a=(o.f&ve)===0;me(o)&&(f&&(o.f|=x),mt(o)),f&&!a&&(Tt(o),qt(o))}if(D?.has(e))return D.get(e);if((e.f&U)!==0)throw e.v;return e.v}function qt(e){if(e.f|=x,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),(t.f&E)!==0&&(t.f&x)===0&&(Tt(t),qt(t))}function Ht(e){if(e.v===b)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(B.has(t)||(t.f&E)!==0&&Ht(t))return!0;return!1}function Mn(e){var t=P;try{return P=!0,e()}finally{P=t}}function Qr(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(W in e)qe(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&W in n&&qe(n)}}}function qe(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{qe(e[r],t)}catch{}const n=ot(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Bt(n);for(let s in r){const i=r[s].get;if(i)try{i.call(e)}catch{}}}}}function Fn(e,t,n){if(e==null)return t(void 0),we;const r=Mn(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const se=[];function es(e,t=we){let n=null;const r=new Set;function s(l){if(dt(e,l)&&(e=l,n)){const f=!se.length;for(const a of r)a[1](),se.push(a,e);if(f){for(let a=0;a<se.length;a+=2)se[a][0](se[a+1]);se.length=0}}}function i(l){s(l(e))}function o(l,f=we){const a=[l,f];return r.add(a),r.size===1&&(n=t(s,i)||we),l(e),()=>{r.delete(a),r.size===0&&n&&(n(),n=null)}}return{set:s,update:i,subscribe:o}}function ts(e){let t;return Fn(e,n=>t=n)(),t}export{ue as $,Zr as A,Fr as B,zr as C,br as D,Se as E,Tr as F,fn as G,sn as H,mr as I,le as J,yr as K,On as L,jn as M,we as N,Or as O,Fn as P,ts as Q,H as R,d as S,$e as T,pe as U,Zn as V,ir as W,he as X,ne as Y,V as Z,xr as _,Mn as a,nr as a$,fr as a0,sr as a1,rr as a2,bn as a3,Yn as a4,W as a5,Un as a6,ar as a7,Ur as a8,Br as a9,Lr as aA,Ye as aB,Sn as aC,cr as aD,_r as aE,ve as aF,xe as aG,Xe as aH,Ir as aI,_t as aJ,K as aK,Ue as aL,Xn as aM,Mr as aN,Vr as aO,Ln as aP,an as aQ,Be as aR,Hn as aS,Xt as aT,it as aU,An as aV,er as aW,Vn as aX,$n as aY,Vt as aZ,Jn as a_,Me as aa,vn as ab,Wr as ac,q as ad,Nr as ae,xt as af,Pe as ag,$t as ah,vr as ai,de as aj,w as ak,T as al,Y as am,F as an,_n as ao,G as ap,Re as aq,un as ar,v as as,je as at,gr as au,Ne as av,Ee as aw,Wn as ax,wr as ay,Ze as az,Hr as b,Qn as b0,M as b1,L as b2,tr as b3,z as b4,ur as b5,lr as b6,or as b7,Kn as b8,dr as b9,Kr as ba,pr as bb,kr as bc,hn as bd,hr as be,zn as bf,jr as bg,b as bh,Rn as bi,ln as bj,ot as bk,Bn as bl,Bt as bm,Yr as bn,nt as bo,es as bp,Jr as bq,m as c,qn as d,Qr as e,ze as f,ie as g,Ar as h,Pr as i,Rr as j,Dr as k,ke as l,Er as m,Xr as n,te as o,Sr as p,Dn as q,Kt as r,Cr as s,Gr as t,qr as u,Oe as v,$r as w,p as x,ee as y,R as z};