renovate-log-parser 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +80 -7
  2. package/dist/commands/install-analyze-skill.d.ts +0 -1
  3. package/dist/commands/install-analyze-skill.js +15 -12
  4. package/dist/commands/install-analyze-skill.js.map +1 -1
  5. package/dist/core/skill-template.js +17 -3
  6. package/dist/core/skill-template.js.map +1 -1
  7. package/package.json +8 -3
  8. package/web/.output/public/200.html +1 -1
  9. package/web/.output/public/404.html +1 -1
  10. package/web/.output/public/_nuxt/BDNMzG2s.js +1 -0
  11. package/web/.output/public/_nuxt/BjDV6v2h.js +1 -0
  12. package/web/.output/public/_nuxt/CVlqYHPc.js +6 -0
  13. package/web/.output/public/_nuxt/CuOsDQlp.js +1 -0
  14. package/web/.output/public/_nuxt/CztOM3Aq.js +28 -0
  15. package/web/.output/public/_nuxt/D3wuHpM_.js +3 -0
  16. package/web/.output/public/_nuxt/DK3Fl9T5.js +1 -0
  17. package/web/.output/public/_nuxt/DUXEQ2Eh.js +3 -0
  18. package/web/.output/public/_nuxt/DVWtRbHb.js +1 -0
  19. package/web/.output/public/_nuxt/DeS15jQo.js +1 -0
  20. package/web/.output/public/_nuxt/XP9RigIT.js +1 -0
  21. package/web/.output/public/_nuxt/builds/latest.json +1 -1
  22. package/web/.output/public/_nuxt/builds/meta/f68582c9-55a9-4352-b85a-d7f8de6f7202.json +1 -0
  23. package/web/.output/public/_nuxt/entry.BlZrUrUl.css +2 -0
  24. package/web/.output/public/_nuxt/error-404.zKZBzOko.css +1 -0
  25. package/web/.output/public/_nuxt/error-500.DwXcJPfY.css +1 -0
  26. package/web/.output/public/_nuxt/lGYp6_9X.js +1 -0
  27. package/web/.output/public/_nuxt/pages.BDcbBSnU.css +1 -0
  28. package/web/.output/public/_nuxt/public-sans-latin-400-italic.B1appi_f.woff2 +0 -0
  29. package/web/.output/public/_nuxt/public-sans-latin-400-italic.DsCWG5h0.woff +0 -0
  30. package/web/.output/public/_nuxt/public-sans-latin-400-normal.8Rpg0ruU.woff2 +0 -0
  31. package/web/.output/public/_nuxt/public-sans-latin-400-normal.SBbinRkI.woff +0 -0
  32. package/web/.output/public/_nuxt/public-sans-latin-500-normal.NlrCPXnF.woff2 +0 -0
  33. package/web/.output/public/_nuxt/public-sans-latin-500-normal.vCxiVFAq.woff +0 -0
  34. package/web/.output/public/_nuxt/public-sans-latin-600-normal.BR59oU-I.woff +0 -0
  35. package/web/.output/public/_nuxt/public-sans-latin-600-normal.Fru-LXNs.woff2 +0 -0
  36. package/web/.output/public/_nuxt/public-sans-latin-700-normal.BqJmxWdE.woff2 +0 -0
  37. package/web/.output/public/_nuxt/public-sans-latin-700-normal.Dm-oTPSL.woff +0 -0
  38. package/web/.output/public/favicon-dark.svg +32 -0
  39. package/web/.output/public/favicon-light.svg +32 -0
  40. package/web/.output/public/index.html +1 -1
  41. package/web/.output/public/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2 +0 -0
  42. package/web/.output/public/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2 +0 -0
  43. package/web/.output/public/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2 +0 -0
  44. package/web/.output/public/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2 +0 -0
  45. package/web/.output/public/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2 +0 -0
  46. package/web/.output/public/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2 +0 -0
  47. package/web/.output/public/_nuxt/B4JKWaDj.js +0 -1
  48. package/web/.output/public/_nuxt/Bs-RnkRE.js +0 -37
  49. package/web/.output/public/_nuxt/DjtJytwR.js +0 -1
  50. package/web/.output/public/_nuxt/DlAUqK2U.js +0 -1
  51. package/web/.output/public/_nuxt/a71R3CFc.js +0 -1
  52. package/web/.output/public/_nuxt/builds/meta/bc129b23-5172-4e74-875d-2a24574a5dbe.json +0 -1
  53. package/web/.output/public/_nuxt/entry.9mB-pyEY.css +0 -1
  54. package/web/.output/public/_nuxt/error-404.B_PvSG-P.css +0 -1
  55. package/web/.output/public/_nuxt/error-500.CghkKCEr.css +0 -1
  56. package/web/.output/public/_nuxt/index.BlvAG7F6.css +0 -1
  57. package/web/.output/public/favicon.ico +0 -0
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # renovate-log-parser
2
2
 
3
+ ![](./renovate-log-parser.webp)
4
+
3
5
  `renovate-log-parser` is a CLI and web interface for manual and automated analyses of Renovate Bot debug logs (JSONL-formatted), which you get by either downloading a run's log from [https://developer.mend.io](https://developer.mend.io) (if you use Mend's _hosted_ GitHub app), or by setting the `LOG_FILE` environment variable for self-hosted Renovate.
4
6
 
5
7
  `renovate-log-parser` offers the following commands:
@@ -7,6 +9,33 @@
7
9
  - `detect-errors` is meant for CI pipelines; it scans the log for build-breaking problems and warnings and exits with error, helping you detect and solve hidden Renovate issues you would otherwise miss
8
10
  - `analyze` (with a corresponding SKILL.md) tells your coding agent (Codex, Copilot, Claude Code, etc.) about the log's structure, allowing it to efficiently read only the most relevant log lines in a token-efficient way, so that it can quickly (and cheaply) diagnose Renovate problems
9
11
  - `web` starts a temporary local web server that parses the log and serves a browser-based interface that you use to analyze and filter Renovate logs of _any_ length; this solves the problem of tedious, manual “grep”-like analyses where your text editor chokes on too large files
12
+ - `install-analyze-skill` writes a SKILL.md into your project or home directory, optionally including instructions for pulling the log straight from your GitHub Actions Renovate runs — so your agent knows both how to get a log and how to read it
13
+
14
+ Want to try it right away? Grab an example log and open it in the web UI:
15
+
16
+ ```bash
17
+ curl -sSLO https://raw.githubusercontent.com/MShekow/renovate-log-parser/main/src/core/__tests__/fixtures/various-issues.jsonl
18
+ npx renovate-log-parser web various-issues.jsonl
19
+ ```
20
+
21
+ <details>
22
+ <summary>Or, if you prefer Docker (mounting the log into the container and mapping the port)</summary>
23
+
24
+ ```bash
25
+ curl -sSLO https://raw.githubusercontent.com/MShekow/renovate-log-parser/main/src/core/__tests__/fixtures/various-issues.jsonl
26
+ docker run --rm -it -p 3000:3000 -v "$PWD/various-issues.jsonl:/logs/various-issues.jsonl:ro" node:26-alpine \
27
+ npx -y renovate-log-parser web /logs/various-issues.jsonl --host 0.0.0.0 --no-open
28
+ ```
29
+
30
+ Once the container reports that the server is listening, open the UI from a
31
+ second terminal — the `?log=` parameter is the path _inside_ the container, and
32
+ makes the UI load the file right away (`open` instead of `xdg-open` on macOS):
33
+
34
+ ```bash
35
+ xdg-open "http://localhost:3000/?log=/logs/various-issues.jsonl"
36
+ ```
37
+
38
+ </details>
10
39
 
11
40
  ## Background (why do I need this)
12
41
 
@@ -171,10 +200,11 @@ token-efficiently. It can optionally embed instructions for fetching the
171
200
  log from GitHub self-hosted Renovate workflows via the `gh` CLI.
172
201
 
173
202
  The command is interactive by default: it asks whether to install the skill
174
- **locally** or **globally**, and whether to include the GitHub-fetch section
175
- (and if so, the base URL, organization, repository, and Renovate workflow
176
- filename). All answers can also be supplied as flags to run non-interactively
177
- (e.g. in CI); any flag you pass skips its prompt.
203
+ **locally** or **globally**, and whether to include the GitHub-fetch section
204
+ which assumes you run self-hosted Renovate as a GitHub Actions workflow in a
205
+ repository (and if so, the repository as `org/repo`, the Renovate workflow
206
+ filename, and the base URL). All answers can also be supplied as flags to run
207
+ non-interactively (e.g. in CI); any flag you pass skips its prompt.
178
208
 
179
209
  ```bash
180
210
  # Interactive
@@ -183,7 +213,7 @@ npx renovate-log-parser install-analyze-skill
183
213
  # Non-interactive, local, with a GitHub Enterprise fetch section
184
214
  npx renovate-log-parser install-analyze-skill --scope local --with-gh \
185
215
  --gh-base-url github.example.com \
186
- --gh-org acme --gh-repo app --gh-workflow renovate.yml
216
+ --gh-repo acme/app --gh-workflow renovate.yml
187
217
  ```
188
218
 
189
219
  The skill is written to
@@ -195,8 +225,7 @@ current working directory (`local`) or your home directory (`global`).
195
225
  | `--scope` | (prompt) | `local` (`<cwd>/.agents/skills`) or `global` (`~/.agents/skills`) |
196
226
  | `--with-gh` | (prompt) | Include a "fetch logs from GitHub via `gh`" section |
197
227
  | `--gh-base-url` | (prompt if gh) | GitHub Enterprise host (e.g. `github.example.com`); blank = github.com |
198
- | `--gh-org` | (prompt if gh) | GitHub organization/owner |
199
- | `--gh-repo` | (prompt if gh) | Repository name |
228
+ | `--gh-repo` | (prompt if gh) | Repository as `org/repo` (e.g. `acme/app`) |
200
229
  | `--gh-workflow` | (prompt if gh) | Filename of the workflow that runs Renovate (e.g. `renovate.yml`) |
201
230
  | `--yes` | `false` | Skip all prompts; fail if a required answer is missing |
202
231
 
@@ -248,6 +277,11 @@ collapsible JSON tree of the full entry.
248
277
  `field == value`; nested keys create a scoped "contains" search on their
249
278
  top-level ancestor).
250
279
 
280
+ The affordances that cannot be discovered by looking — the two context menus
281
+ above all, but also the pill click/✕ semantics, the `*` search rules and what
282
+ "Hidden fields" actually does — are documented in the UI itself, behind the
283
+ **Help** button in the header.
284
+
251
285
  ## Development
252
286
 
253
287
  This repository is an npm workspace: the publishable CLI and the Express web
@@ -282,6 +316,9 @@ npm run test:e2e # Packaging E2E tests (slow: builds, packs, installs)
282
316
 
283
317
  # One-off, needed by the browser tests inside the E2E suite:
284
318
  npx playwright-core install chromium
319
+
320
+ npm run test:e2e:screenshots # + pixel comparison, in Docker
321
+ npm run test:e2e:screenshots:update # rewrite the committed baselines
285
322
  ```
286
323
 
287
324
  Three suites, each catching a different failure class:
@@ -322,6 +359,42 @@ Three suites, each catching a different failure class:
322
359
  screenshot, an HTML dump and the captured console/server output are written to
323
360
  `e2e-artifacts/` (CI uploads them as a build artifact).
324
361
 
362
+ ### Screenshot tests
363
+
364
+ The last four cases in the `web UI` block compare the live UI against the PNGs
365
+ committed under [`e2e/screenshots/`](./e2e/screenshots) — the empty state, a
366
+ loaded log, the Problems slide-over and the details slide-over. **Any** differing
367
+ pixel fails the test. Locator-based assertions cannot see a broken layout, a
368
+ level glyph that lost its colour, or a Nuxt UI upgrade that reflows the header;
369
+ this is the only suite that can.
370
+
371
+ Pixels are decided by more than the code: the Chromium build, the installed font
372
+ files and the fontconfig rasterisation settings all change the output. A baseline
373
+ is therefore only meaningful against a frozen environment, so the comparison runs
374
+ inside the container built from [`e2e/Dockerfile`](./e2e/Dockerfile) — pinned base
375
+ image, Chromium pinned to the `playwright-core` version in `package.json`, and a
376
+ fixed grayscale-antialiasing/hinting config. Outside that container the four
377
+ cases skip themselves, so a plain `npm run test:e2e` keeps working as before.
378
+
379
+ ```bash
380
+ npm run test:e2e:screenshots # build the image, run the suite, compare
381
+ npm run test:e2e:screenshots:update # same, but rewrite the baselines
382
+ ```
383
+
384
+ Both build the image (cached after the first run) and mount the work tree as your
385
+ own UID, so nothing root-owned is left behind. On a mismatch the expected, actual
386
+ and diff images are written to `e2e-artifacts/` and uploaded by CI.
387
+
388
+ After an intended UI change, run the update script, **look at the regenerated
389
+ PNGs**, and commit them alongside the change — a baseline diff is part of the
390
+ review, not a chore to rubber-stamp. Upgrading `@nuxt/ui`, `tailwindcss` or
391
+ `playwright-core` will usually require the same, since all three move pixels.
392
+
393
+ For this to hold, `Public Sans` is self-hosted via `@fontsource/public-sans`
394
+ rather than merely declared: an unloaded font falls back to whatever
395
+ `sans-serif` the viewer's OS provides, which made the UI render differently on
396
+ every machine.
397
+
325
398
  ### Regenerating the log fixtures
326
399
 
327
400
  The [`compose.yml`](./compose.yml) stack runs Renovate against the test
@@ -3,7 +3,6 @@ interface InstallSkillArgs {
3
3
  scope?: string;
4
4
  "with-gh"?: boolean;
5
5
  "gh-base-url"?: string;
6
- "gh-org"?: string;
7
6
  "gh-repo"?: string;
8
7
  "gh-workflow"?: string;
9
8
  yes: boolean;
@@ -38,14 +38,10 @@ export const installAnalyzeSkillCommand = {
38
38
  .option("gh-base-url", {
39
39
  type: "string",
40
40
  describe: "GitHub Enterprise host for the gh section (e.g. github.example.com); omit for github.com",
41
- })
42
- .option("gh-org", {
43
- type: "string",
44
- describe: "GitHub organization/owner (gh section)",
45
41
  })
46
42
  .option("gh-repo", {
47
43
  type: "string",
48
- describe: "Repository name (gh section)",
44
+ describe: 'GitHub repository in "org/repo" form, e.g. acme/app (gh section)',
49
45
  })
50
46
  .option("gh-workflow", {
51
47
  type: "string",
@@ -118,12 +114,11 @@ async function resolveScope(flag, rl) {
118
114
  }
119
115
  /**
120
116
  * Resolve the optional GitHub-fetch config. `--with-gh` (or an interactive
121
- * yes/no) gates it; the org/repo/workflow are required once enabled, the base
122
- * URL is optional.
117
+ * yes/no) gates it; the repository ("org/repo") and workflow are required once
118
+ * enabled, the base URL is optional.
123
119
  */
124
120
  async function resolveGh(argv, rl) {
125
- const anyGhFlag = argv["gh-org"] !== undefined ||
126
- argv["gh-repo"] !== undefined ||
121
+ const anyGhFlag = argv["gh-repo"] !== undefined ||
127
122
  argv["gh-workflow"] !== undefined ||
128
123
  argv["gh-base-url"] !== undefined;
129
124
  let include;
@@ -135,19 +130,27 @@ async function resolveGh(argv, rl) {
135
130
  include = true;
136
131
  }
137
132
  else if (rl) {
138
- include = await promptYesNo(rl, "Include instructions to fetch logs from GitHub via the gh CLI?", false);
133
+ stdout.write("Assuming that you run self-hosted Renovate as a GitHub Actions workflow in a repository.\n");
134
+ include = await promptYesNo(rl, "Include instructions to fetch that workflow's run logs via the gh CLI?", false);
139
135
  }
140
136
  else {
141
137
  include = false;
142
138
  }
143
139
  if (!include)
144
140
  return undefined;
145
- const org = await resolveRequired(argv["gh-org"], rl, "GitHub organization/owner", "--gh-org");
146
- const repo = await resolveRequired(argv["gh-repo"], rl, "Repository name", "--gh-repo");
141
+ const { org, repo } = parseOrgRepo(await resolveRequired(argv["gh-repo"], rl, 'GitHub repository ["org/repo"]', "--gh-repo"));
147
142
  const workflow = await resolveRequired(argv["gh-workflow"], rl, "Workflow filename that runs Renovate (e.g. renovate.yml)", "--gh-workflow");
148
143
  const baseUrl = await resolveOptional(argv["gh-base-url"], rl, "GitHub base URL/host (blank for github.com)");
149
144
  return { org, repo, workflow, baseUrl: baseUrl || undefined };
150
145
  }
146
+ /** Parse an `org/repo` slug into its parts. */
147
+ function parseOrgRepo(value) {
148
+ const parts = value.trim().split("/");
149
+ if (parts.length !== 2 || parts[0] === "" || parts[1] === "") {
150
+ throw new Error(`Invalid repository "${value}". Expected "org/repo".`);
151
+ }
152
+ return { org: parts[0], repo: parts[1] };
153
+ }
151
154
  /** Resolve a required free-text answer from a flag or a prompt. */
152
155
  async function resolveRequired(flag, rl, label, flagName) {
153
156
  if (flag !== undefined && flag.trim() !== "")
@@ -1 +1 @@
1
- {"version":3,"file":"install-analyze-skill.js","sourceRoot":"","sources":["../../src/commands/install-analyze-skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-analyze-skill.js","sourceRoot":"","sources":["../../src/commands/install-analyze-skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAiB,MAAM,2BAA2B,CAAC;AAE9E,+DAA+D;AAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAC;AACzE,MAAM,cAAc,GAAG,UAAU,CAAC;AAalC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAGnC;IACF,OAAO,EAAE,uBAAuB;IAChC,QAAQ,EAAE,mEAAmE;IAC7E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,MAAM,CAAC,OAAO,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAU;QACrC,QAAQ,EACN,6EAA6E;KAChF,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,IAAI,EAAE,SAAS;QACf,QAAQ,EACN,wEAAwE;KAC3E,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,QAAQ,EACN,0FAA0F;KAC7F,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,QAAQ,EACN,kEAAkE;KACrE,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,QAAQ,EACN,6EAA6E;KAChF,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,wDAAwD;KACnE,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAExD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI;gBAC7C,CAAC,OAAO,CAAC,EAAE;oBACT,CAAC,CAAC,qCAAqC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,GAAG;wBACzE,aAAa,OAAO,CAAC,EAAE,CAAC,QAAQ,GAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EACxD,MAAM;oBACR,CAAC,CAAC,EAAE,CAAC,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF,CAAC;AAQF;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAC3B,IAAsB,EACtB,WAAoB;IAEpB,MAAM,EAAE,GAAG,WAAW;QACpB,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,EAAE,EAAE,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAID,gDAAgD;AAChD,KAAK,UAAU,YAAY,CACzB,IAAwB,EACxB,EAAkB;IAElB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,kCAAkC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CACb,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAC5E;SACE,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC1E,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC3D,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,kCAAkC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,SAAS,CACtB,IAAsB,EACtB,EAAkB;IAElB,MAAM,SAAS,GACb,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,SAAS;QACjC,IAAI,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC;IAEpC,IAAI,OAAgB,CAAC;IACrB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,kEAAkE;QAClE,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;SAAM,IAAI,EAAE,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CACV,4FAA4F,CAC7F,CAAC;QACF,OAAO,GAAG,MAAM,WAAW,CACzB,EAAE,EACF,wEAAwE,EACxE,KAAK,CACN,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,YAAY,CAChC,MAAM,eAAe,CACnB,IAAI,CAAC,SAAS,CAAC,EACf,EAAE,EACF,gCAAgC,EAChC,WAAW,CACZ,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,IAAI,CAAC,aAAa,CAAC,EACnB,EAAE,EACF,0DAA0D,EAC1D,eAAe,CAChB,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,IAAI,CAAC,aAAa,CAAC,EACnB,EAAE,EACF,6CAA6C,CAC9C,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC;AAChE,CAAC;AAED,+CAA+C;AAC/C,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,yBAAyB,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,mEAAmE;AACnE,KAAK,UAAU,eAAe,CAC5B,IAAwB,EACxB,EAAkB,EAClB,KAAa,EACb,QAAgB;IAEhB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACb,WAAW,QAAQ,KAAK,KAAK,yDAAyD,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oEAAoE;AACpE,KAAK,UAAU,eAAe,CAC5B,IAAwB,EACxB,EAAkB,EAClB,KAAa;IAEb,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,+CAA+C;AAC/C,KAAK,UAAU,WAAW,CACxB,EAAM,EACN,QAAgB,EAChB,YAAqB;IAErB,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC;SACvD,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACvC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;AAC5C,CAAC"}
@@ -205,9 +205,23 @@ manual analysis, run:
205
205
  npx --yes renovate-log-parser detect-errors <path-to-log.jsonl>
206
206
  \`\`\`
207
207
 
208
- It surfaces host-error aborts, config migrations, abandoned packages, \`err\`
209
- objects, and \`repoProblems\` — a good starting list of what to investigate with
210
- \`analyze\`.
208
+ **Detected categories** a good starting list of what to investigate with \`analyze\`:
209
+
210
+ - **Errors** (things Renovate would _not_ otherwise flag in a PR comment):
211
+ - \`host-error-abort\`: when Renovate skipped creating/updating PRs for a repository
212
+ because one or more well-known registries were unreachable; looks for a
213
+ \`Repository finished\` entry with \`result: "external-host-error"\`
214
+ - \`log-error\`: lines with error level (\`level=50\`)
215
+ - \`log-fatal\`: lines with fatal level (\`level=60\`)
216
+ - \`config-migration\`: when a repository needs a renovate.json migration; looks for a
217
+ \`Config migration necessary\` entry carrying \`oldConfig\` + \`newConfig\`
218
+ - \`abandoned-package\`: when a repository contains one or more abandoned packages for
219
+ which Renovate would not create a PR; reports one finding per package in an
220
+ \`Abandoned package statistics\` entry
221
+ - **Warnings**:
222
+ - \`log-warn\`: lines with warning level (\`level=40\`)
223
+ - \`err-object\`: reports lines with an \`err\` object, such as rawExec errors
224
+ - \`repo-problem\`: reports entries in \`repoProblems\` lines (which is a string-array)
211
225
  `;
212
226
  }
213
227
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skill-template.js","sourceRoot":"","sources":["../../src/core/skill-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoBH,2EAA2E;AAC3E,MAAM,WAAW,GACf,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,2DAA2D,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAgC,EAAE;IACnE,MAAM,QAAQ,GAAa;QACzB,WAAW,EAAE;QACb,OAAO,EAAE;QACT,QAAQ,EAAE;QACV,UAAU,EAAE;QACZ,SAAS,EAAE;QACX,WAAW,EAAE;QACb,aAAa,EAAE;QACf,SAAS,EAAE;QACX,QAAQ,EAAE;QACV,YAAY,EAAE;KACf,CAAC;IAEF,IAAI,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvD,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;AACxD,CAAC;AAED,8BAA8B;AAC9B,SAAS,WAAW;IAClB,OAAO;;eAEM,WAAW;;;CAGzB,CAAC;AACF,CAAC;AAED,SAAS,OAAO;IACd,OAAO;;;;;;;;;;;CAWR,CAAC;AACF,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED,SAAS,UAAU;IACjB,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED,SAAS,SAAS;IAChB,OAAO;;;;;;;;;;;;;;;;;CAiBR,CAAC;AACF,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuBR,CAAC;AACF,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;;;;;;;CAOR,CAAC;AACF,CAAC;AAED,SAAS,SAAS;IAChB,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;;;;;;;;;;;;CAYR,CAAC;AACF,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;;;;;;;;;;;;CAYR,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,EAAY;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI;QACnB,CAAC,CAAC,uDAAuD,IAAI,eAAe;YAC1E,6CAA6C,IAAI,0BAA0B;YAC3E,8BAA8B,IAAI,WAAW;QAC/C,CAAC,CAAC,uDAAuD,CAAC;IAE5D,OAAO;;yBAEgB,OAAO,2BAA2B,EAAE,CAAC,QAAQ;0DACZ,QAAQ;;;;KAI7D,MAAM,0BAA0B,EAAE,CAAC,QAAQ,OAAO,OAAO;;;;KAIzD,MAAM,+BAA+B,OAAO;;;;OAI1C,MAAM,2BAA2B,OAAO;;;;;;CAM9C,CAAC;AACF,CAAC;AAED,SAAS,IAAI;IACX,OAAO;;;;;;;CAOR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"skill-template.js","sourceRoot":"","sources":["../../src/core/skill-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoBH,2EAA2E;AAC3E,MAAM,WAAW,GACf,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,2DAA2D,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAgC,EAAE;IACnE,MAAM,QAAQ,GAAa;QACzB,WAAW,EAAE;QACb,OAAO,EAAE;QACT,QAAQ,EAAE;QACV,UAAU,EAAE;QACZ,SAAS,EAAE;QACX,WAAW,EAAE;QACb,aAAa,EAAE;QACf,SAAS,EAAE;QACX,QAAQ,EAAE;QACV,YAAY,EAAE;KACf,CAAC;IAEF,IAAI,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvD,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;AACxD,CAAC;AAED,8BAA8B;AAC9B,SAAS,WAAW;IAClB,OAAO;;eAEM,WAAW;;;CAGzB,CAAC;AACF,CAAC;AAED,SAAS,OAAO;IACd,OAAO;;;;;;;;;;;CAWR,CAAC;AACF,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED,SAAS,UAAU;IACjB,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED,SAAS,SAAS;IAChB,OAAO;;;;;;;;;;;;;;;;;CAiBR,CAAC;AACF,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuBR,CAAC;AACF,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;;;;;;;CAOR,CAAC;AACF,CAAC;AAED,SAAS,SAAS;IAChB,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;;;;;;;;;;;;CAYR,CAAC;AACF,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BR,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,EAAY;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI;QACnB,CAAC,CAAC,uDAAuD,IAAI,eAAe;YAC1E,6CAA6C,IAAI,0BAA0B;YAC3E,8BAA8B,IAAI,WAAW;QAC/C,CAAC,CAAC,uDAAuD,CAAC;IAE5D,OAAO;;yBAEgB,OAAO,2BAA2B,EAAE,CAAC,QAAQ;0DACZ,QAAQ;;;;KAI7D,MAAM,0BAA0B,EAAE,CAAC,QAAQ,OAAO,OAAO;;;;KAIzD,MAAM,+BAA+B,OAAO;;;;OAI1C,MAAM,2BAA2B,OAAO;;;;;;CAM9C,CAAC;AACF,CAAC;AAED,SAAS,IAAI;IACX,OAAO;;;;;;;CAOR,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "renovate-log-parser",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "A CLI that parses Renovate Bot debug logs to auto-detect issues, with an optional Nuxt-based web UI.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -30,6 +30,8 @@
30
30
  "test": "node --import tsx --test --test-concurrency=1 \"src/**/*.test.ts\"",
31
31
  "test:fixtures": "node --import tsx --test --test-concurrency=1 src/core/__tests__/fixtures.test.ts",
32
32
  "test:e2e": "node --import tsx --test --test-concurrency=1 \"e2e/**/*.e2e.ts\"",
33
+ "test:e2e:screenshots": "sh e2e/run-in-container.sh compare",
34
+ "test:e2e:screenshots:update": "sh e2e/run-in-container.sh update",
33
35
  "prepublishOnly": "npm run build"
34
36
  },
35
37
  "repository": {
@@ -57,12 +59,15 @@
57
59
  "devDependencies": {
58
60
  "@eslint/js": "10.0.1",
59
61
  "@types/express": "5.0.6",
60
- "@types/node": "26.1.1",
62
+ "@types/node": "26.1.2",
63
+ "@types/pngjs": "6.0.5",
61
64
  "@types/yargs": "17.0.35",
62
65
  "eslint": "10.8.0",
63
66
  "eslint-config-prettier": "10.1.8",
64
- "globals": "17.7.0",
67
+ "globals": "17.8.0",
68
+ "pixelmatch": "7.2.0",
65
69
  "playwright-core": "1.62.0",
70
+ "pngjs": "7.0.0",
66
71
  "prettier": "3.9.6",
67
72
  "tsx": "4.23.1",
68
73
  "typescript": "6.0.3",
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.9mB-pyEY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Bs-RnkRE.js"><script type="module" src="/_nuxt/Bs-RnkRE.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.CghkKCEr.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/B4JKWaDj.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DlAUqK2U.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"bc129b23-5172-4e74-875d-2a24574a5dbe",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1785347719451,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/_nuxt/CztOM3Aq.js"}}</script><link rel="stylesheet" href="/_nuxt/entry.BlZrUrUl.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CztOM3Aq.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DUXEQ2Eh.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DVWtRbHb.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D3wuHpM_.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CuOsDQlp.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CVlqYHPc.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DK3Fl9T5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/XP9RigIT.js"><script type="module" src="/_nuxt/CztOM3Aq.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.zKZBzOko.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BjDV6v2h.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BDNMzG2s.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.DwXcJPfY.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DeS15jQo.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"f68582c9-55a9-4352-b85a-d7f8de6f7202",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1785610471989,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.9mB-pyEY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Bs-RnkRE.js"><script type="module" src="/_nuxt/Bs-RnkRE.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.CghkKCEr.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/B4JKWaDj.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DlAUqK2U.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"bc129b23-5172-4e74-875d-2a24574a5dbe",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1785347719451,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/_nuxt/CztOM3Aq.js"}}</script><link rel="stylesheet" href="/_nuxt/entry.BlZrUrUl.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CztOM3Aq.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DUXEQ2Eh.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DVWtRbHb.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D3wuHpM_.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CuOsDQlp.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CVlqYHPc.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DK3Fl9T5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/XP9RigIT.js"><script type="module" src="/_nuxt/CztOM3Aq.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.zKZBzOko.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BjDV6v2h.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BDNMzG2s.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.DwXcJPfY.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DeS15jQo.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"f68582c9-55a9-4352-b85a-d7f8de6f7202",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1785610471989,false]</script></body></html>
@@ -0,0 +1 @@
1
+ var e=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};export{e as t};
@@ -0,0 +1 @@
1
+ import{F as e,H as t,M as n,V as r,cn as i,gr as a,kt as o}from"./DUXEQ2Eh.js";import{n as s}from"./XP9RigIT.js";import{t as c}from"./CuOsDQlp.js";import{t as l}from"./BDNMzG2s.js";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=l({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:404},statusText:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(l){let g=l;return s({title:`${g.status} - ${g.statusText} | ${g.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(s,g)=>{let _=c;return o(),e(`div`,u,[n(`div`,d,[n(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:a(l.status)},null,8,f),n(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:a(l.statusText)},null,8,p),n(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:a(l.description)},null,8,m),n(`div`,h,[t(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:i(()=>[r(a(l.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-c874e575`]]);export{g as default};
@@ -0,0 +1,6 @@
1
+ import{t as e}from"./DK3Fl9T5.js";import{A as t,Ct as n,Dt as r,F as i,In as a,Nn as o,Nt as s,On as c,Q as l,Sr as u,Tn as d,Un as f,Vn as p,W as m,a as h,bn as g,br as _,gt as v,j as y,jn as b,jt as x,lt as ee,r as S,rn as C,tt as w,u as te,vt as ne,xr as T,yr as E,zn as D}from"./DUXEQ2Eh.js";import{Y as re,ot as ie,s as ae}from"./DVWtRbHb.js";function O(e){return typeof e==`string`?`'${e}'`:new oe().serialize(e)}var oe=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function se(e,t){return e===t||O(e)===O(t)}var ce=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],le=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],ue=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,k=[],de=class{_data=new A;_hash=new A([...ce]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)k[n]=e[t+n]|0;else{let e=k[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=k[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;k[n]=t+k[n-7]+i+k[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+le[n]+k[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=A.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new A(t,i)}},A=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(ue.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function fe(e){return new de().finalize(e).toBase64()}function pe(e){return fe(O(e))}var me=ie(S({ui:{colors:{primary:`green`,neutral:`slate`}}}),{nuxt:{},ui:{colors:{primary:`green`,secondary:`blue`,success:`green`,info:`blue`,warning:`yellow`,error:`red`,neutral:`slate`},icons:{arrowDown:`i-lucide-arrow-down`,arrowLeft:`i-lucide-arrow-left`,arrowRight:`i-lucide-arrow-right`,arrowUp:`i-lucide-arrow-up`,caution:`i-lucide-circle-alert`,check:`i-lucide-check`,chevronDoubleLeft:`i-lucide-chevrons-left`,chevronDoubleRight:`i-lucide-chevrons-right`,chevronDown:`i-lucide-chevron-down`,chevronLeft:`i-lucide-chevron-left`,chevronRight:`i-lucide-chevron-right`,chevronUp:`i-lucide-chevron-up`,close:`i-lucide-x`,copy:`i-lucide-copy`,copyCheck:`i-lucide-copy-check`,dark:`i-lucide-moon`,drag:`i-lucide-grip-vertical`,ellipsis:`i-lucide-ellipsis`,error:`i-lucide-circle-x`,external:`i-lucide-arrow-up-right`,eye:`i-lucide-eye`,eyeOff:`i-lucide-eye-off`,file:`i-lucide-file`,folder:`i-lucide-folder`,folderOpen:`i-lucide-folder-open`,hash:`i-lucide-hash`,info:`i-lucide-info`,light:`i-lucide-sun`,loading:`i-lucide-loader-circle`,menu:`i-lucide-menu`,minus:`i-lucide-minus`,panelClose:`i-lucide-panel-left-close`,panelOpen:`i-lucide-panel-left-open`,plus:`i-lucide-plus`,reload:`i-lucide-rotate-ccw`,search:`i-lucide-search`,stop:`i-lucide-square`,star:`i-lucide-star`,success:`i-lucide-circle-check`,system:`i-lucide-monitor`,tip:`i-lucide-lightbulb`,upload:`i-lucide-upload`,warning:`i-lucide-triangle-alert`},tv:{twMergeConfig:{}}},icon:{provider:`iconify`,class:``,aliases:{},iconifyApiEndpoint:`https://api.iconify.design`,localApiEndpoint:`/api/_nuxt_icon`,fallbackToApi:!0,cssSelectorPrefix:`i-`,cssWherePseudo:!0,cssLayer:`base`,mode:`css`,attrs:{"aria-hidden":!0},collections:`academicons.akar-icons.ant-design.arcticons.basil.bi.bitcoin-icons.bpmn.brandico.bx.bxl.bxs.bytesize.carbon.catppuccin.cbi.charm.ci.cib.cif.cil.circle-flags.circum.clarity.codex.codicon.covid.cryptocurrency.cryptocurrency-color.cuida.dashicons.devicon.devicon-plain.dinkie-icons.duo-icons.ei.el.emojione.emojione-monotone.emojione-v1.entypo.entypo-social.eos-icons.ep.et.eva.f7.fa.fa-brands.fa-regular.fa-solid.fa6-brands.fa6-regular.fa6-solid.fa7-brands.fa7-regular.fa7-solid.fad.famicons.fe.feather.file-icons.flag.flagpack.flat-color-icons.flat-ui.flowbite.fluent.fluent-color.fluent-emoji.fluent-emoji-flat.fluent-emoji-high-contrast.fluent-mdl2.fontelico.fontisto.formkit.foundation.fxemoji.gala.game-icons.garden.geo.gg.gis.gravity-ui.gridicons.grommet-icons.guidance.healthicons.heroicons.heroicons-outline.heroicons-solid.hugeicons.humbleicons.ic.icomoon-free.icon-park.icon-park-outline.icon-park-solid.icon-park-twotone.iconamoon.iconoir.icons8.il.ion.iwwa.ix.jam.la.lets-icons.line-md.lineicons.logos.ls.lsicon.lucide.lucide-lab.mage.majesticons.maki.map.marketeq.material-icon-theme.material-symbols.material-symbols-light.mdi.mdi-light.medical-icon.memory.meteocons.meteor-icons.mi.mingcute.mono-icons.mynaui.nimbus.nonicons.noto.noto-v1.nrk.octicon.oi.ooui.openmoji.oui.pajamas.pepicons.pepicons-pencil.pepicons-pop.pepicons-print.ph.picon.pixel.pixelarticons.prime.proicons.ps.qlementine-icons.quill.radix-icons.raphael.ri.rivet-icons.roentgen.si.si-glyph.sidekickicons.simple-icons.simple-line-icons.skill-icons.solar.stash.streamline.streamline-block.streamline-color.streamline-cyber.streamline-cyber-color.streamline-emojis.streamline-flex.streamline-flex-color.streamline-freehand.streamline-freehand-color.streamline-kameleon-color.streamline-logos.streamline-pixel.streamline-plump.streamline-plump-color.streamline-sharp.streamline-sharp-color.streamline-stickies-color.streamline-ultimate.streamline-ultimate-color.subway.svg-spinners.system-uicons.tabler.tdesign.teenyicons.temaki.token.token-branded.topcoat.twemoji.typcn.uil.uim.uis.uit.uiw.unjs.vaadin.vs.vscode-icons.websymbol.weui.whh.wi.wpf.zmdi.zondicons`.split(`.`),fetchTimeout:1500}});function j(){let e=h();return e._appConfig||=b(me),e._appConfig}var he=/^[a-z0-9]+(-[a-z0-9]+)*$/,M=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!N(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!N(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!N(e,n)?null:e}return null},N=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1;function ge(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}var _e=Object.freeze({left:0,top:0,width:16,height:16}),P=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),F=Object.freeze({..._e,...P}),I=Object.freeze({...F,body:``,hidden:!1});function ve(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function ye(e,t){let n=ve(e,t);for(let r in I)r in P?r in e&&!(r in n)&&(n[r]=P[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function be(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=ye(r[e]||i[e],a)}return o(t),n.forEach(o),ye(e,a)}function xe(e,t){let n=[];if(typeof e!=`object`||typeof e.icons!=`object`)return n;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),n.push(e)});let r=ge(e);for(let i in r){let a=r[i];a&&(t(i,be(e,i,a)),n.push(i))}return n}var Se={provider:``,aliases:{},not_found:{},..._e};function Ce(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function we(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.prefix!=`string`||!e.icons||typeof e.icons!=`object`||!Ce(e,Se))return null;let n=t.icons;for(let e in n){let t=n[e];if(!e||typeof t.body!=`string`||!Ce(t,I))return null}let r=t.aliases||Object.create(null);for(let e in r){let t=r[e],i=t.parent;if(!e||typeof i!=`string`||!n[i]&&!r[i]||!Ce(t,I))return null}return t}var Te=Object.create(null);function Ee(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function L(e,t){let n=Te[e]||(Te[e]=Object.create(null));return n[t]||(n[t]=Ee(e,t))}function De(e,t){return we(t)?xe(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}function Oe(e,t,n){try{if(typeof n.body==`string`)return e.icons[t]={...n},!0}catch{}return!1}var R=!1;function ke(e){return typeof e==`boolean`&&(R=e),R}function z(e){let t=typeof e==`string`?M(e,!0,R):e;if(t){let e=L(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}function B(e,t){let n=M(e,!0,R);if(!n)return!1;let r=L(n.provider,n.prefix);return t?Oe(r,n.name,t):(r.missing.add(n.name),!0)}function Ae(e,t){if(typeof e!=`object`)return!1;if(typeof t!=`string`&&(t=e.provider||``),R&&!t&&!e.prefix){let t=!1;return we(e)&&(e.prefix=``,xe(e,(e,n)=>{B(e,n)&&(t=!0)})),t}let n=e.prefix;return N({prefix:n,name:`a`})?!!De(L(t,n),e):!1}function V(e){let t=z(e);return t&&{...F,...t}}var je=Object.freeze({width:null,height:null}),Me=Object.freeze({...je,...P}),Ne=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Pe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Fe(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(Ne);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=Pe.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function Ie(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function Le(e,t){return e?`<defs>`+e+`</defs>`+t:t}function Re(e,t,n){let r=Ie(e);return Le(r.defs,t+r.content+n)}var ze=e=>e===`unset`||e===`undefined`||e===`none`;function Be(e,t){let n={...F,...e},r={...Me,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=Re(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=Fe(d,c/l)):(u=o===`auto`?c:o,d=s===null?Fe(u,l/c):s===`auto`?l:s);let f={},p=(e,t)=>{ze(t)||(f[e]=t.toString())};p(`width`,u),p(`height`,d);let m=[i.left,i.top,c,l];return f.viewBox=m.join(` `),{attributes:f,viewBox:m,body:a}}var Ve=/\sid="(\S+)"/g,He=new Map;function Ue(e){e=e.replace(/[0-9]+$/,``)||`a`;let t=He.get(e)||0;return He.set(e,t+1),t?`${e}${t}`:e}function We(e){let t=[],n;for(;n=Ve.exec(e);)t.push(n[1]);if(!t.length)return e;let r=`suffix`+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(t=>{let n=Ue(t),i=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);e=e.replace(RegExp(`([#;"])(`+i+`)([")]|\\.[a-z])`,`g`),`$1`+n+r+`$3`)}),e=e.replace(new RegExp(r,`g`),``),e}var H=Object.create(null);function Ge(e,t){H[e]=t}function U(e){return H[e]||H[``]}function W(e){let t;if(typeof e.resources==`string`)t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||`/`,maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}for(var G=Object.create(null),K=[`https://api.simplesvg.com`,`https://api.unisvg.com`],q=[];K.length>0;)K.length===1||Math.random()>.5?q.push(K.shift()):q.push(K.pop());G[``]=W({resources:[`https://api.iconify.design`].concat(q)});function Ke(e,t){let n=W(t);return n===null?!1:(G[e]=n,!0)}function J(e){return G[e]}function qe(){return Object.keys(G)}var Y=(()=>{let e;try{if(e=fetch,typeof e==`function`)return e}catch{}})();function Je(e){Y=e}function Ye(){return Y}function Xe(e,t){let n=J(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let e=0;n.resources.forEach(t=>{e=Math.max(e,t.length)});let i=t+`.json?icons=`;r=n.maxURL-e-n.path.length-i.length}return r}function Ze(e){return e===404}var Qe=(e,t,n)=>{let r=[],i=Xe(e,t),a=`icons`,o={type:a,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,c)=>{s+=n.length+1,s>=i&&c>0&&(r.push(o),o={type:a,provider:e,prefix:t,icons:[]},s=n.length),o.icons.push(n)}),r.push(o),r};function $e(e){if(typeof e==`string`){let t=J(e);if(t)return t.path}return`/`}var et={prepare:Qe,send:(e,t,n)=>{if(!Y){n(`abort`,424);return}let r=$e(t.provider);switch(t.type){case`icons`:{let e=t.prefix,n=t.icons.join(`,`),i=new URLSearchParams({icons:n});r+=e+`.json?`+i.toString();break}case`custom`:{let e=t.uri;r+=e.slice(0,1)===`/`?e.slice(1):e;break}default:n(`abort`,400);return}let i=503;Y(e+r).then(e=>{let t=e.status;if(t!==200){setTimeout(()=>{n(Ze(t)?`abort`:`next`,t)});return}return i=501,e.json()}).then(e=>{if(typeof e!=`object`||!e){setTimeout(()=>{e===404?n(`abort`,e):n(`next`,i)});return}setTimeout(()=>{n(`success`,e)})}).catch(()=>{n(`next`,i)})}};function tt(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}function nt(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,o=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let o=t.name;if(e.icons[o])a.loaded.push({provider:r,prefix:i,name:o});else if(e.missing.has(o))a.missing.push({provider:r,prefix:i,name:o});else return n=!0,!0;return!1}),a.pending.length!==o&&(n||tt([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}var rt=0;function it(e,t,n){let r=rt++,i=tt.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};return n.forEach(e=>{(e.loaderCallbacks||=[]).push(a)}),i}function at(e){let t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((e,t)=>e.provider===t.provider?e.prefix===t.prefix?e.name.localeCompare(t.name):e.prefix.localeCompare(t.prefix):e.provider.localeCompare(t.provider));let r={provider:``,prefix:``,name:``};return e.forEach(e=>{if(r.name===e.name&&r.prefix===e.prefix&&r.provider===e.provider)return;r=e;let i=e.provider,a=e.prefix,o=e.name,s=n[i]||(n[i]=Object.create(null)),c=s[a]||(s[a]=L(i,a)),l;l=o in c.icons?t.loaded:a===``||c.missing.has(o)?t.missing:t.pending;let u={provider:i,prefix:a,name:o};l.push(u)}),t}function ot(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i=typeof e==`string`?M(e,t,n):e;i&&r.push(i)}),r}var st={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ct(e,t,n,r){let i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index,o;if(e.random){let t=e.resources.slice(0);for(o=[];t.length>1;){let e=Math.floor(Math.random()*t.length);o.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}o=o.concat(t)}else o=e.resources.slice(a).concat(e.resources.slice(0,a));let s=Date.now(),c=`pending`,l=0,u,d=null,f=[],p=[];typeof r==`function`&&p.push(r);function m(){d&&=(clearTimeout(d),null)}function h(){c===`pending`&&(c=`aborted`),m(),f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function g(e,t){t&&(p=[]),typeof e==`function`&&p.push(e)}function _(){return{startTime:s,payload:t,status:c,queriesSent:l,queriesPending:f.length,subscribe:g,abort:h}}function v(){c=`failed`,p.forEach(e=>{e(void 0,u)})}function y(){f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function b(t,n,r){let i=n!==`success`;switch(f=f.filter(e=>e!==t),c){case`pending`:break;case`failed`:if(i||!e.dataAfterTimeout)return;break;default:return}if(n===`abort`){u=r,v();return}if(i){u=r,f.length||(o.length?x():v());return}if(m(),y(),!e.random){let n=e.resources.indexOf(t.resource);n!==-1&&n!==e.index&&(e.index=n)}c=`completed`,p.forEach(e=>{e(r)})}function x(){if(c!==`pending`)return;m();let r=o.shift();if(r===void 0){if(f.length){d=setTimeout(()=>{m(),c===`pending`&&(y(),v())},e.timeout);return}v();return}let i={status:`pending`,resource:r,callback:(e,t)=>{b(i,e,t)}};f.push(i),l++,d=setTimeout(x,e.rotate),n(r,t,i.callback)}return setTimeout(x),_}function lt(e){let t={...st,...e},n=[];function r(){n=n.filter(e=>e().status===`pending`)}function i(e,i,a){let o=ct(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(o),o}function a(e){return n.find(t=>e(t))||null}return{query:i,find:a,setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}function ut(){}var dt=Object.create(null);function ft(e){if(!dt[e]){let t=J(e);if(!t)return;dt[e]={config:t,redundancy:lt(t)}}return dt[e]}function pt(e,t,n){let r,i;if(typeof e==`string`){let t=U(e);if(!t)return n(void 0,424),ut;i=t.send;let a=ft(e);a&&(r=a.redundancy)}else{let t=W(e);if(t){r=lt(t);let n=U(e.resources?e.resources[0]:``);n&&(i=n.send)}}return!r||!i?(n(void 0,424),ut):r.query(t,i,n)().abort}function mt(){}function ht(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,nt(e)}))}function gt(e){let t=[],n=[];return e.forEach(e=>{(e.match(he)?t:n).push(e)}),{valid:t,invalid:n}}function X(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&typeof n==`object`)try{if(!De(e,n).length){r();return}}catch(e){console.error(e)}r(),ht(e)}function _t(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}function vt(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;let{provider:t,prefix:n}=e,r=e.iconsToLoad;if(delete e.iconsToLoad,!r||!r.length)return;let i=e.loadIcon;if(e.loadIcons&&(r.length>1||!i)){_t(e.loadIcons(r,n,t),t=>{X(e,r,t)});return}if(i){r.forEach(r=>{_t(i(r,n,t),t=>{X(e,[r],t?{prefix:n,icons:{[r]:t}}:null)})});return}let{valid:a,invalid:o}=gt(r);if(o.length&&X(e,o,null),!a.length)return;let s=n.match(he)?U(t):null;if(!s){X(e,a,null);return}s.prepare(t,n,a).forEach(n=>{pt(t,n,t=>{X(e,n.icons,t)})})}))}var yt=(e,t)=>{let n=at(ot(e,!0,ke()));if(!n.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(n.loaded,n.missing,n.pending,mt)}),()=>{e=!1}}let r=Object.create(null),i=[],a,o;return n.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===o&&t===a)return;a=t,o=n,i.push(L(t,n));let s=r[t]||(r[t]=Object.create(null));s[n]||(s[n]=[])}),n.pending.forEach(e=>{let{provider:t,prefix:n,name:i}=e,a=L(t,n),o=a.pendingIcons||=new Set;o.has(i)||(o.add(i),r[t][n].push(i))}),i.forEach(e=>{let t=r[e.provider][e.prefix];t.length&&vt(e,t)}),t?it(t,n,i):mt},bt=e=>new Promise((t,n)=>{let r=typeof e==`string`?M(e,!0):e;if(!r){n(e);return}yt([r||e],i=>{if(i.length&&r){let e=z(r);if(e){t({...F,...e});return}}n(e)})});function xt(e,t,n){L(n||``,t).loadIcons=e}function St(e,t){let n={...e};for(let e in t){let r=t[e],i=typeof r;e in je?(r===null||r&&(i===`string`||i===`number`))&&(n[e]=r):i===typeof n[e]&&(n[e]=e===`rotate`?r%4:r)}return n}var Ct=/[\s,]+/;function wt(e,t){t.split(Ct).forEach(t=>{switch(t.trim()){case`horizontal`:e.hFlip=!0;break;case`vertical`:e.vFlip=!0;break}})}function Tt(e,t=0){let n=e.replace(/^-?[0-9.]*/,``);function r(e){for(;e<0;)e+=4;return e%4}if(n===``){let t=parseInt(e);return isNaN(t)?0:r(t)}else if(n!==e){let t=0;switch(n){case`%`:t=25;break;case`deg`:t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t,i%1==0?r(i):0)}}return t}function Et(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function Dt(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function Ot(e){return`data:image/svg+xml,`+Dt(e)}function kt(e){return`url("`+Ot(e)+`")`}var At={...Me,inline:!1},jt={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,"aria-hidden":!0,role:`img`},Mt={display:`inline-block`},Nt={backgroundColor:`currentColor`},Pt={backgroundColor:`transparent`},Ft={Image:`var(--svg)`,Repeat:`no-repeat`,Size:`100% 100%`},It={webkitMask:Nt,mask:Nt,background:Pt};for(let e in It){let t=It[e];for(let n in Ft)t[e+n]=Ft[n]}var Z={};[`horizontal`,`vertical`].forEach(e=>{let t=e.slice(0,1)+`Flip`;Z[e+`-flip`]=t,Z[e.slice(0,1)+`-flip`]=t,Z[e+`Flip`]=t});function Lt(e){return e+(e.match(/^[-0-9.]+$/)?`px`:``)}var Rt=(e,t)=>{let n=St(At,t),r={...jt},i=t.mode||`svg`,a={},o=t.style,s=typeof o==`object`&&!(o instanceof Array)?o:{};for(let e in t){let i=t[e];if(i!==void 0)switch(e){case`icon`:case`style`:case`onLoad`:case`mode`:case`ssr`:case`customise`:break;case`inline`:case`hFlip`:case`vFlip`:n[e]=i===!0||i===`true`||i===1;break;case`flip`:typeof i==`string`&&wt(n,i);break;case`color`:a.color=i;break;case`rotate`:typeof i==`string`?n[e]=Tt(i):typeof i==`number`&&(n[e]=i);break;case`ariaHidden`:case`aria-hidden`:i!==!0&&i!==`true`&&delete r[`aria-hidden`];break;default:{let t=Z[e];t?(i===!0||i===`true`||i===1)&&(n[t]=!0):At[e]===void 0&&(r[e]=i)}}}let c=Be(e,n),l=c.attributes;if(n.inline&&(a.verticalAlign=`-0.125em`),i===`svg`)return r.style={...a,...s},Object.assign(r,l),r.innerHTML=We(c.body),w(`svg`,r);let{body:u,width:d,height:f}=e,p=i===`mask`||i!==`bg`&&u.indexOf(`currentColor`)!==-1,m=Et(u,{...l,width:d+``,height:f+``});return r.style={...a,"--svg":kt(m),width:Lt(l.width),height:Lt(l.height),...Mt,...p?Nt:Pt,...s},w(`span`,r)};if(ke(!0),Ge(``,et),typeof document<`u`&&typeof window<`u`){let e=window;if(e.IconifyPreload!==void 0){let t=e.IconifyPreload,n=`Invalid IconifyPreload syntax.`;typeof t==`object`&&t&&(t instanceof Array?t:[t]).forEach(e=>{try{(typeof e!=`object`||!e||e instanceof Array||typeof e.icons!=`object`||typeof e.prefix!=`string`||!Ae(e))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){let t=e.IconifyProviders;if(typeof t==`object`&&t)for(let e in t){let n=`IconifyProviders[`+e+`] is invalid.`;try{let r=t[e];if(typeof r!=`object`||!r||r.resources===void 0)continue;Ke(e,r)||console.error(n)}catch{console.error(n)}}}}var zt={...F,body:``},Bt=m((e,{emit:t})=>{let i=o(null);function s(){i.value&&=(i.value.abort?.(),null)}let c=o(!!e.ssr),l=o(``),u=a(null);function d(){let n=e.icon;if(typeof n==`object`&&n&&typeof n.body==`string`)return l.value=``,{data:n};let r;if(typeof n!=`string`||(r=M(n,!1,!0))===null)return null;let a=z(r);if(!a){let e=i.value;return(!e||e.name!==n)&&(a===null?i.value={name:n}:i.value={name:n,abort:yt([r],f)}),null}s(),l.value!==n&&(l.value=n,v(()=>{t(`load`,n)}));let o=e.customise;if(o){a=Object.assign({},a);let e=o(a.body,r.name,r.prefix,r.provider);typeof e==`string`&&(a.body=e)}let c=[`iconify`];return r.prefix!==``&&c.push(`iconify--`+r.prefix),r.provider!==``&&c.push(`iconify--`+r.provider),{data:a,classes:c}}function f(){let e=d();e?e.data!==u.value?.data&&(u.value=e):u.value=null}return c.value?f():n(()=>{c.value=!0,f()}),C(()=>e.icon,f),r(s),()=>{let t=u.value;if(!t)return Rt(zt,e);let n=e;return t.classes&&(n={...e,class:t.classes.join(` `)}),Rt({...F,...t.data},n)}},{props:[`icon`,`mode`,`ssr`,`width`,`height`,`style`,`color`,`inline`,`rotate`,`hFlip`,`horizontalFlip`,`vFlip`,`verticalFlip`,`flip`,`id`,`ariaHidden`,`customise`,`title`],emits:[`load`]}),Vt={getAPIConfig:J,setAPIModule:Ge,sendAPIQuery:pt,setFetch:Je,getFetch:Ye,listAPIProviders:qe},Ht=Object.freeze({left:0,top:0,width:16,height:16}),Ut=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Wt=Object.freeze({...Ht,...Ut});Object.freeze({...Wt,body:``,hidden:!1});function Gt(e){let[t,n,r,i]=e;if(r!==i){let e=Math.max(r,i);return[t-(e-r)/2,n-(e-i)/2,e,e]}return e}var Kt=/(-?[0-9.]*[0-9]+[0-9.]*)/g,qt=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Jt(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(Kt);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=qt.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}var Yt=Object.freeze({width:null,height:null}),Xt=Object.freeze({...Yt,...Ut});function Zt(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function Qt(e,t){return e?`<defs>`+e+`</defs>`+t:t}function $t(e,t,n){let r=Zt(e);return Qt(r.defs,t+r.content+n)}var en=e=>e===`unset`||e===`undefined`||e===`none`;function tn(e,t){let n={...Wt,...e},r={...Xt,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=$t(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=Jt(d,c/l)):(u=o===`auto`?c:o,d=s===null?Jt(u,l/c):s===`auto`?l:s);let f={},p=(e,t)=>{en(t)||(f[e]=t.toString())};p(`width`,u),p(`height`,d);let m=[i.left,i.top,c,l];return f.viewBox=m.join(` `),{attributes:f,viewBox:m,body:a}}function nn(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function rn(e){return`data:image/svg+xml,`+nn(e)}function an(e){return`url("`+rn(e)+`")`}function on(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function sn(e){let t=Object.create(null);Object.assign(t,{display:`inline-block`,width:`1em`,height:`1em`});let n=e.varName;switch(e.pseudoSelector&&(t.content=`''`),e.mode){case`background`:n&&(t[`background-image`]=`var(--`+n+`)`),t[`background-repeat`]=`no-repeat`,t[`background-size`]=`100% 100%`;break;case`mask`:t[`background-color`]=`currentColor`,n&&(t[`mask-image`]=t[`-webkit-mask-image`]=`var(--`+n+`)`),t[`mask-repeat`]=t[`-webkit-mask-repeat`]=`no-repeat`,t[`mask-size`]=t[`-webkit-mask-size`]=`100% 100%`;break}return t}function cn(e,t){let n=Object.create(null),r=t.varName,i=tn(e),a=i.viewBox;a[2]!==a[3]&&(t.forceSquare?a=Gt(a):n.width=Jt(`1em`,a[2]/a[3]));let o=an(on(i.body.replace(/currentColor/g,t.color||`black`),{viewBox:`${a[0]} ${a[1]} ${a[2]} ${a[3]}`,width:`${a[2]}`,height:`${a[3]}`}));if(r)n[`--`+r]=o;else switch(t.mode){case`background`:n[`background-image`]=o;break;case`mask`:n[`mask-image`]=n[`-webkit-mask-image`]=o;break}return n}var ln={selectorStart:{compressed:`{`,compact:` {`,expanded:` {`},selectorEnd:{compressed:`}`,compact:`; }
2
+ `,expanded:`;
3
+ }
4
+ `},rule:{compressed:`{key}:`,compact:` {key}: `,expanded:`
5
+ {key}: `}};function un(e,t=`expanded`){let n=[];for(let r=0;r<e.length;r++){let{selector:i,rules:a}=e[r],o=(i instanceof Array?i.join(t===`compressed`?`,`:`, `):i)+ln.selectorStart[t],s=!0;for(let e in a)s||(o+=`;`),o+=ln.rule[t].replace(`{key}`,e)+a[e],s=!1;o+=ln.selectorEnd[t],n.push(o)}return n.join(t===`compressed`?``:`
6
+ `)}function dn(e,t={}){let n=t.customise?t.customise(e.body):e.body,r=t.mode||(t.color||!n.includes(`currentColor`)?`background`:`mask`),i=t.varName;i===void 0&&r===`mask`&&(i=`svg`);let a={...t,mode:r,varName:i};r===`background`&&delete a.varName;let o=Object.create(null);return Object.assign(o,t.rules,sn(a),cn({...Wt,...e,body:n},a)),un([{selector:t.iconSelector||`.icon`,rules:o}],a.format)}var fn=!1;function pn(e){if(fn)return;let t=JSON.parse(`[{"prefix":"lucide","icons":{"arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 5v14m7-7l-7 7l-7-7\\"/>"},"arrow-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m12 19l-7-7l7-7m7 7H5\\"/>"},"arrow-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14m-7-7l7 7l-7 7\\"/>"},"arrow-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m5 12l7-7l7 7m-7 7V5\\"/>"},"arrow-up-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M7 7h10v10M7 17L17 7\\"/>"},"check":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20 6L9 17l-5-5\\"/>"},"chevron-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 9l6 6l6-6\\"/>"},"chevron-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m15 18l-6-6l6-6\\"/>"},"chevron-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m9 18l6-6l-6-6\\"/>"},"chevron-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m18 15l-6-6l-6 6\\"/>"},"chevrons-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m11 17l-5-5l5-5m7 10l-5-5l5-5\\"/>"},"chevrons-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 17l5-5l-5-5m7 10l5-5l-5-5\\"/>"},"circle-alert":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 8v4m0 4h.01\\"/></g>"},"circle-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"m9 12l2 2l4-4\\"/></g>"},"circle-x":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"m15 9l-6 6m0-6l6 6\\"/></g>"},"copy":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"14\\" height=\\"14\\" x=\\"8\\" y=\\"8\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\"/></g>"},"copy-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m12 15l2 2l4-4\\"/><rect width=\\"14\\" height=\\"14\\" x=\\"8\\" y=\\"8\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\"/></g>"},"ellipsis":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"19\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"5\\" cy=\\"12\\" r=\\"1\\"/></g>"},"eye":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0\\"/><circle cx=\\"12\\" cy=\\"12\\" r=\\"3\\"/></g>"},"eye-off":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242\\"/><path d=\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20\\"/></g>"},"file":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\"/><path d=\\"M14 2v5a1 1 0 0 0 1 1h5\\"/></g>"},"folder":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\"/>"},"folder-open":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\\"/>"},"grip-vertical":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"9\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"9\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"9\\" cy=\\"19\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"19\\" r=\\"1\\"/></g>"},"hash":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M4 9h16M4 15h16M10 3L8 21m8-18l-2 18\\"/>"},"info":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 16v-4m0-4h.01\\"/></g>"},"lightbulb":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4\\"/>"},"loader-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M21 12a9 9 0 1 1-6.219-8.56\\"/>"},"menu":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M4 5h16M4 12h16M4 19h16\\"/>"},"minus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14\\"/>"},"monitor":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"20\\" height=\\"14\\" x=\\"2\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M8 21h8m-4-4v4\\"/></g>"},"moon":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\"/>"},"panel-left-close":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M9 3v18m7-6l-3-3l3-3\\"/></g>"},"panel-left-open":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M9 3v18m5-12l3 3l-3 3\\"/></g>"},"plus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14m-7-7v14\\"/>"},"rotate-ccw":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8\\"/><path d=\\"M3 3v5h5\\"/></g>"},"search":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m21 21l-4.34-4.34\\"/><circle cx=\\"11\\" cy=\\"11\\" r=\\"8\\"/></g>"},"square":{"width":24,"height":24,"body":"<rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" rx=\\"2\\"/>"},"star":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\\"/>"},"sun":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"4\\"/><path d=\\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\\"/></g>"},"triangle-alert":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\\"/>"},"upload":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\"/>"},"x":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M18 6L6 18M6 6l12 12\\"/>"}}}]`);for(let n of t)for(let[t,r]of Object.entries(n.icons))e(n.prefix?n.prefix+`:`+t:t,r);fn=!0}async function mn(e,t){if(!e)return null;pn(B);let n=V(e);if(n)return n;let r,i=bt(e).catch(()=>(console.warn(`[Icon] failed to load icon \`${e}\``),null));return t>0?await Promise.race([i,new Promise(n=>{r=setTimeout(()=>{console.warn(`[Icon] loading icon \`${e}\` timed out after ${t}ms`),n()},t)})]).finally(()=>clearTimeout(r)):await i,V(e)}function hn(e){let t=j().icon,n=(t.collections||[]).sort((e,t)=>t.length-e.length);return y(()=>{let r=e(),i=r.startsWith(t.cssSelectorPrefix)?r.slice(t.cssSelectorPrefix.length):r,a=t.aliases?.[i]||i;if(!a.includes(`:`)){let e=n.find(e=>a.startsWith(e+`-`));return e?e+`:`+a.slice(e.length+1):a}return a})}function gn(e,t){if(e!==!1)return e===!0||e===null?t:e}var Q;function _n(e){return e.replace(/([^\w-])/g,`\\$1`)}function vn(){if(Q)return Q;Q=new Set;let e=e=>{if(e=e.replace(/^:where\((.*)\)$/,`$1`).trim(),e.startsWith(`.`))return e},t=n=>{if(n?.length)for(let r of n){r?.cssRules&&t(r.cssRules);let n=r?.selectorText;if(typeof n==`string`){let t=e(n);t&&Q.add(t)}}};if(typeof document<`u`)for(let e of document.styleSheets)try{t(e.cssRules||e.rules)}catch{}return Q}var yn=m({name:`NuxtIconCss`,props:{name:{type:String,required:!0},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e){let t=h(),n=j().icon,r=y(()=>{if(!e.name)return``;let t=n.cssSelectorPrefix+e.name;return typeof e.customize==`function`?t+`--customized-`+pe(e.customize.toString()):t});function i(e){if(!e)return;let n=V(e);if(n)return n;let r=t.payload?.data?.[e];if(r)return B(e,r),r}let a=y(()=>`.`+_n(r.value));function o(t,r=!0){let i=a.value;n.cssWherePseudo&&(i=`:where(${i})`);let o=dn(t,{iconSelector:i,format:`compressed`,customise:gn(e.customize,n.customize)});return n.cssLayer&&r?`@layer ${n.cssLayer} { ${o} }`:o}{let t=vn();async function n(e){if(t.has(a.value)||typeof document>`u`)return;let n=document.createElement(`style`);n.textContent=o(e);let r=document.head.querySelector(`style, link[rel="stylesheet"]`);r?document.head.insertBefore(n,r):document.head.appendChild(n),t.add(a.value)}C(()=>e.name,()=>{if(t.has(a.value))return;let r=i(e.name);r?n(r):mn(e.name,-1).then(e=>{e&&n(e)}).catch(()=>null)},{immediate:!0})}return()=>w(`span`,{class:[`iconify`,r.value]})}});function bn(e,t={}){let n,r=!1,i=[],a,o,c=(t,n)=>{let i=xn(e,t,n);return a=i,i.finally(()=>{if(a=void 0,o&&!r){let e=o;o=void 0,c(t,e)}}),i};return function(...e){return o=e,a||new Promise(a=>{let l=t.leading&&!r;r||(r=!0,s(()=>{r=!1;let a=o??e;o=void 0;let s=t.leading?n:c(this,a);for(let e of i)e(s);i=[]})),l?(n=c(this,e),a(n)):i.push(a)})}}async function xn(e,t,n){return await e.apply(t,n)}m({name:`ServerPlaceholder`,render(){return i(`div`)}});var Sn=Symbol.for(`nuxt:client-only`);m({name:`ClientOnly`,inheritAttrs:!1,props:[`fallback`,`placeholder`,`placeholderTag`,`fallbackTag`],setup(e,{slots:r,attrs:o}){let s=a(!1);n(()=>{s.value=!0});let c=l();return c&&(c._nuxtClientOnly=!0),x(Sn,!0),()=>{if(s.value){let e=r.default?.();return e&&e.length===1?[t(e[0],o)]:e}let n=r.fallback||r.placeholder;if(n)return w(n);let a=e.fallback||e.placeholder||``;return i(ae(e.fallbackTag||e.placeholderTag,`span`),o,a)}}});function Cn(e){return Object.defineProperty(function(){throw E.NUXT_E1007({name:e.name})},"__nuxt_factory",{enumerable:!1,get:()=>e.factory})}var wn=u({docsBase:_,reporters:T}),Tn=Cn({name:`createUseAsyncData`,factory(e={}){function t(...t){let n=typeof t[t.length-1]==`string`?t.pop():void 0;En(t[0],t[1])&&t.unshift(n);let[i,a,o={}]=t,u=!1,f=d(i)||typeof i==`function`,m=f?y(()=>p(i)):{value:i};if(!m.value||typeof m.value!=`string`)throw wn.NUXT_E3008();if(typeof a!=`function`)throw wn.NUXT_E3009();let _=typeof e==`function`,v=h(),b=_?e(o):e;if(!_)for(let e in b)b[e]!==void 0&&o[e]===void 0&&(o[e]=b[e]);if(o.server??=!0,o.default??=An,o.getCachedData??=jn,o.lazy??=!1,o.immediate??=!0,o.deep??=te.deep,o.dedupe??=`cancel`,o.enabled??=!0,_)for(let e in b)b[e]!==void 0&&(o[e]=b[e]);v._asyncData[m.value];function x(){let e={cause:`initial`,dedupe:o.dedupe},t=v._asyncData[m.value];return t?._init?v._asyncDataPromises[m.value]&&(e.cachedData=t._initialCachedData):(e.cachedData=o.getCachedData(m.value,v,{cause:`initial`}),v._asyncData[m.value]=kn(v,m.value,a,o,e.cachedData),v._asyncData[m.value]._initialCachedData=e.cachedData),()=>v._asyncData[m.value].execute(e)}let S=x(),w=v._asyncData[m.value];w._deps++;let T=o.server!==!1&&v.payload.serverRendered;{let e=l();if(e&&T&&o.immediate&&!e.sp&&(e.sp=[]),e&&!e._nuxtOnBeforeMountCbs){e._nuxtOnBeforeMountCbs=[];let t=e._nuxtOnBeforeMountCbs;ne(()=>{t.forEach(e=>{e()}),t.splice(0,t.length)}),r(()=>t.splice(0,t.length))}let t=e&&(e._nuxtClientOnly||ee(Sn,!1));T&&v.isHydrating&&(w.error.value||w.data.value!==void 0)?w.status.value=w.error.value?`error`:`success`:e&&(!t&&v.payload.serverRendered&&v.isHydrating||o.lazy)&&o.immediate?e._nuxtOnBeforeMountCbs.push(S):o.immediate&&w.status.value!==`success`&&S();function n(e){let t=v._asyncData[e];t?._deps&&(t._deps--,t._deps===0&&t?._off())}let i=g(),h=()=>{},_=f?C(m,(e,t)=>{if((e||t)&&e!==t){u=!0;let r=v._asyncData[t]?.data.value!==void 0,i=v._asyncDataPromises[t]!==void 0,c={cause:`initial`,dedupe:o.dedupe};if(!v._asyncData[e]?._init){let n=o.getCachedData(e,v,{cause:`initial`});c.cachedData=n;let i=t&&r&&n===void 0?v._asyncData[t].data.value:n;v._asyncData[e]=kn(v,e,a,o,i),v._asyncData[e]._initialCachedData=n}v._asyncData[e]._deps++,t&&n(t),o._keyTriggersExecute!==!1&&(o.immediate||r||i)&&v._asyncData[e].execute(c),s(()=>{u=!1})}},{flush:`sync`}):h,y=o.watch?C(o.watch,()=>{u||v._asyncData[m.value]?._execute({cause:`watch`,dedupe:o.dedupe})}):h,b=d(o.enabled)||typeof o.enabled==`function`?C(()=>p(o.enabled),e=>{let t=v._asyncData[m.value];e||!t||!v._asyncDataPromises[m.value]||(t._abortController?.abort(new DOMException("AsyncData request cancelled by `enabled: false`",`AbortError`)),t._abortController=void 0,delete v._asyncDataPromises[m.value],t.status.value=`idle`)}):h;i&&c(()=>{_(),y(),b(),n(m.value)})}let E={data:$(()=>v._asyncData[m.value]?.data),pending:$(()=>v._asyncData[m.value]?.pending),status:$(()=>v._asyncData[m.value]?.status),error:$(()=>v._asyncData[m.value]?.error),refresh:(...e)=>v._asyncData[m.value]?._init?v._asyncData[m.value].execute(...e):x()(),execute:(...e)=>E.refresh(...e),clear:()=>{let e=v._asyncData[m.value];if(e?._abortController)try{e._abortController.abort(new DOMException(`AsyncData aborted by user.`,`AbortError`))}finally{e._abortController=void 0}Dn(v,m.value)}},D=Promise.resolve(v._asyncDataPromises[m.value]).then(()=>E);return Object.assign(D,E),Object.defineProperties(D,{then:{enumerable:!0,value:D.then.bind(D)},catch:{enumerable:!0,value:D.catch.bind(D)},finally:{enumerable:!0,value:D.finally.bind(D)}}),D}return t}});Tn.__nuxt_factory(),Tn.__nuxt_factory({lazy:!0,_functionName:`useLazyAsyncData`});function $(e){return y({get(){return e()?.value},set(t){let n=e();n&&(n.value=t)}})}function En(e,t){return!(typeof e==`string`||typeof e==`object`&&e||typeof e==`function`&&typeof t==`function`)}function Dn(e,t){delete e.payload.data[t],delete e.payload._errors[t],e._asyncData[t]&&(e._asyncData[t].data.value=f(e._asyncData[t]._default()),e._asyncData[t].error.value=void 0,e._asyncData[t].status.value=`idle`,e._asyncData[t]._initialCachedData=void 0),delete e._asyncDataPromises[t]}function On(e,t){let n={};for(let r of t)n[r]=e[r];return n}function kn(e,t,n,r,i){e.payload._errors[t]??=void 0;let s=r.getCachedData!==jn,c=n,l=r.deep?o:a,u=i!==void 0,d=e.hook(`app:data:refresh`,async e=>{(!e||e.includes(t))&&await m.execute({cause:`refresh:hook`})}),m={data:l(u?i:r.default()),pending:y(()=>m.status.value===`pending`),error:D(e.payload._errors,t),status:a(`idle`),execute:(...n)=>{let[i,a=void 0]=n,o=i&&a===void 0&&typeof i==`object`?i:{};if(e._asyncDataPromises[t]&&(o.dedupe??r.dedupe)===`defer`)return e._asyncDataPromises[t];{let n=`cachedData`in o?o.cachedData:r.getCachedData(t,e,{cause:o.cause??`refresh:manual`});if(n!==void 0)return e.payload.data[t]=m.data.value=n,m.error.value=void 0,m.status.value=`success`,Promise.resolve(n)}if(p(r.enabled)===!1)return Promise.resolve(m.data.value);m._abortController&&m._abortController.abort(new DOMException(`AsyncData request cancelled by deduplication`,`AbortError`)),m._abortController=new AbortController,m.status.value=`pending`;let s=new AbortController,l=new Promise((t,n)=>{try{let i=o.timeout??r.timeout,a=Mn([m._abortController?.signal,o?.signal],s.signal,i);if(a.aborted){let e=a.reason;n(e instanceof Error?e:new DOMException(String(e??`Aborted`),`AbortError`));return}return a.addEventListener(`abort`,()=>{let e=a.reason;n(e instanceof Error?e:new DOMException(String(e??`Aborted`),`AbortError`))},{once:!0,signal:s.signal}),Promise.resolve(c(e,{signal:a})).then(t,n)}catch(e){n(e)}}).then(async n=>{if(e._asyncDataPromises[t]!==l)return;let i=n;r.transform&&(i=await r.transform(n)),r.pick&&(i=On(i,r.pick)),e.payload.data[t]=i,m.data.value=i,m.error.value=void 0,m.status.value=`success`}).catch(n=>{if(e._asyncDataPromises[t]!==l||m._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<`u`&&n instanceof DOMException&&n.name===`AbortError`)return m.status.value=`idle`,e._asyncDataPromises[t];m.error.value=re(n),m.data.value=f(r.default()),m.status.value=`error`}).finally(()=>{s.abort(),e._asyncDataPromises[t]===l&&delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=l,e._asyncDataPromises[t]},_execute:bn((...e)=>m.execute(...e)),_default:r.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{d(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),e._asyncDataPromises[t]&&(m._abortController?.abort(new DOMException(`AsyncData request cancelled by unmount`,`AbortError`)),delete e._asyncDataPromises[t]),s||v(()=>{e._asyncData[t]?._init||(Dn(e,t),m.execute=()=>Promise.resolve())})}};return m}var An=()=>void 0,jn=(e,t,n)=>{if(t.isHydrating)return t.payload.data[e];if(n.cause!==`refresh:manual`&&n.cause!==`refresh:hook`)return t.static.data[e]};function Mn(e,t,n){let r=e.filter(e=>!!e);if(typeof n==`number`&&n>=0){let e=AbortSignal.timeout?.(n);e&&r.push(e)}if(AbortSignal.any)return AbortSignal.any(r);let i=new AbortController;for(let e of r)if(e.aborted){let t=e.reason??new DOMException(`Aborted`,`AbortError`);try{i.abort(t)}catch{i.abort()}return i.signal}let a=()=>{let e=r.find(e=>e.aborted)?.reason??new DOMException(`Aborted`,`AbortError`);try{i.abort(e)}catch{i.abort()}};for(let e of r)e.addEventListener?.(`abort`,a,{once:!0,signal:t});return i.signal}var Nn=m({name:`NuxtIconSvg`,props:{name:{type:String,required:!0},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e,{slots:t}){let n=h(),r=j().icon,i=hn(()=>e.name),a=`i-`+i.value;if(i.value){let e=n.payload.data[a];e?B(i.value,e):pn(B)}return()=>w(Bt,{icon:i.value,ssr:!0,customise:gn(e.customize,r.customize)},t)}}),Pn=e({default:()=>Fn}),Fn=m({name:`NuxtIcon`,props:{name:{type:String,required:!0},mode:{type:String,required:!1,default:null},size:{type:[Number,String],required:!1,default:null},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e,{slots:t}){let n=h(),r=j().icon,i=hn(()=>e.name),a=y(()=>n.vueApp?.component(i.value)||((e.mode||r.mode)===`svg`?Nn:yn)),o=y(()=>{let t=e.size||r.size;return t?{fontSize:Number.isNaN(+t)?t:t+`px`}:null});return()=>w(a.value,{...r.attrs,name:i.value,class:r.class,style:o.value,customize:e.customize},t)}});export{xt as a,se as c,Ke as i,O as l,Pn as n,j as o,Vt as r,me as s,Fn as t};
@@ -0,0 +1 @@
1
+ import{Ct as e,In as t,Lt as n,Nn as r,Un as i,W as a,a as o,d as s,j as c,o as l,tt as u,yt as d}from"./DUXEQ2Eh.js";import{_t as f,c as p,dt as m,et as h,ft as g,ht as _,it as v,lt as y,n as b,nt as x,o as S,r as C,st as w,t as T,tt as E}from"./DVWtRbHb.js";var D={scrollBehavior(e,t,n){let r=o(),i=v(),a=i.options?.scrollBehaviorType??`auto`;return e.path.replace(/\/$/,``)===t.path.replace(/\/$/,``)?t.hash&&!e.hash?n??{left:0,top:0}:e.hash?{el:e.hash,top:O(e.hash),behavior:a}:!1:(typeof e.meta.scrollToTop==`function`?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===p?k(e,t,n,a):new Promise(o=>{let s=()=>{requestAnimationFrame(()=>{if(i.currentRoute.value.fullPath!==e.fullPath){o(!1);return}o(k(e,t,n,a))})};r.hooks.hookOnce(`page:loading:end`,()=>{let e=r[`~transitionPromise`];e?e.then(s):s()})})}};function O(e){try{let t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function k(e,t,n,r){return n||(e.hash?{el:e.hash,top:O(e.hash),behavior:S(e,t)?r:`instant`}:{left:0,top:0})}var A={hashMode:!1,scrollBehaviorType:`auto`,...D};function j(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function M(e,t=v()){let{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;let i=t._preloadPromises||=[];if(i.length>4)return Promise.all(i).then(()=>M(e,t));t._routePreloaded.add(n);for(let e of r){let t=e.components?.default;if(typeof t!=`function`)continue;let n=Promise.resolve(t()).catch(()=>{}).finally(()=>i.splice(i.indexOf(n),1));i.push(n)}await Promise.all(i)}var N=(...e)=>e.find(e=>e!==void 0);function P(e){let t=e.replace(/[\u0000-\u001F\s]+/g,``);for(;t.toLowerCase().startsWith(`view-source:`);)t=t.slice(12);let n=t.indexOf(`:`);return n>0&&y(t.slice(0,n+1))?null:e}function F(s){let f=s.componentName||`NuxtLink`;function p(e){return typeof e==`string`&&e.startsWith(`#`)}function _(e,t,n){let r=n??s.trailingSlash;if(!e||r!==`append`&&r!==`remove`)return e;if(typeof e==`string`)return L(e,r);let i=`path`in e&&e.path!==void 0?e.path:t(e).path;return{...e,name:void 0,path:L(i,r)}}function y(e){let t=v(),r=l(),a=c(()=>!!i(e.target)&&i(e.target)!==`_self`),o=c(()=>{let t=i(e.to)||i(e.href)||``;return typeof t==`string`&&w(t,{acceptRelative:!0})}),u=n(`RouterLink`),d=u&&typeof u!=`string`?u.useLink:void 0,f=c(()=>{if(i(e.external))return!0;let t=i(e.to)||i(e.href)||``;return typeof t==`object`?!1:t===``||o.value}),h=c(()=>{let n=i(e.to)||i(e.href)||``;return f.value?n:_(n,t.resolve,i(e.trailingSlash))}),g=f.value?void 0:d?.({...e,to:h,viewTransition:i(e.viewTransition)}),y=c(()=>{let n=i(e.trailingSlash)??s.trailingSlash;if(!h.value||o.value||p(h.value)){let e=h.value;return typeof e==`string`?P(e):e}if(f.value){let e=typeof h.value==`object`&&`path`in h.value?x(h.value):h.value,r=typeof e==`object`?t.resolve(e).href:e,i=typeof r==`string`?P(r):r;return i===null?null:L(i,n)}return typeof h.value==`object`?t.resolve(h.value)?.href??null:L(m(r.app.baseURL,h.value),n)});return{to:h,hasTarget:a,isAbsoluteUrl:o,isExternal:f,href:y,isActive:g?.isActive??c(()=>h.value===t.currentRoute.value.path),isExactActive:g?.isExactActive??c(()=>h.value===t.currentRoute.value.path),route:g?.route??c(()=>t.resolve(h.value)),async navigate(t){y.value!==null&&await E(y.value,{replace:i(e.replace),external:f.value||a.value})}}}return a({name:f,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:y,setup(i,{slots:a}){let c=v(),{to:l,href:f,navigate:m,isExternal:_,hasTarget:S,isAbsoluteUrl:w}=y(i),E=t(!1),D=r(null),O=e=>{D.value=i.custom?e?.$el?.nextElementSibling:e?.$el};function k(e){return!!(!E.value&&(typeof i.prefetchOn==`string`?i.prefetchOn===e:i.prefetchOn?.[e]??s.prefetchOn?.[e])&&(i.prefetch??s.prefetch)!==!1&&i.noPrefetch!==!0&&i.target!==`_blank`&&!B())}async function A(e=o()){if(E.value||f.value===null)return;E.value=!0;let t=typeof l.value==`string`?l.value:_.value?x(l.value):c.resolve(l.value).fullPath,n=_.value?new URL(t,window.location.href).href:t;await Promise.all([e.hooks.callHook(`link:prefetch`,n)?.catch(()=>{}),!_.value&&!S.value&&M(l.value,c).catch(()=>{})])}if(!i.custom&&k(`visibility`)){let t=o(),n,r=null;e(()=>{let e=R();T(()=>{n=C(()=>{D?.value?.tagName&&(r=e.observe(D.value,async()=>{r?.(),r=null,await A(t)}))})})}),d(()=>{n&&b(n),r?.(),r=null})}return()=>{let e=i.target||null,t=N(i.noRel?``:i.rel,s.externalRelAttribute,w.value||S.value?`noopener noreferrer`:``)||null,r=n=>({href:f.value,navigate:m,get route(){if(!f.value)return;let e=new URL(f.value,window.location.href);return{path:e.pathname,fullPath:e.pathname,get query(){return g(e.search)},hash:e.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:f.value}},rel:t,target:e,isExternal:_.value||S.value,isActive:!1,isExactActive:!1,...n,prefetch:A,prefetched:E.value,shouldPrefetch:k});if(!_.value&&!S.value&&!p(l.value)){let e={ref:O,to:l.value,activeClass:i.activeClass||s.activeClass,exactActiveClass:i.exactActiveClass||s.exactActiveClass,replace:i.replace,ariaCurrentValue:i.ariaCurrentValue,custom:i.custom};return i.custom||(k(`interaction`)&&(e.onPointerenter=A.bind(null,void 0),e.onFocus=A.bind(null,void 0)),E.value&&(e.class=i.prefetchedClass||s.prefetchedClass),e.rel=i.rel||void 0),u(n(`RouterLink`),e,i.custom&&a.default?{default:e=>a.default(r(e))}:a.default)}return i.custom?a.default?a.default(r()):null:u(`a`,{ref:D,href:f.value||null,rel:t,target:e,onClick:async e=>{if(!(_.value||S.value)){e.preventDefault();try{let e=h(f.value??``);return await(i.replace?c.replace(e):c.push(e))}finally{if(p(l.value)){let e=l.value.slice(1),t=e;try{t=decodeURIComponent(e)}catch{}document.getElementById(t)?.focus()}}}}},a.default?.())}}})}var I=F(s);function L(e,t){if(t!==`append`&&t!==`remove`)return e;let n=t===`append`?_:f;return w(e)&&!e.startsWith(`http`)?e:n(e,!0)}function R(){let e=o();if(e._observer)return e._observer;let t=null,n=new Map;return e._observer={observe:(e,r)=>(t||=new IntersectionObserver(e=>{for(let t of e){let e=n.get(t.target);(t.isIntersecting||t.intersectionRatio>0)&&e&&e()}}),n.set(e,r),t.observe(e),()=>{n.delete(e),t?.unobserve(e),n.size===0&&(t?.disconnect(),t=null)})}}var z=/2g/;function B(){let e=navigator.connection;return!!(e&&(e.saveData||z.test(e.effectiveType)))}export{j as n,A as r,I as t};