From 1832a681026ac3db6e62aa90cb5ed75886ea69ac Mon Sep 17 00:00:00 2001
From: Patrick Kollitsch <davidsneighbourdev+gh@gmail.com>
Date: Sun, 27 Sep 2026 00:00:49 +0000
Subject: [PATCH] build(deps): onboard dnbhq configurations and linting fixes

---
 ananke.code-workspace                           |  102 
 package-lock.json                               | 10682 +++++++++++++++++++++--------------------
 playwright.config.ts                            |   44 
 renovate.json5                                  |    7 
 scripts/synch-social-icons.ts                   | 1238 ++--
 .github/scripts/posterboy.mjs                   |   63 
 tests/support/dev-server.mjs                    |   68 
 .vscode/instructions/shortcodes.instructions.md |   17 
 assets/ananke/css/_code.css                     |    9 
 tests/e2e/accessibility.spec.ts                 |   42 
 biome.json                                      |   11 
 .vscode/prompts/test-hugo-versions.prompt.md    |  300 +
 .github/rulesets/protect-main.json              |   72 
 .release-it.ts                                  |  206 
 lint-staged.config.ts                           |   22 
 scripts/test-hugo-quickstart.ts                 | 1854 +++---
 tests/coverage-gate.mjs                         |   88 
 tests/e2e/copy-button.spec.ts                   |   72 
 .github/rulesets/protect-development.json       |   78 
 assets/ananke/css/_styles.css                   |    5 
 .vscode/settings.json                           |   66 
 assets/ananke/css/_hugo-internal-templates.css  |    8 
 tests/support/prepare-site.mjs                  |   56 
 /dev/null                                       |  133 
 assets/ananke/css/_social-icons.css             |    6 
 tsconfig.json                                   |   38 
 package.json                                    |  177 
 27 files changed, 7,923 insertions(+), 7,541 deletions(-)

diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 4cb74d9..0000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-################################################################################
-# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
-################################################################################
-version: 2
-updates:
-  - package-ecosystem: npm
-    directory: /
-    schedule:
-      interval: monthly
-      day: friday
-      time: "18:00"
-      timezone: Asia/Bangkok
-    cooldown:
-      default-days: 14
-      semver-major-days: 14
-      semver-minor-days: 7
-      semver-patch-days: 4
-    assignees:
-      - davidsneighbour
-    target-branch: development
-    open-pull-requests-limit: 999
-    pull-request-branch-name:
-      separator: /
-    labels:
-      - type:dependencies
-
-  - package-ecosystem: gomod
-    directory: /
-    schedule:
-      interval: monthly
-      day: friday
-      time: "18:00"
-      timezone: Asia/Bangkok
-    cooldown:
-      default-days: 14
-      semver-major-days: 14
-      semver-minor-days: 7
-      semver-patch-days: 4
-    assignees:
-      - davidsneighbour
-    target-branch: development
-    open-pull-requests-limit: 999
-    pull-request-branch-name:
-      separator: /
-    labels:
-      - type:dependencies
-
-  - package-ecosystem: github-actions
-    directory: /
-    schedule:
-      interval: monthly
-      day: friday
-      time: "18:00"
-      timezone: Asia/Bangkok
-    cooldown:
-      default-days: 7
-    assignees:
-      - davidsneighbour
-    target-branch: development
-    open-pull-requests-limit: 999
-    pull-request-branch-name:
-      separator: /
-    labels:
-      - type:dependencies
diff --git a/.github/rulesets/protect-development.json b/.github/rulesets/protect-development.json
index 4e89536..c34f0f4 100644
--- a/.github/rulesets/protect-development.json
+++ b/.github/rulesets/protect-development.json
@@ -1,41 +1,41 @@
 {
-	"id": 15502619,
-	"name": "protect-development",
-	"target": "branch",
-	"source_type": "Repository",
-	"source": "gohugo-ananke/ananke",
-	"enforcement": "active",
-	"conditions": {
-		"ref_name": {
-			"exclude": [],
-			"include": ["refs/heads/development"]
-		}
-	},
-	"rules": [
-		{
-			"type": "deletion"
-		},
-		{
-			"type": "non_fast_forward"
-		},
-		{
-			"type": "pull_request",
-			"parameters": {
-				"required_approving_review_count": 0,
-				"dismiss_stale_reviews_on_push": true,
-				"required_reviewers": [],
-				"require_code_owner_review": false,
-				"require_last_push_approval": false,
-				"required_review_thread_resolution": true,
-				"allowed_merge_methods": ["squash"]
-			}
-		}
-	],
-	"bypass_actors": [
-		{
-			"actor_id": 17174680,
-			"actor_type": "Team",
-			"bypass_mode": "always"
-		}
-	]
+  "id": 15502619,
+  "name": "protect-development",
+  "target": "branch",
+  "source_type": "Repository",
+  "source": "gohugo-ananke/ananke",
+  "enforcement": "active",
+  "conditions": {
+    "ref_name": {
+      "exclude": [],
+      "include": ["refs/heads/development"]
+    }
+  },
+  "rules": [
+    {
+      "type": "deletion"
+    },
+    {
+      "type": "non_fast_forward"
+    },
+    {
+      "type": "pull_request",
+      "parameters": {
+        "required_approving_review_count": 0,
+        "dismiss_stale_reviews_on_push": true,
+        "required_reviewers": [],
+        "require_code_owner_review": false,
+        "require_last_push_approval": false,
+        "required_review_thread_resolution": true,
+        "allowed_merge_methods": ["squash"]
+      }
+    }
+  ],
+  "bypass_actors": [
+    {
+      "actor_id": 17174680,
+      "actor_type": "Team",
+      "bypass_mode": "always"
+    }
+  ]
 }
diff --git a/.github/rulesets/protect-main.json b/.github/rulesets/protect-main.json
index 8a1ed17..3e76c8d 100644
--- a/.github/rulesets/protect-main.json
+++ b/.github/rulesets/protect-main.json
@@ -1,38 +1,38 @@
 {
-	"id": 15502478,
-	"name": "protect-main",
-	"target": "branch",
-	"source_type": "Repository",
-	"source": "gohugo-ananke/ananke",
-	"enforcement": "active",
-	"conditions": {
-		"ref_name": {
-			"exclude": [],
-			"include": ["refs/heads/main"]
-		}
-	},
-	"rules": [
-		{
-			"type": "deletion"
-		},
-		{
-			"type": "non_fast_forward"
-		},
-		{
-			"type": "pull_request",
-			"parameters": {
-				"required_approving_review_count": 0,
-				"dismiss_stale_reviews_on_push": false,
-				"required_reviewers": [],
-				"require_code_owner_review": false,
-				"require_last_push_approval": false,
-				"required_review_thread_resolution": false,
-				"allowed_merge_methods": ["merge", "squash", "rebase"]
-			}
-		},
-		{
-			"type": "required_linear_history"
-		}
-	],
-	"bypass_actors": []
+  "id": 15502478,
+  "name": "protect-main",
+  "target": "branch",
+  "source_type": "Repository",
+  "source": "gohugo-ananke/ananke",
+  "enforcement": "active",
+  "conditions": {
+    "ref_name": {
+      "exclude": [],
+      "include": ["refs/heads/main"]
+    }
+  },
+  "rules": [
+    {
+      "type": "deletion"
+    },
+    {
+      "type": "non_fast_forward"
+    },
+    {
+      "type": "pull_request",
+      "parameters": {
+        "required_approving_review_count": 0,
+        "dismiss_stale_reviews_on_push": false,
+        "required_reviewers": [],
+        "require_code_owner_review": false,
+        "require_last_push_approval": false,
+        "required_review_thread_resolution": false,
+        "allowed_merge_methods": ["merge", "squash", "rebase"]
+      }
+    },
+    {
+      "type": "required_linear_history"
+    }
+  ],
+  "bypass_actors": []
 }
diff --git a/.github/scripts/posterboy.mjs b/.github/scripts/posterboy.mjs
index b55febd..a5f5808 100644
--- a/.github/scripts/posterboy.mjs
+++ b/.github/scripts/posterboy.mjs
@@ -1,14 +1,14 @@
-import { readFile, writeFile, access, mkdir } from 'node:fs/promises';
-import path from 'node:path';
-import fs from 'node:fs';
-import dotenv from 'dotenv';
-import { homedir } from 'node:os';
+import fs from "node:fs";
+import { access, mkdir, readFile, writeFile } from "node:fs/promises";
+import { homedir } from "node:os";
+import path from "node:path";
+import dotenv from "dotenv";
 
 const userHomeDir = homedir();
 
 // Load .env files
-const GLOBAL_ENV_PATH = path.join(userHomeDir, '.env');
-const LOCAL_ENV_PATH = path.resolve('.env');
+const GLOBAL_ENV_PATH = path.join(userHomeDir, ".env");
+const LOCAL_ENV_PATH = path.resolve(".env");
 
 /**
  * Load environment variables from a file if it exists.
@@ -28,13 +28,14 @@
 process.env = { ...globalEnv, ...process.env, ...localEnv };
 
 // Configurable values
-const DISCORD_WEBHOOK = process.env.DISCORD_WEBHOOK || '';
-const GITHUB_DEV_TOKEN = process.env.GITHUB_DEV_TOKEN || '';
-const GITHUB_REPO = process.env.GITHUB_REPO || 'gohugo-ananke/ananke';
-const DEFAULT_MESSAGE_TEMPLATE = 'New release: {{tag_name}} - {{html_url}}';
-const MESSAGE_TEMPLATE = process.env.MESSAGE_TEMPLATE || DEFAULT_MESSAGE_TEMPLATE;
-const CACHE_DIR = './cache';
-const CACHE_FILE = 'github-releases.json';
+const DISCORD_WEBHOOK = process.env.DISCORD_WEBHOOK || "";
+const GITHUB_DEV_TOKEN = process.env.GITHUB_DEV_TOKEN || "";
+const GITHUB_REPO = process.env.GITHUB_REPO || "gohugo-ananke/ananke";
+const DEFAULT_MESSAGE_TEMPLATE = "New release: {{tag_name}} - {{html_url}}";
+const MESSAGE_TEMPLATE =
+  process.env.MESSAGE_TEMPLATE || DEFAULT_MESSAGE_TEMPLATE;
+const CACHE_DIR = "./cache";
+const CACHE_FILE = "github-releases.json";
 const CACHE_FILE_PATH = path.join(CACHE_DIR, CACHE_FILE);
 
 /**
@@ -60,7 +61,7 @@
  */
 async function readCache() {
   try {
-    const data = await readFile(CACHE_FILE_PATH, 'utf8');
+    const data = await readFile(CACHE_FILE_PATH, "utf8");
     return JSON.parse(data) || [];
   } catch {
     return [];
@@ -81,11 +82,14 @@
  */
 async function fetchLatestRelease() {
   try {
-    const response = await fetch('https://api.github.com/repos/' + GITHUB_REPO + '/releases', {
-      headers: {
-        Authorization: `token ${GITHUB_DEV_TOKEN}`,
+    const response = await fetch(
+      "https://api.github.com/repos/" + GITHUB_REPO + "/releases",
+      {
+        headers: {
+          Authorization: `token ${GITHUB_DEV_TOKEN}`,
+        },
       },
-    });
+    );
 
     if (!response.ok) {
       throw new Error(`GitHub API request failed: ${response.statusText}`);
@@ -93,13 +97,13 @@
 
     const releases = await response.json();
     if (!Array.isArray(releases) || releases.length === 0) {
-      console.log('No releases found.');
+      console.log("No releases found.");
       return null;
     }
 
     return releases[0];
   } catch (err) {
-    console.error('Failed to fetch releases:', err.message);
+    console.error("Failed to fetch releases:", err.message);
     return null;
   }
 }
@@ -111,8 +115,8 @@
 async function postToDiscord(message) {
   try {
     const response = await fetch(DISCORD_WEBHOOK, {
-      method: 'POST',
-      headers: { 'Content-Type': 'application/json' },
+      method: "POST",
+      headers: { "Content-Type": "application/json" },
       body: JSON.stringify({ content: message }),
     });
 
@@ -120,9 +124,9 @@
       throw new Error(`Failed to post to Discord: ${response.statusText}`);
     }
 
-    console.log('Posted to Discord successfully.');
+    console.log("Posted to Discord successfully.");
   } catch (err) {
-    console.error('Failed to post to Discord:', err.message);
+    console.error("Failed to post to Discord:", err.message);
   }
 }
 
@@ -132,7 +136,10 @@
  * @returns {string}
  */
 function formatMessage(releaseData) {
-  return MESSAGE_TEMPLATE.replace(/{{\s*(\w+)\s*}}/g, (_, key) => releaseData[key] || '');
+  return MESSAGE_TEMPLATE.replace(
+    /{{\s*(\w+)\s*}}/g,
+    (_, key) => releaseData[key] || "",
+  );
 }
 
 /**
@@ -152,10 +159,10 @@
       cachedIds.push(latestRelease.tag_name);
       await writeCache(cachedIds);
     } else {
-      console.log('No new releases to post.');
+      console.log("No new releases to post.");
     }
   } catch (err) {
-    console.error('Error:', err.message);
+    console.error("Error:", err.message);
   }
 }
 
diff --git a/.lintstagedrc.js b/.lintstagedrc.js
deleted file mode 100644
index 15b4004..0000000
--- a/.lintstagedrc.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// @see https://github.com/lint-staged/lint-staged
-
-/**
- * @filename: .lintstagedrc.js
- * @type {import('lint-staged').Configuration}
- */
-export default {
-	"*.{json,jsonc}": ["biome check --write --staged"],
-	".github/{workflows/**/*.y(a?)ml,dependabot.yml}": ["zizmor --no-exit-codes"],
-	"package-lock.json": [
-		"lockfile-lint --path package-lock.json --validate-https --allowed-hosts npm",
-	],
-	"*.{ts,tsx,(m|c)js,jsx}": (/** @type {string[]} */ files) => {
-		return [`biome check --write --no-errors-on-unmatched ${files.join(" ")}`];
-	},
-	"*.yaml": ["yamllint -c .yamllint.yml"],
-	// '*.{scss,css}': ['stylelint --fix', "prettier --write"],
-	// '*.{png,jpeg,jpg,gif,svg}': [
-	//   'imagemin-lint-staged' // @davidsneighbour/imagemin-lint-staged
-	// ],
-	"!(CHANGELOG)**/*.{md,markdown}": [
-		// 'npm run lint:links',
-		"npm run lint:markdown:fix",
-	],
-	// 'layouts/**/*.*': [
-	//   './bin/hugo/refactor layouts'
-	// ],
-};
diff --git a/.markdownlint.jsonc b/.markdownlint.jsonc
deleted file mode 100644
index 6bb66af..0000000
--- a/.markdownlint.jsonc
+++ /dev/null
@@ -1,133 +0,0 @@
-{
-	"$schema": "https://github.com/DavidAnson/markdownlint/blob/main/schema/markdownlint-config-schema.json",
-	"$id": "https://raw.githubusercontent.com/davidsneighbour/kollitsch.dev/refs/heads/main/src/config/.markdownlint.jsonc",
-	"default": true,
-	"customRules": [
-		"@github/markdownlint-github",
-		"markdownlint-rule-relative-links",
-		"markdownlint-rule-search-replace",
-		"markdownlint-rule-extended-ascii",
-		"markdownlint-rule-title-case-style",
-		"markdownlint-rule-list-duplicates"
-	],
-	// Rules
-	// unlisted rules are using default settings (usually "true")
-	// @see https://github.com/DavidAnson/markdownlint/#rules--aliases
-	"MD001": {
-		"severity": "error",
-		"front_matter_title": "^\\s*title\\s*[:=]"
-	},
-	"MD003": {
-		"style": "atx"
-	},
-	"MD004": {
-		"style": "asterisk"
-	},
-	"MD005": true,
-	"MD007": {
-		"indent": 2
-	},
-	// NO limitation on line length
-	"MD013": false,
-	// ignored rule for closed atx headings
-	"MD020": false,
-	// ignored rule for closed atx headings
-	"MD021": false,
-	// disallow multiple headings with the same content within the same level structure
-	"MD024": {
-		"siblings_only": true,
-		"allow_different_nesting": true
-	},
-	// no inline HTML elements, except for the allowed ones. in tables only the explicit allowed ones
-	"MD033": {
-		"allowed_elements": ["lite-youtube", "color-grid", "date-diff", "kbd"],
-		"table_allowed_elements": ["kbd"]
-	},
-	// use consistent rule markers (`---`)
-	"MD035": {
-		"style": "---"
-	},
-	// unused header structure rule
-	"MD043": false,
-	// unused spelling enforcement
-	"MD044": false,
-	// fenced code blocks style
-	"MD046": {
-		"style": "fenced"
-	},
-	// code blocks must use backticks instead of tildes
-	"MD048": {
-		"style": "backtick"
-	},
-	// emphasis must use asterisks `*` instead of underscores `_`
-	"MD049": {
-		"style": "asterisk"
-	},
-	// strong style must use double asterisks `**` instead of double underscores `__`
-	"MD050": {
-		"style": "asterisk"
-	},
-	// links must not be auto links, all other link formats are allowed
-	"MD054": {
-		"autolink": false
-	},
-	// table pipes must be used before and after each table row
-	"MD055": {
-		"style": "leading_and_trailing"
-	},
-	// generic linktexts are prohibited
-	"MD059": {
-		"prohibited_texts": ["click here", "here", "link", "more"]
-	},
-	// table style must be compact (single spaces around cell content)
-	"MD060": {
-		"style": "compact"
-	},
-	// @see https://www.npmjs.com/package/@github/markdownlint-github
-	// images should not contain default alternate texts
-	"GH001": true,
-	// links should not contain generic text ('click here', 'read more', etc.)
-	"GH002": {
-		"additional_banned_texts": ["Something", "Click here"]
-	},
-	// no empty alt texts for images
-	"GH003": true,
-	// @see https://www.npmjs.com/package/markdownlint-rule-relative-links
-	"relative-links": {
-		"root_path": "../.."
-	},
-	// @see https://www.npmjs.com/package/markdownlint-rule-search-replace
-	"search-replace": {
-		"rules": [
-			{
-				"name": "ellipsis",
-				"message": "Do not use three dots '...' for ellipsis.",
-				"information": "https://example.com/rules/ellipsis",
-				"search": "...",
-				"replace": "…",
-				"searchScope": "text"
-			},
-			{
-				"name": "curly-double-quotes",
-				"message": "Do not use curly double quotes.",
-				"searchPattern": "/“|”/g",
-				"replace": "\""
-			}
-		]
-	},
-	// @see https://www.npmjs.com/package/markdownlint-rule-extended-ascii
-	"extended-ascii": {
-		"ascii-only": true
-	},
-	// @see https://www.npmjs.com/package/markdownlint-rule-title-case-style
-	"title-case-style": {
-		// letter case style to apply
-		//
-		// "sentence" or "title" (default: sentence)
-		"case": "sentence",
-		// words to ignore when applying letter case.
-		//
-		// string[] (default: [])
-		"ignore": ["JavaScript"]
-	}
-}
diff --git a/.release-it.ts b/.release-it.ts
index c0e791d..583766c 100644
--- a/.release-it.ts
+++ b/.release-it.ts
@@ -1,154 +1,92 @@
 import { execSync } from "node:child_process";
+import { createReleaseConfig } from "@dnbhq/release-config";
 import type { Config } from "release-it";
 
-interface ConventionalCommitLike {
-	type?: string;
-	notes?: unknown[];
-}
-
 function getCurrentBranch(): string {
-	try {
-		return execSync("git rev-parse --abbrev-ref HEAD", {
-			encoding: "utf8",
-			stdio: ["ignore", "pipe", "pipe"],
-		}).trim();
-	} catch (error: unknown) {
-		console.error("Failed to determine the current Git branch.");
-		console.error(error);
-		process.exit(1);
-	}
+  try {
+    return execSync("git rev-parse --abbrev-ref HEAD", {
+      encoding: "utf8",
+      stdio: ["ignore", "pipe", "pipe"],
+    }).trim();
+  } catch (error: unknown) {
+    console.error("Failed to determine the current Git branch.");
+    console.error(error);
+    process.exit(1);
+  }
 }
 
 function isPreReleaseRun(argv: string[]): boolean {
-	return argv.some((argument) => {
-		return (
-			argument === "--preRelease" ||
-			argument.startsWith("--preRelease=") ||
-			argument === "--preReleaseId" ||
-			argument.startsWith("--preReleaseId=")
-		);
-	});
+  return argv.some((argument) => {
+    return (
+      argument === "--preRelease" ||
+      argument.startsWith("--preRelease=") ||
+      argument === "--preReleaseId" ||
+      argument.startsWith("--preReleaseId=")
+    );
+  });
 }
 
 const currentBranch = getCurrentBranch();
 const preReleaseRun = isPreReleaseRun(process.argv);
 
 if (preReleaseRun && currentBranch !== "development") {
-	console.error(
-		`Pre-releases are only allowed on "development". Current branch: "${currentBranch}".`,
-	);
-	process.exit(1);
+  console.error(
+    `Pre-releases are only allowed on "development". Current branch: "${currentBranch}".`,
+  );
+  process.exit(1);
 }
 
 if (!preReleaseRun && currentBranch !== "main") {
-	console.error(
-		`Stable releases are only allowed on "main". Current branch: "${currentBranch}".`,
-	);
-	process.exit(1);
+  console.error(
+    `Stable releases are only allowed on "main". Current branch: "${currentBranch}".`,
+  );
+  process.exit(1);
 }
 
-const config = {
-	npm: {
-		publish: false,
-	},
-	git: {
-		requireCleanWorkingDir: true,
-		requireBranch: currentBranch,
-		commit: true,
-		commitMessage: "chore(release): v${version}",
-		commitArgs: ["--no-verify"],
-		tag: true,
-		tagName: "v${version}",
-		push: true,
-		pushArgs: ["--follow-tags"],
-	},
-	github: {
-		release: true,
-		releaseName: "Release v${version}",
-		skipChecks: true,
-		tokenRef: "GITHUB_ANANKE_TOKEN_ADMIN_PRIVATE",
-		comments: {
-			submit: true,
-		},
-		discussionCategoryName: "1-release-notes",
-	},
-	plugins: {
-		"@release-it/conventional-changelog": {
-			infile: "CHANGELOG.md",
-			preset: {
-				name: "conventionalcommits",
-				commitUrlFormat:
-					"https://github.com/gohugo-ananke/ananke/commit/{{hash}}",
-				compareUrlFormat:
-					"https://github.com/gohugo-ananke/ananke/compare/{{previousTag}}...{{currentTag}}",
-				types: [
-					{ type: "feat", section: "Features" },
-					{ type: "fix", section: "Bug Fixes" },
-					{ type: "build", section: "Build" },
-					{ type: "chore", section: "Chores" },
-					{ type: "ci", section: "CI" },
-					{ type: "docs", section: "Documentation" },
-					{ type: "perf", section: "Performance" },
-					{ type: "refactor", section: "Refactoring" },
-					{ type: "revert", section: "Reverts" },
-					{ type: "style", section: "Styles" },
-					{ type: "test", section: "Tests" },
-					{ type: "ai", section: "AI Instruction Files" },
-				],
-			},
-			whatBump(commits: ConventionalCommitLike[]) {
-				let level: 2 | 1 | 0 | null = null;
-
-				for (const commit of commits) {
-					const notes = Array.isArray(commit.notes) ? commit.notes : [];
-					const type = typeof commit.type === "string" ? commit.type : "";
-
-					if (notes.length > 0) {
-						return {
-							level: 0,
-							reason: "There are BREAKING CHANGES.",
-						};
-					}
-
-					if (type === "feat") {
-						level = 1;
-						continue;
-					}
-
-					if (
-						level === null &&
-						[
-							"fix",
-							"build",
-							"chore",
-							"ci",
-							"docs",
-							"perf",
-							"refactor",
-							"revert",
-							"style",
-							"test",
-							"ai",
-						].includes(type)
-					) {
-						level = 2;
-					}
-				}
-
-				if (level === null) {
-					return false;
-				}
-
-				return {
-					level,
-					reason:
-						level === 1
-							? "There are feature commits."
-							: "There are patch-level changes.",
-				};
-			},
-		},
-	},
-} satisfies Config;
+const config: Config = createReleaseConfig({
+  githubTokenRef: "GITHUB_ANANKE_TOKEN_ADMIN_PRIVATE",
+  scopes: {
+    minorTypes: ["feat"],
+    patchTypes: [
+      "fix",
+      "build",
+      "chore",
+      "ci",
+      "docs",
+      "perf",
+      "refactor",
+      "revert",
+      "style",
+      "test",
+      "ai",
+    ],
+  },
+  overrides: {
+    git: {
+      requireCleanWorkingDir: true,
+      requireBranch: currentBranch,
+      commit: true,
+      // biome-ignore lint/suspicious/noTemplateCurlyInString: release-it expands this placeholder.
+      commitMessage: "chore(release): v${version}",
+      commitArgs: ["--no-verify"],
+      tag: true,
+      // biome-ignore lint/suspicious/noTemplateCurlyInString: release-it expands this placeholder.
+      tagName: "v${version}",
+      push: true,
+      pushArgs: ["--follow-tags"],
+    },
+    github: {
+      release: true,
+      // biome-ignore lint/suspicious/noTemplateCurlyInString: release-it expands this placeholder.
+      releaseName: "Release v${version}",
+      skipChecks: true,
+      tokenRef: "GITHUB_ANANKE_TOKEN_ADMIN_PRIVATE",
+      comments: {
+        submit: true,
+      },
+      discussionCategoryName: "1-release-notes",
+    },
+  },
+});
 
 export default config;
diff --git a/.vscode/instructions/shortcodes.instructions.md b/.vscode/instructions/shortcodes.instructions.md
new file mode 100644
index 0000000..95c4121
--- /dev/null
+++ b/.vscode/instructions/shortcodes.instructions.md
@@ -0,0 +1,17 @@
+---
+title: "Shortcodes"
+applyTo: "layouts/_shortcodes/**/*.html"
+description: This file describes the code style for shortcodes in the project.
+---
+
+* DO use [InnerDeindent](https://gohugo.io/functions/innerdeindent/) to format the content of shortcodes. This will remove any common leading whitespace from the content, making it easier to read and maintain. Markdown linting will warn/error on indented code blocks and force the user to use backticks instead.
+
+* DO accept both named and positional parameters in the shortcode.
+
+* DO use [IsNamedParams](https://gohugo.io/methods/shortcode/isnamedparams/) to check if the shortcode is being called with named parameters. This will allow you to handle both named and positional parameters in your shortcode.
+
+* DO use [Page](https://gohugo.io/methods/shortcode/page/) and [Site](https://gohugo.io/methods/shortcode/site/) from the shortcode context to access page and site variables.
+
+* DO NOT add any strings that are part of the output to the shortcode. These strings must be defined ino the i18n/en.toml file and accessed using the [`language.Translate`](https://gohugo.io/functions/lang/translate/) function.
+
+* DO add documentation of all new or changed features in shortcodes in the documentation repository.
diff --git a/.vscode/prompts/test-hugo-versions.prompt.md b/.vscode/prompts/test-hugo-versions.prompt.md
new file mode 100644
index 0000000..45185f6
--- /dev/null
+++ b/.vscode/prompts/test-hugo-versions.prompt.md
@@ -0,0 +1,300 @@
+---
+description: Test an Ananke website against multiple local Hugo versions
+---
+
+# Test ananke websites with local hugo versions
+
+Use these instructions when testing an Ananke-based website against multiple local Hugo binaries.
+
+The goal is to verify that the website builds correctly across a requested Hugo version range, collect full logs per Hugo version, and compare output differences, warnings, and errors.
+
+## Hugo executable location
+
+Assume Hugo binaries are stored in:
+
+`~/github.com/davidsneighbour/hugov/executables/`
+
+The binary names follow this pattern:
+
+```text
+hugo-v0.162.1
+hugo-v0.162.1-extended
+```
+
+Only use the **non-extended** Hugo binaries for these tests.
+
+Do not use binaries ending in:
+
+```text
+-extended
+```
+
+## Version range interpretation
+
+When the user says something like:
+
+```text
+test between 160 and 162
+```
+
+interpret it as:
+
+```text
+v0.160.0 <= version < v0.163.0
+```
+
+In other words:
+
+* `160` means all available `v0.160.x` versions.
+* `161` means all available `v0.161.x` versions.
+* `162` means all available `v0.162.x` versions.
+* Include every patch version found locally in that range.
+* Do not invent missing versions.
+* Do not download Hugo versions.
+* Only test versions that exist as local non-extended binaries.
+
+Examples:
+
+```text
+test between 160 and 162
+```
+
+should include binaries such as:
+
+```text
+hugo-v0.160.0
+hugo-v0.160.1
+hugo-v0.161.0
+hugo-v0.162.0
+hugo-v0.162.1
+```
+
+but only if they exist locally.
+
+It must exclude:
+
+```text
+hugo-v0.160.0-extended
+hugo-v0.162.1-extended
+```
+
+## Required test workflow
+
+Run the test from the root of the Ananke website repository unless the user explicitly gives another path.
+
+For each matching Hugo binary:
+
+1. Resolve the absolute path of the Hugo binary.
+2. Extract the semantic version from the filename.
+3. Run the Hugo build command using that binary.
+4. Capture stdout and stderr.
+5. Store the full output in a log file.
+6. Record the exit status.
+7. Record warnings.
+8. Record errors.
+9. Compare the generated output and command output across all tested versions.
+10. Summarise differences.
+
+## Log directory
+
+Store logs in:
+
+```text
+~/.logs/ananke-hugo-tests/
+```
+
+Create the directory if it does not exist.
+
+Each test run should create a timestamped run directory:
+
+```text
+~/.logs/ananke-hugo-tests/YYYYMMDD-HHMMSS/
+```
+
+Inside that directory, write one log file per Hugo version.
+
+Use filenames sorted naturally by version:
+
+```text
+hugo-v0.160.0.log
+hugo-v0.160.1.log
+hugo-v0.161.0.log
+hugo-v0.162.1.log
+```
+
+Also create a summary file:
+
+```text
+summary.md
+```
+
+The summary file must include:
+
+* tested repository path
+* test timestamp
+* requested version range
+* resolved Hugo binaries
+* command used per version
+* exit status per version
+* warning count per version
+* error count per version
+* output differences
+* build output differences
+* final judgement
+
+## Hugo command
+
+Use this default command unless the user requests another one:
+
+```bash
+hugo --gc --minify
+```
+
+Before each Hugo run, remove the generated output directory if it exists.
+
+Default output directory:
+
+```text
+public/
+```
+
+This prevents stale output from one version affecting another version.
+
+## Build output isolation
+
+Each Hugo version must build into its own output directory so that generated files can be compared.
+
+Use this pattern:
+
+```text
+.tmp/hugo-version-tests/v0.162.1/public/
+```
+
+Run Hugo with:
+
+```bash
+hugo --gc --minify --destination ".tmp/hugo-version-tests/v0.162.1/public"
+```
+
+Before each run, remove that version's output directory.
+
+Do not remove unrelated folders.
+
+## Comparison requirements
+
+After all builds finish, compare:
+
+1. Exit status
+2. stdout and stderr
+3. warnings
+4. errors
+5. generated file lists
+6. generated file contents
+
+The comparison must identify:
+
+* versions that failed
+* versions that passed
+* warnings that appear only in specific versions
+* errors that appear only in specific versions
+* files generated by one version but missing in another
+* files with changed contents
+* relevant differences in generated HTML, CSS, JS, XML, JSON, and text files
+
+Ignore irrelevant noise where appropriate, such as:
+
+* timestamps generated by the build
+* absolute temporary paths
+* known cache paths
+* ordering differences that do not change generated output
+
+Do not hide real build differences.
+
+## Warning and error detection
+
+Scan logs case-insensitively for lines containing:
+
+```text
+warning
+warn
+error
+failed
+deprecated
+panic
+timeout
+```
+
+List matching lines grouped by Hugo version.
+
+When warnings or errors repeat across all versions, list them once and mark them as shared.
+
+When warnings or errors only happen in some versions, highlight the affected versions.
+
+## Required final response format
+
+When reporting results, use this structure:
+
+```markdown
+## Hugo version test summary
+
+Repository: `...`
+
+Requested range: `...`
+
+Resolved Hugo versions:
+
+* `v0.160.0` - passed
+* `v0.160.1` - passed
+* `v0.161.0` - failed
+* `v0.162.1` - passed
+
+## Issues
+
+### Errors
+
+* `v0.161.0`: ...
+
+### Warnings
+
+* Shared across all versions: ...
+* `v0.162.1` only: ...
+
+## Output differences
+
+### File list differences
+
+* `v0.160.0` generated `...`, but `v0.162.1` did not.
+
+### File content differences
+
+* `public/index.html` differs between `v0.160.0` and `v0.162.1`.
+  * Difference: ...
+
+## Logs
+
+Logs were written to:
+
+`~/.logs/ananke-hugo-tests/YYYYMMDD-HHMMSS/`
+
+Summary file:
+
+`~/.logs/ananke-hugo-tests/YYYYMMDD-HHMMSS/summary.md`
+
+## Final judgement
+
+...
+```
+
+## Behaviour rules
+
+* Do not use Hugo extended binaries.
+* Do not download missing Hugo versions.
+* Do not assume a patch version exists.
+* Do not stop after the first failing version.
+* Continue testing all resolved versions.
+* Always keep the full log output.
+* Always compare results after all runs.
+* Always list the tested Hugo binary paths.
+* Always show when no matching Hugo versions were found.
+* Always distinguish between command output differences and generated site output differences.
+* Always use explicit version numbers in the final summary.
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 01a5e45..dbc544b 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,35 +1,33 @@
 {
-	"editor.formatOnSave": true,
-	"files.autoSave": "afterDelay",
-	"files.autoSaveWhenNoErrors": true,
-	"files.autoSaveWorkspaceFilesOnly": true,
-	"cSpell.language": "en-GB",
-	"cSpell.dictionaryDefinitions": [
-		{
-			"name": "workspace",
-			"path": "./.vscode/custom-dictionary.txt",
-			"addWords": true
-		}
-	],
-	"cSpell.dictionaries": [
-		"workspace"
-	],
-	"cSpell.enabledFileTypes": {
-		"markdown": true,
-		"plaintext": true,
-		"json": true,
-		"yaml": true,
-		"yml": true,
-		"typescript": true,
-		"javascript": true
-	},
-	"explorer.fileNesting.enabled": true,
-	"explorer.fileNesting.patterns": {
-		"package.json": "package-lock.json, netlify.toml, .lintstagedrc.js, .release-it.ts, .markdownlint*, .nvmrc, lychee.toml, tsconfig.json, .coderabbit.yaml",
-		"theme.toml": "go.mod, go.sum",
-		"README.md": "CHANGELOG.md, LICENSE.md, CONTRIBUTING.md, RELEASES.md, DESIGN.md",
-		"*.ts": "$(capture).md, $(capture).test.ts, $(capture).spec.ts, $(capture).d.ts, $(capture).map, $(capture).js, $(capture).jsx, $(capture).tsx"
-	},
-	"window.autoDetectColorScheme": false,
-	"markdown.extension.tableFormatter.enabled": false
-}
\ No newline at end of file
+  "editor.formatOnSave": true,
+  "files.autoSave": "afterDelay",
+  "files.autoSaveWhenNoErrors": true,
+  "files.autoSaveWorkspaceFilesOnly": true,
+  "cSpell.language": "en-GB",
+  "cSpell.dictionaryDefinitions": [
+    {
+      "name": "workspace",
+      "path": "./.vscode/custom-dictionary.txt",
+      "addWords": true
+    }
+  ],
+  "cSpell.dictionaries": ["workspace"],
+  "cSpell.enabledFileTypes": {
+    "markdown": true,
+    "plaintext": true,
+    "json": true,
+    "yaml": true,
+    "yml": true,
+    "typescript": true,
+    "javascript": true
+  },
+  "explorer.fileNesting.enabled": true,
+  "explorer.fileNesting.patterns": {
+    "package.json": "package-lock.json, netlify.toml, lint-staged.config.ts, .release-it.ts, biome.json, renovate.json5, .nvmrc, lychee.toml, tsconfig.json, .coderabbit.yaml",
+    "theme.toml": "go.mod, go.sum",
+    "README.md": "CHANGELOG.md, LICENSE.md, CONTRIBUTING.md, RELEASES.md, DESIGN.md",
+    "*.ts": "$(capture).md, $(capture).test.ts, $(capture).spec.ts, $(capture).d.ts, $(capture).map, $(capture).js, $(capture).jsx, $(capture).tsx"
+  },
+  "window.autoDetectColorScheme": false,
+  "markdown.extension.tableFormatter.enabled": false
+}
diff --git a/ananke.code-workspace b/ananke.code-workspace
index a93e278..f16eac1 100644
--- a/ananke.code-workspace
+++ b/ananke.code-workspace
@@ -1,52 +1,52 @@
 {
-	"folders": [
-		{
-			"path": "."
-		},
-		{
-			"path": "../documentation"
-		},
-		{
-			"path": "../template-git-submod"
-		},
-		{
-			"path": "../template-hugo-mod"
-		}
-	],
-	"settings": {
-		"window.autoDetectColorScheme": false,
-		"markdown.extension.tableFormatter.enabled": false,
-		"chat.tools.terminal.autoApprove": {
-			"git fetch": true,
-			"git worktree": true,
-			"git add": true,
-			"git push": true
-		},
-		"markdown.extension.toc.unorderedList.marker": "*",
-		"markdown.extension.toc.levels": "2..6"
-	},
-	"extensions": {
-		"recommendations": [
-			"ms-vscode.vscode-github-issue-notebooks",
-			"github.vscode-pull-request-github",
-			"pkief.material-icon-theme",
-			"yzhang.markdown-all-in-one",
-			"davidanson.vscode-markdownlint",
-			"zizmor.zizmor-vscode",
-			"streetsidesoftware.code-spell-checker-cspell-bundled-dictionaries",
-			"budparr.language-hugo-vscode",
-			"jinliming2.vscode-go-template",
-			"gohugoio.gotmplfmt",
-			"casualjim.gotemplate",
-			"streetsidesoftware.code-spell-checker",
-			"streetsidesoftware.code-spell-checker-british-english",
-			"gohugoio.gotmplfmt",
-			"anthropic.claude-code",
-			"aaron-bond.better-comments",
-			"redhat.vscode-xml",
-			"redhat.vscode-yaml",
-			"google.wireit",
-			"dunstontc.vscode-go-syntax"
-		]
-	}
-}
\ No newline at end of file
+  "folders": [
+    {
+      "path": "."
+    },
+    {
+      "path": "../documentation"
+    },
+    {
+      "path": "../template-git-submod"
+    },
+    {
+      "path": "../template-hugo-mod"
+    }
+  ],
+  "settings": {
+    "window.autoDetectColorScheme": false,
+    "markdown.extension.tableFormatter.enabled": false,
+    "chat.tools.terminal.autoApprove": {
+      "git fetch": true,
+      "git worktree": true,
+      "git add": true,
+      "git push": true
+    },
+    "markdown.extension.toc.unorderedList.marker": "*",
+    "markdown.extension.toc.levels": "2..6"
+  },
+  "extensions": {
+    "recommendations": [
+      "ms-vscode.vscode-github-issue-notebooks",
+      "github.vscode-pull-request-github",
+      "pkief.material-icon-theme",
+      "yzhang.markdown-all-in-one",
+      "davidanson.vscode-markdownlint",
+      "zizmor.zizmor-vscode",
+      "streetsidesoftware.code-spell-checker-cspell-bundled-dictionaries",
+      "budparr.language-hugo-vscode",
+      "jinliming2.vscode-go-template",
+      "gohugoio.gotmplfmt",
+      "casualjim.gotemplate",
+      "streetsidesoftware.code-spell-checker",
+      "streetsidesoftware.code-spell-checker-british-english",
+      "gohugoio.gotmplfmt",
+      "anthropic.claude-code",
+      "aaron-bond.better-comments",
+      "redhat.vscode-xml",
+      "redhat.vscode-yaml",
+      "google.wireit",
+      "dunstontc.vscode-go-syntax"
+    ]
+  }
+}
diff --git a/assets/ananke/css/_code.css b/assets/ananke/css/_code.css
index a41ef5d..e1db178 100644
--- a/assets/ananke/css/_code.css
+++ b/assets/ananke/css/_code.css
@@ -1,4 +1,5 @@
-pre, .pre  {
+pre,
+.pre {
   overflow-x: auto;
   overflow-y: hidden;
 }
@@ -47,7 +48,9 @@
   border-radius: 4px;
   cursor: pointer;
   opacity: 0;
-  transition: opacity 0.15s ease-in-out, background-color 0.15s ease-in-out;
+  transition:
+    opacity 0.15s ease-in-out,
+    background-color 0.15s ease-in-out;
 }
 
 /* Reveal on hover and when focused for keyboard users. */
@@ -77,4 +80,4 @@
   .code-block .code-copy {
     transition: none;
   }
-}
\ No newline at end of file
+}
diff --git a/assets/ananke/css/_hugo-internal-templates.css b/assets/ananke/css/_hugo-internal-templates.css
index 6beead1..f41b483 100644
--- a/assets/ananke/css/_hugo-internal-templates.css
+++ b/assets/ananke/css/_hugo-internal-templates.css
@@ -5,18 +5,18 @@
 
 .pagination li {
   display: inline-block;
-  margin-right: .375rem;
-  font-size: .875rem;
+  margin-right: 0.375rem;
+  font-size: 0.875rem;
   margin-bottom: 2.5em;
 }
 
 [dir="rtl"] .pagination li {
-  margin-left: .375rem;
+  margin-left: 0.375rem;
   margin-right: 0;
 }
 
 .pagination li a {
-  padding: .5rem .625rem;
+  padding: 0.5rem 0.625rem;
   background-color: white;
   color: #333;
   border: 1px solid #ddd;
diff --git a/assets/ananke/css/_social-icons.css b/assets/ananke/css/_social-icons.css
index 516047b..cb648d1 100644
--- a/assets/ananke/css/_social-icons.css
+++ b/assets/ananke/css/_social-icons.css
@@ -1,10 +1,10 @@
-.ananke-socials a{
+.ananke-socials a {
   display: inline-block;
   vertical-align: middle;
-  color: #BABABA;
+  color: #bababa;
   fill: currentColor;
 }
-.ananke-socials a .icon svg{
+.ananke-socials a .icon svg {
   width: 32px;
   height: 32px;
 }
diff --git a/assets/ananke/css/_styles.css b/assets/ananke/css/_styles.css
index 9db98a7..bf144a4 100644
--- a/assets/ananke/css/_styles.css
+++ b/assets/ananke/css/_styles.css
@@ -6,15 +6,14 @@
 
 .lh-copy blockquote {
   display: block;
-  font-size: .875em;
+  font-size: 0.875em;
   margin-left: 2rem;
   margin-top: 2rem;
   margin-bottom: 2rem;
   border-left: 4px solid #ccc;
   padding-left: 1rem;
-
 }
 
-.nested-links a{
+.nested-links a {
   overflow-wrap: break-word;
 }
diff --git a/biome.json b/biome.json
new file mode 100644
index 0000000..6f1bebc
--- /dev/null
+++ b/biome.json
@@ -0,0 +1,11 @@
+{
+  "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
+  "extends": ["./node_modules/@dnbhq/biome-config/config.json"],
+  "files": {
+    "includes": [
+      "!!**/*.html",
+      "!!assets/ananke/css/_tachyons.css",
+      "!!assets/ananke/dist"
+    ]
+  }
+}
diff --git a/lint-staged.config.ts b/lint-staged.config.ts
new file mode 100644
index 0000000..c8d7f6d
--- /dev/null
+++ b/lint-staged.config.ts
@@ -0,0 +1,22 @@
+import { createLintStagedConfig } from "@dnbhq/lintstaged-config";
+import type { Configuration } from "lint-staged";
+
+const config: Configuration = createLintStagedConfig({
+  secrets: { enabled: false },
+  markdown: {
+    configPath:
+      "./node_modules/@dnbhq/markdownlint-config/.markdownlint-cli2.jsonc",
+  },
+  yaml: {
+    enabled: true,
+    configPath: ".yamllint.yml",
+  },
+  overrides: {
+    ".github/workflows/**/*.y(a?)ml": ["zizmor --no-exit-codes"],
+    "package-lock.json": [
+      "lockfile-lint --path package-lock.json --validate-https --allowed-hosts npm",
+    ],
+  },
+});
+
+export default config;
diff --git a/package-lock.json b/package-lock.json
index 974f94d..6d604ee 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5225 +1,5461 @@
 {
-	"name": "@gohugo-ananke/ananke",
-	"version": "2.19.1",
-	"lockfileVersion": 3,
-	"requires": true,
-	"packages": {
-		"": {
-			"name": "@gohugo-ananke/ananke",
-			"version": "2.19.1",
-			"license": "MIT",
-			"devDependencies": {
-				"@axe-core/playwright": "4.13.0",
-				"@biomejs/biome": "2.5.14",
-				"@github/markdownlint-github": "0.8.4",
-				"@playwright/test": "1.63.0",
-				"@release-it/conventional-changelog": "12.0.2",
-				"@types/node": "26.6.3",
-				"dotenv": "18.0.4",
-				"lint-staged": "17.6.0",
-				"lockfile-lint": "5.0.1",
-				"markdownlint": "0.41.1",
-				"markdownlint-cli2": "0.23.3",
-				"markdownlint-rule-extended-ascii": "0.2.1",
-				"markdownlint-rule-list-duplicates": "0.0.1",
-				"markdownlint-rule-relative-links": "5.1.3",
-				"markdownlint-rule-search-replace": "1.2.0",
-				"markdownlint-rule-title-case-style": "0.4.3",
-				"release-it": "21.1.0",
-				"simple-git-hooks": "2.14.0",
-				"typescript": "7.0.2",
-				"yaml": "2.9.1"
-			}
-		},
-		"node_modules/@axe-core/playwright": {
-			"version": "4.13.0",
-			"resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.13.0.tgz",
-			"integrity": "sha512-6YLx+kxXu5GJceG4ozFg+33a2EMTdjYwWGloJ3sb9Kta5pp+ZNS53uxGVog5JetIY8s++P5UrtX+cri+u0VAVg==",
-			"dev": true,
-			"license": "MPL-2.0",
-			"dependencies": {
-				"axe-core": "~4.13.0"
-			},
-			"peerDependencies": {
-				"playwright-core": ">= 1.0.0"
-			}
-		},
-		"node_modules/@babel/code-frame": {
-			"version": "7.29.0",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
-			"integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.28.5",
-				"js-tokens": "^4.0.0",
-				"picocolors": "^1.1.1"
-			},
-			"engines": {
-				"node": ">=6.9.0"
-			}
-		},
-		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.28.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
-			"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=6.9.0"
-			}
-		},
-		"node_modules/@biomejs/biome": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.14.tgz",
-			"integrity": "sha512-0FabLIjd4M/dm8VFI86RMaLLdgepzbdfiAL2R8cr7V81OYYrP1w7Z73KfAwPK5h9SrEBXTzNG2y+mBwPo9xRnw==",
-			"dev": true,
-			"license": "MIT OR Apache-2.0",
-			"bin": {
-				"biome": "bin/biome"
-			},
-			"engines": {
-				"node": ">=14.21.3"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/biome"
-			},
-			"optionalDependencies": {
-				"@biomejs/cli-darwin-arm64": "2.5.14",
-				"@biomejs/cli-darwin-x64": "2.5.14",
-				"@biomejs/cli-linux-arm64": "2.5.14",
-				"@biomejs/cli-linux-arm64-musl": "2.5.14",
-				"@biomejs/cli-linux-x64": "2.5.14",
-				"@biomejs/cli-linux-x64-musl": "2.5.14",
-				"@biomejs/cli-win32-arm64": "2.5.14",
-				"@biomejs/cli-win32-x64": "2.5.14"
-			}
-		},
-		"node_modules/@biomejs/cli-darwin-arm64": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.14.tgz",
-			"integrity": "sha512-UnzaXO65L4tsZimFITFP2M121GyhDcWFrT3pL5ZJ5U4XcS/0L5VHYytVohdCf/gnDUFHgl2I9xnt5bV/J1kxHQ==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"license": "MIT OR Apache-2.0",
-			"optional": true,
-			"os": [
-				"darwin"
-			],
-			"engines": {
-				"node": ">=14.21.3"
-			}
-		},
-		"node_modules/@biomejs/cli-darwin-x64": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.14.tgz",
-			"integrity": "sha512-kiy8qA16K93J7uvFfWi4LgjqDpnRKyePAna6A0Y4jxyUga35SYpIZ2cNWlhy0lsfgqRenCpfymnJWEZ6mgpRgA==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "MIT OR Apache-2.0",
-			"optional": true,
-			"os": [
-				"darwin"
-			],
-			"engines": {
-				"node": ">=14.21.3"
-			}
-		},
-		"node_modules/@biomejs/cli-linux-arm64": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.14.tgz",
-			"integrity": "sha512-vO/9BaU1n30CiFNLx49gMTMtbCAAqlo/EqFoG0BU3deQInTbJrmXSmTQ9e3FoDZIKQnvSLDVNL4lx1ci7y1T1Q==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"libc": [
-				"glibc"
-			],
-			"license": "MIT OR Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=14.21.3"
-			}
-		},
-		"node_modules/@biomejs/cli-linux-arm64-musl": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.14.tgz",
-			"integrity": "sha512-SJ9PrZkBnnH9dHJDnxk34vKs0GB2dbsioaft6/hPhWJ7AHpwYH83Isnhj0FSRpFkGgpVfJ1lds23ApB2czUDLQ==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"libc": [
-				"musl"
-			],
-			"license": "MIT OR Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=14.21.3"
-			}
-		},
-		"node_modules/@biomejs/cli-linux-x64": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.14.tgz",
-			"integrity": "sha512-VHZRa7CCQBUWKxNwUvHJeuW03WFRgN5NWO//SDGOitc9QIeNyfA42V9zlKm+x82xFSG9Bzi5fi+hbhm9anO8yA==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"libc": [
-				"glibc"
-			],
-			"license": "MIT OR Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=14.21.3"
-			}
-		},
-		"node_modules/@biomejs/cli-linux-x64-musl": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.14.tgz",
-			"integrity": "sha512-2kI5PrMgW5dcEZYrstLPmUmCwkUwZY39rP4BN93Vxbwcs2O57LDQOktUZZYPvvspN5i0mhGr3TJtF5sU26NUWg==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"libc": [
-				"musl"
-			],
-			"license": "MIT OR Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=14.21.3"
-			}
-		},
-		"node_modules/@biomejs/cli-win32-arm64": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.14.tgz",
-			"integrity": "sha512-pHgAFffmZtaYoxavEsWEYNvcA7NwOIjLyqw2HXyLbt16xYryX0L4fMV2u0G9ag6LNYPIoqWaWqzUcnc6rLGGXg==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"license": "MIT OR Apache-2.0",
-			"optional": true,
-			"os": [
-				"win32"
-			],
-			"engines": {
-				"node": ">=14.21.3"
-			}
-		},
-		"node_modules/@biomejs/cli-win32-x64": {
-			"version": "2.5.14",
-			"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.14.tgz",
-			"integrity": "sha512-oJWmBhoHsnhUKIke+0gXDX0mltJrWHA1UyHsrTlXwX0TL64ilVZAo+TYZm97baecV0esBdpzy3k96q+09JaZUQ==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "MIT OR Apache-2.0",
-			"optional": true,
-			"os": [
-				"win32"
-			],
-			"engines": {
-				"node": ">=14.21.3"
-			}
-		},
-		"node_modules/@conventional-changelog/git-client": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/@conventional-changelog/git-client/-/git-client-3.1.2.tgz",
-			"integrity": "sha512-jZqwnJwf7nboIlAcw/mkOjVa6DexCcUOgT2oOQgkoi3z9vR8tGFkcMy2BFcYwjhL9sYcDDXkRQDayiDieCoW7A==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@simple-libs/child-process-utils": "^2.0.0",
-				"@simple-libs/stream-utils": "^2.0.0",
-				"semver": "^7.5.2"
-			},
-			"engines": {
-				"node": ">=22"
-			},
-			"peerDependencies": {
-				"conventional-commits-filter": "^6.0.1",
-				"conventional-commits-parser": "^7.1.2"
-			},
-			"peerDependenciesMeta": {
-				"conventional-commits-filter": {
-					"optional": true
-				},
-				"conventional-commits-parser": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@conventional-changelog/template": {
-			"version": "1.4.0",
-			"resolved": "https://registry.npmjs.org/@conventional-changelog/template/-/template-1.4.0.tgz",
-			"integrity": "sha512-aalGyl7dbB5PArRebDIX43ZvBlXrYm9uWzGJ26t+4SzJVPsOuvfILGGbw5X4yX7i50YEmJ8zvbiWnqH/AAnZqg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/@github/markdownlint-github": {
-			"version": "0.8.4",
-			"resolved": "https://registry.npmjs.org/@github/markdownlint-github/-/markdownlint-github-0.8.4.tgz",
-			"integrity": "sha512-dPBvvCPonvJkP+1AKZ7qu8kODmFkuo8zEhSWxbcjj4PZjMoDDbz7Z0d+GXG2So598B0zfv29Av26kB0SrrqSiw==",
-			"dev": true,
-			"license": "ISC",
-			"dependencies": {
-				"lodash-es": "^4.17.21",
-				"markdown-it": "15.0.2"
-			},
-			"engines": {
-				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-			}
-		},
-		"node_modules/@inquirer/ansi": {
-			"version": "2.0.8",
-			"resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.8.tgz",
-			"integrity": "sha512-WpQM+Ti6Z40EFwwt+uL2p4UabT+W179zHp6HhLVOzfbwnVn05IPO/eXIZXGNqcT1jbQ15SujNLzQ39k4QPPxBQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			}
-		},
-		"node_modules/@inquirer/checkbox": {
-			"version": "5.2.5",
-			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.2.5.tgz",
-			"integrity": "sha512-bRt8J8m+Fot9CXv+zNQGXUq2ET0MggR1fPz7v6edN6MFYmsbfGnMmkmWZJEegMKqrAC8ej/o1sqisHZXZJMAfQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/ansi": "^2.0.8",
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/figures": "^2.0.9",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/confirm": {
-			"version": "6.3.2",
-			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.3.2.tgz",
-			"integrity": "sha512-Xvr/0HggjddPtGppuqVmxhTw+Hr8PvsZ/k0HmOEaAqQEt80OITNkFWnsdNmyT0/eM4Ab+iJLx2R8rctlEyfSVg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/core": {
-			"version": "12.0.3",
-			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.3.tgz",
-			"integrity": "sha512-wsSy0sznmXwkty+2PzZwx00Cazc/E0r0B7mAzdGROz2Ct+DFZXaK7WDjGZvgjRldxH5ZhFVfF2lgkYrqgOw2KA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/ansi": "^2.0.8",
-				"@inquirer/figures": "^2.0.9",
-				"@inquirer/type": "4.1.1",
-				"cli-width": "^4.1.0",
-				"fast-wrap-ansi": "^0.2.0",
-				"mute-stream": "^3.0.0",
-				"signal-exit": "^4.1.0"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/editor": {
-			"version": "5.3.3",
-			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.3.3.tgz",
-			"integrity": "sha512-YsKkS2q63IiLtaDK/9nqzdComN97SDQrmKiyNggN+ceP4ty+Z6VwyTz3FpjeUWeW1Efss2xHFKCC9sx7hnrsxg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/external-editor": "^3.0.5",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/expand": {
-			"version": "5.1.5",
-			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.1.5.tgz",
-			"integrity": "sha512-uHuXLmXW+TtIfT/9vSBotypAkqn1n34Ul+CLGPos/xANyO4Ff5xZzkYhbKR4NEcfVK4a9mHQOpwVZzluSHFRGw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/external-editor": {
-			"version": "3.0.5",
-			"resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-3.0.5.tgz",
-			"integrity": "sha512-f3QQJRIX5ZEneBHNUIuPjmbdzHnmRFJA8r2dkcb8q+OM5Uv5KtnuAttQumnrjcBVBM3mcTX1CkmtAkU58VRZxg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"chardet": "^2.1.1",
-				"iconv-lite": "^0.7.2"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/figures": {
-			"version": "2.0.9",
-			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.9.tgz",
-			"integrity": "sha512-EAWgUTGQ/Umgga51dE3B2PUHbufuXarDfg86uVgoSgNHNNQnyFKcOrQLWVqYMghuSyHh8+2HUH0Js9cTC1WAdg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			}
-		},
-		"node_modules/@inquirer/input": {
-			"version": "5.1.6",
-			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.1.6.tgz",
-			"integrity": "sha512-HtcJhB2QFVXbLuJ5S3syhNbTUVxYvwqV4VRBDkQceBloC9bmTViUoRFP5PbSaDZb3HzfPmpuU/gG4ybVBz4FHA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/number": {
-			"version": "4.2.3",
-			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.2.3.tgz",
-			"integrity": "sha512-6Yuwh1NGSbu1Lo4N1EWjXs1jKRntLg/ZCwhmeorEHde90v1XxAozdbd4Iu30eOQLW+6h1hp2O9ujNfLSbTPJnA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/password": {
-			"version": "5.2.2",
-			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.2.2.tgz",
-			"integrity": "sha512-W9zYdyzogK+6110mqwaSJWCBu2yA5Q/OfnGSjjZB1bNpHlmUozXxTl0+QOZBNeVd6Qo81/qT75gW05gLAtITxw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/ansi": "^2.0.8",
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/prompts": {
-			"version": "8.7.2",
-			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-8.7.2.tgz",
-			"integrity": "sha512-QoRB4wFIjgH5iOhSjoIKMkTvSHDuV+O3OITlIqAYO0oK5x364GJILXiMBvlPiE+klg7Xx9tq5XVqQHcGUDYYPA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/checkbox": "^5.2.5",
-				"@inquirer/confirm": "^6.3.2",
-				"@inquirer/editor": "^5.3.3",
-				"@inquirer/expand": "^5.1.5",
-				"@inquirer/input": "^5.1.6",
-				"@inquirer/number": "^4.2.3",
-				"@inquirer/password": "^5.2.2",
-				"@inquirer/rawlist": "^5.3.5",
-				"@inquirer/search": "^4.3.3",
-				"@inquirer/select": "^5.2.5"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/rawlist": {
-			"version": "5.3.5",
-			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.3.5.tgz",
-			"integrity": "sha512-1oHky1ONfCOwNrnkQGDE1oaSij/3fI6HFMSf2H/WsGO2lEyDX9My82iggITSy9ddSZ8yk8j9v41OI0fVoSIoaA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/search": {
-			"version": "4.3.3",
-			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.3.3.tgz",
-			"integrity": "sha512-fyuIU1Nbpvwlikjg3gXwJFDI11+EFjqQ7P+iByfmivIKQ1vmaykNrD/vy5unHuUqUpsOsnvJ25//tPF7E/RBRA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/figures": "^2.0.9",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/select": {
-			"version": "5.2.5",
-			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.2.5.tgz",
-			"integrity": "sha512-9kc15hr8r/kI+3DO/xLog5nOzTz1jqsHXa6JBFzmQKhkoJ8Slda1I1L/uD8ZSZ9tF1yp79wwXe7mclvX1rqR2Q==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/ansi": "^2.0.8",
-				"@inquirer/core": "^12.0.3",
-				"@inquirer/figures": "^2.0.9",
-				"@inquirer/type": "4.1.1"
-			},
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@inquirer/type": {
-			"version": "4.1.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.1.1.tgz",
-			"integrity": "sha512-yJoHYrMnxIsJZCY+0Vb66Dy3he3kL3e2wOBKhoSwWWAzZAY82emlxwgprCtp6yRixvNRNq9ztfRWQYPNr3Go7A==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
-			},
-			"peerDependencies": {
-				"@types/node": ">=18"
-			},
-			"peerDependenciesMeta": {
-				"@types/node": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/@nodelib/fs.scandir": {
-			"version": "2.1.5",
-			"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
-			"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@nodelib/fs.stat": "2.0.5",
-				"run-parallel": "^1.1.9"
-			},
-			"engines": {
-				"node": ">= 8"
-			}
-		},
-		"node_modules/@nodelib/fs.stat": {
-			"version": "2.0.5",
-			"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
-			"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 8"
-			}
-		},
-		"node_modules/@nodelib/fs.walk": {
-			"version": "1.2.8",
-			"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
-			"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@nodelib/fs.scandir": "2.1.5",
-				"fastq": "^1.6.0"
-			},
-			"engines": {
-				"node": ">= 8"
-			}
-		},
-		"node_modules/@octokit/auth-token": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz",
-			"integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/@octokit/core": {
-			"version": "7.0.6",
-			"resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz",
-			"integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/auth-token": "^6.0.0",
-				"@octokit/graphql": "^9.0.3",
-				"@octokit/request": "^10.0.6",
-				"@octokit/request-error": "^7.0.2",
-				"@octokit/types": "^16.0.0",
-				"before-after-hook": "^4.0.0",
-				"universal-user-agent": "^7.0.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/@octokit/endpoint": {
-			"version": "11.0.3",
-			"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz",
-			"integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/types": "^16.0.0",
-				"universal-user-agent": "^7.0.2"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/@octokit/graphql": {
-			"version": "9.0.3",
-			"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz",
-			"integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/request": "^10.0.6",
-				"@octokit/types": "^16.0.0",
-				"universal-user-agent": "^7.0.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/@octokit/openapi-types": {
-			"version": "27.0.0",
-			"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
-			"integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/@octokit/plugin-paginate-rest": {
-			"version": "14.0.0",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz",
-			"integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/types": "^16.0.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			},
-			"peerDependencies": {
-				"@octokit/core": ">=6"
-			}
-		},
-		"node_modules/@octokit/plugin-request-log": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-6.0.0.tgz",
-			"integrity": "sha512-UkOzeEN3W91/eBq9sPZNQ7sUBvYCqYbrrD8gTbBuGtHEuycE4/awMXcYvx6sVYo7LypPhmQwwpUe4Yyu4QZN5Q==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 20"
-			},
-			"peerDependencies": {
-				"@octokit/core": ">=6"
-			}
-		},
-		"node_modules/@octokit/plugin-rest-endpoint-methods": {
-			"version": "17.0.0",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz",
-			"integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/types": "^16.0.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			},
-			"peerDependencies": {
-				"@octokit/core": ">=6"
-			}
-		},
-		"node_modules/@octokit/request": {
-			"version": "10.0.8",
-			"resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz",
-			"integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/endpoint": "^11.0.3",
-				"@octokit/request-error": "^7.0.2",
-				"@octokit/types": "^16.0.0",
-				"fast-content-type-parse": "^3.0.0",
-				"json-with-bigint": "^3.5.3",
-				"universal-user-agent": "^7.0.2"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/@octokit/request-error": {
-			"version": "7.1.0",
-			"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz",
-			"integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/types": "^16.0.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/@octokit/rest": {
-			"version": "22.0.1",
-			"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-22.0.1.tgz",
-			"integrity": "sha512-Jzbhzl3CEexhnivb1iQ0KJ7s5vvjMWcmRtq5aUsKmKDrRW6z3r84ngmiFKFvpZjpiU/9/S6ITPFRpn5s/3uQJw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/core": "^7.0.6",
-				"@octokit/plugin-paginate-rest": "^14.0.0",
-				"@octokit/plugin-request-log": "^6.0.0",
-				"@octokit/plugin-rest-endpoint-methods": "^17.0.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/@octokit/types": {
-			"version": "16.0.0",
-			"resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
-			"integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@octokit/openapi-types": "^27.0.0"
-			}
-		},
-		"node_modules/@phun-ky/typeof": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/@phun-ky/typeof/-/typeof-2.0.3.tgz",
-			"integrity": "sha512-oeQJs1aa8Ghke8JIK9yuq/+KjMiaYeDZ38jx7MhkXncXlUKjqQ3wEm2X3qCKyjo+ZZofZj+WsEEiqkTtRuE2xQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": "^20.9.0 || >=22.0.0",
-				"npm": ">=10.8.2"
-			},
-			"funding": {
-				"url": "https://github.com/phun-ky/typeof?sponsor=1"
-			}
-		},
-		"node_modules/@playwright/test": {
-			"version": "1.63.0",
-			"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.63.0.tgz",
-			"integrity": "sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==",
-			"dev": true,
-			"license": "Apache-2.0",
-			"dependencies": {
-				"playwright": "1.63.0"
-			},
-			"bin": {
-				"playwright": "cli.js"
-			},
-			"engines": {
-				"node": ">=20"
-			}
-		},
-		"node_modules/@release-it/conventional-changelog": {
-			"version": "12.0.2",
-			"resolved": "https://registry.npmjs.org/@release-it/conventional-changelog/-/conventional-changelog-12.0.2.tgz",
-			"integrity": "sha512-mJsfycScVqud9O+GzVLT1wQBsIR2WO3kEe6Xm7ucf9yP9KyKRTY9yqoFe/kjLCNSu0lP0PzpuOooUYyzHm1oFw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@conventional-changelog/git-client": "^3.1.2",
-				"concat-stream": "^2.0.0",
-				"conventional-changelog": "^8.1.3",
-				"conventional-changelog-angular": "^9.4.0",
-				"conventional-changelog-conventionalcommits": "^10.4.0",
-				"conventional-recommended-bump": "^12.1.0",
-				"semver": "^7.8.5"
-			},
-			"engines": {
-				"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
-			},
-			"peerDependencies": {
-				"release-it": "^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"
-			}
-		},
-		"node_modules/@simple-libs/child-process-utils": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@simple-libs/child-process-utils/-/child-process-utils-2.0.0.tgz",
-			"integrity": "sha512-dvNoRKLijXnD0XoJAz94pbNuB5GQgDr55UhpSPhffDkTT0Cmcqh9jSCOtwfT2d4H6MI9E7c4SgtMuJXZ6F3c6A==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@simple-libs/stream-utils": "^2.0.0"
-			},
-			"engines": {
-				"node": ">=22"
-			},
-			"funding": {
-				"url": "https://ko-fi.com/dangreen"
-			}
-		},
-		"node_modules/@simple-libs/hosted-git-info": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@simple-libs/hosted-git-info/-/hosted-git-info-2.0.0.tgz",
-			"integrity": "sha512-55XwK/GYgV58PuN8lZFhI1qRxdKoMLJocXl/yM1EPqazFDmM4QWY7q6BxPCPDNKTNunj794DSD4h0H7SrqUdMg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=22"
-			},
-			"funding": {
-				"url": "https://ko-fi.com/dangreen"
-			}
-		},
-		"node_modules/@simple-libs/normalize-package-data": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/@simple-libs/normalize-package-data/-/normalize-package-data-1.0.0.tgz",
-			"integrity": "sha512-/EOmFBekV9tGee8gac/k+5Ox3twkypNqh5TfxA9vTkmcJkjm6f1xqrlstDNOrEhTvnYyVtU6Du2ZhY/IV1+9GA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@simple-libs/hosted-git-info": "^2.0.0",
-				"semver": "^7.8.5"
-			},
-			"engines": {
-				"node": ">=22"
-			},
-			"funding": {
-				"url": "https://ko-fi.com/dangreen"
-			}
-		},
-		"node_modules/@simple-libs/stream-utils": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@simple-libs/stream-utils/-/stream-utils-2.0.0.tgz",
-			"integrity": "sha512-fCTuZK4QBa+39Oz9l4OGfJfz+GpwCp3AqO7Zch3to99xHPgstVsRFpeQ8LNd2o1Gv8raL2mCFwiaHh7bFSp5DQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=22"
-			},
-			"funding": {
-				"url": "https://ko-fi.com/dangreen"
-			}
-		},
-		"node_modules/@sindresorhus/merge-streams": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
-			"integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/@types/debug": {
-			"version": "4.1.13",
-			"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
-			"integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@types/ms": "*"
-			}
-		},
-		"node_modules/@types/katex": {
-			"version": "0.16.8",
-			"resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz",
-			"integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/@types/ms": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
-			"integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/@types/node": {
-			"version": "26.6.3",
-			"resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.3.tgz",
-			"integrity": "sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"undici-types": "~8.9.0"
-			}
-		},
-		"node_modules/@types/parse-path": {
-			"version": "7.0.3",
-			"resolved": "https://registry.npmjs.org/@types/parse-path/-/parse-path-7.0.3.tgz",
-			"integrity": "sha512-LriObC2+KYZD3FzCrgWGv/qufdUy4eXrxcLgQMfYXgPbLIecKIsVBaQgUPmxSSLcjmYbDTQbMgr6qr6l/eb7Bg==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/@types/unist": {
-			"version": "2.0.11",
-			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
-			"integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/@typescript/typescript-aix-ppc64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz",
-			"integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==",
-			"cpu": [
-				"ppc64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"aix"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-darwin-arm64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.2.tgz",
-			"integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"darwin"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-darwin-x64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.2.tgz",
-			"integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"darwin"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-freebsd-arm64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.2.tgz",
-			"integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"freebsd"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-freebsd-x64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.2.tgz",
-			"integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"freebsd"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-linux-arm": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.2.tgz",
-			"integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==",
-			"cpu": [
-				"arm"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-linux-arm64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.2.tgz",
-			"integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-linux-loong64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.2.tgz",
-			"integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==",
-			"cpu": [
-				"loong64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-linux-mips64el": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.2.tgz",
-			"integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==",
-			"cpu": [
-				"mips64el"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-linux-ppc64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.2.tgz",
-			"integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==",
-			"cpu": [
-				"ppc64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-linux-riscv64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.2.tgz",
-			"integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==",
-			"cpu": [
-				"riscv64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-linux-s390x": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.2.tgz",
-			"integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==",
-			"cpu": [
-				"s390x"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-linux-x64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.2.tgz",
-			"integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"linux"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-netbsd-arm64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.2.tgz",
-			"integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"netbsd"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-netbsd-x64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.2.tgz",
-			"integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"netbsd"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-openbsd-arm64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.2.tgz",
-			"integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"openbsd"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-openbsd-x64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.2.tgz",
-			"integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"openbsd"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-sunos-x64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.2.tgz",
-			"integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"sunos"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-win32-arm64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.2.tgz",
-			"integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==",
-			"cpu": [
-				"arm64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"win32"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@typescript/typescript-win32-x64": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.2.tgz",
-			"integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"license": "Apache-2.0",
-			"optional": true,
-			"os": [
-				"win32"
-			],
-			"engines": {
-				"node": ">=16.20.0"
-			}
-		},
-		"node_modules/@yarnpkg/parsers": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.3.tgz",
-			"integrity": "sha512-mQZgUSgFurUtA07ceMjxrWkYz8QtDuYkvPlu0ZqncgjopQ0t6CNEo/OSealkmnagSUx8ZD5ewvezUwUuMqutQg==",
-			"dev": true,
-			"license": "BSD-2-Clause",
-			"dependencies": {
-				"js-yaml": "^3.10.0",
-				"tslib": "^2.4.0"
-			},
-			"engines": {
-				"node": ">=18.12.0"
-			}
-		},
-		"node_modules/@yarnpkg/parsers/node_modules/argparse": {
-			"version": "1.0.10",
-			"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-			"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"sprintf-js": "~1.0.2"
-			}
-		},
-		"node_modules/@yarnpkg/parsers/node_modules/js-yaml": {
-			"version": "3.15.2",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz",
-			"integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"argparse": "^1.0.7",
-				"esprima": "^4.0.0"
-			},
-			"bin": {
-				"js-yaml": "bin/js-yaml.js"
-			}
-		},
-		"node_modules/agent-base": {
-			"version": "9.0.0",
-			"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz",
-			"integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/ansi-regex": {
-			"version": "6.2.2",
-			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
-			"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/chalk/ansi-regex?sponsor=1"
-			}
-		},
-		"node_modules/argparse": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-			"dev": true,
-			"license": "Python-2.0"
-		},
-		"node_modules/argue-cli": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/argue-cli/-/argue-cli-3.2.0.tgz",
-			"integrity": "sha512-VipTB0gXgGIFO2Rg9yEVN5wLt2AurJcZqDbgmYSwPwsykhLrQhs240/bfceev4w68lI8JshoOJIk9uW7tFzROw==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=22"
-			},
-			"funding": {
-				"url": "https://ko-fi.com/dangreen"
-			}
-		},
-		"node_modules/ast-types": {
-			"version": "0.13.4",
-			"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
-			"integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"tslib": "^2.0.1"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/async-retry": {
-			"version": "1.3.3",
-			"resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz",
-			"integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"retry": "0.13.1"
-			}
-		},
-		"node_modules/axe-core": {
-			"version": "4.13.0",
-			"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.13.0.tgz",
-			"integrity": "sha512-UzGt8zg7Ny8djbYMhxl2zuEevVa7r2gJjYY5Lwr1xM7+XU2nd6CkIWFTVcCIbAP63vSz71NaVyyuSk9lHKcy0A==",
-			"dev": true,
-			"license": "MPL-2.0",
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/basic-ftp": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz",
-			"integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=10.0.0"
-			}
-		},
-		"node_modules/before-after-hook": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz",
-			"integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==",
-			"dev": true,
-			"license": "Apache-2.0"
-		},
-		"node_modules/braces": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
-			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"fill-range": "^7.1.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/buffer-from": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
-			"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/bundle-name": {
-			"version": "4.1.1",
-			"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.1.tgz",
-			"integrity": "sha512-DdH81/zPLVS11EUgWq3tEu/xn+EzljlMYooDNdzWEnFha3R3NBMpMV1UqYIpjYHV/SgpFKMIX1Oh7o06SjM/oA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"run-applescript": "^7.0.0"
-			},
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/c12": {
-			"version": "3.3.4",
-			"resolved": "https://registry.npmjs.org/c12/-/c12-3.3.4.tgz",
-			"integrity": "sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"chokidar": "^5.0.0",
-				"confbox": "^0.2.4",
-				"defu": "^6.1.6",
-				"dotenv": "^17.3.1",
-				"exsolve": "^1.0.8",
-				"giget": "^3.2.0",
-				"jiti": "^2.6.1",
-				"ohash": "^2.0.11",
-				"pathe": "^2.0.3",
-				"perfect-debounce": "^2.1.0",
-				"pkg-types": "^2.3.0",
-				"rc9": "^3.0.1"
-			},
-			"peerDependencies": {
-				"magicast": "*"
-			},
-			"peerDependenciesMeta": {
-				"magicast": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/c12/node_modules/dotenv": {
-			"version": "17.4.2",
-			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz",
-			"integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==",
-			"dev": true,
-			"license": "BSD-2-Clause",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://dotenvx.com"
-			}
-		},
-		"node_modules/callsites": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-			"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=6"
-			}
-		},
-		"node_modules/chalk": {
-			"version": "5.6.2",
-			"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
-			"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": "^12.17.0 || ^14.13 || >=16.0.0"
-			},
-			"funding": {
-				"url": "https://github.com/chalk/chalk?sponsor=1"
-			}
-		},
-		"node_modules/character-entities": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
-			"integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
-			"dev": true,
-			"license": "MIT",
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/character-entities-legacy": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
-			"integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
-			"dev": true,
-			"license": "MIT",
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/character-reference-invalid": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
-			"integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
-			"dev": true,
-			"license": "MIT",
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/chardet": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/chardet/-/chardet-2.2.0.tgz",
-			"integrity": "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/chokidar": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
-			"integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"readdirp": "^5.0.0"
-			},
-			"engines": {
-				"node": ">= 20.19.0"
-			},
-			"funding": {
-				"url": "https://paulmillr.com/funding/"
-			}
-		},
-		"node_modules/ci-info": {
-			"version": "4.4.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz",
-			"integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/sibiraj-s"
-				}
-			],
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/cli-cursor": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
-			"integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"restore-cursor": "^5.0.0"
-			},
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/cli-spinners": {
-			"version": "3.4.0",
-			"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-3.4.0.tgz",
-			"integrity": "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18.20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/cli-width": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
-			"integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
-			"dev": true,
-			"license": "ISC",
-			"engines": {
-				"node": ">= 12"
-			}
-		},
-		"node_modules/cliui": {
-			"version": "8.0.1",
-			"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
-			"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
-			"dev": true,
-			"license": "ISC",
-			"dependencies": {
-				"string-width": "^4.2.0",
-				"strip-ansi": "^6.0.1",
-				"wrap-ansi": "^7.0.0"
-			},
-			"engines": {
-				"node": ">=12"
-			}
-		},
-		"node_modules/cliui/node_modules/ansi-regex": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-			"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/cliui/node_modules/ansi-styles": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-			"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"color-convert": "^2.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			},
-			"funding": {
-				"url": "https://github.com/chalk/ansi-styles?sponsor=1"
-			}
-		},
-		"node_modules/cliui/node_modules/is-fullwidth-code-point": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-			"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/cliui/node_modules/string-width": {
-			"version": "4.2.3",
-			"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-			"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"emoji-regex": "^8.0.0",
-				"is-fullwidth-code-point": "^3.0.0",
-				"strip-ansi": "^6.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/cliui/node_modules/strip-ansi": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
-			"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"ansi-regex": "^5.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/cliui/node_modules/wrap-ansi": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
-			"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"ansi-styles": "^4.0.0",
-				"string-width": "^4.1.0",
-				"strip-ansi": "^6.0.0"
-			},
-			"engines": {
-				"node": ">=10"
-			},
-			"funding": {
-				"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
-			}
-		},
-		"node_modules/color-convert": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-			"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"color-name": "~1.1.4"
-			},
-			"engines": {
-				"node": ">=7.0.0"
-			}
-		},
-		"node_modules/color-name": {
-			"version": "1.1.4",
-			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-			"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/concat-stream": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
-			"integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
-			"dev": true,
-			"engines": [
-				"node >= 6.0"
-			],
-			"license": "MIT",
-			"dependencies": {
-				"buffer-from": "^1.0.0",
-				"inherits": "^2.0.3",
-				"readable-stream": "^3.0.2",
-				"typedarray": "^0.0.6"
-			}
-		},
-		"node_modules/confbox": {
-			"version": "0.2.4",
-			"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz",
-			"integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/conventional-changelog": {
-			"version": "8.1.3",
-			"resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-8.1.3.tgz",
-			"integrity": "sha512-fOMwLCxm46znJKPB08jLxl1FD8SOZOQHktlzCVhvhhVUfq0KgQSryoYXsRRHs1aRlZPR1/QK5wztnY8sBNC2AA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@conventional-changelog/git-client": "^3.1.2",
-				"@simple-libs/hosted-git-info": "^2.0.0",
-				"@simple-libs/normalize-package-data": "^1.0.0",
-				"argue-cli": "^3.1.0",
-				"conventional-changelog-preset-loader": "^6.0.1",
-				"conventional-changelog-writer": "^9.2.1",
-				"conventional-commits-filter": "^6.0.1",
-				"conventional-commits-parser": "^7.1.2",
-				"fd-package-json": "^2.0.0"
-			},
-			"bin": {
-				"conventional-changelog": "dist/cli/index.js"
-			},
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/conventional-changelog-angular": {
-			"version": "9.4.0",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-9.4.0.tgz",
-			"integrity": "sha512-HdxRxuS8bBXVIuo4V82gvSwAXT0vYQUizrjs/izmPg5JdDstr8v8I5hduGL3iQbG+o310dUDxC4+LetuS5hu9w==",
-			"dev": true,
-			"license": "ISC",
-			"dependencies": {
-				"@conventional-changelog/template": "^1.4.0"
-			},
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/conventional-changelog-conventionalcommits": {
-			"version": "10.4.0",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-10.4.0.tgz",
-			"integrity": "sha512-Rriac6ZrAlVm6cy9Bz4NSp+WMHpwNXoPIYex+HjCgduAVUSbnew29DQjQw0C4g9u3HtSYzGiGY+pdBXAZo+4aA==",
-			"dev": true,
-			"license": "ISC",
-			"dependencies": {
-				"@conventional-changelog/template": "^1.4.0"
-			},
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/conventional-changelog-preset-loader": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-6.0.1.tgz",
-			"integrity": "sha512-GZ8E3RQzXQb3JFy0pKl8oeSf7ENIhvAMvJr+PlWkavZOesLHHdhkfNJ4SvW35eo1Fu2+EyVxWQ1tVvtzAG2iWg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/conventional-changelog-writer": {
-			"version": "9.2.1",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-9.2.1.tgz",
-			"integrity": "sha512-StlYSmW3wLedRaqohJMpP3YuWiAqtgD0/cpsai9frdDkXv7rxj0hRbpJrubPYvJxJsjplONsOobEQnPuS9UgCg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@conventional-changelog/template": "^1.3.0",
-				"@simple-libs/stream-utils": "^2.0.0",
-				"argue-cli": "^3.1.0",
-				"conventional-commits-filter": "^6.0.1",
-				"semver": "^7.5.2"
-			},
-			"bin": {
-				"conventional-changelog-writer": "dist/cli/index.js"
-			},
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/conventional-commits-filter": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-6.0.1.tgz",
-			"integrity": "sha512-cs+LadpH7Kpw0M3k8wurk+sOVVDAENA0iK4OBOrkL94j5lEVYRJ4j3zd2bhY9qgzyrPqthdcYT3axzRN7AliMg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/conventional-commits-parser": {
-			"version": "7.1.2",
-			"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-7.1.2.tgz",
-			"integrity": "sha512-O+x4N2yH+ijvqWlIyTHsXTAP+algNWgGbjY2duCe8w2vUMvUB95cLRslCPfTMQyLAKlet3bhZTdu6ozn4M+QJQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@simple-libs/stream-utils": "^2.0.0",
-				"argue-cli": "^3.1.0"
-			},
-			"bin": {
-				"conventional-commits-parser": "dist/cli/index.js"
-			},
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/conventional-recommended-bump": {
-			"version": "12.1.0",
-			"resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-12.1.0.tgz",
-			"integrity": "sha512-HTNG3kEZXOOfKwrEx54ljURU9bG4nVPQzXMyCSeUcA/PE8EpNpQNujSrbXNBI8QZyN35zM+pVw+FuQk4KqHSHg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@conventional-changelog/git-client": "^3.1.0",
-				"argue-cli": "^3.1.0",
-				"conventional-changelog-preset-loader": "^6.0.1",
-				"conventional-commits-filter": "^6.0.1",
-				"conventional-commits-parser": "^7.1.0"
-			},
-			"bin": {
-				"conventional-recommended-bump": "dist/cli/index.js"
-			},
-			"engines": {
-				"node": ">=22"
-			}
-		},
-		"node_modules/cosmiconfig": {
-			"version": "9.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz",
-			"integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"env-paths": "^2.2.1",
-				"import-fresh": "^3.3.0",
-				"js-yaml": "^4.1.0",
-				"parse-json": "^5.2.0"
-			},
-			"engines": {
-				"node": ">=14"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/d-fischer"
-			},
-			"peerDependencies": {
-				"typescript": ">=4.9.5"
-			},
-			"peerDependenciesMeta": {
-				"typescript": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/data-uri-to-buffer": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-8.0.0.tgz",
-			"integrity": "sha512-6UHfyCux51b8PTGDgveqtz1tvphBku5DrMKKJbFAZAJOI2zsjDpDoYE1+QGj7FOMS4BdTFNJsJiR3zEB0xH0yQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/debug": {
-			"version": "4.4.3",
-			"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
-			"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"ms": "^2.1.3"
-			},
-			"engines": {
-				"node": ">=6.0"
-			},
-			"peerDependenciesMeta": {
-				"supports-color": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/decode-named-character-reference": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz",
-			"integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"character-entities": "^2.0.0"
-			},
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/default-browser": {
-			"version": "5.5.1",
-			"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.1.tgz",
-			"integrity": "sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"bundle-name": "^4.1.0",
-				"default-browser-id": "^5.0.0"
-			},
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/default-browser-id": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
-			"integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/define-lazy-prop": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
-			"integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/defu": {
-			"version": "6.1.7",
-			"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz",
-			"integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/degenerator": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/degenerator/-/degenerator-7.0.1.tgz",
-			"integrity": "sha512-ABErK0IefDSyHjlPH7WUEenIAX2rPPnrDcDM+TS3z3+zu9TfyKKi07BQM+8rmxpdE2y1v5fjjdoAS/x4D2U60w==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"ast-types": "^0.13.4",
-				"escodegen": "^2.1.0",
-				"esprima": "^4.0.1"
-			},
-			"engines": {
-				"node": ">= 20"
-			},
-			"peerDependencies": {
-				"quickjs-wasi": "^2.2.0"
-			}
-		},
-		"node_modules/dequal": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
-			"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=6"
-			}
-		},
-		"node_modules/destr": {
-			"version": "2.0.5",
-			"resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz",
-			"integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/devlop": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
-			"integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"dequal": "^2.0.0"
-			},
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/dotenv": {
-			"version": "18.0.4",
-			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.4.tgz",
-			"integrity": "sha512-jGt9uI5BIxpVO15kvy+iEFqNAwxYClKWnkptLjSNPnFLC003Imd0ofr3aEVsbpHdSBdSsbcApNIlz4nbyGMwdA==",
-			"dev": true,
-			"license": "BSD-2-Clause",
-			"bin": {
-				"dotenv": "dist/index.cjs"
-			},
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://dotenvx.com"
-			}
-		},
-		"node_modules/emoji-regex": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-			"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/entities": {
-			"version": "8.1.0",
-			"resolved": "https://registry.npmjs.org/entities/-/entities-8.1.0.tgz",
-			"integrity": "sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==",
-			"dev": true,
-			"license": "BSD-2-Clause",
-			"engines": {
-				"node": ">=20.19.0"
-			},
-			"funding": {
-				"url": "https://github.com/fb55/entities?sponsor=1"
-			}
-		},
-		"node_modules/env-paths": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
-			"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=6"
-			}
-		},
-		"node_modules/error-ex": {
-			"version": "1.3.4",
-			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
-			"integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-arrayish": "^0.2.1"
-			}
-		},
-		"node_modules/escalade": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
-			"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=6"
-			}
-		},
-		"node_modules/escodegen": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
-			"integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
-			"dev": true,
-			"license": "BSD-2-Clause",
-			"dependencies": {
-				"esprima": "^4.0.1",
-				"estraverse": "^5.2.0",
-				"esutils": "^2.0.2"
-			},
-			"bin": {
-				"escodegen": "bin/escodegen.js",
-				"esgenerate": "bin/esgenerate.js"
-			},
-			"engines": {
-				"node": ">=6.0"
-			},
-			"optionalDependencies": {
-				"source-map": "~0.6.1"
-			}
-		},
-		"node_modules/esprima": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-			"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
-			"dev": true,
-			"license": "BSD-2-Clause",
-			"bin": {
-				"esparse": "bin/esparse.js",
-				"esvalidate": "bin/esvalidate.js"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/estraverse": {
-			"version": "5.3.0",
-			"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
-			"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
-			"dev": true,
-			"license": "BSD-2-Clause",
-			"engines": {
-				"node": ">=4.0"
-			}
-		},
-		"node_modules/esutils": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-			"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-			"dev": true,
-			"license": "BSD-2-Clause",
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
-		"node_modules/eta": {
-			"version": "4.6.0",
-			"resolved": "https://registry.npmjs.org/eta/-/eta-4.6.0.tgz",
-			"integrity": "sha512-lW6is4T1NFOYnmqGZIfvixqj7A7sSvScF+DN8EK6K58xI5MZ5UvYe0GjopxOXQtZvUn4eDdVuZ8XSoYWTMEKwA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/bgub/eta?sponsor=1"
-			}
-		},
-		"node_modules/exsolve": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.1.1.tgz",
-			"integrity": "sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/fast-content-type-parse": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz",
-			"integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/fastify"
-				},
-				{
-					"type": "opencollective",
-					"url": "https://opencollective.com/fastify"
-				}
-			],
-			"license": "MIT"
-		},
-		"node_modules/fast-glob": {
-			"version": "3.3.3",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
-			"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@nodelib/fs.stat": "^2.0.2",
-				"@nodelib/fs.walk": "^1.2.3",
-				"glob-parent": "^5.1.2",
-				"merge2": "^1.3.0",
-				"micromatch": "^4.0.8"
-			},
-			"engines": {
-				"node": ">=8.6.0"
-			}
-		},
-		"node_modules/fast-string-truncated-width": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz",
-			"integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/fast-string-width": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz",
-			"integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"fast-string-truncated-width": "^3.0.2"
-			}
-		},
-		"node_modules/fast-wrap-ansi": {
-			"version": "0.2.2",
-			"resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz",
-			"integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"fast-string-width": "^3.0.2"
-			}
-		},
-		"node_modules/fastq": {
-			"version": "1.20.3",
-			"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.3.tgz",
-			"integrity": "sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==",
-			"dev": true,
-			"license": "ISC",
-			"dependencies": {
-				"reusify": "^1.0.4"
-			}
-		},
-		"node_modules/fd-package-json": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/fd-package-json/-/fd-package-json-2.0.0.tgz",
-			"integrity": "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"walk-up-path": "^4.0.0"
-			}
-		},
-		"node_modules/fdir": {
-			"version": "6.5.0",
-			"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
-			"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=12.0.0"
-			},
-			"peerDependencies": {
-				"picomatch": "^3 || ^4"
-			},
-			"peerDependenciesMeta": {
-				"picomatch": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/fill-range": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
-			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"to-regex-range": "^5.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/get-caller-file": {
-			"version": "2.0.5",
-			"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-			"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-			"dev": true,
-			"license": "ISC",
-			"engines": {
-				"node": "6.* || 8.* || >= 10.*"
-			}
-		},
-		"node_modules/get-east-asian-width": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
-			"integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/get-uri": {
-			"version": "8.0.1",
-			"resolved": "https://registry.npmjs.org/get-uri/-/get-uri-8.0.1.tgz",
-			"integrity": "sha512-/5N/P4Lrh0p/mDwlDRi7Y1+P2o/OyzZI3l6Iz1Ov6XXwwm1y3RlZLuo3gVgML99djrEDtV980bBxSuOeHLk8ww==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"basic-ftp": "^5.3.1",
-				"data-uri-to-buffer": "8.0.0",
-				"debug": "^4.3.4"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/giget": {
-			"version": "3.3.1",
-			"resolved": "https://registry.npmjs.org/giget/-/giget-3.3.1.tgz",
-			"integrity": "sha512-r+mvuDjrjMpsdw46Kmeydb8bdHm7wOKw8wNBtTndkjbPjgAp5oUJUxRE76wZFknxIPokfWvep2qSXK37aXE6zg==",
-			"dev": true,
-			"license": "MIT",
-			"bin": {
-				"giget": "dist/cli.mjs"
-			}
-		},
-		"node_modules/git-up": {
-			"version": "8.1.1",
-			"resolved": "https://registry.npmjs.org/git-up/-/git-up-8.1.1.tgz",
-			"integrity": "sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-ssh": "^1.4.0",
-				"parse-url": "^9.2.0"
-			}
-		},
-		"node_modules/git-url-parse": {
-			"version": "16.1.0",
-			"resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-16.1.0.tgz",
-			"integrity": "sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"git-up": "^8.1.0"
-			}
-		},
-		"node_modules/glob-parent": {
-			"version": "5.1.2",
-			"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-			"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-			"dev": true,
-			"license": "ISC",
-			"dependencies": {
-				"is-glob": "^4.0.1"
-			},
-			"engines": {
-				"node": ">= 6"
-			}
-		},
-		"node_modules/globby": {
-			"version": "16.2.4",
-			"resolved": "https://registry.npmjs.org/globby/-/globby-16.2.4.tgz",
-			"integrity": "sha512-c8B/VNLmxRcmqqenRA9t+9IyOjf9+V6lTxPaUJLqOCONdQkWZ0ETYgX0qbtJqPsgCNusT9MZ5Jeidw8Eb9tn2g==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@sindresorhus/merge-streams": "^4.0.0",
-				"fast-glob": "^3.3.3",
-				"ignore": "^7.0.5",
-				"is-path-inside": "^4.0.0",
-				"micromatch": "^4.0.8",
-				"slash": "^5.1.0",
-				"unicorn-magic": "^0.4.0"
-			},
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/http-proxy-agent": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-9.1.0.tgz",
-			"integrity": "sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"agent-base": "9.0.0",
-				"debug": "^4.3.4",
-				"proxy-agent-negotiate": "1.1.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/https-proxy-agent": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-9.1.0.tgz",
-			"integrity": "sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"agent-base": "9.0.0",
-				"debug": "^4.3.4",
-				"proxy-agent-negotiate": "1.1.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/iconv-lite": {
-			"version": "0.7.3",
-			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz",
-			"integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"safer-buffer": ">= 2.1.2 < 3.0.0"
-			},
-			"engines": {
-				"node": ">=0.10.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/express"
-			}
-		},
-		"node_modules/ignore": {
-			"version": "7.0.10",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.10.tgz",
-			"integrity": "sha512-HpbUakT7xp5miBUywCHf36ZEuAJNklBJDDsGpUIjMzOSmM8ELSfA9Sa/QDPeNeqeoN31u+UTCkL4klCOVvRm4Q==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 4"
-			}
-		},
-		"node_modules/import-fresh": {
-			"version": "3.3.1",
-			"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
-			"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"parent-module": "^1.0.0",
-				"resolve-from": "^4.0.0"
-			},
-			"engines": {
-				"node": ">=6"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/inherits": {
-			"version": "2.0.4",
-			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-			"dev": true,
-			"license": "ISC"
-		},
-		"node_modules/ip-address": {
-			"version": "10.7.2",
-			"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.2.tgz",
-			"integrity": "sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 12"
-			}
-		},
-		"node_modules/is-alphabetical": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
-			"integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
-			"dev": true,
-			"license": "MIT",
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/is-alphanumerical": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
-			"integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-alphabetical": "^2.0.0",
-				"is-decimal": "^2.0.0"
-			},
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/is-arrayish": {
-			"version": "0.2.1",
-			"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-			"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/is-decimal": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
-			"integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
-			"dev": true,
-			"license": "MIT",
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/is-docker": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
-			"integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
-			"dev": true,
-			"license": "MIT",
-			"bin": {
-				"is-docker": "cli.js"
-			},
-			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/is-extglob": {
-			"version": "2.1.1",
-			"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-			"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
-		"node_modules/is-glob": {
-			"version": "4.0.3",
-			"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
-			"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-extglob": "^2.1.1"
-			},
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
-		"node_modules/is-hexadecimal": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
-			"integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
-			"dev": true,
-			"license": "MIT",
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/is-in-ssh": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz",
-			"integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/is-inside-container": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
-			"integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-docker": "^3.0.0"
-			},
-			"bin": {
-				"is-inside-container": "cli.js"
-			},
-			"engines": {
-				"node": ">=14.16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/is-interactive": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz",
-			"integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/is-number": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-			"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=0.12.0"
-			}
-		},
-		"node_modules/is-path-inside": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
-			"integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/is-ssh": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.1.tgz",
-			"integrity": "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"protocols": "^2.0.1"
-			}
-		},
-		"node_modules/is-unicode-supported": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
-			"integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/is-wsl": {
-			"version": "3.1.1",
-			"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz",
-			"integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-inside-container": "^1.0.0"
-			},
-			"engines": {
-				"node": ">=16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/issue-parser": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.2.tgz",
-			"integrity": "sha512-7atWPjhGEIX3JEtMrOYd8TKzboYlq+5sNbdl9POiLYOI14G5HZiQbZP0Xj5EZdrufQVXfJlpTV0hys0CuxwxZw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"lodash.capitalize": "^4.2.1",
-				"lodash.escaperegexp": "^4.1.2",
-				"lodash.isplainobject": "^4.0.6",
-				"lodash.isstring": "^4.0.1",
-				"lodash.uniqby": "^4.7.0"
-			},
-			"engines": {
-				"node": "^18.17 || >=20.6.1"
-			}
-		},
-		"node_modules/jiti": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
-			"integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
-			"dev": true,
-			"license": "MIT",
-			"bin": {
-				"jiti": "lib/jiti-cli.mjs"
-			}
-		},
-		"node_modules/js-tokens": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-			"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/js-yaml": {
-			"version": "4.3.2",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz",
-			"integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/nodeca"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"argparse": "^2.0.1"
-			},
-			"bin": {
-				"js-yaml": "bin/js-yaml.js"
-			}
-		},
-		"node_modules/json-parse-even-better-errors": {
-			"version": "2.3.1",
-			"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-			"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/json-with-bigint": {
-			"version": "3.5.8",
-			"resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz",
-			"integrity": "sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/jsonc-parser": {
-			"version": "3.3.1",
-			"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
-			"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/jsonpointer": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
-			"integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
-		"node_modules/katex": {
-			"version": "0.16.45",
-			"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.45.tgz",
-			"integrity": "sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==",
-			"dev": true,
-			"funding": [
-				"https://opencollective.com/katex",
-				"https://github.com/sponsors/katex"
-			],
-			"license": "MIT",
-			"dependencies": {
-				"commander": "^8.3.0"
-			},
-			"bin": {
-				"katex": "cli.js"
-			}
-		},
-		"node_modules/katex/node_modules/commander": {
-			"version": "8.3.0",
-			"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
-			"integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 12"
-			}
-		},
-		"node_modules/lines-and-columns": {
-			"version": "1.2.4",
-			"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
-			"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/linkify-it": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-6.1.0.tgz",
-			"integrity": "sha512-wJ/TwpSDTLepCrQoYWYIExIKg5Zchex2Nn5yk2mFnB+6PtdkHtyLx742md9csRjjOnGkKIS/RrbY7l8D6gT9Vw==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/markdown-it"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"uc.micro": "^3.0.0"
-			}
-		},
-		"node_modules/lint-staged": {
-			"version": "17.6.0",
-			"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.6.0.tgz",
-			"integrity": "sha512-nOhBfYkZEwkFtNzD5pK9s9LkcWoxJ+whLzEnhqi9nl7zTB5n7tg8+9iYgMGx2Wm3VlLu8cbNj0RACzY+nWi5iQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"picomatch": "^4.0.7",
-				"string-argv": "^0.3.2",
-				"tinyexec": "^1.3.1"
-			},
-			"bin": {
-				"lint-staged": "bin/lint-staged.js"
-			},
-			"engines": {
-				"node": ">=22.22.1"
-			},
-			"funding": {
-				"url": "https://opencollective.com/lint-staged"
-			},
-			"optionalDependencies": {
-				"yaml": "^2.9.1"
-			}
-		},
-		"node_modules/lockfile-lint": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/lockfile-lint/-/lockfile-lint-5.0.1.tgz",
-			"integrity": "sha512-Ukjf5yGBQwfl7L2niV3in7bU5wEww3+4Dkw89JGTzOuq18tzS7jaszl2oO7M6u+jcim080MfX5E4Gokt1KhRHQ==",
-			"dev": true,
-			"license": "Apache-2.0",
-			"dependencies": {
-				"cosmiconfig": "^9.0.0",
-				"debug": "^4.3.4",
-				"lockfile-lint-api": "^5.9.2",
-				"tinyglobby": "^0.2.15",
-				"yargs": "^17.7.2"
-			},
-			"bin": {
-				"lockfile-lint": "bin/lockfile-lint.js"
-			},
-			"engines": {
-				"node": ">=16.0.0"
-			}
-		},
-		"node_modules/lockfile-lint-api": {
-			"version": "5.9.2",
-			"resolved": "https://registry.npmjs.org/lockfile-lint-api/-/lockfile-lint-api-5.9.2.tgz",
-			"integrity": "sha512-3QhxWxl3jT9GcMxuCnTsU8Tz5U6U1lKBlKBu2zOYOz/x3ONUoojEtky3uzoaaDgExcLqIX0Aqv2I7TZXE383CQ==",
-			"dev": true,
-			"license": "Apache-2.0",
-			"dependencies": {
-				"@yarnpkg/parsers": "^3.0.0-rc.48.1",
-				"debug": "^4.3.4",
-				"object-hash": "^3.0.0"
-			},
-			"engines": {
-				"node": ">=16.0.0"
-			}
-		},
-		"node_modules/lodash-es": {
-			"version": "4.18.1",
-			"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
-			"integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/lodash.capitalize": {
-			"version": "4.2.1",
-			"resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz",
-			"integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/lodash.escaperegexp": {
-			"version": "4.1.2",
-			"resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
-			"integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/lodash.isplainobject": {
-			"version": "4.0.6",
-			"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
-			"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/lodash.isstring": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
-			"integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/lodash.merge": {
-			"version": "4.6.2",
-			"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/lodash.uniqby": {
-			"version": "4.7.0",
-			"resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
-			"integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/log-symbols": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz",
-			"integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-unicode-supported": "^2.0.0",
-				"yoctocolors": "^2.1.1"
-			},
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/lru-cache": {
-			"version": "7.18.3",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-			"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
-			"dev": true,
-			"license": "ISC",
-			"engines": {
-				"node": ">=12"
-			}
-		},
-		"node_modules/macos-release": {
-			"version": "3.4.0",
-			"resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.4.0.tgz",
-			"integrity": "sha512-wpGPwyg/xrSp4H4Db4xYSeAr6+cFQGHfspHzDUdYxswDnUW0L5Ov63UuJiSr8NMSpyaChO4u1n0MXUvVPtrN6A==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/markdown-it": {
-			"version": "15.0.2",
-			"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-15.0.2.tgz",
-			"integrity": "sha512-q4IGxMv56jCqT4OCRCADBoDP3LO4MhmTXjFbphHPXs4g3j9Xg5RDnxqN8IF/3vIWEU+VCnUq+7JUg/cfy2E6Qw==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/markdown-it"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"argparse": "^3.0.0",
-				"entities": "^8.0.0",
-				"linkify-it": "^6.0.0",
-				"mdurl": "^2.1.0",
-				"punycode.js": "^2.3.1",
-				"uc.micro": "^3.0.0"
-			},
-			"bin": {
-				"markdown-it": "bin/markdown-it.mjs"
-			}
-		},
-		"node_modules/markdown-it/node_modules/argparse": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/argparse/-/argparse-3.0.2.tgz",
-			"integrity": "sha512-mFdDM6WqWKraGLsVb+C9CahPnzTXOefAOLq3jYcca2YZ8bEWpr++Tzj+zSaKW9+X9L5uSxcm1AZ3Y6aZJ09OhQ==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/nodeca"
-				}
-			],
-			"license": "PSF-2.0"
-		},
-		"node_modules/markdownlint": {
-			"version": "0.41.1",
-			"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.1.tgz",
-			"integrity": "sha512-qHKeU2E1bdyNAT077go2FVTNXvYcktN5IHtF6XyeD1l0PClxzSp2tUApAV14ORI8DGX4H9bNKZEzelZp4qn8IA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"micromark": "4.0.2",
-				"micromark-core-commonmark": "2.0.3",
-				"micromark-extension-directive": "4.0.0",
-				"micromark-extension-gfm-autolink-literal": "2.1.0",
-				"micromark-extension-gfm-footnote": "2.1.0",
-				"micromark-extension-gfm-table": "2.1.1",
-				"micromark-extension-math": "3.1.0",
-				"micromark-util-types": "2.0.2",
-				"string-width": "8.2.1"
-			},
-			"engines": {
-				"node": ">=22"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/DavidAnson"
-			}
-		},
-		"node_modules/markdownlint-cli2": {
-			"version": "0.23.3",
-			"resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.23.3.tgz",
-			"integrity": "sha512-xAr5o/TGpC3v6lE6cKIW4b5eOFRrRX5u7Vtjae9ix3RALv8nNOd94XMkD/1OXXBtpMcJ4uQGbpSo3hv5UqS4uQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"globby": "16.2.4",
-				"js-yaml": "5.4.1",
-				"jsonc-parser": "3.3.1",
-				"jsonpointer": "5.0.1",
-				"markdown-it": "15.0.1",
-				"markdownlint": "0.41.1",
-				"markdownlint-cli2-formatter-default": "0.0.6",
-				"micromatch": "4.0.8",
-				"smol-toml": "1.8.0"
-			},
-			"bin": {
-				"markdownlint-cli2": "markdownlint-cli2-bin.mjs"
-			},
-			"engines": {
-				"node": ">=22"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/DavidAnson"
-			}
-		},
-		"node_modules/markdownlint-cli2-formatter-default": {
-			"version": "0.0.6",
-			"resolved": "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.6.tgz",
-			"integrity": "sha512-VVDGKsq9sgzu378swJ0fcHfSicUnMxnL8gnLm/Q4J/xsNJ4e5bA6lvAz7PCzIl0/No0lHyaWdqVD2jotxOSFMQ==",
-			"dev": true,
-			"license": "MIT",
-			"funding": {
-				"url": "https://github.com/sponsors/DavidAnson"
-			},
-			"peerDependencies": {
-				"markdownlint-cli2": ">=0.0.4"
-			}
-		},
-		"node_modules/markdownlint-cli2/node_modules/js-yaml": {
-			"version": "5.4.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.1.tgz",
-			"integrity": "sha512-28R/k+NAjeuf7+CKlTxWZVExJGwVVLwY06DgEnOMz2gEpfNkDcD7QvyiVPT0xy0XXhU8vHsd4Ot42OOPdJG7dQ==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/nodeca"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"argparse": "^2.0.1"
-			},
-			"bin": {
-				"js-yaml": "bin/js-yaml.mjs"
-			}
-		},
-		"node_modules/markdownlint-cli2/node_modules/markdown-it": {
-			"version": "15.0.1",
-			"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-15.0.1.tgz",
-			"integrity": "sha512-9/7gE95FNPkfUWrjJIoHZza2iLmuJlPD0UNMxPi7bxUrbCR525YZY0r+zyfes0dZI5ZZ/uNIXUJca0pJvtw41g==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/markdown-it"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"argparse": "^3.0.0",
-				"entities": "^8.0.0",
-				"linkify-it": "^6.0.0",
-				"mdurl": "^2.1.0",
-				"punycode.js": "^2.3.1",
-				"uc.micro": "^3.0.0"
-			},
-			"bin": {
-				"markdown-it": "bin/markdown-it.mjs"
-			}
-		},
-		"node_modules/markdownlint-cli2/node_modules/markdown-it/node_modules/argparse": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/argparse/-/argparse-3.0.2.tgz",
-			"integrity": "sha512-mFdDM6WqWKraGLsVb+C9CahPnzTXOefAOLq3jYcca2YZ8bEWpr++Tzj+zSaKW9+X9L5uSxcm1AZ3Y6aZJ09OhQ==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/nodeca"
-				}
-			],
-			"license": "PSF-2.0"
-		},
-		"node_modules/markdownlint-micromark": {
-			"version": "0.1.2",
-			"resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.2.tgz",
-			"integrity": "sha512-jRxlQg8KpOfM2IbCL9RXM8ZiYWz2rv6DlZAnGv8ASJQpUh6byTBnEsbuMZ6T2/uIgntyf7SKg/mEaEBo1164fQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=14.18.0"
-			}
-		},
-		"node_modules/markdownlint-rule-extended-ascii": {
-			"version": "0.2.1",
-			"resolved": "https://registry.npmjs.org/markdownlint-rule-extended-ascii/-/markdownlint-rule-extended-ascii-0.2.1.tgz",
-			"integrity": "sha512-R7ED3LfGk87Jv2lx2a4BwkSAR3dYtlXmLR+taBYyVMttAu8j6Xq/W/rDU9UUaMAMEGYpUwvCzxIAyEDrRyU/9A==",
-			"dev": true,
-			"license": "MIT",
-			"funding": {
-				"url": "https://github.com/sponsors/DavidAnson"
-			}
-		},
-		"node_modules/markdownlint-rule-helpers": {
-			"version": "0.21.0",
-			"resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.21.0.tgz",
-			"integrity": "sha512-27WM6H76t79EZjEl3jSabV0ZzXsC5QaSslI/5N1XuXV0mJRA6i3BPMGFrtZUbhlCNgtY6oC9h5JhtpDMv95tKg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"markdownlint-micromark": "0.1.2"
-			},
-			"engines": {
-				"node": ">=16"
-			}
-		},
-		"node_modules/markdownlint-rule-list-duplicates": {
-			"version": "0.0.1",
-			"resolved": "https://registry.npmjs.org/markdownlint-rule-list-duplicates/-/markdownlint-rule-list-duplicates-0.0.1.tgz",
-			"integrity": "sha512-0dNOduVGbipS0YuUIX9OcLzojBxl/q+bXV1wRdYll2vyOVYekPdtm2fSrAKTnimOxNkQax7Qu2flOxxl+tXWkQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"string-strip-html": "^8.3.0"
-			}
-		},
-		"node_modules/markdownlint-rule-relative-links": {
-			"version": "5.1.3",
-			"resolved": "https://registry.npmjs.org/markdownlint-rule-relative-links/-/markdownlint-rule-relative-links-5.1.3.tgz",
-			"integrity": "sha512-1ZRV3OyApUoYm4YVdLNZIN6vUVLzacD74n+yKx9ZL4H5yTmiLP2nKTwQMfOla158gblVL0jbB7QLLh3nmKUqvA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"markdown-it": "15.0.1",
-				"mime": "4.1.0"
-			},
-			"engines": {
-				"node": ">=22.0.0"
-			}
-		},
-		"node_modules/markdownlint-rule-relative-links/node_modules/argparse": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/argparse/-/argparse-3.0.2.tgz",
-			"integrity": "sha512-mFdDM6WqWKraGLsVb+C9CahPnzTXOefAOLq3jYcca2YZ8bEWpr++Tzj+zSaKW9+X9L5uSxcm1AZ3Y6aZJ09OhQ==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/nodeca"
-				}
-			],
-			"license": "PSF-2.0"
-		},
-		"node_modules/markdownlint-rule-relative-links/node_modules/markdown-it": {
-			"version": "15.0.1",
-			"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-15.0.1.tgz",
-			"integrity": "sha512-9/7gE95FNPkfUWrjJIoHZza2iLmuJlPD0UNMxPi7bxUrbCR525YZY0r+zyfes0dZI5ZZ/uNIXUJca0pJvtw41g==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/puzrin"
-				},
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/markdown-it"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"argparse": "^3.0.0",
-				"entities": "^8.0.0",
-				"linkify-it": "^6.0.0",
-				"mdurl": "^2.1.0",
-				"punycode.js": "^2.3.1",
-				"uc.micro": "^3.0.0"
-			},
-			"bin": {
-				"markdown-it": "bin/markdown-it.mjs"
-			}
-		},
-		"node_modules/markdownlint-rule-search-replace": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/markdownlint-rule-search-replace/-/markdownlint-rule-search-replace-1.2.0.tgz",
-			"integrity": "sha512-l2eeVjb0ijxO+dO1ZrODcht+qnJ0VuiAAdBx1J8oa2kAugXl3NhxAGjfNuTfEJae5OQbdSGT+NjMczyzBXvWMA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"markdownlint-rule-helpers": "0.21.0"
-			},
-			"engines": {
-				"node": ">=16"
-			}
-		},
-		"node_modules/markdownlint-rule-title-case-style": {
-			"version": "0.4.3",
-			"resolved": "https://registry.npmjs.org/markdownlint-rule-title-case-style/-/markdownlint-rule-title-case-style-0.4.3.tgz",
-			"integrity": "sha512-BM6kedlbhMTP4wTrQ20IBf0UgwSE330JaEuexkPqz8cDDng0gFwjD8YO85hkF/NKTUBg3cA5wVFQlFsWtL1Yuw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"markdownlint": "^0.31.1",
-				"title-case": "^4.1.2"
-			}
-		},
-		"node_modules/mdurl": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.1.0.tgz",
-			"integrity": "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/merge2": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
-			"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 8"
-			}
-		},
-		"node_modules/micromark": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
-			"integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"@types/debug": "^4.0.0",
-				"debug": "^4.0.0",
-				"decode-named-character-reference": "^1.0.0",
-				"devlop": "^1.0.0",
-				"micromark-core-commonmark": "^2.0.0",
-				"micromark-factory-space": "^2.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-chunked": "^2.0.0",
-				"micromark-util-combine-extensions": "^2.0.0",
-				"micromark-util-decode-numeric-character-reference": "^2.0.0",
-				"micromark-util-encode": "^2.0.0",
-				"micromark-util-normalize-identifier": "^2.0.0",
-				"micromark-util-resolve-all": "^2.0.0",
-				"micromark-util-sanitize-uri": "^2.0.0",
-				"micromark-util-subtokenize": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-core-commonmark": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
-			"integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"decode-named-character-reference": "^1.0.0",
-				"devlop": "^1.0.0",
-				"micromark-factory-destination": "^2.0.0",
-				"micromark-factory-label": "^2.0.0",
-				"micromark-factory-space": "^2.0.0",
-				"micromark-factory-title": "^2.0.0",
-				"micromark-factory-whitespace": "^2.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-chunked": "^2.0.0",
-				"micromark-util-classify-character": "^2.0.0",
-				"micromark-util-html-tag-name": "^2.0.0",
-				"micromark-util-normalize-identifier": "^2.0.0",
-				"micromark-util-resolve-all": "^2.0.0",
-				"micromark-util-subtokenize": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-extension-directive": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz",
-			"integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"devlop": "^1.0.0",
-				"micromark-factory-space": "^2.0.0",
-				"micromark-factory-whitespace": "^2.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0",
-				"parse-entities": "^4.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/unified"
-			}
-		},
-		"node_modules/micromark-extension-gfm-autolink-literal": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
-			"integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-sanitize-uri": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/unified"
-			}
-		},
-		"node_modules/micromark-extension-gfm-footnote": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
-			"integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"devlop": "^1.0.0",
-				"micromark-core-commonmark": "^2.0.0",
-				"micromark-factory-space": "^2.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-normalize-identifier": "^2.0.0",
-				"micromark-util-sanitize-uri": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/unified"
-			}
-		},
-		"node_modules/micromark-extension-gfm-table": {
-			"version": "2.1.1",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
-			"integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"devlop": "^1.0.0",
-				"micromark-factory-space": "^2.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/unified"
-			}
-		},
-		"node_modules/micromark-extension-math": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz",
-			"integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@types/katex": "^0.16.0",
-				"devlop": "^1.0.0",
-				"katex": "^0.16.0",
-				"micromark-factory-space": "^2.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/unified"
-			}
-		},
-		"node_modules/micromark-factory-destination": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
-			"integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-factory-label": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
-			"integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"devlop": "^1.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-factory-space": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
-			"integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-factory-title": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
-			"integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-factory-space": "^2.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-factory-whitespace": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
-			"integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-factory-space": "^2.0.0",
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-character": {
-			"version": "2.1.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
-			"integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-chunked": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
-			"integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-symbol": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-classify-character": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
-			"integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-combine-extensions": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
-			"integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-chunked": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-decode-numeric-character-reference": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
-			"integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-symbol": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-encode": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
-			"integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT"
-		},
-		"node_modules/micromark-util-html-tag-name": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
-			"integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT"
-		},
-		"node_modules/micromark-util-normalize-identifier": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
-			"integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-symbol": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-resolve-all": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
-			"integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-sanitize-uri": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
-			"integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"micromark-util-character": "^2.0.0",
-				"micromark-util-encode": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-subtokenize": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
-			"integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"devlop": "^1.0.0",
-				"micromark-util-chunked": "^2.0.0",
-				"micromark-util-symbol": "^2.0.0",
-				"micromark-util-types": "^2.0.0"
-			}
-		},
-		"node_modules/micromark-util-symbol": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
-			"integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT"
-		},
-		"node_modules/micromark-util-types": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
-			"integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "GitHub Sponsors",
-					"url": "https://github.com/sponsors/unifiedjs"
-				},
-				{
-					"type": "OpenCollective",
-					"url": "https://opencollective.com/unified"
-				}
-			],
-			"license": "MIT"
-		},
-		"node_modules/micromatch": {
-			"version": "4.0.8",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
-			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"braces": "^3.0.3",
-				"picomatch": "^2.3.1"
-			},
-			"engines": {
-				"node": ">=8.6"
-			}
-		},
-		"node_modules/micromatch/node_modules/picomatch": {
-			"version": "2.3.2",
-			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
-			"integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8.6"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/jonschlinkert"
-			}
-		},
-		"node_modules/mime": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/mime/-/mime-4.1.0.tgz",
-			"integrity": "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==",
-			"dev": true,
-			"funding": [
-				"https://github.com/sponsors/broofa"
-			],
-			"license": "MIT",
-			"bin": {
-				"mime": "bin/cli.js"
-			},
-			"engines": {
-				"node": ">=16"
-			}
-		},
-		"node_modules/mime-db": {
-			"version": "1.54.0",
-			"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
-			"integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 0.6"
-			}
-		},
-		"node_modules/mime-types": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
-			"integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"mime-db": "^1.54.0"
-			},
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/express"
-			}
-		},
-		"node_modules/mimic-function": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
-			"integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/ms": {
-			"version": "2.1.3",
-			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
-			"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/mute-stream": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz",
-			"integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==",
-			"dev": true,
-			"license": "ISC",
-			"engines": {
-				"node": "^20.17.0 || >=22.9.0"
-			}
-		},
-		"node_modules/netmask": {
-			"version": "2.1.1",
-			"resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz",
-			"integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 0.4.0"
-			}
-		},
-		"node_modules/new-github-release-url": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz",
-			"integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"type-fest": "^2.5.1"
-			},
-			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/object-hash": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
-			"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 6"
-			}
-		},
-		"node_modules/ohash": {
-			"version": "2.0.12",
-			"resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.12.tgz",
-			"integrity": "sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/onetime": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
-			"integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"mimic-function": "^5.0.0"
-			},
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/open": {
-			"version": "11.0.4",
-			"resolved": "https://registry.npmjs.org/open/-/open-11.0.4.tgz",
-			"integrity": "sha512-++Zlftm0kVLPmzC06t6epuWmcRMDbI4z5P3NNX979WA/k23+NtSOynEGzsVfZwguKw2mi5umVgnBlJQMwRz4Pg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"default-browser": "^5.5.1",
-				"define-lazy-prop": "^3.0.0",
-				"is-in-ssh": "^1.0.0",
-				"is-inside-container": "^1.0.0",
-				"powershell-utils": "^0.2.1",
-				"wsl-utils": "^1.0.0"
-			},
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/ora": {
-			"version": "9.4.1",
-			"resolved": "https://registry.npmjs.org/ora/-/ora-9.4.1.tgz",
-			"integrity": "sha512-6VlU9MLXbjVQD04AZCMX28hVtA5bUoadvUqO76MUCVA0ilwJbMiHsITRPfyVm6p/BC0Av/BXMujx39WCe1LEqw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"chalk": "^5.6.2",
-				"cli-cursor": "^5.0.0",
-				"cli-spinners": "^3.2.0",
-				"is-interactive": "^2.0.0",
-				"is-unicode-supported": "^2.1.0",
-				"log-symbols": "^7.0.1",
-				"stdin-discarder": "^0.3.2",
-				"string-width": "^8.1.0"
-			},
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/os-name": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/os-name/-/os-name-7.0.0.tgz",
-			"integrity": "sha512-/HfRU/lPPr4T2VigM+cvM3cU77es+XF4OEAa4aE5zpdvrxHGD2NmH0AFIWpMNAb+CsZL45rlcIO49Re0ZcRseg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"macos-release": "^3.4.0",
-				"windows-release": "^7.1.0"
-			},
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/pac-proxy-agent": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-9.1.0.tgz",
-			"integrity": "sha512-1aU+1mpj3DrQPfo3gh+3Gap3G5x+axnMx1P/y0ZF2ch7kb2meyOCAH8K2k9d27ROsTE7TnAerzxqF9aon2jqnA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"agent-base": "9.0.0",
-				"debug": "^4.3.4",
-				"get-uri": "8.0.1",
-				"http-proxy-agent": "9.1.0",
-				"https-proxy-agent": "9.1.0",
-				"pac-resolver": "9.0.1",
-				"quickjs-wasi": "^2.2.0",
-				"socks-proxy-agent": "10.1.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/pac-resolver": {
-			"version": "9.0.1",
-			"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-9.0.1.tgz",
-			"integrity": "sha512-lJbS008tmkj08VhoM8Hzuv/VE5tK9MS0OIQ/7+s0lIF+BYhiQWFYzkSpML7lXs9iBu2jfmzBTLzhe9n6BX+dYw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"degenerator": "7.0.1",
-				"netmask": "^2.0.2"
-			},
-			"engines": {
-				"node": ">= 20"
-			},
-			"peerDependencies": {
-				"quickjs-wasi": "^2.2.0"
-			}
-		},
-		"node_modules/parent-module": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-			"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"callsites": "^3.0.0"
-			},
-			"engines": {
-				"node": ">=6"
-			}
-		},
-		"node_modules/parse-entities": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
-			"integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@types/unist": "^2.0.0",
-				"character-entities-legacy": "^3.0.0",
-				"character-reference-invalid": "^2.0.0",
-				"decode-named-character-reference": "^1.0.0",
-				"is-alphanumerical": "^2.0.0",
-				"is-decimal": "^2.0.0",
-				"is-hexadecimal": "^2.0.0"
-			},
-			"funding": {
-				"type": "github",
-				"url": "https://github.com/sponsors/wooorm"
-			}
-		},
-		"node_modules/parse-json": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
-			"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@babel/code-frame": "^7.0.0",
-				"error-ex": "^1.3.1",
-				"json-parse-even-better-errors": "^2.3.0",
-				"lines-and-columns": "^1.1.6"
-			},
-			"engines": {
-				"node": ">=8"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/parse-path": {
-			"version": "7.1.0",
-			"resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.1.0.tgz",
-			"integrity": "sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"protocols": "^2.0.0"
-			}
-		},
-		"node_modules/parse-url": {
-			"version": "9.2.0",
-			"resolved": "https://registry.npmjs.org/parse-url/-/parse-url-9.2.0.tgz",
-			"integrity": "sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@types/parse-path": "^7.0.0",
-				"parse-path": "^7.0.0"
-			},
-			"engines": {
-				"node": ">=14.13.0"
-			}
-		},
-		"node_modules/pathe": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
-			"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/perfect-debounce": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz",
-			"integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/picocolors": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
-			"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
-			"dev": true,
-			"license": "ISC"
-		},
-		"node_modules/picomatch": {
-			"version": "4.0.7",
-			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
-			"integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/jonschlinkert"
-			}
-		},
-		"node_modules/pkg-types": {
-			"version": "2.3.3",
-			"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.3.tgz",
-			"integrity": "sha512-j/lCFdcppV0JxWpCEITdbDltBxPP6cHT+yNJ6Go2OgoSA9518X847X9z0p6LtA4Nc16+eQzCZjRrWanTGvHJ5w==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"confbox": "^0.3.1",
-				"exsolve": "^1.1.1",
-				"pathe": "^2.0.3"
-			}
-		},
-		"node_modules/pkg-types/node_modules/confbox": {
-			"version": "0.3.1",
-			"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.3.1.tgz",
-			"integrity": "sha512-cKUSoKa8YxFZZSmraVi7onONx3amu77ngK3kGpsYHDH7drPwCRkQE1RYMPlLRrMtnciRj274XNRxcHxnKmDSnA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/playwright": {
-			"version": "1.63.0",
-			"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz",
-			"integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==",
-			"dev": true,
-			"license": "Apache-2.0",
-			"dependencies": {
-				"playwright-core": "1.63.0"
-			},
-			"bin": {
-				"playwright": "cli.js"
-			},
-			"engines": {
-				"node": ">=20"
-			}
-		},
-		"node_modules/playwright-core": {
-			"version": "1.63.0",
-			"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz",
-			"integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==",
-			"dev": true,
-			"license": "Apache-2.0",
-			"bin": {
-				"playwright-core": "cli.js"
-			},
-			"engines": {
-				"node": ">=20"
-			}
-		},
-		"node_modules/powershell-utils": {
-			"version": "0.2.1",
-			"resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.2.1.tgz",
-			"integrity": "sha512-C+y9x90UElAddDZmV4qOx9W53B61PO7cIqWz2dQsWlwswuq4mr8NEwytdGKboYbQlGZ3awrkTeNvcZiZNHnQ8A==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/protocols": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.2.tgz",
-			"integrity": "sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/proxy-agent": {
-			"version": "8.0.2",
-			"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-8.0.2.tgz",
-			"integrity": "sha512-idLLRewuemWd7GH/BDJzGiB0dWGfT2SQs3jy6NtZtGWU9uPTTSdeC1/cdbqLwgzhfv027daGFuXX426e2Eg20A==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"agent-base": "9.0.0",
-				"debug": "^4.3.4",
-				"http-proxy-agent": "9.1.0",
-				"https-proxy-agent": "9.1.0",
-				"lru-cache": "^7.14.1",
-				"pac-proxy-agent": "9.1.0",
-				"proxy-from-env": "^2.0.0",
-				"socks-proxy-agent": "10.1.0"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/proxy-agent-negotiate": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/proxy-agent-negotiate/-/proxy-agent-negotiate-1.1.0.tgz",
-			"integrity": "sha512-N8IBcM3UgCVzz2L2Lqv8DVntDnnC8/hiV4nEDUPkqq72TPUgYWjQc+bdZlBPZK9LzPAvOY//gAt0S0DApoOXWQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 20"
-			},
-			"peerDependencies": {
-				"kerberos": "^2.0.0"
-			},
-			"peerDependenciesMeta": {
-				"kerberos": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/proxy-from-env": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
-			"integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=10"
-			}
-		},
-		"node_modules/punycode.js": {
-			"version": "2.3.1",
-			"resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
-			"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=6"
-			}
-		},
-		"node_modules/queue-microtask": {
-			"version": "1.2.3",
-			"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
-			"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/feross"
-				},
-				{
-					"type": "patreon",
-					"url": "https://www.patreon.com/feross"
-				},
-				{
-					"type": "consulting",
-					"url": "https://feross.org/support"
-				}
-			],
-			"license": "MIT"
-		},
-		"node_modules/quickjs-wasi": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/quickjs-wasi/-/quickjs-wasi-2.2.0.tgz",
-			"integrity": "sha512-zQxXmQMrEoD3S+jQdYsloq4qAuaxKFHZj6hHqOYGwB2iQZH+q9e/lf5zQPXCKOk0WJuAjzRFbO4KwHIp2D05Iw==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/rc9": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/rc9/-/rc9-3.1.0.tgz",
-			"integrity": "sha512-ufjkNVzbRHKcCOmTahZkmVsyc3W+MSk3jY03m+a7tGHkIsdVMG9l10/3HvFbWkkKzY5VFp3pkRsIo/UYgmFL7Q==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"defu": "^6.1.7",
-				"destr": "^2.0.5"
-			}
-		},
-		"node_modules/readable-stream": {
-			"version": "3.6.2",
-			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
-			"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"inherits": "^2.0.3",
-				"string_decoder": "^1.1.1",
-				"util-deprecate": "^1.0.1"
-			},
-			"engines": {
-				"node": ">= 6"
-			}
-		},
-		"node_modules/readdirp": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz",
-			"integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 20.19.0"
-			},
-			"funding": {
-				"type": "individual",
-				"url": "https://paulmillr.com/funding/"
-			}
-		},
-		"node_modules/release-it": {
-			"version": "21.1.0",
-			"resolved": "https://registry.npmjs.org/release-it/-/release-it-21.1.0.tgz",
-			"integrity": "sha512-jR179wu8Z9BKfhd0wVmUmzjshCnezUkULdHW5rSCjKTXApdr6mAJjw/R339uXS43mLCz6iAFO6ffS27+N1dy8A==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/webpro"
-				},
-				{
-					"type": "opencollective",
-					"url": "https://opencollective.com/webpro"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"@inquirer/prompts": "8.7.2",
-				"@octokit/rest": "22.0.1",
-				"@phun-ky/typeof": "2.0.3",
-				"async-retry": "1.3.3",
-				"c12": "3.3.4",
-				"ci-info": "^4.4.0",
-				"defu": "^6.1.7",
-				"eta": "4.6.0",
-				"git-url-parse": "16.1.0",
-				"issue-parser": "7.0.2",
-				"lodash.merge": "4.6.2",
-				"mime-types": "3.0.2",
-				"new-github-release-url": "2.0.0",
-				"open": "11.0.4",
-				"ora": "9.4.1",
-				"os-name": "7.0.0",
-				"proxy-agent": "8.0.2",
-				"tinyglobby": "0.2.17",
-				"undici": "7.29.0",
-				"url-join": "5.0.0",
-				"verkit": "0.4.0",
-				"wildcard-match": "5.1.4"
-			},
-			"bin": {
-				"release-it": "bin/release-it.js"
-			},
-			"engines": {
-				"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
-			}
-		},
-		"node_modules/require-directory": {
-			"version": "2.1.1",
-			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-			"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
-		"node_modules/resolve-from": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-			"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/restore-cursor": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
-			"integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"onetime": "^7.0.0",
-				"signal-exit": "^4.1.0"
-			},
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/retry": {
-			"version": "0.13.1",
-			"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
-			"integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 4"
-			}
-		},
-		"node_modules/reusify": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
-			"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"iojs": ">=1.0.0",
-				"node": ">=0.10.0"
-			}
-		},
-		"node_modules/run-applescript": {
-			"version": "7.1.0",
-			"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
-			"integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/run-parallel": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
-			"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/feross"
-				},
-				{
-					"type": "patreon",
-					"url": "https://www.patreon.com/feross"
-				},
-				{
-					"type": "consulting",
-					"url": "https://feross.org/support"
-				}
-			],
-			"license": "MIT",
-			"dependencies": {
-				"queue-microtask": "^1.2.2"
-			}
-		},
-		"node_modules/safe-buffer": {
-			"version": "5.2.1",
-			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-			"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/feross"
-				},
-				{
-					"type": "patreon",
-					"url": "https://www.patreon.com/feross"
-				},
-				{
-					"type": "consulting",
-					"url": "https://feross.org/support"
-				}
-			],
-			"license": "MIT"
-		},
-		"node_modules/safer-buffer": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/semver": {
-			"version": "7.8.5",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
-			"integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
-			"dev": true,
-			"license": "ISC",
-			"bin": {
-				"semver": "bin/semver.js"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
-		"node_modules/signal-exit": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
-			"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
-			"dev": true,
-			"license": "ISC",
-			"engines": {
-				"node": ">=14"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/isaacs"
-			}
-		},
-		"node_modules/simple-git-hooks": {
-			"version": "2.14.0",
-			"resolved": "https://registry.npmjs.org/simple-git-hooks/-/simple-git-hooks-2.14.0.tgz",
-			"integrity": "sha512-kkTORPAuxQz2g1QUuN0J8yGWT28tjGBfPOdJ4xT7Vbeu30veKUZQIoID2qGgCDAakaQn59UeZJJ4cFGB8PVP2A==",
-			"dev": true,
-			"hasInstallScript": true,
-			"license": "MIT",
-			"bin": {
-				"simple-git-hooks": "cli.js"
-			}
-		},
-		"node_modules/slash": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
-			"integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=14.16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/smart-buffer": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
-			"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 6.0.0",
-				"npm": ">= 3.0.0"
-			}
-		},
-		"node_modules/smol-toml": {
-			"version": "1.8.0",
-			"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.8.0.tgz",
-			"integrity": "sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==",
-			"dev": true,
-			"license": "BSD-3-Clause",
-			"engines": {
-				"node": ">= 18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/cyyynthia"
-			}
-		},
-		"node_modules/socks": {
-			"version": "2.8.10",
-			"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.10.tgz",
-			"integrity": "sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"ip-address": "^10.1.1",
-				"smart-buffer": "^4.2.0"
-			},
-			"engines": {
-				"node": ">= 10.0.0",
-				"npm": ">= 3.0.0"
-			}
-		},
-		"node_modules/socks-proxy-agent": {
-			"version": "10.1.0",
-			"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-10.1.0.tgz",
-			"integrity": "sha512-WlMj/67cEJ6MDI1OcsnjuYKDNDoyPCCYZ249kuuXPiMDw9F8PXkVaQ7YWu3siTydfQ/4BEZcvGzu+aYvz7dDCQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"agent-base": "9.0.0",
-				"debug": "^4.3.4",
-				"socks": "^2.8.3"
-			},
-			"engines": {
-				"node": ">= 20"
-			}
-		},
-		"node_modules/source-map": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-			"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-			"dev": true,
-			"license": "BSD-3-Clause",
-			"optional": true,
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
-		"node_modules/sprintf-js": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-			"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
-			"dev": true,
-			"license": "BSD-3-Clause"
-		},
-		"node_modules/stdin-discarder": {
-			"version": "0.3.2",
-			"resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz",
-			"integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/string_decoder": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"safe-buffer": "~5.2.0"
-			}
-		},
-		"node_modules/string-argv": {
-			"version": "0.3.2",
-			"resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
-			"integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=0.6.19"
-			}
-		},
-		"node_modules/string-strip-html": {
-			"version": "8.5.0",
-			"resolved": "https://registry.npmjs.org/string-strip-html/-/string-strip-html-8.5.0.tgz",
-			"integrity": "sha512-5ICsK1B1j0A3AF1d45m0sqQCcmi1Q+t1QpF+b794LO5FTHV+ITkGR5C+UCDJQZgs5LMuRruqr6j48PxQVIurJQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=14"
-			}
-		},
-		"node_modules/string-width": {
-			"version": "8.2.1",
-			"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
-			"integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"get-east-asian-width": "^1.5.0",
-				"strip-ansi": "^7.1.2"
-			},
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/strip-ansi": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
-			"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"ansi-regex": "^6.2.2"
-			},
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/chalk/strip-ansi?sponsor=1"
-			}
-		},
-		"node_modules/tinyexec": {
-			"version": "1.3.1",
-			"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz",
-			"integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			}
-		},
-		"node_modules/tinyglobby": {
-			"version": "0.2.17",
-			"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
-			"integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"fdir": "^6.5.0",
-				"picomatch": "^4.0.4"
-			},
-			"engines": {
-				"node": ">=12.0.0"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/SuperchupuDev"
-			}
-		},
-		"node_modules/title-case": {
-			"version": "4.3.2",
-			"resolved": "https://registry.npmjs.org/title-case/-/title-case-4.3.2.tgz",
-			"integrity": "sha512-I/nkcBo73mO42Idfv08jhInV61IMb61OdIFxk+B4Gu1oBjWBPOLmhZdsli+oJCVaD+86pYQA93cJfFt224ZFAA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/to-regex-range": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-			"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-number": "^7.0.0"
-			},
-			"engines": {
-				"node": ">=8.0"
-			}
-		},
-		"node_modules/tslib": {
-			"version": "2.8.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
-			"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
-			"dev": true,
-			"license": "0BSD"
-		},
-		"node_modules/type-fest": {
-			"version": "2.19.0",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
-			"integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
-			"dev": true,
-			"license": "(MIT OR CC0-1.0)",
-			"engines": {
-				"node": ">=12.20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/typedarray": {
-			"version": "0.0.6",
-			"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-			"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/typescript": {
-			"version": "7.0.2",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz",
-			"integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==",
-			"dev": true,
-			"license": "Apache-2.0",
-			"bin": {
-				"tsc": "bin/tsc"
-			},
-			"engines": {
-				"node": ">=16.20.0"
-			},
-			"optionalDependencies": {
-				"@typescript/typescript-aix-ppc64": "7.0.2",
-				"@typescript/typescript-darwin-arm64": "7.0.2",
-				"@typescript/typescript-darwin-x64": "7.0.2",
-				"@typescript/typescript-freebsd-arm64": "7.0.2",
-				"@typescript/typescript-freebsd-x64": "7.0.2",
-				"@typescript/typescript-linux-arm": "7.0.2",
-				"@typescript/typescript-linux-arm64": "7.0.2",
-				"@typescript/typescript-linux-loong64": "7.0.2",
-				"@typescript/typescript-linux-mips64el": "7.0.2",
-				"@typescript/typescript-linux-ppc64": "7.0.2",
-				"@typescript/typescript-linux-riscv64": "7.0.2",
-				"@typescript/typescript-linux-s390x": "7.0.2",
-				"@typescript/typescript-linux-x64": "7.0.2",
-				"@typescript/typescript-netbsd-arm64": "7.0.2",
-				"@typescript/typescript-netbsd-x64": "7.0.2",
-				"@typescript/typescript-openbsd-arm64": "7.0.2",
-				"@typescript/typescript-openbsd-x64": "7.0.2",
-				"@typescript/typescript-sunos-x64": "7.0.2",
-				"@typescript/typescript-win32-arm64": "7.0.2",
-				"@typescript/typescript-win32-x64": "7.0.2"
-			}
-		},
-		"node_modules/uc.micro": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-3.0.0.tgz",
-			"integrity": "sha512-U3PppEkleoTnIfi8BozMx3yju3qc/L6SwqWo2Sw+54PX+PX0q9I+r1Um5HCmqD7n9VDX5/v3vQH/AjA6deDdtw==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/undici": {
-			"version": "7.29.0",
-			"resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz",
-			"integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=20.18.1"
-			}
-		},
-		"node_modules/undici-types": {
-			"version": "8.9.0",
-			"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz",
-			"integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/unicorn-magic": {
-			"version": "0.4.1",
-			"resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.1.tgz",
-			"integrity": "sha512-lzlXPoVB0Uy/FvTaUgX39RbixYiSKoc3JSoSf01+0c2B6FR3qdYIPN7Qjo/AV7n6sqLCk0509cT3LRj1oSZ1+A==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/universal-user-agent": {
-			"version": "7.0.3",
-			"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz",
-			"integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==",
-			"dev": true,
-			"license": "ISC"
-		},
-		"node_modules/url-join": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
-			"integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-			}
-		},
-		"node_modules/util-deprecate": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
-			"dev": true,
-			"license": "MIT"
-		},
-		"node_modules/verkit": {
-			"version": "0.4.0",
-			"resolved": "https://registry.npmjs.org/verkit/-/verkit-0.4.0.tgz",
-			"integrity": "sha512-sXMwN6DMHeouPfCxkxWkKAmxphWKEenHYY5H1nIBzU3PmDsmJp6kBXJdshjVdpMZuWCmL9SH7KFRx29AylpP6g==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18.12.0"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sxzz"
-			}
-		},
-		"node_modules/walk-up-path": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz",
-			"integrity": "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==",
-			"dev": true,
-			"license": "ISC",
-			"engines": {
-				"node": "20 || >=22"
-			}
-		},
-		"node_modules/wildcard-match": {
-			"version": "5.1.4",
-			"resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.4.tgz",
-			"integrity": "sha512-wldeCaczs8XXq7hj+5d/F38JE2r7EXgb6WQDM84RVwxy81T/sxB5e9+uZLK9Q9oNz1mlvjut+QtvgaOQFPVq/g==",
-			"dev": true,
-			"license": "ISC"
-		},
-		"node_modules/windows-release": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/windows-release/-/windows-release-7.1.1.tgz",
-			"integrity": "sha512-0GBwC9WmR8Bm3WYiz3FC391054BsFHZ2gzBVdYj9uj5eIVYzbn/YPYCYW9SWdh9vwnLuzpn1UGwJKiMG4F236w==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"powershell-utils": "^0.2.0"
-			},
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/wsl-utils": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-1.0.0.tgz",
-			"integrity": "sha512-Hl0ZOAs672vg+06kfujwRhoS6/jehvULrlFkuF2dRu6pHgA8U06h3xqNIqNNU1LTXPcedxByAR4GS6pwQK0mgA==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"is-wsl": "^3.1.0",
-				"powershell-utils": "^0.1.0"
-			},
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/wsl-utils/node_modules/powershell-utils": {
-			"version": "0.1.0",
-			"resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz",
-			"integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/y18n": {
-			"version": "5.0.8",
-			"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
-			"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
-			"dev": true,
-			"license": "ISC",
-			"engines": {
-				"node": ">=10"
-			}
-		},
-		"node_modules/yaml": {
-			"version": "2.9.1",
-			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz",
-			"integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==",
-			"dev": true,
-			"license": "ISC",
-			"bin": {
-				"yaml": "bin.mjs"
-			},
-			"engines": {
-				"node": ">= 14.6"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/eemeli"
-			}
-		},
-		"node_modules/yargs": {
-			"version": "17.7.2",
-			"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
-			"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"cliui": "^8.0.1",
-				"escalade": "^3.1.1",
-				"get-caller-file": "^2.0.5",
-				"require-directory": "^2.1.1",
-				"string-width": "^4.2.3",
-				"y18n": "^5.0.5",
-				"yargs-parser": "^21.1.1"
-			},
-			"engines": {
-				"node": ">=12"
-			}
-		},
-		"node_modules/yargs-parser": {
-			"version": "21.1.1",
-			"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
-			"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
-			"dev": true,
-			"license": "ISC",
-			"engines": {
-				"node": ">=12"
-			}
-		},
-		"node_modules/yargs/node_modules/ansi-regex": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-			"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/yargs/node_modules/is-fullwidth-code-point": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-			"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/yargs/node_modules/string-width": {
-			"version": "4.2.3",
-			"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-			"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"emoji-regex": "^8.0.0",
-				"is-fullwidth-code-point": "^3.0.0",
-				"strip-ansi": "^6.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/yargs/node_modules/strip-ansi": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
-			"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"ansi-regex": "^5.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/yoctocolors": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.2.0.tgz",
-			"integrity": "sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=18"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		}
-	}
+  "name": "@gohugo-ananke/ananke",
+  "version": "2.19.1",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "@gohugo-ananke/ananke",
+      "version": "2.19.1",
+      "license": "MIT",
+      "devDependencies": {
+        "@axe-core/playwright": "4.13.0",
+        "@biomejs/biome": "2.5.14",
+        "@dnbhq/biome-config": "0.3.1",
+        "@dnbhq/lintstaged-config": "0.2.1",
+        "@dnbhq/markdownlint-config": "0.2.11",
+        "@dnbhq/release-config": "1.1.3",
+        "@dnbhq/tsconfig": "0.1.6",
+        "@playwright/test": "1.63.0",
+        "@release-it/conventional-changelog": "12.0.2",
+        "@types/node": "26.6.3",
+        "dotenv": "18.0.4",
+        "lint-staged": "17.6.0",
+        "lockfile-lint": "5.0.1",
+        "release-it": "21.1.0",
+        "simple-git-hooks": "2.14.0",
+        "typescript": "7.0.2",
+        "yaml": "2.9.1"
+      }
+    },
+    "node_modules/@axe-core/playwright": {
+      "version": "4.13.0",
+      "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.13.0.tgz",
+      "integrity": "sha512-6YLx+kxXu5GJceG4ozFg+33a2EMTdjYwWGloJ3sb9Kta5pp+ZNS53uxGVog5JetIY8s++P5UrtX+cri+u0VAVg==",
+      "dev": true,
+      "license": "MPL-2.0",
+      "dependencies": {
+        "axe-core": "~4.13.0"
+      },
+      "peerDependencies": {
+        "playwright-core": ">= 1.0.0"
+      }
+    },
+    "node_modules/@babel/code-frame": {
+      "version": "7.29.0",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+      "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-validator-identifier": "^7.28.5",
+        "js-tokens": "^4.0.0",
+        "picocolors": "^1.1.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-identifier": {
+      "version": "7.28.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+      "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@biomejs/biome": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.14.tgz",
+      "integrity": "sha512-0FabLIjd4M/dm8VFI86RMaLLdgepzbdfiAL2R8cr7V81OYYrP1w7Z73KfAwPK5h9SrEBXTzNG2y+mBwPo9xRnw==",
+      "dev": true,
+      "license": "MIT OR Apache-2.0",
+      "bin": {
+        "biome": "bin/biome"
+      },
+      "engines": {
+        "node": ">=14.21.3"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/biome"
+      },
+      "optionalDependencies": {
+        "@biomejs/cli-darwin-arm64": "2.5.14",
+        "@biomejs/cli-darwin-x64": "2.5.14",
+        "@biomejs/cli-linux-arm64": "2.5.14",
+        "@biomejs/cli-linux-arm64-musl": "2.5.14",
+        "@biomejs/cli-linux-x64": "2.5.14",
+        "@biomejs/cli-linux-x64-musl": "2.5.14",
+        "@biomejs/cli-win32-arm64": "2.5.14",
+        "@biomejs/cli-win32-x64": "2.5.14"
+      }
+    },
+    "node_modules/@biomejs/cli-darwin-arm64": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.14.tgz",
+      "integrity": "sha512-UnzaXO65L4tsZimFITFP2M121GyhDcWFrT3pL5ZJ5U4XcS/0L5VHYytVohdCf/gnDUFHgl2I9xnt5bV/J1kxHQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT OR Apache-2.0",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=14.21.3"
+      }
+    },
+    "node_modules/@biomejs/cli-darwin-x64": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.14.tgz",
+      "integrity": "sha512-kiy8qA16K93J7uvFfWi4LgjqDpnRKyePAna6A0Y4jxyUga35SYpIZ2cNWlhy0lsfgqRenCpfymnJWEZ6mgpRgA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT OR Apache-2.0",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=14.21.3"
+      }
+    },
+    "node_modules/@biomejs/cli-linux-arm64": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.14.tgz",
+      "integrity": "sha512-vO/9BaU1n30CiFNLx49gMTMtbCAAqlo/EqFoG0BU3deQInTbJrmXSmTQ9e3FoDZIKQnvSLDVNL4lx1ci7y1T1Q==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "libc": [
+        "glibc"
+      ],
+      "license": "MIT OR Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=14.21.3"
+      }
+    },
+    "node_modules/@biomejs/cli-linux-arm64-musl": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.14.tgz",
+      "integrity": "sha512-SJ9PrZkBnnH9dHJDnxk34vKs0GB2dbsioaft6/hPhWJ7AHpwYH83Isnhj0FSRpFkGgpVfJ1lds23ApB2czUDLQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "libc": [
+        "musl"
+      ],
+      "license": "MIT OR Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=14.21.3"
+      }
+    },
+    "node_modules/@biomejs/cli-linux-x64": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.14.tgz",
+      "integrity": "sha512-VHZRa7CCQBUWKxNwUvHJeuW03WFRgN5NWO//SDGOitc9QIeNyfA42V9zlKm+x82xFSG9Bzi5fi+hbhm9anO8yA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "libc": [
+        "glibc"
+      ],
+      "license": "MIT OR Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=14.21.3"
+      }
+    },
+    "node_modules/@biomejs/cli-linux-x64-musl": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.14.tgz",
+      "integrity": "sha512-2kI5PrMgW5dcEZYrstLPmUmCwkUwZY39rP4BN93Vxbwcs2O57LDQOktUZZYPvvspN5i0mhGr3TJtF5sU26NUWg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "libc": [
+        "musl"
+      ],
+      "license": "MIT OR Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=14.21.3"
+      }
+    },
+    "node_modules/@biomejs/cli-win32-arm64": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.14.tgz",
+      "integrity": "sha512-pHgAFffmZtaYoxavEsWEYNvcA7NwOIjLyqw2HXyLbt16xYryX0L4fMV2u0G9ag6LNYPIoqWaWqzUcnc6rLGGXg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT OR Apache-2.0",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=14.21.3"
+      }
+    },
+    "node_modules/@biomejs/cli-win32-x64": {
+      "version": "2.5.14",
+      "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.14.tgz",
+      "integrity": "sha512-oJWmBhoHsnhUKIke+0gXDX0mltJrWHA1UyHsrTlXwX0TL64ilVZAo+TYZm97baecV0esBdpzy3k96q+09JaZUQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT OR Apache-2.0",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=14.21.3"
+      }
+    },
+    "node_modules/@conventional-changelog/git-client": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@conventional-changelog/git-client/-/git-client-3.1.2.tgz",
+      "integrity": "sha512-jZqwnJwf7nboIlAcw/mkOjVa6DexCcUOgT2oOQgkoi3z9vR8tGFkcMy2BFcYwjhL9sYcDDXkRQDayiDieCoW7A==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@simple-libs/child-process-utils": "^2.0.0",
+        "@simple-libs/stream-utils": "^2.0.0",
+        "semver": "^7.5.2"
+      },
+      "engines": {
+        "node": ">=22"
+      },
+      "peerDependencies": {
+        "conventional-commits-filter": "^6.0.1",
+        "conventional-commits-parser": "^7.1.2"
+      },
+      "peerDependenciesMeta": {
+        "conventional-commits-filter": {
+          "optional": true
+        },
+        "conventional-commits-parser": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@conventional-changelog/template": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/@conventional-changelog/template/-/template-1.4.0.tgz",
+      "integrity": "sha512-aalGyl7dbB5PArRebDIX43ZvBlXrYm9uWzGJ26t+4SzJVPsOuvfILGGbw5X4yX7i50YEmJ8zvbiWnqH/AAnZqg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/@dnbhq/biome-config": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/@dnbhq/biome-config/-/biome-config-0.3.1.tgz",
+      "integrity": "sha512-G8ZlvwEOUewSkTVIGOXUV/xtecpSHOK352ik5hps9YI9hA2vI1vMN3xxsLMWnmhcnlF98z2dc4LuQPSc96cLBQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=26"
+      },
+      "peerDependencies": {
+        "@biomejs/biome": ">=2.5.0"
+      }
+    },
+    "node_modules/@dnbhq/lintstaged-config": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/@dnbhq/lintstaged-config/-/lintstaged-config-0.2.1.tgz",
+      "integrity": "sha512-gvgSQsilzd41iqTfSxfDKY+SJEpPpmww+3rM0GNJNOOqM/rX5EISobivUc36TSujjx1GX9sAn5LYdbX5oeHiaA==",
+      "dev": true,
+      "license": "MIT",
+      "bin": {
+        "lintstaged-config": "dist/cli.js"
+      },
+      "engines": {
+        "node": ">=22"
+      },
+      "peerDependencies": {
+        "lint-staged": ">=15.0.0"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config": {
+      "version": "0.2.11",
+      "resolved": "https://registry.npmjs.org/@dnbhq/markdownlint-config/-/markdownlint-config-0.2.11.tgz",
+      "integrity": "sha512-toc1enTCmp8+99kvs2danCsL8iO5mS02cIaGTA66HkdCIpJ/WESQkzamgubA1rz/J4V3hVbZsoRe9M8djfAzxg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@github/markdownlint-github": "0.8.3",
+        "markdownlint": "0.41.1",
+        "markdownlint-cli2": "0.23.1",
+        "markdownlint-rule-extended-ascii": "0.2.1",
+        "markdownlint-rule-relative-links": "5.1.1",
+        "markdownlint-rule-search-replace": "1.2.0",
+        "markdownlint-rule-title-case-style": "0.4.3"
+      },
+      "engines": {
+        "node": ">=26"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/@github/markdownlint-github": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/@github/markdownlint-github/-/markdownlint-github-0.8.3.tgz",
+      "integrity": "sha512-8DqM9t0frFpQCFYMqH2iyic/zB7budSONWfxMjUG8k4JTIJu+L5PaOpp+/xzNHQtb26WYIcc0aTpPWzXRO9J2Q==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "lodash-es": "^4.17.21",
+        "markdown-it": "14.2.0"
+      },
+      "engines": {
+        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/entities": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/globby": {
+      "version": "16.2.1",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.1.tgz",
+      "integrity": "sha512-JmsqJalahxxgW8V2ecSQ2G7UjPlI9cpKdrkG9KoNiXhd/YslXOTEB0cViENWUznuovIuNT+FkMbraDGjr4FCUg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@sindresorhus/merge-streams": "^4.0.0",
+        "fast-glob": "^3.3.3",
+        "ignore": "^7.0.5",
+        "is-path-inside": "^4.0.0",
+        "slash": "^5.1.0",
+        "unicorn-magic": "^0.4.0"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/js-yaml": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
+      "integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/nodeca"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.mjs"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/linkify-it": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz",
+      "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/markdown-it"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "uc.micro": "^2.0.0"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/markdown-it": {
+      "version": "14.2.0",
+      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.2.0.tgz",
+      "integrity": "sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/markdown-it"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^2.0.1",
+        "entities": "^4.4.0",
+        "linkify-it": "^5.0.1",
+        "mdurl": "^2.0.0",
+        "punycode.js": "^2.3.1",
+        "uc.micro": "^2.1.0"
+      },
+      "bin": {
+        "markdown-it": "bin/markdown-it.mjs"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/markdownlint-cli2": {
+      "version": "0.23.1",
+      "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.23.1.tgz",
+      "integrity": "sha512-20JPI5W+HpV1OA+pUM712wgvL4GzYNUvbmhLU8KlEYJ1kCDx4soZ4/Xqd+WkLrPTOKMAn8SfO3zYFrK8GLlwQg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "globby": "16.2.1",
+        "js-yaml": "5.2.1",
+        "jsonc-parser": "3.3.1",
+        "jsonpointer": "5.0.1",
+        "markdown-it": "14.3.0",
+        "markdownlint": "0.41.1",
+        "markdownlint-cli2-formatter-default": "0.0.6",
+        "micromatch": "4.0.8",
+        "smol-toml": "1.7.0"
+      },
+      "bin": {
+        "markdownlint-cli2": "markdownlint-cli2-bin.mjs"
+      },
+      "engines": {
+        "node": ">=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/DavidAnson"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/markdownlint-cli2/node_modules/markdown-it": {
+      "version": "14.3.0",
+      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.3.0.tgz",
+      "integrity": "sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/markdown-it"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^2.0.1",
+        "entities": "^4.5.0",
+        "linkify-it": "^5.0.2",
+        "mdurl": "^2.0.0",
+        "punycode.js": "^2.3.1",
+        "uc.micro": "^2.1.0"
+      },
+      "bin": {
+        "markdown-it": "bin/markdown-it.mjs"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/markdownlint-rule-relative-links": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/markdownlint-rule-relative-links/-/markdownlint-rule-relative-links-5.1.1.tgz",
+      "integrity": "sha512-XgpNzADiFLxbDE6vbGRoauRgbE34YXAesFzTuWSxMxsdJwmcKCNnlkzjZITcb3/sP0SHx3t57Vq9/Q/WK9sU4w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "markdown-it": "14.2.0",
+        "mime": "4.1.0"
+      },
+      "engines": {
+        "node": ">=22.0.0"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/smol-toml": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
+      "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">= 18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/cyyynthia"
+      }
+    },
+    "node_modules/@dnbhq/markdownlint-config/node_modules/uc.micro": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@dnbhq/release-config": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@dnbhq/release-config/-/release-config-1.1.3.tgz",
+      "integrity": "sha512-AOj3a7haQAULAreCf9gF5E061UVQyErLCzlVWr9SzlxZr2NnOH2K50H9cD5yf1tj03kn9mIP8DXeyy4feN/wxA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^22.22.2 || ^24.15.0 || ^26.0.0",
+        "npm": ">=11.0.0"
+      },
+      "peerDependencies": {
+        "@release-it/conventional-changelog": "^11.0.0 || ^12.0.0",
+        "release-it": "^20.0.0 || ^21.0.0"
+      }
+    },
+    "node_modules/@dnbhq/tsconfig": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/@dnbhq/tsconfig/-/tsconfig-0.1.6.tgz",
+      "integrity": "sha512-cxMn8+hfnM9mYiOKx4hK6qDTCxm+HPK/y3EGmIdivrxg0YlH4JAGoeoTtKR0dxFnLCU6x6yMmuu/i+lb2c4GmA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=25"
+      },
+      "peerDependencies": {
+        "@types/node": ">=24",
+        "typescript": ">=5.8"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/ansi": {
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.8.tgz",
+      "integrity": "sha512-WpQM+Ti6Z40EFwwt+uL2p4UabT+W179zHp6HhLVOzfbwnVn05IPO/eXIZXGNqcT1jbQ15SujNLzQ39k4QPPxBQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      }
+    },
+    "node_modules/@inquirer/checkbox": {
+      "version": "5.2.5",
+      "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.2.5.tgz",
+      "integrity": "sha512-bRt8J8m+Fot9CXv+zNQGXUq2ET0MggR1fPz7v6edN6MFYmsbfGnMmkmWZJEegMKqrAC8ej/o1sqisHZXZJMAfQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/ansi": "^2.0.8",
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/figures": "^2.0.9",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/confirm": {
+      "version": "6.3.2",
+      "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.3.2.tgz",
+      "integrity": "sha512-Xvr/0HggjddPtGppuqVmxhTw+Hr8PvsZ/k0HmOEaAqQEt80OITNkFWnsdNmyT0/eM4Ab+iJLx2R8rctlEyfSVg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/core": {
+      "version": "12.0.3",
+      "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.3.tgz",
+      "integrity": "sha512-wsSy0sznmXwkty+2PzZwx00Cazc/E0r0B7mAzdGROz2Ct+DFZXaK7WDjGZvgjRldxH5ZhFVfF2lgkYrqgOw2KA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/ansi": "^2.0.8",
+        "@inquirer/figures": "^2.0.9",
+        "@inquirer/type": "4.1.1",
+        "cli-width": "^4.1.0",
+        "fast-wrap-ansi": "^0.2.0",
+        "mute-stream": "^3.0.0",
+        "signal-exit": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/editor": {
+      "version": "5.3.3",
+      "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.3.3.tgz",
+      "integrity": "sha512-YsKkS2q63IiLtaDK/9nqzdComN97SDQrmKiyNggN+ceP4ty+Z6VwyTz3FpjeUWeW1Efss2xHFKCC9sx7hnrsxg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/external-editor": "^3.0.5",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/expand": {
+      "version": "5.1.5",
+      "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.1.5.tgz",
+      "integrity": "sha512-uHuXLmXW+TtIfT/9vSBotypAkqn1n34Ul+CLGPos/xANyO4Ff5xZzkYhbKR4NEcfVK4a9mHQOpwVZzluSHFRGw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/external-editor": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-3.0.5.tgz",
+      "integrity": "sha512-f3QQJRIX5ZEneBHNUIuPjmbdzHnmRFJA8r2dkcb8q+OM5Uv5KtnuAttQumnrjcBVBM3mcTX1CkmtAkU58VRZxg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "chardet": "^2.1.1",
+        "iconv-lite": "^0.7.2"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/figures": {
+      "version": "2.0.9",
+      "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.9.tgz",
+      "integrity": "sha512-EAWgUTGQ/Umgga51dE3B2PUHbufuXarDfg86uVgoSgNHNNQnyFKcOrQLWVqYMghuSyHh8+2HUH0Js9cTC1WAdg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      }
+    },
+    "node_modules/@inquirer/input": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.1.6.tgz",
+      "integrity": "sha512-HtcJhB2QFVXbLuJ5S3syhNbTUVxYvwqV4VRBDkQceBloC9bmTViUoRFP5PbSaDZb3HzfPmpuU/gG4ybVBz4FHA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/number": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.2.3.tgz",
+      "integrity": "sha512-6Yuwh1NGSbu1Lo4N1EWjXs1jKRntLg/ZCwhmeorEHde90v1XxAozdbd4Iu30eOQLW+6h1hp2O9ujNfLSbTPJnA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/password": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.2.2.tgz",
+      "integrity": "sha512-W9zYdyzogK+6110mqwaSJWCBu2yA5Q/OfnGSjjZB1bNpHlmUozXxTl0+QOZBNeVd6Qo81/qT75gW05gLAtITxw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/ansi": "^2.0.8",
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/prompts": {
+      "version": "8.7.2",
+      "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-8.7.2.tgz",
+      "integrity": "sha512-QoRB4wFIjgH5iOhSjoIKMkTvSHDuV+O3OITlIqAYO0oK5x364GJILXiMBvlPiE+klg7Xx9tq5XVqQHcGUDYYPA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/checkbox": "^5.2.5",
+        "@inquirer/confirm": "^6.3.2",
+        "@inquirer/editor": "^5.3.3",
+        "@inquirer/expand": "^5.1.5",
+        "@inquirer/input": "^5.1.6",
+        "@inquirer/number": "^4.2.3",
+        "@inquirer/password": "^5.2.2",
+        "@inquirer/rawlist": "^5.3.5",
+        "@inquirer/search": "^4.3.3",
+        "@inquirer/select": "^5.2.5"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/rawlist": {
+      "version": "5.3.5",
+      "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.3.5.tgz",
+      "integrity": "sha512-1oHky1ONfCOwNrnkQGDE1oaSij/3fI6HFMSf2H/WsGO2lEyDX9My82iggITSy9ddSZ8yk8j9v41OI0fVoSIoaA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/search": {
+      "version": "4.3.3",
+      "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.3.3.tgz",
+      "integrity": "sha512-fyuIU1Nbpvwlikjg3gXwJFDI11+EFjqQ7P+iByfmivIKQ1vmaykNrD/vy5unHuUqUpsOsnvJ25//tPF7E/RBRA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/figures": "^2.0.9",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/select": {
+      "version": "5.2.5",
+      "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.2.5.tgz",
+      "integrity": "sha512-9kc15hr8r/kI+3DO/xLog5nOzTz1jqsHXa6JBFzmQKhkoJ8Slda1I1L/uD8ZSZ9tF1yp79wwXe7mclvX1rqR2Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/ansi": "^2.0.8",
+        "@inquirer/core": "^12.0.3",
+        "@inquirer/figures": "^2.0.9",
+        "@inquirer/type": "4.1.1"
+      },
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@inquirer/type": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.1.1.tgz",
+      "integrity": "sha512-yJoHYrMnxIsJZCY+0Vb66Dy3he3kL3e2wOBKhoSwWWAzZAY82emlxwgprCtp6yRixvNRNq9ztfRWQYPNr3Go7A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=23.5.0 || ^22.13.0 || ^20.17.0"
+      },
+      "peerDependencies": {
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@octokit/auth-token": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz",
+      "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@octokit/core": {
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz",
+      "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/auth-token": "^6.0.0",
+        "@octokit/graphql": "^9.0.3",
+        "@octokit/request": "^10.0.6",
+        "@octokit/request-error": "^7.0.2",
+        "@octokit/types": "^16.0.0",
+        "before-after-hook": "^4.0.0",
+        "universal-user-agent": "^7.0.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@octokit/endpoint": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz",
+      "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/types": "^16.0.0",
+        "universal-user-agent": "^7.0.2"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@octokit/graphql": {
+      "version": "9.0.3",
+      "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz",
+      "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/request": "^10.0.6",
+        "@octokit/types": "^16.0.0",
+        "universal-user-agent": "^7.0.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@octokit/openapi-types": {
+      "version": "27.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+      "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@octokit/plugin-paginate-rest": {
+      "version": "14.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz",
+      "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/types": "^16.0.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      },
+      "peerDependencies": {
+        "@octokit/core": ">=6"
+      }
+    },
+    "node_modules/@octokit/plugin-request-log": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-6.0.0.tgz",
+      "integrity": "sha512-UkOzeEN3W91/eBq9sPZNQ7sUBvYCqYbrrD8gTbBuGtHEuycE4/awMXcYvx6sVYo7LypPhmQwwpUe4Yyu4QZN5Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 20"
+      },
+      "peerDependencies": {
+        "@octokit/core": ">=6"
+      }
+    },
+    "node_modules/@octokit/plugin-rest-endpoint-methods": {
+      "version": "17.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz",
+      "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/types": "^16.0.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      },
+      "peerDependencies": {
+        "@octokit/core": ">=6"
+      }
+    },
+    "node_modules/@octokit/request": {
+      "version": "10.0.8",
+      "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz",
+      "integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/endpoint": "^11.0.3",
+        "@octokit/request-error": "^7.0.2",
+        "@octokit/types": "^16.0.0",
+        "fast-content-type-parse": "^3.0.0",
+        "json-with-bigint": "^3.5.3",
+        "universal-user-agent": "^7.0.2"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@octokit/request-error": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz",
+      "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/types": "^16.0.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@octokit/rest": {
+      "version": "22.0.1",
+      "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-22.0.1.tgz",
+      "integrity": "sha512-Jzbhzl3CEexhnivb1iQ0KJ7s5vvjMWcmRtq5aUsKmKDrRW6z3r84ngmiFKFvpZjpiU/9/S6ITPFRpn5s/3uQJw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/core": "^7.0.6",
+        "@octokit/plugin-paginate-rest": "^14.0.0",
+        "@octokit/plugin-request-log": "^6.0.0",
+        "@octokit/plugin-rest-endpoint-methods": "^17.0.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/@octokit/types": {
+      "version": "16.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+      "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/openapi-types": "^27.0.0"
+      }
+    },
+    "node_modules/@phun-ky/typeof": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@phun-ky/typeof/-/typeof-2.0.3.tgz",
+      "integrity": "sha512-oeQJs1aa8Ghke8JIK9yuq/+KjMiaYeDZ38jx7MhkXncXlUKjqQ3wEm2X3qCKyjo+ZZofZj+WsEEiqkTtRuE2xQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^20.9.0 || >=22.0.0",
+        "npm": ">=10.8.2"
+      },
+      "funding": {
+        "url": "https://github.com/phun-ky/typeof?sponsor=1"
+      }
+    },
+    "node_modules/@playwright/test": {
+      "version": "1.63.0",
+      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.63.0.tgz",
+      "integrity": "sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "playwright": "1.63.0"
+      },
+      "bin": {
+        "playwright": "cli.js"
+      },
+      "engines": {
+        "node": ">=20"
+      }
+    },
+    "node_modules/@release-it/conventional-changelog": {
+      "version": "12.0.2",
+      "resolved": "https://registry.npmjs.org/@release-it/conventional-changelog/-/conventional-changelog-12.0.2.tgz",
+      "integrity": "sha512-mJsfycScVqud9O+GzVLT1wQBsIR2WO3kEe6Xm7ucf9yP9KyKRTY9yqoFe/kjLCNSu0lP0PzpuOooUYyzHm1oFw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@conventional-changelog/git-client": "^3.1.2",
+        "concat-stream": "^2.0.0",
+        "conventional-changelog": "^8.1.3",
+        "conventional-changelog-angular": "^9.4.0",
+        "conventional-changelog-conventionalcommits": "^10.4.0",
+        "conventional-recommended-bump": "^12.1.0",
+        "semver": "^7.8.5"
+      },
+      "engines": {
+        "node": "^22.22.2 || ^24.15.0 || >=26.0.0"
+      },
+      "peerDependencies": {
+        "release-it": "^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"
+      }
+    },
+    "node_modules/@simple-libs/child-process-utils": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@simple-libs/child-process-utils/-/child-process-utils-2.0.0.tgz",
+      "integrity": "sha512-dvNoRKLijXnD0XoJAz94pbNuB5GQgDr55UhpSPhffDkTT0Cmcqh9jSCOtwfT2d4H6MI9E7c4SgtMuJXZ6F3c6A==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@simple-libs/stream-utils": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=22"
+      },
+      "funding": {
+        "url": "https://ko-fi.com/dangreen"
+      }
+    },
+    "node_modules/@simple-libs/hosted-git-info": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@simple-libs/hosted-git-info/-/hosted-git-info-2.0.0.tgz",
+      "integrity": "sha512-55XwK/GYgV58PuN8lZFhI1qRxdKoMLJocXl/yM1EPqazFDmM4QWY7q6BxPCPDNKTNunj794DSD4h0H7SrqUdMg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=22"
+      },
+      "funding": {
+        "url": "https://ko-fi.com/dangreen"
+      }
+    },
+    "node_modules/@simple-libs/normalize-package-data": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@simple-libs/normalize-package-data/-/normalize-package-data-1.0.0.tgz",
+      "integrity": "sha512-/EOmFBekV9tGee8gac/k+5Ox3twkypNqh5TfxA9vTkmcJkjm6f1xqrlstDNOrEhTvnYyVtU6Du2ZhY/IV1+9GA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@simple-libs/hosted-git-info": "^2.0.0",
+        "semver": "^7.8.5"
+      },
+      "engines": {
+        "node": ">=22"
+      },
+      "funding": {
+        "url": "https://ko-fi.com/dangreen"
+      }
+    },
+    "node_modules/@simple-libs/stream-utils": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@simple-libs/stream-utils/-/stream-utils-2.0.0.tgz",
+      "integrity": "sha512-fCTuZK4QBa+39Oz9l4OGfJfz+GpwCp3AqO7Zch3to99xHPgstVsRFpeQ8LNd2o1Gv8raL2mCFwiaHh7bFSp5DQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=22"
+      },
+      "funding": {
+        "url": "https://ko-fi.com/dangreen"
+      }
+    },
+    "node_modules/@sindresorhus/merge-streams": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
+      "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@types/debug": {
+      "version": "4.1.13",
+      "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
+      "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@types/ms": "*"
+      }
+    },
+    "node_modules/@types/katex": {
+      "version": "0.16.8",
+      "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz",
+      "integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/ms": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
+      "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/node": {
+      "version": "26.6.3",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.3.tgz",
+      "integrity": "sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "undici-types": "~8.9.0"
+      }
+    },
+    "node_modules/@types/parse-path": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/@types/parse-path/-/parse-path-7.0.3.tgz",
+      "integrity": "sha512-LriObC2+KYZD3FzCrgWGv/qufdUy4eXrxcLgQMfYXgPbLIecKIsVBaQgUPmxSSLcjmYbDTQbMgr6qr6l/eb7Bg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/unist": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
+      "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@typescript/typescript-aix-ppc64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz",
+      "integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "aix"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-darwin-arm64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.2.tgz",
+      "integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-darwin-x64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.2.tgz",
+      "integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-freebsd-arm64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.2.tgz",
+      "integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-freebsd-x64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.2.tgz",
+      "integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-linux-arm": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.2.tgz",
+      "integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-linux-arm64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.2.tgz",
+      "integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-linux-loong64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.2.tgz",
+      "integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==",
+      "cpu": [
+        "loong64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-linux-mips64el": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.2.tgz",
+      "integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==",
+      "cpu": [
+        "mips64el"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-linux-ppc64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.2.tgz",
+      "integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-linux-riscv64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.2.tgz",
+      "integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-linux-s390x": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.2.tgz",
+      "integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==",
+      "cpu": [
+        "s390x"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-linux-x64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.2.tgz",
+      "integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-netbsd-arm64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.2.tgz",
+      "integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-netbsd-x64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.2.tgz",
+      "integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-openbsd-arm64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.2.tgz",
+      "integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-openbsd-x64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.2.tgz",
+      "integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-sunos-x64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.2.tgz",
+      "integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-win32-arm64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.2.tgz",
+      "integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@typescript/typescript-win32-x64": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.2.tgz",
+      "integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "Apache-2.0",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=16.20.0"
+      }
+    },
+    "node_modules/@yarnpkg/parsers": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.3.tgz",
+      "integrity": "sha512-mQZgUSgFurUtA07ceMjxrWkYz8QtDuYkvPlu0ZqncgjopQ0t6CNEo/OSealkmnagSUx8ZD5ewvezUwUuMqutQg==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "js-yaml": "^3.10.0",
+        "tslib": "^2.4.0"
+      },
+      "engines": {
+        "node": ">=18.12.0"
+      }
+    },
+    "node_modules/@yarnpkg/parsers/node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "node_modules/@yarnpkg/parsers/node_modules/js-yaml": {
+      "version": "3.15.2",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz",
+      "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/agent-base": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz",
+      "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true,
+      "license": "Python-2.0"
+    },
+    "node_modules/argue-cli": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/argue-cli/-/argue-cli-3.2.0.tgz",
+      "integrity": "sha512-VipTB0gXgGIFO2Rg9yEVN5wLt2AurJcZqDbgmYSwPwsykhLrQhs240/bfceev4w68lI8JshoOJIk9uW7tFzROw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=22"
+      },
+      "funding": {
+        "url": "https://ko-fi.com/dangreen"
+      }
+    },
+    "node_modules/ast-types": {
+      "version": "0.13.4",
+      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "tslib": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/async-retry": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz",
+      "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "retry": "0.13.1"
+      }
+    },
+    "node_modules/axe-core": {
+      "version": "4.13.0",
+      "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.13.0.tgz",
+      "integrity": "sha512-UzGt8zg7Ny8djbYMhxl2zuEevVa7r2gJjYY5Lwr1xM7+XU2nd6CkIWFTVcCIbAP63vSz71NaVyyuSk9lHKcy0A==",
+      "dev": true,
+      "license": "MPL-2.0",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/basic-ftp": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz",
+      "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/before-after-hook": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz",
+      "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==",
+      "dev": true,
+      "license": "Apache-2.0"
+    },
+    "node_modules/braces": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fill-range": "^7.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/bundle-name": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.1.tgz",
+      "integrity": "sha512-DdH81/zPLVS11EUgWq3tEu/xn+EzljlMYooDNdzWEnFha3R3NBMpMV1UqYIpjYHV/SgpFKMIX1Oh7o06SjM/oA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "run-applescript": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/c12": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmjs.org/c12/-/c12-3.3.4.tgz",
+      "integrity": "sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "chokidar": "^5.0.0",
+        "confbox": "^0.2.4",
+        "defu": "^6.1.6",
+        "dotenv": "^17.3.1",
+        "exsolve": "^1.0.8",
+        "giget": "^3.2.0",
+        "jiti": "^2.6.1",
+        "ohash": "^2.0.11",
+        "pathe": "^2.0.3",
+        "perfect-debounce": "^2.1.0",
+        "pkg-types": "^2.3.0",
+        "rc9": "^3.0.1"
+      },
+      "peerDependencies": {
+        "magicast": "*"
+      },
+      "peerDependenciesMeta": {
+        "magicast": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/c12/node_modules/dotenv": {
+      "version": "17.4.2",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz",
+      "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://dotenvx.com"
+      }
+    },
+    "node_modules/callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/chalk": {
+      "version": "5.6.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
+      "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^12.17.0 || ^14.13 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/character-entities": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
+      "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/character-entities-legacy": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+      "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/character-reference-invalid": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
+      "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/chardet": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.2.0.tgz",
+      "integrity": "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/chokidar": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
+      "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "readdirp": "^5.0.0"
+      },
+      "engines": {
+        "node": ">= 20.19.0"
+      },
+      "funding": {
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/ci-info": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz",
+      "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/sibiraj-s"
+        }
+      ],
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cli-cursor": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
+      "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "restore-cursor": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/cli-spinners": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-3.4.0.tgz",
+      "integrity": "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18.20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/cli-width": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
+      "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
+    "node_modules/cliui": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+      "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.1",
+        "wrap-ansi": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/cliui/node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cliui/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/cliui/node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cliui/node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cliui/node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cliui/node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/concat-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+      "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+      "dev": true,
+      "engines": [
+        "node >= 6.0"
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.0.2",
+        "typedarray": "^0.0.6"
+      }
+    },
+    "node_modules/confbox": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz",
+      "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/conventional-changelog": {
+      "version": "8.1.3",
+      "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-8.1.3.tgz",
+      "integrity": "sha512-fOMwLCxm46znJKPB08jLxl1FD8SOZOQHktlzCVhvhhVUfq0KgQSryoYXsRRHs1aRlZPR1/QK5wztnY8sBNC2AA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@conventional-changelog/git-client": "^3.1.2",
+        "@simple-libs/hosted-git-info": "^2.0.0",
+        "@simple-libs/normalize-package-data": "^1.0.0",
+        "argue-cli": "^3.1.0",
+        "conventional-changelog-preset-loader": "^6.0.1",
+        "conventional-changelog-writer": "^9.2.1",
+        "conventional-commits-filter": "^6.0.1",
+        "conventional-commits-parser": "^7.1.2",
+        "fd-package-json": "^2.0.0"
+      },
+      "bin": {
+        "conventional-changelog": "dist/cli/index.js"
+      },
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/conventional-changelog-angular": {
+      "version": "9.4.0",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-9.4.0.tgz",
+      "integrity": "sha512-HdxRxuS8bBXVIuo4V82gvSwAXT0vYQUizrjs/izmPg5JdDstr8v8I5hduGL3iQbG+o310dUDxC4+LetuS5hu9w==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "@conventional-changelog/template": "^1.4.0"
+      },
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/conventional-changelog-conventionalcommits": {
+      "version": "10.4.0",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-10.4.0.tgz",
+      "integrity": "sha512-Rriac6ZrAlVm6cy9Bz4NSp+WMHpwNXoPIYex+HjCgduAVUSbnew29DQjQw0C4g9u3HtSYzGiGY+pdBXAZo+4aA==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "@conventional-changelog/template": "^1.4.0"
+      },
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/conventional-changelog-preset-loader": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-6.0.1.tgz",
+      "integrity": "sha512-GZ8E3RQzXQb3JFy0pKl8oeSf7ENIhvAMvJr+PlWkavZOesLHHdhkfNJ4SvW35eo1Fu2+EyVxWQ1tVvtzAG2iWg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/conventional-changelog-writer": {
+      "version": "9.2.1",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-9.2.1.tgz",
+      "integrity": "sha512-StlYSmW3wLedRaqohJMpP3YuWiAqtgD0/cpsai9frdDkXv7rxj0hRbpJrubPYvJxJsjplONsOobEQnPuS9UgCg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@conventional-changelog/template": "^1.3.0",
+        "@simple-libs/stream-utils": "^2.0.0",
+        "argue-cli": "^3.1.0",
+        "conventional-commits-filter": "^6.0.1",
+        "semver": "^7.5.2"
+      },
+      "bin": {
+        "conventional-changelog-writer": "dist/cli/index.js"
+      },
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/conventional-commits-filter": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-6.0.1.tgz",
+      "integrity": "sha512-cs+LadpH7Kpw0M3k8wurk+sOVVDAENA0iK4OBOrkL94j5lEVYRJ4j3zd2bhY9qgzyrPqthdcYT3axzRN7AliMg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/conventional-commits-parser": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-7.1.2.tgz",
+      "integrity": "sha512-O+x4N2yH+ijvqWlIyTHsXTAP+algNWgGbjY2duCe8w2vUMvUB95cLRslCPfTMQyLAKlet3bhZTdu6ozn4M+QJQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@simple-libs/stream-utils": "^2.0.0",
+        "argue-cli": "^3.1.0"
+      },
+      "bin": {
+        "conventional-commits-parser": "dist/cli/index.js"
+      },
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/conventional-recommended-bump": {
+      "version": "12.1.0",
+      "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-12.1.0.tgz",
+      "integrity": "sha512-HTNG3kEZXOOfKwrEx54ljURU9bG4nVPQzXMyCSeUcA/PE8EpNpQNujSrbXNBI8QZyN35zM+pVw+FuQk4KqHSHg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@conventional-changelog/git-client": "^3.1.0",
+        "argue-cli": "^3.1.0",
+        "conventional-changelog-preset-loader": "^6.0.1",
+        "conventional-commits-filter": "^6.0.1",
+        "conventional-commits-parser": "^7.1.0"
+      },
+      "bin": {
+        "conventional-recommended-bump": "dist/cli/index.js"
+      },
+      "engines": {
+        "node": ">=22"
+      }
+    },
+    "node_modules/cosmiconfig": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz",
+      "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "env-paths": "^2.2.1",
+        "import-fresh": "^3.3.0",
+        "js-yaml": "^4.1.0",
+        "parse-json": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/d-fischer"
+      },
+      "peerDependencies": {
+        "typescript": ">=4.9.5"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/data-uri-to-buffer": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-8.0.0.tgz",
+      "integrity": "sha512-6UHfyCux51b8PTGDgveqtz1tvphBku5DrMKKJbFAZAJOI2zsjDpDoYE1+QGj7FOMS4BdTFNJsJiR3zEB0xH0yQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/debug": {
+      "version": "4.4.3",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+      "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ms": "^2.1.3"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/decode-named-character-reference": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz",
+      "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "character-entities": "^2.0.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/default-browser": {
+      "version": "5.5.1",
+      "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.1.tgz",
+      "integrity": "sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "bundle-name": "^4.1.0",
+        "default-browser-id": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/default-browser-id": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
+      "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/define-lazy-prop": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+      "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/defu": {
+      "version": "6.1.7",
+      "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz",
+      "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/degenerator": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-7.0.1.tgz",
+      "integrity": "sha512-ABErK0IefDSyHjlPH7WUEenIAX2rPPnrDcDM+TS3z3+zu9TfyKKi07BQM+8rmxpdE2y1v5fjjdoAS/x4D2U60w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ast-types": "^0.13.4",
+        "escodegen": "^2.1.0",
+        "esprima": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 20"
+      },
+      "peerDependencies": {
+        "quickjs-wasi": "^2.2.0"
+      }
+    },
+    "node_modules/dequal": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+      "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/destr": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz",
+      "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/devlop": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
+      "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "dequal": "^2.0.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/dotenv": {
+      "version": "18.0.4",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.4.tgz",
+      "integrity": "sha512-jGt9uI5BIxpVO15kvy+iEFqNAwxYClKWnkptLjSNPnFLC003Imd0ofr3aEVsbpHdSBdSsbcApNIlz4nbyGMwdA==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "bin": {
+        "dotenv": "dist/index.cjs"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://dotenvx.com"
+      }
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/entities": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-8.1.0.tgz",
+      "integrity": "sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "peer": true,
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/env-paths": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/error-ex": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+      "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "node_modules/escalade": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+      "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/escodegen": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+      "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "esprima": "^4.0.1",
+        "estraverse": "^5.2.0",
+        "esutils": "^2.0.2"
+      },
+      "bin": {
+        "escodegen": "bin/escodegen.js",
+        "esgenerate": "bin/esgenerate.js"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "optionalDependencies": {
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "bin": {
+        "esparse": "bin/esparse.js",
+        "esvalidate": "bin/esvalidate.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/eta": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/eta/-/eta-4.6.0.tgz",
+      "integrity": "sha512-lW6is4T1NFOYnmqGZIfvixqj7A7sSvScF+DN8EK6K58xI5MZ5UvYe0GjopxOXQtZvUn4eDdVuZ8XSoYWTMEKwA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/bgub/eta?sponsor=1"
+      }
+    },
+    "node_modules/exsolve": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.1.1.tgz",
+      "integrity": "sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/fast-content-type-parse": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz",
+      "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/fastify"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/fastify"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/fast-glob": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+      "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.8"
+      },
+      "engines": {
+        "node": ">=8.6.0"
+      }
+    },
+    "node_modules/fast-string-truncated-width": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz",
+      "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/fast-string-width": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz",
+      "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fast-string-truncated-width": "^3.0.2"
+      }
+    },
+    "node_modules/fast-wrap-ansi": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz",
+      "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fast-string-width": "^3.0.2"
+      }
+    },
+    "node_modules/fastq": {
+      "version": "1.20.3",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.3.tgz",
+      "integrity": "sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "reusify": "^1.0.4"
+      }
+    },
+    "node_modules/fd-package-json": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/fd-package-json/-/fd-package-json-2.0.0.tgz",
+      "integrity": "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "walk-up-path": "^4.0.0"
+      }
+    },
+    "node_modules/fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "picomatch": "^3 || ^4"
+      },
+      "peerDependenciesMeta": {
+        "picomatch": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/fill-range": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/get-east-asian-width": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
+      "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/get-uri": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-8.0.1.tgz",
+      "integrity": "sha512-/5N/P4Lrh0p/mDwlDRi7Y1+P2o/OyzZI3l6Iz1Ov6XXwwm1y3RlZLuo3gVgML99djrEDtV980bBxSuOeHLk8ww==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "basic-ftp": "^5.3.1",
+        "data-uri-to-buffer": "8.0.0",
+        "debug": "^4.3.4"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/giget": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/giget/-/giget-3.3.1.tgz",
+      "integrity": "sha512-r+mvuDjrjMpsdw46Kmeydb8bdHm7wOKw8wNBtTndkjbPjgAp5oUJUxRE76wZFknxIPokfWvep2qSXK37aXE6zg==",
+      "dev": true,
+      "license": "MIT",
+      "bin": {
+        "giget": "dist/cli.mjs"
+      }
+    },
+    "node_modules/git-up": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/git-up/-/git-up-8.1.1.tgz",
+      "integrity": "sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-ssh": "^1.4.0",
+        "parse-url": "^9.2.0"
+      }
+    },
+    "node_modules/git-url-parse": {
+      "version": "16.1.0",
+      "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-16.1.0.tgz",
+      "integrity": "sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "git-up": "^8.1.0"
+      }
+    },
+    "node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/globby": {
+      "version": "16.2.4",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.4.tgz",
+      "integrity": "sha512-c8B/VNLmxRcmqqenRA9t+9IyOjf9+V6lTxPaUJLqOCONdQkWZ0ETYgX0qbtJqPsgCNusT9MZ5Jeidw8Eb9tn2g==",
+      "dev": true,
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "@sindresorhus/merge-streams": "^4.0.0",
+        "fast-glob": "^3.3.3",
+        "ignore": "^7.0.5",
+        "is-path-inside": "^4.0.0",
+        "micromatch": "^4.0.8",
+        "slash": "^5.1.0",
+        "unicorn-magic": "^0.4.0"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/http-proxy-agent": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-9.1.0.tgz",
+      "integrity": "sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "agent-base": "9.0.0",
+        "debug": "^4.3.4",
+        "proxy-agent-negotiate": "1.1.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/https-proxy-agent": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-9.1.0.tgz",
+      "integrity": "sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "agent-base": "9.0.0",
+        "debug": "^4.3.4",
+        "proxy-agent-negotiate": "1.1.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/iconv-lite": {
+      "version": "0.7.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz",
+      "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
+      }
+    },
+    "node_modules/ignore": {
+      "version": "7.0.10",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.10.tgz",
+      "integrity": "sha512-HpbUakT7xp5miBUywCHf36ZEuAJNklBJDDsGpUIjMzOSmM8ELSfA9Sa/QDPeNeqeoN31u+UTCkL4klCOVvRm4Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/import-fresh": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+      "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/ip-address": {
+      "version": "10.7.2",
+      "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.2.tgz",
+      "integrity": "sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
+    "node_modules/is-alphabetical": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+      "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/is-alphanumerical": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+      "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-alphabetical": "^2.0.0",
+        "is-decimal": "^2.0.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/is-decimal": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+      "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/is-docker": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+      "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+      "dev": true,
+      "license": "MIT",
+      "bin": {
+        "is-docker": "cli.js"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-glob": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-extglob": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-hexadecimal": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
+      "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/is-in-ssh": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz",
+      "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-inside-container": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+      "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-docker": "^3.0.0"
+      },
+      "bin": {
+        "is-inside-container": "cli.js"
+      },
+      "engines": {
+        "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-interactive": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz",
+      "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/is-path-inside": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
+      "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-ssh": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.1.tgz",
+      "integrity": "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "protocols": "^2.0.1"
+      }
+    },
+    "node_modules/is-unicode-supported": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
+      "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-wsl": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz",
+      "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-inside-container": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/issue-parser": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.2.tgz",
+      "integrity": "sha512-7atWPjhGEIX3JEtMrOYd8TKzboYlq+5sNbdl9POiLYOI14G5HZiQbZP0Xj5EZdrufQVXfJlpTV0hys0CuxwxZw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "lodash.capitalize": "^4.2.1",
+        "lodash.escaperegexp": "^4.1.2",
+        "lodash.isplainobject": "^4.0.6",
+        "lodash.isstring": "^4.0.1",
+        "lodash.uniqby": "^4.7.0"
+      },
+      "engines": {
+        "node": "^18.17 || >=20.6.1"
+      }
+    },
+    "node_modules/jiti": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
+      "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
+      "dev": true,
+      "license": "MIT",
+      "bin": {
+        "jiti": "lib/jiti-cli.mjs"
+      }
+    },
+    "node_modules/js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/js-yaml": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz",
+      "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/nodeca"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/json-with-bigint": {
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz",
+      "integrity": "sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/jsonc-parser": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
+      "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/jsonpointer": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
+      "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/katex": {
+      "version": "0.16.45",
+      "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.45.tgz",
+      "integrity": "sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==",
+      "dev": true,
+      "funding": [
+        "https://opencollective.com/katex",
+        "https://github.com/sponsors/katex"
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "commander": "^8.3.0"
+      },
+      "bin": {
+        "katex": "cli.js"
+      }
+    },
+    "node_modules/katex/node_modules/commander": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+      "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
+    "node_modules/lines-and-columns": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/linkify-it": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-6.1.0.tgz",
+      "integrity": "sha512-wJ/TwpSDTLepCrQoYWYIExIKg5Zchex2Nn5yk2mFnB+6PtdkHtyLx742md9csRjjOnGkKIS/RrbY7l8D6gT9Vw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/markdown-it"
+        }
+      ],
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "uc.micro": "^3.0.0"
+      }
+    },
+    "node_modules/lint-staged": {
+      "version": "17.6.0",
+      "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.6.0.tgz",
+      "integrity": "sha512-nOhBfYkZEwkFtNzD5pK9s9LkcWoxJ+whLzEnhqi9nl7zTB5n7tg8+9iYgMGx2Wm3VlLu8cbNj0RACzY+nWi5iQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "picomatch": "^4.0.7",
+        "string-argv": "^0.3.2",
+        "tinyexec": "^1.3.1"
+      },
+      "bin": {
+        "lint-staged": "bin/lint-staged.js"
+      },
+      "engines": {
+        "node": ">=22.22.1"
+      },
+      "funding": {
+        "url": "https://opencollective.com/lint-staged"
+      },
+      "optionalDependencies": {
+        "yaml": "^2.9.1"
+      }
+    },
+    "node_modules/lockfile-lint": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/lockfile-lint/-/lockfile-lint-5.0.1.tgz",
+      "integrity": "sha512-Ukjf5yGBQwfl7L2niV3in7bU5wEww3+4Dkw89JGTzOuq18tzS7jaszl2oO7M6u+jcim080MfX5E4Gokt1KhRHQ==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "cosmiconfig": "^9.0.0",
+        "debug": "^4.3.4",
+        "lockfile-lint-api": "^5.9.2",
+        "tinyglobby": "^0.2.15",
+        "yargs": "^17.7.2"
+      },
+      "bin": {
+        "lockfile-lint": "bin/lockfile-lint.js"
+      },
+      "engines": {
+        "node": ">=16.0.0"
+      }
+    },
+    "node_modules/lockfile-lint-api": {
+      "version": "5.9.2",
+      "resolved": "https://registry.npmjs.org/lockfile-lint-api/-/lockfile-lint-api-5.9.2.tgz",
+      "integrity": "sha512-3QhxWxl3jT9GcMxuCnTsU8Tz5U6U1lKBlKBu2zOYOz/x3ONUoojEtky3uzoaaDgExcLqIX0Aqv2I7TZXE383CQ==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@yarnpkg/parsers": "^3.0.0-rc.48.1",
+        "debug": "^4.3.4",
+        "object-hash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=16.0.0"
+      }
+    },
+    "node_modules/lodash-es": {
+      "version": "4.18.1",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
+      "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/lodash.capitalize": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz",
+      "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/lodash.escaperegexp": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
+      "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/lodash.isplainobject": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+      "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/lodash.isstring": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+      "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/lodash.uniqby": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
+      "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/log-symbols": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz",
+      "integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-unicode-supported": "^2.0.0",
+        "yoctocolors": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/macos-release": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.4.0.tgz",
+      "integrity": "sha512-wpGPwyg/xrSp4H4Db4xYSeAr6+cFQGHfspHzDUdYxswDnUW0L5Ov63UuJiSr8NMSpyaChO4u1n0MXUvVPtrN6A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/markdown-it": {
+      "version": "13.0.1",
+      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
+      "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^2.0.1",
+        "entities": "~3.0.1",
+        "linkify-it": "^4.0.1",
+        "mdurl": "^1.0.1",
+        "uc.micro": "^1.0.5"
+      },
+      "bin": {
+        "markdown-it": "bin/markdown-it.js"
+      }
+    },
+    "node_modules/markdown-it/node_modules/entities": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
+      "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/markdown-it/node_modules/linkify-it": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz",
+      "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "uc.micro": "^1.0.1"
+      }
+    },
+    "node_modules/markdown-it/node_modules/mdurl": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+      "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/markdown-it/node_modules/uc.micro": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
+      "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/markdownlint": {
+      "version": "0.41.1",
+      "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.1.tgz",
+      "integrity": "sha512-qHKeU2E1bdyNAT077go2FVTNXvYcktN5IHtF6XyeD1l0PClxzSp2tUApAV14ORI8DGX4H9bNKZEzelZp4qn8IA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "micromark": "4.0.2",
+        "micromark-core-commonmark": "2.0.3",
+        "micromark-extension-directive": "4.0.0",
+        "micromark-extension-gfm-autolink-literal": "2.1.0",
+        "micromark-extension-gfm-footnote": "2.1.0",
+        "micromark-extension-gfm-table": "2.1.1",
+        "micromark-extension-math": "3.1.0",
+        "micromark-util-types": "2.0.2",
+        "string-width": "8.2.1"
+      },
+      "engines": {
+        "node": ">=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/DavidAnson"
+      }
+    },
+    "node_modules/markdownlint-cli2": {
+      "version": "0.23.3",
+      "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.23.3.tgz",
+      "integrity": "sha512-xAr5o/TGpC3v6lE6cKIW4b5eOFRrRX5u7Vtjae9ix3RALv8nNOd94XMkD/1OXXBtpMcJ4uQGbpSo3hv5UqS4uQ==",
+      "dev": true,
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "globby": "16.2.4",
+        "js-yaml": "5.4.1",
+        "jsonc-parser": "3.3.1",
+        "jsonpointer": "5.0.1",
+        "markdown-it": "15.0.1",
+        "markdownlint": "0.41.1",
+        "markdownlint-cli2-formatter-default": "0.0.6",
+        "micromatch": "4.0.8",
+        "smol-toml": "1.8.0"
+      },
+      "bin": {
+        "markdownlint-cli2": "markdownlint-cli2-bin.mjs"
+      },
+      "engines": {
+        "node": ">=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/DavidAnson"
+      }
+    },
+    "node_modules/markdownlint-cli2-formatter-default": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.6.tgz",
+      "integrity": "sha512-VVDGKsq9sgzu378swJ0fcHfSicUnMxnL8gnLm/Q4J/xsNJ4e5bA6lvAz7PCzIl0/No0lHyaWdqVD2jotxOSFMQ==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/DavidAnson"
+      },
+      "peerDependencies": {
+        "markdownlint-cli2": ">=0.0.4"
+      }
+    },
+    "node_modules/markdownlint-cli2/node_modules/js-yaml": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.1.tgz",
+      "integrity": "sha512-28R/k+NAjeuf7+CKlTxWZVExJGwVVLwY06DgEnOMz2gEpfNkDcD7QvyiVPT0xy0XXhU8vHsd4Ot42OOPdJG7dQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/nodeca"
+        }
+      ],
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.mjs"
+      }
+    },
+    "node_modules/markdownlint-cli2/node_modules/markdown-it": {
+      "version": "15.0.1",
+      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-15.0.1.tgz",
+      "integrity": "sha512-9/7gE95FNPkfUWrjJIoHZza2iLmuJlPD0UNMxPi7bxUrbCR525YZY0r+zyfes0dZI5ZZ/uNIXUJca0pJvtw41g==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/markdown-it"
+        }
+      ],
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "argparse": "^3.0.0",
+        "entities": "^8.0.0",
+        "linkify-it": "^6.0.0",
+        "mdurl": "^2.1.0",
+        "punycode.js": "^2.3.1",
+        "uc.micro": "^3.0.0"
+      },
+      "bin": {
+        "markdown-it": "bin/markdown-it.mjs"
+      }
+    },
+    "node_modules/markdownlint-cli2/node_modules/markdown-it/node_modules/argparse": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-3.0.2.tgz",
+      "integrity": "sha512-mFdDM6WqWKraGLsVb+C9CahPnzTXOefAOLq3jYcca2YZ8bEWpr++Tzj+zSaKW9+X9L5uSxcm1AZ3Y6aZJ09OhQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/nodeca"
+        }
+      ],
+      "license": "PSF-2.0",
+      "peer": true
+    },
+    "node_modules/markdownlint-micromark": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.2.tgz",
+      "integrity": "sha512-jRxlQg8KpOfM2IbCL9RXM8ZiYWz2rv6DlZAnGv8ASJQpUh6byTBnEsbuMZ6T2/uIgntyf7SKg/mEaEBo1164fQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=14.18.0"
+      }
+    },
+    "node_modules/markdownlint-rule-extended-ascii": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/markdownlint-rule-extended-ascii/-/markdownlint-rule-extended-ascii-0.2.1.tgz",
+      "integrity": "sha512-R7ED3LfGk87Jv2lx2a4BwkSAR3dYtlXmLR+taBYyVMttAu8j6Xq/W/rDU9UUaMAMEGYpUwvCzxIAyEDrRyU/9A==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/DavidAnson"
+      }
+    },
+    "node_modules/markdownlint-rule-helpers": {
+      "version": "0.21.0",
+      "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.21.0.tgz",
+      "integrity": "sha512-27WM6H76t79EZjEl3jSabV0ZzXsC5QaSslI/5N1XuXV0mJRA6i3BPMGFrtZUbhlCNgtY6oC9h5JhtpDMv95tKg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "markdownlint-micromark": "0.1.2"
+      },
+      "engines": {
+        "node": ">=16"
+      }
+    },
+    "node_modules/markdownlint-rule-search-replace": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/markdownlint-rule-search-replace/-/markdownlint-rule-search-replace-1.2.0.tgz",
+      "integrity": "sha512-l2eeVjb0ijxO+dO1ZrODcht+qnJ0VuiAAdBx1J8oa2kAugXl3NhxAGjfNuTfEJae5OQbdSGT+NjMczyzBXvWMA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "markdownlint-rule-helpers": "0.21.0"
+      },
+      "engines": {
+        "node": ">=16"
+      }
+    },
+    "node_modules/markdownlint-rule-title-case-style": {
+      "version": "0.4.3",
+      "resolved": "https://registry.npmjs.org/markdownlint-rule-title-case-style/-/markdownlint-rule-title-case-style-0.4.3.tgz",
+      "integrity": "sha512-BM6kedlbhMTP4wTrQ20IBf0UgwSE330JaEuexkPqz8cDDng0gFwjD8YO85hkF/NKTUBg3cA5wVFQlFsWtL1Yuw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "markdownlint": "^0.31.1",
+        "title-case": "^4.1.2"
+      }
+    },
+    "node_modules/markdownlint-rule-title-case-style/node_modules/markdownlint": {
+      "version": "0.31.1",
+      "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.31.1.tgz",
+      "integrity": "sha512-CKMR2hgcIBrYlIUccDCOvi966PZ0kJExDrUi1R+oF9PvqQmCrTqjOsgIvf2403OmJ+CWomuzDoylr6KbuMyvHA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "markdown-it": "13.0.1",
+        "markdownlint-micromark": "0.1.7"
+      },
+      "engines": {
+        "node": ">=16"
+      }
+    },
+    "node_modules/markdownlint-rule-title-case-style/node_modules/markdownlint-micromark": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.7.tgz",
+      "integrity": "sha512-BbRPTC72fl5vlSKv37v/xIENSRDYL/7X/XoFzZ740FGEbs9vZerLrIkFRY0rv7slQKxDczToYuMmqQFN61fi4Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=16"
+      }
+    },
+    "node_modules/mdurl": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.1.0.tgz",
+      "integrity": "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/micromark": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
+      "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "@types/debug": "^4.0.0",
+        "debug": "^4.0.0",
+        "decode-named-character-reference": "^1.0.0",
+        "devlop": "^1.0.0",
+        "micromark-core-commonmark": "^2.0.0",
+        "micromark-factory-space": "^2.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-chunked": "^2.0.0",
+        "micromark-util-combine-extensions": "^2.0.0",
+        "micromark-util-decode-numeric-character-reference": "^2.0.0",
+        "micromark-util-encode": "^2.0.0",
+        "micromark-util-normalize-identifier": "^2.0.0",
+        "micromark-util-resolve-all": "^2.0.0",
+        "micromark-util-sanitize-uri": "^2.0.0",
+        "micromark-util-subtokenize": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-core-commonmark": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
+      "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "decode-named-character-reference": "^1.0.0",
+        "devlop": "^1.0.0",
+        "micromark-factory-destination": "^2.0.0",
+        "micromark-factory-label": "^2.0.0",
+        "micromark-factory-space": "^2.0.0",
+        "micromark-factory-title": "^2.0.0",
+        "micromark-factory-whitespace": "^2.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-chunked": "^2.0.0",
+        "micromark-util-classify-character": "^2.0.0",
+        "micromark-util-html-tag-name": "^2.0.0",
+        "micromark-util-normalize-identifier": "^2.0.0",
+        "micromark-util-resolve-all": "^2.0.0",
+        "micromark-util-subtokenize": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-extension-directive": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz",
+      "integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "devlop": "^1.0.0",
+        "micromark-factory-space": "^2.0.0",
+        "micromark-factory-whitespace": "^2.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0",
+        "parse-entities": "^4.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
+      }
+    },
+    "node_modules/micromark-extension-gfm-autolink-literal": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
+      "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-sanitize-uri": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
+      }
+    },
+    "node_modules/micromark-extension-gfm-footnote": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
+      "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "devlop": "^1.0.0",
+        "micromark-core-commonmark": "^2.0.0",
+        "micromark-factory-space": "^2.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-normalize-identifier": "^2.0.0",
+        "micromark-util-sanitize-uri": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
+      }
+    },
+    "node_modules/micromark-extension-gfm-table": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
+      "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "devlop": "^1.0.0",
+        "micromark-factory-space": "^2.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
+      }
+    },
+    "node_modules/micromark-extension-math": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz",
+      "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@types/katex": "^0.16.0",
+        "devlop": "^1.0.0",
+        "katex": "^0.16.0",
+        "micromark-factory-space": "^2.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
+      }
+    },
+    "node_modules/micromark-factory-destination": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
+      "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-factory-label": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
+      "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "devlop": "^1.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-factory-space": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
+      "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-factory-title": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
+      "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-factory-space": "^2.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-factory-whitespace": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
+      "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-factory-space": "^2.0.0",
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-character": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
+      "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-chunked": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
+      "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-symbol": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-classify-character": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
+      "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-combine-extensions": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
+      "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-chunked": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-decode-numeric-character-reference": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
+      "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-symbol": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-encode": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
+      "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/micromark-util-html-tag-name": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
+      "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/micromark-util-normalize-identifier": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
+      "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-symbol": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-resolve-all": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
+      "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-sanitize-uri": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
+      "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-encode": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-subtokenize": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
+      "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "devlop": "^1.0.0",
+        "micromark-util-chunked": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
+      }
+    },
+    "node_modules/micromark-util-symbol": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
+      "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/micromark-util-types": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
+      "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/micromatch": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "braces": "^3.0.3",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/micromatch/node_modules/picomatch": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+      "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/mime": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-4.1.0.tgz",
+      "integrity": "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==",
+      "dev": true,
+      "funding": [
+        "https://github.com/sponsors/broofa"
+      ],
+      "license": "MIT",
+      "bin": {
+        "mime": "bin/cli.js"
+      },
+      "engines": {
+        "node": ">=16"
+      }
+    },
+    "node_modules/mime-db": {
+      "version": "1.54.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+      "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mime-types": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+      "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "mime-db": "^1.54.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
+      }
+    },
+    "node_modules/mimic-function": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
+      "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/mute-stream": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz",
+      "integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
+      }
+    },
+    "node_modules/netmask": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz",
+      "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/new-github-release-url": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz",
+      "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "type-fest": "^2.5.1"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/object-hash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+      "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/ohash": {
+      "version": "2.0.12",
+      "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.12.tgz",
+      "integrity": "sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/onetime": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
+      "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "mimic-function": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/open": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/open/-/open-11.0.4.tgz",
+      "integrity": "sha512-++Zlftm0kVLPmzC06t6epuWmcRMDbI4z5P3NNX979WA/k23+NtSOynEGzsVfZwguKw2mi5umVgnBlJQMwRz4Pg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "default-browser": "^5.5.1",
+        "define-lazy-prop": "^3.0.0",
+        "is-in-ssh": "^1.0.0",
+        "is-inside-container": "^1.0.0",
+        "powershell-utils": "^0.2.1",
+        "wsl-utils": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ora": {
+      "version": "9.4.1",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-9.4.1.tgz",
+      "integrity": "sha512-6VlU9MLXbjVQD04AZCMX28hVtA5bUoadvUqO76MUCVA0ilwJbMiHsITRPfyVm6p/BC0Av/BXMujx39WCe1LEqw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "chalk": "^5.6.2",
+        "cli-cursor": "^5.0.0",
+        "cli-spinners": "^3.2.0",
+        "is-interactive": "^2.0.0",
+        "is-unicode-supported": "^2.1.0",
+        "log-symbols": "^7.0.1",
+        "stdin-discarder": "^0.3.2",
+        "string-width": "^8.1.0"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/os-name": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/os-name/-/os-name-7.0.0.tgz",
+      "integrity": "sha512-/HfRU/lPPr4T2VigM+cvM3cU77es+XF4OEAa4aE5zpdvrxHGD2NmH0AFIWpMNAb+CsZL45rlcIO49Re0ZcRseg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "macos-release": "^3.4.0",
+        "windows-release": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/pac-proxy-agent": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-9.1.0.tgz",
+      "integrity": "sha512-1aU+1mpj3DrQPfo3gh+3Gap3G5x+axnMx1P/y0ZF2ch7kb2meyOCAH8K2k9d27ROsTE7TnAerzxqF9aon2jqnA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "agent-base": "9.0.0",
+        "debug": "^4.3.4",
+        "get-uri": "8.0.1",
+        "http-proxy-agent": "9.1.0",
+        "https-proxy-agent": "9.1.0",
+        "pac-resolver": "9.0.1",
+        "quickjs-wasi": "^2.2.0",
+        "socks-proxy-agent": "10.1.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/pac-resolver": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-9.0.1.tgz",
+      "integrity": "sha512-lJbS008tmkj08VhoM8Hzuv/VE5tK9MS0OIQ/7+s0lIF+BYhiQWFYzkSpML7lXs9iBu2jfmzBTLzhe9n6BX+dYw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "degenerator": "7.0.1",
+        "netmask": "^2.0.2"
+      },
+      "engines": {
+        "node": ">= 20"
+      },
+      "peerDependencies": {
+        "quickjs-wasi": "^2.2.0"
+      }
+    },
+    "node_modules/parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "callsites": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/parse-entities": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
+      "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@types/unist": "^2.0.0",
+        "character-entities-legacy": "^3.0.0",
+        "character-reference-invalid": "^2.0.0",
+        "decode-named-character-reference": "^1.0.0",
+        "is-alphanumerical": "^2.0.0",
+        "is-decimal": "^2.0.0",
+        "is-hexadecimal": "^2.0.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/parse-json": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.0.0",
+        "error-ex": "^1.3.1",
+        "json-parse-even-better-errors": "^2.3.0",
+        "lines-and-columns": "^1.1.6"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/parse-path": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.1.0.tgz",
+      "integrity": "sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "protocols": "^2.0.0"
+      }
+    },
+    "node_modules/parse-url": {
+      "version": "9.2.0",
+      "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-9.2.0.tgz",
+      "integrity": "sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@types/parse-path": "^7.0.0",
+        "parse-path": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=14.13.0"
+      }
+    },
+    "node_modules/pathe": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+      "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/perfect-debounce": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz",
+      "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/picocolors": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+      "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/picomatch": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
+      "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/pkg-types": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.3.tgz",
+      "integrity": "sha512-j/lCFdcppV0JxWpCEITdbDltBxPP6cHT+yNJ6Go2OgoSA9518X847X9z0p6LtA4Nc16+eQzCZjRrWanTGvHJ5w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "confbox": "^0.3.1",
+        "exsolve": "^1.1.1",
+        "pathe": "^2.0.3"
+      }
+    },
+    "node_modules/pkg-types/node_modules/confbox": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.3.1.tgz",
+      "integrity": "sha512-cKUSoKa8YxFZZSmraVi7onONx3amu77ngK3kGpsYHDH7drPwCRkQE1RYMPlLRrMtnciRj274XNRxcHxnKmDSnA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/playwright": {
+      "version": "1.63.0",
+      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz",
+      "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "playwright-core": "1.63.0"
+      },
+      "bin": {
+        "playwright": "cli.js"
+      },
+      "engines": {
+        "node": ">=20"
+      }
+    },
+    "node_modules/playwright-core": {
+      "version": "1.63.0",
+      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz",
+      "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "bin": {
+        "playwright-core": "cli.js"
+      },
+      "engines": {
+        "node": ">=20"
+      }
+    },
+    "node_modules/powershell-utils": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.2.1.tgz",
+      "integrity": "sha512-C+y9x90UElAddDZmV4qOx9W53B61PO7cIqWz2dQsWlwswuq4mr8NEwytdGKboYbQlGZ3awrkTeNvcZiZNHnQ8A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/protocols": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.2.tgz",
+      "integrity": "sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/proxy-agent": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-8.0.2.tgz",
+      "integrity": "sha512-idLLRewuemWd7GH/BDJzGiB0dWGfT2SQs3jy6NtZtGWU9uPTTSdeC1/cdbqLwgzhfv027daGFuXX426e2Eg20A==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "agent-base": "9.0.0",
+        "debug": "^4.3.4",
+        "http-proxy-agent": "9.1.0",
+        "https-proxy-agent": "9.1.0",
+        "lru-cache": "^7.14.1",
+        "pac-proxy-agent": "9.1.0",
+        "proxy-from-env": "^2.0.0",
+        "socks-proxy-agent": "10.1.0"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/proxy-agent-negotiate": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-agent-negotiate/-/proxy-agent-negotiate-1.1.0.tgz",
+      "integrity": "sha512-N8IBcM3UgCVzz2L2Lqv8DVntDnnC8/hiV4nEDUPkqq72TPUgYWjQc+bdZlBPZK9LzPAvOY//gAt0S0DApoOXWQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 20"
+      },
+      "peerDependencies": {
+        "kerberos": "^2.0.0"
+      },
+      "peerDependenciesMeta": {
+        "kerberos": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/proxy-from-env": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
+      "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/punycode.js": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+      "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/queue-microtask": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/quickjs-wasi": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/quickjs-wasi/-/quickjs-wasi-2.2.0.tgz",
+      "integrity": "sha512-zQxXmQMrEoD3S+jQdYsloq4qAuaxKFHZj6hHqOYGwB2iQZH+q9e/lf5zQPXCKOk0WJuAjzRFbO4KwHIp2D05Iw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/rc9": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/rc9/-/rc9-3.1.0.tgz",
+      "integrity": "sha512-ufjkNVzbRHKcCOmTahZkmVsyc3W+MSk3jY03m+a7tGHkIsdVMG9l10/3HvFbWkkKzY5VFp3pkRsIo/UYgmFL7Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "defu": "^6.1.7",
+        "destr": "^2.0.5"
+      }
+    },
+    "node_modules/readable-stream": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/readdirp": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz",
+      "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 20.19.0"
+      },
+      "funding": {
+        "type": "individual",
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/release-it": {
+      "version": "21.1.0",
+      "resolved": "https://registry.npmjs.org/release-it/-/release-it-21.1.0.tgz",
+      "integrity": "sha512-jR179wu8Z9BKfhd0wVmUmzjshCnezUkULdHW5rSCjKTXApdr6mAJjw/R339uXS43mLCz6iAFO6ffS27+N1dy8A==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/webpro"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/webpro"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "@inquirer/prompts": "8.7.2",
+        "@octokit/rest": "22.0.1",
+        "@phun-ky/typeof": "2.0.3",
+        "async-retry": "1.3.3",
+        "c12": "3.3.4",
+        "ci-info": "^4.4.0",
+        "defu": "^6.1.7",
+        "eta": "4.6.0",
+        "git-url-parse": "16.1.0",
+        "issue-parser": "7.0.2",
+        "lodash.merge": "4.6.2",
+        "mime-types": "3.0.2",
+        "new-github-release-url": "2.0.0",
+        "open": "11.0.4",
+        "ora": "9.4.1",
+        "os-name": "7.0.0",
+        "proxy-agent": "8.0.2",
+        "tinyglobby": "0.2.17",
+        "undici": "7.29.0",
+        "url-join": "5.0.0",
+        "verkit": "0.4.0",
+        "wildcard-match": "5.1.4"
+      },
+      "bin": {
+        "release-it": "bin/release-it.js"
+      },
+      "engines": {
+        "node": "^22.22.2 || ^24.15.0 || >=26.0.0"
+      }
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/restore-cursor": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
+      "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "onetime": "^7.0.0",
+        "signal-exit": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/retry": {
+      "version": "0.13.1",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+      "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/reusify": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+      "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "iojs": ">=1.0.0",
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/run-applescript": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
+      "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/run-parallel": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "queue-microtask": "^1.2.2"
+      }
+    },
+    "node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/semver": {
+      "version": "7.8.5",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
+      "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/simple-git-hooks": {
+      "version": "2.14.0",
+      "resolved": "https://registry.npmjs.org/simple-git-hooks/-/simple-git-hooks-2.14.0.tgz",
+      "integrity": "sha512-kkTORPAuxQz2g1QUuN0J8yGWT28tjGBfPOdJ4xT7Vbeu30veKUZQIoID2qGgCDAakaQn59UeZJJ4cFGB8PVP2A==",
+      "dev": true,
+      "hasInstallScript": true,
+      "license": "MIT",
+      "bin": {
+        "simple-git-hooks": "cli.js"
+      }
+    },
+    "node_modules/slash": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+      "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/smart-buffer": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 6.0.0",
+        "npm": ">= 3.0.0"
+      }
+    },
+    "node_modules/smol-toml": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.8.0.tgz",
+      "integrity": "sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "peer": true,
+      "engines": {
+        "node": ">= 18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/cyyynthia"
+      }
+    },
+    "node_modules/socks": {
+      "version": "2.8.10",
+      "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.10.tgz",
+      "integrity": "sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ip-address": "^10.1.1",
+        "smart-buffer": "^4.2.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0",
+        "npm": ">= 3.0.0"
+      }
+    },
+    "node_modules/socks-proxy-agent": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-10.1.0.tgz",
+      "integrity": "sha512-WlMj/67cEJ6MDI1OcsnjuYKDNDoyPCCYZ249kuuXPiMDw9F8PXkVaQ7YWu3siTydfQ/4BEZcvGzu+aYvz7dDCQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "agent-base": "9.0.0",
+        "debug": "^4.3.4",
+        "socks": "^2.8.3"
+      },
+      "engines": {
+        "node": ">= 20"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+      "dev": true,
+      "license": "BSD-3-Clause"
+    },
+    "node_modules/stdin-discarder": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz",
+      "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "safe-buffer": "~5.2.0"
+      }
+    },
+    "node_modules/string-argv": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
+      "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.6.19"
+      }
+    },
+    "node_modules/string-width": {
+      "version": "8.2.1",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
+      "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "get-east-asian-width": "^1.5.0",
+        "strip-ansi": "^7.1.2"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/strip-ansi": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+      "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ansi-regex": "^6.2.2"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
+    "node_modules/tinyexec": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz",
+      "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/tinyglobby": {
+      "version": "0.2.17",
+      "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
+      "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fdir": "^6.5.0",
+        "picomatch": "^4.0.4"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/SuperchupuDev"
+      }
+    },
+    "node_modules/title-case": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/title-case/-/title-case-4.3.2.tgz",
+      "integrity": "sha512-I/nkcBo73mO42Idfv08jhInV61IMb61OdIFxk+B4Gu1oBjWBPOLmhZdsli+oJCVaD+86pYQA93cJfFt224ZFAA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-number": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/tslib": {
+      "version": "2.8.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+      "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+      "dev": true,
+      "license": "0BSD"
+    },
+    "node_modules/type-fest": {
+      "version": "2.19.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+      "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+      "dev": true,
+      "license": "(MIT OR CC0-1.0)",
+      "engines": {
+        "node": ">=12.20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/typedarray": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/typescript": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz",
+      "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "bin": {
+        "tsc": "bin/tsc"
+      },
+      "engines": {
+        "node": ">=16.20.0"
+      },
+      "optionalDependencies": {
+        "@typescript/typescript-aix-ppc64": "7.0.2",
+        "@typescript/typescript-darwin-arm64": "7.0.2",
+        "@typescript/typescript-darwin-x64": "7.0.2",
+        "@typescript/typescript-freebsd-arm64": "7.0.2",
+        "@typescript/typescript-freebsd-x64": "7.0.2",
+        "@typescript/typescript-linux-arm": "7.0.2",
+        "@typescript/typescript-linux-arm64": "7.0.2",
+        "@typescript/typescript-linux-loong64": "7.0.2",
+        "@typescript/typescript-linux-mips64el": "7.0.2",
+        "@typescript/typescript-linux-ppc64": "7.0.2",
+        "@typescript/typescript-linux-riscv64": "7.0.2",
+        "@typescript/typescript-linux-s390x": "7.0.2",
+        "@typescript/typescript-linux-x64": "7.0.2",
+        "@typescript/typescript-netbsd-arm64": "7.0.2",
+        "@typescript/typescript-netbsd-x64": "7.0.2",
+        "@typescript/typescript-openbsd-arm64": "7.0.2",
+        "@typescript/typescript-openbsd-x64": "7.0.2",
+        "@typescript/typescript-sunos-x64": "7.0.2",
+        "@typescript/typescript-win32-arm64": "7.0.2",
+        "@typescript/typescript-win32-x64": "7.0.2"
+      }
+    },
+    "node_modules/uc.micro": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-3.0.0.tgz",
+      "integrity": "sha512-U3PppEkleoTnIfi8BozMx3yju3qc/L6SwqWo2Sw+54PX+PX0q9I+r1Um5HCmqD7n9VDX5/v3vQH/AjA6deDdtw==",
+      "dev": true,
+      "license": "MIT",
+      "peer": true
+    },
+    "node_modules/undici": {
+      "version": "7.29.0",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz",
+      "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=20.18.1"
+      }
+    },
+    "node_modules/undici-types": {
+      "version": "8.9.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz",
+      "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/unicorn-magic": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.1.tgz",
+      "integrity": "sha512-lzlXPoVB0Uy/FvTaUgX39RbixYiSKoc3JSoSf01+0c2B6FR3qdYIPN7Qjo/AV7n6sqLCk0509cT3LRj1oSZ1+A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/universal-user-agent": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz",
+      "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==",
+      "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/url-join": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
+      "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      }
+    },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/verkit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/verkit/-/verkit-0.4.0.tgz",
+      "integrity": "sha512-sXMwN6DMHeouPfCxkxWkKAmxphWKEenHYY5H1nIBzU3PmDsmJp6kBXJdshjVdpMZuWCmL9SH7KFRx29AylpP6g==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18.12.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
+      }
+    },
+    "node_modules/walk-up-path": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz",
+      "integrity": "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": "20 || >=22"
+      }
+    },
+    "node_modules/wildcard-match": {
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.4.tgz",
+      "integrity": "sha512-wldeCaczs8XXq7hj+5d/F38JE2r7EXgb6WQDM84RVwxy81T/sxB5e9+uZLK9Q9oNz1mlvjut+QtvgaOQFPVq/g==",
+      "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/windows-release": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-7.1.1.tgz",
+      "integrity": "sha512-0GBwC9WmR8Bm3WYiz3FC391054BsFHZ2gzBVdYj9uj5eIVYzbn/YPYCYW9SWdh9vwnLuzpn1UGwJKiMG4F236w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "powershell-utils": "^0.2.0"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/wsl-utils": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-1.0.0.tgz",
+      "integrity": "sha512-Hl0ZOAs672vg+06kfujwRhoS6/jehvULrlFkuF2dRu6pHgA8U06h3xqNIqNNU1LTXPcedxByAR4GS6pwQK0mgA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "is-wsl": "^3.1.0",
+        "powershell-utils": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/wsl-utils/node_modules/powershell-utils": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz",
+      "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yaml": {
+      "version": "2.9.1",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz",
+      "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "yaml": "bin.mjs"
+      },
+      "engines": {
+        "node": ">= 14.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/eemeli"
+      }
+    },
+    "node_modules/yargs": {
+      "version": "17.7.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+      "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "cliui": "^8.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.3",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^21.1.1"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/yargs/node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs/node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs/node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs/node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yoctocolors": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.2.0.tgz",
+      "integrity": "sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    }
+  }
 }
diff --git a/package.json b/package.json
index e20693d..9de856c 100644
--- a/package.json
+++ b/package.json
@@ -1,90 +1,91 @@
 {
-	"name": "@gohugo-ananke/ananke",
-	"description": "Ananke: A theme for Hugo Sites",
-	"version": "2.19.1",
-	"license": "MIT",
-	"repository": "gohugo-ananke/ananke",
-	"author": "Bud Parr (https://github.com/budparr)",
-	"maintainers": [
-		{
-			"name": "Patrick Kollitsch",
-			"url": "https://github.com/davidsneighbour"
-		}
-	],
-	"contributors": [
-		{
-			"name": "Regis Philibert",
-			"url": "https://github.com/regisphilibert"
-		}
-	],
-	"bugs": "https://github.com/gohugo-ananke/ananke/issues",
-	"homepage": "https://github.com/gohugo-ananke/ananke#readme",
-	"keywords": [
-		"hugo",
-		"hugo-theme",
-		"hugo-module"
-	],
-	"devDependencies": {
-		"@axe-core/playwright": "4.13.0",
-		"@biomejs/biome": "2.5.14",
-		"@github/markdownlint-github": "0.8.4",
-		"@playwright/test": "1.63.0",
-		"@release-it/conventional-changelog": "12.0.2",
-		"@types/node": "26.6.3",
-		"dotenv": "18.0.4",
-		"lint-staged": "17.6.0",
-		"lockfile-lint": "5.0.1",
-		"markdownlint": "0.41.1",
-		"markdownlint-cli2": "0.23.3",
-		"markdownlint-rule-extended-ascii": "0.2.1",
-		"markdownlint-rule-list-duplicates": "0.0.1",
-		"markdownlint-rule-relative-links": "5.1.3",
-		"markdownlint-rule-search-replace": "1.2.0",
-		"markdownlint-rule-title-case-style": "0.4.3",
-		"release-it": "21.1.0",
-		"simple-git-hooks": "2.14.0",
-		"typescript": "7.0.2",
-		"yaml": "2.9.1"
-	},
-	"scripts": {
-		"hook:commit": "lint-staged --config .lintstagedrc.js",
-		"hook:push": "node -e \"process.exit(require('child_process').execSync('git branch --show-current').toString().trim() === 'main' ? 0 : 1)\" && node scripts/test-hugo-quickstart.ts || true",
-		"lint:links": "lychee --config lychee.toml public",
-		"lint:markdown": "markdownlint-cli2",
-		"lint:markdown:fix": "markdownlint-cli2 --fix",
-		"lint:typescript": "tsc -p tsconfig.json --noEmit",
-		"prepare": "simple-git-hooks install",
-		"release": "release-it --config .release-it.ts",
-		"release:pre": "release-it --preRelease=prerelease --config .release-it.ts",
-		"server": "hugo server --environment documentation",
-		"test": "node scripts/test-hugo-quickstart.ts",
-		"test:coverage-gate": "node tests/coverage-gate.mjs",
-		"test:e2e": "playwright test",
-		"test:e2e:ui": "playwright test --ui",
-		"test:quickstart": "node scripts/test-hugo-quickstart.ts",
-		"test:quickstart:submodule": "node scripts/test-hugo-quickstart.ts --use-submodule",
-		"update:docs": "git add docs/ && (git diff --cached --quiet || git commit -m \"chore(git): update documentation submodule\")"
-	},
-	"cspell": {
-		"version": "0.2",
-		"language": "en-GB",
-		"ignorePaths": [
-			"CHANGELOG.md",
-			"public",
-			"node_modules"
-		]
-	},
-	"simple-git-hooks": {
-		"pre-commit": "npm run hook:commit",
-		"pre-push": "npm run hook:push"
-	},
-	"type": "module",
-	"overrides": {
-		"markdownlint-rule-title-case-style": {
-			"markdownlint": "$markdownlint"
-		}
-	},
-	"allowScripts": {
-		"simple-git-hooks@2.14.0": true
-	}
+  "name": "@gohugo-ananke/ananke",
+  "description": "Ananke: A theme for Hugo Sites",
+  "version": "2.19.1",
+  "license": "MIT",
+  "author": "Bud Parr (https://github.com/budparr)",
+  "maintainers": [
+    {
+      "name": "Patrick Kollitsch",
+      "url": "https://github.com/davidsneighbour"
+    }
+  ],
+  "contributors": [
+    {
+      "name": "Regis Philibert",
+      "url": "https://github.com/regisphilibert"
+    }
+  ],
+  "bugs": "https://github.com/gohugo-ananke/ananke/issues",
+  "homepage": "https://github.com/gohugo-ananke/ananke#readme",
+  "keywords": [
+    "hugo",
+    "hugo-theme",
+    "hugo-module"
+  ],
+  "devDependencies": {
+    "@axe-core/playwright": "4.13.0",
+    "@biomejs/biome": "2.5.14",
+    "@dnbhq/biome-config": "0.3.1",
+    "@dnbhq/lintstaged-config": "0.2.1",
+    "@dnbhq/markdownlint-config": "0.2.11",
+    "@dnbhq/release-config": "1.1.3",
+    "@dnbhq/tsconfig": "0.1.6",
+    "@playwright/test": "1.63.0",
+    "@release-it/conventional-changelog": "12.0.2",
+    "@types/node": "26.6.3",
+    "dotenv": "18.0.4",
+    "lint-staged": "17.6.0",
+    "lockfile-lint": "5.0.1",
+    "release-it": "21.1.0",
+    "simple-git-hooks": "2.14.0",
+    "typescript": "7.0.2",
+    "yaml": "2.9.1"
+  },
+  "scripts": {
+    "hook:commit": "lint-staged",
+    "hook:push": "node -e \"process.exit(require('child_process').execSync('git branch --show-current').toString().trim() === 'main' ? 0 : 1)\" && node scripts/test-hugo-quickstart.ts || true",
+    "lint:links": "lychee --config lychee.toml public",
+    "lint:markdown": "markdownlint-cli2 --config ./node_modules/@dnbhq/markdownlint-config/.markdownlint-cli2.jsonc \"**/*.{md,mdx}\" \"#CHANGELOG.md\" \"#tests/.playwright/**\" \"#tests/fixtures/site/public/**\"",
+    "lint:markdown:fix": "markdownlint-cli2 --config ./node_modules/@dnbhq/markdownlint-config/.markdownlint-cli2.jsonc --fix \"**/*.{md,mdx}\" \"#CHANGELOG.md\" \"#tests/.playwright/**\" \"#tests/fixtures/site/public/**\"",
+    "lint:typescript": "tsc -p tsconfig.json --noEmit",
+    "prepare": "simple-git-hooks install",
+    "release": "release-it --config .release-it.ts",
+    "release:pre": "release-it --preRelease=prerelease --config .release-it.ts",
+    "server": "hugo server --environment documentation",
+    "test": "node scripts/test-hugo-quickstart.ts",
+    "test:coverage-gate": "node tests/coverage-gate.mjs",
+    "test:e2e": "playwright test",
+    "test:e2e:ui": "playwright test --ui",
+    "test:quickstart": "node scripts/test-hugo-quickstart.ts",
+    "test:quickstart:submodule": "node scripts/test-hugo-quickstart.ts --use-submodule",
+    "update:docs": "git add docs/ && (git diff --cached --quiet || git commit -m \"chore(git): update documentation submodule\")",
+    "release:dry": "release-it --dry-run --config .release-it.ts",
+    "lint:code": "biome check",
+    "lint:lockfile": "lockfile-lint --path package-lock.json --validate-https --allowed-hosts npm",
+    "lint": "npm run lint:code && npm run lint:lockfile && npm run lint:markdown && npm run lint:typescript",
+    "check": "npm run lint && npm test && npm run test:coverage-gate",
+    "lint:code:fix": "biome check --write"
+  },
+  "cspell": {
+    "version": "0.2",
+    "language": "en-GB",
+    "ignorePaths": [
+      "CHANGELOG.md",
+      "public",
+      "node_modules"
+    ]
+  },
+  "simple-git-hooks": {
+    "pre-commit": "npm run hook:commit",
+    "pre-push": "npm run hook:push"
+  },
+  "type": "module",
+  "allowScripts": {
+    "simple-git-hooks@2.14.0": true
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/gohugo-ananke/ananke.git"
+  }
 }
diff --git a/playwright.config.ts b/playwright.config.ts
index c8f8fec..d45c946 100644
--- a/playwright.config.ts
+++ b/playwright.config.ts
@@ -12,26 +12,26 @@
  * branch. See tests/support/dev-server.mjs.
  */
 export default defineConfig({
-	testDir: "./tests/e2e",
-	outputDir: "./tests/.playwright/results",
-	fullyParallel: true,
-	forbidOnly: isCI,
-	retries: isCI ? 2 : 0,
-	reporter: isCI ? [["github"], ["list"]] : "list",
-	use: {
-		baseURL,
-		trace: "on-first-retry",
-	},
-	projects: [
-		{
-			name: "chromium",
-			use: { ...devices["Desktop Chrome"] },
-		},
-	],
-	webServer: {
-		command: "node tests/support/dev-server.mjs",
-		url: baseURL,
-		reuseExistingServer: !isCI,
-		timeout: 120_000,
-	},
+  testDir: "./tests/e2e",
+  outputDir: "./tests/.playwright/results",
+  fullyParallel: true,
+  forbidOnly: isCI,
+  retries: isCI ? 2 : 0,
+  reporter: isCI ? [["github"], ["list"]] : "list",
+  use: {
+    baseURL,
+    trace: "on-first-retry",
+  },
+  projects: [
+    {
+      name: "chromium",
+      use: { ...devices["Desktop Chrome"] },
+    },
+  ],
+  webServer: {
+    command: "node tests/support/dev-server.mjs",
+    url: baseURL,
+    reuseExistingServer: !isCI,
+    timeout: 120_000,
+  },
 });
diff --git a/renovate.json5 b/renovate.json5
new file mode 100644
index 0000000..3ff892d
--- /dev/null
+++ b/renovate.json5
@@ -0,0 +1,7 @@
+{
+	"$schema": "https://docs.renovatebot.com/renovate-schema.json",
+	"extends": ["github>dnbhq/renovate-config"],
+	"assignees": ["davidsneighbour"],
+	"baseBranches": ["development"],
+	"labels": ["type:dependencies"],
+}
diff --git a/scripts/synch-social-icons.ts b/scripts/synch-social-icons.ts
index 425cffe..35fd205 100644
--- a/scripts/synch-social-icons.ts
+++ b/scripts/synch-social-icons.ts
@@ -32,81 +32,81 @@
 import process from "node:process";
 
 type CliOptions = {
-	dir: string;
-	branch: string;
-	apply: boolean;
-	deleteMissing: boolean;
-	onlyChanged: boolean;
-	json: boolean;
-	verbose: boolean;
-	all: boolean;
-	concurrency: number;
-	help: boolean;
+  dir: string;
+  branch: string;
+  apply: boolean;
+  deleteMissing: boolean;
+  onlyChanged: boolean;
+  json: boolean;
+  verbose: boolean;
+  all: boolean;
+  concurrency: number;
+  help: boolean;
 };
 
 type FileResultStatus =
-	| "same"
-	| "changed"
-	| "missing"
-	| "would-create"
-	| "created"
-	| "would-delete"
-	| "deleted"
-	| "updated"
-	| "error";
+  | "same"
+  | "changed"
+  | "missing"
+  | "would-create"
+  | "created"
+  | "would-delete"
+  | "deleted"
+  | "updated"
+  | "error";
 
 type FileResult = {
-	fileName: string;
-	localPath: string;
-	remoteUrl: string;
-	status: FileResultStatus;
-	message: string;
+  fileName: string;
+  localPath: string;
+  remoteUrl: string;
+  status: FileResultStatus;
+  message: string;
 };
 
 type Summary = {
-	same: number;
-	changed: number;
-	missing: number;
-	wouldCreate: number;
-	created: number;
-	wouldDelete: number;
-	deleted: number;
-	updated: number;
-	errors: number;
+  same: number;
+  changed: number;
+  missing: number;
+  wouldCreate: number;
+  created: number;
+  wouldDelete: number;
+  deleted: number;
+  updated: number;
+  errors: number;
 };
 
 type JsonOutput = {
-	options: {
-		dir: string;
-		branch: string;
-		apply: boolean;
-		deleteMissing: boolean;
-		onlyChanged: boolean;
-		json: boolean;
-		verbose: boolean;
-		all: boolean;
-		concurrency: number;
-	};
-	results: FileResult[];
-	summary: Summary;
+  options: {
+    dir: string;
+    branch: string;
+    apply: boolean;
+    deleteMissing: boolean;
+    onlyChanged: boolean;
+    json: boolean;
+    verbose: boolean;
+    all: boolean;
+    concurrency: number;
+  };
+  results: FileResult[];
+  summary: Summary;
 };
 
 type ProcessingTask =
-	| {
-			kind: "upstream";
-			fileName: string;
-	  }
-	| {
-			kind: "local-only";
-			fileName: string;
-	  };
+  | {
+      kind: "upstream";
+      fileName: string;
+    }
+  | {
+      kind: "local-only";
+      fileName: string;
+    };
 
 const DEFAULT_DIRECTORY = "assets/ananke/socials";
 const DEFAULT_BRANCH = "develop";
 const SIMPLE_ICONS_OWNER = "simple-icons";
 const SIMPLE_ICONS_REPO = "simple-icons";
 const SIMPLE_ICONS_RAW_BASE =
-	"https://raw.githubusercontent.com/simple-icons/simple-icons";
+  "https://raw.githubusercontent.com/simple-icons/simple-icons";
 
 const EXIT_SUCCESS = 0;
 const EXIT_FAILURE = 1;
@@ -115,10 +115,10 @@
  * Print CLI help.
  */
 function printHelp(): void {
-	const scriptName = path.basename(process.argv[1] ?? "update-social-icons.ts");
+  const scriptName = path.basename(process.argv[1] ?? "update-social-icons.ts");
 
-	console.log(
-		`
+  console.log(
+    `
 Usage:
   ${scriptName} [options]
 
@@ -169,7 +169,7 @@
   * updated       local file was replaced because --apply was used
   * error         processing failed
 `.trim(),
-	);
+  );
 }
 
 /**
@@ -179,121 +179,121 @@
  * @returns Parsed CLI options.
  */
 function parseArgs(argv: string[]): CliOptions {
-	const options: CliOptions = {
-		dir: DEFAULT_DIRECTORY,
-		branch: DEFAULT_BRANCH,
-		apply: false,
-		deleteMissing: false,
-		onlyChanged: false,
-		json: false,
-		verbose: false,
-		all: false,
-		concurrency: 8,
-		help: false,
-	};
+  const options: CliOptions = {
+    dir: DEFAULT_DIRECTORY,
+    branch: DEFAULT_BRANCH,
+    apply: false,
+    deleteMissing: false,
+    onlyChanged: false,
+    json: false,
+    verbose: false,
+    all: false,
+    concurrency: 8,
+    help: false,
+  };
 
-	for (let index = 0; index < argv.length; index += 1) {
-		const arg = argv[index];
-		if (arg === undefined) {
-			continue;
-		}
+  for (let index = 0; index < argv.length; index += 1) {
+    const arg = argv[index];
+    if (arg === undefined) {
+      continue;
+    }
 
-		if (arg === "--help") {
-			options.help = true;
-			continue;
-		}
+    if (arg === "--help") {
+      options.help = true;
+      continue;
+    }
 
-		if (arg === "--apply") {
-			options.apply = true;
-			continue;
-		}
+    if (arg === "--apply") {
+      options.apply = true;
+      continue;
+    }
 
-		if (arg === "--delete") {
-			options.deleteMissing = true;
-			continue;
-		}
+    if (arg === "--delete") {
+      options.deleteMissing = true;
+      continue;
+    }
 
-		if (arg === "--only-changed") {
-			options.onlyChanged = true;
-			continue;
-		}
+    if (arg === "--only-changed") {
+      options.onlyChanged = true;
+      continue;
+    }
 
-		if (arg === "--json") {
-			options.json = true;
-			continue;
-		}
+    if (arg === "--json") {
+      options.json = true;
+      continue;
+    }
 
-		if (arg === "--verbose") {
-			options.verbose = true;
-			continue;
-		}
+    if (arg === "--verbose") {
+      options.verbose = true;
+      continue;
+    }
 
-		if (arg === "--all") {
-			options.all = true;
-			continue;
-		}
+    if (arg === "--all") {
+      options.all = true;
+      continue;
+    }
 
-		if (arg === "--dir") {
-			const value = argv[index + 1];
-			if (!value) {
-				throw new Error("Missing value for --dir");
-			}
-			options.dir = value;
-			index += 1;
-			continue;
-		}
+    if (arg === "--dir") {
+      const value = argv[index + 1];
+      if (!value) {
+        throw new Error("Missing value for --dir");
+      }
+      options.dir = value;
+      index += 1;
+      continue;
+    }
 
-		if (arg.startsWith("--dir=")) {
-			options.dir = arg.slice("--dir=".length);
-			continue;
-		}
+    if (arg.startsWith("--dir=")) {
+      options.dir = arg.slice("--dir=".length);
+      continue;
+    }
 
-		if (arg === "--branch") {
-			const value = argv[index + 1];
-			if (!value) {
-				throw new Error("Missing value for --branch");
-			}
-			options.branch = value;
-			index += 1;
-			continue;
-		}
+    if (arg === "--branch") {
+      const value = argv[index + 1];
+      if (!value) {
+        throw new Error("Missing value for --branch");
+      }
+      options.branch = value;
+      index += 1;
+      continue;
+    }
 
-		if (arg.startsWith("--branch=")) {
-			options.branch = arg.slice("--branch=".length);
-			continue;
-		}
+    if (arg.startsWith("--branch=")) {
+      options.branch = arg.slice("--branch=".length);
+      continue;
+    }
 
-		if (arg === "--concurrency") {
-			const value = argv[index + 1];
-			if (!value) {
-				throw new Error("Missing value for --concurrency");
-			}
+    if (arg === "--concurrency") {
+      const value = argv[index + 1];
+      if (!value) {
+        throw new Error("Missing value for --concurrency");
+      }
 
-			const parsed = Number.parseInt(value, 10);
-			if (!Number.isInteger(parsed) || parsed < 1) {
-				throw new Error("--concurrency must be a positive integer");
-			}
+      const parsed = Number.parseInt(value, 10);
+      if (!Number.isInteger(parsed) || parsed < 1) {
+        throw new Error("--concurrency must be a positive integer");
+      }
 
-			options.concurrency = parsed;
-			index += 1;
-			continue;
-		}
+      options.concurrency = parsed;
+      index += 1;
+      continue;
+    }
 
-		if (arg.startsWith("--concurrency=")) {
-			const value = arg.slice("--concurrency=".length);
-			const parsed = Number.parseInt(value, 10);
-			if (!Number.isInteger(parsed) || parsed < 1) {
-				throw new Error("--concurrency must be a positive integer");
-			}
+    if (arg.startsWith("--concurrency=")) {
+      const value = arg.slice("--concurrency=".length);
+      const parsed = Number.parseInt(value, 10);
+      if (!Number.isInteger(parsed) || parsed < 1) {
+        throw new Error("--concurrency must be a positive integer");
+      }
 
-			options.concurrency = parsed;
-			continue;
-		}
+      options.concurrency = parsed;
+      continue;
+    }
 
-		throw new Error(`Unknown argument: ${arg}`);
-	}
+    throw new Error(`Unknown argument: ${arg}`);
+  }
 
-	return options;
+  return options;
 }
 
 /**
@@ -304,7 +304,7 @@
  * @returns Raw GitHub URL.
  */
 function buildRemoteUrl(branch: string, fileName: string): string {
-	return `${SIMPLE_ICONS_RAW_BASE}/${encodeURIComponent(branch)}/icons/${encodeURIComponent(fileName)}`;
+  return `${SIMPLE_ICONS_RAW_BASE}/${encodeURIComponent(branch)}/icons/${encodeURIComponent(fileName)}`;
 }
 
 /**
@@ -314,13 +314,13 @@
  * @returns Sorted list of SVG filenames.
  */
 async function getLocalSvgFiles(directory: string): Promise<string[]> {
-	const entries = await fs.readdir(directory, { withFileTypes: true });
+  const entries = await fs.readdir(directory, { withFileTypes: true });
 
-	return entries
-		.filter((entry) => entry.isFile())
-		.map((entry) => entry.name)
-		.filter((fileName) => fileName.toLowerCase().endsWith(".svg"))
-		.sort((left, right) => left.localeCompare(right));
+  return entries
+    .filter((entry) => entry.isFile())
+    .map((entry) => entry.name)
+    .filter((fileName) => fileName.toLowerCase().endsWith(".svg"))
+    .sort((left, right) => left.localeCompare(right));
 }
 
 /**
@@ -330,52 +330,52 @@
  * @returns Sorted list of upstream SVG filenames.
  */
 async function getUpstreamSvgFiles(branch: string): Promise<string[]> {
-	const apiUrl = new URL(
-		`https://api.github.com/repos/${encodeURIComponent(SIMPLE_ICONS_OWNER)}/${encodeURIComponent(SIMPLE_ICONS_REPO)}/contents/icons`,
-	);
-	apiUrl.searchParams.set("ref", branch);
+  const apiUrl = new URL(
+    `https://api.github.com/repos/${encodeURIComponent(SIMPLE_ICONS_OWNER)}/${encodeURIComponent(SIMPLE_ICONS_REPO)}/contents/icons`,
+  );
+  apiUrl.searchParams.set("ref", branch);
 
-	const response = await fetch(apiUrl.toString(), {
-		method: "GET",
-		headers: {
-			Accept: "application/vnd.github+json",
-			"User-Agent": "davidsneighbour-social-icon-updater",
-		},
-	});
+  const response = await fetch(apiUrl.toString(), {
+    method: "GET",
+    headers: {
+      Accept: "application/vnd.github+json",
+      "User-Agent": "davidsneighbour-social-icon-updater",
+    },
+  });
 
-	if (!response.ok) {
-		throw new Error(
-			`Failed to retrieve upstream icon listing with HTTP ${response.status}`,
-		);
-	}
+  if (!response.ok) {
+    throw new Error(
+      `Failed to retrieve upstream icon listing with HTTP ${response.status}`,
+    );
+  }
 
-	const data: unknown = await response.json();
+  const data: unknown = await response.json();
 
-	if (!Array.isArray(data)) {
-		throw new Error(
-			"Unexpected response while retrieving upstream icon listing",
-		);
-	}
+  if (!Array.isArray(data)) {
+    throw new Error(
+      "Unexpected response while retrieving upstream icon listing",
+    );
+  }
 
-	const fileNames = data
-		.flatMap((entry: unknown) => {
-			if (
-				typeof entry === "object" &&
-				entry !== null &&
-				"type" in entry &&
-				"name" in entry &&
-				entry.type === "file" &&
-				typeof entry.name === "string" &&
-				entry.name.toLowerCase().endsWith(".svg")
-			) {
-				return [entry.name];
-			}
+  const fileNames = data
+    .flatMap((entry: unknown) => {
+      if (
+        typeof entry === "object" &&
+        entry !== null &&
+        "type" in entry &&
+        "name" in entry &&
+        entry.type === "file" &&
+        typeof entry.name === "string" &&
+        entry.name.toLowerCase().endsWith(".svg")
+      ) {
+        return [entry.name];
+      }
 
-			return [];
-		})
-		.sort((left, right) => left.localeCompare(right));
+      return [];
+    })
+    .sort((left, right) => left.localeCompare(right));
 
-	return fileNames;
+  return fileNames;
 }
 
 /**
@@ -387,25 +387,25 @@
  * @returns SVG content or null if not found.
  */
 async function fetchRemoteSvg(remoteUrl: string): Promise<string | null> {
-	const response = await fetch(remoteUrl, {
-		method: "GET",
-		headers: {
-			Accept: "image/svg+xml,text/plain;q=0.9,*/*;q=0.8",
-			"User-Agent": "davidsneighbour-social-icon-updater",
-		},
-	});
+  const response = await fetch(remoteUrl, {
+    method: "GET",
+    headers: {
+      Accept: "image/svg+xml,text/plain;q=0.9,*/*;q=0.8",
+      "User-Agent": "davidsneighbour-social-icon-updater",
+    },
+  });
 
-	if (response.status === 404) {
-		return null;
-	}
+  if (response.status === 404) {
+    return null;
+  }
 
-	if (!response.ok) {
-		throw new Error(
-			`Request failed with HTTP ${response.status} for ${remoteUrl}`,
-		);
-	}
+  if (!response.ok) {
+    throw new Error(
+      `Request failed with HTTP ${response.status} for ${remoteUrl}`,
+    );
+  }
 
-	return await response.text();
+  return await response.text();
 }
 
 /**
@@ -427,96 +427,96 @@
  * @returns Processing result.
  */
 async function processUpstreamFile(
-	directory: string,
-	fileName: string,
-	branch: string,
-	apply: boolean,
+  directory: string,
+  fileName: string,
+  branch: string,
+  apply: boolean,
 ): Promise<FileResult> {
-	const localPath = path.join(directory, fileName);
-	const remoteUrl = buildRemoteUrl(branch, fileName);
+  const localPath = path.join(directory, fileName);
+  const remoteUrl = buildRemoteUrl(branch, fileName);
 
-	try {
-		const remoteContent = await fetchRemoteSvg(remoteUrl);
+  try {
+    const remoteContent = await fetchRemoteSvg(remoteUrl);
 
-		if (remoteContent === null) {
-			return {
-				fileName,
-				localPath,
-				remoteUrl,
-				status: "missing",
-				message: "No matching upstream file found",
-			};
-		}
+    if (remoteContent === null) {
+      return {
+        fileName,
+        localPath,
+        remoteUrl,
+        status: "missing",
+        message: "No matching upstream file found",
+      };
+    }
 
-		const localStats = await fs.stat(localPath).catch(() => null);
+    const localStats = await fs.stat(localPath).catch(() => null);
 
-		if (!localStats) {
-			if (!apply) {
-				return {
-					fileName,
-					localPath,
-					remoteUrl,
-					status: "would-create",
-					message: "Upstream file exists and would be created locally",
-				};
-			}
+    if (!localStats) {
+      if (!apply) {
+        return {
+          fileName,
+          localPath,
+          remoteUrl,
+          status: "would-create",
+          message: "Upstream file exists and would be created locally",
+        };
+      }
 
-			await fs.writeFile(localPath, remoteContent, "utf8");
+      await fs.writeFile(localPath, remoteContent, "utf8");
 
-			return {
-				fileName,
-				localPath,
-				remoteUrl,
-				status: "created",
-				message: "Upstream file existed and was created locally",
-			};
-		}
+      return {
+        fileName,
+        localPath,
+        remoteUrl,
+        status: "created",
+        message: "Upstream file existed and was created locally",
+      };
+    }
 
-		const localContent = await fs.readFile(localPath, "utf8");
+    const localContent = await fs.readFile(localPath, "utf8");
 
-		if (localContent === remoteContent) {
-			return {
-				fileName,
-				localPath,
-				remoteUrl,
-				status: "same",
-				message: "Local file matches upstream",
-			};
-		}
+    if (localContent === remoteContent) {
+      return {
+        fileName,
+        localPath,
+        remoteUrl,
+        status: "same",
+        message: "Local file matches upstream",
+      };
+    }
 
-		if (!apply) {
-			return {
-				fileName,
-				localPath,
-				remoteUrl,
-				status: "changed",
-				message: "Upstream file differs from local file",
-			};
-		}
+    if (!apply) {
+      return {
+        fileName,
+        localPath,
+        remoteUrl,
+        status: "changed",
+        message: "Upstream file differs from local file",
+      };
+    }
 
-		await fs.writeFile(localPath, remoteContent, "utf8");
+    await fs.writeFile(localPath, remoteContent, "utf8");
 
-		return {
-			fileName,
-			localPath,
-			remoteUrl,
-			status: "updated",
-			message: "Local file replaced with upstream version",
-		};
-	} catch (error: unknown) {
-		const message =
-			error instanceof Error
-				? error.message
-				: "Unknown error while processing file";
+    return {
+      fileName,
+      localPath,
+      remoteUrl,
+      status: "updated",
+      message: "Local file replaced with upstream version",
+    };
+  } catch (error: unknown) {
+    const message =
+      error instanceof Error
+        ? error.message
+        : "Unknown error while processing file";
 
-		return {
-			fileName,
-			localPath,
-			remoteUrl,
-			status: "error",
-			message,
-		};
-	}
+    return {
+      fileName,
+      localPath,
+      remoteUrl,
+      status: "error",
+      message,
+    };
+  }
 }
 
 /**
@@ -530,59 +530,59 @@
  * @returns Processing result.
  */
 async function processLocalOnlyFile(
-	directory: string,
-	fileName: string,
-	branch: string,
-	apply: boolean,
-	deleteMissing: boolean,
+  directory: string,
+  fileName: string,
+  branch: string,
+  apply: boolean,
+  deleteMissing: boolean,
 ): Promise<FileResult> {
-	const localPath = path.join(directory, fileName);
-	const remoteUrl = buildRemoteUrl(branch, fileName);
+  const localPath = path.join(directory, fileName);
+  const remoteUrl = buildRemoteUrl(branch, fileName);
 
-	try {
-		if (!deleteMissing) {
-			return {
-				fileName,
-				localPath,
-				remoteUrl,
-				status: "missing",
-				message: "No matching upstream file found",
-			};
-		}
+  try {
+    if (!deleteMissing) {
+      return {
+        fileName,
+        localPath,
+        remoteUrl,
+        status: "missing",
+        message: "No matching upstream file found",
+      };
+    }
 
-		if (!apply) {
-			return {
-				fileName,
-				localPath,
-				remoteUrl,
-				status: "would-delete",
-				message: "No matching upstream file found; local file would be deleted",
-			};
-		}
+    if (!apply) {
+      return {
+        fileName,
+        localPath,
+        remoteUrl,
+        status: "would-delete",
+        message: "No matching upstream file found; local file would be deleted",
+      };
+    }
 
-		await fs.unlink(localPath);
+    await fs.unlink(localPath);
 
-		return {
-			fileName,
-			localPath,
-			remoteUrl,
-			status: "deleted",
-			message: "No matching upstream file found; local file deleted",
-		};
-	} catch (error: unknown) {
-		const message =
-			error instanceof Error
-				? error.message
-				: "Unknown error while processing file";
+    return {
+      fileName,
+      localPath,
+      remoteUrl,
+      status: "deleted",
+      message: "No matching upstream file found; local file deleted",
+    };
+  } catch (error: unknown) {
+    const message =
+      error instanceof Error
+        ? error.message
+        : "Unknown error while processing file";
 
-		return {
-			fileName,
-			localPath,
-			remoteUrl,
-			status: "error",
-			message,
-		};
-	}
+    return {
+      fileName,
+      localPath,
+      remoteUrl,
+      status: "error",
+      message,
+    };
+  }
 }
 
 /**
@@ -593,14 +593,14 @@
  * @returns True if the result should be shown.
  */
 function shouldPrintResult(
-	status: FileResultStatus,
-	onlyChanged: boolean,
+  status: FileResultStatus,
+  onlyChanged: boolean,
 ): boolean {
-	if (!onlyChanged) {
-		return true;
-	}
+  if (!onlyChanged) {
+    return true;
+  }
 
-	return status !== "same";
+  return status !== "same";
 }
 
 /**
@@ -610,26 +610,26 @@
  * @param verbose Whether to include detail lines.
  */
 function printResult(result: FileResult, verbose: boolean): void {
-	const prefixByStatus: Record<FileResultStatus, string> = {
-		same: "SAME",
-		changed: "CHANGED",
-		missing: "MISS",
-		"would-create": "WOULD-CREATE",
-		created: "CREATED",
-		"would-delete": "WOULD-DELETE",
-		deleted: "DELETED",
-		updated: "UPDATED",
-		error: "ERR",
-	};
+  const prefixByStatus: Record<FileResultStatus, string> = {
+    same: "SAME",
+    changed: "CHANGED",
+    missing: "MISS",
+    "would-create": "WOULD-CREATE",
+    created: "CREATED",
+    "would-delete": "WOULD-DELETE",
+    deleted: "DELETED",
+    updated: "UPDATED",
+    error: "ERR",
+  };
 
-	console.log(
-		`${prefixByStatus[result.status]} ${result.fileName} - ${result.message}`,
-	);
+  console.log(
+    `${prefixByStatus[result.status]} ${result.fileName} - ${result.message}`,
+  );
 
-	if (verbose) {
-		console.log(`  local:  ${result.localPath}`);
-		console.log(`  remote: ${result.remoteUrl}`);
-	}
+  if (verbose) {
+    console.log(`  local:  ${result.localPath}`);
+    console.log(`  remote: ${result.remoteUrl}`);
+  }
 }
 
 /**
@@ -639,19 +639,19 @@
  * @returns Summary counts.
  */
 function buildSummary(results: FileResult[]): Summary {
-	return {
-		same: results.filter((entry) => entry.status === "same").length,
-		changed: results.filter((entry) => entry.status === "changed").length,
-		missing: results.filter((entry) => entry.status === "missing").length,
-		wouldCreate: results.filter((entry) => entry.status === "would-create")
-			.length,
-		created: results.filter((entry) => entry.status === "created").length,
-		wouldDelete: results.filter((entry) => entry.status === "would-delete")
-			.length,
-		deleted: results.filter((entry) => entry.status === "deleted").length,
-		updated: results.filter((entry) => entry.status === "updated").length,
-		errors: results.filter((entry) => entry.status === "error").length,
-	};
+  return {
+    same: results.filter((entry) => entry.status === "same").length,
+    changed: results.filter((entry) => entry.status === "changed").length,
+    missing: results.filter((entry) => entry.status === "missing").length,
+    wouldCreate: results.filter((entry) => entry.status === "would-create")
+      .length,
+    created: results.filter((entry) => entry.status === "created").length,
+    wouldDelete: results.filter((entry) => entry.status === "would-delete")
+      .length,
+    deleted: results.filter((entry) => entry.status === "deleted").length,
+    updated: results.filter((entry) => entry.status === "updated").length,
+    errors: results.filter((entry) => entry.status === "error").length,
+  };
 }
 
 /**
@@ -660,17 +660,17 @@
  * @param summary Summary counts.
  */
 function printSummary(summary: Summary): void {
-	console.log("");
-	console.log("Summary");
-	console.log(`  same:          ${summary.same}`);
-	console.log(`  changed:       ${summary.changed}`);
-	console.log(`  updated:       ${summary.updated}`);
-	console.log(`  missing:       ${summary.missing}`);
-	console.log(`  would-create:  ${summary.wouldCreate}`);
-	console.log(`  created:       ${summary.created}`);
-	console.log(`  would-delete:  ${summary.wouldDelete}`);
-	console.log(`  deleted:       ${summary.deleted}`);
-	console.log(`  errors:        ${summary.errors}`);
+  console.log("");
+  console.log("Summary");
+  console.log(`  same:          ${summary.same}`);
+  console.log(`  changed:       ${summary.changed}`);
+  console.log(`  updated:       ${summary.updated}`);
+  console.log(`  missing:       ${summary.missing}`);
+  console.log(`  would-create:  ${summary.wouldCreate}`);
+  console.log(`  created:       ${summary.created}`);
+  console.log(`  would-delete:  ${summary.wouldDelete}`);
+  console.log(`  deleted:       ${summary.deleted}`);
+  console.log(`  errors:        ${summary.errors}`);
 }
 
 /**
@@ -681,20 +681,20 @@
  * @param active Number of currently active tasks.
  */
 function renderProgress(
-	processed: number,
-	total: number,
-	active: number,
+  processed: number,
+  total: number,
+  active: number,
 ): void {
-	process.stdout.write(
-		`\rProcessing ${processed}/${total} (active: ${active})`,
-	);
+  process.stdout.write(
+    `\rProcessing ${processed}/${total} (active: ${active})`,
+  );
 }
 
 /**
  * Clear the progress line from the terminal.
  */
 function clearProgressLine(): void {
-	process.stdout.write("\r\x1b[K");
+  process.stdout.write("\r\x1b[K");
 }
 
 /**
@@ -704,271 +704,271 @@
  * @returns Results in task order.
  */
 async function runTasksWithConcurrency<TInput, TResult>(params: {
-	items: TInput[];
-	concurrency: number;
-	worker: (item: TInput) => Promise<TResult>;
-	onResult?: (
-		result: TResult,
-		processed: number,
-		total: number,
-		active: number,
-	) => void;
+  items: TInput[];
+  concurrency: number;
+  worker: (item: TInput) => Promise<TResult>;
+  onResult?: (
+    result: TResult,
+    processed: number,
+    total: number,
+    active: number,
+  ) => void;
 }): Promise<TResult[]> {
-	const { items, concurrency, worker, onResult } = params;
+  const { items, concurrency, worker, onResult } = params;
 
-	const results = new Array<TResult>(items.length);
-	let nextIndex = 0;
-	let processed = 0;
-	let active = 0;
+  const results = new Array<TResult>(items.length);
+  let nextIndex = 0;
+  let processed = 0;
+  let active = 0;
 
-	async function runWorker(): Promise<void> {
-		while (true) {
-			const currentIndex = nextIndex;
-			if (currentIndex >= items.length) {
-				return;
-			}
+  async function runWorker(): Promise<void> {
+    while (true) {
+      const currentIndex = nextIndex;
+      if (currentIndex >= items.length) {
+        return;
+      }
 
-			nextIndex += 1;
-			active += 1;
+      nextIndex += 1;
+      active += 1;
 
-			try {
-				// Index is bounds-checked above; TInput itself may include undefined.
-				const result = await worker(items[currentIndex] as TInput);
-				results[currentIndex] = result;
-			} finally {
-				active -= 1;
-				processed += 1;
+      try {
+        // Index is bounds-checked above; TInput itself may include undefined.
+        const result = await worker(items[currentIndex] as TInput);
+        results[currentIndex] = result;
+      } finally {
+        active -= 1;
+        processed += 1;
 
-				const result = results[currentIndex];
-				if (result !== undefined && onResult) {
-					onResult(result, processed, items.length, active);
-				}
-			}
-		}
-	}
+        const result = results[currentIndex];
+        if (result !== undefined && onResult) {
+          onResult(result, processed, items.length, active);
+        }
+      }
+    }
+  }
 
-	const workerCount = Math.min(concurrency, items.length);
-	await Promise.all(
-		Array.from({ length: workerCount }, async () => {
-			await runWorker();
-		}),
-	);
+  const workerCount = Math.min(concurrency, items.length);
+  await Promise.all(
+    Array.from({ length: workerCount }, async () => {
+      await runWorker();
+    }),
+  );
 
-	return results;
+  return results;
 }
 
 /**
  * Main program entry point.
  */
 async function main(): Promise<void> {
-	const options = parseArgs(process.argv.slice(2));
+  const options = parseArgs(process.argv.slice(2));
 
-	if (options.help) {
-		printHelp();
-		process.exit(EXIT_SUCCESS);
-	}
+  if (options.help) {
+    printHelp();
+    process.exit(EXIT_SUCCESS);
+  }
 
-	const targetDirectory = path.resolve(options.dir);
+  const targetDirectory = path.resolve(options.dir);
 
-	const stats = await fs.stat(targetDirectory).catch(() => null);
-	if (!stats || !stats.isDirectory()) {
-		throw new Error(
-			`Directory does not exist or is not a directory: ${targetDirectory}`,
-		);
-	}
+  const stats = await fs.stat(targetDirectory).catch(() => null);
+  if (!stats || !stats.isDirectory()) {
+    throw new Error(
+      `Directory does not exist or is not a directory: ${targetDirectory}`,
+    );
+  }
 
-	const localFiles = await getLocalSvgFiles(targetDirectory);
+  const localFiles = await getLocalSvgFiles(targetDirectory);
 
-	let upstreamFiles: string[] = [];
-	if (options.all) {
-		upstreamFiles = await getUpstreamSvgFiles(options.branch);
-	}
+  let upstreamFiles: string[] = [];
+  if (options.all) {
+    upstreamFiles = await getUpstreamSvgFiles(options.branch);
+  }
 
-	const emptySummary: Summary = {
-		same: 0,
-		changed: 0,
-		missing: 0,
-		wouldCreate: 0,
-		created: 0,
-		wouldDelete: 0,
-		deleted: 0,
-		updated: 0,
-		errors: 0,
-	};
+  const emptySummary: Summary = {
+    same: 0,
+    changed: 0,
+    missing: 0,
+    wouldCreate: 0,
+    created: 0,
+    wouldDelete: 0,
+    deleted: 0,
+    updated: 0,
+    errors: 0,
+  };
 
-	const tasks: ProcessingTask[] = [];
+  const tasks: ProcessingTask[] = [];
 
-	if (options.all) {
-		const upstreamSet = new Set(upstreamFiles);
+  if (options.all) {
+    const upstreamSet = new Set(upstreamFiles);
 
-		for (const fileName of upstreamFiles) {
-			tasks.push({
-				kind: "upstream",
-				fileName,
-			});
-		}
+    for (const fileName of upstreamFiles) {
+      tasks.push({
+        kind: "upstream",
+        fileName,
+      });
+    }
 
-		for (const fileName of localFiles) {
-			if (!upstreamSet.has(fileName)) {
-				tasks.push({
-					kind: "local-only",
-					fileName,
-				});
-			}
-		}
-	} else {
-		if (localFiles.length === 0) {
-			if (options.json) {
-				const emptyOutput: JsonOutput = {
-					options: {
-						dir: targetDirectory,
-						branch: options.branch,
-						apply: options.apply,
-						deleteMissing: options.deleteMissing,
-						onlyChanged: options.onlyChanged,
-						json: options.json,
-						verbose: options.verbose,
-						all: options.all,
-						concurrency: options.concurrency,
-					},
-					results: [],
-					summary: emptySummary,
-				};
-				console.log(JSON.stringify(emptyOutput, null, 2));
-			} else {
-				console.log(`No .svg files found in ${targetDirectory}`);
-			}
+    for (const fileName of localFiles) {
+      if (!upstreamSet.has(fileName)) {
+        tasks.push({
+          kind: "local-only",
+          fileName,
+        });
+      }
+    }
+  } else {
+    if (localFiles.length === 0) {
+      if (options.json) {
+        const emptyOutput: JsonOutput = {
+          options: {
+            dir: targetDirectory,
+            branch: options.branch,
+            apply: options.apply,
+            deleteMissing: options.deleteMissing,
+            onlyChanged: options.onlyChanged,
+            json: options.json,
+            verbose: options.verbose,
+            all: options.all,
+            concurrency: options.concurrency,
+          },
+          results: [],
+          summary: emptySummary,
+        };
+        console.log(JSON.stringify(emptyOutput, null, 2));
+      } else {
+        console.log(`No .svg files found in ${targetDirectory}`);
+      }
 
-			process.exit(EXIT_SUCCESS);
-		}
+      process.exit(EXIT_SUCCESS);
+    }
 
-		for (const fileName of localFiles) {
-			tasks.push({
-				kind: "upstream",
-				fileName,
-			});
-		}
-	}
+    for (const fileName of localFiles) {
+      tasks.push({
+        kind: "upstream",
+        fileName,
+      });
+    }
+  }
 
-	if (!options.json) {
-		if (options.all) {
-			console.log(
-				`Syncing against all upstream SVG file(s) from simple-icons/icons/ into ${targetDirectory}`,
-			);
-			console.log(`Found ${upstreamFiles.length} upstream SVG file(s).`);
-			console.log(`Found ${localFiles.length} local SVG file(s).`);
-		} else {
-			console.log(
-				`Checking ${localFiles.length} local SVG file(s) in ${targetDirectory}`,
-			);
-		}
+  if (!options.json) {
+    if (options.all) {
+      console.log(
+        `Syncing against all upstream SVG file(s) from simple-icons/icons/ into ${targetDirectory}`,
+      );
+      console.log(`Found ${upstreamFiles.length} upstream SVG file(s).`);
+      console.log(`Found ${localFiles.length} local SVG file(s).`);
+    } else {
+      console.log(
+        `Checking ${localFiles.length} local SVG file(s) in ${targetDirectory}`,
+      );
+    }
 
-		console.log(`Using simple-icons branch: ${options.branch}`);
-		console.log(`Concurrency: ${options.concurrency}`);
-		console.log(
-			options.apply
-				? "Apply mode enabled. Changed files will be written."
-				: "Dry run mode enabled. No files will be written.",
-		);
+    console.log(`Using simple-icons branch: ${options.branch}`);
+    console.log(`Concurrency: ${options.concurrency}`);
+    console.log(
+      options.apply
+        ? "Apply mode enabled. Changed files will be written."
+        : "Dry run mode enabled. No files will be written.",
+    );
 
-		if (options.deleteMissing) {
-			console.log(
-				options.apply
-					? "Delete mode enabled. Local files missing upstream will be deleted."
-					: "Delete mode enabled. Local files missing upstream will be reported as would-delete.",
-			);
-		}
+    if (options.deleteMissing) {
+      console.log(
+        options.apply
+          ? "Delete mode enabled. Local files missing upstream will be deleted."
+          : "Delete mode enabled. Local files missing upstream will be reported as would-delete.",
+      );
+    }
 
-		if (options.onlyChanged) {
-			console.log("Only changed results will be shown.");
-		}
+    if (options.onlyChanged) {
+      console.log("Only changed results will be shown.");
+    }
 
-		console.log("");
-	}
+    console.log("");
+  }
 
-	const results = await runTasksWithConcurrency<ProcessingTask, FileResult>({
-		items: tasks,
-		concurrency: options.concurrency,
-		worker: async (task): Promise<FileResult> => {
-			if (task.kind === "upstream") {
-				const result = await processUpstreamFile(
-					targetDirectory,
-					task.fileName,
-					options.branch,
-					options.apply,
-				);
+  const results = await runTasksWithConcurrency<ProcessingTask, FileResult>({
+    items: tasks,
+    concurrency: options.concurrency,
+    worker: async (task): Promise<FileResult> => {
+      if (task.kind === "upstream") {
+        const result = await processUpstreamFile(
+          targetDirectory,
+          task.fileName,
+          options.branch,
+          options.apply,
+        );
 
-				if (result.status === "missing" && !options.all) {
-					return await processLocalOnlyFile(
-						targetDirectory,
-						task.fileName,
-						options.branch,
-						options.apply,
-						options.deleteMissing,
-					);
-				}
+        if (result.status === "missing" && !options.all) {
+          return await processLocalOnlyFile(
+            targetDirectory,
+            task.fileName,
+            options.branch,
+            options.apply,
+            options.deleteMissing,
+          );
+        }
 
-				return result;
-			}
+        return result;
+      }
 
-			return await processLocalOnlyFile(
-				targetDirectory,
-				task.fileName,
-				options.branch,
-				options.apply,
-				options.deleteMissing,
-			);
-		},
-		onResult: (result, processed, total, active): void => {
-			if (!options.json) {
-				renderProgress(processed, total, active);
+      return await processLocalOnlyFile(
+        targetDirectory,
+        task.fileName,
+        options.branch,
+        options.apply,
+        options.deleteMissing,
+      );
+    },
+    onResult: (result, processed, total, active): void => {
+      if (!options.json) {
+        renderProgress(processed, total, active);
 
-				if (shouldPrintResult(result.status, options.onlyChanged)) {
-					clearProgressLine();
-					printResult(result, options.verbose);
-					renderProgress(processed, total, active);
-				}
-			}
-		},
-	});
+        if (shouldPrintResult(result.status, options.onlyChanged)) {
+          clearProgressLine();
+          printResult(result, options.verbose);
+          renderProgress(processed, total, active);
+        }
+      }
+    },
+  });
 
-	if (!options.json) {
-		clearProgressLine();
-	}
+  if (!options.json) {
+    clearProgressLine();
+  }
 
-	const summary = buildSummary(results);
+  const summary = buildSummary(results);
 
-	if (options.json) {
-		const output: JsonOutput = {
-			options: {
-				dir: targetDirectory,
-				branch: options.branch,
-				apply: options.apply,
-				deleteMissing: options.deleteMissing,
-				onlyChanged: options.onlyChanged,
-				json: options.json,
-				verbose: options.verbose,
-				all: options.all,
-				concurrency: options.concurrency,
-			},
-			results: options.onlyChanged
-				? results.filter((result) => shouldPrintResult(result.status, true))
-				: results,
-			summary,
-		};
+  if (options.json) {
+    const output: JsonOutput = {
+      options: {
+        dir: targetDirectory,
+        branch: options.branch,
+        apply: options.apply,
+        deleteMissing: options.deleteMissing,
+        onlyChanged: options.onlyChanged,
+        json: options.json,
+        verbose: options.verbose,
+        all: options.all,
+        concurrency: options.concurrency,
+      },
+      results: options.onlyChanged
+        ? results.filter((result) => shouldPrintResult(result.status, true))
+        : results,
+      summary,
+    };
 
-		console.log(JSON.stringify(output, null, 2));
-	} else {
-		printSummary(summary);
-	}
+    console.log(JSON.stringify(output, null, 2));
+  } else {
+    printSummary(summary);
+  }
 
-	const hasErrors = results.some((entry) => entry.status === "error");
-	process.exit(hasErrors ? EXIT_FAILURE : EXIT_SUCCESS);
+  const hasErrors = results.some((entry) => entry.status === "error");
+  process.exit(hasErrors ? EXIT_FAILURE : EXIT_SUCCESS);
 }
 
 main().catch((error: unknown) => {
-	const message =
-		error instanceof Error ? error.message : "Unknown fatal error";
-	console.error(`Fatal error: ${message}`);
-	process.exit(EXIT_FAILURE);
+  const message =
+    error instanceof Error ? error.message : "Unknown fatal error";
+  console.error(`Fatal error: ${message}`);
+  process.exit(EXIT_FAILURE);
 });
diff --git a/scripts/test-hugo-quickstart.ts b/scripts/test-hugo-quickstart.ts
index 1eddccd..396fd7c 100644
--- a/scripts/test-hugo-quickstart.ts
+++ b/scripts/test-hugo-quickstart.ts
@@ -3,15 +3,15 @@
 import { spawn } from "node:child_process";
 import { constants } from "node:fs";
 import {
-	access,
-	copyFile,
-	cp,
-	mkdir,
-	mkdtemp,
-	readFile,
-	rm,
-	stat,
-	writeFile,
+  access,
+  copyFile,
+  cp,
+  mkdir,
+  mkdtemp,
+  readFile,
+  rm,
+  stat,
+  writeFile,
 } from "node:fs/promises";
 import { tmpdir } from "node:os";
 import { basename, dirname, join, resolve } from "node:path";
@@ -23,20 +23,20 @@
 const REPO_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
 
 interface CommandResult {
-	code: number | null;
-	signal: NodeJS.Signals | null;
-	stdout: string;
-	stderr: string;
-	combined: string;
-	durationMs: number;
+  code: number | null;
+  signal: NodeJS.Signals | null;
+  stdout: string;
+  stderr: string;
+  combined: string;
+  durationMs: number;
 }
 
 interface StepDefinition {
-	name: string;
-	command: string;
-	args: string[];
-	cwd: string;
-	expectedFiles?: string[];
+  name: string;
+  command: string;
+  args: string[];
+  cwd: string;
+  expectedFiles?: string[];
 }
 
 /**
@@ -52,49 +52,49 @@
 type ThemeSource = "local" | "submodule";
 
 interface RoutineOptions {
-	projectName: string;
-	themeSource: ThemeSource;
-	themePath: string;
-	themeRepo: string;
-	themeDir: string;
-	themeName: string;
-	configFile: string;
-	keepOnSuccess: boolean;
-	keepOnFailure: boolean;
-	verbose: boolean;
+  projectName: string;
+  themeSource: ThemeSource;
+  themePath: string;
+  themeRepo: string;
+  themeDir: string;
+  themeName: string;
+  configFile: string;
+  keepOnSuccess: boolean;
+  keepOnFailure: boolean;
+  verbose: boolean;
 }
 
 interface StepReport {
-	step: string;
-	commandLine: string;
-	cwd: string;
-	result: CommandResult;
+  step: string;
+  commandLine: string;
+  cwd: string;
+  result: CommandResult;
 }
 
 interface HtmlAssertion {
-	description: string;
-	test: (html: string) => boolean;
+  description: string;
+  test: (html: string) => boolean;
 }
 
 const DEFAULT_OPTIONS: RoutineOptions = {
-	projectName: "quickstart",
-	themeSource: "local",
-	themePath: REPO_ROOT,
-	themeRepo: "https://github.com/gohugo-ananke/ananke.git",
-	themeDir: "themes/ananke",
-	themeName: "ananke",
-	configFile: "hugo.toml",
-	keepOnSuccess: false,
-	keepOnFailure: true,
-	verbose: true,
+  projectName: "quickstart",
+  themeSource: "local",
+  themePath: REPO_ROOT,
+  themeRepo: "https://github.com/gohugo-ananke/ananke.git",
+  themeDir: "themes/ananke",
+  themeName: "ananke",
+  configFile: "hugo.toml",
+  keepOnSuccess: false,
+  keepOnFailure: true,
+  verbose: true,
 };
 
 /**
  * Print CLI help.
  */
 function printHelp(): void {
-	console.log(
-		`
+  console.log(
+    `
 Usage:
   node scripts/test-hugo-quickstart.ts [options]
 
@@ -113,7 +113,7 @@
   --quiet                       Reduce step logging
   --help                        Show this help
 `.trim(),
-	);
+  );
 }
 
 /**
@@ -124,69 +124,69 @@
  * @throws Error when an unknown argument is passed.
  */
 function parseArgs(argv: string[]): RoutineOptions {
-	const options: RoutineOptions = { ...DEFAULT_OPTIONS };
+  const options: RoutineOptions = { ...DEFAULT_OPTIONS };
 
-	for (const arg of argv) {
-		if (arg === "--help") {
-			printHelp();
-			process.exit(0);
-		}
+  for (const arg of argv) {
+    if (arg === "--help") {
+      printHelp();
+      process.exit(0);
+    }
 
-		if (arg === "--keep-on-success") {
-			options.keepOnSuccess = true;
-			continue;
-		}
+    if (arg === "--keep-on-success") {
+      options.keepOnSuccess = true;
+      continue;
+    }
 
-		if (arg === "--no-keep-on-failure") {
-			options.keepOnFailure = false;
-			continue;
-		}
+    if (arg === "--no-keep-on-failure") {
+      options.keepOnFailure = false;
+      continue;
+    }
 
-		if (arg === "--quiet") {
-			options.verbose = false;
-			continue;
-		}
+    if (arg === "--quiet") {
+      options.verbose = false;
+      continue;
+    }
 
-		if (arg === "--use-submodule") {
-			options.themeSource = "submodule";
-			continue;
-		}
+    if (arg === "--use-submodule") {
+      options.themeSource = "submodule";
+      continue;
+    }
 
-		if (arg.startsWith("--theme-path=")) {
-			options.themePath = resolve(arg.slice("--theme-path=".length));
-			options.themeSource = "local";
-			continue;
-		}
+    if (arg.startsWith("--theme-path=")) {
+      options.themePath = resolve(arg.slice("--theme-path=".length));
+      options.themeSource = "local";
+      continue;
+    }
 
-		if (arg.startsWith("--project-name=")) {
-			options.projectName = arg.slice("--project-name=".length);
-			continue;
-		}
+    if (arg.startsWith("--project-name=")) {
+      options.projectName = arg.slice("--project-name=".length);
+      continue;
+    }
 
-		if (arg.startsWith("--theme-repo=")) {
-			options.themeRepo = arg.slice("--theme-repo=".length);
-			continue;
-		}
+    if (arg.startsWith("--theme-repo=")) {
+      options.themeRepo = arg.slice("--theme-repo=".length);
+      continue;
+    }
 
-		if (arg.startsWith("--theme-dir=")) {
-			options.themeDir = arg.slice("--theme-dir=".length);
-			continue;
-		}
+    if (arg.startsWith("--theme-dir=")) {
+      options.themeDir = arg.slice("--theme-dir=".length);
+      continue;
+    }
 
-		if (arg.startsWith("--theme-name=")) {
-			options.themeName = arg.slice("--theme-name=".length);
-			continue;
-		}
+    if (arg.startsWith("--theme-name=")) {
+      options.themeName = arg.slice("--theme-name=".length);
+      continue;
+    }
 
-		if (arg.startsWith("--config-file=")) {
-			options.configFile = arg.slice("--config-file=".length);
-			continue;
-		}
+    if (arg.startsWith("--config-file=")) {
+      options.configFile = arg.slice("--config-file=".length);
+      continue;
+    }
 
-		throw new Error(`Unknown argument: ${arg}`);
-	}
+    throw new Error(`Unknown argument: ${arg}`);
+  }
 
-	return options;
+  return options;
 }
 
 /**
@@ -197,9 +197,9 @@
  * @returns Full command line.
  */
 function formatCommand(command: string, args: string[]): string {
-	return [command, ...args]
-		.map((part) => (/\s/.test(part) ? JSON.stringify(part) : part))
-		.join(" ");
+  return [command, ...args]
+    .map((part) => (/\s/.test(part) ? JSON.stringify(part) : part))
+    .join(" ");
 }
 
 /**
@@ -211,50 +211,50 @@
  * @returns Command execution result.
  */
 async function runCommand(
-	command: string,
-	args: string[],
-	cwd: string,
+  command: string,
+  args: string[],
+  cwd: string,
 ): Promise<CommandResult> {
-	const started = Date.now();
+  const started = Date.now();
 
-	return new Promise<CommandResult>((resolve, reject) => {
-		const child = spawn(command, args, {
-			cwd,
-			env: process.env,
-			stdio: ["ignore", "pipe", "pipe"],
-		});
+  return new Promise<CommandResult>((resolve, reject) => {
+    const child = spawn(command, args, {
+      cwd,
+      env: process.env,
+      stdio: ["ignore", "pipe", "pipe"],
+    });
 
-		let stdout = "";
-		let stderr = "";
+    let stdout = "";
+    let stderr = "";
 
-		child.stdout.on("data", (chunk: Buffer | string) => {
-			stdout += chunk.toString();
-		});
+    child.stdout.on("data", (chunk: Buffer | string) => {
+      stdout += chunk.toString();
+    });
 
-		child.stderr.on("data", (chunk: Buffer | string) => {
-			stderr += chunk.toString();
-		});
+    child.stderr.on("data", (chunk: Buffer | string) => {
+      stderr += chunk.toString();
+    });
 
-		child.on("error", (error: Error) => {
-			reject(error);
-		});
+    child.on("error", (error: Error) => {
+      reject(error);
+    });
 
-		child.on("close", (code, signal) => {
-			const durationMs = Date.now() - started;
-			const combined = [stdout, stderr]
-				.filter(Boolean)
-				.join(stdout && stderr ? "\n" : "");
+    child.on("close", (code, signal) => {
+      const durationMs = Date.now() - started;
+      const combined = [stdout, stderr]
+        .filter(Boolean)
+        .join(stdout && stderr ? "\n" : "");
 
-			resolve({
-				code,
-				signal,
-				stdout,
-				stderr,
-				combined,
-				durationMs,
-			});
-		});
-	});
+      resolve({
+        code,
+        signal,
+        stdout,
+        stderr,
+        combined,
+        durationMs,
+      });
+    });
+  });
 }
 
 /**
@@ -263,7 +263,7 @@
  * @param filePath Absolute path to check.
  */
 async function assertFileExists(filePath: string): Promise<void> {
-	await access(filePath, constants.F_OK);
+  await access(filePath, constants.F_OK);
 }
 
 /**
@@ -272,17 +272,17 @@
  * @param filePath Absolute path to check.
  */
 async function assertFileDoesNotExist(filePath: string): Promise<void> {
-	try {
-		await access(filePath, constants.F_OK);
-		throw new Error(`Unexpected path exists: ${filePath}`);
-	} catch (error: unknown) {
-		if (
-			error instanceof Error &&
-			error.message.startsWith("Unexpected path exists:")
-		) {
-			throw error;
-		}
-	}
+  try {
+    await access(filePath, constants.F_OK);
+    throw new Error(`Unexpected path exists: ${filePath}`);
+  } catch (error: unknown) {
+    if (
+      error instanceof Error &&
+      error.message.startsWith("Unexpected path exists:")
+    ) {
+      throw error;
+    }
+  }
 }
 
 /**
@@ -292,7 +292,7 @@
  * @returns File contents.
  */
 async function readTextFile(filePath: string): Promise<string> {
-	return readFile(filePath, "utf8");
+  return readFile(filePath, "utf8");
 }
 
 /**
@@ -302,7 +302,7 @@
  * @param content File contents.
  */
 async function writeTextFile(filePath: string, content: string): Promise<void> {
-	await writeFile(filePath, content, "utf8");
+  await writeFile(filePath, content, "utf8");
 }
 
 /**
@@ -311,8 +311,8 @@
  * @param projectRoot Absolute path to the temporary quickstart project.
  */
 async function removePublicDir(projectRoot: string): Promise<void> {
-	const publicPath = join(projectRoot, "public");
-	await rm(publicPath, { recursive: true, force: true });
+  const publicPath = join(projectRoot, "public");
+  await rm(publicPath, { recursive: true, force: true });
 }
 
 /**
@@ -323,60 +323,60 @@
  * @throws Error when the command fails or an expected file is missing.
  */
 async function executeStep(step: StepDefinition): Promise<StepReport> {
-	const result = await runCommand(step.command, step.args, step.cwd);
-	const commandLine = formatCommand(step.command, step.args);
+  const result = await runCommand(step.command, step.args, step.cwd);
+  const commandLine = formatCommand(step.command, step.args);
 
-	if (result.code !== 0) {
-		const details = [
-			`Step failed: ${step.name}`,
-			`Command: ${commandLine}`,
-			`Working directory: ${step.cwd}`,
-			`Exit code: ${String(result.code)}`,
-			result.signal ? `Signal: ${result.signal}` : "",
-			result.stdout ? `STDOUT:\n${result.stdout}` : "",
-			result.stderr ? `STDERR:\n${result.stderr}` : "",
-		]
-			.filter(Boolean)
-			.join("\n\n");
+  if (result.code !== 0) {
+    const details = [
+      `Step failed: ${step.name}`,
+      `Command: ${commandLine}`,
+      `Working directory: ${step.cwd}`,
+      `Exit code: ${String(result.code)}`,
+      result.signal ? `Signal: ${result.signal}` : "",
+      result.stdout ? `STDOUT:\n${result.stdout}` : "",
+      result.stderr ? `STDERR:\n${result.stderr}` : "",
+    ]
+      .filter(Boolean)
+      .join("\n\n");
 
-		throw new Error(details);
-	}
+    throw new Error(details);
+  }
 
-	if (step.expectedFiles) {
-		for (const relativePath of step.expectedFiles) {
-			const absolutePath = join(step.cwd, relativePath);
+  if (step.expectedFiles) {
+    for (const relativePath of step.expectedFiles) {
+      const absolutePath = join(step.cwd, relativePath);
 
-			try {
-				await assertFileExists(absolutePath);
-			} catch (error: unknown) {
-				const message =
-					error instanceof Error
-						? error.message
-						: "Unknown file assertion error";
+      try {
+        await assertFileExists(absolutePath);
+      } catch (error: unknown) {
+        const message =
+          error instanceof Error
+            ? error.message
+            : "Unknown file assertion error";
 
-				throw new Error(
-					[
-						`Step failed: ${step.name}`,
-						`Command: ${commandLine}`,
-						`Working directory: ${step.cwd}`,
-						`Expected file missing: ${absolutePath}`,
-						`Details: ${message}`,
-						result.stdout ? `STDOUT:\n${result.stdout}` : "",
-						result.stderr ? `STDERR:\n${result.stderr}` : "",
-					]
-						.filter(Boolean)
-						.join("\n\n"),
-				);
-			}
-		}
-	}
+        throw new Error(
+          [
+            `Step failed: ${step.name}`,
+            `Command: ${commandLine}`,
+            `Working directory: ${step.cwd}`,
+            `Expected file missing: ${absolutePath}`,
+            `Details: ${message}`,
+            result.stdout ? `STDOUT:\n${result.stdout}` : "",
+            result.stderr ? `STDERR:\n${result.stderr}` : "",
+          ]
+            .filter(Boolean)
+            .join("\n\n"),
+        );
+      }
+    }
+  }
 
-	return {
-		step: step.name,
-		commandLine,
-		cwd: step.cwd,
-		result,
-	};
+  return {
+    step: step.name,
+    commandLine,
+    cwd: step.cwd,
+    result,
+  };
 }
 
 /**
@@ -386,19 +386,19 @@
  * @returns True when the command is a build command.
  */
 function isHugoBuildCommand(step: StepDefinition): boolean {
-	if (step.command !== "hugo") {
-		return false;
-	}
+  if (step.command !== "hugo") {
+    return false;
+  }
 
-	if (step.args.length === 0) {
-		return true;
-	}
+  if (step.args.length === 0) {
+    return true;
+  }
 
-	if (step.args.includes("--buildDrafts")) {
-		return true;
-	}
+  if (step.args.includes("--buildDrafts")) {
+    return true;
+  }
 
-	return false;
+  return false;
 }
 
 /**
@@ -409,11 +409,11 @@
  * @returns Step report.
  */
 async function executeHugoBuildStep(
-	step: StepDefinition,
-	projectRoot: string,
+  step: StepDefinition,
+  projectRoot: string,
 ): Promise<StepReport> {
-	await removePublicDir(projectRoot);
-	return executeStep(step);
+  await removePublicDir(projectRoot);
+  return executeStep(step);
 }
 
 /**
@@ -423,7 +423,7 @@
  * @returns Escaped string.
  */
 function escapeRegExp(value: string): string {
-	return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
 }
 
 /**
@@ -439,26 +439,26 @@
  * @throws Error when the config does not contain the expected theme line.
  */
 async function assertThemeConfigured(
-	configPath: string,
-	themeName: string,
+  configPath: string,
+  themeName: string,
 ): Promise<void> {
-	const config = await readTextFile(configPath);
-	const themePattern = new RegExp(
-		String.raw`^\s*theme\s*=\s*['"]${escapeRegExp(themeName)}['"]\s*$`,
-		"m",
-	);
+  const config = await readTextFile(configPath);
+  const themePattern = new RegExp(
+    String.raw`^\s*theme\s*=\s*['"]${escapeRegExp(themeName)}['"]\s*$`,
+    "m",
+  );
 
-	if (!themePattern.test(config)) {
-		throw new Error(
-			[
-				"Strict assertion failed: theme configuration missing or incorrect.",
-				`Config file: ${configPath}`,
-				`Expected to find a line like: theme = '${themeName}'`,
-				"Actual file contents:",
-				config,
-			].join("\n\n"),
-		);
-	}
+  if (!themePattern.test(config)) {
+    throw new Error(
+      [
+        "Strict assertion failed: theme configuration missing or incorrect.",
+        `Config file: ${configPath}`,
+        `Expected to find a line like: theme = '${themeName}'`,
+        "Actual file contents:",
+        config,
+      ].join("\n\n"),
+    );
+  }
 }
 
 /**
@@ -467,38 +467,38 @@
  * @returns List of homepage assertions.
  */
 function getHomepageAssertions(): HtmlAssertion[] {
-	return [
-		{
-			description: "homepage contains an HTML document root",
-			test: (html: string): boolean => /<html\b/i.test(html),
-		},
-		{
-			description: "homepage contains a document title",
-			test: (html: string): boolean => /<title>[\s\S]*?<\/title>/i.test(html),
-		},
-		{
-			description: "homepage contains a body element",
-			test: (html: string): boolean => /<body\b/i.test(html),
-		},
-		{
-			description: "homepage contains at least one stylesheet reference",
-			test: (html: string): boolean =>
-				/<link\b[^>]*rel=["']stylesheet["'][^>]*>/i.test(html),
-		},
-		{
-			description: "homepage contains at least one navigation-related landmark",
-			test: (html: string): boolean => /<(nav|header)\b/i.test(html),
-		},
-		{
-			description: "homepage contains theme-generated CSS class markers",
-			test: (html: string): boolean =>
-				/\b(ma[0-9]|pa[0-9]|bg-black|near-white|sans-serif)\b/i.test(html),
-		},
-		{
-			description: "homepage contains a main content area",
-			test: (html: string): boolean => /<(main|article|section)\b/i.test(html),
-		},
-	];
+  return [
+    {
+      description: "homepage contains an HTML document root",
+      test: (html: string): boolean => /<html\b/i.test(html),
+    },
+    {
+      description: "homepage contains a document title",
+      test: (html: string): boolean => /<title>[\s\S]*?<\/title>/i.test(html),
+    },
+    {
+      description: "homepage contains a body element",
+      test: (html: string): boolean => /<body\b/i.test(html),
+    },
+    {
+      description: "homepage contains at least one stylesheet reference",
+      test: (html: string): boolean =>
+        /<link\b[^>]*rel=["']stylesheet["'][^>]*>/i.test(html),
+    },
+    {
+      description: "homepage contains at least one navigation-related landmark",
+      test: (html: string): boolean => /<(nav|header)\b/i.test(html),
+    },
+    {
+      description: "homepage contains theme-generated CSS class markers",
+      test: (html: string): boolean =>
+        /\b(ma[0-9]|pa[0-9]|bg-black|near-white|sans-serif)\b/i.test(html),
+    },
+    {
+      description: "homepage contains a main content area",
+      test: (html: string): boolean => /<(main|article|section)\b/i.test(html),
+    },
+  ];
 }
 
 /**
@@ -508,34 +508,34 @@
  * @throws Error when one or more assertions fail.
  */
 async function assertHomepageLooksValid(homepagePath: string): Promise<void> {
-	const html = await readTextFile(homepagePath);
-	const failures: string[] = [];
+  const html = await readTextFile(homepagePath);
+  const failures: string[] = [];
 
-	if (html.trim().length === 0) {
-		throw new Error(
-			[
-				"Strict assertion failed: generated homepage is empty.",
-				`Homepage file: ${homepagePath}`,
-			].join("\n\n"),
-		);
-	}
+  if (html.trim().length === 0) {
+    throw new Error(
+      [
+        "Strict assertion failed: generated homepage is empty.",
+        `Homepage file: ${homepagePath}`,
+      ].join("\n\n"),
+    );
+  }
 
-	for (const assertion of getHomepageAssertions()) {
-		if (!assertion.test(html)) {
-			failures.push(`- ${assertion.description}`);
-		}
-	}
+  for (const assertion of getHomepageAssertions()) {
+    if (!assertion.test(html)) {
+      failures.push(`- ${assertion.description}`);
+    }
+  }
 
-	if (failures.length > 0) {
-		throw new Error(
-			[
-				"Strict assertion failed: generated homepage did not match expected render checks.",
-				`Homepage file: ${homepagePath}`,
-				"Failed assertions:",
-				...failures,
-			].join("\n"),
-		);
-	}
+  if (failures.length > 0) {
+    throw new Error(
+      [
+        "Strict assertion failed: generated homepage did not match expected render checks.",
+        `Homepage file: ${homepagePath}`,
+        "Failed assertions:",
+        ...failures,
+      ].join("\n"),
+    );
+  }
 }
 
 /**
@@ -546,19 +546,19 @@
  * @throws Error when the date line is missing.
  */
 function extractGeneratedDateLine(content: string): string {
-	const match = content.match(/^\s*date\s*=\s*.+$/m);
+  const match = content.match(/^\s*date\s*=\s*.+$/m);
 
-	if (!match) {
-		throw new Error(
-			[
-				"Strict assertion failed: could not find auto-generated date line in content file.",
-				"Actual file contents:",
-				content,
-			].join("\n\n"),
-		);
-	}
+  if (!match) {
+    throw new Error(
+      [
+        "Strict assertion failed: could not find auto-generated date line in content file.",
+        "Actual file contents:",
+        content,
+      ].join("\n\n"),
+    );
+  }
 
-	return match[0];
+  return match[0];
 }
 
 /**
@@ -568,24 +568,24 @@
  * @param contentPath Absolute path to the content file.
  */
 async function replaceGeneratedContent(contentPath: string): Promise<void> {
-	const original = await readTextFile(contentPath);
-	const dateLine = extractGeneratedDateLine(original);
+  const original = await readTextFile(contentPath);
+  const dateLine = extractGeneratedDateLine(original);
 
-	const updated = [
-		"+++",
-		"title = 'My First Post'",
-		dateLine,
-		"draft = true",
-		"+++",
-		"## Introduction",
-		"",
-		"This is **bold** text, and this is *emphasized* text.",
-		"",
-		"Visit the [Hugo](https://gohugo.io) website!",
-		"",
-	].join("\n");
+  const updated = [
+    "+++",
+    "title = 'My First Post'",
+    dateLine,
+    "draft = true",
+    "+++",
+    "## Introduction",
+    "",
+    "This is **bold** text, and this is *emphasized* text.",
+    "",
+    "Visit the [Hugo](https://gohugo.io) website!",
+    "",
+  ].join("\n");
 
-	await writeTextFile(contentPath, updated);
+  await writeTextFile(contentPath, updated);
 }
 
 /**
@@ -595,18 +595,18 @@
  * @param themeName Theme name to set.
  */
 async function replaceHugoConfig(
-	configPath: string,
-	themeName: string,
+  configPath: string,
+  themeName: string,
 ): Promise<void> {
-	const content = [
-		"baseURL = 'https://example.com/'",
-		"locale = 'en-gb'",
-		"title = 'Ananke Test Quickstart'",
-		`theme = '${themeName}'`,
-		"",
-	].join("\n");
+  const content = [
+    "baseURL = 'https://example.com/'",
+    "locale = 'en-gb'",
+    "title = 'Ananke Test Quickstart'",
+    `theme = '${themeName}'`,
+    "",
+  ].join("\n");
 
-	await writeTextFile(configPath, content);
+  await writeTextFile(configPath, content);
 }
 
 /**
@@ -615,41 +615,41 @@
  * @param pageHtml HTML from `public/foo/index.html`.
  */
 function assertDraftPageRendered(pageHtml: string): void {
-	const failures: string[] = [];
+  const failures: string[] = [];
 
-	if (!/<h2[^>]*>\s*Introduction\s*<\/h2>/i.test(pageHtml)) {
-		failures.push("- heading 'Introduction' was not rendered as an h2 element");
-	}
+  if (!/<h2[^>]*>\s*Introduction\s*<\/h2>/i.test(pageHtml)) {
+    failures.push("- heading 'Introduction' was not rendered as an h2 element");
+  }
 
-	if (!/<strong>\s*bold\s*<\/strong>/i.test(pageHtml)) {
-		failures.push("- bold Markdown was not rendered as a <strong> element");
-	}
+  if (!/<strong>\s*bold\s*<\/strong>/i.test(pageHtml)) {
+    failures.push("- bold Markdown was not rendered as a <strong> element");
+  }
 
-	if (!/<em>\s*emphasized\s*<\/em>/i.test(pageHtml)) {
-		failures.push("- emphasized Markdown was not rendered as an <em> element");
-	}
+  if (!/<em>\s*emphasized\s*<\/em>/i.test(pageHtml)) {
+    failures.push("- emphasized Markdown was not rendered as an <em> element");
+  }
 
-	if (
-		!/<a[^>]+href=["']https:\/\/gohugo\.io["'][^>]*>\s*Hugo\s*<\/a>/i.test(
-			pageHtml,
-		)
-	) {
-		failures.push("- Markdown link was not rendered as an anchor element");
-	}
+  if (
+    !/<a[^>]+href=["']https:\/\/gohugo\.io["'][^>]*>\s*Hugo\s*<\/a>/i.test(
+      pageHtml,
+    )
+  ) {
+    failures.push("- Markdown link was not rendered as an anchor element");
+  }
 
-	if (!/My First Post/i.test(pageHtml)) {
-		failures.push("- post title was not visible on the rendered page");
-	}
+  if (!/My First Post/i.test(pageHtml)) {
+    failures.push("- post title was not visible on the rendered page");
+  }
 
-	if (failures.length > 0) {
-		throw new Error(
-			[
-				"Strict assertion failed: draft page content was not rendered as expected.",
-				"Failed assertions:",
-				...failures,
-			].join("\n"),
-		);
-	}
+  if (failures.length > 0) {
+    throw new Error(
+      [
+        "Strict assertion failed: draft page content was not rendered as expected.",
+        "Failed assertions:",
+        ...failures,
+      ].join("\n"),
+    );
+  }
 }
 
 /**
@@ -660,29 +660,29 @@
  * @param homepageHtml HTML from `public/index.html`.
  */
 function assertUpdatedConfigInOutput(homepageHtml: string): void {
-	const failures: string[] = [];
+  const failures: string[] = [];
 
-	if (!/Ananke Test Quickstart/i.test(homepageHtml)) {
-		failures.push(
-			"- updated site title was not visible in the generated output",
-		);
-	}
+  if (!/Ananke Test Quickstart/i.test(homepageHtml)) {
+    failures.push(
+      "- updated site title was not visible in the generated output",
+    );
+  }
 
-	if (!/<html[^>]+lang=["']en-gb["'][^>]*>/i.test(homepageHtml)) {
-		failures.push(
-			"- updated locale 'en-gb' was not present in the <html lang=\"en-gb\"> tag",
-		);
-	}
+  if (!/<html[^>]+lang=["']en-gb["'][^>]*>/i.test(homepageHtml)) {
+    failures.push(
+      "- updated locale 'en-gb' was not present in the <html lang=\"en-gb\"> tag",
+    );
+  }
 
-	if (failures.length > 0) {
-		throw new Error(
-			[
-				"Strict assertion failed: updated config was not reflected in the generated output.",
-				"Failed assertions:",
-				...failures,
-			].join("\n"),
-		);
-	}
+  if (failures.length > 0) {
+    throw new Error(
+      [
+        "Strict assertion failed: updated config was not reflected in the generated output.",
+        "Failed assertions:",
+        ...failures,
+      ].join("\n"),
+    );
+  }
 }
 
 /**
@@ -692,22 +692,22 @@
  * @param homepagePath Absolute path to `public/index.html`.
  */
 async function assertDraftHiddenInProduction(
-	projectRoot: string,
-	homepagePath: string,
+  projectRoot: string,
+  homepagePath: string,
 ): Promise<void> {
-	const draftOutputPath = join(projectRoot, "public", "foo", "index.html");
-	await assertFileDoesNotExist(draftOutputPath);
+  const draftOutputPath = join(projectRoot, "public", "foo", "index.html");
+  await assertFileDoesNotExist(draftOutputPath);
 
-	const homepageHtml = await readTextFile(homepagePath);
+  const homepageHtml = await readTextFile(homepagePath);
 
-	if (/My First Post/i.test(homepageHtml)) {
-		throw new Error(
-			[
-				"Strict assertion failed: draft post title was visible in the production homepage output.",
-				`Homepage file: ${homepagePath}`,
-			].join("\n\n"),
-		);
-	}
+  if (/My First Post/i.test(homepageHtml)) {
+    throw new Error(
+      [
+        "Strict assertion failed: draft post title was visible in the production homepage output.",
+        `Homepage file: ${homepagePath}`,
+      ].join("\n\n"),
+    );
+  }
 }
 
 /**
@@ -733,31 +733,31 @@
  * @param contentDir Absolute path to the project `content` directory.
  */
 async function writeHeaderSectionClassFixtures(
-	contentDir: string,
+  contentDir: string,
 ): Promise<void> {
-	const overridePage = [
-		"+++",
-		"title = 'Custom Header Height'",
-		"featured_image = '/images/custom-hero.jpg'",
-		`header_section_class = '${HEADER_SECTION_CLASS_MARKER} ph3 ph4-ns'`,
-		"+++",
-		"",
-		"Body.",
-		"",
-	].join("\n");
+  const overridePage = [
+    "+++",
+    "title = 'Custom Header Height'",
+    "featured_image = '/images/custom-hero.jpg'",
+    `header_section_class = '${HEADER_SECTION_CLASS_MARKER} ph3 ph4-ns'`,
+    "+++",
+    "",
+    "Body.",
+    "",
+  ].join("\n");
 
-	const defaultPage = [
-		"+++",
-		"title = 'Default Header Height'",
-		"featured_image = '/images/default-hero.jpg'",
-		"+++",
-		"",
-		"Body.",
-		"",
-	].join("\n");
+  const defaultPage = [
+    "+++",
+    "title = 'Default Header Height'",
+    "featured_image = '/images/default-hero.jpg'",
+    "+++",
+    "",
+    "Body.",
+    "",
+  ].join("\n");
 
-	await writeTextFile(join(contentDir, "custom-header.md"), overridePage);
-	await writeTextFile(join(contentDir, "default-header.md"), defaultPage);
+  await writeTextFile(join(contentDir, "custom-header.md"), overridePage);
+  await writeTextFile(join(contentDir, "default-header.md"), defaultPage);
 }
 
 /**
@@ -768,44 +768,44 @@
  * @throws Error when the override is dropped, leaks, or the default changes.
  */
 async function assertHeaderSectionClassConfigurable(
-	projectRoot: string,
+  projectRoot: string,
 ): Promise<void> {
-	const failures: string[] = [];
+  const failures: string[] = [];
 
-	const overrideHtml = await readTextFile(
-		join(projectRoot, "public", "custom-header", "index.html"),
-	);
-	const defaultHtml = await readTextFile(
-		join(projectRoot, "public", "default-header", "index.html"),
-	);
+  const overrideHtml = await readTextFile(
+    join(projectRoot, "public", "custom-header", "index.html"),
+  );
+  const defaultHtml = await readTextFile(
+    join(projectRoot, "public", "default-header", "index.html"),
+  );
 
-	if (!overrideHtml.includes(HEADER_SECTION_CLASS_MARKER)) {
-		failures.push(
-			`- custom 'header_section_class' value '${HEADER_SECTION_CLASS_MARKER}' was not applied to the hero header`,
-		);
-	}
+  if (!overrideHtml.includes(HEADER_SECTION_CLASS_MARKER)) {
+    failures.push(
+      `- custom 'header_section_class' value '${HEADER_SECTION_CLASS_MARKER}' was not applied to the hero header`,
+    );
+  }
 
-	if (defaultHtml.includes(HEADER_SECTION_CLASS_MARKER)) {
-		failures.push(
-			"- custom 'header_section_class' value leaked onto a page that did not set it",
-		);
-	}
+  if (defaultHtml.includes(HEADER_SECTION_CLASS_MARKER)) {
+    failures.push(
+      "- custom 'header_section_class' value leaked onto a page that did not set it",
+    );
+  }
 
-	if (!defaultHtml.includes(DEFAULT_PAGE_HEADER_SECTION_CLASS)) {
-		failures.push(
-			`- default header section spacing '${DEFAULT_PAGE_HEADER_SECTION_CLASS}' was missing when 'header_section_class' was not set`,
-		);
-	}
+  if (!defaultHtml.includes(DEFAULT_PAGE_HEADER_SECTION_CLASS)) {
+    failures.push(
+      `- default header section spacing '${DEFAULT_PAGE_HEADER_SECTION_CLASS}' was missing when 'header_section_class' was not set`,
+    );
+  }
 
-	if (failures.length > 0) {
-		throw new Error(
-			[
-				"Strict assertion failed: configurable header section class did not behave as expected.",
-				"Failed assertions:",
-				...failures,
-			].join("\n"),
-		);
-	}
+  if (failures.length > 0) {
+    throw new Error(
+      [
+        "Strict assertion failed: configurable header section class did not behave as expected.",
+        "Failed assertions:",
+        ...failures,
+      ].join("\n"),
+    );
+  }
 }
 
 /**
@@ -827,35 +827,35 @@
  * @param contentDir Absolute path to the project `content` directory.
  */
 async function writeListCardFixtures(contentDir: string): Promise<void> {
-	const sectionDir = join(contentDir, "cards");
-	await mkdir(sectionDir, { recursive: true });
+  const sectionDir = join(contentDir, "cards");
+  await mkdir(sectionDir, { recursive: true });
 
-	const sectionIndex = ["+++", "title = 'Cards'", "+++", "", ""].join("\n");
+  const sectionIndex = ["+++", "title = 'Cards'", "+++", "", ""].join("\n");
 
-	const withImage = [
-		"+++",
-		"title = 'Card With Image'",
-		"date = 2024-01-15T00:00:00Z",
-		"featured_image = '/images/card-hero.jpg'",
-		"+++",
-		"",
-		"Card body.",
-		"",
-	].join("\n");
+  const withImage = [
+    "+++",
+    "title = 'Card With Image'",
+    "date = 2024-01-15T00:00:00Z",
+    "featured_image = '/images/card-hero.jpg'",
+    "+++",
+    "",
+    "Card body.",
+    "",
+  ].join("\n");
 
-	const withoutImage = [
-		"+++",
-		"title = 'Card Without Image'",
-		"date = 2024-02-20T00:00:00Z",
-		"+++",
-		"",
-		"Card body.",
-		"",
-	].join("\n");
+  const withoutImage = [
+    "+++",
+    "title = 'Card Without Image'",
+    "date = 2024-02-20T00:00:00Z",
+    "+++",
+    "",
+    "Card body.",
+    "",
+  ].join("\n");
 
-	await writeTextFile(join(sectionDir, "_index.md"), sectionIndex);
-	await writeTextFile(join(sectionDir, "with-image.md"), withImage);
-	await writeTextFile(join(sectionDir, "without-image.md"), withoutImage);
+  await writeTextFile(join(sectionDir, "_index.md"), sectionIndex);
+  await writeTextFile(join(sectionDir, "with-image.md"), withImage);
+  await writeTextFile(join(sectionDir, "without-image.md"), withoutImage);
 }
 
 /**
@@ -868,47 +868,47 @@
  * @throws Error when the rendered cards do not match the expectations.
  */
 function assertListCardSummaries(
-	listHtml: string,
-	label: string,
-	expectations: { images: boolean; dates: boolean },
+  listHtml: string,
+  label: string,
+  expectations: { images: boolean; dates: boolean },
 ): void {
-	const failures: string[] = [];
-	const hasImage = listHtml.includes(LIST_CARD_IMAGE_MARKER);
-	const hasDate = listHtml.includes(SUMMARY_CARD_DATE_MARKER);
+  const failures: string[] = [];
+  const hasImage = listHtml.includes(LIST_CARD_IMAGE_MARKER);
+  const hasDate = listHtml.includes(SUMMARY_CARD_DATE_MARKER);
 
-	if (expectations.images && !hasImage) {
-		failures.push(
-			"- expected image summary cards but the list rendered no card image",
-		);
-	}
+  if (expectations.images && !hasImage) {
+    failures.push(
+      "- expected image summary cards but the list rendered no card image",
+    );
+  }
 
-	if (!expectations.images && hasImage) {
-		failures.push(
-			"- image summary cards were rendered when 'ananke.pages.show_list_images' was not enabled",
-		);
-	}
+  if (!expectations.images && hasImage) {
+    failures.push(
+      "- image summary cards were rendered when 'ananke.pages.show_list_images' was not enabled",
+    );
+  }
 
-	if (expectations.dates && !hasDate) {
-		failures.push(
-			"- expected summary card dates but none were rendered by default",
-		);
-	}
+  if (expectations.dates && !hasDate) {
+    failures.push(
+      "- expected summary card dates but none were rendered by default",
+    );
+  }
 
-	if (!expectations.dates && hasDate) {
-		failures.push(
-			"- summary card dates were rendered when 'ananke.pages.show_date' was false",
-		);
-	}
+  if (!expectations.dates && hasDate) {
+    failures.push(
+      "- summary card dates were rendered when 'ananke.pages.show_date' was false",
+    );
+  }
 
-	if (failures.length > 0) {
-		throw new Error(
-			[
-				`Strict assertion failed: list card summaries (${label}) did not behave as expected.`,
-				"Failed assertions:",
-				...failures,
-			].join("\n"),
-		);
-	}
+  if (failures.length > 0) {
+    throw new Error(
+      [
+        `Strict assertion failed: list card summaries (${label}) did not behave as expected.`,
+        "Failed assertions:",
+        ...failures,
+      ].join("\n"),
+    );
+  }
 }
 
 /**
@@ -918,13 +918,13 @@
  * @returns True when `path` is inside a Git work tree.
  */
 async function isGitWorkTree(path: string): Promise<boolean> {
-	const result = await runCommand(
-		"git",
-		["-C", path, "rev-parse", "--is-inside-work-tree"],
-		path,
-	);
+  const result = await runCommand(
+    "git",
+    ["-C", path, "rev-parse", "--is-inside-work-tree"],
+    path,
+  );
 
-	return result.code === 0 && result.stdout.trim() === "true";
+  return result.code === 0 && result.stdout.trim() === "true";
 }
 
 /**
@@ -940,70 +940,70 @@
  * @throws Error when the source contains no theme files.
  */
 async function copyLocalTheme(
-	themePath: string,
-	destination: string,
+  themePath: string,
+  destination: string,
 ): Promise<void> {
-	if (await isGitWorkTree(themePath)) {
-		const listing = await runCommand(
-			"git",
-			[
-				"-C",
-				themePath,
-				"ls-files",
-				"-z",
-				"--cached",
-				"--others",
-				"--exclude-standard",
-			],
-			themePath,
-		);
+  if (await isGitWorkTree(themePath)) {
+    const listing = await runCommand(
+      "git",
+      [
+        "-C",
+        themePath,
+        "ls-files",
+        "-z",
+        "--cached",
+        "--others",
+        "--exclude-standard",
+      ],
+      themePath,
+    );
 
-		if (listing.code !== 0) {
-			throw new Error(
-				`Failed to list theme files via git in ${themePath}:\n${listing.stderr}`,
-			);
-		}
+    if (listing.code !== 0) {
+      throw new Error(
+        `Failed to list theme files via git in ${themePath}:\n${listing.stderr}`,
+      );
+    }
 
-		const relativePaths = listing.stdout.split("\0").filter(Boolean);
+    const relativePaths = listing.stdout.split("\0").filter(Boolean);
 
-		if (relativePaths.length === 0) {
-			throw new Error(`No theme files found in ${themePath}`);
-		}
+    if (relativePaths.length === 0) {
+      throw new Error(`No theme files found in ${themePath}`);
+    }
 
-		for (const relativePath of relativePaths) {
-			const source = join(themePath, relativePath);
+    for (const relativePath of relativePaths) {
+      const source = join(themePath, relativePath);
 
-			try {
-				const stats = await stat(source);
-				if (!stats.isFile()) {
-					continue;
-				}
-			} catch {
-				// Tracked but deleted in the work tree: nothing to copy.
-				continue;
-			}
+      try {
+        const stats = await stat(source);
+        if (!stats.isFile()) {
+          continue;
+        }
+      } catch {
+        // Tracked but deleted in the work tree: nothing to copy.
+        continue;
+      }
 
-			const target = join(destination, relativePath);
-			await mkdir(dirname(target), { recursive: true });
-			await copyFile(source, target);
-		}
+      const target = join(destination, relativePath);
+      await mkdir(dirname(target), { recursive: true });
+      await copyFile(source, target);
+    }
 
-		return;
-	}
+    return;
+  }
 
-	// Fallback for a non-Git source directory: copy recursively while excluding
-	// heavy or generated paths that would never ship with the theme.
-	const excludedNames = new Set(["node_modules", "public", ".git"]);
-	await cp(themePath, destination, {
-		recursive: true,
-		filter: (source: string): boolean => {
-			if (excludedNames.has(basename(source))) {
-				return false;
-			}
+  // Fallback for a non-Git source directory: copy recursively while excluding
+  // heavy or generated paths that would never ship with the theme.
+  const excludedNames = new Set(["node_modules", "public", ".git"]);
+  await cp(themePath, destination, {
+    recursive: true,
+    filter: (source: string): boolean => {
+      if (excludedNames.has(basename(source))) {
+        return false;
+      }
 
-			return !source.includes(join("resources", "_gen"));
-		},
-	});
+      return !source.includes(join("resources", "_gen"));
+    },
+  });
 }
 
 /**
@@ -1016,48 +1016,48 @@
  * @throws Error when installation fails or the theme is incomplete.
  */
 async function installTheme(
-	options: RoutineOptions,
-	projectRoot: string,
-	reports: StepReport[],
+  options: RoutineOptions,
+  projectRoot: string,
+  reports: StepReport[],
 ): Promise<void> {
-	const destination = join(projectRoot, options.themeDir);
+  const destination = join(projectRoot, options.themeDir);
 
-	if (options.verbose) {
-		console.log(`\n[RUN] Install theme (source: ${options.themeSource})`);
-	}
+  if (options.verbose) {
+    console.log(`\n[RUN] Install theme (source: ${options.themeSource})`);
+  }
 
-	if (options.themeSource === "submodule") {
-		const step: StepDefinition = {
-			name: "Add theme as Git submodule",
-			command: "git",
-			args: ["submodule", "add", options.themeRepo, options.themeDir],
-			cwd: projectRoot,
-			expectedFiles: [options.themeDir, ".gitmodules"],
-		};
-		const report = await executeStep(step);
-		reports.push(report);
+  if (options.themeSource === "submodule") {
+    const step: StepDefinition = {
+      name: "Add theme as Git submodule",
+      command: "git",
+      args: ["submodule", "add", options.themeRepo, options.themeDir],
+      cwd: projectRoot,
+      expectedFiles: [options.themeDir, ".gitmodules"],
+    };
+    const report = await executeStep(step);
+    reports.push(report);
 
-		if (options.verbose) {
-			console.log(
-				`[OK ] ${step.name} (${report.result.durationMs} ms, exit ${String(report.result.code)})`,
-			);
-		}
+    if (options.verbose) {
+      console.log(
+        `[OK ] ${step.name} (${report.result.durationMs} ms, exit ${String(report.result.code)})`,
+      );
+    }
 
-		return;
-	}
+    return;
+  }
 
-	const started = Date.now();
-	await copyLocalTheme(options.themePath, destination);
+  const started = Date.now();
+  await copyLocalTheme(options.themePath, destination);
 
-	// Sanity check: a usable theme must at least expose theme.toml and layouts.
-	await assertFileExists(join(destination, "theme.toml"));
-	await assertFileExists(join(destination, "layouts"));
+  // Sanity check: a usable theme must at least expose theme.toml and layouts.
+  await assertFileExists(join(destination, "theme.toml"));
+  await assertFileExists(join(destination, "layouts"));
 
-	if (options.verbose) {
-		console.log(
-			`[OK ] Copied local theme from ${options.themePath} (${Date.now() - started} ms)`,
-		);
-	}
+  if (options.verbose) {
+    console.log(
+      `[OK ] Copied local theme from ${options.themePath} (${Date.now() - started} ms)`,
+    );
+  }
 }
 
 /**
@@ -1069,34 +1069,34 @@
  * @param reports Accumulated step reports (appended to).
  */
 async function runSteps(
-	steps: StepDefinition[],
-	options: RoutineOptions,
-	projectRoot: string,
-	reports: StepReport[],
+  steps: StepDefinition[],
+  options: RoutineOptions,
+  projectRoot: string,
+  reports: StepReport[],
 ): Promise<void> {
-	for (const step of steps) {
-		if (options.verbose) {
-			console.log(`\n[RUN] ${step.name}`);
-			console.log(`      ${formatCommand(step.command, step.args)}`);
-		}
+  for (const step of steps) {
+    if (options.verbose) {
+      console.log(`\n[RUN] ${step.name}`);
+      console.log(`      ${formatCommand(step.command, step.args)}`);
+    }
 
-		const report = isHugoBuildCommand(step)
-			? await executeHugoBuildStep(step, projectRoot)
-			: await executeStep(step);
+    const report = isHugoBuildCommand(step)
+      ? await executeHugoBuildStep(step, projectRoot)
+      : await executeStep(step);
 
-		reports.push(report);
+    reports.push(report);
 
-		if (options.verbose) {
-			console.log(
-				`[OK ] ${step.name} (${report.result.durationMs} ms, exit ${String(report.result.code)})`,
-			);
+    if (options.verbose) {
+      console.log(
+        `[OK ] ${step.name} (${report.result.durationMs} ms, exit ${String(report.result.code)})`,
+      );
 
-			const trimmedOutput = report.result.combined.trim();
-			if (trimmedOutput) {
-				console.log(trimmedOutput);
-			}
-		}
-	}
+      const trimmedOutput = report.result.combined.trim();
+      if (trimmedOutput) {
+        console.log(trimmedOutput);
+      }
+    }
+  }
 }
 
 /**
@@ -1106,360 +1106,354 @@
  * @returns Process exit code.
  */
 async function runRoutine(options: RoutineOptions): Promise<number> {
-	const sandboxRoot = await mkdtemp(join(tmpdir(), "hugo-quickstart-"));
-	const projectRoot = join(sandboxRoot, options.projectName);
+  const sandboxRoot = await mkdtemp(join(tmpdir(), "hugo-quickstart-"));
+  const projectRoot = join(sandboxRoot, options.projectName);
 
-	const reports: StepReport[] = [];
+  const reports: StepReport[] = [];
 
-	// Steps that prepare the project before the theme is installed.
-	const setupSteps: StepDefinition[] = [
-		{
-			name: "Create Hugo project",
-			command: "hugo",
-			args: ["new", "project", options.projectName],
-			cwd: sandboxRoot,
-			expectedFiles: [join(options.projectName, options.configFile)],
-		},
-		{
-			name: "Initialise Git repository",
-			command: "git",
-			args: ["init"],
-			cwd: projectRoot,
-			expectedFiles: [".git"],
-		},
-	];
+  // Steps that prepare the project before the theme is installed.
+  const setupSteps: StepDefinition[] = [
+    {
+      name: "Create Hugo project",
+      command: "hugo",
+      args: ["new", "project", options.projectName],
+      cwd: sandboxRoot,
+      expectedFiles: [join(options.projectName, options.configFile)],
+    },
+    {
+      name: "Initialise Git repository",
+      command: "git",
+      args: ["init"],
+      cwd: projectRoot,
+      expectedFiles: [".git"],
+    },
+  ];
 
-	// Steps that run once the theme is in place.
-	const buildSteps: StepDefinition[] = [
-		{
-			name: "Configure theme in Hugo config",
-			command: "bash",
-			args: [
-				"-lc",
-				`printf "\\ntheme = '${options.themeName}'\\n" >> ${JSON.stringify(options.configFile)}`,
-			],
-			cwd: projectRoot,
-			expectedFiles: [options.configFile],
-		},
-		{
-			name: "Build site",
-			command: "hugo",
-			args: [],
-			cwd: projectRoot,
-			expectedFiles: ["public/index.html"],
-		},
-	];
+  // Steps that run once the theme is in place.
+  const buildSteps: StepDefinition[] = [
+    {
+      name: "Configure theme in Hugo config",
+      command: "bash",
+      args: [
+        "-lc",
+        `printf "\\ntheme = '${options.themeName}'\\n" >> ${JSON.stringify(options.configFile)}`,
+      ],
+      cwd: projectRoot,
+      expectedFiles: [options.configFile],
+    },
+    {
+      name: "Build site",
+      command: "hugo",
+      args: [],
+      cwd: projectRoot,
+      expectedFiles: ["public/index.html"],
+    },
+  ];
 
-	try {
-		console.log(`Test root: ${sandboxRoot}`);
-		console.log(`Project root: ${projectRoot}`);
-		console.log(
-			options.themeSource === "submodule"
-				? `Theme source: submodule (${options.themeRepo})`
-				: `Theme source: local (${options.themePath})`,
-		);
+  try {
+    console.log(`Test root: ${sandboxRoot}`);
+    console.log(`Project root: ${projectRoot}`);
+    console.log(
+      options.themeSource === "submodule"
+        ? `Theme source: submodule (${options.themeRepo})`
+        : `Theme source: local (${options.themePath})`,
+    );
 
-		await runSteps(setupSteps, options, projectRoot, reports);
-		await installTheme(options, projectRoot, reports);
-		await runSteps(buildSteps, options, projectRoot, reports);
+    await runSteps(setupSteps, options, projectRoot, reports);
+    await installTheme(options, projectRoot, reports);
+    await runSteps(buildSteps, options, projectRoot, reports);
 
-		const configPath = join(projectRoot, options.configFile);
-		const homepagePath = join(projectRoot, "public/index.html");
-		const contentPath = join(projectRoot, "content/foo.md");
-		const draftOutputPath = join(projectRoot, "public", "foo", "index.html");
+    const configPath = join(projectRoot, options.configFile);
+    const homepagePath = join(projectRoot, "public/index.html");
+    const contentPath = join(projectRoot, "content/foo.md");
+    const draftOutputPath = join(projectRoot, "public", "foo", "index.html");
 
-		console.log("\n[RUN] Strict config assertion");
-		await assertThemeConfigured(configPath, options.themeName);
-		console.log("[OK ] Strict config assertion");
+    console.log("\n[RUN] Strict config assertion");
+    await assertThemeConfigured(configPath, options.themeName);
+    console.log("[OK ] Strict config assertion");
 
-		console.log("\n[RUN] Strict homepage assertion");
-		await assertHomepageLooksValid(homepagePath);
-		console.log("[OK ] Strict homepage assertion");
+    console.log("\n[RUN] Strict homepage assertion");
+    await assertHomepageLooksValid(homepagePath);
+    console.log("[OK ] Strict homepage assertion");
 
-		console.log("\n[RUN] Create sample content");
-		const createContentStep: StepDefinition = {
-			name: "Create sample content",
-			command: "hugo",
-			args: ["new", "foo.md"],
-			cwd: projectRoot,
-			expectedFiles: ["content/foo.md"],
-		};
-		const createContentReport = await executeStep(createContentStep);
-		reports.push(createContentReport);
+    console.log("\n[RUN] Create sample content");
+    const createContentStep: StepDefinition = {
+      name: "Create sample content",
+      command: "hugo",
+      args: ["new", "foo.md"],
+      cwd: projectRoot,
+      expectedFiles: ["content/foo.md"],
+    };
+    const createContentReport = await executeStep(createContentStep);
+    reports.push(createContentReport);
 
-		if (options.verbose) {
-			console.log(
-				`      ${formatCommand(createContentStep.command, createContentStep.args)}`,
-			);
-			console.log(
-				`[OK ] ${createContentStep.name} (${createContentReport.result.durationMs} ms, exit ${String(createContentReport.result.code)})`,
-			);
+    if (options.verbose) {
+      console.log(
+        `      ${formatCommand(createContentStep.command, createContentStep.args)}`,
+      );
+      console.log(
+        `[OK ] ${createContentStep.name} (${createContentReport.result.durationMs} ms, exit ${String(createContentReport.result.code)})`,
+      );
 
-			const trimmedOutput = createContentReport.result.combined.trim();
-			if (trimmedOutput) {
-				console.log(trimmedOutput);
-			}
-		}
+      const trimmedOutput = createContentReport.result.combined.trim();
+      if (trimmedOutput) {
+        console.log(trimmedOutput);
+      }
+    }
 
-		console.log("\n[RUN] Replace generated content with quickstart sample");
-		await replaceGeneratedContent(contentPath);
-		console.log("[OK ] Replace generated content with quickstart sample");
+    console.log("\n[RUN] Replace generated content with quickstart sample");
+    await replaceGeneratedContent(contentPath);
+    console.log("[OK ] Replace generated content with quickstart sample");
 
-		console.log("\n[RUN] Build drafts and verify rendered draft content");
-		const draftBuildStep: StepDefinition = {
-			name: "Build site with drafts",
-			command: "hugo",
-			args: ["--buildDrafts"],
-			cwd: projectRoot,
-			expectedFiles: ["public/index.html", "public/foo/index.html"],
-		};
-		const draftBuildReport = await executeHugoBuildStep(
-			draftBuildStep,
-			projectRoot,
-		);
-		reports.push(draftBuildReport);
+    console.log("\n[RUN] Build drafts and verify rendered draft content");
+    const draftBuildStep: StepDefinition = {
+      name: "Build site with drafts",
+      command: "hugo",
+      args: ["--buildDrafts"],
+      cwd: projectRoot,
+      expectedFiles: ["public/index.html", "public/foo/index.html"],
+    };
+    const draftBuildReport = await executeHugoBuildStep(
+      draftBuildStep,
+      projectRoot,
+    );
+    reports.push(draftBuildReport);
 
-		if (options.verbose) {
-			console.log(
-				`      ${formatCommand(draftBuildStep.command, draftBuildStep.args)}`,
-			);
-			console.log(
-				`[OK ] ${draftBuildStep.name} (${draftBuildReport.result.durationMs} ms, exit ${String(draftBuildReport.result.code)})`,
-			);
+    if (options.verbose) {
+      console.log(
+        `      ${formatCommand(draftBuildStep.command, draftBuildStep.args)}`,
+      );
+      console.log(
+        `[OK ] ${draftBuildStep.name} (${draftBuildReport.result.durationMs} ms, exit ${String(draftBuildReport.result.code)})`,
+      );
 
-			const trimmedOutput = draftBuildReport.result.combined.trim();
-			if (trimmedOutput) {
-				console.log(trimmedOutput);
-			}
-		}
+      const trimmedOutput = draftBuildReport.result.combined.trim();
+      if (trimmedOutput) {
+        console.log(trimmedOutput);
+      }
+    }
 
-		const draftPageHtml = await readTextFile(draftOutputPath);
-		assertDraftPageRendered(draftPageHtml);
-		console.log("[OK ] Build drafts and verify rendered draft content");
+    const draftPageHtml = await readTextFile(draftOutputPath);
+    assertDraftPageRendered(draftPageHtml);
+    console.log("[OK ] Build drafts and verify rendered draft content");
 
-		console.log("\n[RUN] Replace root hugo.toml with quickstart config");
-		await replaceHugoConfig(configPath, options.themeName);
-		console.log("[OK ] Replace root hugo.toml with quickstart config");
+    console.log("\n[RUN] Replace root hugo.toml with quickstart config");
+    await replaceHugoConfig(configPath, options.themeName);
+    console.log("[OK ] Replace root hugo.toml with quickstart config");
 
-		console.log("\n[RUN] Build drafts and verify updated title and locale");
-		const configBuildStep: StepDefinition = {
-			name: "Build site with updated config and drafts",
-			command: "hugo",
-			args: ["--buildDrafts"],
-			cwd: projectRoot,
-			expectedFiles: ["public/index.html", "public/foo/index.html"],
-		};
-		const configBuildReport = await executeHugoBuildStep(
-			configBuildStep,
-			projectRoot,
-		);
-		reports.push(configBuildReport);
+    console.log("\n[RUN] Build drafts and verify updated title and locale");
+    const configBuildStep: StepDefinition = {
+      name: "Build site with updated config and drafts",
+      command: "hugo",
+      args: ["--buildDrafts"],
+      cwd: projectRoot,
+      expectedFiles: ["public/index.html", "public/foo/index.html"],
+    };
+    const configBuildReport = await executeHugoBuildStep(
+      configBuildStep,
+      projectRoot,
+    );
+    reports.push(configBuildReport);
 
-		if (options.verbose) {
-			console.log(
-				`      ${formatCommand(configBuildStep.command, configBuildStep.args)}`,
-			);
-			console.log(
-				`[OK ] ${configBuildStep.name} (${configBuildReport.result.durationMs} ms, exit ${String(configBuildReport.result.code)})`,
-			);
+    if (options.verbose) {
+      console.log(
+        `      ${formatCommand(configBuildStep.command, configBuildStep.args)}`,
+      );
+      console.log(
+        `[OK ] ${configBuildStep.name} (${configBuildReport.result.durationMs} ms, exit ${String(configBuildReport.result.code)})`,
+      );
 
-			const trimmedOutput = configBuildReport.result.combined.trim();
-			if (trimmedOutput) {
-				console.log(trimmedOutput);
-			}
-		}
+      const trimmedOutput = configBuildReport.result.combined.trim();
+      if (trimmedOutput) {
+        console.log(trimmedOutput);
+      }
+    }
 
-		const updatedHomepageHtml = await readTextFile(homepagePath);
-		assertUpdatedConfigInOutput(updatedHomepageHtml);
-		console.log("[OK ] Build drafts and verify updated title and locale");
+    const updatedHomepageHtml = await readTextFile(homepagePath);
+    assertUpdatedConfigInOutput(updatedHomepageHtml);
+    console.log("[OK ] Build drafts and verify updated title and locale");
 
-		console.log("\n[RUN] Production build should exclude draft content");
-		const productionBuildStep: StepDefinition = {
-			name: "Build production site without drafts",
-			command: "hugo",
-			args: [],
-			cwd: projectRoot,
-			expectedFiles: ["public/index.html"],
-		};
-		const productionBuildReport = await executeHugoBuildStep(
-			productionBuildStep,
-			projectRoot,
-		);
-		reports.push(productionBuildReport);
+    console.log("\n[RUN] Production build should exclude draft content");
+    const productionBuildStep: StepDefinition = {
+      name: "Build production site without drafts",
+      command: "hugo",
+      args: [],
+      cwd: projectRoot,
+      expectedFiles: ["public/index.html"],
+    };
+    const productionBuildReport = await executeHugoBuildStep(
+      productionBuildStep,
+      projectRoot,
+    );
+    reports.push(productionBuildReport);
 
-		if (options.verbose) {
-			console.log(
-				`      ${formatCommand(productionBuildStep.command, productionBuildStep.args)}`,
-			);
-			console.log(
-				`[OK ] ${productionBuildStep.name} (${productionBuildReport.result.durationMs} ms, exit ${String(productionBuildReport.result.code)})`,
-			);
+    if (options.verbose) {
+      console.log(
+        `      ${formatCommand(productionBuildStep.command, productionBuildStep.args)}`,
+      );
+      console.log(
+        `[OK ] ${productionBuildStep.name} (${productionBuildReport.result.durationMs} ms, exit ${String(productionBuildReport.result.code)})`,
+      );
 
-			const trimmedOutput = productionBuildReport.result.combined.trim();
-			if (trimmedOutput) {
-				console.log(trimmedOutput);
-			}
-		}
+      const trimmedOutput = productionBuildReport.result.combined.trim();
+      if (trimmedOutput) {
+        console.log(trimmedOutput);
+      }
+    }
 
-		await assertDraftHiddenInProduction(projectRoot, homepagePath);
-		console.log("[OK ] Production build should exclude draft content");
+    await assertDraftHiddenInProduction(projectRoot, homepagePath);
+    console.log("[OK ] Production build should exclude draft content");
 
-		console.log("\n[RUN] Configurable hero header section class (issue #504)");
-		await writeHeaderSectionClassFixtures(join(projectRoot, "content"));
-		const headerSectionBuildStep: StepDefinition = {
-			name: "Build site with configurable header section fixtures",
-			command: "hugo",
-			args: [],
-			cwd: projectRoot,
-			expectedFiles: [
-				"public/custom-header/index.html",
-				"public/default-header/index.html",
-			],
-		};
-		const headerSectionBuildReport = await executeHugoBuildStep(
-			headerSectionBuildStep,
-			projectRoot,
-		);
-		reports.push(headerSectionBuildReport);
+    console.log("\n[RUN] Configurable hero header section class (issue #504)");
+    await writeHeaderSectionClassFixtures(join(projectRoot, "content"));
+    const headerSectionBuildStep: StepDefinition = {
+      name: "Build site with configurable header section fixtures",
+      command: "hugo",
+      args: [],
+      cwd: projectRoot,
+      expectedFiles: [
+        "public/custom-header/index.html",
+        "public/default-header/index.html",
+      ],
+    };
+    const headerSectionBuildReport = await executeHugoBuildStep(
+      headerSectionBuildStep,
+      projectRoot,
+    );
+    reports.push(headerSectionBuildReport);
 
-		if (options.verbose) {
-			console.log(
-				`      ${formatCommand(headerSectionBuildStep.command, headerSectionBuildStep.args)}`,
-			);
-			console.log(
-				`[OK ] ${headerSectionBuildStep.name} (${headerSectionBuildReport.result.durationMs} ms, exit ${String(headerSectionBuildReport.result.code)})`,
-			);
+    if (options.verbose) {
+      console.log(
+        `      ${formatCommand(headerSectionBuildStep.command, headerSectionBuildStep.args)}`,
+      );
+      console.log(
+        `[OK ] ${headerSectionBuildStep.name} (${headerSectionBuildReport.result.durationMs} ms, exit ${String(headerSectionBuildReport.result.code)})`,
+      );
 
-			const trimmedOutput = headerSectionBuildReport.result.combined.trim();
-			if (trimmedOutput) {
-				console.log(trimmedOutput);
-			}
-		}
+      const trimmedOutput = headerSectionBuildReport.result.combined.trim();
+      if (trimmedOutput) {
+        console.log(trimmedOutput);
+      }
+    }
 
-		await assertHeaderSectionClassConfigurable(projectRoot);
-		console.log("[OK ] Configurable hero header section class (issue #504)");
+    await assertHeaderSectionClassConfigurable(projectRoot);
+    console.log("[OK ] Configurable hero header section class (issue #504)");
 
-		console.log("\n[RUN] List page image cards and summary dates (issue #217)");
-		await writeListCardFixtures(join(projectRoot, "content"));
-		const cardsListPath = join(
-			projectRoot,
-			"public",
-			"cards",
-			"index.html",
-		);
+    console.log("\n[RUN] List page image cards and summary dates (issue #217)");
+    await writeListCardFixtures(join(projectRoot, "content"));
+    const cardsListPath = join(projectRoot, "public", "cards", "index.html");
 
-		// Default configuration: no image cards, but dates show by default.
-		await writeTextFile(
-			configPath,
-			[
-				"baseURL = 'https://example.com/'",
-				"title = 'Ananke Test Quickstart'",
-				`theme = '${options.themeName}'`,
-				"",
-			].join("\n"),
-		);
-		const cardsDefaultBuildStep: StepDefinition = {
-			name: "Build site with default summary cards",
-			command: "hugo",
-			args: [],
-			cwd: projectRoot,
-			expectedFiles: ["public/cards/index.html"],
-		};
-		const cardsDefaultBuildReport = await executeHugoBuildStep(
-			cardsDefaultBuildStep,
-			projectRoot,
-		);
-		reports.push(cardsDefaultBuildReport);
-		assertListCardSummaries(
-			await readTextFile(cardsListPath),
-			"defaults",
-			{ images: false, dates: true },
-		);
+    // Default configuration: no image cards, but dates show by default.
+    await writeTextFile(
+      configPath,
+      [
+        "baseURL = 'https://example.com/'",
+        "title = 'Ananke Test Quickstart'",
+        `theme = '${options.themeName}'`,
+        "",
+      ].join("\n"),
+    );
+    const cardsDefaultBuildStep: StepDefinition = {
+      name: "Build site with default summary cards",
+      command: "hugo",
+      args: [],
+      cwd: projectRoot,
+      expectedFiles: ["public/cards/index.html"],
+    };
+    const cardsDefaultBuildReport = await executeHugoBuildStep(
+      cardsDefaultBuildStep,
+      projectRoot,
+    );
+    reports.push(cardsDefaultBuildReport);
+    assertListCardSummaries(await readTextFile(cardsListPath), "defaults", {
+      images: false,
+      dates: true,
+    });
 
-		// Opt in to image cards and disable summary dates: images appear and the
-		// dates disappear, proving the two settings are independent.
-		await writeTextFile(
-			configPath,
-			[
-				"baseURL = 'https://example.com/'",
-				"title = 'Ananke Test Quickstart'",
-				`theme = '${options.themeName}'`,
-				"[params.ananke.pages]",
-				"show_list_images = true",
-				"show_date = false",
-				"",
-			].join("\n"),
-		);
-		const cardsImagesBuildStep: StepDefinition = {
-			name: "Build site with image cards and dates disabled",
-			command: "hugo",
-			args: [],
-			cwd: projectRoot,
-			expectedFiles: ["public/cards/index.html"],
-		};
-		const cardsImagesBuildReport = await executeHugoBuildStep(
-			cardsImagesBuildStep,
-			projectRoot,
-		);
-		reports.push(cardsImagesBuildReport);
-		assertListCardSummaries(
-			await readTextFile(cardsListPath),
-			"image cards with dates disabled",
-			{ images: true, dates: false },
-		);
+    // Opt in to image cards and disable summary dates: images appear and the
+    // dates disappear, proving the two settings are independent.
+    await writeTextFile(
+      configPath,
+      [
+        "baseURL = 'https://example.com/'",
+        "title = 'Ananke Test Quickstart'",
+        `theme = '${options.themeName}'`,
+        "[params.ananke.pages]",
+        "show_list_images = true",
+        "show_date = false",
+        "",
+      ].join("\n"),
+    );
+    const cardsImagesBuildStep: StepDefinition = {
+      name: "Build site with image cards and dates disabled",
+      command: "hugo",
+      args: [],
+      cwd: projectRoot,
+      expectedFiles: ["public/cards/index.html"],
+    };
+    const cardsImagesBuildReport = await executeHugoBuildStep(
+      cardsImagesBuildStep,
+      projectRoot,
+    );
+    reports.push(cardsImagesBuildReport);
+    assertListCardSummaries(
+      await readTextFile(cardsListPath),
+      "image cards with dates disabled",
+      { images: true, dates: false },
+    );
 
-		console.log("[OK ] List page image cards and summary dates (issue #217)");
+    console.log("[OK ] List page image cards and summary dates (issue #217)");
 
-		console.log("\nResult: PASS");
+    console.log("\nResult: PASS");
 
-		if (options.keepOnSuccess) {
-			console.log(`Keeping successful test directory: ${projectRoot}`);
-		} else {
-			await rm(sandboxRoot, { recursive: true, force: true });
-			console.log(`Deleted successful test directory: ${sandboxRoot}`);
-		}
+    if (options.keepOnSuccess) {
+      console.log(`Keeping successful test directory: ${projectRoot}`);
+    } else {
+      await rm(sandboxRoot, { recursive: true, force: true });
+      console.log(`Deleted successful test directory: ${sandboxRoot}`);
+    }
 
-		return 0;
-	} catch (error: unknown) {
-		const message = error instanceof Error ? error.message : "Unknown error";
+    return 0;
+  } catch (error: unknown) {
+    const message = error instanceof Error ? error.message : "Unknown error";
 
-		console.error("\nResult: FAIL");
-		console.error(message);
+    console.error("\nResult: FAIL");
+    console.error(message);
 
-		if (reports.length > 0) {
-			console.error("\nCompleted command steps before failure:");
-			for (const report of reports) {
-				console.error(`- ${report.step}`);
-			}
-		}
+    if (reports.length > 0) {
+      console.error("\nCompleted command steps before failure:");
+      for (const report of reports) {
+        console.error(`- ${report.step}`);
+      }
+    }
 
-		if (options.keepOnFailure) {
-			console.error(
-				`\nKept failing test directory for inspection: ${projectRoot}`,
-			);
-		} else {
-			await rm(sandboxRoot, { recursive: true, force: true });
-			console.error(`\nDeleted failing test directory: ${sandboxRoot}`);
-		}
+    if (options.keepOnFailure) {
+      console.error(
+        `\nKept failing test directory for inspection: ${projectRoot}`,
+      );
+    } else {
+      await rm(sandboxRoot, { recursive: true, force: true });
+      console.error(`\nDeleted failing test directory: ${sandboxRoot}`);
+    }
 
-		return 1;
-	}
+    return 1;
+  }
 }
 
 /**
  * Main entry point.
  */
 async function main(): Promise<void> {
-	try {
-		const options = parseArgs(process.argv.slice(2));
-		const exitCode = await runRoutine(options);
-		process.exit(exitCode);
-	} catch (error: unknown) {
-		const message =
-			error instanceof Error ? error.message : "Unknown fatal error";
-		console.error(`Fatal error: ${message}`);
-		process.exit(1);
-	}
+  try {
+    const options = parseArgs(process.argv.slice(2));
+    const exitCode = await runRoutine(options);
+    process.exit(exitCode);
+  } catch (error: unknown) {
+    const message =
+      error instanceof Error ? error.message : "Unknown fatal error";
+    console.error(`Fatal error: ${message}`);
+    process.exit(1);
+  }
 }
 
 await main();
diff --git a/tests/coverage-gate.mjs b/tests/coverage-gate.mjs
index 540e2a9..8b62ef3 100644
--- a/tests/coverage-gate.mjs
+++ b/tests/coverage-gate.mjs
@@ -25,43 +25,43 @@
 
 /** Direct `key = value` entries under the top-level [ananke] table. */
 function collectAnankeParams() {
-	const toml = readFileSync(
-		join(repoRoot, "config", "_default", "params.toml"),
-		"utf8",
-	);
-	const keys = new Set();
-	let inAnanke = false;
-	for (const raw of toml.split("\n")) {
-		const line = raw.trim();
-		if (line.startsWith("[")) {
-			inAnanke = line === "[ananke]";
-			continue;
-		}
-		if (!inAnanke || line === "" || line.startsWith("#")) continue;
-		const eq = line.indexOf("=");
-		if (eq > 0) keys.add(`ananke.${line.slice(0, eq).trim()}`);
-	}
-	return keys;
+  const toml = readFileSync(
+    join(repoRoot, "config", "_default", "params.toml"),
+    "utf8",
+  );
+  const keys = new Set();
+  let inAnanke = false;
+  for (const raw of toml.split("\n")) {
+    const line = raw.trim();
+    if (line.startsWith("[")) {
+      inAnanke = line === "[ananke]";
+      continue;
+    }
+    if (!inAnanke || line === "" || line.startsWith("#")) continue;
+    const eq = line.indexOf("=");
+    if (eq > 0) keys.add(`ananke.${line.slice(0, eq).trim()}`);
+  }
+  return keys;
 }
 
 /** Shortcode names from layouts/_shortcodes/*.html. */
 function collectShortcodes() {
-	const dir = join(repoRoot, "layouts", "_shortcodes");
-	return new Set(
-		readdirSync(dir)
-			.filter((f) => f.endsWith(".html"))
-			.map((f) => f.replace(/\.html$/, "")),
-	);
+  const dir = join(repoRoot, "layouts", "_shortcodes");
+  return new Set(
+    readdirSync(dir)
+      .filter((f) => f.endsWith(".html"))
+      .map((f) => f.replace(/\.html$/, "")),
+  );
 }
 
 function catalogued(section) {
-	const out = new Set();
-	for (const [name, value] of Object.entries(section || {})) {
-		if (value && Array.isArray(value.tests) && value.tests.length > 0) {
-			out.add(name);
-		}
-	}
-	return out;
+  const out = new Set();
+  for (const [name, value] of Object.entries(section || {})) {
+    if (value && Array.isArray(value.tests) && value.tests.length > 0) {
+      out.add(name);
+    }
+  }
+  return out;
 }
 
 const catalog = parse(readFileSync(join(here, "catalog.yaml"), "utf8")) || {};
@@ -72,32 +72,32 @@
 
 const errors = [];
 for (const p of params) {
-	if (!catParams.has(p))
-		errors.push(`param '${p}' has no test in tests/catalog.yaml`);
+  if (!catParams.has(p))
+    errors.push(`param '${p}' has no test in tests/catalog.yaml`);
 }
 for (const s of shortcodes) {
-	if (!catShortcodes.has(s))
-		errors.push(`shortcode '${s}' has no test in tests/catalog.yaml`);
+  if (!catShortcodes.has(s))
+    errors.push(`shortcode '${s}' has no test in tests/catalog.yaml`);
 }
 // Stale catalog entries (kept as warnings so renames are noticed promptly).
 const warnings = [];
 for (const p of Object.keys(catalog.params || {})) {
-	if (!params.has(p)) warnings.push(`catalog param '${p}' no longer exists`);
+  if (!params.has(p)) warnings.push(`catalog param '${p}' no longer exists`);
 }
 for (const s of Object.keys(catalog.shortcodes || {})) {
-	if (!shortcodes.has(s))
-		warnings.push(`catalog shortcode '${s}' no longer exists`);
+  if (!shortcodes.has(s))
+    warnings.push(`catalog shortcode '${s}' no longer exists`);
 }
 
 for (const w of warnings) console.warn(`warning: ${w}`);
 if (errors.length > 0) {
-	console.error("\nCoverage gate failed:");
-	for (const e of errors) console.error(`  - ${e}`);
-	console.error(
-		"\nAdd the feature and at least one test reference to tests/catalog.yaml.",
-	);
-	process.exit(1);
+  console.error("\nCoverage gate failed:");
+  for (const e of errors) console.error(`  - ${e}`);
+  console.error(
+    "\nAdd the feature and at least one test reference to tests/catalog.yaml.",
+  );
+  process.exit(1);
 }
 console.log(
-	`Coverage gate passed: ${params.size} ananke param(s), ${shortcodes.size} shortcode(s) all have tests.`,
+  `Coverage gate passed: ${params.size} ananke param(s), ${shortcodes.size} shortcode(s) all have tests.`,
 );
diff --git a/tests/e2e/accessibility.spec.ts b/tests/e2e/accessibility.spec.ts
index ac1213d..080c440 100644
--- a/tests/e2e/accessibility.spec.ts
+++ b/tests/e2e/accessibility.spec.ts
@@ -9,13 +9,13 @@
  * accessibility sub-issue under the testing epic).
  */
 const PAGES: Record<string, string> = {
-	homepage: "/",
-	"section list": "/posts/",
-	"single page": "/posts/hello/",
-	"standalone page": "/about/",
-	"taxonomy terms": "/tags/",
-	"taxonomy term": "/tags/alpha/",
-	"404": "/404.html",
+  homepage: "/",
+  "section list": "/posts/",
+  "single page": "/posts/hello/",
+  "standalone page": "/about/",
+  "taxonomy terms": "/tags/",
+  "taxonomy term": "/tags/alpha/",
+  "404": "/404.html",
 };
 
 const TAGS = ["wcag2a", "wcag2aa", "wcag21a", "wcag21aa", "wcag22aa"];
@@ -27,21 +27,21 @@
  * start passing and Playwright will flag the stale annotation for removal.
  */
 const KNOWN_FAILURES = new Set([
-	"section list",
-	"single page",
-	"taxonomy terms",
-	"taxonomy term",
+  "section list",
+  "single page",
+  "taxonomy terms",
+  "taxonomy term",
 ]);
 
 for (const [name, path] of Object.entries(PAGES)) {
-	test(`${name} has no automatically detectable a11y violations`, async ({
-		page,
-	}) => {
-		if (KNOWN_FAILURES.has(name)) {
-			test.fail(true, "Known WCAG AA contrast issue, tracked in #1015");
-		}
-		await page.goto(path);
-		const results = await new AxeBuilder({ page }).withTags(TAGS).analyze();
-		expect(results.violations).toEqual([]);
-	});
+  test(`${name} has no automatically detectable a11y violations`, async ({
+    page,
+  }) => {
+    if (KNOWN_FAILURES.has(name)) {
+      test.fail(true, "Known WCAG AA contrast issue, tracked in #1015");
+    }
+    await page.goto(path);
+    const results = await new AxeBuilder({ page }).withTags(TAGS).analyze();
+    expect(results.violations).toEqual([]);
+  });
 }
diff --git a/tests/e2e/copy-button.spec.ts b/tests/e2e/copy-button.spec.ts
index e1f2876..e3974d8 100644
--- a/tests/e2e/copy-button.spec.ts
+++ b/tests/e2e/copy-button.spec.ts
@@ -3,49 +3,49 @@
 const POST = "/posts/hello/";
 
 test.describe("copy-to-clipboard code button (#986)", () => {
-	test("wraps fenced code blocks but not inline code", async ({ page }) => {
-		await page.goto(POST);
-		// Exactly one fenced block on this page → one .code-block wrapper.
-		await expect(page.locator(".code-block")).toHaveCount(1);
-		// Inline `code` lives outside a .code-block wrapper.
-		await expect(page.locator(".code-block code")).toHaveCount(1);
-	});
+  test("wraps fenced code blocks but not inline code", async ({ page }) => {
+    await page.goto(POST);
+    // Exactly one fenced block on this page → one .code-block wrapper.
+    await expect(page.locator(".code-block")).toHaveCount(1);
+    // Inline `code` lives outside a .code-block wrapper.
+    await expect(page.locator(".code-block code")).toHaveCount(1);
+  });
 
-	test("reveals the button when JavaScript runs", async ({ page }) => {
-		await page.goto(POST);
-		const button = page.locator(".code-block .code-copy");
-		await expect(button).toBeVisible();
-		await expect(button).toHaveAttribute("aria-label", /copy/i);
-	});
+  test("reveals the button when JavaScript runs", async ({ page }) => {
+    await page.goto(POST);
+    const button = page.locator(".code-block .code-copy");
+    await expect(button).toBeVisible();
+    await expect(button).toHaveAttribute("aria-label", /copy/i);
+  });
 
-	test("copies the code and shows feedback", async ({ page, context }) => {
-		await context.grantPermissions(["clipboard-read", "clipboard-write"]);
-		await page.goto(POST);
+  test("copies the code and shows feedback", async ({ page, context }) => {
+    await context.grantPermissions(["clipboard-read", "clipboard-write"]);
+    await page.goto(POST);
 
-		const button = page.locator(".code-block .code-copy");
-		await button.click();
+    const button = page.locator(".code-block .code-copy");
+    await button.click();
 
-		// Feedback state.
-		await expect(button).toHaveClass(/is-copied/);
-		await expect(button.locator(".code-copy-label")).toHaveText("Copied");
+    // Feedback state.
+    await expect(button).toHaveClass(/is-copied/);
+    await expect(button.locator(".code-copy-label")).toHaveText("Copied");
 
-		// The clipboard actually holds the code (localhost is a secure context).
-		const clipboard = await page.evaluate(() => navigator.clipboard.readText());
-		expect(clipboard).toContain("copy_code = true");
-	});
+    // The clipboard actually holds the code (localhost is a secure context).
+    const clipboard = await page.evaluate(() => navigator.clipboard.readText());
+    expect(clipboard).toContain("copy_code = true");
+  });
 });
 
 test.describe("without JavaScript (progressive enhancement)", () => {
-	test.use({ javaScriptEnabled: false });
+  test.use({ javaScriptEnabled: false });
 
-	test("shows no copy button but keeps the code", async ({ page }) => {
-		await page.goto(POST);
-		// The button is rendered with the `hidden` attribute and never revealed,
-		// so it is not visible to the user.
-		await expect(page.locator(".code-block .code-copy")).toBeHidden();
-		// The code itself is still present and selectable.
-		await expect(page.locator(".code-block pre")).toContainText(
-			"copy_code = true",
-		);
-	});
+  test("shows no copy button but keeps the code", async ({ page }) => {
+    await page.goto(POST);
+    // The button is rendered with the `hidden` attribute and never revealed,
+    // so it is not visible to the user.
+    await expect(page.locator(".code-block .code-copy")).toBeHidden();
+    // The code itself is still present and selectable.
+    await expect(page.locator(".code-block pre")).toContainText(
+      "copy_code = true",
+    );
+  });
 });
diff --git a/tests/support/dev-server.mjs b/tests/support/dev-server.mjs
index d70632d..5168176 100644
--- a/tests/support/dev-server.mjs
+++ b/tests/support/dev-server.mjs
@@ -14,49 +14,49 @@
 const PORT = Number(process.env.ANANKE_TEST_PORT || 4321);
 
 const TYPES = {
-	".html": "text/html; charset=utf-8",
-	".css": "text/css; charset=utf-8",
-	".js": "text/javascript; charset=utf-8",
-	".json": "application/json; charset=utf-8",
-	".svg": "image/svg+xml",
-	".xml": "application/xml; charset=utf-8",
-	".txt": "text/plain; charset=utf-8",
-	".woff2": "font/woff2",
+  ".html": "text/html; charset=utf-8",
+  ".css": "text/css; charset=utf-8",
+  ".js": "text/javascript; charset=utf-8",
+  ".json": "application/json; charset=utf-8",
+  ".svg": "image/svg+xml",
+  ".xml": "application/xml; charset=utf-8",
+  ".txt": "text/plain; charset=utf-8",
+  ".woff2": "font/woff2",
 };
 
 const root = buildFixtureSite();
 
 function resolvePath(urlPath) {
-	const clean = normalize(decodeURIComponent(urlPath.split("?")[0])).replace(
-		/^(\.\.[/\\])+/,
-		"",
-	);
-	let filePath = join(root, clean);
-	if (existsSync(filePath) && statSync(filePath).isDirectory()) {
-		filePath = join(filePath, "index.html");
-	}
-	return filePath;
+  const clean = normalize(decodeURIComponent(urlPath.split("?")[0])).replace(
+    /^(\.\.[/\\])+/,
+    "",
+  );
+  let filePath = join(root, clean);
+  if (existsSync(filePath) && statSync(filePath).isDirectory()) {
+    filePath = join(filePath, "index.html");
+  }
+  return filePath;
 }
 
 const server = createServer((req, res) => {
-	let filePath = resolvePath(req.url || "/");
-	if (!existsSync(filePath)) {
-		// Serve Hugo's generated 404 page so /404.html and unknown routes work.
-		filePath = join(root, "404.html");
-		if (!existsSync(filePath)) {
-			res.statusCode = 404;
-			res.end("Not found");
-			return;
-		}
-		res.statusCode = req.url === "/404.html" ? 200 : 404;
-	}
-	res.setHeader(
-		"Content-Type",
-		TYPES[extname(filePath)] || "application/octet-stream",
-	);
-	createReadStream(filePath).pipe(res);
+  let filePath = resolvePath(req.url || "/");
+  if (!existsSync(filePath)) {
+    // Serve Hugo's generated 404 page so /404.html and unknown routes work.
+    filePath = join(root, "404.html");
+    if (!existsSync(filePath)) {
+      res.statusCode = 404;
+      res.end("Not found");
+      return;
+    }
+    res.statusCode = req.url === "/404.html" ? 200 : 404;
+  }
+  res.setHeader(
+    "Content-Type",
+    TYPES[extname(filePath)] || "application/octet-stream",
+  );
+  createReadStream(filePath).pipe(res);
 });
 
 server.listen(PORT, () => {
-	console.log(`Fixture site served at http://localhost:${PORT}/`);
+  console.log(`Fixture site served at http://localhost:${PORT}/`);
 });
diff --git a/tests/support/prepare-site.mjs b/tests/support/prepare-site.mjs
index 35606f3..108c925 100644
--- a/tests/support/prepare-site.mjs
+++ b/tests/support/prepare-site.mjs
@@ -20,36 +20,36 @@
 const publicDir = join(siteDir, "public");
 
 export function buildFixtureSite() {
-	const themesDir = mkdtempSync(join(tmpdir(), "ananke-test-themes-"));
-	try {
-		symlinkSync(repoRoot, join(themesDir, "ananke"), "dir");
-		rmSync(publicDir, { recursive: true, force: true });
-		const result = spawnSync(
-			"hugo",
-			[
-				"--source",
-				siteDir,
-				"--themesDir",
-				themesDir,
-				"--destination",
-				publicDir,
-				"--environment",
-				"production",
-				"--logLevel",
-				"warn",
-			],
-			{ stdio: "inherit" },
-		);
-		if (result.status !== 0) {
-			throw new Error(`hugo build failed with code ${result.status}`);
-		}
-	} finally {
-		rmSync(themesDir, { recursive: true, force: true });
-	}
-	return publicDir;
+  const themesDir = mkdtempSync(join(tmpdir(), "ananke-test-themes-"));
+  try {
+    symlinkSync(repoRoot, join(themesDir, "ananke"), "dir");
+    rmSync(publicDir, { recursive: true, force: true });
+    const result = spawnSync(
+      "hugo",
+      [
+        "--source",
+        siteDir,
+        "--themesDir",
+        themesDir,
+        "--destination",
+        publicDir,
+        "--environment",
+        "production",
+        "--logLevel",
+        "warn",
+      ],
+      { stdio: "inherit" },
+    );
+    if (result.status !== 0) {
+      throw new Error(`hugo build failed with code ${result.status}`);
+    }
+  } finally {
+    rmSync(themesDir, { recursive: true, force: true });
+  }
+  return publicDir;
 }
 
 // Allow running directly: `node tests/support/prepare-site.mjs`
 if (import.meta.url === `file://${process.argv[1]}`) {
-	buildFixtureSite();
+  buildFixtureSite();
 }
diff --git a/tsconfig.json b/tsconfig.json
index fc051bb..bfe76bb 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,29 +1,11 @@
 {
-    "compilerOptions": {
-        "module": "nodenext",
-        "target": "esnext",
-        "types": [
-            "node"
-        ],
-        "sourceMap": true,
-        "declaration": true,
-        "declarationMap": true,
-        "noUncheckedIndexedAccess": true,
-        "exactOptionalPropertyTypes": true,
-        "strict": true,
-        "jsx": "react-jsx",
-        "verbatimModuleSyntax": true,
-        "isolatedModules": true,
-        "noUncheckedSideEffectImports": true,
-        "moduleDetection": "force",
-        "skipLibCheck": true,
-        "noImplicitOverride": true,
-        "noPropertyAccessFromIndexSignature": true,
-        "useUnknownInCatchVariables": true,
-        "noFallthroughCasesInSwitch": true,
-    },
-    "include": [
-        "**/*.ts",
-        "scripts/**/*"
-    ]
-}
\ No newline at end of file
+  "extends": "@dnbhq/tsconfig/cli",
+  "compilerOptions": {
+    "lib": ["ES2022", "DOM", "DOM.Iterable"],
+    "sourceMap": true,
+    "declaration": true,
+    "declarationMap": true,
+    "jsx": "react-jsx"
+  },
+  "include": ["**/*.ts", "scripts/**/*"]
+}

--
Gitblit v1.10.0