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.
- package/README.md +80 -7
- package/dist/commands/install-analyze-skill.d.ts +0 -1
- package/dist/commands/install-analyze-skill.js +15 -12
- package/dist/commands/install-analyze-skill.js.map +1 -1
- package/dist/core/skill-template.js +17 -3
- package/dist/core/skill-template.js.map +1 -1
- package/package.json +8 -3
- package/web/.output/public/200.html +1 -1
- package/web/.output/public/404.html +1 -1
- package/web/.output/public/_nuxt/BDNMzG2s.js +1 -0
- package/web/.output/public/_nuxt/BjDV6v2h.js +1 -0
- package/web/.output/public/_nuxt/CVlqYHPc.js +6 -0
- package/web/.output/public/_nuxt/CuOsDQlp.js +1 -0
- package/web/.output/public/_nuxt/CztOM3Aq.js +28 -0
- package/web/.output/public/_nuxt/D3wuHpM_.js +3 -0
- package/web/.output/public/_nuxt/DK3Fl9T5.js +1 -0
- package/web/.output/public/_nuxt/DUXEQ2Eh.js +3 -0
- package/web/.output/public/_nuxt/DVWtRbHb.js +1 -0
- package/web/.output/public/_nuxt/DeS15jQo.js +1 -0
- package/web/.output/public/_nuxt/XP9RigIT.js +1 -0
- package/web/.output/public/_nuxt/builds/latest.json +1 -1
- package/web/.output/public/_nuxt/builds/meta/f68582c9-55a9-4352-b85a-d7f8de6f7202.json +1 -0
- package/web/.output/public/_nuxt/entry.BlZrUrUl.css +2 -0
- package/web/.output/public/_nuxt/error-404.zKZBzOko.css +1 -0
- package/web/.output/public/_nuxt/error-500.DwXcJPfY.css +1 -0
- package/web/.output/public/_nuxt/lGYp6_9X.js +1 -0
- package/web/.output/public/_nuxt/pages.BDcbBSnU.css +1 -0
- package/web/.output/public/_nuxt/public-sans-latin-400-italic.B1appi_f.woff2 +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-400-italic.DsCWG5h0.woff +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-400-normal.8Rpg0ruU.woff2 +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-400-normal.SBbinRkI.woff +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-500-normal.NlrCPXnF.woff2 +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-500-normal.vCxiVFAq.woff +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-600-normal.BR59oU-I.woff +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-600-normal.Fru-LXNs.woff2 +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-700-normal.BqJmxWdE.woff2 +0 -0
- package/web/.output/public/_nuxt/public-sans-latin-700-normal.Dm-oTPSL.woff +0 -0
- package/web/.output/public/favicon-dark.svg +32 -0
- package/web/.output/public/favicon-light.svg +32 -0
- package/web/.output/public/index.html +1 -1
- package/web/.output/public/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2 +0 -0
- package/web/.output/public/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2 +0 -0
- package/web/.output/public/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2 +0 -0
- package/web/.output/public/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2 +0 -0
- package/web/.output/public/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2 +0 -0
- package/web/.output/public/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2 +0 -0
- package/web/.output/public/_nuxt/B4JKWaDj.js +0 -1
- package/web/.output/public/_nuxt/Bs-RnkRE.js +0 -37
- package/web/.output/public/_nuxt/DjtJytwR.js +0 -1
- package/web/.output/public/_nuxt/DlAUqK2U.js +0 -1
- package/web/.output/public/_nuxt/a71R3CFc.js +0 -1
- package/web/.output/public/_nuxt/builds/meta/bc129b23-5172-4e74-875d-2a24574a5dbe.json +0 -1
- package/web/.output/public/_nuxt/entry.9mB-pyEY.css +0 -1
- package/web/.output/public/_nuxt/error-404.B_PvSG-P.css +0 -1
- package/web/.output/public/_nuxt/error-500.CghkKCEr.css +0 -1
- package/web/.output/public/_nuxt/index.BlvAG7F6.css +0 -1
- package/web/.output/public/favicon.ico +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# renovate-log-parser
|
|
2
2
|
|
|
3
|
+

|
|
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
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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-
|
|
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-
|
|
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
|
|
@@ -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: "
|
|
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
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"install-analyze-skill.js","sourceRoot":"","sources":["../../src/commands/install-analyze-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
209
|
-
|
|
210
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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};
|