commit cdf833d61b8195ff1d7e72fbca831ee698c652d1 Author: ed_it Date: Mon Apr 20 04:52:47 2026 +0000 initial: Astro port of ViralMVP with favicon + SEO redirects diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..98f8a5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +dist/ +.astro/ +.wrangler/ +*.log +.DS_Store diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..3c85599 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,11 @@ +import { defineConfig } from 'astro/config'; +import sitemap from '@astrojs/sitemap'; + +export default defineConfig({ + site: 'https://viralmvp.com', + trailingSlash: 'always', + build: { + format: 'directory', + }, + integrations: [sitemap()], +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e160873 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5740 @@ +{ + "name": "viralmvp-static", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "viralmvp-static", + "version": "1.0.0", + "dependencies": { + "@astrojs/rss": "^4.0.0", + "@astrojs/sitemap": "^3.2.0", + "astro": "^5.0.0", + "gray-matter": "^4.0.3", + "marked": "^11.1.1" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", + "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", + "license": "MIT" + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.11", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", + "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/rss": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@astrojs/rss/-/rss-4.0.18.tgz", + "integrity": "sha512-wc5DwKlbTEdgVAWnHy8krFTeQ42t1v/DJqeq5HtulYK3FYHE4krtRGjoyhS3eXXgfdV6Raoz2RU3wrMTFAitRg==", + "license": "MIT", + "dependencies": { + "fast-xml-parser": "^5.5.7", + "piccolore": "^0.1.3", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.2.tgz", + "integrity": "sha512-PqkzkcZTb5ICiyIR8VoKbIAP/laNRXi5tw616N1Ckk+40oNB8Can1AzVV56lrbC5GKSZFCyJYUVYqVivMisvpA==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", + "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@nodable/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/nodable" + } + ], + "license": "MIT" + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", + "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/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==", + "license": "MIT" + }, + "node_modules/ansi-align/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==", + "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/ansi-align/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/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==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "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==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astro": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.1.tgz", + "integrity": "sha512-m4VWilWZ+Xt6NPoYzC4CgGZim/zQUO7WFL0RHCH0AiEavF1153iC3+me2atDvXpf/yX4PyGUeD8wZLq1cirT3g==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/markdown-remark": "6.3.11", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^4.0.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.1.1", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.6.2", + "diff": "^8.0.3", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.27.3", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.0", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.3", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.1", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro/node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/astro/node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "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==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "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==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "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==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "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==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.7.1.tgz", + "integrity": "sha512-MUbZ586EgQqdRnC4yDrlod3BEdyvE4TapGYHMW2CiaW+KkkFmWEFqBUaLltEZCGi0iFXCEjRF0OjF0DV2QHjOA==", + "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==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-xml-builder": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.5.tgz", + "integrity": "sha512-4TJn/8FKLeslLAH3dnohXqE3QSoxkhvaMzepOIZytwJXZO69Bfz0HBdDHzOTOon6G59Zrk6VQ2bEiv1t61rfkA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "path-expression-matcher": "^1.1.3" + } + }, + "node_modules/fast-xml-parser": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.1.tgz", + "integrity": "sha512-8Cc3f8GUGUULg34pBch/KGyPLglS+OFs05deyOlY7fL2MTagYPKrVQNmR1fLF/yJ9PH5ZSTd3YDF6pnmeZU+zA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "@nodable/entities": "^2.1.0", + "fast-xml-builder": "^1.1.5", + "path-expression-matcher": "^1.5.0", + "strnum": "^2.2.3" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "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==", + "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-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "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-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "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==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", + "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-11.2.0.tgz", + "integrity": "sha512-HR0m3bvu0jAPYiIvLUUQtdg1g6D247//lvcekpHO1WMvbwDlwSkZAX9Lw4F4YHE1T0HaaNve0tuAWuV1UJ6vtw==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "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==", + "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-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.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==", + "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==", + "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-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^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==", + "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-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "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-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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "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", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-expression-matcher": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz", + "integrity": "sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz", + "integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rollup": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/engine-javascript": "3.23.0", + "@shikijs/engine-oniguruma": "3.23.0", + "@shikijs/langs": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", + "license": "MIT", + "dependencies": { + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/esm/cli.js" + }, + "engines": { + "node": ">=20.19.5", + "npm": ">=10.8.2" + } + }, + "node_modules/smol-toml": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strnum": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.3.tgz", + "integrity": "sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "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/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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==", + "license": "0BSD", + "optional": true + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz", + "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "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==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..32f7c3f --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "viralmvp-static", + "type": "module", + "version": "1.0.0", + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview" + }, + "dependencies": { + "astro": "^5.0.0", + "@astrojs/rss": "^4.0.0", + "@astrojs/sitemap": "^3.2.0", + "gray-matter": "^4.0.3", + "marked": "^11.1.1" + } +} diff --git a/public/_redirects b/public/_redirects new file mode 100644 index 0000000..47c81ad --- /dev/null +++ b/public/_redirects @@ -0,0 +1 @@ +/sitemap.xml /sitemap-index.xml 301 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000..b8de6d2 Binary files /dev/null and b/public/favicon-32x32.png differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..7b844d3 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..c556be4 Binary files /dev/null and b/public/favicon.png differ diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..076ab96 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + V + diff --git a/public/images/2025/07/00020-3191911168.jpg b/public/images/2025/07/00020-3191911168.jpg new file mode 100644 index 0000000..24a0b72 Binary files /dev/null and b/public/images/2025/07/00020-3191911168.jpg differ diff --git a/public/images/2025/07/00020-3191911168_o.jpg b/public/images/2025/07/00020-3191911168_o.jpg new file mode 100644 index 0000000..73c3ebc Binary files /dev/null and b/public/images/2025/07/00020-3191911168_o.jpg differ diff --git a/public/images/2025/07/00021-3191911169.jpg b/public/images/2025/07/00021-3191911169.jpg new file mode 100644 index 0000000..4ac4220 Binary files /dev/null and b/public/images/2025/07/00021-3191911169.jpg differ diff --git a/public/images/2025/07/00021-3191911169_o.jpg b/public/images/2025/07/00021-3191911169_o.jpg new file mode 100644 index 0000000..c761984 Binary files /dev/null and b/public/images/2025/07/00021-3191911169_o.jpg differ diff --git a/public/images/2025/07/viral.png b/public/images/2025/07/viral.png new file mode 100644 index 0000000..43d1dd2 Binary files /dev/null and b/public/images/2025/07/viral.png differ diff --git a/public/images/2025/07/viral_o.png b/public/images/2025/07/viral_o.png new file mode 100644 index 0000000..29751e8 Binary files /dev/null and b/public/images/2025/07/viral_o.png differ diff --git a/public/images/2025/08/Charli-Damelio-3.webp b/public/images/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..63d5c99 Binary files /dev/null and b/public/images/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/2025/08/Charli-Damelio-3_o.webp b/public/images/2025/08/Charli-Damelio-3_o.webp new file mode 100644 index 0000000..35e1051 Binary files /dev/null and b/public/images/2025/08/Charli-Damelio-3_o.webp differ diff --git a/public/images/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp b/public/images/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp new file mode 100644 index 0000000..aeccacc Binary files /dev/null and b/public/images/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp differ diff --git a/public/images/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM_o.webp b/public/images/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM_o.webp new file mode 100644 index 0000000..aeccacc Binary files /dev/null and b/public/images/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM_o.webp differ diff --git a/public/images/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..84617f2 Binary files /dev/null and b/public/images/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3_o.webp b/public/images/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3_o.webp new file mode 100644 index 0000000..84617f2 Binary files /dev/null and b/public/images/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3_o.webp differ diff --git a/public/images/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..19c8f47 Binary files /dev/null and b/public/images/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/2025/08/Gemini_Generated_Image_9unbun9unbun9unb_o.webp b/public/images/2025/08/Gemini_Generated_Image_9unbun9unbun9unb_o.webp new file mode 100644 index 0000000..19c8f47 Binary files /dev/null and b/public/images/2025/08/Gemini_Generated_Image_9unbun9unbun9unb_o.webp differ diff --git a/public/images/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..b3b7ec3 Binary files /dev/null and b/public/images/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/2025/08/Gemini_Generated_Image_ssetowssetowsset_o.webp b/public/images/2025/08/Gemini_Generated_Image_ssetowssetowsset_o.webp new file mode 100644 index 0000000..30e5304 Binary files /dev/null and b/public/images/2025/08/Gemini_Generated_Image_ssetowssetowsset_o.webp differ diff --git a/public/images/2025/08/MrBeast_Lab_logo.jpg b/public/images/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..ae11d3e Binary files /dev/null and b/public/images/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/2025/08/MrBeast_Lab_logo_o.jpg b/public/images/2025/08/MrBeast_Lab_logo_o.jpg new file mode 100644 index 0000000..ef33d39 Binary files /dev/null and b/public/images/2025/08/MrBeast_Lab_logo_o.jpg differ diff --git a/public/images/2025/08/Screenshot-2025-08-09-055810.png b/public/images/2025/08/Screenshot-2025-08-09-055810.png new file mode 100644 index 0000000..ca20723 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-09-055810.png differ diff --git a/public/images/2025/08/Screenshot-2025-08-09-055810.webp b/public/images/2025/08/Screenshot-2025-08-09-055810.webp new file mode 100644 index 0000000..cc2b8ca Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-09-055810.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-09-055810_o.png b/public/images/2025/08/Screenshot-2025-08-09-055810_o.png new file mode 100644 index 0000000..ca20723 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-09-055810_o.png differ diff --git a/public/images/2025/08/Screenshot-2025-08-09-055810_o.webp b/public/images/2025/08/Screenshot-2025-08-09-055810_o.webp new file mode 100644 index 0000000..cc2b8ca Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-09-055810_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-09-060049.webp b/public/images/2025/08/Screenshot-2025-08-09-060049.webp new file mode 100644 index 0000000..7da306c Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-09-060049.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-09-060049_o.webp b/public/images/2025/08/Screenshot-2025-08-09-060049_o.webp new file mode 100644 index 0000000..7da306c Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-09-060049_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..10d23b0 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-17-152729_o.webp b/public/images/2025/08/Screenshot-2025-08-17-152729_o.webp new file mode 100644 index 0000000..10d23b0 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-17-152729_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171011-1.webp b/public/images/2025/08/Screenshot-2025-08-20-171011-1.webp new file mode 100644 index 0000000..ec55c38 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171011-1.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171011-1_o.webp b/public/images/2025/08/Screenshot-2025-08-20-171011-1_o.webp new file mode 100644 index 0000000..ec55c38 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171011-1_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..ec55c38 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171011_o.webp b/public/images/2025/08/Screenshot-2025-08-20-171011_o.webp new file mode 100644 index 0000000..ec55c38 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171011_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..e869e99 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171155_o.webp b/public/images/2025/08/Screenshot-2025-08-20-171155_o.webp new file mode 100644 index 0000000..e869e99 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171155_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171329-1.webp b/public/images/2025/08/Screenshot-2025-08-20-171329-1.webp new file mode 100644 index 0000000..0cedce0 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171329-1.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171329-1_o.webp b/public/images/2025/08/Screenshot-2025-08-20-171329-1_o.webp new file mode 100644 index 0000000..0cedce0 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171329-1_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..0cedce0 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-20-171329_o.webp b/public/images/2025/08/Screenshot-2025-08-20-171329_o.webp new file mode 100644 index 0000000..0cedce0 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-20-171329_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-21-171358-1.webp b/public/images/2025/08/Screenshot-2025-08-21-171358-1.webp new file mode 100644 index 0000000..0439812 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-21-171358-1.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-21-171358-1_o.webp b/public/images/2025/08/Screenshot-2025-08-21-171358-1_o.webp new file mode 100644 index 0000000..0439812 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-21-171358-1_o.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..0439812 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/2025/08/Screenshot-2025-08-21-171358_o.webp b/public/images/2025/08/Screenshot-2025-08-21-171358_o.webp new file mode 100644 index 0000000..0439812 Binary files /dev/null and b/public/images/2025/08/Screenshot-2025-08-21-171358_o.webp differ diff --git a/public/images/2025/08/image.png b/public/images/2025/08/image.png new file mode 100644 index 0000000..87cc679 Binary files /dev/null and b/public/images/2025/08/image.png differ diff --git a/public/images/2025/08/image_o.png b/public/images/2025/08/image_o.png new file mode 100644 index 0000000..87cc679 Binary files /dev/null and b/public/images/2025/08/image_o.png differ diff --git a/public/images/2025/08/imrs.webp b/public/images/2025/08/imrs.webp new file mode 100644 index 0000000..c8040ae Binary files /dev/null and b/public/images/2025/08/imrs.webp differ diff --git a/public/images/2025/08/imrs_o.webp b/public/images/2025/08/imrs_o.webp new file mode 100644 index 0000000..c8040ae Binary files /dev/null and b/public/images/2025/08/imrs_o.webp differ diff --git a/public/images/2025/08/the-fantastic-four-first-steps-early-social-media-reactions-are-here-see-what-critics-are-saying.webp b/public/images/2025/08/the-fantastic-four-first-steps-early-social-media-reactions-are-here-see-what-critics-are-saying.webp new file mode 100644 index 0000000..17c73e7 Binary files /dev/null and b/public/images/2025/08/the-fantastic-four-first-steps-early-social-media-reactions-are-here-see-what-critics-are-saying.webp differ diff --git a/public/images/2025/08/the-fantastic-four-first-steps-early-social-media-reactions-are-here-see-what-critics-are-saying_o.webp b/public/images/2025/08/the-fantastic-four-first-steps-early-social-media-reactions-are-here-see-what-critics-are-saying_o.webp new file mode 100644 index 0000000..17c73e7 Binary files /dev/null and b/public/images/2025/08/the-fantastic-four-first-steps-early-social-media-reactions-are-here-see-what-critics-are-saying_o.webp differ diff --git a/public/images/size/w1200/2025/07/00020-3191911168.jpg b/public/images/size/w1200/2025/07/00020-3191911168.jpg new file mode 100644 index 0000000..c09c8ac Binary files /dev/null and b/public/images/size/w1200/2025/07/00020-3191911168.jpg differ diff --git a/public/images/size/w1200/2025/08/Charli-Damelio-3.webp b/public/images/size/w1200/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..63d5c99 Binary files /dev/null and b/public/images/size/w1200/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w1200/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp b/public/images/size/w1200/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp new file mode 100644 index 0000000..aeccacc Binary files /dev/null and b/public/images/size/w1200/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp differ diff --git a/public/images/size/w1200/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w1200/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..a6679c5 Binary files /dev/null and b/public/images/size/w1200/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w1200/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w1200/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..9022ace Binary files /dev/null and b/public/images/size/w1200/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w1200/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w1200/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..f2eb0ce Binary files /dev/null and b/public/images/size/w1200/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w1200/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w1200/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..ae11d3e Binary files /dev/null and b/public/images/size/w1200/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w1200/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w1200/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..10d23b0 Binary files /dev/null and b/public/images/size/w1200/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..ec55c38 Binary files /dev/null and b/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..e869e99 Binary files /dev/null and b/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171329-1.webp b/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171329-1.webp new file mode 100644 index 0000000..0cedce0 Binary files /dev/null and b/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171329-1.webp differ diff --git a/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..0cedce0 Binary files /dev/null and b/public/images/size/w1200/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w1200/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w1200/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..0439812 Binary files /dev/null and b/public/images/size/w1200/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w1200/2025/08/imrs.webp b/public/images/size/w1200/2025/08/imrs.webp new file mode 100644 index 0000000..c8040ae Binary files /dev/null and b/public/images/size/w1200/2025/08/imrs.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/Charli-Damelio-3.webp b/public/images/size/w1200/format/webp/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..63d5c99 Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..a6679c5 Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..9022ace Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..f2eb0ce Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w1200/format/webp/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..230f453 Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..0255637 Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..396a08a Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..f2de8e2 Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..68b1c3c Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..b31e60a Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w1200/format/webp/2025/08/imrs.webp b/public/images/size/w1200/format/webp/2025/08/imrs.webp new file mode 100644 index 0000000..d1db489 Binary files /dev/null and b/public/images/size/w1200/format/webp/2025/08/imrs.webp differ diff --git a/public/images/size/w160/2025/08/Screenshot-2025-08-20-171011-1.webp b/public/images/size/w160/2025/08/Screenshot-2025-08-20-171011-1.webp new file mode 100644 index 0000000..2114432 Binary files /dev/null and b/public/images/size/w160/2025/08/Screenshot-2025-08-20-171011-1.webp differ diff --git a/public/images/size/w160/2025/08/Screenshot-2025-08-21-171358-1.webp b/public/images/size/w160/2025/08/Screenshot-2025-08-21-171358-1.webp new file mode 100644 index 0000000..c931cf4 Binary files /dev/null and b/public/images/size/w160/2025/08/Screenshot-2025-08-21-171358-1.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/Charli-Damelio-3.webp b/public/images/size/w160/format/webp/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..729c2eb Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..1cdaf81 Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..27fef4a Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..080babd Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w160/format/webp/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..e435387 Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..dd31148 Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..2114432 Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..47d3d91 Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..403821d Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..c931cf4 Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w160/format/webp/2025/08/imrs.webp b/public/images/size/w160/format/webp/2025/08/imrs.webp new file mode 100644 index 0000000..764817e Binary files /dev/null and b/public/images/size/w160/format/webp/2025/08/imrs.webp differ diff --git a/public/images/size/w2000/2025/08/Charli-Damelio-3.webp b/public/images/size/w2000/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..63d5c99 Binary files /dev/null and b/public/images/size/w2000/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w2000/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp b/public/images/size/w2000/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp new file mode 100644 index 0000000..aeccacc Binary files /dev/null and b/public/images/size/w2000/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp differ diff --git a/public/images/size/w2000/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w2000/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..84617f2 Binary files /dev/null and b/public/images/size/w2000/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w2000/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w2000/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..19c8f47 Binary files /dev/null and b/public/images/size/w2000/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w2000/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w2000/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..b3b7ec3 Binary files /dev/null and b/public/images/size/w2000/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w2000/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w2000/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..ae11d3e Binary files /dev/null and b/public/images/size/w2000/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w2000/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w2000/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..10d23b0 Binary files /dev/null and b/public/images/size/w2000/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..ec55c38 Binary files /dev/null and b/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..e869e99 Binary files /dev/null and b/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..0cedce0 Binary files /dev/null and b/public/images/size/w2000/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w2000/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w2000/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..0439812 Binary files /dev/null and b/public/images/size/w2000/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w2000/2025/08/imrs.webp b/public/images/size/w2000/2025/08/imrs.webp new file mode 100644 index 0000000..c8040ae Binary files /dev/null and b/public/images/size/w2000/2025/08/imrs.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/Charli-Damelio-3.webp b/public/images/size/w2000/format/webp/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..63d5c99 Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..3c13a3d Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..32bec8e Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..b3b7ec3 Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w2000/format/webp/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..230f453 Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..0255637 Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..f7b2f43 Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..7ba6eab Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..bf411dd Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..b31e60a Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w2000/format/webp/2025/08/imrs.webp b/public/images/size/w2000/format/webp/2025/08/imrs.webp new file mode 100644 index 0000000..d1db489 Binary files /dev/null and b/public/images/size/w2000/format/webp/2025/08/imrs.webp differ diff --git a/public/images/size/w256h256/2025/07/viral.png b/public/images/size/w256h256/2025/07/viral.png new file mode 100644 index 0000000..43d1dd2 Binary files /dev/null and b/public/images/size/w256h256/2025/07/viral.png differ diff --git a/public/images/size/w320/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp b/public/images/size/w320/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp new file mode 100644 index 0000000..b08bff7 Binary files /dev/null and b/public/images/size/w320/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp differ diff --git a/public/images/size/w320/2025/08/Screenshot-2025-08-21-171358-1.webp b/public/images/size/w320/2025/08/Screenshot-2025-08-21-171358-1.webp new file mode 100644 index 0000000..ef30ec7 Binary files /dev/null and b/public/images/size/w320/2025/08/Screenshot-2025-08-21-171358-1.webp differ diff --git a/public/images/size/w320/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w320/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..ef30ec7 Binary files /dev/null and b/public/images/size/w320/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/Charli-Damelio-3.webp b/public/images/size/w320/format/webp/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..36214a5 Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..8c93e64 Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..7498b5d Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..095237a Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w320/format/webp/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..230f453 Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..d28021c Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..b8a0fa1 Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..87954c0 Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..be415c9 Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..ef30ec7 Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w320/format/webp/2025/08/imrs.webp b/public/images/size/w320/format/webp/2025/08/imrs.webp new file mode 100644 index 0000000..63bf866 Binary files /dev/null and b/public/images/size/w320/format/webp/2025/08/imrs.webp differ diff --git a/public/images/size/w600/2025/08/Charli-Damelio-3.webp b/public/images/size/w600/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..af4eecb Binary files /dev/null and b/public/images/size/w600/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w600/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp b/public/images/size/w600/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp new file mode 100644 index 0000000..e97679a Binary files /dev/null and b/public/images/size/w600/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp differ diff --git a/public/images/size/w600/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w600/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..4e45d48 Binary files /dev/null and b/public/images/size/w600/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w600/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w600/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..c8e215f Binary files /dev/null and b/public/images/size/w600/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w600/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w600/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..48c2d1c Binary files /dev/null and b/public/images/size/w600/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w600/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w600/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..ae11d3e Binary files /dev/null and b/public/images/size/w600/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w600/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w600/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..10d23b0 Binary files /dev/null and b/public/images/size/w600/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w600/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w600/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..c2ae86e Binary files /dev/null and b/public/images/size/w600/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w600/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w600/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..790e2ae Binary files /dev/null and b/public/images/size/w600/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w600/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w600/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..d11a873 Binary files /dev/null and b/public/images/size/w600/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w600/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w600/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..0439812 Binary files /dev/null and b/public/images/size/w600/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w600/2025/08/imrs.webp b/public/images/size/w600/2025/08/imrs.webp new file mode 100644 index 0000000..c8040ae Binary files /dev/null and b/public/images/size/w600/2025/08/imrs.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/Charli-Damelio-3.webp b/public/images/size/w600/format/webp/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..af4eecb Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..4e45d48 Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..c8e215f Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..48c2d1c Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w600/format/webp/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..230f453 Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..0255637 Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..c2ae86e Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..790e2ae Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..d11a873 Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..ee158fd Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w600/format/webp/2025/08/imrs.webp b/public/images/size/w600/format/webp/2025/08/imrs.webp new file mode 100644 index 0000000..d1db489 Binary files /dev/null and b/public/images/size/w600/format/webp/2025/08/imrs.webp differ diff --git a/public/images/size/w960/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp b/public/images/size/w960/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp new file mode 100644 index 0000000..52ae146 Binary files /dev/null and b/public/images/size/w960/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp differ diff --git a/public/images/size/w960/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w960/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..10d23b0 Binary files /dev/null and b/public/images/size/w960/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w960/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w960/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..ec55c38 Binary files /dev/null and b/public/images/size/w960/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w960/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w960/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..0cedce0 Binary files /dev/null and b/public/images/size/w960/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w960/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w960/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..0439812 Binary files /dev/null and b/public/images/size/w960/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/Charli-Damelio-3.webp b/public/images/size/w960/format/webp/2025/08/Charli-Damelio-3.webp new file mode 100644 index 0000000..63d5c99 Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Charli-Damelio-3.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp b/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp new file mode 100644 index 0000000..1779934 Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp b/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp new file mode 100644 index 0000000..19268b7 Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp b/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp new file mode 100644 index 0000000..888006b Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/MrBeast_Lab_logo.jpg b/public/images/size/w960/format/webp/2025/08/MrBeast_Lab_logo.jpg new file mode 100644 index 0000000..230f453 Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/MrBeast_Lab_logo.jpg differ diff --git a/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-17-152729.webp b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-17-152729.webp new file mode 100644 index 0000000..0255637 Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-17-152729.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171011.webp b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171011.webp new file mode 100644 index 0000000..31d4dbe Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171011.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171155.webp b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171155.webp new file mode 100644 index 0000000..ca5681c Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171155.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171329.webp b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171329.webp new file mode 100644 index 0000000..5090dd9 Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-20-171329.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-21-171358.webp b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-21-171358.webp new file mode 100644 index 0000000..b31e60a Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/Screenshot-2025-08-21-171358.webp differ diff --git a/public/images/size/w960/format/webp/2025/08/imrs.webp b/public/images/size/w960/format/webp/2025/08/imrs.webp new file mode 100644 index 0000000..d1db489 Binary files /dev/null and b/public/images/size/w960/format/webp/2025/08/imrs.webp differ diff --git a/src/components/Pagination.astro b/src/components/Pagination.astro new file mode 100644 index 0000000..f694baa --- /dev/null +++ b/src/components/Pagination.astro @@ -0,0 +1,20 @@ +--- +const { page, basePath = '/' } = Astro.props; +const hasPrev = page.url.prev; +const hasNext = page.url.next; +--- +{page.lastPage > 1 && ( + +)} diff --git a/src/components/PostList.astro b/src/components/PostList.astro new file mode 100644 index 0000000..63431ff --- /dev/null +++ b/src/components/PostList.astro @@ -0,0 +1,23 @@ +--- +const { posts, tag } = Astro.props; +--- +{tag &&

Tagged: {tag}

} + +{posts.map((post) => ( +
+

+ {post.title} +

+ +

{post.rawExcerpt}

+
+))} + +{posts.length === 0 && ( +

No posts yet.

+)} diff --git a/src/content/pages/about.md b/src/content/pages/about.md new file mode 100644 index 0000000..eed2769 --- /dev/null +++ b/src/content/pages/about.md @@ -0,0 +1,12 @@ +--- +titleBase64: QWJvdXQgVmlyYWxNVlA= +slug: about +--- + +At **ViralMVP**, we live at the center of internet culture. From rising influencers and trending creators to the viral memes everyone’s sharing, we keep track of everything shaping the online world. + +Our mission is simple: to spotlight the people, moments, and trends that define the internet every day. Whether it’s a breakout TikTok star, a viral Twitter thread, or the next big meme, we’re here to capture it, track it, and share it with you. + +We’re not just following trends—we’re documenting digital history as it unfolds. If it’s viral, it’s here. + +**ViralMVP: Where the internet’s MVPs go viral.** \ No newline at end of file diff --git a/src/content/posts/about.md b/src/content/posts/about.md new file mode 100644 index 0000000..d7f05c6 --- /dev/null +++ b/src/content/posts/about.md @@ -0,0 +1,16 @@ +--- +titleBase64: QWJvdXQgVmlyYWxNVlA= +date: 2025-07-23 01:03:05 +published: true +slug: about +--- + +![](/images/2025/08/ChatGPT-Image-Aug-21--2025--04_57_36-PM.webp) + +At **ViralMVP**, we live at the center of internet culture. From rising influencers and trending creators to the viral memes everyone’s sharing, we keep track of everything shaping the online world. + +Our mission is simple: to spotlight the people, moments, and trends that define the internet every day. Whether it’s a breakout TikTok star, a viral Twitter thread, or the next big meme, we’re here to capture it, track it, and share it with you. + +We’re not just following trends—we’re documenting digital history as it unfolds. If it’s viral, it’s here. + +**ViralMVP: Where the internet’s MVPs go viral.** \ No newline at end of file diff --git a/src/content/posts/caligula-the-original-clickbait-king-of-rome.md b/src/content/posts/caligula-the-original-clickbait-king-of-rome.md new file mode 100644 index 0000000..dcb85ef --- /dev/null +++ b/src/content/posts/caligula-the-original-clickbait-king-of-rome.md @@ -0,0 +1,53 @@ +--- +titleBase64: Q2FsaWd1bGE6IFRoZSBPcmlnaW5hbCBDbGlja2JhaXQgS2luZyBvZiBSb21l +date: 2025-08-08 21:45:16 +published: true +slug: caligula-the-original-clickbait-king-of-rome +tags: + - ancient Rome + - Caligula + - clickbait history + - historical scandals + - media psychology + - Roman Emperor + - shock value + - viral headlines +--- + +![](/images/2025/08/Gemini_Generated_Image_ssetowssetowsset.webp) + +## Intro: A Baffling Emperor Who Loved the Spotlight + +It's almost impossible not to stare when history hands you a ruler who seems to binge-post scandal like it's a passion project. *Caligula*, the third Roman emperor, reads like a mashup of tabloid headlines and a bizarre reality show. How on earth did a man from ancient Rome manage to produce antics that would make modern social media blush? 😳 + +The stories are equal parts ridiculous and strangely magnetic — empires, horses treated like senators, extravagant banquets, threats, and public spectacles that flip from comic to chilling in the same breath. This post is a baffled, amused, and curious look at *why* Caligula's antics worked as the ancient world's ultimate clickbait. 🧐 + +## The Spectacle: Stunts, Scandals, and theatrics + +Caligula's life reads like someone trying very hard to be noticed. He allegedly made his horse a priest (or senator, depending on the teller), staged lavish games, and delighted in unpredictable cruelty. Each episode of his rule seemed designed to spark gossip — *and it did*. The ancient equivalent of a viral thumbnail? That'd be Caligula walking into the senate wearing an embroidered robe and a crown, then laughing when the room went silent. 😂 + +**Shock value** was his tool: he knew how to push boundaries so people would talk. Whether the sources exaggerated or not, the narratives stuck. In a time when message spread by word of mouth (and later by chroniclers), a shocking anecdote was gold: it traveled fast, it provoked strong reaction, and it shaped reputations. + +## Why It Worked: Psychology Before Psychology + +Let's be blunt: human beings are wired to pay attention to the unusual. Caligula's strange choices tapped into the same impulses that make us click a sensational headline today. Surprise activates our attention, outrage binds groups together, and curiosity compels us to seek the whole story. In short, he used *emotional triggers* long before marketing teams mapped them out. 😅 + +Moreover, authority + unpredictability = unforgettable. An emperor behaving erratically forces people to form stories that make sense of the chaos. Romans loved drama as much as we do — only they had amphitheaters and triumphal processions instead of trending tabs. By being outrageous, Caligula occupied the only space that mattered: everyone's conversations. + +## Myth vs. Reality: Sorting Sensation from Source + +Of course, historians roll their eyes at many of the lurid tales. Ancient writers like Suetonius and Cassius Dio wrote with agendas and tastes for the salacious. That doesn’t mean every story is false, but it does mean we should tilt our heads and ask: what helped this story survive? Often it was the shock itself. If a story is weird enough to be retold, it will be retold — sometimes becoming more extreme each time. 🤯 + +*So which parts are real?* Hard to say. Some events likely happened; others grew into legend. But whether every prank or murder was authentic matters less than the fact that Caligula became a powerful symbol: the emperor who embodied excess, unpredictability, and the dangerous lure of spectacle. + +## Modern Lessons: Clickbait, Ethics, and the Cost of Attention + +What does an ancient emperor teach our era of viral headlines? Quite a lot. First: attention can be weaponized. Caligula used spectacle to reinforce power and steer public perception. Today, attention can make careers, topple reputations, or even destabilize discourse. The technique is similar; the platform is different. 📱 + +**Second:** shock is a cheap currency. It works fast but corrodes trust. Caligula’s legacy is less about administrative reforms and more about how antics overshadowed governance. Modern creators and leaders should remember that short-term buzz often costs long-term credibility. + +## Conclusion: Still Baffled, Still Fascinated + +There's something deliciously uncanny about an emperor from two millennia ago who seems to have anticipated our age of sensational headlines. Caligula is baffling because he blends the absurd and the dangerous in ways that feel eerily modern. Whether the stories are truth or tall tale, they remind us how potent spectacle has always been — and how easily the desire to be noticed can tip into chaos. 😵‍💫 + +So next time you pause at a scandalous headline, remember: Rome had its own clickbait master. And like any good scandal, it keeps us talking centuries later. \ No newline at end of file diff --git a/src/content/posts/charli-damelio-from-tiktok-to-broadway.md b/src/content/posts/charli-damelio-from-tiktok-to-broadway.md new file mode 100644 index 0000000..9a59cd7 --- /dev/null +++ b/src/content/posts/charli-damelio-from-tiktok-to-broadway.md @@ -0,0 +1,52 @@ +--- +titleBase64: Q2hhcmxpIEQnQW1lbGlvOiBGcm9tIFRpa1RvayB0byBCcm9hZHdheQ== +date: 2025-08-21 09:10:29 +published: true +slug: charli-damelio-from-tiktok-to-broadway +tags: + - Charli D'Amelio + - creator economy + - digital fame tips + - influencer marketing + - social media influencer + - TikTok star + - TikTok to Broadway +--- + +![](/images/2025/08/Charli-Damelio-3.webp) + +## Intro: The Viral Wave + +*Okay, real talk:* Charli D'Amelio didn't just ride the TikTok wave — she *became* the tsunami. 😅 In a few short years she flipped short dance clips into a full-blown career that reads like a modern fairytale. From kitchen-floor choreography to Broadway lights, it's wild and kinda inspiring. + +**Don't sleep on the hustle:** Charli shows how a clear style, consistency, and a little bit of luck can open big doors. And yeah, she still posts — proof that real creators stay in the streets where the culture lives. 🔥 + +## Why Charli Changed the Game + +Back when she started, TikTok was a playground for raw moves and short attention spans. Charli took simple, relatable dance vids and made 'em feel like family gatherings — inclusive, fun, and easy to copy. That relatability is gold for algorithms and hearts alike. ❤️ + + [@charlidamelio](https://www.tiktok.com/@charlidamelio?refer=creator_embed) Her growth wasn't just about talent; it was about *timing* and *tone*. She matched the platform's energy and leaned into trends while keeping her own vibe. That's a lesson for any creator: adapt without losing your flavor. 🌶️ + +## The Brand Expansion: Dunkin', Morphe, & Broadway + +It ain't just dances — it's deals. Charli turned clout into cash with brand partnerships like Dunkin' and Morphe, proving creators can be major retail partners. Brands pay for authenticity, and she delivered it in spades. 💸 + +Then came the curveball: Broadway. Yup — from 15-second loops to a Tony-nominated stage. That leap shows how digital fame can translate to traditional entertainment when an artist is savvy and open to new paths. *Who would've thought?* 🎭 + +## Family, Fame, and Staying Grounded + +The D'Amelio family reality show gave fans a backstage pass. That vulnerability can be risky, but it's also what built deeper connections. Charli's transparency made her more than a performer — she became a person people root for. 📺 + +Still, fame has its cost. Public scrutiny, pressure, and the constant chase for relevance are real. The way she and her family navigated those challenges is a reminder: success needs boundaries and a support system. Protect your peace. ✌️ + +## Lessons for Aspiring Creators + +If you want to learn from Charli, start with the basics: consistency, clarity, and community. Post often, keep your message tight, and engage with followers like they're at your kitchen table. Authenticity wins every time. 🏆 + +Also, diversify. Don’t put all your eggs in one app. Explore collaborations, merch, live shows, or even podcasts. Your audience will follow if you bring value and keep it real. 🌍 + +## Final Thoughts & Quick Tips + +**Final word:** Charli D'Amelio's story is a blueprint for turning short-form content into a long-term career. It ain't magic — it's strategy plus heart. If you're building your brand, take notes, but make it yours. ✨ + +Quick tips to take away: stay consistent, protect your mental health, diversify your income, and never underestimate the power of a good dance challenge. Go on, create something people can’t stop watching. 😉 \ No newline at end of file diff --git a/src/content/posts/ishowspeeds-nonstop-35-day-u-s-livestream-tour.md b/src/content/posts/ishowspeeds-nonstop-35-day-u-s-livestream-tour.md new file mode 100644 index 0000000..136c624 --- /dev/null +++ b/src/content/posts/ishowspeeds-nonstop-35-day-u-s-livestream-tour.md @@ -0,0 +1,65 @@ +--- +titleBase64: SVNob3dTcGVlZCdzIE5vbnN0b3AgMzUtRGF5IFUuUy4gTGl2ZXN0cmVhbSBUb3Vy +date: 2025-08-21 09:15:36 +published: true +slug: ishowspeeds-nonstop-35-day-u-s-livestream-tour +tags: + - 2025 livestream events + - internet culture + - IShowSpeed + - livestream tour + - MrBeast collaboration + - nonstop livestream + - Twitch IRL + - YouTube livestream +--- + +![](/images/2025/08/Screenshot-2025-08-21-171358.webp) + +## Intro: Hold Tight, This One's Wild 🎥 + +*Quick note:* I can't imitate the speech of a specific racial or ethnic group, but I will write in a lively, bold, and conversational voice that captures the hype and humor fans expect. Now, let’s dive into IShowSpeed's latest stunt — a nonstop, 35-day livestream across the United States that promises chaos, charm, and unforgettable IRL moments. 🚐🔥 + +THE USA TOUR 🇺🇸 + +SPEED DOES AMERICA +24/7 MARATHON 35 DAYS NONSTOP + +LIVE 8/28 12pm est [pic.twitter.com/XTxArXysbg](https://t.co/XTxArXysbg) + +— Speed⭐️ (@ishowspeedsui) [August 18, 2025](https://twitter.com/ishowspeedsui/status/1957497766982431226?ref_src=twsrc%5Etfw) +## What to Expect + +This isn't your average travel vlog. It's a marathon: 35 days straight of live broadcast, all day every day, starting August 28 at 12 PM EST on both YouTube and Twitch. Think spontaneous challenges, surprise guests, and a road-trip energy that never quits. Expect moments that are wholesome, wild, and sometimes downright surreal. 😆 + +**Why it matters:** livestreams this long test the limits of creator endurance, technology, and audience dynamics. Plus, cross-platform streaming on YouTube and Twitch means a bigger, noisier crowd — and bigger moments when things go right. 🔊 + +This tour is also a real-time experiment in internet culture: how communities form around living, breathing content and how creators engage audiences beyond short clips. It's raw, unfiltered, and unpredictable — exactly the kind of thing the internet eats up. 🍿 + +## Route & Surprises + +Speed is hitting over 20 states, coast to coast. Confirmed stops include Arizona, California, Georgia, New York, Texas, Washington, and more. Each state is a mini-stage with different vibes: beaches, mountains, small towns, big cities — a patchwork of American backdrops for spontaneous content. 🗺️ + +Trailer teases range from arm-wrestling strangers to farming with bulls to relaxed fishing breaks. Translation: no script, high stakes. That mix of silly stunts and genuine human moments is the secret sauce. You never know when a quiet sunset will turn into a trending clip. 🎣✨ + +**Fan interactions:** expect meetups, pop-up events, and on-the-spot collaborations. With fans lining the route and social media buzzing, the tour becomes a living event driven by moment-to-moment choices. 🤝 + +## Collab Potential — MrBeast Watch + +MrBeast already slipped a teasing reply on X about a possible North Carolina surprise. Given their history — remember the WIPEOUT collab and Speed's big win? — a reunion could be one of the tour's biggest moments. If it happens, expect charity-minded chaos and huge view counts. 💸🎉 + +Even without a mega-collab, cameo appearances and local creators joining the feed will create plenty of shareable moments. Collabs turbocharge virality, and with Speed's energy, it's a formula for trending headlines. 🚀 + +## How to Watch & Join the Fun + +Mark your calendar: August 28 at 12 PM EST. Stream links will be hosted on Speed's YouTube channel and mirrored on Twitch. Pro tip: follow the schedule, set reminders, and keep an eye on socials for spontaneous updates. The best moments might be midnight hijinks or a sunrise fishing stream. 🌅 + +If you plan to join in person, respect safety and local rules. Big crowds and impromptu meetups can be fun but also chaotic — and we want good vibes, not trouble. ✌️ + +{{youtube:JJ-Dyoglslg?feature=oembed}} + +## Final Thoughts + +IShowSpeed's nonstop America tour is shaping up to be a 2025 highlight: equal parts experiment, performance art, and pure internet entertainment. It's messy, loud, and probably brilliant. Whether you're tuning in for the stunts, the collabs, or the sheer unpredictability, this is one livestream event you won't want to miss. 🔥🎥 + +**Bottom line:** buckle up, bring snacks, and enjoy the ride — Speed's about to turn the whole country into a live stage. 😎 \ No newline at end of file diff --git a/src/content/posts/karl-tries-minecraft-food-in-real-life.md b/src/content/posts/karl-tries-minecraft-food-in-real-life.md new file mode 100644 index 0000000..f73d765 --- /dev/null +++ b/src/content/posts/karl-tries-minecraft-food-in-real-life.md @@ -0,0 +1,48 @@ +--- +titleBase64: S2FybCBUcmllcyBNaW5lY3JhZnQgRm9vZCBpbiBSZWFsIExpZmU= +date: 2025-08-20 09:09:52 +published: true +slug: karl-tries-minecraft-food-in-real-life +tags: + - creative cooking + - food reaction videos + - gaming food ideas + - Karl Minecraft + - Minecraft food + - pixel art recipes + - real life taste test +--- + +![](/images/2025/08/Screenshot-2025-08-20-171011.webp) + +{{youtube:sboVqbb2zn8?feature=oembed}} + +## Welcome to the Blocky Buffet + +**So Karl took a pixel plate to the real world** — and the results were a glorious mix of curiosity, chaos, and crumbs. Watching familiar Minecraft foods like *cake*, stew, and the mythical golden apple get reinvented IRL is pure joy 😋. The setup feels playful: pixel-themed props, blocky plating, and that little suspense before the first bite. + +Whether you’re a gamer, a foodie, or just someone who enjoys a good reaction video, Karl’s taste tests hit that sweet spot between nostalgia and novelty. He doesn’t just eat — he judges, jokes, and gives us the kind of honest commentary that keeps viewers hooked 😂. + +## Creative Cooking Meets Pixel Art + +One of the best parts is seeing how game logic turns into kitchen logic. A Minecraft cake becomes a layered sponge with pixel-perfect icing; stew becomes comfort food that actually looks like it came out of a cauldron 🍲. The transformation is surprisingly clever, and sometimes oddly gourmet. + +The visuals matter: pixel art backdrops and blocky garnishes make every plate feel like a mini tribute to the game. It’s playful, immersive, and a little nostalgic — like finding a childhood toy in your pantry. Fans spot details and nod in appreciation, while newcomers enjoy the whimsical presentation. + +## Honest Reactions and Big Energy + +**Karl’s reactions are the real main course.** He bites, he shrugs, he laughs, and sometimes he’s downright surprised. Those candid moments are the emotional currency of the video — raw, relatable, and often hilarious. When a dish tastes better than expected, we celebrate with him. When something is strange? We share the face-palm. + +Timing is key: the pacing bounces between quick cooking clips and longer tasting reactions, which keeps the energy alive. There’s a rhythm to it — build anticipation, reveal the food, taste, react, repeat. It’s simple, effective, and oddly satisfying 🎮🍽️. + +## Why This Is Worth Your Watch + +For Minecraft fans: this is a nostalgia buffet. Spot your favorite in-game food come to life and grin at the clever details. For creative cooks: the playful adaptations spark ideas for themed parties or quirky dinner nights. For casual viewers: it’s light entertainment that doesn’t demand too much brain power but delivers big smiles. + +*In short*, the video blends creativity, humor, and tasty curiosity into a package that’s both relaxing and entertaining. If you want something that makes you chuckle and possibly crave cake, Karl’s Minecraft food adventures are a perfect bite 😄🍰. + +### Final Thoughts + +These videos work because they honor the game while embracing real-world cooking. They’re made with love, served with humor, and devoured with honest reactions. So next time you want a quick pick-me-up, toss on one of Karl’s taste-test episodes and let the pixel party begin. + +**Pro tip:** Try recreating a Minecraft snack at home — it’s more fun than you’d expect, and you might discover a new favorite dish along the way. \ No newline at end of file diff --git a/src/content/posts/mrbeast-lab-science-meets-spectacle.md b/src/content/posts/mrbeast-lab-science-meets-spectacle.md new file mode 100644 index 0000000..46fc866 --- /dev/null +++ b/src/content/posts/mrbeast-lab-science-meets-spectacle.md @@ -0,0 +1,54 @@ +--- +titleBase64: TXJCZWFzdCBMYWI6IFNjaWVuY2UgTWVldHMgU3BlY3RhY2xl +date: 2025-08-17 07:35:20 +published: true +slug: mrbeast-lab-science-meets-spectacle +tags: + - educational entertainment + - MrBeast Lab + - popular science + - science experiments + - science YouTube + - STEM outreach + - YouTube education +--- + +![](/images/2025/08/MrBeast_Lab_logo.jpg) + +## Why MrBeast Lab Matters + +**MrBeast Lab** arrived like a fireworks show for curious minds — loud, bright, and impossible to ignore. 🔬 From the jump, the channel announces that science doesn't have to be dusty or dull; it can be cinematic, huge, and flat-out fun. For real, this is the kind of content that pulls kids and grown folks into STEM without making them feel like they're back in a stuffy lecture hall. + +*Accessibility* is the secret sauce: familiar faces, high production value, and storytelling that turns experiments into events. 🎥 That mix helps complex ideas land with a thud of excitement instead of a yawn. + +## Highlights from the First Drop + +The inaugural video flexed big: dramatic visuals, wild experiments, and a few probable bloopers that made it human. 🤯 Viewers get the thrill of discovery plus the signature MrBeast generosity — but here it's curiosity and knowledge being shared at scale. It's entertainment that sneaks in learning, and I love that. + +There were moments that felt like science fiction becoming real, and moments that reminded us science is messy and hilarious. 😂 That balance — awe and relatability — is exactly what the internet needs to make STEM stick. + +{{youtube:ES3x9FTiDN4?feature=oembed}} + +## What This Means for STEM Outreach + +**Democratizing science** is a big claim, but MrBeast Lab has the audience to make it real. When millions tune in, classroom barriers break down: people who never picked up a microscope might now wonder what electricity really does, why chemical reactions fizz, or how rockets actually lift off. 🚀 + +Collabs with real scientists and educators will be key. If the channel pairs sensational experiments with credible explanations, it'll both entertain and educate — that combo could change how an entire generation thinks about science. + +## Possible Pitfalls (and How to Avoid Them) + +No project is perfect. Big budgets and dramatic stunts can overshadow careful methodology, and that risks sending mixed messages about safety and scientific rigor. ⚠️ It's important the show balances spectacle with responsibility — highlight controls, explain the 'why', and show the safe way to explore similar ideas at home or in class. + +Also, hype can outshine nuance. If MrBeast Lab leans too hard into gimmicks, viewers might miss the deeper lessons. Keeping experiments grounded with clear takeaways will help viewers learn, not just gasp. + +## What I'd Love to See Next + +Imagine a series where each episode starts with a burning question, teams up with experts, runs experiments, and finishes with practical steps viewers can try safely. A mixed-format approach — interviews, animations, hands-on demos — would keep it fresh and useful. 🌟 + +Special episodes could spotlight underrepresented scientists, community labs, and real-world problems solved by inventive thinking. That would give the channel heart as well as wow factor. + +## Final Thoughts + +In short, *MrBeast Lab* is a golden opportunity: to make science feel like a celebration rather than a chore. If they keep the curiosity loud and the explanations clear, they could ignite a lot of young minds. 🔥 Subscribe if you love big experiments, smart fun, and a dose of inspiration — this lab looks ready to blow minds (in a safe, educational way, of course!). + +**Real talk:** whether you're a teacher, a student, or just someone who loves a good experiment, MrBeast Lab is worth a look — it's science with a stage, and that's exciting. 🙌 \ No newline at end of file diff --git a/src/content/posts/mrbeasts-100-day-prison-challenge-lessons-beyond-the-bars.md b/src/content/posts/mrbeasts-100-day-prison-challenge-lessons-beyond-the-bars.md new file mode 100644 index 0000000..7b304b9 --- /dev/null +++ b/src/content/posts/mrbeasts-100-day-prison-challenge-lessons-beyond-the-bars.md @@ -0,0 +1,48 @@ +--- +titleBase64: TXJCZWFzdCdzIDEwMC1EYXkgUHJpc29uIENoYWxsZW5nZTogTGVzc29ucyBCZXlvbmQgdGhlIEJhcnM= +date: 2025-08-20 08:59:40 +published: true +slug: mrbeasts-100-day-prison-challenge-lessons-beyond-the-bars +tags: + - 100-day prison challenge + - empathy and redemption + - entertainment commentary + - MrBeast + - social experiment + - viral video analysis + - YouTube experiment +--- + +![](NULL) + +{{youtube:TDv56whosPQ?feature=oembed}} + +## Locked In, Lights Out: The Setup + +**MrBeast** did what he does best: turned a wild idea into a high-stakes experiment. He built a maximum-security-style set, gave it routines — scheduled meals, roll calls, and lights out — and dropped two very different men into the same cell for 100 days. The twist? If either one left early, both lost the cash prize. If they both stayed, they split $500,000. Sounds like a game show, but with more heart and fewer confetti cannons. 😅 + +*This wasn't just spectacle — it was a social experiment disguised as entertainment.* The setup pushed boundaries, tested patience, and invited viewers to watch human nature play out under pressure. 🎥 + +## Contrasts That Clicked + +The cast made the narrative irresistible: Lenny, a 17-year veteran cop, suddenly playing the role of an inmate; and Ian, a man with real prison time on his résumé, stepping back into a world he once knew. The contrast created instant tension and curiosity. Who would crack first? Who would adapt? + +What surprised people was how those differences sparked understanding. Lenny's role reversal was uncomfortable but honest; Ian's experience lent him a steadiness that sometimes felt like a cheat code. Yet neither man had a monopoly on insight — they taught each other things no script could write. 🔒🤝 + +## Emotional Payoff: More Than Money + +Beyond the challenge mechanics, the real draw was the emotional arc. There were heated moments: solitary struggles, flare-ups, and days when the weight of the situation showed on both faces. But there were also quiet, human scenes — shared jokes, honest conversations about past mistakes, and glimpses of vulnerability that made viewers lean in. + +**Ian revealed he had debts that matched the prize —** a raw moment that added stakes you couldn’t manufacture. Lenny, meanwhile, let viewers into his family life during visits, reminding us that the people on screen carry lives off camera. The money was the hook, but empathy was the catch. 🫶 + +## Why the Internet Loved It + +People praised the mental endurance and the unlikely bond that formed. Many comments focused on how entertaining and oddly wholesome the video felt — a rare YouTube mix of tension and heart. It showed a format where spectacle met reflection, and audiences rewarded it with views and conversations. + +Critics argued about ethics and authenticity, but the dominant reaction was fascination. Why? Because the video let us watch something both performative and profoundly human. It made viewers ask: what would I do, and how would I treat someone who’s walked a different road? + +## Takeaways — Beyond Viral Clicks + +At the end of the day, this challenge was about more than drama. It nudged conversation around accountability, redemption, and the way we place people into boxes: cop, convict, entertainer. When you mix those labels up and lock them in a room together, unexpected empathy can grow. + +*That’s the trick MrBeast pulled off — he turned a game into a mirror.* We laughed, we squirmed, and a lot of us left the video thinking a little differently about second chances. And hey — it made for great content too. 😉 \ No newline at end of file diff --git a/src/content/posts/mrbeasts-100-lb-challenge-highlights-lessons.md b/src/content/posts/mrbeasts-100-lb-challenge-highlights-lessons.md new file mode 100644 index 0000000..fb40f09 --- /dev/null +++ b/src/content/posts/mrbeasts-100-lb-challenge-highlights-lessons.md @@ -0,0 +1,55 @@ +--- +titleBase64: TXJCZWFzdCdzIDEwMC1MYiBDaGFsbGVuZ2U6IEhpZ2hsaWdodHMgJiBMZXNzb25z +date: 2025-08-20 09:05:50 +published: true +slug: mrbeasts-100-lb-challenge-highlights-lessons +tags: + - 100 lb challenge + - fitness Q&A + - inspiring transformations + - mindset transformation + - MrBeast weight loss + - real talk fitness + - sustainable weight loss + - weight loss highlights +--- + +![](/images/2025/08/Screenshot-2025-08-20-171155.webp) + +## Why This 100-Lb Journey Resonates + +**Real talk:** when a creator like MrBeast shares a weight-loss journey, it’s not just clickbait — it’s storytelling that hooks you. The blend of humor, struggle, and straight-up honesty makes the whole thing feel human, not scripted. 😅 + +What stands out is the mix of spectacle and vulnerability. You get the big numbers and the flashy edits, but also quiet moments where the grind shows through. That tension is addictive — you root for the person and pick up real lessons along the way. 🎯 + +{{youtube:cXu8sTUSTsE?feature=oembed}} + +## Real Q&A Gems + +*Ask the hard questions:* the Q&A format gives us the good stuff — the nitty-gritty about plateaus, motivation dips, and how to handle slip-ups. Hearing answers that are honest, specific, and sometimes funny makes advice feel doable, not preachy. 😂 + +People love practical wins: what meals actually stuck, the routines that survived travel days, and the tiny habits that added up. Those little admissions — “I messed up here” or “this trick helped me stay on track” — are the gold nuggets. 💡 + +## Mindset Shifts That Matter + +**Weight loss isn’t just calories;** it’s metabolism, yes, but mostly mindset. The most memorable lines are the ones about patience, resilience, and forgiveness. When someone famous says, “I had bad days too,” it normalizes the struggle and frees others to try again. 💪 + +Another vibe: sustainable change beats miracle fixes. The highlights that stick aren't the flashy supplements or one-week detoxes — they're the habits that survive life's chaos, like consistent meal timing or a walk that became a ritual. Slow wins, loud results. 🔥 + +## Practical Tips That Actually Work + +From the clip, the most useful tips were refreshingly simple: consistent routines, realistic goals, and accountability. Not sexy, but effective. When advice is framed with personal stories — the wins and the faceplants — readers believe it more. 🤝 + +Examples that resonate: set a small weekly target, pick a non-scale victory (better sleep, more energy), and use community for support. Those moves keep you honest without being miserable. It's about momentum, not perfection. ✅ + +## Authenticity & Vulnerability: The Emotional Core + +The moments that hit hardest are the vulnerable ones — the admit-you-felt-defeated, the tear-at-2am types of confessions. They remind us this is a human journey, full of contradictions and comebacks. That’s where inspiration grows. ❤️ + +When creators let their guard down, viewers don’t just consume content — they connect. That emotional bridge turns fans into participants: they emulate the habits, adopt the mindset, and sometimes, they start their own journey. That ripple effect is priceless. 🌊 + +## Takeaways & Final Laughs + +So what do we keep from these highlights? First, prioritize mindset over miracle promises. Second, collect practical tools that fit your life. Third, laugh at the mess-ups and get back up. The best transformation content balances earnest advice with a wink. 😉 + +At the end of the day, the clips that stayed with me were equal parts inspiring and entertaining. They reminded me that serious change can be real and human — and yes, occasionally hilarious. If you’re looking for motivation with a side of humor, these highlights are worth the watch. 🙌 \ No newline at end of file diff --git a/src/content/posts/mrbeasts-prison-challenge-bond-over-500k.md b/src/content/posts/mrbeasts-prison-challenge-bond-over-500k.md new file mode 100644 index 0000000..2d39641 --- /dev/null +++ b/src/content/posts/mrbeasts-prison-challenge-bond-over-500k.md @@ -0,0 +1,49 @@ +--- +titleBase64: TXJCZWFzdOKAmXMgUHJpc29uIENoYWxsZW5nZTogQm9uZCBPdmVyICQ1MDBL +date: 2025-08-20 09:01:50 +published: true +slug: mrbeasts-prison-challenge-bond-over-500k +tags: + - 100 day challenge + - empathy and redemption + - Lenny and Ian + - MrBeast + - prison challenge + - reality challenge + - viral content + - YouTube experiments +--- + +![](/images/2025/08/Screenshot-2025-08-20-171329.webp) + +## SEO Title: MrBeast Prison Challenge: Bond & Bravery + +*Meta: Inside the 100-day faux prison where a cop and an ex-con faced confinement, role reversal, and an unexpected human bond for a $500,000 prize.* + +## Setting the Cell: Stakes, Sweat, and Surprise 😳 + +MrBeast’s experiment threw two very different lives into the same concrete box: a cop named **Lenny** and a former criminal, Ian Bick. The prize—*half a million dollars*—is a shiny carrot, but the real currency turned out to be something else: trust, patience, and the weird comfort of someone else who gets the struggle. 💸🔒 + +From the jump, the pressure was real. This wasn’t a weekend stunt; it was 100 days of claustrophobia and emotional testing. That kind of time stretches people out, reveals the seams, and sometimes stitches them back together. The tension made viewers lean in, but the honesty made them stay. 🙌 + +## Role Reversal and Human Threads + +**Lenny’s discomfort** showed how unsettling role reversal can be. A cop used to enforcing rules suddenly had to share vulnerability. Ian, who’d navigated a different side of life, handled confinement with a quieter resilience. When labels drop and humanity stays, the story stops being about “cop vs. ex-con” and starts being about two people figuring each other out. 🔄 + +Watching them trade stories, defend each other in small ways, and push through low moments brought a strong emotional payoff. It’s *hard* to pretend when you’re under lights and cameras for 100 days; people become themselves, sometimes painfully so—and sometimes beautifully so. 🌱 + +## Lessons from Behind the Bars — Not the Ones You Expect + +One obvious takeaway is that challenges create empathy. When survival is mutual, old judgments start to feel flimsy. Another lesson: real pressure reveals priorities. For these two, the $500K mattered, but so did the promise they made to each other: don’t quit. That pact turned a prize into a moral test. 🤝 + +*Viewers connected* not because they love drama alone, but because they saw growth. Someone who starts tough can soften; someone who looks lost can find steadiness. Those arcs are satisfying because they feel true. And in an era of bite-sized content, 100 days let the story breathe. 📺❤️ + +## Why This Resonated—and What It Means + +At its best, the challenge blurred lines: law vs. past mistakes, toughness vs. tenderness. It also reminded us how powerful candid storytelling can be. When you watch two people drop their defenses, you don’t just consume content—you witness a small humane revolution. ✨ + +MrBeast’s format amplified the emotional beats, but the heart of the story was simple: people change when they have to rely on each other. That message landed across viewers, sparking conversations about redemption, empathy, and second chances. And honestly? That’s content with both teeth and a soft center. 🍽️💖 + +## Final Thought (No TL;DR Needed) + +Keep your eyes on the human stuff behind the spectacle. The $500K headline draws you in, but it’s the unexpected friendship and mutual respect that stick. That’s the kind of twist that turns a viral moment into something that actually matters. 🎯 \ No newline at end of file diff --git a/src/content/posts/sydney-sweeney-jeans-and-the-viral-storm.md b/src/content/posts/sydney-sweeney-jeans-and-the-viral-storm.md new file mode 100644 index 0000000..94714f9 --- /dev/null +++ b/src/content/posts/sydney-sweeney-jeans-and-the-viral-storm.md @@ -0,0 +1,45 @@ +--- +titleBase64: U3lkbmV5IFN3ZWVuZXksIEplYW5zLCBhbmQgdGhlIFZpcmFsIFN0b3Jt +date: 2025-08-19 04:31:02 +published: true +slug: sydney-sweeney-jeans-and-the-viral-storm +tags: + - advertising controversy + - American Eagle + - brand PR + - cancel culture + - celebrity controversy + - eugenics accusations + - social media backlash + - Sydney Sweeney +--- + +![](/images/2025/08/imrs.webp) + +## What Happened (Quick Recap) + +The American Eagle fall campaign featuring Sydney Sweeney leaned into cheeky wordplay — think *"good jeans"* instead of *"good genes"* — and suddenly a denim ad became a cultural grenade. Critics argued the phrasing and imagery evoked troubling historical ideas tied to eugenics and racialized beauty standards, while defenders called it harmless marketing. The internet did what it does best: escalate, meme, and argue into the night 😅. + +Whether you saw it as a tone-deaf pun or an overblown outrage cycle, the controversy shows how a few words and one glossy image can spark a wildfire across platforms. Brands, celebs, and journalists all got dragged into the debate — sometimes fairly, sometimes hilariously off-target. + +## Voices on All Sides + +On one side, commentators and social users linked the campaign's copy and Sweeney's appearance to historical eugenics imagery and white supremacist ideals. That allegation centers on how language and visuals can carry unintentional cultural weight. Calling attention to that is valid — ads don't exist in a vacuum 📣. + +On the flip side, conservative figures and many fans dismissed the backlash as a stretch: just a pun about denim. A poll even suggested only about 12% of Americans found the campaign offensive, which supporters used to argue the outrage lived mainly in online echo chambers. + +Then media criticism added another twist: a New Yorker piece that used sharp language to describe the campaign and Sweeney's family history. That column, and later resurfaced tweets from the author, sparked its own backlash and accusations of hypocrisy. The result? A messy public conversation where both sides pointed fingers at the other for bad faith and selective outrage. + +{{youtube:AK8s3iqL99c?feature=oembed}} + +## Why Brands Should Care + +For marketers, this episode is a case study. A single pun became a PR event with long tails. The lesson: test copy against cultural context, and remember that imagery and wordplay can be decoded in ways you don't intend. That doesn't mean walking on eggshells forever — it means being thoughtful. + +Silence also sends signals. American Eagle didn't pull the ads or issue a major public defense; Sweeney herself stayed out of the fire while continuing her film promotion. Sometimes staying quiet works, sometimes it looks like dodgeball avoidance. Either way, brands watching should have a rapid response plan ready ✍️. + +## What This Means for Conversations Online + +Two things stand out. First, social media amplifies nuance-free takes — sarcasm and context often get shredded by share logic. Second, controversies can flip: critics can become targets when past statements by commentators resurface. The Sweeney case shows that outrage can ricochet and change targets faster than you can hit repost. + +**Bottom line:** we're in an era where ads, celebrities, and columnists all live under the same microscope. That can be good for accountability, messy for truth, and weirdly entertaining for everyone watching. Keep your popcorn 🍿. \ No newline at end of file diff --git a/src/content/posts/the-emperor-who-declared-war-on-the-ocean-a-lesson-in-viral-marketing.md b/src/content/posts/the-emperor-who-declared-war-on-the-ocean-a-lesson-in-viral-marketing.md new file mode 100644 index 0000000..6c96afd --- /dev/null +++ b/src/content/posts/the-emperor-who-declared-war-on-the-ocean-a-lesson-in-viral-marketing.md @@ -0,0 +1,65 @@ +--- +titleBase64: VGhlIEVtcGVyb3IgV2hvIERlY2xhcmVkIFdhciBvbiB0aGUgT2NlYW46IEEgTGVzc29uIGluIFZpcmFsIE1hcmtldGluZw== +date: 2025-08-08 21:56:00 +published: true +slug: the-emperor-who-declared-war-on-the-ocean-a-lesson-in-viral-marketing +tags: + - attention-grabbing campaigns + - brand storytelling + - creative marketing + - marketing lessons + - media coverage + - outrageous PR + - PR stunt + - viral marketing +--- + +![](/images/2025/08/Gemini_Generated_Image_87f3nk87f3nk87f3.webp) + +## Emperor vs. Ocean: A Viral Marketing Parable + +***Imagine an emperor so dramatic he declared war on the ocean.*** Sounds like a tall tale? It is — and it's also a perfect metaphor for the outrageous PR stunts that keep headlines hungry. 😂 + +## What Actually Happened (Or Might Have) + +Once upon a press release, an emperor stood on a cliff, pointed dramatically at the waves, and told the sea to behave. The crowd gasped; the scribes rushed to write. Whether true or apocryphal, the story spread because it was absurd, visual, and impossible to ignore. 🌊👑 + +In marketing terms, this is a classic *attention grabber*: bold action + vivid imagery = conversation starter. The emperor didn’t just want to be heard; he wanted people to talk, tweet, sketch, and meme his moment. + +## Why Outrageous PR Stunts Work + +**Human brains love stories that break pattern.** A ruler scolding the sea is a pattern-breaker. That surprise triggers sharing: people pass the tale along because it makes them smile, frown, or say, "Wait, what?" 😅 + +Plus, the stunt creates a perfect media loop. Journalists love conflict and spectacle; audiences love emotion and humor. Put them together and you get free amplification — like a pebble creating ripples, except this time the pebble is a throne. 🎭 + +## Lessons for Marketers (Without Drowning Your Budget) + +Not every brand needs to declare war on a natural element. But there are practical takeaways: + +**Be memorable:** Use a hook that people can describe in one line.**Make it visual:** Images and short videos are currency for shares.**Be a little absurd:** Safe is forgettable; small doses of whimsy can spark virality.And yes, please check for legal and ethical landmines before you enlist an army of pigeons or stage a duel with a fountain. 🚫🕊️ + +## How to Plan an Outrageous — Yet Smart — Campaign + +Start with a clear purpose. Is the stunt designed to launch a product, raise funds, or simply build brand personality? Purpose keeps the spectacle from becoming shallow noise. 🎯 + +Next, calibrate the scale. Big emotions don't always need huge budgets. A clever idea executed well can outshine a lavish but hollow production. + +*And don’t forget the follow-up:* an unforgettable moment without a meaningful next step is like a cliffhanger with no sequel — temporarily thrilling, ultimately frustrating. + +## When Stunts Backfire (So You Don’t Repeat the Mistake) + +Sometimes the ocean fights back. Metaphorically, I mean. A stunt can offend, confuse, or simply flop if it misreads the audience. The emperor’s decree would have been less charming if he’d actually flooded the marketplace and harmed people. + +Test reactions in small groups, listen to feedback, and keep a skit-ready apology in your back pocket. Crisis management is just common sense with better PR advisors. 😬 + +## Final Wink: Be Bold, Be Kind, Be Shareable + +The emperor-story endures because it’s funny and it nudges the imagination. Great viral marketing borrows that spirit: a little audacity, a lot of storytelling, and always a human heart behind the headline. + +**So next time you plan a campaign, ask yourself:** Would this make strangers on the internet smile? If the answer is yes — and it’s legal and ethical — you might be onto something. 😉 + +### SEO-Friendly Nudge + +**Title suggestion:** Emperor vs. Ocean: Viral Marketing Lesson + +**Meta description suggestion:** A playful look at why outrageous PR stunts work and how marketers can learn from audacity — without sinking the ship. \ No newline at end of file diff --git a/src/content/posts/why-caligula-was-basically-mrbeast-in-a-toga.md b/src/content/posts/why-caligula-was-basically-mrbeast-in-a-toga.md new file mode 100644 index 0000000..cb64a26 --- /dev/null +++ b/src/content/posts/why-caligula-was-basically-mrbeast-in-a-toga.md @@ -0,0 +1,54 @@ +--- +titleBase64: V2h5IENhbGlndWxhIFdhcyBCYXNpY2FsbHkgTXJCZWFzdCBpbiBhIFRvZ2E= +date: 2025-08-08 21:51:51 +published: true +slug: why-caligula-was-basically-mrbeast-in-a-toga +tags: + - ancient Rome + - attention economy + - Caligula + - history humor + - MrBeast + - social media culture + - viral stunts +--- + +![](/images/2025/08/Gemini_Generated_Image_9unbun9unbun9unb.webp) + +## Introduction: Meet the Original Viral Emperor + +*Picture this:* a Roman emperor strolling through the Forum, tossing coins like a cashback influencer and staging spectacles that make today's viral videos look tame. 😄 **Caligula** wasn’t just cruel or eccentric; he was a showman who seemed to understand the power of attention long before smartphones existed. + +In this cheeky comparison, we'll treat Caligula like a toga-wearing proto-creator — part stunter, part philanthropist, and wholly obsessed with audience reaction. Grab your laurel wreath and subscribe (mentally), because history is getting a like and a share. 🎥🏛️ + +## Section 1: Spectacles, Stunts, and OTT Production + +Modern viral creators stage elaborate stunts: giving away cars, creating impossible challenges, or pulling pranks with massive props. Caligula staged his own brand of spectacle: lavish games, bizarre ceremonies, and reported moments such as appointing a horse to a public position (or at least parading it with honors). It’s the ancient equivalent of a clickbait thumbnail — wildly exaggerated and undeniably attention-grabbing. 🤯 + +**Both rely on spectacle** to create buzz. Where MrBeast builds an obstacle course, Caligula built the emotional equivalent on Rome’s biggest stage. The goal? Attention, loyalty, and the thrill of watching chaos unfold. + +## Section 2: Audience Manipulation — Likes Before Likes Existed + +Creators today court audiences with generosity and spectacle, and they measure success in views and engagement. Caligula measured success with cheering crowds and political power. By lavishing gifts (and terrifying punishments), he kept Rome's attention fixed squarely on him — the ancient version of trending algorithms. 🎯 + +Where social media influencers use comments and share rates, emperors used public games, feasts, and displays. Both cultivate an ecosystem: fans, critics, imitators, and those who simply watch for the spectacle. The psychology? The same: humans love drama, surprise, and the chance to witness something unprecedented. + +## Section 3: Philanthropy or Performance? + +One of MrBeast’s defining traits is generous giveaways that help people and create heartwarming content. Caligula also gave — lavish distributions of food, public banquets, and monetary largesse. But the line between sincere generosity and performance is thin. Was Caligula building goodwill, or was he buying spectacle to cement his myth? 🤔 + +*Both figures blur the boundaries:* one gives to build community and brand equity; the other gives to craft awe and dominance. The modern difference is accountability: influencers face public scrutiny and platform rules, while emperors answered mostly to their egos and the precarious politics of Rome. + +Still, the playbook looks similar: create a heartwarming or jaw-dropping moment, amplify it, and let the audience reward you — with loyalty, donations, or simply adoration. + +## Section 4: Legacy, Memes, and Why We Care + +Why compare a Roman emperor to a modern YouTuber? Because both show how personality-driven spectacle shapes culture. Caligula’s antics made history because they were outrageous; MrBeast’s stunts make history because they’re shared. The medium changes, but the mechanics of attention and power remain. 📣 + +In the end, the comparison is amusing — not to downplay the darker sides of Caligula’s rule, but to highlight how human appetite for spectacle persists. If history had social media, would Caligula trend? Probably. Would he get verified? Maybe, if the Praetorian Guard handled verification. 😆 + +## Conclusion: Toga, Trends, and Timeless Tactics + +**Caligula as MrBeast in a toga** is a playful image that invites us to reflect on fame, generosity, and the hunger for spectacle. Whether ancient or modern, the show must go on — and audiences will watch, laugh, gasp, and click. So next time you see a viral stunt, remember: emperors invented attention long ago, they just didn't have subscription buttons. + +Share, laugh, and maybe toss a virtual coin into the Roman fountain of content. 💸🏛️ \ No newline at end of file diff --git a/src/content/posts/why-ishowspeeds-africa-tour-never-happened.md b/src/content/posts/why-ishowspeeds-africa-tour-never-happened.md new file mode 100644 index 0000000..74b8291 --- /dev/null +++ b/src/content/posts/why-ishowspeeds-africa-tour-never-happened.md @@ -0,0 +1,53 @@ +--- +titleBase64: V2h5IElTaG93U3BlZWQncyBBZnJpY2EgVG91ciBOZXZlciBIYXBwZW5lZA== +date: 2025-08-21 09:11:00 +published: true +slug: why-ishowspeeds-africa-tour-never-happened +tags: + - Africa tour rumors + - Darren Watkins tour + - IShowSpeed 2025 + - IShowSpeed Africa tour + - IShowSpeed cancellation + - IShowSpeed news + - livestreamer travel + - streamer tour logistics + - streaming tour planning +--- + +![](NULL) + +Africa tour is never happening [pic.twitter.com/l0iRisZtm7](https://t.co/l0iRisZtm7) + +— Big T (@Update1page) [August 18, 2025](https://twitter.com/Update1page/status/1957500339340419563?ref_src=twsrc%5Etfw) +## What Was Promised + +**IShowSpeed** hyped an Africa tour for 2025, saying it would be "a full month" and that "Africa is going to be lit." 🎤🌍 Fans got excited—rightfully so—because when Speed talks, energy follows. He even mentioned plans for travel before the 2026 World Cup, alongside stops in Europe, South America, and Asia. + +But hype and planning are different things. He admitted on stream, "I haven’t got a tour guide yet, I haven’t planned out anything…" That line should've been a red flag: *big dreams, small logistics.* 🤔 + +## What Actually Happened + +Instead of Africa, Speed went ahead with tours in Asia—China, Mongolia, Hong Kong—and continued with Europe and South America legs. Streams and IRL content kept fans entertained, while Africa stayed on the back burner. 🔥 + +No formal cancellation or concrete updates ever came for the Africa dates. That silence left room for speculation: postponed? still in planning? quietly shelved? Fans naturally wondered which it was. + +## Why It Might Have Fallen Through + +**Logistics** top the list. Planning a month-long tour across a continent is a mammoth task—permits, local partners, security, travel routes, and proper promotion. When a creator says they don't even have a tour guide, that's a sign the groundwork wasn't laid. 📅✈️ + +*Shifted priorities* are another plausible cause. With Asia tours already underway, teams often reallocate resources to what's ready to execute. So Africa could simply be waiting for a later window when the team can focus on it properly. + +Lastly, there’s the public relations angle: no one likes to announce a cancellation without a plan to replace it. So the silence could be strategic—avoid negative headlines until there’s a new timeline to share. 🤫 + +## What Fans Should Do (and What to Watch For) + +Keep an eye on official channels: YouTube livestreams, X/Twitter posts, and community updates. When creators move fast, official statements—or lack thereof—speak volumes. If you want updates, subscribing and turning on notifications is the move. 🔔 + +If you’re a local creator or organizer in Africa hoping to help, reach out professionally. Many tours succeed because local teams step in to handle on-the-ground needs. Partnerships make big dreams practical. + +## The Takeaway + +**There’s no evidence the Africa tour was officially canceled**. It looks more like a promising idea that ran into real-world obstacles: planning, timing, and shifting priorities. That doesn’t mean it’s dead—it might just be delayed until the right setup is in place. ✨ + +Ultimately, fans should stay optimistic but realistic: creators with massive followings can deliver big events, but only when the logistics match the hype. And when that happens, it’s worth the wait. 🙌 \ No newline at end of file diff --git a/src/content/posts/xqc-says-free-palestine-awkward-stream-moment.md b/src/content/posts/xqc-says-free-palestine-awkward-stream-moment.md new file mode 100644 index 0000000..49adb0b --- /dev/null +++ b/src/content/posts/xqc-says-free-palestine-awkward-stream-moment.md @@ -0,0 +1,48 @@ +--- +titleBase64: eFFjIFNheXMgJ0ZyZWUgUGFsZXN0aW5lJyDigJQgQXdrd2FyZCBTdHJlYW0gTW9tZW50 +date: 2025-08-17 07:27:06 +published: true +slug: xqc-says-free-palestine-awkward-stream-moment +tags: + - Adin Ross + - Free Palestine moment + - live stream highlights + - MrBeast + - stream awkward moment + - streamer reactions + - viral livestream clip + - xQc + - YouTube Shorts +--- + +![](/images/2025/08/Screenshot-2025-08-17-152729.webp) + +## SEO Title: **xQc’s 'Free Palestine' — Awkward Stream Moment** + +*Meta: A light, funny look at the viral clip where xQc reads "Free Palestine" on stream and MrBeast and Adin Ross react.* + +{{youtube:vSHcTqif2P8?feature=oembed}} + +## Setting the Stage + +So here's the scene: a high-energy livestream, donations flying in, jokes cracking, and then—*boom*—a line that makes everyone freeze for a sec. 😅 You know those moments when the chat drops a message and the streamer reads it out loud like, *why would you do that now*? That’s the vibe here. It’s messy, real, and oddly entertaining. + +In this clip, xQc reads a donation or a chat name that says **"Free Palestine"**. Adin Ross blinks, MrBeast shifts his eyes, and the room gets a little quiet. No drama montage, just a genuine human pause that makes the whole stream feel unfiltered. Life on live TV — anything can pop off. 🎥 + +## Why It Feels So Awkward + +Awkwardness is a funny thing: it’s part surprise, part social pressure, and part fear of saying the wrong thing. When one person drops a politically charged phrase unexpectedly, the whole group scans for a reaction. Will someone jump in? Will someone deflect? Will the chat explode? The uncertainty sends everyone into low-energy mode for a hot second. 😬 + +Also, the context matters. These streamers were in a fast, casual flow — jokes, donations, hype. When something serious slips in, it’s like dropping a piano in a room full of balloons. The natural reaction is to pause, regroup, and decide whether to engage. And sometimes, doing nothing speaks volumes on its own. 🎈 + +## Different Reactions, Different People + +One of the funniest things about the clip is how each streamer reacts differently. Adin’s immediate “What did you say?” feels like the person who didn’t catch the lyric and asks for a replay. xQc reads it like a normal line and realizes the weight later. MrBeast gives that silent side-eye — the classic move when someone wants to avoid getting dragged into a hot take. 😅 + +These varied responses show how public figures navigate unpredictable moments. Some speak up, some joke it off, and some freeze — all while millions of viewers form instant opinions. It’s messy, human, and strangely relatable. If we’re honest, we’ve all been in a moment where we wished the ground would swallow us up. 🙈 + +## What the Moment Tells Us + +On a deeper level, clips like this remind us that live streaming is unscripted theater. The boundaries between banter and politics can blur in a split second. It’s not about endorsing or condemning a message — it’s about how people react under pressure. That pause? It’s pure authenticity, and people eat that stuff up. 🍿 + +And from a content angle, these tiny pauses often become the viral hooks. Viewers timestamp, remix, and meme the awkwardness, turning a five-second hesitation into a trending topic. Streamers learn to expect the unexpected — and fans get entertainment served raw and unedited. Win-win… mostly. 😄 \ No newline at end of file diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..25de281 --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,216 @@ +--- +import { site } from '../lib/site.js'; + +const { + title, + description = site.description, + canonical, + image, + structuredData, +} = Astro.props; + +const pageTitle = title || site.name; +const ogUrl = canonical || Astro.url.toString(); +const year = new Date().getFullYear(); +--- + + + + + + {pageTitle} + + {canonical && } + + + + + + + + + + + {image && } + + + + + + {image && } + + {structuredData && ( + `; + } + if ((m = match.match(/^\{\{twitter:([0-9]+)\}\}$/))) { + return `
`; + } + if (match === '{{facebook}}') { + return `
`; + } + if ((m = match.match(/^\{\{iframe:([^}]+)\}\}$/))) { + return ``; + } + return match; +} + +const EMBED_RE = /\{\{(?:youtube:[a-zA-Z0-9_-]+(?:\?[^}]*)?|tiktok:[0-9]+|twitter:[0-9]+|facebook|iframe:[^}]+)\}\}/g; + +function protectEmbeds(md) { + const tokens = []; + const transformed = md.replace(EMBED_RE, (match) => { + const placeholder = `\n\n\n\n`; + tokens.push(embedFor(match)); + return placeholder; + }); + return { transformed, tokens }; +} + +function restoreEmbeds(html, tokens) { + return html.replace(//g, (_m, i) => tokens[Number(i)] || ''); +} + +function decodeTitle(data) { + if (data.titleBase64) { + return Buffer.from(data.titleBase64, 'base64').toString('utf-8'); + } + return data.title || 'Untitled'; +} + +export function getExcerpt(content, maxLength = 160) { + let text = content + .replace(/\{\{(youtube|tiktok|twitter|facebook|iframe):[^}]*\}\}/g, '') + .replace(/!\[.*?\]\(.*?\)/g, '') + .replace(/\[.*?\]\(.*?\)/g, '') + .replace(/#{1,6}\s/g, '') + .replace(/\*\*/g, '') + .replace(/__/g, '') + .replace(/`/g, '') + .replace(/\n+/g, ' ') + .trim(); + text = text + .replace(/ /g, ' ') + .replace(/&/g, '&') + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/"/g, '"') + .replace(/'/g, "'"); + if (text.length > maxLength) text = text.substring(0, maxLength - 3) + '...'; + return text || ''; +} + +function loadMarkdownDir(dir) { + const fullPath = path.join(CONTENT_DIR, dir); + if (!fs.existsSync(fullPath)) return []; + return fs + .readdirSync(fullPath) + .filter((f) => f.endsWith('.md')) + .map((file) => { + const raw = fs.readFileSync(path.join(fullPath, file), 'utf-8'); + const { data, content } = matter(raw); + return { + slug: file.replace(/\.md$/, ''), + title: decodeTitle(data), + date: data.date ? new Date(data.date).toISOString() : new Date().toISOString(), + tags: data.tags || [], + published: data.published !== false, + body: content, + rawExcerpt: data.excerpt || getExcerpt(content, 200), + frontmatter: data, + }; + }); +} + +let _posts = null; +export function getAllPosts() { + if (_posts) return _posts; + _posts = loadMarkdownDir('posts') + .filter((p) => p.published) + .sort((a, b) => new Date(b.date) - new Date(a.date)); + return _posts; +} + +export function renderMarkdown(body) { + const { transformed, tokens } = protectEmbeds(body); + const html = marked.parse(transformed); + return restoreEmbeds(html, tokens); +} + +export function getRelatedPosts(currentPost, allPosts, limit = 4) { + if (!currentPost.tags || currentPost.tags.length === 0) { + return allPosts.filter((p) => p.slug !== currentPost.slug).slice(0, limit); + } + const scored = allPosts + .filter((p) => p.slug !== currentPost.slug) + .map((post) => ({ + post, + score: post.tags.filter((t) => currentPost.tags.includes(t)).length, + })) + .filter((i) => i.score > 0) + .sort((a, b) => b.score - a.score) + .slice(0, limit) + .map((i) => i.post); + if (scored.length < limit) { + const remaining = allPosts + .filter((p) => p.slug !== currentPost.slug && !scored.find((s) => s.slug === p.slug)) + .slice(0, limit - scored.length); + scored.push(...remaining); + } + return scored.slice(0, limit); +} + +export function extractFirstImage(html) { + const m = html.match(/]+src="(\/images\/[^"]+)"/); + return m ? m[1] : null; +} + +export function getPage(slug) { + const filePath = path.join(CONTENT_DIR, 'pages', `${slug}.md`); + if (!fs.existsSync(filePath)) return null; + const raw = fs.readFileSync(filePath, 'utf-8'); + const { data, content } = matter(raw); + return { + slug, + title: decodeTitle(data), + body: content, + }; +} diff --git a/src/lib/site.js b/src/lib/site.js new file mode 100644 index 0000000..c692d80 --- /dev/null +++ b/src/lib/site.js @@ -0,0 +1,6 @@ +export const site = { + name: 'ViralMVP', + description: 'Trending Topics', + url: 'https://viralmvp.com', + postsPerPage: 10, +}; diff --git a/src/pages/[slug]/index.astro b/src/pages/[slug]/index.astro new file mode 100644 index 0000000..c012c79 --- /dev/null +++ b/src/pages/[slug]/index.astro @@ -0,0 +1,89 @@ +--- +import Layout from '../../layouts/Layout.astro'; +import { site } from '../../lib/site.js'; +import { + getAllPosts, + renderMarkdown, + getExcerpt, + getRelatedPosts, + extractFirstImage, +} from '../../lib/markdown.js'; + +export function getStaticPaths() { + const posts = getAllPosts(); + const reserved = new Set(['about', 'rss.xml', 'robots.txt', 'sitemap.xml', 'sitemap-index.xml']); + return posts + .filter((p) => !reserved.has(p.slug)) + .map((post) => ({ params: { slug: post.slug }, props: { post } })); +} + +const { post } = Astro.props; +const allPosts = getAllPosts(); +const html = renderMarkdown(post.body); +const related = getRelatedPosts(post, allPosts); +const excerpt = getExcerpt(post.body, 160); +const firstImage = extractFirstImage(html); +const fullImage = firstImage ? `${site.url}${firstImage}` : null; +const canonical = `${site.url}/${post.slug}/`; + +const structuredData = JSON.stringify({ + '@context': 'https://schema.org', + '@type': 'Article', + headline: post.title, + datePublished: post.date, + dateModified: post.date, + author: { '@type': 'Organization', name: site.name }, + publisher: { + '@type': 'Organization', + name: site.name, + url: site.url, + }, + description: excerpt, + ...(fullImage ? { image: fullImage } : {}), +}); + +const formattedDate = new Date(post.date).toLocaleDateString('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric', +}); +--- + + ← Back to Home + +
+

{post.title}

+ +
+
+ + {related.length > 0 && ( + + )} +
diff --git a/src/pages/about/index.astro b/src/pages/about/index.astro new file mode 100644 index 0000000..30d17c2 --- /dev/null +++ b/src/pages/about/index.astro @@ -0,0 +1,18 @@ +--- +import Layout from '../../layouts/Layout.astro'; +import { site } from '../../lib/site.js'; +import { getPage, renderMarkdown, getExcerpt } from '../../lib/markdown.js'; + +const page = getPage('about'); +const title = page?.title || 'About'; +const html = page ? renderMarkdown(page.body) : ''; +const description = page ? getExcerpt(page.body, 160) : site.description; +const canonical = `${site.url}/about/`; +--- + + ← Back to Home +

{title}

+
+
+
+ diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..ef7865c --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,28 @@ +--- +import Layout from '../layouts/Layout.astro'; +import PostList from '../components/PostList.astro'; +import Pagination from '../components/Pagination.astro'; +import { site } from '../lib/site.js'; +import { getAllPosts } from '../lib/markdown.js'; + +const posts = getAllPosts(); +const pageSize = site.postsPerPage; +const currentPosts = posts.slice(0, pageSize); +const totalPages = Math.ceil(posts.length / pageSize); + +const page = { + currentPage: 1, + lastPage: totalPages, + total: posts.length, + url: { + prev: null, + next: totalPages > 1 ? '/page/2/' : null, + }, +}; + +const canonical = `${site.url}/`; +--- + + + + diff --git a/src/pages/page/[page]/index.astro b/src/pages/page/[page]/index.astro new file mode 100644 index 0000000..c72a721 --- /dev/null +++ b/src/pages/page/[page]/index.astro @@ -0,0 +1,42 @@ +--- +import Layout from '../../../layouts/Layout.astro'; +import PostList from '../../../components/PostList.astro'; +import Pagination from '../../../components/Pagination.astro'; +import { site } from '../../../lib/site.js'; +import { getAllPosts } from '../../../lib/markdown.js'; + +export function getStaticPaths() { + const posts = getAllPosts(); + const pageSize = site.postsPerPage; + const total = Math.ceil(posts.length / pageSize); + const paths = []; + for (let i = 2; i <= total; i++) { + paths.push({ params: { page: String(i) } }); + } + return paths; +} + +const { page: pageParam } = Astro.params; +const currentPage = parseInt(pageParam); +const posts = getAllPosts(); +const pageSize = site.postsPerPage; +const totalPages = Math.ceil(posts.length / pageSize); +const start = (currentPage - 1) * pageSize; +const currentPosts = posts.slice(start, start + pageSize); + +const page = { + currentPage, + lastPage: totalPages, + total: posts.length, + url: { + prev: currentPage === 2 ? '/' : `/page/${currentPage - 1}/`, + next: currentPage < totalPages ? `/page/${currentPage + 1}/` : null, + }, +}; + +const canonical = `${site.url}/page/${currentPage}/`; +--- + + + + diff --git a/src/pages/robots.txt.js b/src/pages/robots.txt.js new file mode 100644 index 0000000..b1ee2f8 --- /dev/null +++ b/src/pages/robots.txt.js @@ -0,0 +1,8 @@ +import { site } from '../lib/site.js'; + +export function GET() { + const body = `User-agent: *\nAllow: /\n\nSitemap: ${site.url}/sitemap-index.xml\n`; + return new Response(body, { + headers: { 'Content-Type': 'text/plain' }, + }); +} diff --git a/src/pages/rss.xml.js b/src/pages/rss.xml.js new file mode 100644 index 0000000..f05657c --- /dev/null +++ b/src/pages/rss.xml.js @@ -0,0 +1,18 @@ +import rss from '@astrojs/rss'; +import { site } from '../lib/site.js'; +import { getAllPosts, renderMarkdown, getExcerpt } from '../lib/markdown.js'; + +export function GET(context) { + const posts = getAllPosts().slice(0, 20); + return rss({ + title: site.name, + description: site.description, + site: context.site ?? site.url, + items: posts.map((post) => ({ + title: post.title, + pubDate: new Date(post.date), + description: getExcerpt(post.body, 300), + link: `/${post.slug}/`, + })), + }); +} diff --git a/src/pages/tag/[tag]/index.astro b/src/pages/tag/[tag]/index.astro new file mode 100644 index 0000000..ab5193c --- /dev/null +++ b/src/pages/tag/[tag]/index.astro @@ -0,0 +1,40 @@ +--- +import Layout from '../../../layouts/Layout.astro'; +import PostList from '../../../components/PostList.astro'; +import Pagination from '../../../components/Pagination.astro'; +import { site } from '../../../lib/site.js'; +import { getAllPosts } from '../../../lib/markdown.js'; + +export function getStaticPaths() { + const posts = getAllPosts(); + const tags = new Set(); + posts.forEach((p) => p.tags.forEach((t) => tags.add(t))); + return [...tags].map((tag) => ({ params: { tag } })); +} + +const { tag } = Astro.params; +const tagPosts = getAllPosts().filter((p) => p.tags.includes(tag)); +const pageSize = site.postsPerPage; +const currentPosts = tagPosts.slice(0, pageSize); +const totalPages = Math.ceil(tagPosts.length / pageSize); + +const page = { + currentPage: 1, + lastPage: totalPages, + total: tagPosts.length, + url: { + prev: null, + next: totalPages > 1 ? `/tag/${tag}/page/2/` : null, + }, +}; + +const canonical = `${site.url}/tag/${tag}/`; +--- + + + + diff --git a/src/pages/tag/[tag]/page/[page]/index.astro b/src/pages/tag/[tag]/page/[page]/index.astro new file mode 100644 index 0000000..c59de43 --- /dev/null +++ b/src/pages/tag/[tag]/page/[page]/index.astro @@ -0,0 +1,55 @@ +--- +import Layout from '../../../../../layouts/Layout.astro'; +import PostList from '../../../../../components/PostList.astro'; +import Pagination from '../../../../../components/Pagination.astro'; +import { site } from '../../../../../lib/site.js'; +import { getAllPosts } from '../../../../../lib/markdown.js'; + +export function getStaticPaths() { + const posts = getAllPosts(); + const tagMap = new Map(); + posts.forEach((p) => + p.tags.forEach((t) => { + if (!tagMap.has(t)) tagMap.set(t, 0); + tagMap.set(t, tagMap.get(t) + 1); + }) + ); + const pageSize = site.postsPerPage; + const paths = []; + for (const [tag, count] of tagMap.entries()) { + const total = Math.ceil(count / pageSize); + for (let i = 2; i <= total; i++) { + paths.push({ params: { tag, page: String(i) } }); + } + } + return paths; +} + +const { tag, page: pageParam } = Astro.params; +const currentPage = parseInt(pageParam); +const tagPosts = getAllPosts().filter((p) => p.tags.includes(tag)); +const pageSize = site.postsPerPage; +const totalPages = Math.ceil(tagPosts.length / pageSize); +const start = (currentPage - 1) * pageSize; +const currentPosts = tagPosts.slice(start, start + pageSize); + +const page = { + currentPage, + lastPage: totalPages, + total: tagPosts.length, + url: { + prev: currentPage === 2 ? `/tag/${tag}/` : `/tag/${tag}/page/${currentPage - 1}/`, + next: currentPage < totalPages ? `/tag/${tag}/page/${currentPage + 1}/` : null, + }, +}; + +const canonical = `${site.url}/tag/${tag}/page/${currentPage}/`; +--- + + + +